aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/core/container
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2024-08-16 22:26:16 +0900
committerGitHub <noreply@github.com>2024-08-16 22:26:16 +0900
commit83ebeadd3b867f45914972f4573211b3324ca433 (patch)
tree02acdcbb7cda6ee8c72cf7b4f575aa6591373d74 /src/main/java/gtPlusPlus/core/container
parent07610983b13813893b482e2c1a050355fd007c60 (diff)
downloadGT5-Unofficial-83ebeadd3b867f45914972f4573211b3324ca433.tar.gz
GT5-Unofficial-83ebeadd3b867f45914972f4573211b3324ca433.tar.bz2
GT5-Unofficial-83ebeadd3b867f45914972f4573211b3324ca433.zip
Cleanup (#2904)
* Remove redundant inputSeparation=true call * Remove deprecated MetaTileEntity#isDisplaySecondaryDescription * Always use ModularUI * Remove useModularUI * Remove unused GUI features * Remove IGlobalWirelessEnergy * Remove CommonValues.V & CommonValues.VN * More deprecation cleanup --------- Co-authored-by: boubou19 <miisterunknown@gmail.com>
Diffstat (limited to 'src/main/java/gtPlusPlus/core/container')
-rw-r--r--src/main/java/gtPlusPlus/core/container/Container_PestKiller.java89
1 files changed, 88 insertions, 1 deletions
diff --git a/src/main/java/gtPlusPlus/core/container/Container_PestKiller.java b/src/main/java/gtPlusPlus/core/container/Container_PestKiller.java
index d6afa0d68f..315f34595e 100644
--- a/src/main/java/gtPlusPlus/core/container/Container_PestKiller.java
+++ b/src/main/java/gtPlusPlus/core/container/Container_PestKiller.java
@@ -3,12 +3,15 @@ package gtPlusPlus.core.container;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
+import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.fluids.FluidStack;
-import gregtech.api.gui.GT_Slot_Render;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import gtPlusPlus.core.block.ModBlocks;
import gtPlusPlus.core.inventories.InventoryPestKiller;
import gtPlusPlus.core.slots.SlotGeneric;
@@ -144,4 +147,88 @@ public class Container_PestKiller extends Container {
public boolean func_94530_a(final ItemStack p_94530_1_, final Slot p_94530_2_) {
return super.func_94530_a(p_94530_1_, p_94530_2_);
}
+
+ private class GT_Slot_Render extends Slot {
+
+ public final int mSlotIndex;
+ public boolean mEnabled = true;
+ public boolean mCanInsertItem, mCanStackItem;
+ public int mMaxStacksize = 127;
+
+ public GT_Slot_Render(IInventory inventory, int slotIndex, int xPos, int yPos) {
+ this(inventory, slotIndex, xPos, yPos, false, false, 0);
+ }
+
+ public GT_Slot_Render(IInventory inventory, int slotIndex, int xPos, int yPos, boolean aCanInsertItem,
+ boolean aCanStackItem, int aMaxStacksize) {
+ super(inventory, slotIndex, xPos, yPos);
+ mCanInsertItem = aCanInsertItem;
+ mCanStackItem = aCanStackItem;
+ mMaxStacksize = aMaxStacksize;
+ mSlotIndex = slotIndex;
+ }
+
+ @Override
+ public boolean isItemValid(ItemStack itemStack) {
+ return mCanInsertItem;
+ }
+
+ @Override
+ public int getSlotStackLimit() {
+ return mMaxStacksize;
+ }
+
+ @Override
+ public boolean getHasStack() {
+ return false;
+ }
+
+ @Override
+ public ItemStack decrStackSize(int amount) {
+ if (!mCanStackItem) return null;
+ return super.decrStackSize(amount);
+ }
+
+ @Override
+ public boolean canTakeStack(EntityPlayer player) {
+ return false;
+ }
+
+ /**
+ * Sets if this slot should be ignored in event-processing. For example, highlight the slot on mouseOver.
+ *
+ * @param enabled if the slot should be enabled
+ */
+ public void setEnabled(boolean enabled) {
+ mEnabled = enabled;
+ }
+
+ /**
+ * Use this value to determine whether to ignore this slot in event processing
+ */
+ public boolean isEnabled() {
+ return mEnabled;
+ }
+
+ /**
+ * This function controls whether to highlight the slot on mouseOver.
+ */
+ @Override
+ @SideOnly(Side.CLIENT)
+ public boolean func_111238_b() {
+ return isEnabled();
+ }
+
+ /**
+ * NEI has a nice and "useful" Delete-All Function, which would delete the Content of this Slot. This is here to
+ * prevent that.
+ */
+ @Override
+ public void putStack(ItemStack aStack) {
+ if (inventory instanceof TileEntity && ((TileEntity) inventory).getWorldObj().isRemote) {
+ inventory.setInventorySlotContents(getSlotIndex(), aStack);
+ }
+ onSlotChanged();
+ }
+ }
}