From 8c08d2f6af69370e6957a8620926b56313da9961 Mon Sep 17 00:00:00 2001 From: Rutger Kok Date: Sun, 16 Aug 2020 12:06:08 +0200 Subject: [PATCH] It compiles on 1.16.2 ...but crashes on startup. --- worldgeneratorapi-impl/pom.xml | 2 +- .../internal/BaseTerrainGeneratorImpl.java | 22 +-- .../internal/BiomeGeneratorImpl.java | 11 +- .../internal/DecorationAreaImpl.java | 137 +++++++++--------- .../internal/InjectedBiomeGenerator.java | 23 +-- .../internal/PropertyRegistryImpl.java | 18 ++- .../internal/WorldDecoratorImpl.java | 64 ++++---- .../internal/WorldGeneratorApiImpl.java | 2 +- .../internal/WorldGeneratorImpl.java | 31 ++-- .../bukkitoverrides/BiomeGridImpl.java | 19 ++- .../bukkitoverrides/ChunkDataImpl.java | 8 +- .../InjectedChunkGenerator.java | 60 ++++---- .../NoiseToTerrainGenerator.java | 63 ++++---- .../test/internal/BiomeGeneratorImplTest.java | 8 +- .../test/internal/TestFactory.java | 2 +- worldgeneratorapi/pom.xml | 2 +- 16 files changed, 237 insertions(+), 235 deletions(-) diff --git a/worldgeneratorapi-impl/pom.xml b/worldgeneratorapi-impl/pom.xml index b6a80ba..70d6762 100644 --- a/worldgeneratorapi-impl/pom.xml +++ b/worldgeneratorapi-impl/pom.xml @@ -71,7 +71,7 @@ org.spigotmc spigot - 1.16.1-R0.1-SNAPSHOT + 1.16.2-R0.1-SNAPSHOT provided diff --git a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/BaseTerrainGeneratorImpl.java b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/BaseTerrainGeneratorImpl.java index 5bf6f9b..1bff3c1 100644 --- a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/BaseTerrainGeneratorImpl.java +++ b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/BaseTerrainGeneratorImpl.java @@ -4,18 +4,18 @@ import java.lang.reflect.Field; import java.util.Objects; import org.bukkit.World; -import org.bukkit.craftbukkit.v1_16_R1.CraftWorld; +import org.bukkit.craftbukkit.v1_16_R2.CraftWorld; -import net.minecraft.server.v1_16_R1.ChunkGenerator; -import net.minecraft.server.v1_16_R1.ChunkGeneratorAbstract; -import net.minecraft.server.v1_16_R1.ChunkProviderDebug; -import net.minecraft.server.v1_16_R1.ChunkProviderFlat; -import net.minecraft.server.v1_16_R1.GeneratorAccess; -import net.minecraft.server.v1_16_R1.HeightMap; -import net.minecraft.server.v1_16_R1.SeededRandom; -import net.minecraft.server.v1_16_R1.StructureManager; -import net.minecraft.server.v1_16_R1.WorldChunkManager; -import net.minecraft.server.v1_16_R1.WorldServer; +import net.minecraft.server.v1_16_R2.ChunkGenerator; +import net.minecraft.server.v1_16_R2.ChunkGeneratorAbstract; +import net.minecraft.server.v1_16_R2.ChunkProviderDebug; +import net.minecraft.server.v1_16_R2.ChunkProviderFlat; +import net.minecraft.server.v1_16_R2.GeneratorAccess; +import net.minecraft.server.v1_16_R2.HeightMap; +import net.minecraft.server.v1_16_R2.SeededRandom; +import net.minecraft.server.v1_16_R2.StructureManager; +import net.minecraft.server.v1_16_R2.WorldChunkManager; +import net.minecraft.server.v1_16_R2.WorldServer; import nl.rutgerkok.worldgeneratorapi.BaseChunkGenerator; import nl.rutgerkok.worldgeneratorapi.BaseTerrainGenerator; import nl.rutgerkok.worldgeneratorapi.internal.bukkitoverrides.ChunkDataImpl; diff --git a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/BiomeGeneratorImpl.java b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/BiomeGeneratorImpl.java index b9b5722..59da26e 100644 --- a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/BiomeGeneratorImpl.java +++ b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/BiomeGeneratorImpl.java @@ -5,12 +5,13 @@ import java.util.List; import java.util.Objects; import org.bukkit.block.Biome; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftBlock; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftBlock; import com.google.common.collect.ImmutableSet; -import net.minecraft.server.v1_16_R1.BiomeBase; -import net.minecraft.server.v1_16_R1.WorldChunkManager; +import net.minecraft.server.v1_16_R2.BiomeBase; +import net.minecraft.server.v1_16_R2.RegistryGeneration; +import net.minecraft.server.v1_16_R2.WorldChunkManager; import nl.rutgerkok.worldgeneratorapi.BiomeGenerator; /** @@ -48,7 +49,7 @@ public final class BiomeGeneratorImpl implements BiomeGenerator { .get(this.internal); for (BiomeBase biome : biomeBases) { - biomes.add(CraftBlock.biomeBaseToBiome(biome)); + biomes.add(CraftBlock.biomeBaseToBiome(RegistryGeneration.WORLDGEN_BIOME, biome)); } return biomes.build(); } catch (IllegalAccessException e) { @@ -60,7 +61,7 @@ public final class BiomeGeneratorImpl implements BiomeGenerator { @Override public Biome getZoomedOutBiome(int x, int y, int z) { - return CraftBlock.biomeBaseToBiome(internal.getBiome(x, y, z)); + return CraftBlock.biomeBaseToBiome(RegistryGeneration.WORLDGEN_BIOME, internal.getBiome(x, y, z)); } } diff --git a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/DecorationAreaImpl.java b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/DecorationAreaImpl.java index 3a35343..d98cf83 100644 --- a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/DecorationAreaImpl.java +++ b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/DecorationAreaImpl.java @@ -6,74 +6,75 @@ import org.bukkit.Material; import org.bukkit.block.Biome; import org.bukkit.block.BlockState; import org.bukkit.block.data.BlockData; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftBanner; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftBarrel; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftBeacon; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftBeehive; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftBell; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftBlastFurnace; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftBlock; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftBlockEntityState; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftBlockState; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftBrewingStand; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftCampfire; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftChest; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftCommandBlock; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftComparator; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftCreatureSpawner; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftDaylightDetector; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftDispenser; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftDropper; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftEnchantingTable; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftEndGateway; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftEnderChest; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftFurnaceFurnace; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftHopper; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftJigsaw; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftJukebox; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftLectern; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftShulkerBox; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftSign; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftSkull; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftSmoker; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftStructureBlock; -import org.bukkit.craftbukkit.v1_16_R1.block.data.CraftBlockData; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftBanner; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftBarrel; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftBeacon; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftBeehive; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftBell; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftBlastFurnace; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftBlock; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftBlockEntityState; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftBlockState; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftBrewingStand; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftCampfire; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftChest; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftCommandBlock; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftComparator; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftCreatureSpawner; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftDaylightDetector; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftDispenser; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftDropper; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftEnchantingTable; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftEndGateway; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftEnderChest; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftFurnaceFurnace; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftHopper; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftJigsaw; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftJukebox; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftLectern; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftShulkerBox; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftSign; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftSkull; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftSmoker; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftStructureBlock; +import org.bukkit.craftbukkit.v1_16_R2.block.data.CraftBlockData; -import net.minecraft.server.v1_16_R1.BlockPosition; -import net.minecraft.server.v1_16_R1.BlockPosition.MutableBlockPosition; -import net.minecraft.server.v1_16_R1.IBlockData; -import net.minecraft.server.v1_16_R1.IChunkAccess; -import net.minecraft.server.v1_16_R1.NBTTagCompound; -import net.minecraft.server.v1_16_R1.RegionLimitedWorldAccess; -import net.minecraft.server.v1_16_R1.TileEntity; -import net.minecraft.server.v1_16_R1.TileEntityBanner; -import net.minecraft.server.v1_16_R1.TileEntityBarrel; -import net.minecraft.server.v1_16_R1.TileEntityBeacon; -import net.minecraft.server.v1_16_R1.TileEntityBeehive; -import net.minecraft.server.v1_16_R1.TileEntityBell; -import net.minecraft.server.v1_16_R1.TileEntityBlastFurnace; -import net.minecraft.server.v1_16_R1.TileEntityBrewingStand; -import net.minecraft.server.v1_16_R1.TileEntityCampfire; -import net.minecraft.server.v1_16_R1.TileEntityChest; -import net.minecraft.server.v1_16_R1.TileEntityCommand; -import net.minecraft.server.v1_16_R1.TileEntityComparator; -import net.minecraft.server.v1_16_R1.TileEntityDispenser; -import net.minecraft.server.v1_16_R1.TileEntityDropper; -import net.minecraft.server.v1_16_R1.TileEntityEnchantTable; -import net.minecraft.server.v1_16_R1.TileEntityEndGateway; -import net.minecraft.server.v1_16_R1.TileEntityEnderChest; -import net.minecraft.server.v1_16_R1.TileEntityFurnaceFurnace; -import net.minecraft.server.v1_16_R1.TileEntityHopper; -import net.minecraft.server.v1_16_R1.TileEntityJigsaw; -import net.minecraft.server.v1_16_R1.TileEntityJukeBox; -import net.minecraft.server.v1_16_R1.TileEntityLectern; -import net.minecraft.server.v1_16_R1.TileEntityLightDetector; -import net.minecraft.server.v1_16_R1.TileEntityMobSpawner; -import net.minecraft.server.v1_16_R1.TileEntityShulkerBox; -import net.minecraft.server.v1_16_R1.TileEntitySign; -import net.minecraft.server.v1_16_R1.TileEntitySkull; -import net.minecraft.server.v1_16_R1.TileEntitySmoker; -import net.minecraft.server.v1_16_R1.TileEntityStructure; +import net.minecraft.server.v1_16_R2.BlockPosition; +import net.minecraft.server.v1_16_R2.BlockPosition.MutableBlockPosition; +import net.minecraft.server.v1_16_R2.IBlockData; +import net.minecraft.server.v1_16_R2.IChunkAccess; +import net.minecraft.server.v1_16_R2.NBTTagCompound; +import net.minecraft.server.v1_16_R2.RegionLimitedWorldAccess; +import net.minecraft.server.v1_16_R2.RegistryGeneration; +import net.minecraft.server.v1_16_R2.TileEntity; +import net.minecraft.server.v1_16_R2.TileEntityBanner; +import net.minecraft.server.v1_16_R2.TileEntityBarrel; +import net.minecraft.server.v1_16_R2.TileEntityBeacon; +import net.minecraft.server.v1_16_R2.TileEntityBeehive; +import net.minecraft.server.v1_16_R2.TileEntityBell; +import net.minecraft.server.v1_16_R2.TileEntityBlastFurnace; +import net.minecraft.server.v1_16_R2.TileEntityBrewingStand; +import net.minecraft.server.v1_16_R2.TileEntityCampfire; +import net.minecraft.server.v1_16_R2.TileEntityChest; +import net.minecraft.server.v1_16_R2.TileEntityCommand; +import net.minecraft.server.v1_16_R2.TileEntityComparator; +import net.minecraft.server.v1_16_R2.TileEntityDispenser; +import net.minecraft.server.v1_16_R2.TileEntityDropper; +import net.minecraft.server.v1_16_R2.TileEntityEnchantTable; +import net.minecraft.server.v1_16_R2.TileEntityEndGateway; +import net.minecraft.server.v1_16_R2.TileEntityEnderChest; +import net.minecraft.server.v1_16_R2.TileEntityFurnaceFurnace; +import net.minecraft.server.v1_16_R2.TileEntityHopper; +import net.minecraft.server.v1_16_R2.TileEntityJigsaw; +import net.minecraft.server.v1_16_R2.TileEntityJukeBox; +import net.minecraft.server.v1_16_R2.TileEntityLectern; +import net.minecraft.server.v1_16_R2.TileEntityLightDetector; +import net.minecraft.server.v1_16_R2.TileEntityMobSpawner; +import net.minecraft.server.v1_16_R2.TileEntityShulkerBox; +import net.minecraft.server.v1_16_R2.TileEntitySign; +import net.minecraft.server.v1_16_R2.TileEntitySkull; +import net.minecraft.server.v1_16_R2.TileEntitySmoker; +import net.minecraft.server.v1_16_R2.TileEntityStructure; import nl.rutgerkok.worldgeneratorapi.decoration.DecorationArea; class DecorationAreaImpl implements DecorationArea { @@ -93,7 +94,7 @@ class DecorationAreaImpl implements DecorationArea { @Override public Biome getBiome(int x, int z) { reusableBlockPos.c(x, 0, z); - return CraftBlock.biomeBaseToBiome(internal.getBiome(reusableBlockPos)); + return CraftBlock.biomeBaseToBiome(RegistryGeneration.WORLDGEN_BIOME, internal.getBiome(reusableBlockPos)); } @Override diff --git a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/InjectedBiomeGenerator.java b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/InjectedBiomeGenerator.java index 5c38fd0..bf8d7f8 100644 --- a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/InjectedBiomeGenerator.java +++ b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/InjectedBiomeGenerator.java @@ -7,14 +7,14 @@ import java.util.List; import java.util.Set; import org.bukkit.block.Biome; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftBlock; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftBlock; import com.mojang.serialization.Codec; -import net.minecraft.server.v1_16_R1.BiomeBase; -import net.minecraft.server.v1_16_R1.Biomes; -import net.minecraft.server.v1_16_R1.IRegistry; -import net.minecraft.server.v1_16_R1.WorldChunkManager; +import net.minecraft.server.v1_16_R2.BiomeBase; +import net.minecraft.server.v1_16_R2.Biomes; +import net.minecraft.server.v1_16_R2.RegistryGeneration; +import net.minecraft.server.v1_16_R2.WorldChunkManager; import nl.rutgerkok.worldgeneratorapi.BiomeGenerator; import nl.rutgerkok.worldgeneratorapi.WorldGeneratorApi; @@ -26,17 +26,19 @@ public class InjectedBiomeGenerator extends WorldChunkManager { * generators.) Instead, we serialize as if we are a biome generator that * generates only oceans. */ - private static final Codec DUMMY_CODEC = IRegistry.BIOME.fieldOf( + private static final Codec DUMMY_CODEC = RegistryGeneration.WORLDGEN_BIOME.fieldOf( "[" + WorldGeneratorApi.class.getSimpleName() + "] Custom biome generators cannot be stored in the level.dat, please ignore this error") .xmap(biome -> new InjectedBiomeGenerator(), biomeGenToSerialize -> { // Serializes as a single-biome generator - return Biomes.OCEAN; + return RegistryGeneration.WORLDGEN_BIOME.a(Biomes.OCEAN); }) .stable().codec(); private static List toBiomeBase(Set biomes) { - return biomes.stream().map(CraftBlock::biomeToBiomeBase).collect(toList()); + return biomes.stream() + .map(biome -> CraftBlock.biomeToBiomeBase(RegistryGeneration.WORLDGEN_BIOME, biome)) + .collect(toList()); } /** @@ -63,7 +65,7 @@ public class InjectedBiomeGenerator extends WorldChunkManager { * generator. */ private InjectedBiomeGenerator() { - super(Arrays.asList(Biomes.OCEAN)); + super(Arrays.asList(RegistryGeneration.WORLDGEN_BIOME.a(Biomes.OCEAN))); this.biomeGenerator = (x, y, z) -> Biome.OCEAN; } @@ -84,6 +86,7 @@ public class InjectedBiomeGenerator extends WorldChunkManager { @Override public BiomeBase getBiome(int x, int y, int z) { - return CraftBlock.biomeToBiomeBase(biomeGenerator.getZoomedOutBiome(x, y, z)); + return CraftBlock.biomeToBiomeBase(RegistryGeneration.WORLDGEN_BIOME, + biomeGenerator.getZoomedOutBiome(x, y, z)); } } diff --git a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/PropertyRegistryImpl.java b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/PropertyRegistryImpl.java index ac8c1b4..3fd20d0 100644 --- a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/PropertyRegistryImpl.java +++ b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/PropertyRegistryImpl.java @@ -13,10 +13,11 @@ import org.bukkit.Bukkit; import org.bukkit.NamespacedKey; import org.bukkit.World; import org.bukkit.block.Biome; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftBlock; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftBlock; -import net.minecraft.server.v1_16_R1.BiomeBase; -import net.minecraft.server.v1_16_R1.Biomes; +import net.minecraft.server.v1_16_R2.BiomeBase; +import net.minecraft.server.v1_16_R2.Biomes; +import net.minecraft.server.v1_16_R2.RegistryGeneration; import nl.rutgerkok.worldgeneratorapi.WorldGeneratorApi; import nl.rutgerkok.worldgeneratorapi.WorldRef; import nl.rutgerkok.worldgeneratorapi.property.AbstractProperty; @@ -56,20 +57,21 @@ public final class PropertyRegistryImpl implements PropertyRegistry { private final Map properties = new ConcurrentHashMap<>(); public PropertyRegistryImpl() { - addMinecraftBiomeFloatProperty(TEMPERATURE, BiomeBase::getTemperature); + addMinecraftBiomeFloatProperty(TEMPERATURE, BiomeBase::k); addMinecraftBiomeFloatProperty(WETNESS, BiomeBase::getHumidity); - addMinecraftBiomeFloatProperty(BASE_HEIGHT, BiomeBase::k); - addMinecraftBiomeFloatProperty(HEIGHT_VARIATION, BiomeBase::o); + addMinecraftBiomeFloatProperty(BASE_HEIGHT, BiomeBase::h); + addMinecraftBiomeFloatProperty(HEIGHT_VARIATION, BiomeBase::j); addMinecraftWorldProperty(WORLD_SEED, world -> (Long) world.getSeed(), -1L); addSeaLevelProperty(SEA_LEVEL, world -> (float) world.getSeaLevel()); } private void addMinecraftBiomeFloatProperty(NamespacedKey name, Function value) { - FloatProperty property = new FloatProperty(name, value.apply(Biomes.b)) { + FloatProperty property = new FloatProperty(name, + value.apply(RegistryGeneration.WORLDGEN_BIOME.a(Biomes.PLAINS))) { @Override public float getBiomeDefault(Biome biome) { - BiomeBase base = CraftBlock.biomeToBiomeBase(biome); + BiomeBase base = CraftBlock.biomeToBiomeBase(RegistryGeneration.WORLDGEN_BIOME, biome); return value.apply(base); } diff --git a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/WorldDecoratorImpl.java b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/WorldDecoratorImpl.java index 6ea8d6a..15355b9 100644 --- a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/WorldDecoratorImpl.java +++ b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/WorldDecoratorImpl.java @@ -10,22 +10,23 @@ import java.util.Objects; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; +import java.util.function.Supplier; -import net.minecraft.server.v1_16_R1.BiomeBase; -import net.minecraft.server.v1_16_R1.BiomeManager; -import net.minecraft.server.v1_16_R1.BlockPosition; -import net.minecraft.server.v1_16_R1.ChunkCoordIntPair; -import net.minecraft.server.v1_16_R1.ChunkGenerator; -import net.minecraft.server.v1_16_R1.CrashReport; -import net.minecraft.server.v1_16_R1.IChunkAccess; -import net.minecraft.server.v1_16_R1.IRegistry; -import net.minecraft.server.v1_16_R1.ProtoChunk; -import net.minecraft.server.v1_16_R1.RegionLimitedWorldAccess; -import net.minecraft.server.v1_16_R1.ReportedException; -import net.minecraft.server.v1_16_R1.SeededRandom; -import net.minecraft.server.v1_16_R1.StructureManager; -import net.minecraft.server.v1_16_R1.WorldGenCarverWrapper; -import net.minecraft.server.v1_16_R1.WorldGenStage; +import net.minecraft.server.v1_16_R2.BiomeBase; +import net.minecraft.server.v1_16_R2.BiomeManager; +import net.minecraft.server.v1_16_R2.BiomeSettingsGeneration; +import net.minecraft.server.v1_16_R2.BlockPosition; +import net.minecraft.server.v1_16_R2.ChunkCoordIntPair; +import net.minecraft.server.v1_16_R2.ChunkGenerator; +import net.minecraft.server.v1_16_R2.CrashReport; +import net.minecraft.server.v1_16_R2.IChunkAccess; +import net.minecraft.server.v1_16_R2.ProtoChunk; +import net.minecraft.server.v1_16_R2.RegionLimitedWorldAccess; +import net.minecraft.server.v1_16_R2.ReportedException; +import net.minecraft.server.v1_16_R2.SeededRandom; +import net.minecraft.server.v1_16_R2.StructureManager; +import net.minecraft.server.v1_16_R2.WorldGenCarverWrapper; +import net.minecraft.server.v1_16_R2.WorldGenStage; import nl.rutgerkok.worldgeneratorapi.BaseChunkGenerator; import nl.rutgerkok.worldgeneratorapi.BaseChunkGenerator.GeneratingChunk; import nl.rutgerkok.worldgeneratorapi.decoration.BaseDecorationType; @@ -62,7 +63,6 @@ public final class WorldDecoratorImpl implements WorldDecorator { return biomeManager.a(blockPosition); } - @Override public List getCustomBaseDecorations(BaseDecorationType type) { Objects.requireNonNull(type, "type"); @@ -109,25 +109,25 @@ public final class WorldDecoratorImpl implements WorldDecorator { ChunkCoordIntPair chunkcoordintpair = ichunkaccess.getPos(); int i = chunkcoordintpair.x; int j = chunkcoordintpair.z; - BiomeBase biomeBase = this.getBiome(biomeManager, chunkcoordintpair.l()); + BiomeSettingsGeneration biomeConfig = this.getBiome(biomeManager, chunkcoordintpair.l()).e(); BitSet bitset = ((ProtoChunk) ichunkaccess).b(stage); - for(int k = i - 8; k <= i + 8; ++k) { - for(int l = j - 8; l <= j + 8; ++l) { - List> list = biomeBase.a(stage); - ListIterator> listiterator = list.listIterator(); + for (int k = i - 8; k <= i + 8; ++k) { + for (int l = j - 8; l <= j + 8; ++l) { + List>> list = biomeConfig.a(stage); + ListIterator>> listiterator = list.listIterator(); - while(listiterator.hasNext()) { - int i1 = listiterator.nextIndex(); - WorldGenCarverWrapper worldgencarverwrapper = listiterator.next(); + while (listiterator.hasNext()) { + int i1 = listiterator.nextIndex(); + WorldGenCarverWrapper worldgencarverwrapper = listiterator.next().get(); seededrandom.c(seed + i1, k, l); - if (worldgencarverwrapper.a(seededrandom, k, l)) { - worldgencarverwrapper.a(ichunkaccess, (blockposition) -> { + if (worldgencarverwrapper.a(seededrandom, k, l)) { + worldgencarverwrapper.a(ichunkaccess, (blockposition) -> { return this.getBiome(biomeManager, blockposition); }, seededrandom, seaLevel, k, l, i, j, bitset); - } - } + } + } } } } @@ -171,12 +171,12 @@ public final class WorldDecoratorImpl implements WorldDecorator { // Spawn default decorations if (!this.disabledDecorations.contains(type)) { try { - biomebase.a(decorationStage, structureManager, chunkGenerator, populationArea, chunkSeed, - seededrandom, blockposition); + biomebase.a(structureManager, chunkGenerator, populationArea, chunkSeed, seededrandom, + blockposition); } catch (Exception var18) { CrashReport crashreport = CrashReport.a(var18, "Biome decoration"); - crashreport.a("Generation").a("CenterX", i).a("CenterZ", j).a("Step", decorationStage) - .a("Seed", chunkSeed).a("Biome", IRegistry.BIOME.getKey(biomebase)); + crashreport.a("Generation").a("CenterX", i).a("CenterZ", j).a("Seed", chunkSeed).a("Biome", + biomebase); throw new ReportedException(crashreport); } } diff --git a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/WorldGeneratorApiImpl.java b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/WorldGeneratorApiImpl.java index 632f772..a04fdef 100644 --- a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/WorldGeneratorApiImpl.java +++ b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/WorldGeneratorApiImpl.java @@ -10,7 +10,7 @@ import org.bukkit.Server; import org.bukkit.World; import org.bukkit.command.PluginCommand; import org.bukkit.command.TabExecutor; -import org.bukkit.craftbukkit.v1_16_R1.CraftServer; +import org.bukkit.craftbukkit.v1_16_R2.CraftServer; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.world.WorldUnloadEvent; diff --git a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/WorldGeneratorImpl.java b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/WorldGeneratorImpl.java index f98533d..af9e13e 100644 --- a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/WorldGeneratorImpl.java +++ b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/WorldGeneratorImpl.java @@ -7,16 +7,14 @@ import java.util.Objects; import javax.annotation.Nullable; import org.bukkit.World; -import org.bukkit.craftbukkit.v1_16_R1.CraftWorld; -import org.bukkit.craftbukkit.v1_16_R1.generator.CustomChunkGenerator; +import org.bukkit.craftbukkit.v1_16_R2.CraftWorld; +import org.bukkit.craftbukkit.v1_16_R2.generator.CustomChunkGenerator; -import net.minecraft.server.v1_16_R1.ChunkGenerator; -import net.minecraft.server.v1_16_R1.ChunkGeneratorAbstract; -import net.minecraft.server.v1_16_R1.ChunkProviderServer; -import net.minecraft.server.v1_16_R1.GeneratorSettingBase; -import net.minecraft.server.v1_16_R1.GeneratorSettings; -import net.minecraft.server.v1_16_R1.WorldChunkManager; -import net.minecraft.server.v1_16_R1.WorldServer; +import net.minecraft.server.v1_16_R2.ChunkGenerator; +import net.minecraft.server.v1_16_R2.ChunkProviderServer; +import net.minecraft.server.v1_16_R2.GeneratorSettingBase; +import net.minecraft.server.v1_16_R2.WorldChunkManager; +import net.minecraft.server.v1_16_R2.WorldServer; import nl.rutgerkok.worldgeneratorapi.BaseChunkGenerator; import nl.rutgerkok.worldgeneratorapi.BaseNoiseGenerator; import nl.rutgerkok.worldgeneratorapi.BaseTerrainGenerator; @@ -29,6 +27,10 @@ import nl.rutgerkok.worldgeneratorapi.internal.bukkitoverrides.NoiseToTerrainGen final class WorldGeneratorImpl implements WorldGenerator { + private static GeneratorSettingBase createDefaultSettings() { + return GeneratorSettingBase.i(); + } + private static GeneratorSettingBase extractSettings(ChunkGenerator chunkGenerator, long seed) { try { // First, unwrap Bukkit generator if necessary @@ -38,16 +40,11 @@ final class WorldGeneratorImpl implements WorldGenerator { } // Then, extract the settings - return (GeneratorSettingBase) ReflectionUtil.getFieldOfType(chunkGenerator, GeneratorSettingBase.class).get(chunkGenerator); + return (GeneratorSettingBase) ReflectionUtil.getFieldOfType(chunkGenerator, GeneratorSettingBase.class) + .get(chunkGenerator); } catch (IllegalAccessException | IllegalArgumentException | NoSuchElementException e) { // Get default settings - ChunkGeneratorAbstract standardGenerator = GeneratorSettings.a(seed); - try { - return (GeneratorSettingBase) ReflectionUtil - .getFieldOfType(standardGenerator, GeneratorSettingBase.class).get(chunkGenerator); - } catch (IllegalAccessException e1) { - throw new RuntimeException("Failed to extract settings", e1); - } + return createDefaultSettings(); } } diff --git a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/bukkitoverrides/BiomeGridImpl.java b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/bukkitoverrides/BiomeGridImpl.java index c928556..165f65c 100644 --- a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/bukkitoverrides/BiomeGridImpl.java +++ b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/bukkitoverrides/BiomeGridImpl.java @@ -3,10 +3,11 @@ package nl.rutgerkok.worldgeneratorapi.internal.bukkitoverrides; import java.util.Objects; import org.bukkit.block.Biome; -import org.bukkit.craftbukkit.v1_16_R1.block.CraftBlock; +import org.bukkit.craftbukkit.v1_16_R2.block.CraftBlock; import org.bukkit.generator.ChunkGenerator.BiomeGrid; -import net.minecraft.server.v1_16_R1.BiomeStorage; +import net.minecraft.server.v1_16_R2.BiomeStorage; +import net.minecraft.server.v1_16_R2.RegistryGeneration; public final class BiomeGridImpl implements BiomeGrid { private final BiomeStorage biomeStorage; @@ -17,17 +18,19 @@ public final class BiomeGridImpl implements BiomeGrid { @Override public Biome getBiome(final int x, final int z) { - return CraftBlock.biomeBaseToBiome(this.biomeStorage.getBiome(x >> 2, 0, z >> 2)); + return CraftBlock.biomeBaseToBiome(RegistryGeneration.WORLDGEN_BIOME, + this.biomeStorage.getBiome(x >> 2, 0, z >> 2)); } @Override public Biome getBiome(int x, int y, int z) { - return CraftBlock.biomeBaseToBiome(this.biomeStorage.getBiome(x >> 2, y >> 2, z >> 2)); + return CraftBlock.biomeBaseToBiome(RegistryGeneration.WORLDGEN_BIOME, + this.biomeStorage.getBiome(x >> 2, y >> 2, z >> 2)); } /** * Gets the internal biome storage. - * + * * @return The biome storage. */ public BiomeStorage getHandle() { @@ -36,11 +39,13 @@ public final class BiomeGridImpl implements BiomeGrid { @Override public void setBiome(int x, int z, Biome biome) { - this.biomeStorage.setBiome(x >> 2, 0, z >> 2, CraftBlock.biomeToBiomeBase(biome)); + this.biomeStorage.setBiome(x >> 2, 0, z >> 2, + CraftBlock.biomeToBiomeBase(RegistryGeneration.WORLDGEN_BIOME, biome)); } @Override public void setBiome(int x, int y, int z, Biome biome) { - this.biomeStorage.setBiome(x >> 2, y >> 2, z >> 2, CraftBlock.biomeToBiomeBase(biome)); + this.biomeStorage.setBiome(x >> 2, y >> 2, z >> 2, + CraftBlock.biomeToBiomeBase(RegistryGeneration.WORLDGEN_BIOME, biome)); } } \ No newline at end of file diff --git a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/bukkitoverrides/ChunkDataImpl.java b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/bukkitoverrides/ChunkDataImpl.java index 85ae79f..4531a27 100644 --- a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/bukkitoverrides/ChunkDataImpl.java +++ b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/bukkitoverrides/ChunkDataImpl.java @@ -2,12 +2,12 @@ package nl.rutgerkok.worldgeneratorapi.internal.bukkitoverrides; import org.bukkit.Material; import org.bukkit.block.data.BlockData; -import org.bukkit.craftbukkit.v1_16_R1.block.data.CraftBlockData; +import org.bukkit.craftbukkit.v1_16_R2.block.data.CraftBlockData; import org.bukkit.generator.ChunkGenerator.ChunkData; -import net.minecraft.server.v1_16_R1.BlockPosition.MutableBlockPosition; -import net.minecraft.server.v1_16_R1.IBlockData; -import net.minecraft.server.v1_16_R1.IChunkAccess; +import net.minecraft.server.v1_16_R2.BlockPosition.MutableBlockPosition; +import net.minecraft.server.v1_16_R2.IBlockData; +import net.minecraft.server.v1_16_R2.IChunkAccess; public final class ChunkDataImpl implements ChunkData { private final IChunkAccess internal; diff --git a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/bukkitoverrides/InjectedChunkGenerator.java b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/bukkitoverrides/InjectedChunkGenerator.java index 9dac3c3..f4f4f29 100644 --- a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/bukkitoverrides/InjectedChunkGenerator.java +++ b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/bukkitoverrides/InjectedChunkGenerator.java @@ -13,35 +13,35 @@ import org.bukkit.generator.ChunkGenerator.ChunkData; import com.mojang.serialization.Codec; -import net.minecraft.server.v1_16_R1.BiomeBase; -import net.minecraft.server.v1_16_R1.BiomeBase.BiomeMeta; -import net.minecraft.server.v1_16_R1.BiomeManager; -import net.minecraft.server.v1_16_R1.BlockColumn; -import net.minecraft.server.v1_16_R1.BlockPosition; -import net.minecraft.server.v1_16_R1.BlockPosition.MutableBlockPosition; -import net.minecraft.server.v1_16_R1.Blocks; -import net.minecraft.server.v1_16_R1.ChunkCoordIntPair; -import net.minecraft.server.v1_16_R1.ChunkGenerator; -import net.minecraft.server.v1_16_R1.ChunkGeneratorAbstract; -import net.minecraft.server.v1_16_R1.EnumCreatureType; -import net.minecraft.server.v1_16_R1.GeneratorAccess; -import net.minecraft.server.v1_16_R1.GeneratorSettingBase; -import net.minecraft.server.v1_16_R1.HeightMap; -import net.minecraft.server.v1_16_R1.HeightMap.Type; -import net.minecraft.server.v1_16_R1.IBlockAccess; -import net.minecraft.server.v1_16_R1.IBlockData; -import net.minecraft.server.v1_16_R1.IChunkAccess; -import net.minecraft.server.v1_16_R1.NoiseGenerator; -import net.minecraft.server.v1_16_R1.NoiseGenerator3; -import net.minecraft.server.v1_16_R1.NoiseGeneratorOctaves; -import net.minecraft.server.v1_16_R1.NoiseSettings; -import net.minecraft.server.v1_16_R1.RegionLimitedWorldAccess; -import net.minecraft.server.v1_16_R1.SeededRandom; -import net.minecraft.server.v1_16_R1.SpawnerCreature; -import net.minecraft.server.v1_16_R1.StructureGenerator; -import net.minecraft.server.v1_16_R1.StructureManager; -import net.minecraft.server.v1_16_R1.WorldChunkManager; -import net.minecraft.server.v1_16_R1.WorldGenStage.Features; +import net.minecraft.server.v1_16_R2.BiomeBase; +import net.minecraft.server.v1_16_R2.BiomeManager; +import net.minecraft.server.v1_16_R2.BiomeSettingsMobs; +import net.minecraft.server.v1_16_R2.BlockColumn; +import net.minecraft.server.v1_16_R2.BlockPosition; +import net.minecraft.server.v1_16_R2.BlockPosition.MutableBlockPosition; +import net.minecraft.server.v1_16_R2.Blocks; +import net.minecraft.server.v1_16_R2.ChunkCoordIntPair; +import net.minecraft.server.v1_16_R2.ChunkGenerator; +import net.minecraft.server.v1_16_R2.ChunkGeneratorAbstract; +import net.minecraft.server.v1_16_R2.EnumCreatureType; +import net.minecraft.server.v1_16_R2.GeneratorAccess; +import net.minecraft.server.v1_16_R2.GeneratorSettingBase; +import net.minecraft.server.v1_16_R2.HeightMap; +import net.minecraft.server.v1_16_R2.HeightMap.Type; +import net.minecraft.server.v1_16_R2.IBlockAccess; +import net.minecraft.server.v1_16_R2.IBlockData; +import net.minecraft.server.v1_16_R2.IChunkAccess; +import net.minecraft.server.v1_16_R2.NoiseGenerator; +import net.minecraft.server.v1_16_R2.NoiseGenerator3; +import net.minecraft.server.v1_16_R2.NoiseGeneratorOctaves; +import net.minecraft.server.v1_16_R2.NoiseSettings; +import net.minecraft.server.v1_16_R2.RegionLimitedWorldAccess; +import net.minecraft.server.v1_16_R2.SeededRandom; +import net.minecraft.server.v1_16_R2.SpawnerCreature; +import net.minecraft.server.v1_16_R2.StructureGenerator; +import net.minecraft.server.v1_16_R2.StructureManager; +import net.minecraft.server.v1_16_R2.WorldChunkManager; +import net.minecraft.server.v1_16_R2.WorldGenStage.Features; import nl.rutgerkok.worldgeneratorapi.BaseChunkGenerator.GeneratingChunk; import nl.rutgerkok.worldgeneratorapi.BaseTerrainGenerator; import nl.rutgerkok.worldgeneratorapi.BaseTerrainGenerator.HeightType; @@ -346,7 +346,7 @@ public final class InjectedChunkGenerator extends ChunkGenerator { } @Override - public List getMobsFor(BiomeBase biomebase, StructureManager structuremanager, + public List getMobsFor(BiomeBase biomebase, StructureManager structuremanager, EnumCreatureType enumcreaturetype, BlockPosition blockposition) { if (structuremanager.a(blockposition, true, StructureGenerator.SWAMP_HUT).e()) { if (enumcreaturetype == EnumCreatureType.MONSTER) { diff --git a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/bukkitoverrides/NoiseToTerrainGenerator.java b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/bukkitoverrides/NoiseToTerrainGenerator.java index 4849f93..c6beffb 100644 --- a/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/bukkitoverrides/NoiseToTerrainGenerator.java +++ b/worldgeneratorapi-impl/src/main/java/nl/rutgerkok/worldgeneratorapi/internal/bukkitoverrides/NoiseToTerrainGenerator.java @@ -9,39 +9,36 @@ import java.util.function.Predicate; import javax.annotation.Nullable; -import org.bukkit.craftbukkit.v1_16_R1.block.data.CraftBlockData; +import org.bukkit.craftbukkit.v1_16_R2.block.data.CraftBlockData; -import net.minecraft.server.v1_16_R1.BlockColumn; -import net.minecraft.server.v1_16_R1.BlockPosition.MutableBlockPosition; -import net.minecraft.server.v1_16_R1.Blocks; -import net.minecraft.server.v1_16_R1.ChunkCoordIntPair; -import net.minecraft.server.v1_16_R1.ChunkGeneratorAbstract; -import net.minecraft.server.v1_16_R1.ChunkSection; -import net.minecraft.server.v1_16_R1.GeneratorAccess; -import net.minecraft.server.v1_16_R1.GeneratorSettingBase; -import net.minecraft.server.v1_16_R1.GeneratorSettings; -import net.minecraft.server.v1_16_R1.HeightMap; -import net.minecraft.server.v1_16_R1.HeightMap.Type; -import net.minecraft.server.v1_16_R1.IBlockAccess; -import net.minecraft.server.v1_16_R1.IBlockData; -import net.minecraft.server.v1_16_R1.IChunkAccess; -import net.minecraft.server.v1_16_R1.MathHelper; -import net.minecraft.server.v1_16_R1.NoiseSettings; -import net.minecraft.server.v1_16_R1.ProtoChunk; -import net.minecraft.server.v1_16_R1.SectionPosition; -import net.minecraft.server.v1_16_R1.StructureBoundingBox; -import net.minecraft.server.v1_16_R1.StructureGenerator; -import net.minecraft.server.v1_16_R1.StructureManager; -import net.minecraft.server.v1_16_R1.StructurePiece; -import net.minecraft.server.v1_16_R1.SystemUtils; -import net.minecraft.server.v1_16_R1.WorldGenFeatureDefinedStructureJigsawJunction; -import net.minecraft.server.v1_16_R1.WorldGenFeatureDefinedStructurePoolTemplate.Matching; -import net.minecraft.server.v1_16_R1.WorldGenFeaturePillagerOutpostPoolPiece; +import net.minecraft.server.v1_16_R2.BlockColumn; +import net.minecraft.server.v1_16_R2.BlockPosition.MutableBlockPosition; +import net.minecraft.server.v1_16_R2.Blocks; +import net.minecraft.server.v1_16_R2.ChunkCoordIntPair; +import net.minecraft.server.v1_16_R2.ChunkSection; +import net.minecraft.server.v1_16_R2.GeneratorAccess; +import net.minecraft.server.v1_16_R2.GeneratorSettingBase; +import net.minecraft.server.v1_16_R2.HeightMap; +import net.minecraft.server.v1_16_R2.HeightMap.Type; +import net.minecraft.server.v1_16_R2.IBlockAccess; +import net.minecraft.server.v1_16_R2.IBlockData; +import net.minecraft.server.v1_16_R2.IChunkAccess; +import net.minecraft.server.v1_16_R2.MathHelper; +import net.minecraft.server.v1_16_R2.NoiseSettings; +import net.minecraft.server.v1_16_R2.ProtoChunk; +import net.minecraft.server.v1_16_R2.SectionPosition; +import net.minecraft.server.v1_16_R2.StructureBoundingBox; +import net.minecraft.server.v1_16_R2.StructureGenerator; +import net.minecraft.server.v1_16_R2.StructureManager; +import net.minecraft.server.v1_16_R2.StructurePiece; +import net.minecraft.server.v1_16_R2.SystemUtils; +import net.minecraft.server.v1_16_R2.WorldGenFeatureDefinedStructureJigsawJunction; +import net.minecraft.server.v1_16_R2.WorldGenFeatureDefinedStructurePoolTemplate.Matching; +import net.minecraft.server.v1_16_R2.WorldGenFeaturePillagerOutpostPoolPiece; import nl.rutgerkok.worldgeneratorapi.BaseNoiseGenerator; import nl.rutgerkok.worldgeneratorapi.BaseNoiseGenerator.TerrainSettings; import nl.rutgerkok.worldgeneratorapi.BaseTerrainGenerator; import nl.rutgerkok.worldgeneratorapi.BiomeGenerator; -import nl.rutgerkok.worldgeneratorapi.internal.ReflectionUtil; import nl.rutgerkok.worldgeneratorapi.internal.bukkitoverrides.InjectedChunkGenerator.GeneratingChunkImpl; public final class NoiseToTerrainGenerator implements BaseTerrainGenerator { @@ -82,15 +79,9 @@ public final class NoiseToTerrainGenerator implements BaseTerrainGenerator { } private static NoiseSettings defaultNoiseSettings() { - // I don't know how to properly construct the default settings, so I'm using this for now - ChunkGeneratorAbstract defaultGenerator = GeneratorSettings.a(0); - try { - GeneratorSettingBase settings = (GeneratorSettingBase) ReflectionUtil.getFieldOfType(defaultGenerator, GeneratorSettingBase.class).get(defaultGenerator); - return settings.b(); - } catch (IllegalAccessException e) { - throw new RuntimeException("Failed to create default noise settings", e); - } + return GeneratorSettingBase.i().b(); } + private final int l; private final int m; private final int n; diff --git a/worldgeneratorapi-impl/src/test/java/nl/rutgerkok/worldgeneratorapi/test/internal/BiomeGeneratorImplTest.java b/worldgeneratorapi-impl/src/test/java/nl/rutgerkok/worldgeneratorapi/test/internal/BiomeGeneratorImplTest.java index f6444cc..512395c 100644 --- a/worldgeneratorapi-impl/src/test/java/nl/rutgerkok/worldgeneratorapi/test/internal/BiomeGeneratorImplTest.java +++ b/worldgeneratorapi-impl/src/test/java/nl/rutgerkok/worldgeneratorapi/test/internal/BiomeGeneratorImplTest.java @@ -7,8 +7,9 @@ import org.bukkit.block.Biome; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; -import net.minecraft.server.v1_16_R1.WorldChunkManager; -import net.minecraft.server.v1_16_R1.WorldChunkManagerOverworld; +import net.minecraft.server.v1_16_R2.RegistryGeneration; +import net.minecraft.server.v1_16_R2.WorldChunkManager; +import net.minecraft.server.v1_16_R2.WorldChunkManagerOverworld; import nl.rutgerkok.worldgeneratorapi.BiomeGenerator; import nl.rutgerkok.worldgeneratorapi.internal.BiomeGeneratorImpl; import nl.rutgerkok.worldgeneratorapi.internal.InjectedBiomeGenerator; @@ -23,7 +24,8 @@ public class BiomeGeneratorImplTest { @Test public void isGetStructureBiomesInSync() { // Create vanilla biome generator - WorldChunkManager worldChunkManager = new WorldChunkManagerOverworld(10, false, false); + WorldChunkManager worldChunkManager = new WorldChunkManagerOverworld(10, false, false, + RegistryGeneration.WORLDGEN_BIOME); // Check the structures BiomeGeneratorImpl biomeGenerator = new BiomeGeneratorImpl(worldChunkManager); diff --git a/worldgeneratorapi-impl/src/test/java/nl/rutgerkok/worldgeneratorapi/test/internal/TestFactory.java b/worldgeneratorapi-impl/src/test/java/nl/rutgerkok/worldgeneratorapi/test/internal/TestFactory.java index ff5e659..ec9250d 100644 --- a/worldgeneratorapi-impl/src/test/java/nl/rutgerkok/worldgeneratorapi/test/internal/TestFactory.java +++ b/worldgeneratorapi-impl/src/test/java/nl/rutgerkok/worldgeneratorapi/test/internal/TestFactory.java @@ -8,7 +8,7 @@ import org.bukkit.World; import org.bukkit.plugin.Plugin; import org.mockito.Mockito; -import net.minecraft.server.v1_16_R1.DispenserRegistry; +import net.minecraft.server.v1_16_R2.DispenserRegistry; public class TestFactory { diff --git a/worldgeneratorapi/pom.xml b/worldgeneratorapi/pom.xml index 26cb011..415cf57 100644 --- a/worldgeneratorapi/pom.xml +++ b/worldgeneratorapi/pom.xml @@ -65,7 +65,7 @@ org.spigotmc spigot-api - 1.16.1-R0.1-SNAPSHOT + 1.16.2-R0.1-SNAPSHOT provided