-
Posts
1061 -
Joined
-
Last visited
Everything posted by NovaViper
-
Sorry and here package common.zeroquest.block.portal; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.BlockPortal; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Blocks; import net.minecraft.server.MinecraftServer; import net.minecraft.util.BlockPos; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumParticleTypes; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraft.world.WorldServer; import common.zeroquest.ModBlocks; import common.zeroquest.ZeroQuest; public class BlockPortalNillax extends BlockPortal { public BlockPortalNillax() { super(); this.setStepSound(soundTypeGlass); } @Override public int getLightValue(IBlockAccess world, BlockPos pos) { return 14; } @Override public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) { if (entityIn.ridingEntity == null && entityIn.riddenByEntity == null && entityIn.timeUntilPortal <= 0) { int id = ZeroQuest.NillaxID; if (entityIn.dimension == id) { id = 0; } if (entityIn instanceof EntityPlayerMP) { EntityPlayerMP player = (EntityPlayerMP) entityIn; MinecraftServer mcServer = player.mcServer; if (player.timeUntilPortal > 0) { player.timeUntilPortal = 10; } else if (player.dimension != ZeroQuest.NillaxID) { player.timeUntilPortal = 10; player.mcServer.getConfigurationManager().transferPlayerToDimension(player, ZeroQuest.NillaxID, new TeleporterNillax(mcServer.worldServerForDimension(ZeroQuest.NillaxID))); } else { player.timeUntilPortal = 10; player.mcServer.getConfigurationManager().transferPlayerToDimension(player, 0, new TeleporterNillax(mcServer.worldServerForDimension(0))); } } else { travelToDimension(entityIn, id); } } } private void travelToDimension(Entity entity, int id) { if (!entity.worldObj.isRemote && !entity.isDead) { entity.worldObj.theProfiler.startSection("changeDimension"); MinecraftServer minecraftserver = MinecraftServer.getServer(); int j = entity.dimension; WorldServer worldserver = minecraftserver.worldServerForDimension(j); WorldServer worldserver1 = minecraftserver.worldServerForDimension(id); entity.dimension = id; if (j == 1 && id == 1) { worldserver1 = minecraftserver.worldServerForDimension(0); entity.dimension = 0; } entity.worldObj.removeEntity(entity); entity.isDead = false; entity.worldObj.theProfiler.startSection("reposition"); minecraftserver.getConfigurationManager().transferEntityToWorld(entity, j, worldserver, worldserver1, new TeleporterNillax(worldserver1)); entity.worldObj.theProfiler.endStartSection("reloading"); Entity entity1 = EntityList.createEntityByName(EntityList.getEntityString(entity), worldserver1); if (entity1 != null) { entity1.copyDataFromOld(entity); if (j == 1 && id == 1) { BlockPos spawnPoint = worldserver1.getSpawnPoint(); spawnPoint = entity.worldObj.getTopSolidOrLiquidBlock(spawnPoint); entity1.setLocationAndAngles(spawnPoint.getX(), spawnPoint.getY(), spawnPoint.getZ(), entity1.rotationYaw, entity1.rotationPitch); } worldserver1.spawnEntityInWorld(entity1); } entity.isDead = true; entity.worldObj.theProfiler.endSection(); worldserver.resetUpdateEntityTick(); worldserver1.resetUpdateEntityTick(); entity.worldObj.theProfiler.endSection(); } } @Override public boolean func_176548_d(World worldIn, BlockPos p_176548_2_) { BlockPortalNillax.Size size = new BlockPortalNillax.Size(worldIn, p_176548_2_, EnumFacing.Axis.X); if (size.func_150860_b() && size.field_150864_e == 0) { size.func_150859_c(); return true; } else { BlockPortalNillax.Size size1 = new BlockPortalNillax.Size(worldIn, p_176548_2_, EnumFacing.Axis.Z); if (size1.func_150860_b() && size1.field_150864_e == 0) { size1.func_150859_c(); return true; } else { return false; } } } @Override public void randomDisplayTick(World worldIn, BlockPos pos, IBlockState state, Random rand) { int par2 = pos.getX(); int par3 = pos.getY(); int par4 = pos.getZ(); if (rand.nextInt(100) == 0) { worldIn.playSound(pos.getX() + 0.5D, pos.getY() + 0.5D, pos.getZ() + 0.5D, "portal.portal", 0.5F, rand.nextFloat() * 0.4F + 0.8F, false); } for (int i = 0; i < 4; ++i) { double d0 = pos.getX() + rand.nextFloat(); double d1 = pos.getY() + rand.nextFloat(); double d2 = pos.getZ() + rand.nextFloat(); double d3 = (rand.nextFloat() - 0.5D) * 0.5D; double d4 = (rand.nextFloat() - 0.5D) * 0.5D; double d5 = (rand.nextFloat() - 0.5D) * 0.5D; int j = rand.nextInt(2) * 2 - 1; if (worldIn.getBlockState(pos.west()).getBlock() != this && worldIn.getBlockState(pos.east()).getBlock() != this) { d0 = pos.getX() + 0.5D + 0.25D * j; d3 = rand.nextFloat() * 2.0F * j; } else { d2 = pos.getZ() + 0.5D + 0.25D * j; d5 = rand.nextFloat() * 2.0F * j; } worldIn.spawnParticle(EnumParticleTypes.PORTAL, d0, d1, d2, d3, d4, d5, new int[0]); } } @Override public void onNeighborBlockChange(World worldIn, BlockPos pos, IBlockState state, Block neighborBlock) { EnumFacing.Axis axis = (EnumFacing.Axis) state.getValue(AXIS); BlockPortalNillax.Size size; if (axis == EnumFacing.Axis.X) { size = new BlockPortalNillax.Size(worldIn, pos, EnumFacing.Axis.X); if (!size.func_150860_b() || size.field_150864_e < size.field_150868_h * size.field_150862_g) { worldIn.setBlockState(pos, Blocks.air.getDefaultState()); } } else if (axis == EnumFacing.Axis.Z) { size = new BlockPortalNillax.Size(worldIn, pos, EnumFacing.Axis.Z); if (!size.func_150860_b() || size.field_150864_e < size.field_150868_h * size.field_150862_g) { worldIn.setBlockState(pos, Blocks.air.getDefaultState()); } } } public static class Size { private final World world; private final EnumFacing.Axis axis; private final EnumFacing field_150866_c; private final EnumFacing field_150863_d; private int field_150864_e = 0; private BlockPos field_150861_f; private int field_150862_g; private int field_150868_h; private static final String __OBFID = "CL_00000285"; public Size(World worldIn, BlockPos p_i45694_2_, EnumFacing.Axis p_i45694_3_) { this.world = worldIn; this.axis = p_i45694_3_; if (p_i45694_3_ == EnumFacing.Axis.X) { this.field_150863_d = EnumFacing.EAST; this.field_150866_c = EnumFacing.WEST; } else { this.field_150863_d = EnumFacing.NORTH; this.field_150866_c = EnumFacing.SOUTH; } for (BlockPos blockpos1 = p_i45694_2_; p_i45694_2_.getY() > blockpos1.getY() - 21 && p_i45694_2_.getY() > 0 && this.func_150857_a(worldIn.getBlockState(p_i45694_2_.down()).getBlock()); p_i45694_2_ = p_i45694_2_.down()) { ; } int i = this.func_180120_a(p_i45694_2_, this.field_150863_d) - 1; if (i >= 0) { this.field_150861_f = p_i45694_2_.offset(this.field_150863_d, i); this.field_150868_h = this.func_180120_a(this.field_150861_f, this.field_150866_c); if (this.field_150868_h < 2 || this.field_150868_h > 21) { this.field_150861_f = null; this.field_150868_h = 0; } } if (this.field_150861_f != null) { this.field_150862_g = this.func_150858_a(); } } protected int func_180120_a(BlockPos p_180120_1_, EnumFacing p_180120_2_) { int i; for (i = 0; i < 22; ++i) { BlockPos blockpos1 = p_180120_1_.offset(p_180120_2_, i); if (!this.func_150857_a(this.world.getBlockState(blockpos1).getBlock()) || this.world.getBlockState(blockpos1.down()).getBlock() != ModBlocks.nillaxStone) { break; } } Block block = this.world.getBlockState(p_180120_1_.offset(p_180120_2_, i)).getBlock(); return block == ModBlocks.nillaxStone ? i : 0; } protected int func_150858_a() { int i; label56: for (this.field_150862_g = 0; this.field_150862_g < 21; ++this.field_150862_g) { for (i = 0; i < this.field_150868_h; ++i) { BlockPos blockpos = this.field_150861_f.offset(this.field_150866_c, i).up(this.field_150862_g); Block block = this.world.getBlockState(blockpos).getBlock(); if (!this.func_150857_a(block)) { break label56; } if (block == ModBlocks.portalNillax) { ++this.field_150864_e; } if (i == 0) { block = this.world.getBlockState(blockpos.offset(this.field_150863_d)).getBlock(); if (block != ModBlocks.nillaxStone) { break label56; } } else if (i == this.field_150868_h - 1) { block = this.world.getBlockState(blockpos.offset(this.field_150866_c)).getBlock(); if (block != ModBlocks.nillaxStone) { break label56; } } } } for (i = 0; i < this.field_150868_h; ++i) { if (this.world.getBlockState(this.field_150861_f.offset(this.field_150866_c, i).up(this.field_150862_g)).getBlock() != ModBlocks.nillaxStone) { this.field_150862_g = 0; break; } } if (this.field_150862_g <= 21 && this.field_150862_g >= 3) { return this.field_150862_g; } else { this.field_150861_f = null; this.field_150868_h = 0; this.field_150862_g = 0; return 0; } } protected boolean func_150857_a(Block p_150857_1_) { return p_150857_1_.getMaterial() == Material.air || p_150857_1_ == ModBlocks.nileFire || p_150857_1_ == ModBlocks.portalNillax; } public boolean func_150860_b() { return this.field_150861_f != null && this.field_150868_h >= 2 && this.field_150868_h <= 21 && this.field_150862_g >= 3 && this.field_150862_g <= 21; } public void func_150859_c() { for (int i = 0; i < this.field_150868_h; ++i) { BlockPos blockpos = this.field_150861_f.offset(this.field_150866_c, i); for (int j = 0; j < this.field_150862_g; ++j) { this.world.setBlockState(blockpos.up(j), ModBlocks.portalNillax.getDefaultState().withProperty(BlockPortalNillax.AXIS, this.axis), 2); } } } } }
-
And here is the code package common.zeroquest.block.portal; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.BlockPortal; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; import net.minecraft.init.Blocks; import net.minecraft.server.MinecraftServer; import net.minecraft.util.BlockPos; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumParticleTypes; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.DimensionManager; import common.zeroquest.ModBlocks; import common.zeroquest.ZeroQuest; public class BlockPortalNillax extends BlockPortal { public BlockPortalNillax() { super(); this.setStepSound(soundTypeGlass); } @Override public int getLightValue(IBlockAccess world, BlockPos pos) { return 14; } @Override public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) { if (entityIn.ridingEntity == null && entityIn.riddenByEntity == null) { if (entityIn.timeUntilPortal > 0) { entityIn.timeUntilPortal = entityIn.getPortalCooldown(); } else if (entityIn.dimension != ZeroQuest.NillaxID) { entityIn.timeUntilPortal = entityIn.getPortalCooldown(); MinecraftServer.getServer().getConfigurationManager().transferEntityToWorld(entityIn, ZeroQuest.NillaxID, DimensionManager.getWorld(0), DimensionManager.getWorld(ZeroQuest.NillaxID)); } else { entityIn.timeUntilPortal = entityIn.getPortalCooldown(); MinecraftServer.getServer().getConfigurationManager().transferEntityToWorld(entityIn, 0, DimensionManager.getWorld(ZeroQuest.NillaxID), DimensionManager.getWorld(0)); } } } @Override public boolean func_176548_d(World worldIn, BlockPos p_176548_2_) { BlockPortalNillax.Size size = new BlockPortalNillax.Size(worldIn, p_176548_2_, EnumFacing.Axis.X); if (size.func_150860_b() && size.field_150864_e == 0) { size.func_150859_c(); return true; } else { BlockPortalNillax.Size size1 = new BlockPortalNillax.Size(worldIn, p_176548_2_, EnumFacing.Axis.Z); if (size1.func_150860_b() && size1.field_150864_e == 0) { size1.func_150859_c(); return true; } else { return false; } } } @Override public void randomDisplayTick(World worldIn, BlockPos pos, IBlockState state, Random rand) { int par2 = pos.getX(); int par3 = pos.getY(); int par4 = pos.getZ(); if (rand.nextInt(100) == 0) { worldIn.playSound(pos.getX() + 0.5D, pos.getY() + 0.5D, pos.getZ() + 0.5D, "portal.portal", 0.5F, rand.nextFloat() * 0.4F + 0.8F, false); } for (int i = 0; i < 4; ++i) { double d0 = pos.getX() + rand.nextFloat(); double d1 = pos.getY() + rand.nextFloat(); double d2 = pos.getZ() + rand.nextFloat(); double d3 = (rand.nextFloat() - 0.5D) * 0.5D; double d4 = (rand.nextFloat() - 0.5D) * 0.5D; double d5 = (rand.nextFloat() - 0.5D) * 0.5D; int j = rand.nextInt(2) * 2 - 1; if (worldIn.getBlockState(pos.west()).getBlock() != this && worldIn.getBlockState(pos.east()).getBlock() != this) { d0 = pos.getX() + 0.5D + 0.25D * j; d3 = rand.nextFloat() * 2.0F * j; } else { d2 = pos.getZ() + 0.5D + 0.25D * j; d5 = rand.nextFloat() * 2.0F * j; } worldIn.spawnParticle(EnumParticleTypes.PORTAL, d0, d1, d2, d3, d4, d5, new int[0]); } } @Override public void onNeighborBlockChange(World worldIn, BlockPos pos, IBlockState state, Block neighborBlock) { EnumFacing.Axis axis = (EnumFacing.Axis) state.getValue(AXIS); BlockPortalNillax.Size size; if (axis == EnumFacing.Axis.X) { size = new BlockPortalNillax.Size(worldIn, pos, EnumFacing.Axis.X); if (!size.func_150860_b() || size.field_150864_e < size.field_150868_h * size.field_150862_g) { worldIn.setBlockState(pos, Blocks.air.getDefaultState()); } } else if (axis == EnumFacing.Axis.Z) { size = new BlockPortalNillax.Size(worldIn, pos, EnumFacing.Axis.Z); if (!size.func_150860_b() || size.field_150864_e < size.field_150868_h * size.field_150862_g) { worldIn.setBlockState(pos, Blocks.air.getDefaultState()); } } } public static class Size { private final World world; private final EnumFacing.Axis axis; private final EnumFacing field_150866_c; private final EnumFacing field_150863_d; private int field_150864_e = 0; private BlockPos field_150861_f; private int field_150862_g; private int field_150868_h; private static final String __OBFID = "CL_00000285"; public Size(World worldIn, BlockPos p_i45694_2_, EnumFacing.Axis p_i45694_3_) { this.world = worldIn; this.axis = p_i45694_3_; if (p_i45694_3_ == EnumFacing.Axis.X) { this.field_150863_d = EnumFacing.EAST; this.field_150866_c = EnumFacing.WEST; } else { this.field_150863_d = EnumFacing.NORTH; this.field_150866_c = EnumFacing.SOUTH; } for (BlockPos blockpos1 = p_i45694_2_; p_i45694_2_.getY() > blockpos1.getY() - 21 && p_i45694_2_.getY() > 0 && this.func_150857_a(worldIn.getBlockState(p_i45694_2_.down()).getBlock()); p_i45694_2_ = p_i45694_2_.down()) { ; } int i = this.func_180120_a(p_i45694_2_, this.field_150863_d) - 1; if (i >= 0) { this.field_150861_f = p_i45694_2_.offset(this.field_150863_d, i); this.field_150868_h = this.func_180120_a(this.field_150861_f, this.field_150866_c); if (this.field_150868_h < 2 || this.field_150868_h > 21) { this.field_150861_f = null; this.field_150868_h = 0; } } if (this.field_150861_f != null) { this.field_150862_g = this.func_150858_a(); } } protected int func_180120_a(BlockPos p_180120_1_, EnumFacing p_180120_2_) { int i; for (i = 0; i < 22; ++i) { BlockPos blockpos1 = p_180120_1_.offset(p_180120_2_, i); if (!this.func_150857_a(this.world.getBlockState(blockpos1).getBlock()) || this.world.getBlockState(blockpos1.down()).getBlock() != ModBlocks.nillaxStone) { break; } } Block block = this.world.getBlockState(p_180120_1_.offset(p_180120_2_, i)).getBlock(); return block == ModBlocks.nillaxStone ? i : 0; } protected int func_150858_a() { int i; label56: for (this.field_150862_g = 0; this.field_150862_g < 21; ++this.field_150862_g) { for (i = 0; i < this.field_150868_h; ++i) { BlockPos blockpos = this.field_150861_f.offset(this.field_150866_c, i).up(this.field_150862_g); Block block = this.world.getBlockState(blockpos).getBlock(); if (!this.func_150857_a(block)) { break label56; } if (block == ModBlocks.portalNillax) { ++this.field_150864_e; } if (i == 0) { block = this.world.getBlockState(blockpos.offset(this.field_150863_d)).getBlock(); if (block != ModBlocks.nillaxStone) { break label56; } } else if (i == this.field_150868_h - 1) { block = this.world.getBlockState(blockpos.offset(this.field_150866_c)).getBlock(); if (block != ModBlocks.nillaxStone) { break label56; } } } } for (i = 0; i < this.field_150868_h; ++i) { if (this.world.getBlockState(this.field_150861_f.offset(this.field_150866_c, i).up(this.field_150862_g)).getBlock() != ModBlocks.nillaxStone) { this.field_150862_g = 0; break; } } if (this.field_150862_g <= 21 && this.field_150862_g >= 3) { return this.field_150862_g; } else { this.field_150861_f = null; this.field_150868_h = 0; this.field_150862_g = 0; return 0; } } protected boolean func_150857_a(Block p_150857_1_) { return p_150857_1_.getMaterial() == Material.air || p_150857_1_ == ModBlocks.nileFire || p_150857_1_ == ModBlocks.portalNillax; } public boolean func_150860_b() { return this.field_150861_f != null && this.field_150868_h >= 2 && this.field_150868_h <= 21 && this.field_150862_g >= 3 && this.field_150862_g <= 21; } public void func_150859_c() { for (int i = 0; i < this.field_150868_h; ++i) { BlockPos blockpos = this.field_150861_f.offset(this.field_150866_c, i); for (int j = 0; j < this.field_150862_g; ++j) { this.world.setBlockState(blockpos.up(j), ModBlocks.portalNillax.getDefaultState().withProperty(BlockPortalNillax.AXIS, this.axis), 2); } } } } }
-
Welp, that didn't work either, I didn't even step inside the portal, this error returned when I just activated the portal [11:20:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:332) [11:20:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:976) [11:20:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:419) [11:20:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:691) [11:20:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:332) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:976) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:419) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:691) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:332) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:976) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:419) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:691) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:332) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:976) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:419) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:691) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:332) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:976) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:419) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:332) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:976) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:419) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:332) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:976) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:419) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:332) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:976) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:419) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:332) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:976) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:419) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:332) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:976) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:419) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:05] [server thread/WARN]: Can't keep up! Did the system time change, or is the server overloaded? Running 2051ms behind, skipping 41 tick(s) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.unloadQueuedChunks(ChunkProviderServer.java:380) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.tick(WorldServer.java:210) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:763) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:669) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.unloadQueuedChunks(ChunkProviderServer.java:380) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.tick(WorldServer.java:210) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:763) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:669) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.unloadQueuedChunks(ChunkProviderServer.java:380) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.tick(WorldServer.java:210) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:763) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:669) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.unloadQueuedChunks(ChunkProviderServer.java:380) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.tick(WorldServer.java:210) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:763) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:669) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.unloadQueuedChunks(ChunkProviderServer.java:380) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.tick(WorldServer.java:210) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:763) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:669) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.unloadQueuedChunks(ChunkProviderServer.java:380) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.tick(WorldServer.java:210) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:763) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:669) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.unloadQueuedChunks(ChunkProviderServer.java:380) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.tick(WorldServer.java:210) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:763) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:669) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.unloadQueuedChunks(ChunkProviderServer.java:380) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.tick(WorldServer.java:210) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:763) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:669) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [11:20:05] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:20:06] [server thread/ERROR]: Encountered an unexpected exception net.minecraft.util.ReportedException: Exception ticking world at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:769) ~[MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:669) ~[MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) ~[integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [MinecraftServer.class:?] at java.lang.Thread.run(Unknown Source) [?:1.8.0_25] Caused by: java.lang.IllegalStateException: TickNextTick list out of synch at net.minecraft.world.WorldServer.tickUpdates(WorldServer.java:613) ~[WorldServer.class:?] at net.minecraft.world.WorldServer.tick(WorldServer.java:226) ~[WorldServer.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:763) ~[MinecraftServer.class:?] ... 4 more [11:20:06] [server thread/ERROR]: This crash report has been saved to: C:\Users\NovaPC\Desktop\ModStuff\Code1.8\eclipse\.\crash-reports\crash-2015-04-09_11.20.06-server.txt [11:20:06] [server thread/INFO]: Stopping server [11:20:06] [server thread/INFO]: Saving players [11:20:06] [server thread/INFO]: Saving worlds [11:20:06] [server thread/INFO]: Saving chunks for level 'New World'/Overworld [11:20:06] [server thread/INFO]: Saving chunks for level 'New World'/Nether [11:20:06] [server thread/INFO]: Saving chunks for level 'New World'/The End [11:20:06] [server thread/INFO]: Saving chunks for level 'New World'/Darkax [11:20:06] [server thread/INFO]: Saving chunks for level 'New World'/Nillax [11:20:10] [server thread/INFO] [FML]: Unloading dimension 0 [11:20:10] [server thread/INFO] [FML]: Unloading dimension -1 [11:20:10] [server thread/INFO] [FML]: Unloading dimension 1 [11:20:10] [server thread/INFO] [FML]: Unloading dimension 3 [11:20:10] [server thread/INFO] [FML]: Unloading dimension 2 [11:20:10] [server thread/INFO] [FML]: Applying holder lookups [11:20:10] [server thread/INFO] [FML]: Holder lookups applied [11:20:10] [server thread/INFO] [FML]: The state engine was in incorrect state SERVER_STOPPING and forced into state SERVER_STOPPED. Errors may have been discarded.
-
I get this massive error log and the client crashes [11:11:01] [server thread/ERROR]: Encountered an unexpected exception net.minecraft.util.ReportedException: Exception ticking world at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:769) ~[MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:669) ~[MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) ~[integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) [MinecraftServer.class:?] at java.lang.Thread.run(Unknown Source) [?:1.8.0_25] Caused by: java.lang.IllegalStateException: TickNextTick list out of synch at net.minecraft.world.WorldServer.tickUpdates(WorldServer.java:613) ~[WorldServer.class:?] at net.minecraft.world.WorldServer.tick(WorldServer.java:226) ~[WorldServer.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:763) ~[MinecraftServer.class:?] ... 4 more [11:11:01] [server thread/ERROR]: This crash report has been saved to: C:\Users\NovaPC\Desktop\ModStuff\Code1.8\eclipse\.\crash-reports\crash-2015-04-09_11.11.01-server.txt [11:11:01] [server thread/INFO]: Stopping server [11:11:01] [server thread/INFO]: Saving players [11:11:02] [server thread/INFO]: Player473 lost connection: TextComponent{text='Server closed', siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}} [11:11:02] [server thread/INFO]: Player473 left the game [11:11:02] [server thread/INFO]: Stopping singleplayer server as player logged out [11:11:02] [server thread/INFO]: Saving worlds [11:11:02] [server thread/INFO]: Saving chunks for level 'New World'/Overworld [11:11:02] [server thread/INFO]: Saving chunks for level 'New World'/Nether [11:11:02] [server thread/INFO]: Saving chunks for level 'New World'/The End [11:11:02] [server thread/INFO]: Saving chunks for level 'New World'/Darkax [11:11:02] [server thread/INFO]: Saving chunks for level 'New World'/Nillax [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:332) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:976) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:419) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:454) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:356) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:593) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:332) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:976) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:419) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:454) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:356) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:593) [11:11:03] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:332) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:976) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:419) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:454) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:356) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:593) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.util.ConcurrentModificationException [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$PrivateEntryIterator.nextEntry(Unknown Source) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.util.TreeMap$KeyIterator.next(Unknown Source) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.func_175712_a(WorldServer.java:718) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.getPendingBlockUpdates(WorldServer.java:691) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:422) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:193) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunkData(ChunkProviderServer.java:266) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:332) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:976) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:419) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:454) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.stopServer(IntegratedServer.java:356) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:593) [11:11:04] [server thread/INFO] [sTDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.Thread.run(Unknown Source) [11:11:10] [server thread/INFO] [FML]: Unloading dimension 0 [11:11:10] [server thread/INFO] [FML]: Unloading dimension -1 [11:11:10] [server thread/INFO] [FML]: Unloading dimension 1 [11:11:10] [server thread/INFO] [FML]: Unloading dimension 3 [11:11:10] [server thread/INFO] [FML]: Unloading dimension 2 [11:11:10] [server thread/INFO] [FML]: Applying holder lookups [11:11:10] [server thread/INFO] [FML]: Holder lookups applied [11:11:10] [server thread/INFO] [FML]: The state engine was in incorrect state SERVER_STOPPING and forced into state SERVER_STOPPED. Errors may have been discarded. [11:11:11] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:660]: ---- Minecraft Crash Report ---- // There are four lights! Time: 4/9/15 11:11 AM Description: Exception ticking world java.lang.IllegalStateException: TickNextTick list out of synch at net.minecraft.world.WorldServer.tickUpdates(WorldServer.java:613) at net.minecraft.world.WorldServer.tick(WorldServer.java:226) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:763) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:669) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) at java.lang.Thread.run(Unknown Source) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.minecraft.world.WorldServer.tickUpdates(WorldServer.java:613) at net.minecraft.world.WorldServer.tick(WorldServer.java:226) -- Affected level -- Details: Level name: New World All players: 0 total; [] Chunk stats: ServerChunkCache: 159 Drop: 0 Level seed: 1626360659108744015 Level generator: ID 00 - default, ver 1. Features enabled: false Level generator options: Level spawn location: 0.00,0.00,0.00 - World: (0,0,0), Chunk: (at 0,0,0 in 0,0; contains blocks 0,0,0 to 15,255,15), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Level time: 0 game time, 0 day time Level dimension: 0 Level storage version: 0x00000 - Unknown? Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) Level game mode: ~~ERROR~~ NullPointerException: null Stacktrace: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:763) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:669) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:171) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:540) at java.lang.Thread.run(Unknown Source)
-
So something like this? public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) { if (entityIn.ridingEntity == null && entityIn.riddenByEntity == null) { if (entityIn.timeUntilPortal > 0) { entityIn.timeUntilPortal = 10; } else if (entityIn.dimension != ZeroQuest.NillaxID) { entityIn.timeUntilPortal = 10; MinecraftServer.getServer().getConfigurationManager().transferEntityToWorld(entityIn, ZeroQuest.NillaxID, DimensionManager.getWorld(0), DimensionManager.getWorld(ZeroQuest.NillaxID), new TeleporterNillax(DimensionManager.getWorld(ZeroQuest.NillaxID))); } else { entityIn.timeUntilPortal = 10; MinecraftServer.getServer().getConfigurationManager().transferEntityToWorld(entityIn, 0, DimensionManager.getWorld(ZeroQuest.NillaxID), DimensionManager.getWorld(0), new TeleporterNillax(DimensionManager.getWorld(0))); } } }
-
Oh wait, I got the fire disappearing but the portal block isn't being spawned. Here is my code Fire package common.zeroquest.block.portal; import java.util.Map; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.BlockFire; import net.minecraft.block.BlockTNT; import net.minecraft.block.material.MapColor; import net.minecraft.block.properties.IProperty; import net.minecraft.block.properties.PropertyBool; import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.state.BlockState; import net.minecraft.block.state.IBlockState; import net.minecraft.init.Blocks; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.BlockPos; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumParticleTypes; import net.minecraft.util.EnumWorldBlockLayer; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import com.google.common.collect.Maps; import common.zeroquest.ModBlocks; public class BlockNileFire extends BlockFire { public static final PropertyInteger AGE = PropertyInteger.create("age", 0, 15); public static final PropertyBool FLIP = PropertyBool.create("flip"); public static final PropertyBool ALT = PropertyBool.create("alt"); public static final PropertyBool NORTH = PropertyBool.create("north"); public static final PropertyBool EAST = PropertyBool.create("east"); public static final PropertyBool SOUTH = PropertyBool.create("south"); public static final PropertyBool WEST = PropertyBool.create("west"); public static final PropertyInteger UPPER = PropertyInteger.create("upper", 0, 2); private final Map encouragements = Maps.newIdentityHashMap(); private final Map flammabilities = Maps.newIdentityHashMap(); private static final String __OBFID = "CL_00000245"; /** * Get the actual Block state of this Block at the given position. This * applies properties not visible in the metadata, such as fence * connections. */ @Override public IBlockState getActualState(IBlockState state, IBlockAccess worldIn, BlockPos pos) { int i = pos.getX(); int j = pos.getY(); int k = pos.getZ(); if (!World.doesBlockHaveSolidTopSurface(worldIn, pos.down()) && !((BlockNileFire) ModBlocks.nileFire).canCatchFire(worldIn, pos.down(), EnumFacing.UP)) { boolean flag = (i + j + k & 1) == 1; boolean flag1 = (i / 2 + j / 2 + k / 2 & 1) == 1; int l = 0; if (this.canCatchFire(worldIn, pos.up(), EnumFacing.DOWN)) { l = flag ? 1 : 2; } return state.withProperty(NORTH, Boolean.valueOf(this.canCatchFire(worldIn, pos.north(), EnumFacing.SOUTH))).withProperty(EAST, Boolean.valueOf(this.canCatchFire(worldIn, pos.east(), EnumFacing.EAST))).withProperty(SOUTH, Boolean.valueOf(this.canCatchFire(worldIn, pos.south(), EnumFacing.NORTH))).withProperty(WEST, Boolean.valueOf(this.canCatchFire(worldIn, pos.west(), EnumFacing.EAST))).withProperty(UPPER, Integer.valueOf(l)).withProperty(FLIP, Boolean.valueOf(flag1)).withProperty(ALT, Boolean.valueOf(flag)); } else { return this.getDefaultState(); } } public BlockNileFire() { super(); this.setDefaultState(this.blockState.getBaseState().withProperty(AGE, Integer.valueOf(0)).withProperty(FLIP, Boolean.valueOf(false)).withProperty(ALT, Boolean.valueOf(false)).withProperty(NORTH, Boolean.valueOf(false)).withProperty(EAST, Boolean.valueOf(false)).withProperty(SOUTH, Boolean.valueOf(false)).withProperty(WEST, Boolean.valueOf(false)).withProperty(UPPER, Integer.valueOf(0))); this.setTickRandomly(true); } public static void init() { ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.planks, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.double_wooden_slab, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.wooden_slab, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.oak_fence_gate, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.spruce_fence_gate, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.birch_fence_gate, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.jungle_fence_gate, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.dark_oak_fence_gate, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.acacia_fence_gate, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.oak_fence, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.spruce_fence, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.birch_fence, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.jungle_fence, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.dark_oak_fence, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.acacia_fence, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.oak_stairs, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.birch_stairs, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.spruce_stairs, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.jungle_stairs, 5, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.log, 5, 5); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.log2, 5, 5); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.leaves, 30, 60); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.leaves2, 30, 60); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.bookshelf, 30, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.tnt, 15, 100); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.tallgrass, 60, 100); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.double_plant, 60, 100); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.yellow_flower, 60, 100); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.red_flower, 60, 100); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.deadbush, 60, 100); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.wool, 30, 60); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.vine, 15, 100); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.coal_block, 5, 5); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.hay_block, 60, 20); ((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.carpet, 60, 20); } @Override public void setFireInfo(Block blockIn, int encouragement, int flammability) { if (blockIn == Blocks.air) throw new IllegalArgumentException("Tried to set air on fire... This is bad."); this.encouragements.put(blockIn, Integer.valueOf(encouragement)); this.flammabilities.put(blockIn, Integer.valueOf(flammability)); } @Override public AxisAlignedBB getCollisionBoundingBox(World worldIn, BlockPos pos, IBlockState state) { return null; } @Override public boolean isOpaqueCube() { return false; } @Override public boolean isFullCube() { return false; } /** * Returns the quantity of items to drop on block destruction. */ @Override public int quantityDropped(Random random) { return 0; } /** * How many world ticks before ticking */ @Override public int tickRate(World worldIn) { return 30; } @Override public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand) { if (worldIn.getGameRules().getGameRuleBooleanValue("doFireTick")) { if (!this.canPlaceBlockAt(worldIn, pos)) { worldIn.setBlockToAir(pos); } Block block = worldIn.getBlockState(pos.down()).getBlock(); boolean flag = block.isFireSource(worldIn, pos.down(), EnumFacing.UP); if (!flag && worldIn.isRaining() && this.canDie(worldIn, pos)) { worldIn.setBlockToAir(pos); } else { int i = ((Integer) state.getValue(AGE)).intValue(); if (i < 15) { state = state.withProperty(AGE, Integer.valueOf(i + rand.nextInt(3) / 2)); worldIn.setBlockState(pos, state, 4); } worldIn.scheduleUpdate(pos, this, this.tickRate(worldIn) + rand.nextInt(10)); if (!flag) { if (!this.canNeighborCatchFire(worldIn, pos)) { if (!World.doesBlockHaveSolidTopSurface(worldIn, pos.down()) || i > 3) { worldIn.setBlockToAir(pos); } return; } if (!this.canCatchFire(worldIn, pos.down(), EnumFacing.UP) && i == 15 && rand.nextInt(4) == 0) { worldIn.setBlockToAir(pos); return; } } boolean flag1 = worldIn.isBlockinHighHumidity(pos); byte b0 = 0; if (flag1) { b0 = -50; } this.tryCatchFire(worldIn, pos.east(), 300 + b0, rand, i, EnumFacing.WEST); this.tryCatchFire(worldIn, pos.west(), 300 + b0, rand, i, EnumFacing.EAST); this.tryCatchFire(worldIn, pos.down(), 250 + b0, rand, i, EnumFacing.UP); this.tryCatchFire(worldIn, pos.up(), 250 + b0, rand, i, EnumFacing.DOWN); this.tryCatchFire(worldIn, pos.north(), 300 + b0, rand, i, EnumFacing.SOUTH); this.tryCatchFire(worldIn, pos.south(), 300 + b0, rand, i, EnumFacing.NORTH); for (int j = -1; j <= 1; ++j) { for (int k = -1; k <= 1; ++k) { for (int l = -1; l <= 4; ++l) { if (j != 0 || l != 0 || k != 0) { int i1 = 100; if (l > 1) { i1 += (l - 1) * 100; } BlockPos blockpos1 = pos.add(j, l, k); int j1 = this.getNeighborEncouragement(worldIn, blockpos1); if (j1 > 0) { int k1 = (j1 + 40 + worldIn.getDifficulty().getDifficultyId() * 7) / (i + 30); if (flag1) { k1 /= 2; } if (k1 > 0 && rand.nextInt(i1) <= k1 && (!worldIn.isRaining() || !this.canDie(worldIn, blockpos1))) { int l1 = i + rand.nextInt(5) / 4; if (l1 > 15) { l1 = 15; } worldIn.setBlockState(blockpos1, state.withProperty(AGE, Integer.valueOf(l1)), 3); } } } } } } } } } @Override protected boolean canDie(World worldIn, BlockPos pos) { return worldIn.canLightningStrike(pos) || worldIn.canLightningStrike(pos.west()) || worldIn.canLightningStrike(pos.east()) || worldIn.canLightningStrike(pos.north()) || worldIn.canLightningStrike(pos.south()); } @Override public boolean requiresUpdates() { return false; } @Override @Deprecated // Use Block.getFlammability public int getFlammability(Block blockIn) { Integer integer = (Integer) this.flammabilities.get(blockIn); return integer == null ? 0 : integer.intValue(); } @Override @Deprecated // Use Block.getFlammability public int getEncouragement(Block blockIn) { Integer integer = (Integer) this.encouragements.get(blockIn); return integer == null ? 0 : integer.intValue(); } @Deprecated // Use tryCatchFire with face below private void catchOnFire(World worldIn, BlockPos pos, int chance, Random random, int age) { this.tryCatchFire(worldIn, pos, chance, random, age, EnumFacing.UP); } private void tryCatchFire(World worldIn, BlockPos pos, int chance, Random random, int age, EnumFacing face) { int k = worldIn.getBlockState(pos).getBlock().getFlammability(worldIn, pos, face); if (random.nextInt(chance) < k) { IBlockState iblockstate = worldIn.getBlockState(pos); if (random.nextInt(age + 10) < 5 && !worldIn.canLightningStrike(pos)) { int l = age + random.nextInt(5) / 4; if (l > 15) { l = 15; } worldIn.setBlockState(pos, this.getDefaultState().withProperty(AGE, Integer.valueOf(l)), 3); } else { worldIn.setBlockToAir(pos); } if (iblockstate.getBlock() == Blocks.tnt) { Blocks.tnt.onBlockDestroyedByPlayer(worldIn, pos, iblockstate.withProperty(BlockTNT.EXPLODE, Boolean.valueOf(true))); } } } private boolean canNeighborCatchFire(World worldIn, BlockPos pos) { EnumFacing[] aenumfacing = EnumFacing.values(); int i = aenumfacing.length; for (int j = 0; j < i; ++j) { EnumFacing enumfacing = aenumfacing[j]; if (this.canCatchFire(worldIn, pos.offset(enumfacing), enumfacing.getOpposite())) { return true; } } return false; } private int getNeighborEncouragement(World worldIn, BlockPos pos) { if (!worldIn.isAirBlock(pos)) { return 0; } else { int i = 0; EnumFacing[] aenumfacing = EnumFacing.values(); int j = aenumfacing.length; for (int k = 0; k < j; ++k) { EnumFacing enumfacing = aenumfacing[k]; i = Math.max(worldIn.getBlockState(pos.offset(enumfacing)).getBlock().getFlammability(worldIn, pos.offset(enumfacing), enumfacing.getOpposite()), i); } return i; } } /** * Returns if this block is collidable (only used by Fire). Args: x, y, z */ @Override public boolean isCollidable() { return false; } /** * Checks if the block can be caught on fire */ @Override @Deprecated // Use canCatchFire with face sensitive version below public boolean canCatchFire(IBlockAccess worldIn, BlockPos pos) { return canCatchFire(worldIn, pos, EnumFacing.UP); } @Override public boolean canPlaceBlockAt(World worldIn, BlockPos pos) { return World.doesBlockHaveSolidTopSurface(worldIn, pos.down()) || this.canNeighborCatchFire(worldIn, pos); } /** * Called when a neighboring block changes. */ @Override public void onNeighborBlockChange(World worldIn, BlockPos pos, IBlockState state, Block neighborBlock) { if (!World.doesBlockHaveSolidTopSurface(worldIn, pos.down()) && !this.canNeighborCatchFire(worldIn, pos)) { worldIn.setBlockToAir(pos); } } @Override public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state) { if (worldIn.provider.getDimensionId() > 0 || !((BlockPortalNillax) ModBlocks.portalNillax).func_176548_d(worldIn, pos)) { if (!World.doesBlockHaveSolidTopSurface(worldIn, pos.down()) && !this.canNeighborCatchFire(worldIn, pos)) { worldIn.setBlockToAir(pos); } else { worldIn.scheduleUpdate(pos, this, this.tickRate(worldIn) + worldIn.rand.nextInt(10)); } } } @Override @SideOnly(Side.CLIENT) public void randomDisplayTick(World worldIn, BlockPos pos, IBlockState state, Random rand) { if (rand.nextInt(24) == 0) { worldIn.playSound(pos.getX() + 0.5F, pos.getY() + 0.5F, pos.getZ() + 0.5F, "fire.fire", 1.0F + rand.nextFloat(), rand.nextFloat() * 0.7F + 0.3F, false); } int i; double d0; double d1; double d2; if (!World.doesBlockHaveSolidTopSurface(worldIn, pos.down()) && !Blocks.fire.canCatchFire(worldIn, pos.down(), EnumFacing.UP)) { if (((BlockNileFire) ModBlocks.nileFire).canCatchFire(worldIn, pos.west(), EnumFacing.EAST)) { for (i = 0; i < 2; ++i) { d0 = pos.getX() + rand.nextDouble() * 0.10000000149011612D; d1 = pos.getY() + rand.nextDouble(); d2 = pos.getZ() + rand.nextDouble(); worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]); } } if (((BlockNileFire) ModBlocks.nileFire).canCatchFire(worldIn, pos.east(), EnumFacing.WEST)) { for (i = 0; i < 2; ++i) { d0 = pos.getX() + 1 - rand.nextDouble() * 0.10000000149011612D; d1 = pos.getY() + rand.nextDouble(); d2 = pos.getZ() + rand.nextDouble(); worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]); } } if (((BlockNileFire) ModBlocks.nileFire).canCatchFire(worldIn, pos.north(), EnumFacing.SOUTH)) { for (i = 0; i < 2; ++i) { d0 = pos.getX() + rand.nextDouble(); d1 = pos.getY() + rand.nextDouble(); d2 = pos.getZ() + rand.nextDouble() * 0.10000000149011612D; worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]); } } if (((BlockNileFire) ModBlocks.nileFire).canCatchFire(worldIn, pos.south(), EnumFacing.NORTH)) { for (i = 0; i < 2; ++i) { d0 = pos.getX() + rand.nextDouble(); d1 = pos.getY() + rand.nextDouble(); d2 = pos.getZ() + 1 - rand.nextDouble() * 0.10000000149011612D; worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]); } } if (((BlockNileFire) ModBlocks.nileFire).canCatchFire(worldIn, pos.up(), EnumFacing.DOWN)) { for (i = 0; i < 2; ++i) { d0 = pos.getX() + rand.nextDouble(); d1 = pos.getY() + 1 - rand.nextDouble() * 0.10000000149011612D; d2 = pos.getZ() + rand.nextDouble(); worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]); } } } else { for (i = 0; i < 3; ++i) { d0 = pos.getX() + rand.nextDouble(); d1 = pos.getY() + rand.nextDouble() * 0.5D + 0.5D; d2 = pos.getZ() + rand.nextDouble(); worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]); } } } /** * Get the MapColor for this Block and the given BlockState */ @Override public MapColor getMapColor(IBlockState state) { return MapColor.tntColor; } @Override @SideOnly(Side.CLIENT) public EnumWorldBlockLayer getBlockLayer() { return EnumWorldBlockLayer.CUTOUT; } /** * Convert the given metadata into a BlockState for this Block */ @Override public IBlockState getStateFromMeta(int meta) { return this.getDefaultState().withProperty(AGE, Integer.valueOf(meta)); } /** * Convert the BlockState into the correct metadata value */ @Override public int getMetaFromState(IBlockState state) { return ((Integer) state.getValue(AGE)).intValue(); } @Override protected BlockState createBlockState() { return new BlockState(this, new IProperty[] { AGE, NORTH, EAST, SOUTH, WEST, UPPER, FLIP, ALT }); } /* ================================= Forge Start * ====================================== */ /** * Side sensitive version that calls the block function. * * @param world * The current world * @param pos * Block position * @param face * The side the fire is coming from * @return True if the face can catch fire. */ @Override public boolean canCatchFire(IBlockAccess world, BlockPos pos, EnumFacing face) { return world.getBlockState(pos).getBlock().isFlammable(world, pos, face); } /* ================================= Forge Start * ====================================== */ } Teleporter package common.zeroquest.block.portal; import java.util.Iterator; import java.util.List; import java.util.Random; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; import net.minecraft.init.Blocks; import net.minecraft.util.BlockPos; import net.minecraft.util.EnumFacing; import net.minecraft.util.LongHashMap; import net.minecraft.util.MathHelper; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.Teleporter; import net.minecraft.world.WorldServer; import com.google.common.collect.Lists; import common.zeroquest.ModBlocks; public class TeleporterNillax extends Teleporter { private final WorldServer worldServerInstance; /** A private Random() function in Teleporter */ private final Random random; /** Stores successful portal placement locations for rapid lookup. */ private final LongHashMap destinationCoordinateCache = new LongHashMap(); /** * A list of valid keys for the destinationCoordainteCache. These are based * on the X & Z of the players initial location. */ private final List destinationCoordinateKeys = Lists.newArrayList(); private static final String __OBFID = "CL_00000153"; public TeleporterNillax(WorldServer worldIn) { super(worldIn); this.worldServerInstance = worldIn; this.random = new Random(worldIn.getSeed()); } @Override public void placeInPortal(Entity entityIn, float rotationYaw) { if (this.worldServerInstance.provider.getDimensionId() != 1) { if (!this.placeInExistingPortal(entityIn, rotationYaw)) { this.makePortal(entityIn); this.placeInExistingPortal(entityIn, rotationYaw); } } else { int i = MathHelper.floor_double(entityIn.posX); int j = MathHelper.floor_double(entityIn.posY) - 1; int k = MathHelper.floor_double(entityIn.posZ); byte b0 = 1; byte b1 = 0; for (int l = -2; l <= 2; ++l) { for (int i1 = -2; i1 <= 2; ++i1) { for (int j1 = -1; j1 < 3; ++j1) { int k1 = i + i1 * b0 + l * b1; int l1 = j + j1; int i2 = k + i1 * b1 - l * b0; boolean flag = j1 < 0; this.worldServerInstance.setBlockState(new BlockPos(k1, l1, i2), flag ? ModBlocks.nillaxStone.getDefaultState() : Blocks.air.getDefaultState()); } } } entityIn.setLocationAndAngles(i, j, k, entityIn.rotationYaw, 0.0F); entityIn.motionX = entityIn.motionY = entityIn.motionZ = 0.0D; } } @Override public boolean placeInExistingPortal(Entity entityIn, float p_180620_2_) { boolean flag = true; double d0 = -1.0D; int i = MathHelper.floor_double(entityIn.posX); int j = MathHelper.floor_double(entityIn.posZ); boolean flag1 = true; Object object = BlockPos.ORIGIN; long k = ChunkCoordIntPair.chunkXZ2Int(i, j); if (this.destinationCoordinateCache.containsItem(k)) { Teleporter.PortalPosition portalposition = (Teleporter.PortalPosition) this.destinationCoordinateCache.getValueByKey(k); d0 = 0.0D; object = portalposition; portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); flag1 = false; } else { BlockPos blockpos4 = new BlockPos(entityIn); for (int l = -128; l <= 128; ++l) { BlockPos blockpos1; for (int i1 = -128; i1 <= 128; ++i1) { for (BlockPos blockpos = blockpos4.add(l, this.worldServerInstance.getActualHeight() - 1 - blockpos4.getY(), i1); blockpos.getY() >= 0; blockpos = blockpos1) { blockpos1 = blockpos.down(); if (this.worldServerInstance.getBlockState(blockpos).getBlock() == ModBlocks.portalNillax) { while (this.worldServerInstance.getBlockState(blockpos1 = blockpos.down()).getBlock() == ModBlocks.portalNillax) { blockpos = blockpos1; } double d1 = blockpos.distanceSq(blockpos4); if (d0 < 0.0D || d1 < d0) { d0 = d1; object = blockpos; } } } } } } if (d0 >= 0.0D) { if (flag1) { this.destinationCoordinateCache.add(k, new TeleporterNillax.PortalPosition((BlockPos) object, this.worldServerInstance.getTotalWorldTime())); this.destinationCoordinateKeys.add(Long.valueOf(k)); } double d4 = ((BlockPos) object).getX() + 0.5D; double d5 = ((BlockPos) object).getY() + 0.5D; double d6 = ((BlockPos) object).getZ() + 0.5D; EnumFacing enumfacing = null; if (this.worldServerInstance.getBlockState(((BlockPos) object).west()).getBlock() == ModBlocks.portalNillax) { enumfacing = EnumFacing.NORTH; } if (this.worldServerInstance.getBlockState(((BlockPos) object).east()).getBlock() == ModBlocks.portalNillax) { enumfacing = EnumFacing.SOUTH; } if (this.worldServerInstance.getBlockState(((BlockPos) object).north()).getBlock() == ModBlocks.portalNillax) { enumfacing = EnumFacing.EAST; } if (this.worldServerInstance.getBlockState(((BlockPos) object).south()).getBlock() == ModBlocks.portalNillax) { enumfacing = EnumFacing.WEST; } EnumFacing enumfacing1 = EnumFacing.getHorizontal(entityIn.getTeleportDirection()); if (enumfacing != null) { EnumFacing enumfacing2 = enumfacing.rotateYCCW(); BlockPos blockpos2 = ((BlockPos) object).offset(enumfacing); boolean flag2 = this.func_180265_a(blockpos2); boolean flag3 = this.func_180265_a(blockpos2.offset(enumfacing2)); if (flag3 && flag2) { object = ((BlockPos) object).offset(enumfacing2); enumfacing = enumfacing.getOpposite(); enumfacing2 = enumfacing2.getOpposite(); BlockPos blockpos3 = ((BlockPos) object).offset(enumfacing); flag2 = this.func_180265_a(blockpos3); flag3 = this.func_180265_a(blockpos3.offset(enumfacing2)); } float f6 = 0.5F; float f1 = 0.5F; if (!flag3 && flag2) { f6 = 1.0F; } else if (flag3 && !flag2) { f6 = 0.0F; } else if (flag3) { f1 = 0.0F; } d4 = ((BlockPos) object).getX() + 0.5D; d5 = ((BlockPos) object).getY() + 0.5D; d6 = ((BlockPos) object).getZ() + 0.5D; d4 += enumfacing2.getFrontOffsetX() * f6 + enumfacing.getFrontOffsetX() * f1; d6 += enumfacing2.getFrontOffsetZ() * f6 + enumfacing.getFrontOffsetZ() * f1; float f2 = 0.0F; float f3 = 0.0F; float f4 = 0.0F; float f5 = 0.0F; if (enumfacing == enumfacing1) { f2 = 1.0F; f3 = 1.0F; } else if (enumfacing == enumfacing1.getOpposite()) { f2 = -1.0F; f3 = -1.0F; } else if (enumfacing == enumfacing1.rotateY()) { f4 = 1.0F; f5 = -1.0F; } else { f4 = -1.0F; f5 = 1.0F; } double d2 = entityIn.motionX; double d3 = entityIn.motionZ; entityIn.motionX = d2 * f2 + d3 * f5; entityIn.motionZ = d2 * f4 + d3 * f3; entityIn.rotationYaw = p_180620_2_ - enumfacing1.getHorizontalIndex() * 90 + enumfacing.getHorizontalIndex() * 90; } else { entityIn.motionX = entityIn.motionY = entityIn.motionZ = 0.0D; } entityIn.setLocationAndAngles(d4, d5, d6, entityIn.rotationYaw, entityIn.rotationPitch); return true; } else { return false; } } private boolean func_180265_a(BlockPos p_180265_1_) { return !this.worldServerInstance.isAirBlock(p_180265_1_) || !this.worldServerInstance.isAirBlock(p_180265_1_.up()); } @Override public boolean makePortal(Entity p_85188_1_) { byte b0 = 16; double d0 = -1.0D; int i = MathHelper.floor_double(p_85188_1_.posX); int j = MathHelper.floor_double(p_85188_1_.posY); int k = MathHelper.floor_double(p_85188_1_.posZ); int l = i; int i1 = j; int j1 = k; int k1 = 0; int l1 = this.random.nextInt(4); int i2; double d1; int k2; double d2; int i3; int j3; int k3; int l3; int i4; int j4; int k4; int l4; int i5; double d3; double d4; for (i2 = i - b0; i2 <= i + b0; ++i2) { d1 = i2 + 0.5D - p_85188_1_.posX; for (k2 = k - b0; k2 <= k + b0; ++k2) { d2 = k2 + 0.5D - p_85188_1_.posZ; label271: for (i3 = this.worldServerInstance.getActualHeight() - 1; i3 >= 0; --i3) { if (this.worldServerInstance.isAirBlock(new BlockPos(i2, i3, k2))) { while (i3 > 0 && this.worldServerInstance.isAirBlock(new BlockPos(i2, i3 - 1, k2))) { --i3; } for (j3 = l1; j3 < l1 + 4; ++j3) { k3 = j3 % 2; l3 = 1 - k3; if (j3 % 4 >= 2) { k3 = -k3; l3 = -l3; } for (i4 = 0; i4 < 3; ++i4) { for (j4 = 0; j4 < 4; ++j4) { for (k4 = -1; k4 < 4; ++k4) { l4 = i2 + (j4 - 1) * k3 + i4 * l3; i5 = i3 + k4; int j5 = k2 + (j4 - 1) * l3 - i4 * k3; if (k4 < 0 && !this.worldServerInstance.getBlockState(new BlockPos(l4, i5, j5)).getBlock().getMaterial().isSolid() || k4 >= 0 && !this.worldServerInstance.isAirBlock(new BlockPos(l4, i5, j5))) { continue label271; } } } } d3 = i3 + 0.5D - p_85188_1_.posY; d4 = d1 * d1 + d3 * d3 + d2 * d2; if (d0 < 0.0D || d4 < d0) { d0 = d4; l = i2; i1 = i3; j1 = k2; k1 = j3 % 4; } } } } } } if (d0 < 0.0D) { for (i2 = i - b0; i2 <= i + b0; ++i2) { d1 = i2 + 0.5D - p_85188_1_.posX; for (k2 = k - b0; k2 <= k + b0; ++k2) { d2 = k2 + 0.5D - p_85188_1_.posZ; label219: for (i3 = this.worldServerInstance.getActualHeight() - 1; i3 >= 0; --i3) { if (this.worldServerInstance.isAirBlock(new BlockPos(i2, i3, k2))) { while (i3 > 0 && this.worldServerInstance.isAirBlock(new BlockPos(i2, i3 - 1, k2))) { --i3; } for (j3 = l1; j3 < l1 + 2; ++j3) { k3 = j3 % 2; l3 = 1 - k3; for (i4 = 0; i4 < 4; ++i4) { for (j4 = -1; j4 < 4; ++j4) { k4 = i2 + (i4 - 1) * k3; l4 = i3 + j4; i5 = k2 + (i4 - 1) * l3; if (j4 < 0 && !this.worldServerInstance.getBlockState(new BlockPos(k4, l4, i5)).getBlock().getMaterial().isSolid() || j4 >= 0 && !this.worldServerInstance.isAirBlock(new BlockPos(k4, l4, i5))) { continue label219; } } } d3 = i3 + 0.5D - p_85188_1_.posY; d4 = d1 * d1 + d3 * d3 + d2 * d2; if (d0 < 0.0D || d4 < d0) { d0 = d4; l = i2; i1 = i3; j1 = k2; k1 = j3 % 2; } } } } } } } int k5 = l; int j2 = i1; k2 = j1; int l5 = k1 % 2; int l2 = 1 - l5; if (k1 % 4 >= 2) { l5 = -l5; l2 = -l2; } if (d0 < 0.0D) { i1 = MathHelper.clamp_int(i1, 70, this.worldServerInstance.getActualHeight() - 10); j2 = i1; for (i3 = -1; i3 <= 1; ++i3) { for (j3 = 1; j3 < 3; ++j3) { for (k3 = -1; k3 < 3; ++k3) { l3 = k5 + (j3 - 1) * l5 + i3 * l2; i4 = j2 + k3; j4 = k2 + (j3 - 1) * l2 - i3 * l5; boolean flag = k3 < 0; this.worldServerInstance.setBlockState(new BlockPos(l3, i4, j4), flag ? ModBlocks.nillaxStone.getDefaultState() : Blocks.air.getDefaultState()); } } } } IBlockState iblockstate = ModBlocks.portalNillax.getDefaultState().withProperty(BlockPortalNillax.AXIS, l5 != 0 ? EnumFacing.Axis.X : EnumFacing.Axis.Z); for (j3 = 0; j3 < 4; ++j3) { for (k3 = 0; k3 < 4; ++k3) { for (l3 = -1; l3 < 4; ++l3) { i4 = k5 + (k3 - 1) * l5; j4 = j2 + l3; k4 = k2 + (k3 - 1) * l2; boolean flag1 = k3 == 0 || k3 == 3 || l3 == -1 || l3 == 3; this.worldServerInstance.setBlockState(new BlockPos(i4, j4, k4), flag1 ? ModBlocks.nillaxStone.getDefaultState() : iblockstate, 2); } } for (k3 = 0; k3 < 4; ++k3) { for (l3 = -1; l3 < 4; ++l3) { i4 = k5 + (k3 - 1) * l5; j4 = j2 + l3; k4 = k2 + (k3 - 1) * l2; this.worldServerInstance.notifyNeighborsOfStateChange(new BlockPos(i4, j4, k4), this.worldServerInstance.getBlockState(new BlockPos(i4, j4, k4)).getBlock()); } } } return true; } /** * called periodically to remove out-of-date portal locations from the cache * list. Argument par1 is a WorldServer.getTotalWorldTime() value. */ @Override public void removeStalePortalLocations(long p_85189_1_) { if (p_85189_1_ % 100L == 0L) { Iterator iterator = this.destinationCoordinateKeys.iterator(); long j = p_85189_1_ - 600L; while (iterator.hasNext()) { Long olong = (Long) iterator.next(); Teleporter.PortalPosition portalposition = (Teleporter.PortalPosition) this.destinationCoordinateCache.getValueByKey(olong.longValue()); if (portalposition == null || portalposition.lastUpdateTime < j) { iterator.remove(); this.destinationCoordinateCache.remove(olong.longValue()); } } } } public class PortalPosition extends BlockPos { /** The worldtime at which this PortalPosition was last verified */ public long lastUpdateTime; private static final String __OBFID = "CL_00000154"; public PortalPosition(BlockPos pos, long p_i45747_3_) { super(pos.getX(), pos.getY(), pos.getZ()); this.lastUpdateTime = p_i45747_3_; } } } Portal Block package common.zeroquest.block.portal; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.BlockPortal; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.server.MinecraftServer; import net.minecraft.util.BlockPos; import net.minecraft.util.EnumParticleTypes; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.fml.common.FMLCommonHandler; import common.zeroquest.ModBlocks; import common.zeroquest.ZeroQuest; public class BlockPortalNillax extends BlockPortal { public BlockPortalNillax() { super(); this.setStepSound(soundTypeGlass); } @Override public int getLightValue(IBlockAccess world, BlockPos pos) { return 14; } @Override public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) { if (entityIn.ridingEntity == null && entityIn.riddenByEntity == null && entityIn instanceof EntityPlayerMP) { EntityPlayerMP player = (EntityPlayerMP) entityIn; FMLCommonHandler.instance().getMinecraftServerInstance(); MinecraftServer server = MinecraftServer.getServer(); if (player.timeUntilPortal > 0) { player.timeUntilPortal = 10; } else if (player.dimension != ZeroQuest.NillaxID) { player.timeUntilPortal = 10; player.mcServer.getConfigurationManager().transferPlayerToDimension(player, ZeroQuest.NillaxID, new TeleporterNillax(server.worldServerForDimension(ZeroQuest.NillaxID))); } else { player.timeUntilPortal = 10; player.mcServer.getConfigurationManager().transferPlayerToDimension(player, 0, new TeleporterNillax(server.worldServerForDimension(0))); } } } @Override public boolean func_176548_d(World par1World, BlockPos blockPos) // func_176548_d { byte b0 = 0; byte b1 = 0; int par2 = blockPos.getX(); int par3 = blockPos.getY(); int par4 = blockPos.getZ(); if (par1World.getBlockState(new BlockPos(par2 - 1, par3, par4)).getBlock() == ModBlocks.nillaxStone || par1World.getBlockState(new BlockPos(par2 + 1, par3, par4)).getBlock() == ModBlocks.nillaxStone) { b0 = 1; } if (par1World.getBlockState(new BlockPos(par2, par3, par4 - 1)).getBlock() == ModBlocks.nillaxStone || par1World.getBlockState(new BlockPos(par2, par3, par4 + 1)).getBlock() == ModBlocks.nillaxStone) { b1 = 1; } if (b0 == b1) { return false; } else { if (par1World.isAirBlock(new BlockPos(par2 - b0, par3, par4 - b1))) { par2 -= b0; par4 -= b1; } int l; int i1; for (l = -1; l <= 2; ++l) { for (i1 = -1; i1 <= 3; ++i1) { boolean flag = l == -1 || l == 2 || i1 == -1 || i1 == 3; if (l != -1 && l != 2 || i1 != -1 && i1 != 3) { Block j1 = par1World.getBlockState(new BlockPos(par2 + b0 * l, par3 + i1, par4 + b1 * l)).getBlock(); boolean isAirBlock = par1World.isAirBlock(new BlockPos(par2 + b0 * l, par3 + i1, par4 + b1 * l)); if (flag) { if (j1 != ModBlocks.nillaxStone) { return false; } } else if (!isAirBlock && j1 != ModBlocks.nileFire) { return false; } } } } for (l = 0; l < 2; ++l) { for (i1 = 0; i1 < 3; ++i1) { par1World.setBlockState(new BlockPos(par2 + b0 * l, par3 + i1, par4 + b1 * l), ModBlocks.portalNillax.getDefaultState()); } } return true; } } @Override public void randomDisplayTick(World worldIn, BlockPos pos, IBlockState state, Random rand) { int par2 = pos.getX(); int par3 = pos.getY(); int par4 = pos.getZ(); if (rand.nextInt(100) == 0) { worldIn.playSound(pos.getX() + 0.5D, pos.getY() + 0.5D, pos.getZ() + 0.5D, "portal.portal", 0.5F, rand.nextFloat() * 0.4F + 0.8F, false); } for (int i = 0; i < 4; ++i) { double d0 = pos.getX() + rand.nextFloat(); double d1 = pos.getY() + rand.nextFloat(); double d2 = pos.getZ() + rand.nextFloat(); double d3 = (rand.nextFloat() - 0.5D) * 0.5D; double d4 = (rand.nextFloat() - 0.5D) * 0.5D; double d5 = (rand.nextFloat() - 0.5D) * 0.5D; int j = rand.nextInt(2) * 2 - 1; if (worldIn.getBlockState(pos.west()).getBlock() != this && worldIn.getBlockState(pos.east()).getBlock() != this) { d0 = pos.getX() + 0.5D + 0.25D * j; d3 = rand.nextFloat() * 2.0F * j; } else { d2 = pos.getZ() + 0.5D + 0.25D * j; d5 = rand.nextFloat() * 2.0F * j; } worldIn.spawnParticle(EnumParticleTypes.PORTAL, d0, d1, d2, d3, d4, d5, new int[0]); } } @Override public void onNeighborBlockChange(World par1World, BlockPos blockPos, IBlockState state, Block neighborBlock) { byte b0 = 0; byte b1 = 1; int par2 = blockPos.getX(); int par3 = blockPos.getY(); int par4 = blockPos.getZ(); if (par1World.getBlockState(new BlockPos(par2 - 1, par3, par4)) == this || par1World.getBlockState(new BlockPos(par2 + 1, par3, par4)) == this) { b0 = 1; b1 = 0; } int i1; for (i1 = par3; par1World.getBlockState(new BlockPos(par2, i1 - 1, par4)) == this; --i1) { ; } if (par1World.getBlockState(new BlockPos(par2, i1 - 1, par4)) != ModBlocks.nillaxStone) { par1World.setBlockToAir(new BlockPos(par2, par3, par4)); } else { int j1; for (j1 = 1; j1 < 4 && par1World.getBlockState(new BlockPos(par2, i1 + j1, par4)) == this; ++j1) { ; } if (j1 == 3 && par1World.getBlockState(new BlockPos(par2, i1 + j1, par4)) == ModBlocks.nillaxStone) { boolean flag = par1World.getBlockState(new BlockPos(par2 - 1, par3, par4)) == this || par1World.getBlockState(new BlockPos(par2 + 1, par3, par4)) == this; boolean flag1 = par1World.getBlockState(new BlockPos(par2, par3, par4 - 1)) == this || par1World.getBlockState(new BlockPos(par2, par3, par4 + 1)) == this; if (flag && flag1) { par1World.setBlockToAir(new BlockPos(par2, par3, par4)); } else { if ((par1World.getBlockState(new BlockPos(par2 + b0, par3, par4 + b1)) != ModBlocks.nillaxStone || par1World.getBlockState(new BlockPos(par2 - b0, par3, par4 - b1)) != this) && (par1World.getBlockState(new BlockPos(par2 - b0, par3, par4 - b1)) != ModBlocks.nillaxStone || par1World.getBlockState(new BlockPos(par2 + b0, par3, par4 + b1)) != this)) { par1World.setBlockToAir(new BlockPos(par2, par3, par4)); } } } else { par1World.setBlockToAir(new BlockPos(par2, par3, par4)); } } } }
-
package common.zeroquest.block.portal; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.BlockPortal; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.server.MinecraftServer; import net.minecraft.util.BlockPos; import net.minecraft.util.EnumParticleTypes; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.fml.common.FMLCommonHandler; import common.zeroquest.ModBlocks; import common.zeroquest.ZeroQuest; public class BlockPortalNillax extends BlockPortal { public BlockPortalNillax() { super(); this.setStepSound(soundTypeGlass); } @Override public int getLightValue(IBlockAccess world, BlockPos pos) { return 14; } @Override public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) { if (entityIn.ridingEntity == null && entityIn.riddenByEntity == null && entityIn instanceof EntityPlayerMP) { EntityPlayerMP player = (EntityPlayerMP) entityIn; FMLCommonHandler.instance().getMinecraftServerInstance(); MinecraftServer server = MinecraftServer.getServer(); if (player.timeUntilPortal > 0) { player.timeUntilPortal = 10; } else if (player.dimension != ZeroQuest.NillaxID) { player.timeUntilPortal = 10; player.mcServer.getConfigurationManager().transferPlayerToDimension(player, ZeroQuest.NillaxID, new TeleporterNillax(server.worldServerForDimension(ZeroQuest.NillaxID))); } else { player.timeUntilPortal = 10; player.mcServer.getConfigurationManager().transferPlayerToDimension(player, 0, new TeleporterNillax(server.worldServerForDimension(0))); } } } @Override public boolean func_176548_d(World par1World, BlockPos blockPos) // func_176548_d { byte b0 = 0; byte b1 = 0; int par2 = blockPos.getX(); int par3 = blockPos.getY(); int par4 = blockPos.getZ(); if (par1World.getBlockState(new BlockPos(par2 - 1, par3, par4)).getBlock() == ModBlocks.nillaxStone || par1World.getBlockState(new BlockPos(par2 + 1, par3, par4)).getBlock() == ModBlocks.nillaxStone) { b0 = 1; } if (par1World.getBlockState(new BlockPos(par2, par3, par4 - 1)).getBlock() == ModBlocks.nillaxStone || par1World.getBlockState(new BlockPos(par2, par3, par4 + 1)).getBlock() == ModBlocks.nillaxStone) { b1 = 1; } if (b0 == b1) { return false; } else { if (par1World.isAirBlock(new BlockPos(par2 - b0, par3, par4 - b1))) { par2 -= b0; par4 -= b1; } int l; int i1; for (l = -1; l <= 2; ++l) { for (i1 = -1; i1 <= 3; ++i1) { boolean flag = l == -1 || l == 2 || i1 == -1 || i1 == 3; if (l != -1 && l != 2 || i1 != -1 && i1 != 3) { Block j1 = par1World.getBlockState(new BlockPos(par2 + b0 * l, par3 + i1, par4 + b1 * l)).getBlock(); boolean isAirBlock = par1World.isAirBlock(new BlockPos(par2 + b0 * l, par3 + i1, par4 + b1 * l)); if (flag) { if (j1 != ModBlocks.nillaxStone) { return false; } } else if (!isAirBlock && j1 != ModBlocks.nileFire) { return false; } } } } for (l = 0; l < 2; ++l) { for (i1 = 0; i1 < 3; ++i1) { par1World.setBlockState(new BlockPos(par2 + b0 * l, par3 + i1, par4 + b1 * l), ModBlocks.portalNillax.getDefaultState()); } } return true; } } @Override public void randomDisplayTick(World worldIn, BlockPos pos, IBlockState state, Random rand) { int par2 = pos.getX(); int par3 = pos.getY(); int par4 = pos.getZ(); if (rand.nextInt(100) == 0) { worldIn.playSound(pos.getX() + 0.5D, pos.getY() + 0.5D, pos.getZ() + 0.5D, "portal.portal", 0.5F, rand.nextFloat() * 0.4F + 0.8F, false); } for (int i = 0; i < 4; ++i) { double d0 = pos.getX() + rand.nextFloat(); double d1 = pos.getY() + rand.nextFloat(); double d2 = pos.getZ() + rand.nextFloat(); double d3 = (rand.nextFloat() - 0.5D) * 0.5D; double d4 = (rand.nextFloat() - 0.5D) * 0.5D; double d5 = (rand.nextFloat() - 0.5D) * 0.5D; int j = rand.nextInt(2) * 2 - 1; if (worldIn.getBlockState(pos.west()).getBlock() != this && worldIn.getBlockState(pos.east()).getBlock() != this) { d0 = pos.getX() + 0.5D + 0.25D * j; d3 = rand.nextFloat() * 2.0F * j; } else { d2 = pos.getZ() + 0.5D + 0.25D * j; d5 = rand.nextFloat() * 2.0F * j; } worldIn.spawnParticle(EnumParticleTypes.PORTAL, d0, d1, d2, d3, d4, d5, new int[0]); } } @Override public void onNeighborBlockChange(World par1World, BlockPos blockPos, IBlockState state, Block neighborBlock) { byte b0 = 0; byte b1 = 1; int par2 = blockPos.getX(); int par3 = blockPos.getY(); int par4 = blockPos.getZ(); if (par1World.getBlockState(new BlockPos(par2 - 1, par3, par4)) == this || par1World.getBlockState(new BlockPos(par2 + 1, par3, par4)) == this) { b0 = 1; b1 = 0; } int i1; for (i1 = par3; par1World.getBlockState(new BlockPos(par2, i1 - 1, par4)) == this; --i1) { ; } if (par1World.getBlockState(new BlockPos(par2, i1 - 1, par4)) != ModBlocks.nillaxStone) { par1World.setBlockToAir(new BlockPos(par2, par3, par4)); } else { int j1; for (j1 = 1; j1 < 4 && par1World.getBlockState(new BlockPos(par2, i1 + j1, par4)) == this; ++j1) { ; } if (j1 == 3 && par1World.getBlockState(new BlockPos(par2, i1 + j1, par4)) == ModBlocks.nillaxStone) { boolean flag = par1World.getBlockState(new BlockPos(par2 - 1, par3, par4)) == this || par1World.getBlockState(new BlockPos(par2 + 1, par3, par4)) == this; boolean flag1 = par1World.getBlockState(new BlockPos(par2, par3, par4 - 1)) == this || par1World.getBlockState(new BlockPos(par2, par3, par4 + 1)) == this; if (flag && flag1) { par1World.setBlockToAir(new BlockPos(par2, par3, par4)); } else { if ((par1World.getBlockState(new BlockPos(par2 + b0, par3, par4 + b1)) != ModBlocks.nillaxStone || par1World.getBlockState(new BlockPos(par2 - b0, par3, par4 - b1)) != this) && (par1World.getBlockState(new BlockPos(par2 - b0, par3, par4 - b1)) != ModBlocks.nillaxStone || par1World.getBlockState(new BlockPos(par2 + b0, par3, par4 + b1)) != this)) { par1World.setBlockToAir(new BlockPos(par2, par3, par4)); } } } else { par1World.setBlockToAir(new BlockPos(par2, par3, par4)); } } } }