mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-03 08:25:31 +00:00
Biome -> PlatformBiome
This commit is contained in:
parent
4d2639207d
commit
16c80a0976
@ -27,7 +27,7 @@ import com.dfsek.terra.api.config.ConfigPack;
|
|||||||
import com.dfsek.terra.api.config.meta.Meta;
|
import com.dfsek.terra.api.config.meta.Meta;
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||||
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.world.biome.Biome;
|
import com.dfsek.terra.api.world.biome.PlatformBiome;
|
||||||
import com.dfsek.terra.api.world.chunk.generation.util.Palette;
|
import com.dfsek.terra.api.world.chunk.generation.util.Palette;
|
||||||
|
|
||||||
|
|
||||||
@ -53,7 +53,7 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl
|
|||||||
private @Meta NoiseSampler carvingEquation = NoiseSampler.zero();
|
private @Meta NoiseSampler carvingEquation = NoiseSampler.zero();
|
||||||
|
|
||||||
@Value("vanilla")
|
@Value("vanilla")
|
||||||
private @Meta ProbabilityCollection<Biome> vanilla;
|
private @Meta ProbabilityCollection<PlatformBiome> vanilla;
|
||||||
|
|
||||||
@Value("biome-noise")
|
@Value("biome-noise")
|
||||||
@Default
|
@Default
|
||||||
@ -198,7 +198,7 @@ public class BiomeTemplate implements AbstractableTemplate, ValidatedConfigTempl
|
|||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProbabilityCollection<Biome> getVanilla() {
|
public ProbabilityCollection<PlatformBiome> getVanilla() {
|
||||||
return vanilla;
|
return vanilla;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ import java.util.Set;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.properties.Context;
|
import com.dfsek.terra.api.properties.Context;
|
||||||
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.world.biome.Biome;
|
import com.dfsek.terra.api.world.biome.PlatformBiome;
|
||||||
import com.dfsek.terra.api.world.biome.GenerationSettings;
|
import com.dfsek.terra.api.world.biome.GenerationSettings;
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ import com.dfsek.terra.api.world.biome.TerraBiome;
|
|||||||
*/
|
*/
|
||||||
public class UserDefinedBiome implements TerraBiome {
|
public class UserDefinedBiome implements TerraBiome {
|
||||||
private final UserDefinedGenerationSettings gen;
|
private final UserDefinedGenerationSettings gen;
|
||||||
private final ProbabilityCollection<Biome> vanilla;
|
private final ProbabilityCollection<PlatformBiome> vanilla;
|
||||||
private final String id;
|
private final String id;
|
||||||
private final BiomeTemplate config;
|
private final BiomeTemplate config;
|
||||||
private final int color;
|
private final int color;
|
||||||
@ -29,7 +29,7 @@ public class UserDefinedBiome implements TerraBiome {
|
|||||||
|
|
||||||
private final Context context = new Context();
|
private final Context context = new Context();
|
||||||
|
|
||||||
public UserDefinedBiome(ProbabilityCollection<Biome> vanilla, UserDefinedGenerationSettings gen, BiomeTemplate config) {
|
public UserDefinedBiome(ProbabilityCollection<PlatformBiome> vanilla, UserDefinedGenerationSettings gen, BiomeTemplate config) {
|
||||||
this.vanilla = vanilla;
|
this.vanilla = vanilla;
|
||||||
this.gen = gen;
|
this.gen = gen;
|
||||||
this.id = config.getID();
|
this.id = config.getID();
|
||||||
@ -50,7 +50,7 @@ public class UserDefinedBiome implements TerraBiome {
|
|||||||
* @return Collection of biomes to represent the custom biome.
|
* @return Collection of biomes to represent the custom biome.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ProbabilityCollection<Biome> getVanillaBiomes() {
|
public ProbabilityCollection<PlatformBiome> getVanillaBiomes() {
|
||||||
return vanilla;
|
return vanilla;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,5 +10,5 @@ package com.dfsek.terra.api.world.biome;
|
|||||||
import com.dfsek.terra.api.Handle;
|
import com.dfsek.terra.api.Handle;
|
||||||
|
|
||||||
|
|
||||||
public interface Biome extends Handle {
|
public interface PlatformBiome extends Handle {
|
||||||
}
|
}
|
@ -24,7 +24,7 @@ public interface TerraBiome extends PropertyHolder {
|
|||||||
*
|
*
|
||||||
* @return TerraBiome - The Vanilla biome.
|
* @return TerraBiome - The Vanilla biome.
|
||||||
*/
|
*/
|
||||||
ProbabilityCollection<Biome> getVanillaBiomes();
|
ProbabilityCollection<PlatformBiome> getVanillaBiomes();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the BiomeTerrain instance used to generate the biome.
|
* Gets the BiomeTerrain instance used to generate the biome.
|
||||||
|
@ -29,10 +29,10 @@ import com.dfsek.terra.AbstractPlatform;
|
|||||||
import com.dfsek.terra.api.block.state.BlockState;
|
import com.dfsek.terra.api.block.state.BlockState;
|
||||||
import com.dfsek.terra.api.handle.ItemHandle;
|
import com.dfsek.terra.api.handle.ItemHandle;
|
||||||
import com.dfsek.terra.api.handle.WorldHandle;
|
import com.dfsek.terra.api.handle.WorldHandle;
|
||||||
import com.dfsek.terra.api.world.biome.Biome;
|
import com.dfsek.terra.api.world.biome.PlatformBiome;
|
||||||
import com.dfsek.terra.bukkit.handles.BukkitItemHandle;
|
import com.dfsek.terra.bukkit.handles.BukkitItemHandle;
|
||||||
import com.dfsek.terra.bukkit.handles.BukkitWorldHandle;
|
import com.dfsek.terra.bukkit.handles.BukkitWorldHandle;
|
||||||
import com.dfsek.terra.bukkit.world.BukkitBiome;
|
import com.dfsek.terra.bukkit.world.BukkitPlatformBiome;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@ -87,13 +87,13 @@ public class PlatformImpl extends AbstractPlatform {
|
|||||||
public void register(TypeRegistry registry) {
|
public void register(TypeRegistry registry) {
|
||||||
super.register(registry);
|
super.register(registry);
|
||||||
registry.registerLoader(BlockState.class, (t, o, l) -> handle.createBlockData((String) o))
|
registry.registerLoader(BlockState.class, (t, o, l) -> handle.createBlockData((String) o))
|
||||||
.registerLoader(Biome.class, (t, o, l) -> parseBiome((String) o))
|
.registerLoader(PlatformBiome.class, (t, o, l) -> parseBiome((String) o))
|
||||||
.registerLoader(EntityType.class, (t, o, l) -> EntityType.valueOf((String) o));
|
.registerLoader(EntityType.class, (t, o, l) -> EntityType.valueOf((String) o));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private BukkitBiome parseBiome(String id) throws LoadException {
|
private BukkitPlatformBiome parseBiome(String id) throws LoadException {
|
||||||
if(!id.startsWith("minecraft:")) throw new LoadException("Invalid biome identifier " + id);
|
if(!id.startsWith("minecraft:")) throw new LoadException("Invalid biome identifier " + id);
|
||||||
return new BukkitBiome(org.bukkit.block.Biome.valueOf(id.toUpperCase(Locale.ROOT).substring(10)));
|
return new BukkitPlatformBiome(org.bukkit.block.Biome.valueOf(id.toUpperCase(Locale.ROOT).substring(10)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,13 +17,13 @@
|
|||||||
|
|
||||||
package com.dfsek.terra.bukkit.world;
|
package com.dfsek.terra.bukkit.world;
|
||||||
|
|
||||||
import com.dfsek.terra.api.world.biome.Biome;
|
import com.dfsek.terra.api.world.biome.PlatformBiome;
|
||||||
|
|
||||||
|
|
||||||
public class BukkitBiome implements Biome {
|
public class BukkitPlatformBiome implements PlatformBiome {
|
||||||
private final org.bukkit.block.Biome biome;
|
private final org.bukkit.block.Biome biome;
|
||||||
|
|
||||||
public BukkitBiome(org.bukkit.block.Biome biome) {
|
public BukkitPlatformBiome(org.bukkit.block.Biome biome) {
|
||||||
this.biome = biome;
|
this.biome = biome;
|
||||||
}
|
}
|
||||||
|
|
@ -22,6 +22,9 @@ import ca.solostudios.strata.parser.tokenizer.ParseException;
|
|||||||
import ca.solostudios.strata.version.Version;
|
import ca.solostudios.strata.version.Version;
|
||||||
import com.dfsek.tectonic.exception.LoadException;
|
import com.dfsek.tectonic.exception.LoadException;
|
||||||
import com.dfsek.tectonic.loading.TypeRegistry;
|
import com.dfsek.tectonic.loading.TypeRegistry;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.world.biome.PlatformBiome;
|
||||||
|
|
||||||
import net.fabricmc.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
import net.minecraft.MinecraftVersion;
|
import net.minecraft.MinecraftVersion;
|
||||||
import net.minecraft.server.world.ServerWorld;
|
import net.minecraft.server.world.ServerWorld;
|
||||||
@ -46,7 +49,7 @@ import com.dfsek.terra.api.util.generic.Lazy;
|
|||||||
import com.dfsek.terra.fabric.generation.FabricChunkGeneratorWrapper;
|
import com.dfsek.terra.fabric.generation.FabricChunkGeneratorWrapper;
|
||||||
import com.dfsek.terra.fabric.handle.FabricItemHandle;
|
import com.dfsek.terra.fabric.handle.FabricItemHandle;
|
||||||
import com.dfsek.terra.fabric.handle.FabricWorldHandle;
|
import com.dfsek.terra.fabric.handle.FabricWorldHandle;
|
||||||
import com.dfsek.terra.fabric.util.ProtoBiome;
|
import com.dfsek.terra.fabric.util.ProtoPlatformBiome;
|
||||||
|
|
||||||
|
|
||||||
public class PlatformImpl extends AbstractPlatform {
|
public class PlatformImpl extends AbstractPlatform {
|
||||||
@ -135,7 +138,7 @@ public class PlatformImpl extends AbstractPlatform {
|
|||||||
@Override
|
@Override
|
||||||
public void register(TypeRegistry registry) {
|
public void register(TypeRegistry registry) {
|
||||||
super.register(registry);
|
super.register(registry);
|
||||||
registry.registerLoader(com.dfsek.terra.api.world.biome.Biome.class, (t, o, l) -> parseBiome((String) o))
|
registry.registerLoader(PlatformBiome.class, (t, o, l) -> parseBiome((String) o))
|
||||||
.registerLoader(Identifier.class, (t, o, l) -> {
|
.registerLoader(Identifier.class, (t, o, l) -> {
|
||||||
Identifier identifier = Identifier.tryParse((String) o);
|
Identifier identifier = Identifier.tryParse((String) o);
|
||||||
if(identifier == null)
|
if(identifier == null)
|
||||||
@ -145,9 +148,9 @@ public class PlatformImpl extends AbstractPlatform {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private ProtoBiome parseBiome(String id) throws LoadException {
|
private ProtoPlatformBiome parseBiome(String id) throws LoadException {
|
||||||
Identifier identifier = Identifier.tryParse(id);
|
Identifier identifier = Identifier.tryParse(id);
|
||||||
if(BuiltinRegistries.BIOME.get(identifier) == null) throw new LoadException("Invalid Biome ID: " + identifier); // failure.
|
if(BuiltinRegistries.BIOME.get(identifier) == null) throw new LoadException("Invalid Biome ID: " + identifier); // failure.
|
||||||
return new ProtoBiome(identifier);
|
return new ProtoPlatformBiome(identifier);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
|
|
||||||
package com.dfsek.terra.fabric.mixin.implementations;
|
package com.dfsek.terra.fabric.mixin.implementations;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.world.biome.PlatformBiome;
|
||||||
|
|
||||||
import net.minecraft.world.biome.Biome;
|
import net.minecraft.world.biome.Biome;
|
||||||
import org.spongepowered.asm.mixin.Implements;
|
import org.spongepowered.asm.mixin.Implements;
|
||||||
import org.spongepowered.asm.mixin.Interface;
|
import org.spongepowered.asm.mixin.Interface;
|
||||||
@ -25,7 +27,7 @@ import org.spongepowered.asm.mixin.Mixin;
|
|||||||
|
|
||||||
|
|
||||||
@Mixin(Biome.class)
|
@Mixin(Biome.class)
|
||||||
@Implements(@Interface(iface = com.dfsek.terra.api.world.biome.Biome.class, prefix = "terra$", remap = Interface.Remap.NONE))
|
@Implements(@Interface(iface = PlatformBiome.class, prefix = "terra$", remap = Interface.Remap.NONE))
|
||||||
public abstract class BiomeMixin {
|
public abstract class BiomeMixin {
|
||||||
@Intrinsic
|
@Intrinsic
|
||||||
public Object terra$getHandle() {
|
public Object terra$getHandle() {
|
||||||
|
@ -46,7 +46,6 @@ import com.dfsek.terra.api.block.entity.MobSpawner;
|
|||||||
import com.dfsek.terra.api.block.entity.Sign;
|
import com.dfsek.terra.api.block.entity.Sign;
|
||||||
import com.dfsek.terra.api.config.ConfigPack;
|
import com.dfsek.terra.api.config.ConfigPack;
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
import com.dfsek.terra.fabric.FabricEntryPoint;
|
|
||||||
import com.dfsek.terra.fabric.mixin.access.BiomeEffectsAccessor;
|
import com.dfsek.terra.fabric.mixin.access.BiomeEffectsAccessor;
|
||||||
|
|
||||||
|
|
||||||
@ -70,7 +69,7 @@ public final class FabricUtil {
|
|||||||
//TerraFabricPlugin.FabricAddon fabricAddon = TerraFabricPlugin.getInstance().getFabricAddon();
|
//TerraFabricPlugin.FabricAddon fabricAddon = TerraFabricPlugin.getInstance().getFabricAddon();
|
||||||
|
|
||||||
Registry<Biome> biomeRegistry = registryManager.get(Registry.BIOME_KEY);
|
Registry<Biome> biomeRegistry = registryManager.get(Registry.BIOME_KEY);
|
||||||
Biome vanilla = ((ProtoBiome) (new ArrayList<>(biome.getVanillaBiomes().getContents()).get(0))).get(biomeRegistry);
|
Biome vanilla = ((ProtoPlatformBiome) (new ArrayList<>(biome.getVanillaBiomes().getContents()).get(0))).get(biomeRegistry);
|
||||||
|
|
||||||
GenerationSettings.Builder generationSettings = new GenerationSettings.Builder();
|
GenerationSettings.Builder generationSettings = new GenerationSettings.Builder();
|
||||||
|
|
||||||
|
@ -20,13 +20,13 @@ package com.dfsek.terra.fabric.util;
|
|||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
|
|
||||||
import com.dfsek.terra.api.world.biome.Biome;
|
import com.dfsek.terra.api.world.biome.PlatformBiome;
|
||||||
|
|
||||||
|
|
||||||
public class ProtoBiome implements Biome {
|
public class ProtoPlatformBiome implements PlatformBiome {
|
||||||
private final Identifier identifier;
|
private final Identifier identifier;
|
||||||
|
|
||||||
public ProtoBiome(Identifier identifier) {
|
public ProtoPlatformBiome(Identifier identifier) {
|
||||||
this.identifier = identifier;
|
this.identifier = identifier;
|
||||||
}
|
}
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user