diff options
Diffstat (limited to 'src/main/java/gregtech/common')
2 files changed, 46 insertions, 25 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IndustrialElectromagneticSeparator.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IndustrialElectromagneticSeparator.java index 7d877e4b42..6f74f4d6ae 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IndustrialElectromagneticSeparator.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IndustrialElectromagneticSeparator.java @@ -36,6 +36,7 @@ import com.gtnewhorizon.structurelib.structure.StructureDefinition; import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; import gregtech.api.enums.Textures; +import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -102,7 +103,9 @@ public class GT_MetaTileEntity_IndustrialElectromagneticSeparator final int MIN_CASING = 64; private GT_MetaTileEntity_MagHatch mMagHatch = null; private MagnetTiers magnetTier = null; - private boolean polarizerMode = false; + + private static final int MACHINEMODE_SEPARATOR = 0; + private static final int MACHINEMODE_POLARIZER = 1; private static final String STRUCTURE_PIECE_MAIN = "main"; private static final IStructureDefinition<GT_MetaTileEntity_IndustrialElectromagneticSeparator> STRUCTURE_DEFINITION = StructureDefinition @@ -312,7 +315,8 @@ public class GT_MetaTileEntity_IndustrialElectromagneticSeparator @Override public RecipeMap<?> getRecipeMap() { - return polarizerMode ? RecipeMaps.polarizerRecipes : RecipeMaps.electroMagneticSeparatorRecipes; + return (machineMode == MACHINEMODE_POLARIZER) ? RecipeMaps.polarizerRecipes + : RecipeMaps.electroMagneticSeparatorRecipes; } @Nonnull @@ -322,21 +326,29 @@ public class GT_MetaTileEntity_IndustrialElectromagneticSeparator } @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setBoolean("polarizerMode", polarizerMode); - super.saveNBTData(aNBT); + public void loadNBTData(NBTTagCompound aNBT) { + if (aNBT.hasKey("polarizerMode")) { + machineMode = aNBT.getBoolean("polarizerMode") ? MACHINEMODE_POLARIZER : MACHINEMODE_SEPARATOR; + aNBT.removeTag("polarizerMode"); + } + super.loadNBTData(aNBT); } @Override - public void loadNBTData(NBTTagCompound aNBT) { - polarizerMode = aNBT.getBoolean("polarizerMode"); - super.loadNBTData(aNBT); + public boolean supportsMachineModeSwitch() { + return true; + } + + @Override + public void setMachineModeIcons() { + machineModeIcons.add(GT_UITextures.OVERLAY_BUTTON_MACHINEMODE_SEPARATOR); + machineModeIcons.add(GT_UITextures.OVERLAY_BUTTON_MACHINEMODE_POLARIZER); } @Override public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - polarizerMode = !polarizerMode; - if (polarizerMode) { + setMachineMode(nextMachineMode()); + if (machineMode == MACHINEMODE_POLARIZER) { PlayerUtils.messagePlayer(aPlayer, "Now running in Polarizing Mode."); } else { PlayerUtils.messagePlayer(aPlayer, "Now running in Separating Mode."); @@ -353,7 +365,7 @@ public class GT_MetaTileEntity_IndustrialElectromagneticSeparator public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y, int z) { super.getWailaNBTData(player, tile, tag, world, x, y, z); - tag.setBoolean("mode", polarizerMode); + tag.setInteger("mode", machineMode); } @Override @@ -364,8 +376,8 @@ public class GT_MetaTileEntity_IndustrialElectromagneticSeparator currentTip.add( StatCollector.translateToLocal("GT5U.machines.oreprocessor1") + " " + EnumChatFormatting.WHITE - + StatCollector.translateToLocal( - "GT5U.INDUSTRIAL_ELECTROMAGNETIC_SEPARATOR.mode." + (tag.getBoolean("mode") ? 1 : 0)) + + StatCollector + .translateToLocal("GT5U.INDUSTRIAL_ELECTROMAGNETIC_SEPARATOR.mode." + tag.getInteger("mode")) + EnumChatFormatting.RESET); } diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiCanner.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiCanner.java index d678c6df1f..0ead4cbe6b 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiCanner.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiCanner.java @@ -32,6 +32,7 @@ import com.gtnewhorizon.structurelib.structure.StructureDefinition; import gregtech.api.GregTech_API; import gregtech.api.enums.Textures; +import gregtech.api.gui.modularui.GT_UITextures; import gregtech.api.interfaces.ITexture; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; @@ -50,7 +51,8 @@ import mcp.mobius.waila.api.IWailaDataAccessor; public class GT_MetaTileEntity_MultiCanner extends GT_MetaTileEntity_EnhancedMultiBlockBase<GT_MetaTileEntity_MultiCanner> implements ISurvivalConstructable { - private boolean fluidMode = false; + private static final int MACHINEMODE_CANNER = 0; + private static final int MACHINEMODE_FLUIDCANNER = 1; private static final String STRUCTURE_PIECE_MAIN = "main"; private static final IStructureDefinition<GT_MetaTileEntity_MultiCanner> STRUCTURE_DEFINITION = StructureDefinition @@ -204,7 +206,7 @@ public class GT_MetaTileEntity_MultiCanner @Override public RecipeMap<?> getRecipeMap() { - return fluidMode ? RecipeMaps.fluidCannerRecipes : RecipeMaps.cannerRecipes; + return (machineMode == MACHINEMODE_FLUIDCANNER) ? RecipeMaps.fluidCannerRecipes : RecipeMaps.cannerRecipes; } @Nonnull @@ -214,21 +216,28 @@ public class GT_MetaTileEntity_MultiCanner } @Override - public void saveNBTData(NBTTagCompound aNBT) { - aNBT.setBoolean("fluidMode", fluidMode); - super.saveNBTData(aNBT); + public void loadNBTData(NBTTagCompound aNBT) { + if (aNBT.hasKey("fluidMode")) { + machineMode = aNBT.getBoolean("fluidMode") ? MACHINEMODE_FLUIDCANNER : MACHINEMODE_CANNER; + } + super.loadNBTData(aNBT); } @Override - public void loadNBTData(NBTTagCompound aNBT) { - fluidMode = aNBT.getBoolean("fluidMode"); - super.loadNBTData(aNBT); + public boolean supportsMachineModeSwitch() { + return true; + } + + @Override + public void setMachineModeIcons() { + machineModeIcons.add(GT_UITextures.OVERLAY_BUTTON_MACHINEMODE_PACKAGER); + machineModeIcons.add(GT_UITextures.OVERLAY_BUTTON_MACHINEMODE_LPF_FLUID); } @Override public void onScrewdriverRightClick(ForgeDirection side, EntityPlayer aPlayer, float aX, float aY, float aZ) { - fluidMode = !fluidMode; - if (fluidMode) { + setMachineMode(nextMachineMode()); + if (machineMode == MACHINEMODE_FLUIDCANNER) { PlayerUtils.messagePlayer(aPlayer, "Now running in Fluid Canning Mode."); } else { PlayerUtils.messagePlayer(aPlayer, "Now running in Canning Mode."); @@ -239,7 +248,7 @@ public class GT_MetaTileEntity_MultiCanner public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y, int z) { super.getWailaNBTData(player, tile, tag, world, x, y, z); - tag.setBoolean("mode", fluidMode); + tag.setInteger("mode", machineMode); } @Override @@ -250,7 +259,7 @@ public class GT_MetaTileEntity_MultiCanner currentTip.add( StatCollector.translateToLocal("GT5U.machines.oreprocessor1") + " " + EnumChatFormatting.WHITE - + StatCollector.translateToLocal("GT5U.MULTI_CANNER.mode." + (tag.getBoolean("mode") ? 1 : 0)) + + StatCollector.translateToLocal("GT5U.MULTI_CANNER.mode." + tag.getInteger("mode")) + EnumChatFormatting.RESET); } |