aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/gui/GT_Container_BasicMachine.java300
-rw-r--r--src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java262
-rw-r--r--src/main/java/gregtech/api/metatileentity/examples/GT_MetaTileEntity_E_Furnace.java143
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java113
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java19
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java222
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Steel.java5
7 files changed, 216 insertions, 848 deletions
diff --git a/src/main/java/gregtech/api/gui/GT_Container_BasicMachine.java b/src/main/java/gregtech/api/gui/GT_Container_BasicMachine.java
deleted file mode 100644
index 5d6c1c4126..0000000000
--- a/src/main/java/gregtech/api/gui/GT_Container_BasicMachine.java
+++ /dev/null
@@ -1,300 +0,0 @@
-package gregtech.api.gui;
-
-import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine.OTHER_SLOT_COUNT;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.inventory.ICrafting;
-import net.minecraft.inventory.Slot;
-import net.minecraft.item.ItemStack;
-
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.api.interfaces.IFluidAccess;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicTank;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
-import gregtech.api.util.GT_Utility;
-
-/**
- * NEVER INCLUDE THIS FILE IN YOUR MOD!!!
- * <p/>
- * The Container I use for all my Basic Machines
- */
-public class GT_Container_BasicMachine extends GT_Container_BasicTank {
-
- public boolean mFluidTransfer = false, mItemTransfer = false, mStuttering = false;
-
- GT_Slot_Holo slotFluidTransferToggle;
- GT_Slot_Holo slotItemTransferToggle;
- GT_Slot_Holo slotFluidOutput;
- GT_Slot_Holo slotFluidInput;
- Slot slotBattery;
- Slot slotSpecial;
-
- public GT_Container_BasicMachine(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity) {
- super(aInventoryPlayer, aTileEntity);
- }
-
- @Override
- public void addSlots(InventoryPlayer aInventoryPlayer) {
- GT_MetaTileEntity_BasicMachine machine = getMachine();
- GT_Recipe_Map recipes = machine.getRecipeList();
-
- addSlotToContainer(slotFluidTransferToggle = new GT_Slot_Holo(mTileEntity, 0, 8, 63, false, true, 1));
- slotFluidTransferToggle.setEnabled(!machine.isSteampowered());
- addSlotToContainer(slotItemTransferToggle = new GT_Slot_Holo(mTileEntity, 0, 26, 63, false, true, 1));
- slotItemTransferToggle.setEnabled(!machine.isSteampowered());
- addSlotToContainer(slotFluidOutput = new GT_Slot_Render(mTileEntity, 2, 107, 63));
- slotFluidOutput.setEnabled(recipes != null && recipes.hasFluidOutputs());
- // add circuit slot here to have it in fixed position
- addCircuitSlot();
-
- int tStartIndex = machine.getInputSlot();
-
- switch (machine.mInputSlotCount) {
- case 0:
- break;
- case 1:
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 25));
- break;
- case 2:
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 25));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 25));
- break;
- case 3:
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 25));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 25));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 25));
- break;
- case 4:
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 16));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 16));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 34));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 34));
- break;
- case 5:
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 16));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 16));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 16));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 34));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 34));
- break;
- case 6:
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 16));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 16));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 16));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 34));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 34));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 34));
- break;
- case 7:
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 7));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 7));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 7));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 25));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 25));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 25));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 43));
- break;
- case 8:
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 7));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 7));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 7));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 25));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 25));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 25));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 43));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 43));
- break;
- default:
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 7));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 7));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 7));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 25));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 25));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 25));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 17, 43));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 35, 43));
- addSlotToContainer(new Slot(mTileEntity, tStartIndex++, 53, 43));
- break;
- }
-
- tStartIndex = machine.getOutputSlot();
-
- switch (machine.mOutputItems.length) {
- case 0:
- break;
- case 1:
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25));
- break;
- case 2:
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 25));
- break;
- case 3:
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 25));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 25));
- break;
- case 4:
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 16));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 16));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 34));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 34));
- break;
- case 5:
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 16));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 16));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 16));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 34));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 34));
- break;
- case 6:
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 16));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 16));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 16));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 34));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 34));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 34));
- break;
- case 7:
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 7));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 7));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 7));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 25));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 25));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 43));
- break;
- case 8:
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 7));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 7));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 7));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 25));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 25));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 43));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 43));
- break;
- default:
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 7));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 7));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 7));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 25));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 25));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 25));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 107, 43));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 125, 43));
- addSlotToContainer(new GT_Slot_Output(mTileEntity, tStartIndex++, 143, 43));
- break;
- }
-
- addSlotToContainer(slotBattery = new Slot(mTileEntity, 1, 80, 63));
- addSlotToContainer(slotSpecial = new Slot(mTileEntity, 3, 125, 63));
- addSlotToContainer(slotFluidInput = new GT_Slot_Render(mTileEntity, tStartIndex++, 53, 63));
- slotFluidInput.setEnabled(recipes != null ? (recipes.hasFluidInputs()) : (machine.getCapacity() != 0));
- }
-
- @Override
- public ItemStack slotClick(int aSlotNumber, int aMouseclick, int aShifthold, EntityPlayer aPlayer) {
- if (mTileEntity.getMetaTileEntity() == null) return null;
- GT_MetaTileEntity_BasicMachine machine = getMachine();
- if (machine == null) return null;
- switch (aSlotNumber) {
- case 0 -> {
- if (slotFluidTransferToggle.isEnabled()) {
- machine.mFluidTransfer = !machine.mFluidTransfer;
- }
- return null;
- }
- case 1 -> {
- if (slotItemTransferToggle.isEnabled()) {
- machine.mItemTransfer = !machine.mItemTransfer;
- }
- return null;
- }
- default -> {
- if (aSlotNumber == OTHER_SLOT_COUNT + 1 + machine.mInputSlotCount + machine.mOutputItems.length
- && aMouseclick < 2) {
- GT_MetaTileEntity_BasicTank tTank = (GT_MetaTileEntity_BasicTank) mTileEntity.getMetaTileEntity();
- if (mTileEntity.isClientSide()) {
- // see parent class slotClick for an explanation on why doing this
- Slot slot = inventorySlots.get(aSlotNumber);
- tTank.setFillableStack(GT_Utility.getFluidFromDisplayStack(slot.getStack()));
- }
- IFluidAccess tFillableAccess = constructFluidAccess(tTank, true);
- GT_Recipe_Map recipes = machine.getRecipeList();
- // If the machine has recipes but no fluid inputs, disallow filling this slot with fluids.
- ItemStack tToken = handleFluidSlotClick(
- tFillableAccess,
- aPlayer,
- aMouseclick == 0,
- true,
- (recipes == null || recipes.hasFluidInputs()));
- if (mTileEntity.isServerSide() && tToken != null) mTileEntity.markInventoryBeenModified();
- return tToken;
- } else {
- return super.slotClick(aSlotNumber, aMouseclick, aShifthold, aPlayer);
- }
- }
- }
- }
-
- @Override
- public void detectAndSendChanges() {
- super.detectAndSendChanges();
- if (mTileEntity.isClientSide() || mTileEntity.getMetaTileEntity() == null) return;
-
- mFluidTransfer = getMachine().mFluidTransfer;
- mItemTransfer = getMachine().mItemTransfer;
- mStuttering = getMachine().mStuttering;
-
- for (ICrafting player : this.crafters) {
- player.sendProgressBarUpdate(this, 102, mFluidTransfer ? 1 : 0);
- player.sendProgressBarUpdate(this, 103, mItemTransfer ? 1 : 0);
- player.sendProgressBarUpdate(this, 104, mStuttering ? 1 : 0);
- }
- }
-
- @Override
- public void addCraftingToCrafters(ICrafting player) {
- super.addCraftingToCrafters(player);
- }
-
- @Override
- @SideOnly(Side.CLIENT)
- public void updateProgressBar(int id, int value) {
- super.updateProgressBar(id, value);
- switch (id) {
- case 102 -> mFluidTransfer = (value != 0);
- case 103 -> mItemTransfer = (value != 0);
- case 104 -> mStuttering = (value != 0);
- }
- }
-
- @Override
- public int getSlotStartIndex() {
- return 4;
- }
-
- @Override
- public int getShiftClickStartIndex() {
- return 4;
- }
-
- @Override
- public int getSlotCount() {
- return getShiftClickSlotCount() + getMachine().mOutputItems.length + 2;
- }
-
- @Override
- public int getShiftClickSlotCount() {
- return getMachine().mInputSlotCount;
- }
-
- public GT_MetaTileEntity_BasicMachine getMachine() {
- return (GT_MetaTileEntity_BasicMachine) mTileEntity.getMetaTileEntity();
- }
-}
diff --git a/src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java b/src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java
deleted file mode 100644
index 8873152137..0000000000
--- a/src/main/java/gregtech/api/gui/GT_GUIContainer_BasicMachine.java
+++ /dev/null
@@ -1,262 +0,0 @@
-package gregtech.api.gui;
-
-import static gregtech.api.enums.Mods.GregTech;
-
-import java.awt.Rectangle;
-
-import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraft.util.StatCollector;
-
-import gregtech.api.enums.GT_Values;
-import gregtech.api.gui.widgets.GT_GuiIcon;
-import gregtech.api.gui.widgets.GT_GuiSlotTooltip;
-import gregtech.api.gui.widgets.GT_GuiSmartTooltip;
-import gregtech.api.gui.widgets.GT_GuiTabLine.GT_GuiTabIconSet;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Steel;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
-import gregtech.common.power.Power;
-import gregtech.nei.NEI_TransferRectHost;
-
-/**
- * NEVER INCLUDE THIS FILE IN YOUR MOD!!!
- * <p/>
- * The GUI-Container I use for all my Basic Machines
- */
-public class GT_GUIContainer_BasicMachine extends GT_GUIContainerMetaTile_Machine implements NEI_TransferRectHost {
-
- private static final int NEEDS_STEAM_VENTING = 64;
- private static final GT_GuiTabIconSet TAB_ICONSET_BRONZE = new GT_GuiTabIconSet(
- GT_GuiIcon.TAB_NORMAL_BRONZE,
- GT_GuiIcon.TAB_HIGHLIGHT_BRONZE,
- GT_GuiIcon.TAB_DISABLED_BRONZE);
- private static final GT_GuiTabIconSet TAB_ICONSET_STEEL = new GT_GuiTabIconSet(
- GT_GuiIcon.TAB_NORMAL_STEEL,
- GT_GuiIcon.TAB_HIGHLIGHT_STEEL,
- GT_GuiIcon.TAB_DISABLED_STEEL);
- private final int textColor = this.getTextColorOrDefault("title", 0x404040);
- public final String mName, mNEI;
- public final byte mProgressBarDirection, mProgressBarAmount;
-
- // Tooltip localization keys
- private static final String BATTERY_SLOT_TOOLTIP = "GT5U.machines.battery_slot.tooltip",
- BATTERY_SLOT_TOOLTIP_ALT = "GT5U.machines.battery_slot.tooltip.alternative",
- UNUSED_SLOT_TOOLTIP = "GT5U.machines.unused_slot.tooltip",
- SPECIAL_SLOT_TOOLTIP = "GT5U.machines.special_slot.tooltip",
- FLUID_INPUT_TOOLTIP = "GT5U.machines.fluid_input_slot.tooltip",
- FLUID_OUTPUT_TOOLTIP = "GT5U.machines.fluid_output_slot.tooltip",
- STALLED_STUTTERING_TOOLTIP = "GT5U.machines.stalled_stuttering.tooltip",
- STALLED_VENT_TOOLTIP = "GT5U.machines.stalled_vent.tooltip",
- FLUID_TRANSFER_TOOLTIP = "GT5U.machines.fluid_transfer.tooltip",
- ITEM_TRANSFER_TOOLTIP = "GT5U.machines.item_transfer.tooltip", POWER_SOURCE_KEY = "GT5U.machines.powersource.";
-
- public GT_GUIContainer_BasicMachine(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName,
- String aTextureFile, String aNEI) {
- this(aInventoryPlayer, aTileEntity, aName, aTextureFile, aNEI, (byte) 0, (byte) 1);
- }
-
- public GT_GUIContainer_BasicMachine(InventoryPlayer aInventoryPlayer, IGregTechTileEntity aTileEntity, String aName,
- String aTextureFile, String aNEI, byte aProgressBarDirection, byte aProgressBarAmount) {
- super(
- new GT_Container_BasicMachine(aInventoryPlayer, aTileEntity),
- GregTech.getResourcePath("textures", "gui", "basicmachines", aTextureFile));
- mProgressBarDirection = aProgressBarDirection;
- mProgressBarAmount = (byte) Math.max(1, aProgressBarAmount);
- mName = aName;
- mNEI = aNEI;
- }
-
- /**
- * Load data for and create appropriate tooltips for this machine
- */
- @Override
- protected void setupTooltips() {
- super.setupTooltips();
- GT_MetaTileEntity_BasicMachine machine = getMachine();
- GT_Recipe_Map recipes = machine.getRecipeList();
- GT_Container_BasicMachine container = getContainer();
- Rectangle tProblemArea = new Rectangle(this.guiLeft + 79, this.guiTop + 44, 18, 18);
- String batterySlotTooltipKey;
- Object[] batterySlotTooltipArgs;
- if (machine.isSteampowered()) {
- batterySlotTooltipKey = UNUSED_SLOT_TOOLTIP;
- batterySlotTooltipArgs = new String[0];
- addToolTip(
- new GT_GuiSmartTooltip(
- tProblemArea,
- () -> hasErrorCode(NEEDS_STEAM_VENTING),
- mTooltipCache.getData(STALLED_VENT_TOOLTIP)));
- } else {
- String pTier1 = powerTierName(machine.mTier);
- if (machine.mTier == GT_Values.VN.length - 1) {
- batterySlotTooltipKey = BATTERY_SLOT_TOOLTIP_ALT;
- batterySlotTooltipArgs = new String[] { pTier1 };
- } else {
- batterySlotTooltipKey = BATTERY_SLOT_TOOLTIP;
- batterySlotTooltipArgs = new String[] { pTier1, powerTierName((byte) (machine.mTier + 1)) };
- }
- addToolTip(
- new GT_GuiSlotTooltip(
- container.slotFluidTransferToggle,
- mTooltipCache.getData(FLUID_TRANSFER_TOOLTIP)));
- addToolTip(
- new GT_GuiSlotTooltip(container.slotItemTransferToggle, mTooltipCache.getData(ITEM_TRANSFER_TOOLTIP)));
- }
- if (recipes != null && recipes.hasFluidInputs()) {
- addToolTip(
- new GT_GuiSlotTooltip(
- container.slotFluidInput,
- mTooltipCache.getData(FLUID_INPUT_TOOLTIP, machine.getCapacity())));
- }
- if (recipes != null && recipes.hasFluidOutputs()) {
- addToolTip(
- new GT_GuiSlotTooltip(
- container.slotFluidOutput,
- mTooltipCache.getData(FLUID_OUTPUT_TOOLTIP, machine.getCapacity())));
- }
- addToolTip(
- new GT_GuiSlotTooltip(
- getContainer().slotBattery,
- mTooltipCache.getData(batterySlotTooltipKey, batterySlotTooltipArgs)));
- addToolTip(
- new GT_GuiSlotTooltip(
- container.slotSpecial,
- mTooltipCache.getData(
- recipes != null && recipes.usesSpecialSlot() ? SPECIAL_SLOT_TOOLTIP : UNUSED_SLOT_TOOLTIP)));
- addToolTip(
- new GT_GuiSmartTooltip(
- tProblemArea,
- () -> container.mStuttering && !hasErrorCode(NEEDS_STEAM_VENTING),
- mTooltipCache.getData(
- STALLED_STUTTERING_TOOLTIP,
- StatCollector
- .translateToLocal(POWER_SOURCE_KEY + (machine.isSteampowered() ? "steam" : "power")))));
- }
-
- /**
- * Apply proper coloration to a machine's power tier short name
- *
- * @param machineTier machine tier
- * @return colored power tier short name
- */
- private String powerTierName(byte machineTier) {
- return GT_Values.TIER_COLORS[machineTier] + GT_Values.VN[machineTier];
- }
-
- private GT_MetaTileEntity_BasicMachine getMachine() {
- return (GT_MetaTileEntity_BasicMachine) mContainer.mTileEntity.getMetaTileEntity();
- }
-
- @Override
- protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) {
- super.drawGuiContainerForegroundLayer(mouseX, mouseY);
- fontRendererObj.drawString(mName, 8, 4, textColor);
- }
-
- @Override
- protected void drawGuiContainerBackgroundLayer(float parTicks, int mouseX, int mouseY) {
- super.drawGuiContainerBackgroundLayer(parTicks, mouseX, mouseY);
- int x = (width - xSize) / 2;
- int y = (height - ySize) / 2;
- drawTexturedModalRect(x, y, 0, 0, xSize, ySize);
- if (mContainer != null) {
- if (!getMachine().isSteampowered()) {
- if (getContainer().mFluidTransfer) drawTexturedModalRect(x + 7, y + 62, 176, 18, 18, 18);
- if (getContainer().mItemTransfer) drawTexturedModalRect(x + 25, y + 62, 176, 36, 18, 18);
- }
- if (getContainer().mStuttering) drawTexturedModalRect(x + 79, y + 44, 176, 54, 18, 18);
-
- if (mContainer.mMaxProgressTime > 0) {
- int tSize = mProgressBarDirection < 2 ? 20 : 18;
- int tProgress = Math.max(
- 1,
- Math.min(
- tSize * mProgressBarAmount,
- (mContainer.mProgressTime > 0 ? 1 : 0)
- + mContainer.mProgressTime * tSize * mProgressBarAmount / mContainer.mMaxProgressTime))
- % (tSize + 1);
-
- switch (mProgressBarDirection) { // yes, my OCD was mad at me before I did the Tabs.
- case 0 -> drawTexturedModalRect(x + 78, y + 24, 176, 0, tProgress, 18);
- case 1 -> drawTexturedModalRect(
- x + 78 + 20 - tProgress,
- y + 24,
- 176 + 20 - tProgress,
- 0,
- tProgress,
- 18);
- case 2 -> drawTexturedModalRect(x + 78, y + 24, 176, 0, 20, tProgress);
- case 3 -> drawTexturedModalRect(
- x + 78,
- y + 24 + 18 - tProgress,
- 176,
- 18 - tProgress,
- 20,
- tProgress);
- case 4 -> {
- tProgress = 20 - tProgress;
- drawTexturedModalRect(x + 78, y + 24, 176, 0, tProgress, 18);
- }
- case 5 -> {
- tProgress = 20 - tProgress;
- drawTexturedModalRect(x + 78 + 20 - tProgress, y + 24, 176 + 20 - tProgress, 0, tProgress, 18);
- }
- case 6 -> {
- tProgress = 18 - tProgress;
- drawTexturedModalRect(x + 78, y + 24, 176, 0, 20, tProgress);
- }
- case 7 -> {
- tProgress = 18 - tProgress;
- drawTexturedModalRect(x + 78, y + 24 + 18 - tProgress, 176, 18 - tProgress, 20, tProgress);
- }
- }
- }
- }
- }
-
- @Override
- protected GT_GuiTabIconSet getTabBackground() {
- if (getMachine().isSteampowered()) {
- return getMachine() instanceof GT_MetaTileEntity_BasicMachine_Steel ? TAB_ICONSET_STEEL
- : TAB_ICONSET_BRONZE;
- }
- return super.getTabBackground();
- }
-
- /**
- * Whether the machine currently has this error code
- */
- private boolean hasErrorCode(int errorCode) {
- return (getContainer().mDisplayErrorCode & errorCode) != 0;
- }
-
- private GT_Container_BasicMachine getContainer() {
- return (GT_Container_BasicMachine) mContainer;
- }
-
- @Override
- public String getNeiTransferRectString() {
- return mNEI;
- }
-
- @Override
- public String getNeiTransferRectTooltip() {
- Power powerInfo = getMachine().getPower();
- if (getMachine().isSteampowered()) {
- return powerInfo.getTierString() + " Steam recipes";
- } else {
- return "Recipes available in " + powerInfo.getTierString();
- }
- }
-
- @Override
- public Object[] getNeiTransferRectArgs() {
- return new Object[] { getMachine().getPower() };
- }
-
- @Override
- public Rectangle getNeiTransferRect() {
- return new Rectangle(65, 13, 36, 18);
- }
-}
diff --git a/src/main/java/gregtech/api/metatileentity/examples/GT_MetaTileEntity_E_Furnace.java b/src/main/java/gregtech/api/metatileentity/examples/GT_MetaTileEntity_E_Furnace.java
deleted file mode 100644
index 811a30d341..0000000000
--- a/src/main/java/gregtech/api/metatileentity/examples/GT_MetaTileEntity_E_Furnace.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package gregtech.api.metatileentity.examples;
-
-import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_FURNACE;
-import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_FURNACE_ACTIVE;
-import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_FURNACE_ACTIVE_GLOW;
-import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_BOTTOM_STEAM_FURNACE_GLOW;
-import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_STEAM_FURNACE;
-import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_STEAM_FURNACE_ACTIVE;
-import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_STEAM_FURNACE_ACTIVE_GLOW;
-import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_FRONT_STEAM_FURNACE_GLOW;
-import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_SIDE_STEAM_FURNACE;
-import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_SIDE_STEAM_FURNACE_ACTIVE;
-import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_SIDE_STEAM_FURNACE_ACTIVE_GLOW;
-import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_SIDE_STEAM_FURNACE_GLOW;
-import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_TOP_STEAM_FURNACE;
-import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_TOP_STEAM_FURNACE_ACTIVE;
-import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_TOP_STEAM_FURNACE_ACTIVE_GLOW;
-import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_TOP_STEAM_FURNACE_GLOW;
-
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.common.util.ForgeDirection;
-
-import gregtech.api.enums.SoundResource;
-import gregtech.api.interfaces.ITexture;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.metatileentity.MetaTileEntity;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
-import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_ModHandler;
-import gregtech.api.util.GT_Utility;
-
-/**
- * This Example Implementation still works, however I use something completely different in my own Code.
- */
-public class GT_MetaTileEntity_E_Furnace extends GT_MetaTileEntity_BasicMachine {
-
- public GT_MetaTileEntity_E_Furnace(int aID, String aName, String aNameRegional, int aTier) {
- super(
- aID,
- aName,
- aNameRegional,
- aTier,
- 1,
- "Not like using a Commodore 64",
- 1,
- 1,
- "E_Furnace.png",
- "smelting",
- TextureFactory.of(
- TextureFactory.of(OVERLAY_SIDE_STEAM_FURNACE_ACTIVE),
- TextureFactory.builder()
- .addIcon(OVERLAY_SIDE_STEAM_FURNACE_ACTIVE_GLOW)
- .glow()
- .build()),
- TextureFactory.of(
- TextureFactory.of(OVERLAY_SIDE_STEAM_FURNACE),
- TextureFactory.builder()
- .addIcon(OVERLAY_SIDE_STEAM_FURNACE_GLOW)
- .glow()
- .build()),
- TextureFactory.of(
- TextureFactory.of(OVERLAY_FRONT_STEAM_FURNACE_ACTIVE),
- TextureFactory.builder()
- .addIcon(OVERLAY_FRONT_STEAM_FURNACE_ACTIVE_GLOW)
- .glow()
- .build()),
- TextureFactory.of(
- TextureFactory.of(OVERLAY_FRONT_STEAM_FURNACE),
- TextureFactory.builder()
- .addIcon(OVERLAY_FRONT_STEAM_FURNACE_GLOW)
- .glow()
- .build()),
- TextureFactory.of(
- TextureFactory.of(OVERLAY_TOP_STEAM_FURNACE_ACTIVE),
- TextureFactory.builder()
- .addIcon(OVERLAY_TOP_STEAM_FURNACE_ACTIVE_GLOW)
- .glow()
- .build()),
- TextureFactory.of(
- TextureFactory.of(OVERLAY_TOP_STEAM_FURNACE),
- TextureFactory.builder()
- .addIcon(OVERLAY_TOP_STEAM_FURNACE_GLOW)
- .glow()
- .build()),
- TextureFactory.of(
- TextureFactory.of(OVERLAY_BOTTOM_STEAM_FURNACE_ACTIVE),
- TextureFactory.builder()
- .addIcon(OVERLAY_BOTTOM_STEAM_FURNACE_ACTIVE_GLOW)
- .glow()
- .build()),
- TextureFactory.of(
- TextureFactory.of(OVERLAY_BOTTOM_STEAM_FURNACE),
- TextureFactory.builder()
- .addIcon(OVERLAY_BOTTOM_STEAM_FURNACE_GLOW)
- .glow()
- .build()));
- }
-
- public GT_MetaTileEntity_E_Furnace(String aName, int aTier, String aDescription, ITexture[][][] aTextures,
- String aGUIName, String aNEIName) {
- super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
- }
-
- public GT_MetaTileEntity_E_Furnace(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures,
- String aGUIName, String aNEIName) {
- super(aName, aTier, 1, aDescription, aTextures, 1, 1, aGUIName, aNEIName);
- }
-
- @Override
- public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
- return new GT_MetaTileEntity_E_Furnace(mName, mTier, mDescriptionArray, mTextures, mGUIName, mNEIName);
- }
-
- @Override
- public int checkRecipe() {
- if (null != (mOutputItems[0] = GT_ModHandler.getSmeltingOutput(getInputAt(0), true, getOutputAt(0)))) {
- calculateOverclockedNess(4, 128);
- if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1)
- return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
- return FOUND_AND_SUCCESSFULLY_USED_RECIPE;
- }
- return DID_NOT_FIND_RECIPE;
- }
-
- @Override
- protected boolean allowPutStackValidated(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
- ItemStack aStack) {
- return super.allowPutStackValidated(aBaseMetaTileEntity, aIndex, side, aStack)
- && GT_ModHandler.getSmeltingOutput(GT_Utility.copyAmount(64, aStack), false, null) != null;
- }
-
- @Override
- public void startSoundLoop(byte aIndex, double aX, double aY, double aZ) {
- super.startSoundLoop(aIndex, aX, aY, aZ);
- if (aIndex == 1)
- GT_Utility.doSoundAtClient(SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP, 10, 1.0F, aX, aY, aZ);
- }
-
- @Override
- public void startProcess() {
- sendLoopStart((byte) 1);
- }
-}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
index ac037b7919..0e86829027 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
@@ -25,7 +25,6 @@ import java.util.List;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
-import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
@@ -57,8 +56,6 @@ import com.gtnewhorizons.modularui.common.widget.SlotWidget;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.SoundResource;
-import gregtech.api.gui.GT_Container_BasicMachine;
-import gregtech.api.gui.GT_GUIContainer_BasicMachine;
import gregtech.api.gui.modularui.GT_UIInfos;
import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.gui.modularui.SteamTexture;
@@ -111,7 +108,8 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
public int mProgresstime = 0, mMaxProgresstime = 0, mEUt = 0, mOutputBlocked = 0;
public ForgeDirection mMainFacing = ForgeDirection.WEST;
public FluidStack mOutputFluid;
- public String mGUIName, mNEIName;
+ @Deprecated
+ public String mGUIName = "", mNEIName = "";
protected final Power mPower;
/**
@@ -127,6 +125,8 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
this::getCapacity);
/**
+ * Registers machine with single-line description.
+ *
* @param aOverlays 0 = SideFacingActive 1 = SideFacingInactive 2 = FrontFacingActive 3 = FrontFacingInactive 4 =
* TopFacingActive 5 = TopFacingInactive 6 = BottomFacingActive 7 = BottomFacingInactive ----- Not
* all Array Elements have to be initialised, you can also just use 8 Parameters for the Default
@@ -135,6 +135,27 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
* SideFacingPipeInactive
*/
public GT_MetaTileEntity_BasicMachine(int aID, String aName, String aNameRegional, int aTier, int aAmperage,
+ String aDescription, int aInputSlotCount, int aOutputSlotCount, ITexture... aOverlays) {
+ super(
+ aID,
+ aName,
+ aNameRegional,
+ aTier,
+ OTHER_SLOT_COUNT + aInputSlotCount + aOutputSlotCount + 1,
+ aDescription,
+ aOverlays);
+ mInputSlotCount = Math.max(0, aInputSlotCount);
+ mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)];
+ mAmperage = aAmperage;
+ mPower = buildPower();
+ }
+
+ /**
+ * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine(int, String, String, int, int, String, int, int,
+ * ITexture...)}
+ */
+ @Deprecated
+ public GT_MetaTileEntity_BasicMachine(int aID, String aName, String aNameRegional, int aTier, int aAmperage,
String aDescription, int aInputSlotCount, int aOutputSlotCount, String aGUIName, String aNEIName,
ITexture... aOverlays) {
super(
@@ -148,11 +169,33 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
mInputSlotCount = Math.max(0, aInputSlotCount);
mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)];
mAmperage = aAmperage;
- mGUIName = aGUIName;
- mNEIName = aNEIName;
mPower = buildPower();
}
+ /**
+ * Registers machine with multi-line descriptions.
+ */
+ public GT_MetaTileEntity_BasicMachine(int aID, String aName, String aNameRegional, int aTier, int aAmperage,
+ String[] aDescription, int aInputSlotCount, int aOutputSlotCount, ITexture... aOverlays) {
+ super(
+ aID,
+ aName,
+ aNameRegional,
+ aTier,
+ OTHER_SLOT_COUNT + aInputSlotCount + aOutputSlotCount + 1,
+ aDescription,
+ aOverlays);
+ mInputSlotCount = Math.max(0, aInputSlotCount);
+ mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)];
+ mAmperage = aAmperage;
+ mPower = buildPower();
+ }
+
+ /**
+ * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine(int, String, String, int, int, String[], int, int,
+ * ITexture...)}
+ */
+ @Deprecated
public GT_MetaTileEntity_BasicMachine(int aID, String aName, String aNameRegional, int aTier, int aAmperage,
String[] aDescription, int aInputSlotCount, int aOutputSlotCount, String aGUIName, String aNEIName,
ITexture... aOverlays) {
@@ -167,30 +210,44 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
mInputSlotCount = Math.max(0, aInputSlotCount);
mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)];
mAmperage = aAmperage;
- mGUIName = aGUIName;
- mNEIName = aNEIName;
mPower = buildPower();
}
+ /**
+ * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine(String, int, int, String[], ITexture[][][], int, int)}
+ */
+ @Deprecated
public GT_MetaTileEntity_BasicMachine(String aName, int aTier, int aAmperage, String aDescription,
ITexture[][][] aTextures, int aInputSlotCount, int aOutputSlotCount, String aGUIName, String aNEIName) {
super(aName, aTier, OTHER_SLOT_COUNT + aInputSlotCount + aOutputSlotCount + 1, aDescription, aTextures);
mInputSlotCount = Math.max(0, aInputSlotCount);
mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)];
mAmperage = aAmperage;
- mGUIName = aGUIName;
- mNEIName = aNEIName;
mPower = buildPower();
}
+ /**
+ * For {@link #newMetaEntity}.
+ */
+ public GT_MetaTileEntity_BasicMachine(String aName, int aTier, int aAmperage, String[] aDescription,
+ ITexture[][][] aTextures, int aInputSlotCount, int aOutputSlotCount) {
+ super(aName, aTier, OTHER_SLOT_COUNT + aInputSlotCount + aOutputSlotCount + 1, aDescription, aTextures);
+ mInputSlotCount = Math.max(0, aInputSlotCount);
+ mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)];
+ mAmperage = aAmperage;
+ mPower = buildPower();
+ }
+
+ /**
+ * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine(String, int, int, String[], ITexture[][][], int, int)}
+ */
+ @Deprecated
public GT_MetaTileEntity_BasicMachine(String aName, int aTier, int aAmperage, String[] aDescription,
ITexture[][][] aTextures, int aInputSlotCount, int aOutputSlotCount, String aGUIName, String aNEIName) {
super(aName, aTier, OTHER_SLOT_COUNT + aInputSlotCount + aOutputSlotCount + 1, aDescription, aTextures);
mInputSlotCount = Math.max(0, aInputSlotCount);
mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)];
mAmperage = aAmperage;
- mGUIName = aGUIName;
- mNEIName = aNEIName;
mPower = buildPower();
}
@@ -504,20 +561,12 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
if (aBaseMetaTileEntity.isClientSide()) return true;
if (!GT_Mod.gregtechproxy.mForceFreeFace) {
- if (useModularUI()) {
- GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer);
- } else {
- aBaseMetaTileEntity.openGUI(aPlayer);
- }
+ GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer);
return true;
}
for (final ForgeDirection side : ForgeDirection.VALID_DIRECTIONS) {
if (aBaseMetaTileEntity.getAirAtSide(side)) {
- if (useModularUI()) {
- GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer);
- } else {
- aBaseMetaTileEntity.openGUI(aPlayer);
- }
+ GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer);
return true;
}
}
@@ -525,24 +574,6 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
return true;
}
- @Deprecated
- @Override
- public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_Container_BasicMachine(aPlayerInventory, aBaseMetaTileEntity);
- }
-
- @Deprecated
- @Override
- public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_GUIContainer_BasicMachine(
- aPlayerInventory,
- aBaseMetaTileEntity,
- getLocalName(),
- mGUIName,
- GT_Utility.isStringValid(mNEIName) ? mNEIName
- : getRecipeList() != null ? getRecipeList().mUnlocalizedName : "");
- }
-
@Override
public void initDefaultModes(NBTTagCompound aNBT) {
mMainFacing = ForgeDirection.UNKNOWN;
@@ -898,7 +929,7 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
@Override
public String[] getInfoData() {
- return new String[] { EnumChatFormatting.BLUE + mNEIName + EnumChatFormatting.RESET, "Progress:",
+ return new String[] { "Progress:",
EnumChatFormatting.GREEN + GT_Utility.formatNumbers((mProgresstime / 20))
+ EnumChatFormatting.RESET
+ " s / "
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java
index 2ba0ba94f2..e1321c144f 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java
@@ -57,27 +57,12 @@ public abstract class GT_MetaTileEntity_BasicMachine_Bronze extends GT_MetaTileE
public GT_MetaTileEntity_BasicMachine_Bronze(int aID, String aName, String aNameRegional, String aDescription,
int aInputSlotCount, int aOutputSlotCount, boolean aHighPressure) {
- super(
- aID,
- aName,
- aNameRegional,
- aHighPressure ? 2 : 1,
- 0,
- aDescription,
- aInputSlotCount,
- aOutputSlotCount,
- "",
- "");
- }
-
- public GT_MetaTileEntity_BasicMachine_Bronze(String aName, String aDescription, ITexture[][][] aTextures,
- int aInputSlotCount, int aOutputSlotCount, boolean aHighPressure) {
- super(aName, aHighPressure ? 2 : 1, 0, aDescription, aTextures, aInputSlotCount, aOutputSlotCount, "", "");
+ super(aID, aName, aNameRegional, aHighPressure ? 2 : 1, 0, aDescription, aInputSlotCount, aOutputSlotCount);
}
public GT_MetaTileEntity_BasicMachine_Bronze(String aName, String[] aDescription, ITexture[][][] aTextures,
int aInputSlotCount, int aOutputSlotCount, boolean aHighPressure) {
- super(aName, aHighPressure ? 2 : 1, 0, aDescription, aTextures, aInputSlotCount, aOutputSlotCount, "", "");
+ super(aName, aHighPressure ? 2 : 1, 0, aDescription, aTextures, aInputSlotCount, aOutputSlotCount);
}
protected boolean isBricked() {
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
index 2a11a890bd..3297490b51 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
@@ -12,7 +12,6 @@ import static net.minecraftforge.common.util.ForgeDirection.UP;
import java.util.Locale;
import net.minecraft.block.Block;
-import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
@@ -35,8 +34,6 @@ import gregtech.api.enums.ParticleFX;
import gregtech.api.enums.SoundResource;
import gregtech.api.enums.Textures.BlockIcons.CustomIcon;
import gregtech.api.enums.Tier;
-import gregtech.api.gui.GT_Container_BasicMachine;
-import gregtech.api.gui.GT_GUIContainer_BasicMachine;
import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
@@ -63,13 +60,15 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
private final SpecialEffects mSpecialEffect;
private final ResourceLocation mSoundResourceLocation;
private final boolean mSharedTank, mRequiresFluidForFiltering;
- private final byte mGUIParameterA, mGUIParameterB;
private FallbackableUITexture progressBarTexture;
+ /**
+ * Registers machine with single-line description, specific tank capacity, and sound specified by ResourceLocation.
+ */
public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
String aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
- int aGUIParameterA, int aGUIParameterB, String aGUIName, ResourceLocation aSound, boolean aSharedTank,
- boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect, String aOverlays, Object[] aRecipe) {
+ ResourceLocation aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect,
+ String aOverlays, Object[] aRecipe) {
this(
aID,
aName,
@@ -80,9 +79,6 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aInputSlots,
aOutputSlots,
aTankCapacity,
- aGUIParameterA,
- aGUIParameterB,
- aGUIName,
aSound,
aSharedTank,
aRequiresFluidForFiltering,
@@ -91,10 +87,13 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aRecipe);
}
+ /**
+ * Registers machine with multi-line descriptions, specific tank capacity, and sound specified by ResourceLocation.
+ */
public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
String[] aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
- int aGUIParameterA, int aGUIParameterB, String aGUIName, ResourceLocation aSound, boolean aSharedTank,
- boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect, String aOverlays, Object[] aRecipe) {
+ ResourceLocation aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect,
+ String aOverlays, Object[] aRecipe) {
super(
aID,
aName,
@@ -104,8 +103,6 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aDescription,
aInputSlots,
aOutputSlots,
- aGUIName,
- aRecipes.mNEIName,
TextureFactory.of(
TextureFactory.of(
new CustomIcon("basicmachines/" + aOverlays.toLowerCase(Locale.ENGLISH) + "/OVERLAY_SIDE_ACTIVE")),
@@ -185,8 +182,6 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
this.mRequiresFluidForFiltering = aRequiresFluidForFiltering;
this.mRecipes = aRecipes;
this.mSoundResourceLocation = aSound;
- this.mGUIParameterA = (byte) aGUIParameterA;
- this.mGUIParameterB = (byte) aGUIParameterB;
this.progressBarTexture = mRecipes.getProgressBarTextureRaw();
// TODO: CHECK
@@ -448,6 +443,36 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
}
}
+ /**
+ * Registers machine with single-line description, auto-scaled fluid tank, and sound specified by SoundResource.
+ */
+ public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
+ String aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, boolean usesFluids,
+ SoundResource aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect,
+ String aOverlays, Object[] aRecipe) {
+ this(
+ aID,
+ aName,
+ aNameRegional,
+ aTier,
+ aDescription,
+ aRecipes,
+ aInputSlots,
+ aOutputSlots,
+ usesFluids ? getCapacityForTier(aTier) : 0,
+ aSound.resourceLocation,
+ aSharedTank,
+ aRequiresFluidForFiltering,
+ aSpecialEffect,
+ aOverlays,
+ aRecipe);
+ }
+
+ /**
+ * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine_GT_Recipe(int, String, String, int, String,
+ * GT_Recipe.GT_Recipe_Map, int, int, boolean, SoundResource, boolean, boolean, SpecialEffects, String, Object[])}
+ */
+ @Deprecated
public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
String aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, boolean usesFluids,
int aGUIParameterA, int aGUIParameterB, String aGUIName, SoundResource aSound, boolean aSharedTank,
@@ -462,9 +487,6 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aInputSlots,
aOutputSlots,
usesFluids ? getCapacityForTier(aTier) : 0,
- aGUIParameterA,
- aGUIParameterB,
- aGUIName,
aSound.resourceLocation,
aSharedTank,
aRequiresFluidForFiltering,
@@ -473,6 +495,36 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aRecipe);
}
+ /**
+ * Registers machine with multi-line descriptions, auto-scaled fluid tank, and sound specified by SoundResource.
+ */
+ public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
+ String[] aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, boolean usesFluids,
+ SoundResource aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect,
+ String aOverlays, Object[] aRecipe) {
+ this(
+ aID,
+ aName,
+ aNameRegional,
+ aTier,
+ aDescription,
+ aRecipes,
+ aInputSlots,
+ aOutputSlots,
+ usesFluids ? getCapacityForTier(aTier) : 0,
+ aSound.resourceLocation,
+ aSharedTank,
+ aRequiresFluidForFiltering,
+ aSpecialEffect,
+ aOverlays,
+ aRecipe);
+ }
+
+ /**
+ * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine_GT_Recipe(int, String, String, int, String[],
+ * GT_Recipe.GT_Recipe_Map, int, int, boolean, SoundResource, boolean, boolean, SpecialEffects, String, Object[])}
+ */
+ @Deprecated
public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
String[] aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, boolean usesFluids,
int aGUIParameterA, int aGUIParameterB, String aGUIName, SoundResource aSound, boolean aSharedTank,
@@ -487,9 +539,6 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aInputSlots,
aOutputSlots,
usesFluids ? getCapacityForTier(aTier) : 0,
- aGUIParameterA,
- aGUIParameterB,
- aGUIName,
aSound.resourceLocation,
aSharedTank,
aRequiresFluidForFiltering,
@@ -498,6 +547,36 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aRecipe);
}
+ /**
+ * Registers machine with single-line description, specific tank capacity, and sound specified by SoundResource.
+ */
+ public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
+ String aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
+ SoundResource aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect,
+ String aOverlays, Object[] aRecipe) {
+ this(
+ aID,
+ aName,
+ aNameRegional,
+ aTier,
+ aDescription,
+ aRecipes,
+ aInputSlots,
+ aOutputSlots,
+ aTankCapacity,
+ aSound.resourceLocation,
+ aSharedTank,
+ aRequiresFluidForFiltering,
+ aSpecialEffect,
+ aOverlays,
+ aRecipe);
+ }
+
+ /**
+ * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine_GT_Recipe(int, String, String, int, String,
+ * GT_Recipe.GT_Recipe_Map, int, int, int, SoundResource, boolean, boolean, SpecialEffects, String, Object[])}
+ */
+ @Deprecated
public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
String aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
int aGUIParameterA, int aGUIParameterB, String aGUIName, SoundResource aSound, boolean aSharedTank,
@@ -512,9 +591,6 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aInputSlots,
aOutputSlots,
aTankCapacity,
- aGUIParameterA,
- aGUIParameterB,
- aGUIName,
aSound.resourceLocation,
aSharedTank,
aRequiresFluidForFiltering,
@@ -523,6 +599,36 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aRecipe);
}
+ /**
+ * Registers machine with multi-line descriptions, specific tank capacity, and sound specified by SoundResource.
+ */
+ public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
+ String[] aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
+ SoundResource aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect,
+ String aOverlays, Object[] aRecipe) {
+ this(
+ aID,
+ aName,
+ aNameRegional,
+ aTier,
+ aDescription,
+ aRecipes,
+ aInputSlots,
+ aOutputSlots,
+ aTankCapacity,
+ aSound.resourceLocation,
+ aSharedTank,
+ aRequiresFluidForFiltering,
+ aSpecialEffect,
+ aOverlays,
+ aRecipe);
+ }
+
+ /**
+ * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine_GT_Recipe(int, String, String, int, String[],
+ * GT_Recipe.GT_Recipe_Map, int, int, int, SoundResource, boolean, boolean, SpecialEffects, String, Object[])}
+ */
+ @Deprecated
public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
String[] aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
int aGUIParameterA, int aGUIParameterB, String aGUIName, SoundResource aSound, boolean aSharedTank,
@@ -537,9 +643,6 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aInputSlots,
aOutputSlots,
aTankCapacity,
- aGUIParameterA,
- aGUIParameterB,
- aGUIName,
aSound.resourceLocation,
aSharedTank,
aRequiresFluidForFiltering,
@@ -549,10 +652,8 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
}
/**
- * @inheritDoc
- * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine_GT_Recipe( int aID, String, String, int, String,
- * GT_Recipe.GT_Recipe_Map, int, int, int, int, int, String, ResourceLocation, boolean, boolean,
- * SpecialEffects, String , Object[])}
+ * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine_GT_Recipe(int, String, String, int, String,
+ * GT_Recipe.GT_Recipe_Map, int, int, int, ResourceLocation, boolean, boolean, SpecialEffects, String, Object[])}
*/
@Deprecated
public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
@@ -569,9 +670,6 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aInputSlots,
aOutputSlots,
aTankCapacity,
- aGUIParameterA,
- aGUIParameterB,
- aGUIName,
new ResourceLocation(aSound),
aSharedTank,
aRequiresFluidForFiltering,
@@ -580,34 +678,20 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aRecipe);
}
- public GT_MetaTileEntity_BasicMachine_GT_Recipe(String aName, int aTier, String aDescription,
- GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity, int aAmperage,
- int aGUIParameterA, int aGUIParameterB, ITexture[][][] aTextures, String aGUIName, String aNEIName,
- String aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering, int aSpecialEffect) {
- super(aName, aTier, aAmperage, aDescription, aTextures, aInputSlots, aOutputSlots, aGUIName, aNEIName);
- this.mSharedTank = aSharedTank;
- this.mTankCapacity = aTankCapacity;
- this.mSpecialEffect = SpecialEffects.fromId(aSpecialEffect);
- this.mRequiresFluidForFiltering = aRequiresFluidForFiltering;
- this.mRecipes = aRecipes;
- this.mSoundResourceLocation = new ResourceLocation(aSound);
- this.mGUIParameterA = (byte) aGUIParameterA;
- this.mGUIParameterB = (byte) aGUIParameterB;
- }
-
+ /**
+ * For {@link #newMetaEntity}.
+ */
public GT_MetaTileEntity_BasicMachine_GT_Recipe(String aName, int aTier, String[] aDescription,
GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity, int aAmperage,
- int aGUIParameterA, int aGUIParameterB, ITexture[][][] aTextures, String aGUIName, String aNEIName,
- String aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering, int aSpecialEffect) {
- super(aName, aTier, aAmperage, aDescription, aTextures, aInputSlots, aOutputSlots, aGUIName, aNEIName);
+ ITexture[][][] aTextures, ResourceLocation aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering,
+ SpecialEffects aSpecialEffect) {
+ super(aName, aTier, aAmperage, aDescription, aTextures, aInputSlots, aOutputSlots);
this.mSharedTank = aSharedTank;
this.mTankCapacity = aTankCapacity;
- this.mSpecialEffect = SpecialEffects.fromId(aSpecialEffect);
+ this.mSpecialEffect = aSpecialEffect;
this.mRequiresFluidForFiltering = aRequiresFluidForFiltering;
this.mRecipes = aRecipes;
- this.mSoundResourceLocation = new ResourceLocation(aSound);
- this.mGUIParameterA = (byte) aGUIParameterA;
- this.mGUIParameterB = (byte) aGUIParameterB;
+ this.mSoundResourceLocation = aSound;
}
@Override
@@ -621,15 +705,11 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
this.mOutputItems == null ? 0 : this.mOutputItems.length,
this.mTankCapacity,
this.mAmperage,
- this.mGUIParameterA,
- this.mGUIParameterB,
this.mTextures,
- this.mGUIName,
- this.mNEIName,
- this.mSoundResourceLocation.toString(),
+ this.mSoundResourceLocation,
this.mSharedTank,
this.mRequiresFluidForFiltering,
- this.mSpecialEffect.ordinal()).setProgressBarTexture(this.progressBarTexture);
+ this.mSpecialEffect).setProgressBarTexture(this.progressBarTexture);
}
public GT_MetaTileEntity_BasicMachine_GT_Recipe setProgressBarTexture(FallbackableUITexture progressBarTexture) {
@@ -647,24 +727,6 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
}
@Override
- public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_Container_BasicMachine(aPlayerInventory, aBaseMetaTileEntity);
- }
-
- @Override
- public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
- return new GT_GUIContainer_BasicMachine(
- aPlayerInventory,
- aBaseMetaTileEntity,
- this.getLocalName(),
- this.mGUIName,
- GT_Utility.isStringValid(this.mNEIName) ? this.mNEIName
- : this.getRecipeList() != null ? this.getRecipeList().mUnlocalizedName : "",
- this.mGUIParameterA,
- this.mGUIParameterB);
- }
-
- @Override
protected boolean allowPutStackValidated(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
ItemStack aStack) {
if (!super.allowPutStackValidated(aBaseMetaTileEntity, aIndex, side, aStack)) return false;
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Steel.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Steel.java
index 8a8f63cdb9..eae713d28a 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Steel.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Steel.java
@@ -30,11 +30,6 @@ public abstract class GT_MetaTileEntity_BasicMachine_Steel extends GT_MetaTileEn
super(aID, aName, aNameRegional, aDescription, aInputSlotCount, aOutputSlotCount, aHighPressure);
}
- public GT_MetaTileEntity_BasicMachine_Steel(String aName, String aDescription, ITexture[][][] aTextures,
- int aInputSlotCount, int aOutputSlotCount, boolean aHighPressure) {
- super(aName, aDescription, aTextures, aInputSlotCount, aOutputSlotCount, aHighPressure);
- }
-
public GT_MetaTileEntity_BasicMachine_Steel(String aName, String[] aDescription, ITexture[][][] aTextures,
int aInputSlotCount, int aOutputSlotCount, boolean aHighPressure) {
super(aName, aDescription, aTextures, aInputSlotCount, aOutputSlotCount, aHighPressure);