From 6889bba52d8fee8c27bf0c75271f78f2a062faa7 Mon Sep 17 00:00:00 2001 From: "Aidan C. Brady" Date: Wed, 4 Mar 2015 21:31:58 -0500 Subject: [PATCH] Added the visuals tab. Easier than I thought! --- .../mekanism/client/gui/GuiDigitalMiner.java | 1 + .../mekanism/client/gui/GuiVisualsTab.java | 74 ++++++++++++++++++ .../common/base/IAdvancedBoundingBlock.java | 9 +-- .../tile/TileEntityAdvancedBoundingBlock.java | 31 +------- .../common/tile/TileEntityDigitalMiner.java | 12 --- .../mekanism/gui/elements/GuiVisualsTab.png | Bin 0 -> 3367 bytes .../resources/assets/mekanism/lang/en_US.lang | 1 + 7 files changed, 82 insertions(+), 46 deletions(-) create mode 100644 src/main/java/mekanism/client/gui/GuiVisualsTab.java create mode 100644 src/main/resources/assets/mekanism/gui/elements/GuiVisualsTab.png diff --git a/src/main/java/mekanism/client/gui/GuiDigitalMiner.java b/src/main/java/mekanism/client/gui/GuiDigitalMiner.java index 402b98140..059781b39 100644 --- a/src/main/java/mekanism/client/gui/GuiDigitalMiner.java +++ b/src/main/java/mekanism/client/gui/GuiDigitalMiner.java @@ -46,6 +46,7 @@ public class GuiDigitalMiner extends GuiMekanism guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png"))); guiElements.add(new GuiUpgradeTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png"))); guiElements.add(new GuiPowerBar(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png"), 163, 23)); + guiElements.add(new GuiVisualsTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiDigitalMiner.png"))); guiElements.add(new GuiEnergyInfo(new IInfoHandler() { @Override public List getInfo() diff --git a/src/main/java/mekanism/client/gui/GuiVisualsTab.java b/src/main/java/mekanism/client/gui/GuiVisualsTab.java new file mode 100644 index 000000000..16a109950 --- /dev/null +++ b/src/main/java/mekanism/client/gui/GuiVisualsTab.java @@ -0,0 +1,74 @@ +package mekanism.client.gui; + +import mekanism.client.sound.SoundHandler; +import mekanism.common.tile.TileEntityDigitalMiner; +import mekanism.common.util.LangUtils; +import mekanism.common.util.MekanismUtils; +import mekanism.common.util.MekanismUtils.ResourceType; +import net.minecraft.util.ResourceLocation; +import codechicken.lib.vec.Rectangle4i; + +public class GuiVisualsTab extends GuiElement +{ + private TileEntityDigitalMiner tileEntity; + + public GuiVisualsTab(IGuiWrapper gui, TileEntityDigitalMiner tile, ResourceLocation def) + { + super(MekanismUtils.getResource(ResourceType.GUI_ELEMENT, "GuiVisualsTab.png"), gui, def); + + tileEntity = tile; + } + + @Override + public Rectangle4i getBounds(int guiWidth, int guiHeight) + { + return new Rectangle4i(guiWidth - 26, guiHeight + 6, 26, 26); + } + + @Override + public void renderBackground(int xAxis, int yAxis, int guiWidth, int guiHeight) + { + mc.renderEngine.bindTexture(RESOURCE); + + guiObj.drawTexturedRect(guiWidth - 26, guiHeight + 6, 0, 0, 26, 26); + + if(xAxis >= -21 && xAxis <= -3 && yAxis >= 10 && yAxis <= 28) + { + guiObj.drawTexturedRect(guiWidth - 21, guiHeight + 10, 26, 0, 18, 18); + } + else { + guiObj.drawTexturedRect(guiWidth - 21, guiHeight + 10, 26, 18, 18, 18); + } + + mc.renderEngine.bindTexture(defaultLocation); + } + + @Override + public void renderForeground(int xAxis, int yAxis) + { + mc.renderEngine.bindTexture(RESOURCE); + + if(xAxis >= -21 && xAxis <= -3 && yAxis >= 10 && yAxis <= 28) + { + displayTooltip(MekanismUtils.localize("gui.visuals") + ": " + LangUtils.transOnOff(tileEntity.clientRendering), xAxis, yAxis); + } + + mc.renderEngine.bindTexture(defaultLocation); + } + + @Override + public void preMouseClicked(int xAxis, int yAxis, int button) {} + + @Override + public void mouseClicked(int xAxis, int yAxis, int button) + { + if(button == 0) + { + if(xAxis >= -21 && xAxis <= -3 && yAxis >= 10 && yAxis <= 28) + { + tileEntity.clientRendering = !tileEntity.clientRendering; + SoundHandler.playSound("gui.button.press"); + } + } + } +} diff --git a/src/main/java/mekanism/common/base/IAdvancedBoundingBlock.java b/src/main/java/mekanism/common/base/IAdvancedBoundingBlock.java index 3e06833cf..73d363022 100644 --- a/src/main/java/mekanism/common/base/IAdvancedBoundingBlock.java +++ b/src/main/java/mekanism/common/base/IAdvancedBoundingBlock.java @@ -1,26 +1,23 @@ package mekanism.common.base; +import ic2.api.energy.tile.IEnergySink; import mekanism.api.Coord4D; -import mekanism.api.IConfigurable; import mekanism.api.IFilterAccess; import mekanism.api.energy.IStrictEnergyAcceptor; import mekanism.api.energy.IStrictEnergyStorage; - import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; +import cofh.api.energy.IEnergyHandler; import cpw.mods.fml.common.Optional.Interface; import cpw.mods.fml.common.Optional.InterfaceList; - -import cofh.api.energy.IEnergyHandler; import dan200.computercraft.api.peripheral.IPeripheral; -import ic2.api.energy.tile.IEnergySink; @InterfaceList({ @Interface(iface = "ic2.api.energy.tile.IEnergySink", modid = "IC2"), @Interface(iface = "cofh.api.energy.IEnergyHandler", modid = "CoFHAPI|energy"), @Interface(iface = "dan200.computercraft.api.peripheral.IPeripheral", modid = "ComputerCraft") }) -public interface IAdvancedBoundingBlock extends IBoundingBlock, ISidedInventory, IEnergySink, IStrictEnergyAcceptor, IStrictEnergyStorage, IEnergyHandler, IPeripheral, IFilterAccess, IConfigurable +public interface IAdvancedBoundingBlock extends IBoundingBlock, ISidedInventory, IEnergySink, IStrictEnergyAcceptor, IStrictEnergyStorage, IEnergyHandler, IPeripheral, IFilterAccess { public int[] getBoundSlots(Coord4D location, int side); diff --git a/src/main/java/mekanism/common/tile/TileEntityAdvancedBoundingBlock.java b/src/main/java/mekanism/common/tile/TileEntityAdvancedBoundingBlock.java index 95fde9902..782a7e4f1 100644 --- a/src/main/java/mekanism/common/tile/TileEntityAdvancedBoundingBlock.java +++ b/src/main/java/mekanism/common/tile/TileEntityAdvancedBoundingBlock.java @@ -1,35 +1,32 @@ package mekanism.common.tile; +import ic2.api.energy.tile.IEnergySink; import mekanism.api.Coord4D; -import mekanism.api.IConfigurable; import mekanism.api.IFilterAccess; import mekanism.api.energy.IStrictEnergyAcceptor; import mekanism.common.base.IAdvancedBoundingBlock; import mekanism.common.util.InventoryUtils; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; +import cofh.api.energy.IEnergyHandler; import cpw.mods.fml.common.Optional.Interface; import cpw.mods.fml.common.Optional.InterfaceList; import cpw.mods.fml.common.Optional.Method; - -import cofh.api.energy.IEnergyHandler; import dan200.computercraft.api.lua.ILuaContext; import dan200.computercraft.api.lua.LuaException; import dan200.computercraft.api.peripheral.IComputerAccess; import dan200.computercraft.api.peripheral.IPeripheral; -import ic2.api.energy.tile.IEnergySink; @InterfaceList({ @Interface(iface = "ic2.api.energy.tile.IEnergySink", modid = "IC2"), @Interface(iface = "cofh.api.energy.IEnergyHandler", modid = "CoFHAPI|energy"), @Interface(iface = "dan200.computercraft.api.peripheral.IPeripheral", modid = "ComputerCraft") }) -public class TileEntityAdvancedBoundingBlock extends TileEntityBoundingBlock implements ISidedInventory, IEnergySink, IStrictEnergyAcceptor, IEnergyHandler, IPeripheral, IFilterAccess, IConfigurable +public class TileEntityAdvancedBoundingBlock extends TileEntityBoundingBlock implements ISidedInventory, IEnergySink, IStrictEnergyAcceptor, IEnergyHandler, IPeripheral, IFilterAccess { @Override public int getSizeInventory() @@ -493,26 +490,4 @@ public class TileEntityAdvancedBoundingBlock extends TileEntityBoundingBlock imp return getInv().getDataType(); } - - @Override - public boolean onSneakRightClick(EntityPlayer player, int side) - { - if(getInv() == null) - { - return false; - } - - return getInv().onSneakRightClick(player, side); - } - - @Override - public boolean onRightClick(EntityPlayer player, int side) - { - if(getInv() == null) - { - return false; - } - - return getInv().onRightClick(player, side); - } } diff --git a/src/main/java/mekanism/common/tile/TileEntityDigitalMiner.java b/src/main/java/mekanism/common/tile/TileEntityDigitalMiner.java index 38cc258ea..c5b3188f9 100644 --- a/src/main/java/mekanism/common/tile/TileEntityDigitalMiner.java +++ b/src/main/java/mekanism/common/tile/TileEntityDigitalMiner.java @@ -1409,18 +1409,6 @@ public class TileEntityDigitalMiner extends TileEntityElectricBlock implements I { return "tooltip.filterCard.digitalMiner"; } - - @Override - public boolean onSneakRightClick(EntityPlayer player, int side) - { - return clientRendering = !clientRendering; - } - - @Override - public boolean onRightClick(EntityPlayer player, int side) - { - return false; - } public void writeSustainedData(ItemStack itemStack) { diff --git a/src/main/resources/assets/mekanism/gui/elements/GuiVisualsTab.png b/src/main/resources/assets/mekanism/gui/elements/GuiVisualsTab.png new file mode 100644 index 0000000000000000000000000000000000000000..f3f209aaad9d3570d87795b2078dcc2261d203eb GIT binary patch literal 3367 zcmeH~={wX5AI5((V@viLBTJ@iMM%~xV=M<#9T7tIh!LTPG2@s)LiR#JjYnh&gRv7w zWX+QG*v6K%u?&;3j;F5c`7565y!zfR@9VxkpBLX4GgD)3PGL>}0Ju>mhIaq}^ech@ z4z^#%{z-v506?}p4Ghds1_p4mC%*2U-VXpkBR<}0+IQ0OtZt02eXgKxc6kC1G?rv# zVOJ+2T++^ldX=}TFI?CAk8Ez&Qy*cAF}3QUM^?mLurJphgiyhLJ_(~Q%+RHht+!VIE3`)%kG48pXrZXHPy9IXe|ontA0qiq-`iT}uk$odLQ0`l zDKDI2w7+$EMsJFyJujvp9c|-+Nn5zmsw^tbt6{Nr>3&*l?pT%Vyj0th_X!;(SBmh+|O4Fdx3us}9wsDABaE zcTO4)rG09*mx{+IBDddU;Br6jcc}~hu-JrCVrn1mMHZShp?g!LYacxc?n4wk&+@8Q zf1wiri0!V|k|4$28<^_eeS*~rm# z$vZvUmCcj#}RH( zBz==xC1VHqpZE<`i^lffpB|_0AXEnA7Q`aH*1a=wI=fkn8yq0v=?p=y!{jVaIU^+8C;fZquuI54h8>VB{0*cne7nHBcDC@GCeaa8I|if$@&@$_QjlOVg- zlYyu`%e}jM=6j}lj(g|a=3e^Q?xAWghDg}Qy&YLtcHN;yVC_b({n_AXaWyZl(hiI2 zzM*JBGWpU;9G2%sxelHmrc$(PFpU^_wyeKDjg0J;Ymmb4K}=bp7`-TY4e}$Vf!E;8 z=O!+b!#reLAEmaebm$N~7Wak!v5BZhZ7Q*r{i#Ila`mmZ%ydq49F*h_PuEoY_!WC$ zAQ<@`c&jr-)+fI(AL941`Y3U zt})X`HIsL%X>E_id11kQhq&nOzi^Y@%;wj11hWMmV+5+^o&x~KHp)=X5(8SF>Pi?k z5(1nVnr;^?PS8c3I=>|$DgN$on`g6tZxSTA^Hhv_`WuQgQ^!Ji zy2NVW`7CM6^Umb54hIP*4k)f!->~D@$&4K27w=Oh^AI3aN^xGI1k)> z9lHBH|v_#&N25yoR zJRAs97u1-0bJXtn7Tbaj@w>sbZ526Qtckb>0)xQorvoOy(bWFs*v9KK{fLvbsCl3H zE^$_TGB2N@`Yc(|*G*{_c1Rx2N$0m2(?JsrUa%mpgqg|_T$nzsb1mr5xLs=~b@3b1 z1p(C%qQ9tu;BYwcQJDpwQvvV+PgXuMpv0}wX?FKdH0tC0Efgjcya{Z7z8#s}N4 zU@DbrDJE!4KtjU$Ji$yU8XYdg>hb5y z=6@EK16xGX!oPJ2%zmFsMNWd>S_9vRiOn2^s%6?De36KyF>=EsIBIkwhR066;E^L=Y)(-gC{C#M2GB25VY4|n~Auokv z9_`;h87F(>?fEbFLFFS^IB2;MnT_~)h@^7sQ}YT@O`NB!&A8! z5(|e4ELsrh*p5AfDLQ(;o49=0a3*y6)lsf=s6DKNJq!p7WW58+etqJDKPIg_N{^zS zCCPqO;wjTqOQJ~s54BuQ_?^(nyy61qoa~Mv#Ls>ma~zkVLY$FiZAwxx^pzf zb-^scr>|H8@n^K;!!R$2YCL=n&**K5-507Qe6Drj%`M@`Y^&c0Uh1U5SQ|F3AS*d? z9$ZBn^&vk7DJp@*Ymxa-q)omI)`1}eGf6d?_R9JNi_ULYu;ZEtxlk^ZdhUjXhK}Uw zUk?3|y~F7oJmCA2r^p>tT~iY~6aczgMLmO7*dkg2o|U>8yZmYSzz`ML)