Skip to content
This repository was archived by the owner on Jun 18, 2025. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ out/
*.iml
*.iws
Thumbs.db
.idea/
14 changes: 5 additions & 9 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -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"
Expand All @@ -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.
}

Expand Down
10 changes: 5 additions & 5 deletions src/main/java/tonius/zoom/ItemBinoculars.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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 {
Expand All @@ -28,13 +29,12 @@ public ItemBinoculars() {
this.setCreativeTab(CreativeTabs.TOOLS);

this.setRegistryName(NAME);
GameRegistry.register(this);
}

@Override
public ActionResult<ItemStack> onItemRightClick(ItemStack itemStack, World world, EntityPlayer player, EnumHand hand) {
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand) {
player.setActiveHand(hand);
return new ActionResult<ItemStack>(EnumActionResult.SUCCESS, itemStack);
return new ActionResult<ItemStack>(EnumActionResult.SUCCESS, player.getHeldItem(hand));
}

@Override
Expand All @@ -44,7 +44,7 @@ public int getMaxItemUseDuration(ItemStack itemStack) {

@Override
@SideOnly(Side.CLIENT)
public void addInformation(ItemStack itemStack, EntityPlayer player, List<String> list, boolean bool) {
public void addInformation(ItemStack itemStack, @Nullable World world, List<String> 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));
Expand Down
34 changes: 13 additions & 21 deletions src/main/java/tonius/zoom/Zoom.java
Original file line number Diff line number Diff line change
@@ -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";
Expand All @@ -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<Item> 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);
}

}
12 changes: 6 additions & 6 deletions src/main/java/tonius/zoom/client/EventHandler.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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();
Expand All @@ -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;
}
Expand Down
26 changes: 26 additions & 0 deletions src/main/resources/assets/zoom/recipes/binoculars.json
Original file line number Diff line number Diff line change
@@ -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"
}
}