From c46af915949085f20d566442fe1d28980c22244f Mon Sep 17 00:00:00 2001 From: TheDarkDnKTv Date: Sat, 24 Apr 2021 02:51:42 +0300 Subject: [PATCH] Fixed crush spam while binnie mods botania is present --- .../gregtechmod/common/GT_DummyWorld.java | 41 ++++++++++++++++++- .../postload/GT_SeedFlowerIterator.java | 2 +- 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/src/main/java/gregtechmod/common/GT_DummyWorld.java b/src/main/java/gregtechmod/common/GT_DummyWorld.java index 67b51591..f490dca9 100644 --- a/src/main/java/gregtechmod/common/GT_DummyWorld.java +++ b/src/main/java/gregtechmod/common/GT_DummyWorld.java @@ -1,18 +1,26 @@ package gregtechmod.common; import java.io.File; +import java.util.Collections; +import java.util.List; +import gregtechmod.api.GregTech_API; import net.minecraft.block.Block; import net.minecraft.entity.Entity; +import net.minecraft.entity.EnumCreatureType; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.profiler.Profiler; +import net.minecraft.util.IProgressUpdate; +import net.minecraft.world.ChunkPosition; import net.minecraft.world.MinecraftException; import net.minecraft.world.World; import net.minecraft.world.WorldProvider; import net.minecraft.world.WorldSettings; import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.chunk.Chunk; +import net.minecraft.world.chunk.EmptyChunk; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.chunk.storage.IChunkLoader; import net.minecraft.world.storage.IPlayerFileData; @@ -54,7 +62,7 @@ public GT_DummyWorld() { @Override protected IChunkProvider createChunkProvider() { - return null; + return new GT_DummyChunkProvider(); } @Override @@ -110,4 +118,35 @@ protected int func_152379_p() { return 0; } + private static class GT_DummyChunkProvider implements IChunkProvider { + @Override + public Chunk provideChunk(int x, int z) { + return new EmptyChunk(GregTech_API.sDummyWorld, x, z); + } + + @Override + public Chunk loadChunk(int x, int z) { + return new EmptyChunk(GregTech_API.sDummyWorld, x, z); + } + + @Override + public List getPossibleCreatures(EnumCreatureType p_73155_1_, int p_73155_2_, int p_73155_3_, int p_73155_4_) { + return Collections.emptyList(); + } + + @Override + public ChunkPosition func_147416_a(World p_147416_1_, String p_147416_2_, int p_147416_3_, int p_147416_4_, int p_147416_5_) { + return null; + } + + @Override public void saveExtraData() {} + @Override public int getLoadedChunkCount() {return 0;} + @Override public boolean unloadQueuedChunks() {return false;} + @Override public boolean canSave() {return false;} + @Override public void recreateStructures(int p_82695_1_, int p_82695_2_) {} + @Override public String makeString() {return "GT_DummyChunkProvider";} + @Override public boolean chunkExists(int p_73149_1_, int p_73149_2_) {return false;} + @Override public boolean saveChunks(boolean p_73151_1_, IProgressUpdate p_73151_2_) {return false;} + @Override public void populate(IChunkProvider p_73153_1_, int p_73153_2_, int p_73153_3_) {} + } } diff --git a/src/main/java/gregtechmod/loaders/postload/GT_SeedFlowerIterator.java b/src/main/java/gregtechmod/loaders/postload/GT_SeedFlowerIterator.java index 8afce82e..7c3156b4 100644 --- a/src/main/java/gregtechmod/loaders/postload/GT_SeedFlowerIterator.java +++ b/src/main/java/gregtechmod/loaders/postload/GT_SeedFlowerIterator.java @@ -56,7 +56,7 @@ public void run() { // ForgeHooks.plantGrass(tWorld, 24, 65, 24); // TODO; do not planting grass ItemDye.applyBonemeal(new ItemStack(Items.dye, 64, 0), tWorld, 24, 64, 24, new EntityPlayer(tWorld, new GameProfile(UUID.randomUUID(), "ILYAPIDOR")) { @Override - public ChunkCoordinates getPlayerCoordinates() {return null;} + public ChunkCoordinates getPlayerCoordinates() {return new ChunkCoordinates(24, 64, 24);} @Override public boolean canCommandSenderUseCommand(int p_70003_1_, String p_70003_2_) {return false;} @Override