From 471d8af9a0e870f91c622075757336884932bd9f Mon Sep 17 00:00:00 2001 From: Alistair Buxton Date: Tue, 26 Sep 2017 01:46:00 +0100 Subject: [PATCH 1/8] Update build.gradle for MC 1.12 --- build.gradle | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/build.gradle b/build.gradle index 8add41c..72e7496 100644 --- a/build.gradle +++ b/build.gradle @@ -1,24 +1,20 @@ buildscript { repositories { jcenter() - maven { - name = "forge" - url = "http://files.minecraftforge.net/maven" - } + maven { url = "http://files.minecraftforge.net/maven" } } dependencies { - classpath 'net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT' + classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' } } - apply plugin: 'net.minecraftforge.gradle.forge' version = "1.1.0" group = "tonius.zoom" -archivesBaseName = "Zoom-MC1.10.2" +archivesBaseName = "Zoom-MC1.12.2" minecraft { - version = "1.10.2-12.18.1.2011" + version = "1.12.2-14.23.0.2491" runDir = "run" replaceIn "Zoom.java" @@ -29,7 +25,7 @@ minecraft { // stable_# stables are built at the discretion of the MCP team. // Use non-default mappings at your own risk. they may not allways work. // simply re-run your setup task after changing the mappings to update your workspace. - mappings = "snapshot_20160518" + mappings = "snapshot_20170624" // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. } From 4bf54009eb4ad7961b27dd527c4f766b95aa1454 Mon Sep 17 00:00:00 2001 From: Alistair Buxton Date: Tue, 26 Sep 2017 01:46:34 +0100 Subject: [PATCH 2/8] Ignore Intellij project directory. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 1e22514..e09c5e3 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ out/ *.iml *.iws Thumbs.db +.idea/ From 3f359a56cece20044b7e8624fe2982000f4fe24c Mon Sep 17 00:00:00 2001 From: Alistair Buxton Date: Tue, 26 Sep 2017 01:48:42 +0100 Subject: [PATCH 3/8] Update itemBinoculars implementation to match new Item class. --- src/main/java/tonius/zoom/ItemBinoculars.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/tonius/zoom/ItemBinoculars.java b/src/main/java/tonius/zoom/ItemBinoculars.java index bd7333e..f04357f 100644 --- a/src/main/java/tonius/zoom/ItemBinoculars.java +++ b/src/main/java/tonius/zoom/ItemBinoculars.java @@ -2,6 +2,7 @@ import net.minecraft.client.resources.I18n; import net.minecraft.client.settings.GameSettings; +import net.minecraft.client.util.ITooltipFlag; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -11,11 +12,11 @@ import net.minecraft.util.EnumHand; import net.minecraft.util.text.TextFormatting; import net.minecraft.world.World; -import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import tonius.zoom.client.KeyHandler; +import javax.annotation.Nullable; import java.util.List; public class ItemBinoculars extends Item { @@ -32,9 +33,9 @@ public ItemBinoculars() { } @Override - public ActionResult onItemRightClick(ItemStack itemStack, World world, EntityPlayer player, EnumHand hand) { + public ActionResult onItemRightClick(World world, EntityPlayer player, EnumHand hand) { player.setActiveHand(hand); - return new ActionResult(EnumActionResult.SUCCESS, itemStack); + return new ActionResult(EnumActionResult.SUCCESS, player.getHeldItem(hand)); } @Override @@ -44,7 +45,7 @@ public int getMaxItemUseDuration(ItemStack itemStack) { @Override @SideOnly(Side.CLIENT) - public void addInformation(ItemStack itemStack, EntityPlayer player, List list, boolean bool) { + public void addInformation(ItemStack itemStack, @Nullable World world, List list, ITooltipFlag bool) { list.add(I18n.format("item.zoom.binoculars.desc.1")); if (KeyHandler.keyZoom.getKeyCode() != 0) { list.add(I18n.format("item.zoom.binoculars.desc.2", TextFormatting.AQUA + GameSettings.getKeyDisplayString(KeyHandler.keyZoom.getKeyCode()) + TextFormatting.GRAY)); From d12ee2a5ae43e725eb99051c1e7a42c0852e2808 Mon Sep 17 00:00:00 2001 From: Alistair Buxton Date: Tue, 26 Sep 2017 01:50:48 +0100 Subject: [PATCH 4/8] VertexBuffer is renamed to BufferBuilder. --- src/main/java/tonius/zoom/client/EventHandler.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/tonius/zoom/client/EventHandler.java b/src/main/java/tonius/zoom/client/EventHandler.java index 124d2f4..ab2d96b 100644 --- a/src/main/java/tonius/zoom/client/EventHandler.java +++ b/src/main/java/tonius/zoom/client/EventHandler.java @@ -4,7 +4,7 @@ import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.VertexBuffer; +import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; @@ -64,7 +64,7 @@ public void onRenderTick(TickEvent.RenderTickEvent evt) { double height = res.getScaledHeight_double(); Tessellator tessellator = Tessellator.getInstance(); - VertexBuffer vertexbuffer = tessellator.getBuffer(); + BufferBuilder vertexbuffer = tessellator.getBuffer(); vertexbuffer.begin(7, DefaultVertexFormats.POSITION_TEX); vertexbuffer.pos(0.0D, height, -90.0D).tex(0.0D, 1.0D).endVertex(); vertexbuffer.pos(width, height, -90.0D).tex(1.0D, 1.0D).endVertex(); From 421ce384a2c974c7edf9d2b952ce4a9d326c9d00 Mon Sep 17 00:00:00 2001 From: Alistair Buxton Date: Tue, 26 Sep 2017 01:51:33 +0100 Subject: [PATCH 5/8] mc.thePlayer is now mc.player. --- src/main/java/tonius/zoom/client/EventHandler.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/tonius/zoom/client/EventHandler.java b/src/main/java/tonius/zoom/client/EventHandler.java index ab2d96b..3e9565c 100644 --- a/src/main/java/tonius/zoom/client/EventHandler.java +++ b/src/main/java/tonius/zoom/client/EventHandler.java @@ -84,19 +84,19 @@ public void onRenderHand(RenderHandEvent evt) { } private static boolean isUsingBinoculars() { - if (mc.thePlayer == null) { + if (mc.player == null) { return false; } - ItemStack stack = mc.thePlayer.getActiveItemStack(); + ItemStack stack = mc.player.getActiveItemStack(); if (stack != null && stack.getItem() instanceof ItemBinoculars) { return true; } else if (KeyHandler.keyZoom.isKeyDown()) { - if (mc.thePlayer.getHeldItemOffhand() != null && mc.thePlayer.getHeldItemOffhand().getItem() instanceof ItemBinoculars) { + if (mc.player.getHeldItemOffhand() != null && mc.player.getHeldItemOffhand().getItem() instanceof ItemBinoculars) { return true; } - for (ItemStack invStack : mc.thePlayer.inventory.mainInventory) { + for (ItemStack invStack : mc.player.inventory.mainInventory) { if (invStack != null && invStack.getItem() instanceof ItemBinoculars) { return true; } From 8b9a011d8263f978fb2c66808a5505d892ae3583 Mon Sep 17 00:00:00 2001 From: Alistair Buxton Date: Tue, 26 Sep 2017 02:00:52 +0100 Subject: [PATCH 6/8] Register item based on event. --- src/main/java/tonius/zoom/ItemBinoculars.java | 1 - src/main/java/tonius/zoom/Zoom.java | 18 +++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/main/java/tonius/zoom/ItemBinoculars.java b/src/main/java/tonius/zoom/ItemBinoculars.java index f04357f..e86e11a 100644 --- a/src/main/java/tonius/zoom/ItemBinoculars.java +++ b/src/main/java/tonius/zoom/ItemBinoculars.java @@ -29,7 +29,6 @@ public ItemBinoculars() { this.setCreativeTab(CreativeTabs.TOOLS); this.setRegistryName(NAME); - GameRegistry.register(this); } @Override diff --git a/src/main/java/tonius/zoom/Zoom.java b/src/main/java/tonius/zoom/Zoom.java index 47de755..3d48e9c 100644 --- a/src/main/java/tonius/zoom/Zoom.java +++ b/src/main/java/tonius/zoom/Zoom.java @@ -1,17 +1,20 @@ package tonius.zoom; +import net.minecraft.item.Item; +import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPostInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.oredict.ShapedOreRecipe; import org.apache.logging.log4j.Logger; @Mod(modid = Zoom.MODID, version = Zoom.VERSION, - acceptedMinecraftVersions = "[1.10]", - dependencies = "required-after:Forge@[12.18.0.1999,);") + acceptedMinecraftVersions = "[1.12]") +@Mod.EventBusSubscriber(modid = Zoom.MODID) public class Zoom { public static final String MODID = "zoom"; @@ -30,11 +33,16 @@ public class Zoom { public static void preInit(FMLPreInitializationEvent evt) { logger = evt.getModLog(); logger.info("Starting Zoom"); - - logger.info("Registering items"); + itemBinoculars = new ItemBinoculars(); } - + + @SubscribeEvent + public static void registerItems(RegistryEvent.Register event) { + logger.info("Registering items"); + event.getRegistry().registerAll(itemBinoculars); + } + @Mod.EventHandler public static void init(FMLInitializationEvent evt) { proxy.registerHandlers(); From a1e721550a929a2bbcd08194201306ffb82b6e05 Mon Sep 17 00:00:00 2001 From: Alistair Buxton Date: Tue, 26 Sep 2017 02:02:29 +0100 Subject: [PATCH 7/8] Register handlers before creating the item. --- src/main/java/tonius/zoom/Zoom.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/tonius/zoom/Zoom.java b/src/main/java/tonius/zoom/Zoom.java index 3d48e9c..dcde285 100644 --- a/src/main/java/tonius/zoom/Zoom.java +++ b/src/main/java/tonius/zoom/Zoom.java @@ -33,7 +33,7 @@ public class Zoom { public static void preInit(FMLPreInitializationEvent evt) { logger = evt.getModLog(); logger.info("Starting Zoom"); - + proxy.registerHandlers(); itemBinoculars = new ItemBinoculars(); } @@ -45,8 +45,6 @@ public static void registerItems(RegistryEvent.Register event) { @Mod.EventHandler public static void init(FMLInitializationEvent evt) { - proxy.registerHandlers(); - proxy.registerItemModel(itemBinoculars, 0, ItemBinoculars.NAME); } From 0dd1cd7a6234b50771de7ccf6045ad83b9835982 Mon Sep 17 00:00:00 2001 From: Alistair Buxton Date: Tue, 26 Sep 2017 02:47:23 +0100 Subject: [PATCH 8/8] Convert recipe to json. --- src/main/java/tonius/zoom/Zoom.java | 14 ---------- .../assets/zoom/recipes/binoculars.json | 26 +++++++++++++++++++ 2 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 src/main/resources/assets/zoom/recipes/binoculars.json diff --git a/src/main/java/tonius/zoom/Zoom.java b/src/main/java/tonius/zoom/Zoom.java index dcde285..006baed 100644 --- a/src/main/java/tonius/zoom/Zoom.java +++ b/src/main/java/tonius/zoom/Zoom.java @@ -48,18 +48,4 @@ public static void init(FMLInitializationEvent evt) { proxy.registerItemModel(itemBinoculars, 0, ItemBinoculars.NAME); } - @Mod.EventHandler - public static void postInit(FMLPostInitializationEvent evt) { - logger.info("Registering recipes"); - GameRegistry.addRecipe(new ShapedOreRecipe(itemBinoculars, - "B B", - "LEL", - "P P", - 'B', "blockGlassColorless", - 'L', "ingotIron", - 'E', "stickWood", - 'P', "paneGlassColorless" - )); - } - } diff --git a/src/main/resources/assets/zoom/recipes/binoculars.json b/src/main/resources/assets/zoom/recipes/binoculars.json new file mode 100644 index 0000000..2dfe854 --- /dev/null +++ b/src/main/resources/assets/zoom/recipes/binoculars.json @@ -0,0 +1,26 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "B B", + "LEL", + "P P" + ], + "key": { + "B": { + "item": "minecraft:glass" + }, + "L": { + "item": "minecraft:iron_ingot" + }, + "E": { + "type": "forge:ore_dict", + "ore": "stickWood" + }, + "P": { + "item": "minecraft:glass_pane" + } + }, + "result": { + "item": "zoom:binoculars" + } +}