From 88ead85f0e2d8371643c42547b25d206461476e6 Mon Sep 17 00:00:00 2001 From: aidancbrady Date: Sat, 16 Jul 2016 12:16:55 -0400 Subject: [PATCH] Fixed Portable Teleporter issue, fixed compounded Factory localization, add upgrades support to Solar Neutron Activator --- .../client/gui/GuiSolarNeutronActivator.java | 2 + .../network/PacketPortableTeleporter.java | 51 +++++++++-------- .../recipe/machines/SolarNeutronRecipe.java | 6 +- .../common/tile/TileEntityFactory.java | 7 +++ .../tile/TileEntitySolarNeutronActivator.java | 56 ++++++++++++------- 5 files changed, 75 insertions(+), 47 deletions(-) diff --git a/src/main/java/mekanism/client/gui/GuiSolarNeutronActivator.java b/src/main/java/mekanism/client/gui/GuiSolarNeutronActivator.java index 7861888bf..abd14af44 100644 --- a/src/main/java/mekanism/client/gui/GuiSolarNeutronActivator.java +++ b/src/main/java/mekanism/client/gui/GuiSolarNeutronActivator.java @@ -12,6 +12,7 @@ import mekanism.client.gui.element.GuiSecurityTab; import mekanism.client.gui.element.GuiSlot; import mekanism.client.gui.element.GuiSlot.SlotOverlay; import mekanism.client.gui.element.GuiSlot.SlotType; +import mekanism.client.gui.element.GuiUpgradeTab; import mekanism.common.inventory.container.ContainerSolarNeutronActivator; import mekanism.common.tile.TileEntitySolarNeutronActivator; import mekanism.common.util.LangUtils; @@ -36,6 +37,7 @@ public class GuiSolarNeutronActivator extends GuiMekanism guiElements.add(new GuiSecurityTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"))); guiElements.add(new GuiRedstoneControl(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"))); + guiElements.add(new GuiUpgradeTab(this, tileEntity, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"))); guiElements.add(new GuiSlot(SlotType.NORMAL, this, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"), 4, 55).with(SlotOverlay.MINUS)); guiElements.add(new GuiSlot(SlotType.NORMAL, this, MekanismUtils.getResource(ResourceType.GUI, "GuiBlank.png"), 154, 55).with(SlotOverlay.PLUS)); diff --git a/src/main/java/mekanism/common/network/PacketPortableTeleporter.java b/src/main/java/mekanism/common/network/PacketPortableTeleporter.java index 9bc2683c1..1568e98a9 100644 --- a/src/main/java/mekanism/common/network/PacketPortableTeleporter.java +++ b/src/main/java/mekanism/common/network/PacketPortableTeleporter.java @@ -101,31 +101,34 @@ public class PacketPortableTeleporter implements IMessageHandler> 4, zCoord >> 4) instanceof BiomeGenDesert; @@ -168,9 +172,13 @@ public class TileEntitySolarNeutronActivator extends TileEntityContainerBlock im return recipe != null && recipe.canOperate(inputTank, outputTank); } - public void operate(SolarNeutronRecipe recipe) + public int operate(SolarNeutronRecipe recipe) { - recipe.operate(inputTank, outputTank); + int operations = getUpgradedUsage(); + + recipe.operate(inputTank, outputTank, operations); + + return operations; } @Override @@ -181,7 +189,6 @@ public class TileEntitySolarNeutronActivator extends TileEntityContainerBlock im if(worldObj.isRemote) { isActive = dataStream.readBoolean(); - recipeTicks = dataStream.readInt(); controlType = RedstoneControl.values()[dataStream.readInt()]; if(dataStream.readBoolean()) @@ -210,7 +217,6 @@ public class TileEntitySolarNeutronActivator extends TileEntityContainerBlock im super.getNetworkedData(data); data.add(isActive); - data.add(recipeTicks); data.add(controlType.ordinal()); if(inputTank.getGas() != null) @@ -242,7 +248,6 @@ public class TileEntitySolarNeutronActivator extends TileEntityContainerBlock im super.readFromNBT(nbtTags); isActive = nbtTags.getBoolean("isActive"); - recipeTicks = nbtTags.getInteger("recipeTicks"); controlType = RedstoneControl.values()[nbtTags.getInteger("controlType")]; inputTank.read(nbtTags.getCompoundTag("inputTank")); @@ -255,7 +260,6 @@ public class TileEntitySolarNeutronActivator extends TileEntityContainerBlock im super.writeToNBT(nbtTags); nbtTags.setBoolean("isActive", isActive); - nbtTags.setInteger("recipeTicks", recipeTicks); nbtTags.setInteger("controlType", controlType.ordinal()); nbtTags.setTag("inputTank", inputTank.write(new NBTTagCompound())); @@ -417,6 +421,18 @@ public class TileEntitySolarNeutronActivator extends TileEntityContainerBlock im return securityComponent; } + @Override + public TileComponentUpgrade getComponent() + { + return upgradeComponent; + } + + @Override + public List getInfo(Upgrade upgrade) + { + return upgrade == Upgrade.SPEED ? upgrade.getExpScaledInfo(this) : upgrade.getMultScaledInfo(this); + } + @Override @SideOnly(Side.CLIENT) public AxisAlignedBB getRenderBoundingBox()