From f00b3e9c60f2bc6fbf1cd09d0b038eb2629eb5bf Mon Sep 17 00:00:00 2001 From: Adubbz Date: Sun, 3 Apr 2016 16:35:12 +1000 Subject: [PATCH] Updated to the latest Forge. Closes #730 --- build.properties | 2 +- .../biomesoplenty/common/init/ModBlocks.java | 28 +++++++++++++++---- .../common/init/ModHandlers.java | 4 +-- .../biomesoplenty/common/init/ModItems.java | 3 +- .../java/biomesoplenty/core/ClientProxy.java | 2 +- 5 files changed, 29 insertions(+), 10 deletions(-) diff --git a/build.properties b/build.properties index ca0712369..292e6eed2 100644 --- a/build.properties +++ b/build.properties @@ -1,4 +1,4 @@ minecraft_version=1.9 -forge_version=12.16.0.1807-1.9 +forge_version=12.16.0.1829-1.9 mod_version=4.0.0 mappings_version=snapshot_nodoc_20160324 \ No newline at end of file diff --git a/src/main/java/biomesoplenty/common/init/ModBlocks.java b/src/main/java/biomesoplenty/common/init/ModBlocks.java index ab83f2591..2a5bf1388 100644 --- a/src/main/java/biomesoplenty/common/init/ModBlocks.java +++ b/src/main/java/biomesoplenty/common/init/ModBlocks.java @@ -87,6 +87,7 @@ import net.minecraft.item.ItemBucket; import net.minecraft.item.ItemDoor; import net.minecraft.item.ItemSlab; import net.minecraft.item.ItemStack; +import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.world.ColorizerFoliage; import net.minecraft.world.ColorizerGrass; @@ -97,6 +98,7 @@ import net.minecraftforge.fluids.BlockFluidBase; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidRegistry; +import net.minecraftforge.fml.common.registry.GameData; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -322,9 +324,9 @@ public class ModBlocks } - public static Block registerFluidBlock(Fluid fluid, BlockFluidBase fluidBlock, String name) + public static Block registerFluidBlock(Fluid fluid, Block fluidBlock, String name) { - Block block = GameRegistry.registerBlock(fluidBlock, null, name); + Block block = GameRegistry.register(fluidBlock, new ResourceLocation(BiomesOPlenty.MOD_ID, name)); BiomesOPlenty.proxy.registerFluidBlockRendering(block, name); fluid.setBlock(fluidBlock); return block; @@ -365,8 +367,8 @@ public class ModBlocks { // if this block supports the IBOPBlock interface then we can determine the item block class, and sub-blocks automatically IBOPBlock bopBlock = (IBOPBlock)block; - GameRegistry.registerBlock(block, bopBlock.getItemClass(), blockName); - + + registerBlockWithItem(block, blockName, bopBlock.getItemClass()); BiomesOPlenty.proxy.registerBlockSided(block); // check for missing default states @@ -398,11 +400,27 @@ public class ModBlocks else { // for vanilla blocks, just register a single variant with meta=0 and assume ItemBlock for the item class - GameRegistry.registerBlock(block, ItemBlock.class , blockName); + registerBlockWithItem(block, blockName, ItemBlock.class); registerBlockVariant(block, blockName, 0); } return block; } + private static void registerBlockWithItem(Block block, String blockName, Class clazz) + { + try + { + Item itemBlock = clazz != null ? (Item)clazz.getConstructor(Block.class).newInstance(block) : null; + ResourceLocation location = new ResourceLocation(BiomesOPlenty.MOD_ID, blockName); + + GameRegistry.register(block, location); + if (itemBlock != null) GameRegistry.register(itemBlock, location); + } + catch (Exception e) + { + throw new RuntimeException("An error occurred associating an item block during registration..."); + } + } + } diff --git a/src/main/java/biomesoplenty/common/init/ModHandlers.java b/src/main/java/biomesoplenty/common/init/ModHandlers.java index e858521f1..89173e992 100644 --- a/src/main/java/biomesoplenty/common/init/ModHandlers.java +++ b/src/main/java/biomesoplenty/common/init/ModHandlers.java @@ -42,7 +42,7 @@ public class ModHandlers MinecraftForge.EVENT_BUS.register(new PotionPossessionEventHandler()); MinecraftForge.EVENT_BUS.register(new ItemEventHandler()); MinecraftForge.EVENT_BUS.register(new UseHoeEventHandler()); - FMLCommonHandler.instance().bus().register(new AchievementEventHandler()); + MinecraftForge.EVENT_BUS.register(new AchievementEventHandler()); if (FMLCommonHandler.instance().getSide() == Side.CLIENT) { @@ -54,6 +54,6 @@ public class ModHandlers private static void registerClientEvents() { MinecraftForge.EVENT_BUS.register(new GuiEventHandler()); - FMLCommonHandler.instance().bus().register(new TrailsEventHandler()); + MinecraftForge.EVENT_BUS.register(new TrailsEventHandler()); } } diff --git a/src/main/java/biomesoplenty/common/init/ModItems.java b/src/main/java/biomesoplenty/common/init/ModItems.java index 47e4d71eb..829c6b6c4 100644 --- a/src/main/java/biomesoplenty/common/init/ModItems.java +++ b/src/main/java/biomesoplenty/common/init/ModItems.java @@ -310,7 +310,8 @@ public class ModItems { item.setCreativeTab(CreativeTabBOP.instance); } - GameRegistry.registerItem(item,name); + + GameRegistry.register(item, new ResourceLocation(BiomesOPlenty.MOD_ID, name)); BOPCommand.itemCount++; BiomesOPlenty.proxy.registerItemSided(item); diff --git a/src/main/java/biomesoplenty/core/ClientProxy.java b/src/main/java/biomesoplenty/core/ClientProxy.java index de81442a0..0766d8b97 100644 --- a/src/main/java/biomesoplenty/core/ClientProxy.java +++ b/src/main/java/biomesoplenty/core/ClientProxy.java @@ -160,7 +160,7 @@ public class ClientProxy extends CommonProxy } else { - ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(BiomesOPlenty.MOD_ID + ":" + item.delegate.getResourceName().getResourcePath(), "inventory")); + ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(BiomesOPlenty.MOD_ID + ":" + item.delegate.name().getResourcePath(), "inventory")); } //Register colour handlers