diff --git a/.gitignore b/.gitignore index 1e22514..e09c5e3 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ out/ *.iml *.iws Thumbs.db +.idea/ 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. } diff --git a/src/main/java/tonius/zoom/ItemBinoculars.java b/src/main/java/tonius/zoom/ItemBinoculars.java index bd7333e..e86e11a 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 { @@ -28,13 +29,12 @@ public ItemBinoculars() { this.setCreativeTab(CreativeTabs.TOOLS); this.setRegistryName(NAME); - GameRegistry.register(this); } @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 +44,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)); diff --git a/src/main/java/tonius/zoom/Zoom.java b/src/main/java/tonius/zoom/Zoom.java index 47de755..006baed 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,30 +33,19 @@ public class Zoom { public static void preInit(FMLPreInitializationEvent evt) { logger = evt.getModLog(); logger.info("Starting Zoom"); - - logger.info("Registering items"); + proxy.registerHandlers(); itemBinoculars = new ItemBinoculars(); } - - @Mod.EventHandler - public static void init(FMLInitializationEvent evt) { - proxy.registerHandlers(); - proxy.registerItemModel(itemBinoculars, 0, ItemBinoculars.NAME); + @SubscribeEvent + public static void registerItems(RegistryEvent.Register event) { + logger.info("Registering items"); + event.getRegistry().registerAll(itemBinoculars); } - + @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" - )); + public static void init(FMLInitializationEvent evt) { + proxy.registerItemModel(itemBinoculars, 0, ItemBinoculars.NAME); } } diff --git a/src/main/java/tonius/zoom/client/EventHandler.java b/src/main/java/tonius/zoom/client/EventHandler.java index 124d2f4..3e9565c 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(); @@ -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; } 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" + } +}