private bool func_592_c(int i, int j, int k) { MinecartTrackLogic minecarttracklogic = getMinecartTrackLogic(new ChunkPosition(i, j, k)); if (minecarttracklogic == null) { return(false); } else { minecarttracklogic.func_591_b(); return(minecarttracklogic.handleKeyPress(this)); } }
public void func_596_a(bool flag) { bool flag1 = func_592_c(trackX, trackY, trackZ - 1); bool flag2 = func_592_c(trackX, trackY, trackZ + 1); bool flag3 = func_592_c(trackX - 1, trackY, trackZ); bool flag4 = func_592_c(trackX + 1, trackY, trackZ); int i = -1; if ((flag1 || flag2) && !flag3 && !flag4) { i = 0; } if ((flag3 || flag4) && !flag1 && !flag2) { i = 1; } if (flag2 && flag4 && !flag1 && !flag3) { i = 6; } if (flag2 && flag3 && !flag1 && !flag4) { i = 7; } if (flag1 && flag3 && !flag2 && !flag4) { i = 8; } if (flag1 && flag4 && !flag2 && !flag3) { i = 9; } if (i == -1) { if (flag1 || flag2) { i = 0; } if (flag3 || flag4) { i = 1; } if (flag) { if (flag2 && flag4) { i = 6; } if (flag3 && flag2) { i = 7; } if (flag4 && flag1) { i = 9; } if (flag1 && flag3) { i = 8; } } else { if (flag1 && flag3) { i = 8; } if (flag4 && flag1) { i = 9; } if (flag3 && flag2) { i = 7; } if (flag2 && flag4) { i = 6; } } } if (i == 0) { if (worldObj.getBlockId(trackX, trackY + 1, trackZ - 1) == minecartTrack.blockID) { i = 4; } if (worldObj.getBlockId(trackX, trackY + 1, trackZ + 1) == minecartTrack.blockID) { i = 5; } } if (i == 1) { if (worldObj.getBlockId(trackX + 1, trackY + 1, trackZ) == minecartTrack.blockID) { i = 2; } if (worldObj.getBlockId(trackX - 1, trackY + 1, trackZ) == minecartTrack.blockID) { i = 3; } } if (i < 0) { i = 0; } trackMetadata = i; calculateConnectedTracks(); worldObj.setBlockMetadataWithNotify(trackX, trackY, trackZ, i); for (int j = 0; j < connectedTracks.size(); j++) { MinecartTrackLogic minecarttracklogic = getMinecartTrackLogic((ChunkPosition)connectedTracks.get(j)); if (minecarttracklogic == null) { continue; } minecarttracklogic.func_591_b(); if (minecarttracklogic.handleKeyPress(this)) { minecarttracklogic.func_598_d(this); } } }