diff --git a/src/main/java/StevenDimDoors/experimental/MazeBuilder.java b/src/main/java/StevenDimDoors/experimental/MazeBuilder.java index 9e31e9a..3069b4a 100644 --- a/src/main/java/StevenDimDoors/experimental/MazeBuilder.java +++ b/src/main/java/StevenDimDoors/experimental/MazeBuilder.java @@ -3,6 +3,7 @@ package StevenDimDoors.experimental; import java.util.Random; import net.minecraft.block.Block; +import net.minecraft.init.Blocks; import net.minecraft.world.World; import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.storage.ExtendedBlockStorage; @@ -16,7 +17,7 @@ public class MazeBuilder { MazeDesign design = MazeDesigner.generate(random); Point3D offset = new Point3D(x - design.width() / 2, y - design.height() - 1, z - design.length() / 2); - SphereDecayOperation decay = new SphereDecayOperation(random, 0, 0, Block.stoneBrick.blockID, 2); + SphereDecayOperation decay = new SphereDecayOperation(random, Blocks.air, 0, Blocks.stonebrick, 2); buildRooms(design.getRoomGraph(), world, offset); carveDoorways(design.getRoomGraph(), world, offset, decay, random); @@ -37,7 +38,7 @@ public class MazeBuilder for (IGraphNode node : roomGraph.nodes()) { PartitionNode room = node.data(); - buildBox(world, offset, room.minCorner(), room.maxCorner(), Block.stoneBrick.blockID, 0); + buildBox(world, offset, room.minCorner(), room.maxCorner(), Blocks.stonebrick, 0); } } @@ -146,28 +147,28 @@ public class MazeBuilder private static void carveDoorAlongX(World world, int x, int y, int z) { - setBlockDirectly(world, x, y, z, 0, 0); - setBlockDirectly(world, x, y + 1, z, 0, 0); - setBlockDirectly(world, x + 1, y, z, 0, 0); - setBlockDirectly(world, x + 1, y + 1, z, 0, 0); + setBlockDirectly(world, x, y, z, Blocks.air, 0); + setBlockDirectly(world, x, y + 1, z, Blocks.air, 0); + setBlockDirectly(world, x + 1, y, z, Blocks.air, 0); + setBlockDirectly(world, x + 1, y + 1, z, Blocks.air, 0); } private static void carveDoorAlongZ(World world, int x, int y, int z) { - setBlockDirectly(world, x, y, z, 0, 0); - setBlockDirectly(world, x, y + 1, z, 0, 0); - setBlockDirectly(world, x, y, z + 1, 0, 0); - setBlockDirectly(world, x, y + 1, z + 1, 0, 0); + setBlockDirectly(world, x, y, z, Blocks.air, 0); + setBlockDirectly(world, x, y + 1, z, Blocks.air, 0); + setBlockDirectly(world, x, y, z + 1, Blocks.air, 0); + setBlockDirectly(world, x, y + 1, z + 1, Blocks.air, 0); } private static void carveHole(World world, int x, int y, int z) { - setBlockDirectly(world, x, y, z, 0, 0); - setBlockDirectly(world, x, y + 1, z, 0, 0); + setBlockDirectly(world, x, y, z, Blocks.air, 0); + setBlockDirectly(world, x, y + 1, z, Blocks.air, 0); } - private static void buildBox(World world, Point3D offset, Point3D minCorner, Point3D maxCorner, int blockID, int metadata) + private static void buildBox(World world, Point3D offset, Point3D minCorner, Point3D maxCorner, Block block, int metadata) { int minX = minCorner.getX() + offset.getX(); int minY = minCorner.getY() + offset.getY(); @@ -183,35 +184,30 @@ public class MazeBuilder { for (z = minZ; z <= maxZ; z++) { - setBlockDirectly(world, x, minY, z, blockID, metadata); - setBlockDirectly(world, x, maxY, z, blockID, metadata); + setBlockDirectly(world, x, minY, z, block, metadata); + setBlockDirectly(world, x, maxY, z, block, metadata); } } for (x = minX; x <= maxX; x++) { for (y = minY; y <= maxY; y++) { - setBlockDirectly(world, x, y, minZ, blockID, metadata); - setBlockDirectly(world, x, y, maxZ, blockID, metadata); + setBlockDirectly(world, x, y, minZ, block, metadata); + setBlockDirectly(world, x, y, maxZ, block, metadata); } } for (z = minZ; z <= maxZ; z++) { for (y = minY; y <= maxY; y++) { - setBlockDirectly(world, minX, y, z, blockID, metadata); - setBlockDirectly(world, maxX, y, z, blockID, metadata); + setBlockDirectly(world, minX, y, z, block, metadata); + setBlockDirectly(world, maxX, y, z, block, metadata); } } } - private static void setBlockDirectly(World world, int x, int y, int z, int blockID, int metadata) + private static void setBlockDirectly(World world, int x, int y, int z, Block block, int metadata) { - if (blockID != 0 && Block.blocksList[blockID] == null) - { - return; - } - int cX = x >> 4; int cZ = z >> 4; int cY = y >> 4; @@ -228,7 +224,7 @@ public class MazeBuilder extBlockStorage = new ExtendedBlockStorage(cY << 4, !world.provider.hasNoSky); chunk.getBlockStorageArray()[cY] = extBlockStorage; } - extBlockStorage.setExtBlockID(localX, y & 15, localZ, blockID); + extBlockStorage.setExtBlockID(localX, y & 15, localZ, block); extBlockStorage.setExtBlockMetadata(localX, y & 15, localZ, metadata); chunk.setChunkModified(); } diff --git a/src/main/java/StevenDimDoors/experimental/SphereDecayOperation.java b/src/main/java/StevenDimDoors/experimental/SphereDecayOperation.java index 0af0bac..c6fa3d7 100644 --- a/src/main/java/StevenDimDoors/experimental/SphereDecayOperation.java +++ b/src/main/java/StevenDimDoors/experimental/SphereDecayOperation.java @@ -29,18 +29,18 @@ public class SphereDecayOperation extends WorldOperation private double centerX; private double centerY; private double centerZ; - private int primaryBlockID; + private Block primaryBlock; private int primaryMetadata; - private int secondaryBlockID; + private Block secondaryBlock; private int secondaryMetadata; - public SphereDecayOperation(Random random, int primaryBlockID, int primaryMetadata, int secondaryBlockID, int secondaryMetadata) + public SphereDecayOperation(Random random, Block primaryBlock, int primaryMetadata, Block secondaryBlock, int secondaryMetadata) { super("SphereDecayOperation"); this.random = random; - this.primaryBlockID = primaryBlockID; + this.primaryBlock = primaryBlock; this.primaryMetadata = primaryMetadata; - this.secondaryBlockID = secondaryBlockID; + this.secondaryBlock = secondaryBlock; this.secondaryMetadata = secondaryMetadata; } @@ -72,11 +72,11 @@ public class SphereDecayOperation extends WorldOperation if (squareDistance < 0.5 || random.nextDouble() < scaling / squareDistance) { - world.setBlock(x, y, z, primaryBlockID, primaryMetadata, 1); + world.setBlock(x, y, z, primaryBlock, primaryMetadata, 1); } else if (random.nextDouble() < scaling / squareDistance) { - world.setBlock(x, y, z, secondaryBlockID, secondaryMetadata, 1); + world.setBlock(x, y, z, secondaryBlock, secondaryMetadata, 1); } } return true; diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/CraftingManager.java b/src/main/java/StevenDimDoors/mod_pocketDim/CraftingManager.java index a9df452..d95bd36 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/CraftingManager.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/CraftingManager.java @@ -1,6 +1,8 @@ package StevenDimDoors.mod_pocketDim; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent; import net.minecraft.block.Block; import net.minecraft.block.BlockDispenser; import net.minecraft.entity.player.EntityPlayer; @@ -14,10 +16,9 @@ import StevenDimDoors.mod_pocketDim.config.DDProperties; import StevenDimDoors.mod_pocketDim.core.DDLock; import StevenDimDoors.mod_pocketDim.items.ItemDDKey; import StevenDimDoors.mod_pocketDim.items.behaviors.DispenserBehaviorStabilizedRS; -import cpw.mods.fml.common.ICraftingHandler; import cpw.mods.fml.common.registry.GameRegistry; -public class CraftingManager implements ICraftingHandler +public class CraftingManager { CraftingManager() { } @@ -123,19 +124,19 @@ public class CraftingManager implements ICraftingHandler } - @Override - public void onCrafting(EntityPlayer player, ItemStack item, IInventory craftMatrix) + @SubscribeEvent + public void onCrafting(PlayerEvent.ItemCraftedEvent event) { - if(item.getItem() instanceof ItemDDKey) + if(event.crafting.getItem() instanceof ItemDDKey) { - ItemDDKey keyItem = (ItemDDKey) item.getItem(); + ItemDDKey keyItem = (ItemDDKey) event.crafting.getItem(); ItemStack topKey = null; ItemStack bottomKey = null; int topKeySlot = 0; - for(int i = 0; i> 4, MathHelper.floor_double(entity.posZ) >> 4); // Tell Forge we're moving its players so everyone else knows. // Let's try doing this down here in case this is what's killing NEI. - GameRegistry.onPlayerChangedDimension((EntityPlayer)entity); + FMLCommonHandler.instance().firePlayerChangedDimensionEvent((EntityPlayer)entity, oldWorld.provider.dimensionId, newWorld.provider.dimensionId); } DDTeleporter.placeInPortal(entity, newWorld, destination, properties, checkOrientation); return entity; diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/dungeon/FillContainersOperation.java b/src/main/java/StevenDimDoors/mod_pocketDim/dungeon/FillContainersOperation.java index e44a58b..ef39006 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/dungeon/FillContainersOperation.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/dungeon/FillContainersOperation.java @@ -33,12 +33,12 @@ public class FillContainersOperation extends WorldOperation @Override protected boolean applyToBlock(World world, int x, int y, int z) { - int blockID = world.getBlockId(x, y, z); + Block block = world.getBlock(x, y, z); // Fill empty chests and dispensers - if (Block.blocksList[blockID] instanceof BlockContainer) + if (block instanceof BlockContainer) { - TileEntity tileEntity = world.getBlockTileEntity(x, y, z); + TileEntity tileEntity = world.getTileEntity(x, y, z); // Fill chests if (tileEntity instanceof TileEntityChest) diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/dungeon/ModBlockFilter.java b/src/main/java/StevenDimDoors/mod_pocketDim/dungeon/ModBlockFilter.java index 08fb8fe..5e3270e 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/dungeon/ModBlockFilter.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/dungeon/ModBlockFilter.java @@ -36,7 +36,7 @@ public class ModBlockFilter extends SchematicFilter { } } //No matching exception found. Replace the block. - blocks[index] = replacementBlockID; + blocks[index] = replacementBlock; metadata[index] = replacementMetadata; return true; } diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/mod_pocketDim.java b/src/main/java/StevenDimDoors/mod_pocketDim/mod_pocketDim.java index 79ccb36..3e56941 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/mod_pocketDim.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/mod_pocketDim.java @@ -1,6 +1,8 @@ package StevenDimDoors.mod_pocketDim; import java.io.File; + +import cpw.mods.fml.common.FMLCommonHandler; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; @@ -189,7 +191,7 @@ public class mod_pocketDim { // Initialize ServerTickHandler instance serverTickHandler = new ServerTickHandler(); - TickRegistry.registerTickHandler(serverTickHandler, Side.SERVER); + FMLCommonHandler.instance().bus().register(serverTickHandler); // Initialize LimboDecay instance: required for BlockLimbo limboDecay = new LimboDecay(properties); @@ -307,7 +309,7 @@ public class mod_pocketDim CraftingManager.registerRecipes(properties); CraftingManager.registerDispenserBehaviors(); - GameRegistry.registerCraftingHandler(new CraftingManager()); + FMLCommonHandler.instance().bus().register(new CraftingManager()); DungeonHelper.initialize(); gatewayGenerator = new GatewayGenerator(properties); diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/ticking/ServerTickHandler.java b/src/main/java/StevenDimDoors/mod_pocketDim/ticking/ServerTickHandler.java index 58da365..83844c0 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/ticking/ServerTickHandler.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/ticking/ServerTickHandler.java @@ -1,13 +1,15 @@ package StevenDimDoors.mod_pocketDim.ticking; +import java.lang.reflect.Type; import java.util.ArrayList; import java.util.EnumSet; import StevenDimDoors.mod_pocketDim.core.DDTeleporter; -import cpw.mods.fml.common.ITickHandler; -import cpw.mods.fml.common.TickType; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.TickEvent; +import cpw.mods.fml.relauncher.Side; -public class ServerTickHandler implements ITickHandler, IRegularTickSender +public class ServerTickHandler implements IRegularTickSender { private static final String PROFILING_LABEL = "Dimensional Doors: Server Tick"; @@ -32,10 +34,19 @@ public class ServerTickHandler implements ITickHandler, IRegularTickSender receivers.clear(); } - @Override - public void tickStart(EnumSet type, Object... tickData) - { - if (type.equals(EnumSet.of(TickType.SERVER))) + @SubscribeEvent + public void tickEvent(TickEvent event) { + if (event.side != Side.SERVER) + return; + + if (event.phase == TickEvent.Phase.START) + tickStart(event.type); + else if (event.phase == TickEvent.Phase.END) + tickEnd(event.type); + } + + private void tickStart(TickEvent.Type type) { + if (type.equals(EnumSet.of(TickEvent.Type.SERVER))) { for (RegularTickReceiverInfo info : receivers) { @@ -54,8 +65,7 @@ public class ServerTickHandler implements ITickHandler, IRegularTickSender } } - @Override - public void tickEnd(EnumSet type, Object... tickData) + private void tickEnd(TickEvent.Type type) { for (RegularTickReceiverInfo info : receivers) { @@ -66,16 +76,4 @@ public class ServerTickHandler implements ITickHandler, IRegularTickSender } tickCount++; //There is no need to reset the counter. Let it overflow. } - - @Override - public EnumSet ticks() - { - return EnumSet.of(TickType.SERVER); - } - - @Override - public String getLabel() - { - return PROFILING_LABEL; //Used for profiling! - } } diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/world/PocketBuilder.java b/src/main/java/StevenDimDoors/mod_pocketDim/world/PocketBuilder.java index ffc5020..d0b4555 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/world/PocketBuilder.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/world/PocketBuilder.java @@ -547,7 +547,7 @@ public class PocketBuilder extBlockStorage = new ExtendedBlockStorage(cY << 4, !world.provider.hasNoSky); chunk.getBlockStorageArray()[cY] = extBlockStorage; } - extBlockStorage.setExtBlockID(localX, y & 15, localZ, blockID); + extBlockStorage.setExtBlockID(localX, y & 15, localZ, block); extBlockStorage.setExtBlockMetadata(localX, y & 15, localZ, metadata); chunk.setChunkModified(); } diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/world/PocketProvider.java b/src/main/java/StevenDimDoors/mod_pocketDim/world/PocketProvider.java index dd6e787..7caaa26 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/world/PocketProvider.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/world/PocketProvider.java @@ -34,7 +34,7 @@ public class PocketProvider extends WorldProvider @Override protected void registerWorldChunkManager() { - super.worldChunkMgr = new WorldChunkManagerHell(mod_pocketDim.pocketBiome, 1, 1); + super.worldChunkMgr = new WorldChunkManagerHell(mod_pocketDim.pocketBiome, 1); } @Override @@ -47,14 +47,14 @@ public class PocketProvider extends WorldProvider public Vec3 getSkyColor(Entity cameraEntity, float partialTicks) { setCloudRenderer( new CloudRenderBlank()); - return this.worldObj.getWorldVec3Pool().getVecFromPool(0d, 0d, 0d); + return Vec3.createVectorHelper(0d, 0d, 0d); } @SideOnly(Side.CLIENT) @Override public Vec3 getFogColor(float par1, float par2) { - return this.worldObj.getWorldVec3Pool().getVecFromPool(0d, 0d, 0d); + return Vec3.createVectorHelper(0d, 0d, 0d); } @Override @@ -70,7 +70,7 @@ public class PocketProvider extends WorldProvider } @Override - public boolean canSnowAt(int x, int y, int z) + public boolean canSnowAt(int x, int y, int z, boolean light) { return false; } diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/world/fortresses/DDNetherFortressGenerator.java b/src/main/java/StevenDimDoors/mod_pocketDim/world/fortresses/DDNetherFortressGenerator.java index 9531939..0d63af0 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/world/fortresses/DDNetherFortressGenerator.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/world/fortresses/DDNetherFortressGenerator.java @@ -15,7 +15,7 @@ public class DDNetherFortressGenerator extends MapGenNetherBridge // If we don't do this, Minecraft will crash when a fortress tries to generate. // Moreover, use Fortress as our structure identifier so that if DD is removed, // fortresses will generate properly using Vanilla code. - MapGenStructureIO.func_143034_b(DDStructureNetherBridgeStart.class, "Fortress"); + MapGenStructureIO.func_143031_a(DDStructureNetherBridgeStart.class, "Fortress"); } @Override diff --git a/src/main/java/StevenDimDoors/mod_pocketDim/world/fortresses/DDStructureNetherBridgeStart.java b/src/main/java/StevenDimDoors/mod_pocketDim/world/fortresses/DDStructureNetherBridgeStart.java index ef57b97..a10f2de 100644 --- a/src/main/java/StevenDimDoors/mod_pocketDim/world/fortresses/DDStructureNetherBridgeStart.java +++ b/src/main/java/StevenDimDoors/mod_pocketDim/world/fortresses/DDStructureNetherBridgeStart.java @@ -10,8 +10,9 @@ import net.minecraft.world.gen.structure.StructureBoundingBox; import net.minecraft.world.gen.structure.StructureComponent; import StevenDimDoors.mod_pocketDim.config.DDProperties; import net.minecraft.world.gen.structure.StructureNetherBridgePieces; +import net.minecraft.world.gen.structure.StructureStart; -public class DDStructureNetherBridgeStart extends StructureNetherBridgePieces.Start +public class DDStructureNetherBridgeStart extends StructureStart { public static final int MAX_GATEWAY_GENERATION_CHANCE = 100; @@ -25,7 +26,7 @@ public class DDStructureNetherBridgeStart extends StructureNetherBridgePieces.St public DDStructureNetherBridgeStart(World world, Random random, int chunkX, int chunkZ, DDProperties properties) { // StructureNetherBridgeStart handles designing the fortress for us - super(random, chunkX, chunkZ); + super(chunkX, chunkZ); Iterator componentIterator; StructureComponent component;