Posted July 20, 201411 yr Every time I teleport to my dimension the game crashes and when I load it back up I am in my dimension with a half made portal and when I teleport back the same thing happens. Here is a picture, the crash report and the two classes that are in the crash report. https://dl.dropboxusercontent.com/u/248986518/2014-07-20_13.39.51.png[/img] ---- Minecraft Crash Report ---- // Would you like a cupcake? Time: 7/20/14 1:40 PM Description: Colliding entity with block java.lang.NullPointerException: Colliding entity with block at net.minecraft.world.chunk.storage.ExtendedBlockStorage.func_150818_a(ExtendedBlockStorage.java:96) at net.minecraft.world.chunk.Chunk.func_150807_a(Chunk.java:667) at net.minecraft.world.World.setBlock(World.java:515) at com.logictechcorp.orizon.world.TeleporterDreamscape.makePortal(TeleporterDreamscape.java:455) at com.logictechcorp.orizon.world.TeleporterDreamscape.placeInPortal(TeleporterDreamscape.java:44) at net.minecraft.server.management.ServerConfigurationManager.transferEntityToWorld(ServerConfigurationManager.java:629) at net.minecraft.server.management.ServerConfigurationManager.transferPlayerToDimension(ServerConfigurationManager.java:533) at com.logictechcorp.orizon.block.BlockDreamscapePortal.onEntityCollidedWithBlock(BlockDreamscapePortal.java:232) at net.minecraft.entity.Entity.func_145775_I(Entity.java:988) at net.minecraft.entity.Entity.moveEntity(Entity.java:921) at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:367) at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:37) at net.minecraft.network.play.client.C03PacketPlayer$C06PacketPlayerPosLook.processPacket(C03PacketPlayer.java:271) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:247) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:736) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:624) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:495) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:762) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.minecraft.world.chunk.storage.ExtendedBlockStorage.func_150818_a(ExtendedBlockStorage.java:96) at net.minecraft.world.chunk.Chunk.func_150807_a(Chunk.java:667) at net.minecraft.world.World.setBlock(World.java:515) at com.logictechcorp.orizon.world.TeleporterDreamscape.makePortal(TeleporterDreamscape.java:455) at com.logictechcorp.orizon.world.TeleporterDreamscape.placeInPortal(TeleporterDreamscape.java:44) at net.minecraft.server.management.ServerConfigurationManager.transferEntityToWorld(ServerConfigurationManager.java:629) at net.minecraft.server.management.ServerConfigurationManager.transferPlayerToDimension(ServerConfigurationManager.java:533) at com.logictechcorp.orizon.block.BlockDreamscapePortal.onEntityCollidedWithBlock(BlockDreamscapePortal.java:232) -- Block being collided with -- Details: Block type: ID #180 (tile.null // com.logictechcorp.orizon.block.BlockDreamscapePortal) Block data value: 0 / 0x0 / 0b0000 Block location: World: (-304,76,155), Chunk: (at 0,4,11 in -19,9; contains blocks -304,0,144 to -289,255,159), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) Stacktrace: at net.minecraft.entity.Entity.func_145775_I(Entity.java:988) -- Entity being checked for collision -- Details: Entity Type: null (net.minecraft.entity.player.EntityPlayerMP) Entity ID: 314 Entity Name: LogicTechCorp Entity's Exact location: -302.00, 76.00, 156.00 Entity's Block location: World: (-302,76,156), Chunk: (at 2,4,12 in -19,9; contains blocks -304,0,144 to -289,255,159), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) Entity's Momentum: 0.00, -0.08, 0.00 Stacktrace: at net.minecraft.entity.Entity.moveEntity(Entity.java:921) at net.minecraft.network.NetHandlerPlayServer.processPlayer(NetHandlerPlayServer.java:367) at net.minecraft.network.play.client.C03PacketPlayer.processPacket(C03PacketPlayer.java:37) at net.minecraft.network.play.client.C03PacketPlayer$C06PacketPlayerPosLook.processPacket(C03PacketPlayer.java:271) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:247) -- Ticking connection -- Details: Connection: net.minecraft.network.NetworkManager@3f43308 Stacktrace: at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:736) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:624) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:495) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:762) -- System Details -- Details: Minecraft Version: 1.7.10 Operating System: Windows 8.1 (amd64) version 6.3 Java Version: 1.7.0_55, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 882987520 bytes (842 MB) / 1056309248 bytes (1007 MB) up to 1056309248 bytes (1007 MB) JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 12, tallocated: 94 FML: MCP v9.05 FML v7.10.1.1152 Minecraft Forge 10.13.0.1152 4 mods loaded, 4 mods active mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available FML{7.10.1.1152} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.0.1152.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Forge{10.13.0.1152} [Minecraft Forge] (forgeSrc-1.7.10-10.13.0.1152.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available orizon{1.7.X-1.4} [Orizon] (Orizon) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available Profiler Position: N/A (disabled) Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used Player Count: 1 / 8; [EntityPlayerMP['LogicTechCorp'/314, l='New World', x=-302.00, y=76.00, z=156.00]] Type: Integrated Server (map_client.txt) Is Modded: Definitely; Client brand changed to 'fml,forge' public static BlockDreamscapePortal portal; private final WorldServer worldServerInstance; private final Random random; private final LongHashMap destinationCoordinateCache = new LongHashMap(); private final List destinationCoordinateKeys = new ArrayList(); public TeleporterDreamscape(WorldServer worldServer) { super(worldServer); this.worldServerInstance = worldServer; this.random = new Random(worldServer.getSeed()); } public void placeInPortal(Entity entity, double x, double y, double z, float f) { if(this.worldServerInstance.provider.dimensionId != 1) { if(!this.placeInExistingPortal(entity, x, y, z, f)) { this.makePortal(entity); this.placeInExistingPortal(entity, x, y, z, f); } } else { int i = MathHelper.floor_double(entity.posX); int j = MathHelper.floor_double(entity.posY) - 1; int k = MathHelper.floor_double(entity.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.setBlock(k1, l1, i2, flag ? ModBlocks.coloredStoneBrick : Blocks.air); } } } entity.setLocationAndAngles((double) i, (double) j, (double) k, entity.rotationYaw, 0.0F); entity.motionX = entity.motionY = entity.motionZ = 0.0D; } } public boolean placeInExistingPortal(Entity entity, double x, double y, double z, float f) { short short1 = 128; double d3 = -1.0D; int i = 0; int j = 0; int k = 0; int l = MathHelper.floor_double(entity.posX); int i1 = MathHelper.floor_double(entity.posZ); long j1 = ChunkCoordIntPair.chunkXZ2Int(l, i1); boolean flag = true; double d7; int l3; if(this.destinationCoordinateCache.containsItem(j1)) { Teleporter.PortalPosition portalposition = (Teleporter.PortalPosition) this.destinationCoordinateCache.getValueByKey(j1); d3 = 0.0D; i = portalposition.posX; j = portalposition.posY; k = portalposition.posZ; portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime(); flag = false; } else { for(l3 = l - short1; l3 <= l + short1; ++l3) { double d4 = (double) l3 + 0.5D - entity.posX; for(int l1 = i1 - short1; l1 <= i1 + short1; ++l1) { double d5 = (double) l1 + 0.5D - entity.posZ; for(int i2 = this.worldServerInstance.getActualHeight() - 1; i2 >= 0; --i2) { if(this.worldServerInstance.getBlock(l3, i2, l1) == portal) { while(this.worldServerInstance.getBlock(l3, i2 - 1, l1) == portal) { --i2; } d7 = (double) i2 + 0.5D - entity.posY; double d8 = d4 * d4 + d7 * d7 + d5 * d5; if(d3 < 0.0D || d8 < d3) { d3 = d8; i = l3; j = i2; k = l1; } } } } } } if(d3 >= 0.0D) { if(flag) { this.destinationCoordinateCache.add(j1, new Teleporter.PortalPosition(i, j, k, this.worldServerInstance.getTotalWorldTime())); this.destinationCoordinateKeys.add(Long.valueOf(j1)); } double d11 = (double) i + 0.5D; double d6 = (double) j + 0.5D; d7 = (double) k + 0.5D; int i4 = -1; if(this.worldServerInstance.getBlock(i - 1, j, k) == portal) { i4 = 2; } if(this.worldServerInstance.getBlock(i + 1, j, k) == portal) { i4 = 0; } if(this.worldServerInstance.getBlock(i, j, k - 1) == portal) { i4 = 3; } if(this.worldServerInstance.getBlock(i, j, k + 1) == portal) { i4 = 1; } int j2 = entity.getTeleportDirection(); if(i4 > -1) { int k2 = Direction.rotateLeft[i4]; int l2 = Direction.offsetX[i4]; int i3 = Direction.offsetZ[i4]; int j3 = Direction.offsetX[k2]; int k3 = Direction.offsetZ[k2]; boolean flag1 = !this.worldServerInstance.isAirBlock(i + l2 + j3, j, k + i3 + k3) || !this.worldServerInstance.isAirBlock(i + l2 + j3, j + 1, k + i3 + k3); boolean flag2 = !this.worldServerInstance.isAirBlock(i + l2, j, k + i3) || !this.worldServerInstance.isAirBlock(i + l2, j + 1, k + i3); if(flag1 && flag2) { i4 = Direction.rotateOpposite[i4]; k2 = Direction.rotateOpposite[k2]; l2 = Direction.offsetX[i4]; i3 = Direction.offsetZ[i4]; j3 = Direction.offsetX[k2]; k3 = Direction.offsetZ[k2]; l3 = i - j3; d11 -= (double) j3; int k1 = k - k3; d7 -= (double) k3; flag1 = !this.worldServerInstance.isAirBlock(l3 + l2 + j3, j, k1 + i3 + k3) || !this.worldServerInstance.isAirBlock(l3 + l2 + j3, j + 1, k1 + i3 + k3); flag2 = !this.worldServerInstance.isAirBlock(l3 + l2, j, k1 + i3) || !this.worldServerInstance.isAirBlock(l3 + l2, j + 1, k1 + i3); } float f1 = 0.5F; float f2 = 0.5F; if(!flag1 && flag2) { f1 = 1.0F; } else if(flag1 && !flag2) { f1 = 0.0F; } else if(flag1 && flag2) { f2 = 0.0F; } d11 += (double) ((float) j3 * f1 + f2 * (float) l2); d7 += (double) ((float) k3 * f1 + f2 * (float) i3); float f3 = 0.0F; float f4 = 0.0F; float f5 = 0.0F; float f6 = 0.0F; if(i4 == j2) { f3 = 1.0F; f4 = 1.0F; } else if(i4 == Direction.rotateOpposite[j2]) { f3 = -1.0F; f4 = -1.0F; } else if(i4 == Direction.rotateRight[j2]) { f5 = 1.0F; f6 = -1.0F; } else { f5 = -1.0F; f6 = 1.0F; } double d9 = entity.motionX; double d10 = entity.motionZ; entity.motionX = d9 * (double) f3 + d10 * (double) f6; entity.motionZ = d9 * (double) f5 + d10 * (double) f4; entity.rotationYaw = f - (float) (j2 * 90) + (float) (i4 * 90); } else { entity.motionX = entity.motionY = entity.motionZ = 0.0D; } entity.setLocationAndAngles(d11, d6, d7, entity.rotationYaw, entity.rotationPitch); return true; } else { return false; } } public boolean makePortal(Entity entity) { byte b0 = 16; double d0 = -1.0D; int i = MathHelper.floor_double(entity.posX); int j = MathHelper.floor_double(entity.posY); int k = MathHelper.floor_double(entity.posZ); int l = i; int i1 = j; int j1 = k; int k1 = 0; int l1 = this.random.nextInt(4); int i2; double d1; double d2; int k2; int i3; int k3; int j3; int i4; int l3; int k4; int j4; int i5; int l4; double d3; double d4; for(i2 = i - b0; i2 <= i + b0; ++i2) { d1 = (double) i2 + 0.5D - entity.posX; for(k2 = k - b0; k2 <= k + b0; ++k2) { d2 = (double) k2 + 0.5D - entity.posZ; label274: for(i3 = this.worldServerInstance.getActualHeight() - 1; i3 >= 0; --i3) { if(this.worldServerInstance.isAirBlock(i2, i3, k2)) { while(i3 > 0 && this.worldServerInstance.isAirBlock(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.getBlock(l4, i5, j5).getMaterial().isSolid() || k4 >= 0 && !this.worldServerInstance.isAirBlock(l4, i5, j5)) { continue label274; } } } } d4 = (double) i3 + 0.5D - entity.posY; d3 = d1 * d1 + d4 * d4 + d2 * d2; if(d0 < 0.0D || d3 < d0) { d0 = d3; l = i2; i1 = i3; j1 = k2; k1 = j3 % 4; } } } } } } if(d0 < 0.0D) { for(i2 = i - b0; i2 <= i + b0; ++i2) { d1 = (double) i2 + 0.5D - entity.posX; for(k2 = k - b0; k2 <= k + b0; ++k2) { d2 = (double) k2 + 0.5D - entity.posZ; label222: for(i3 = this.worldServerInstance.getActualHeight() - 1; i3 >= 0; --i3) { if(this.worldServerInstance.isAirBlock(i2, i3, k2)) { while(i3 > 0 && this.worldServerInstance.isAirBlock(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.getBlock(k4, l4, i5).getMaterial().isSolid() || j4 >= 0 && !this.worldServerInstance.isAirBlock(k4, l4, i5)) { continue label222; } } } d4 = (double) i3 + 0.5D - entity.posY; d3 = d1 * d1 + d4 * d4 + d2 * d2; if(d0 < 0.0D || d3 < d0) { d0 = d3; 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; } boolean flag; if(d0 < 0.0D) { if(i1 < 70) { i1 = 70; } if(i1 > this.worldServerInstance.getActualHeight() - 10) { i1 = 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; flag = k3 < 0; this.worldServerInstance.setBlock(l3, i4, j4, flag ? ModBlocks.coloredStoneBrick : Blocks.air); } } } } for(i3 = 0; i3 < 4; ++i3) { for(j3 = 0; j3 < 4; ++j3) { for(k3 = -1; k3 < 4; ++k3) { l3 = k5 + (j3 - 1) * l5; i4 = j2 + k3; j4 = k2 + (j3 - 1) * l2; flag = j3 == 0 || j3 == 3 || k3 == -1 || k3 == 3; this.worldServerInstance.setBlock(l3, i4, j4, (flag ? ModBlocks.coloredStoneBrick : portal), 0, 2); } } for(j3 = 0; j3 < 4; ++j3) { for(k3 = -1; k3 < 4; ++k3) { l3 = k5 + (j3 - 1) * l5; i4 = j2 + k3; j4 = k2 + (j3 - 1) * l2; this.worldServerInstance.notifyBlocksOfNeighborChange(l3, i4, j4, this.worldServerInstance.getBlock(l3, i4, j4)); } } } return true; } public void removeStalePortalLocations(long par1) { if(par1 % 100L == 0L) { Iterator iterator = this.destinationCoordinateKeys.iterator(); long j = par1 - 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 BlockDreamscapePortal extends BlockBreakable { public BlockDreamscapePortal() { super("", Material.portal, false); this.setTickRandomly(true); this.setHardness(-1.0F); this.setLightLevel(0.75F); } public void updateTick(World world, int x, int y, int z, Random random) { super.updateTick(world, x, y, z, random); if (world.provider.isSurfaceWorld()) { int l; for (l = y; !world.doesBlockHaveSolidTopSurface(world, x, l, z) && l > 0; --l) { ; } if (l > 0 && !world.isBlockNormalCubeDefault(x, l + 1, z, true)) { Entity entity = ItemMonsterPlacer.spawnCreature(world, 57, (double)x + 0.5D, (double)l + 1.1D, (double)z + 0.5D); if (entity != null) { entity.timeUntilPortal = entity.getPortalCooldown(); } } } } public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { return null; } public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int x, int y, int z) { float f; float f1; if (par1IBlockAccess.getBlock(x - 1, y, z) != this && par1IBlockAccess.getBlock(x + 1, y, z) != this) { f = 0.125F; f1 = 0.5F; this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f1, 0.5F + f, 1.0F, 0.5F + f1); } else { f = 0.5F; f1 = 0.125F; this.setBlockBounds(0.5F - f, 0.0F, 0.5F - f1, 0.5F + f, 1.0F, 0.5F + f1); } } public boolean isOpaqueCube() { return false; } @Override public boolean renderAsNormalBlock() { return false; } public static boolean tryToCreatePortal(World world, int x, int y, int z) { byte b0 = 0; byte b1 = 0; if (world.getBlock(x - 1, y, z) == ModBlocks.coloredStoneBrick || world.getBlock(x + 1, y, z) == ModBlocks.coloredStoneBrick) { b0 = 1; } if (world.getBlock(x, y, z - 1) == ModBlocks.coloredStoneBrick || world.getBlock(x, y, z + 1) == ModBlocks.coloredStoneBrick) { b1 = 1; } if (b0 == b1) { return false; } else { if (world.getBlock(x - b0, y, z - b1) == Blocks.air) { x -= b0; z -= 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 = world.getBlock(x + b0 * l, y + i1, z + b1 * l); if (flag) { if (j1 != ModBlocks.coloredStoneBrick) { return false; } } } } } for (l = 0; l < 2; ++l) { for (i1 = 0; i1 < 3; ++i1) { world.setBlock(x + b0 * l, y + i1, z + b1 * l, ModBlocks.dreamscapePortal, 0, 2); } } return true; } } public void onNeighborBlockChange(World world, int x, int y, int z, int par5) { byte b0 = 0; byte b1 = 1; if (world.getBlock(x - 1, y, z) == this || world.getBlock(x + 1, y, z) == this) { b0 = 1; b1 = 0; } int i1; for (i1 = y; world.getBlock(x, i1 - 1, z) == this; --i1) { ; } if (world.getBlock(x, i1 - 1, z) != ModBlocks.coloredStoneBrick) { world.setBlockToAir(x, y, z); } else { int j1; for (j1 = 1; j1 < 4 && world.getBlock(x, i1 + j1, z) == this; ++j1) { ; } if (j1 == 3 && world.getBlock(x, i1 + j1, z) == ModBlocks.coloredStoneBrick) { boolean flag = world.getBlock(x - 1, y, z) == this || world.getBlock(x + 1, y, z) == this; boolean flag1 = world.getBlock(x, y, z - 1) == this || world.getBlock(x, y, z + 1) == this; if (flag && flag1) { world.setBlockToAir(x, y, z); } else { if ((world.getBlock(x + b0, y, z + b1) != ModBlocks.coloredStoneBrick || world.getBlock(x - b0, y, z - b1) != this) && (world.getBlock(x - b0, y, z - b1) != ModBlocks.coloredStoneBrick || world.getBlock(x + b0, y, z + b1) != this)) { world.setBlockToAir(x, y, z); } } } else { world.setBlockToAir(x, y, z); } } } @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int x, int y, int z, int par5) { if (par1IBlockAccess.getBlock(x, y, z) == this) { return false; } else { boolean flag = par1IBlockAccess.getBlock(x - 1, y, z) == this && par1IBlockAccess.getBlock(x - 2, y, z) != this; boolean flag1 = par1IBlockAccess.getBlock(x + 1, y, z) == this && par1IBlockAccess.getBlock(x + 2, y, z) != this; boolean flag2 = par1IBlockAccess.getBlock(x, y, z - 1) == this && par1IBlockAccess.getBlock(x, y, z - 2) != this; boolean flag3 = par1IBlockAccess.getBlock(x, y, z + 1) == this && par1IBlockAccess.getBlock(x, y, z + 2) != this; boolean flag4 = flag || flag1; boolean flag5 = flag2 || flag3; return flag4 && par5 == 4 ? true : (flag4 && par5 == 5 ? true : (flag5 && par5 == 2 ? true : flag5 && par5 == 3)); } } public int quantityDropped(Random par1Random) { return 0; } public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity par5Entity) { if ((par5Entity.ridingEntity == null) && (par5Entity.riddenByEntity == null) && ((par5Entity instanceof EntityPlayerMP))) { EntityPlayerMP thePlayer = (EntityPlayerMP)par5Entity; if (thePlayer.timeUntilPortal > 0) { thePlayer.timeUntilPortal = 10; } else if (thePlayer.dimension != Reference.DREAMSCAPE_DIMENSION_ID) { thePlayer.timeUntilPortal = 10; thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, Reference.DREAMSCAPE_DIMENSION_ID, new TeleporterDreamscape(thePlayer.mcServer.worldServerForDimension(Reference.DREAMSCAPE_DIMENSION_ID))); } else { thePlayer.timeUntilPortal = 10; thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, 0, new TeleporterDreamscape(thePlayer.mcServer.worldServerForDimension(0))); } } } @SideOnly(Side.CLIENT) public int getRenderBlockPass() { return 1; } @SideOnly(Side.CLIENT) public void randomDisplayTick(World world, int x, int y, int z, Random random) { if (random.nextInt(100) == 0) { world.playSound((double)x + 0.5D, (double)y + 0.5D, (double)z + 0.5D, "portal.portal", 0.5F, random.nextFloat() * 0.4F + 0.8F, false); } for (int l = 0; l < 4; ++l) { double d0 = (double)((float)x + random.nextFloat()); double d1 = (double)((float)y + random.nextFloat()); double d2 = (double)((float)z + random.nextFloat()); double d3 = 0.0D; double d4 = 0.0D; double d5 = 0.0D; int i1 = random.nextInt(2) * 2 - 1; d3 = ((double)random.nextFloat() - 0.5D) * 0.5D; d4 = ((double)random.nextFloat() - 0.5D) * 0.5D; d5 = ((double)random.nextFloat() - 0.5D) * 0.5D; if (world.getBlock(x - 1, y, z) != this && world.getBlock(x + 1, y, z) != this) { d0 = (double)x + 0.5D + 0.25D * (double)i1; d3 = (double)(random.nextFloat() * 2.0F * (float)i1); } else { d2 = (double)z + 0.5D + 0.25D * (double)i1; d5 = (double)(random.nextFloat() * 2.0F * (float)i1); } world.spawnParticle("cloud", d0, d1, d2, d3, d4, d5); } } @SideOnly(Side.CLIENT) public int idPicked(World world, int x, int y, int z) { return 0; }
July 21, 201411 yr Author Your code is a copy-paste mess. Somewhere you are calling world.setBlock with a null block (line 455 of your Teleporter). I went and tinkered with the code and now I am being sent to the nether, any idea on what is wrong. Here are the links to any classes that may be relevant. Main https://github.com/LogicTechCorp/Orizon/blob/master/src/main/java/com/logictechcorp/orizon/Orizon.java BlueFire https://github.com/LogicTechCorp/Orizon/blob/master/src/main/java/com/logictechcorp/orizon/block/BlockBlueFire.java Portal Block https://github.com/LogicTechCorp/Orizon/blob/master/src/main/java/com/logictechcorp/orizon/block/BlockDreamscapePortal.java Block Registry https://github.com/LogicTechCorp/Orizon/blob/master/src/main/java/com/logictechcorp/orizon/init/ModBlocks.java Dimension Registry https://github.com/LogicTechCorp/Orizon/blob/master/src/main/java/com/logictechcorp/orizon/init/ModDimensionManager.java Item Registry https://github.com/LogicTechCorp/Orizon/blob/master/src/main/java/com/logictechcorp/orizon/init/ModItems.java Item Blue Flint and Steel https://github.com/LogicTechCorp/Orizon/blob/master/src/main/java/com/logictechcorp/orizon/item/ItemBlueFlintandSteel.java Chunk Provider https://github.com/LogicTechCorp/Orizon/blob/master/src/main/java/com/logictechcorp/orizon/world/chunk/ChunkProviderDreamscape.java Teleporter https://github.com/LogicTechCorp/Orizon/blob/master/src/main/java/com/logictechcorp/orizon/world/TeleporterDreamscape.java World Provider https://github.com/LogicTechCorp/Orizon/blob/master/src/main/java/com/logictechcorp/orizon/world/WorldProviderDreamscape.java
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.