aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtnhlanth/common/hatch/MTEBusInputFocus.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gtnhlanth/common/hatch/MTEBusInputFocus.java')
-rw-r--r--src/main/java/gtnhlanth/common/hatch/MTEBusInputFocus.java84
1 files changed, 84 insertions, 0 deletions
diff --git a/src/main/java/gtnhlanth/common/hatch/MTEBusInputFocus.java b/src/main/java/gtnhlanth/common/hatch/MTEBusInputFocus.java
new file mode 100644
index 0000000000..1d8840295b
--- /dev/null
+++ b/src/main/java/gtnhlanth/common/hatch/MTEBusInputFocus.java
@@ -0,0 +1,84 @@
+package gtnhlanth.common.hatch;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.objects.GTRenderedTexture;
+import gtPlusPlus.api.objects.data.AutoMap;
+import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.nbthandlers.MTEHatchNbtConsumable;
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
+import gtnhlanth.common.item.ICanFocus;
+import gtnhlanth.util.Util;
+
+public class MTEBusInputFocus extends MTEHatchNbtConsumable {
+
+ private static final int INPUT_SLOTS = 4;
+
+ public MTEBusInputFocus(int id, String name, String nameRegional) {
+ super(id, name, nameRegional, 0, INPUT_SLOTS, "Input Bus for Foci", false);
+ }
+
+ public MTEBusInputFocus(String name, String[] descriptionArray, ITexture[][][] textures) {
+ super(name, 0, INPUT_SLOTS, descriptionArray, false, textures);
+ }
+
+ @Override
+ public int getInputSlotCount() {
+ return INPUT_SLOTS;
+ }
+
+ @Override
+ public boolean isFacingValid(ForgeDirection facing) {
+ return true;
+ }
+
+ @Override
+ public AutoMap<ItemStack> getItemsValidForUsageSlots() {
+ return new AutoMap<>();
+ }
+
+ @Override
+ public boolean isItemValidForUsageSlot(ItemStack aStack) {
+
+ if (this.getContentUsageSlots()
+ .size() == 0) {
+ return aStack.getItem() instanceof ICanFocus;
+ } else {
+ return false;
+ }
+
+ }
+
+ @Override
+ public String getNameGUI() {
+ return "Focus Input Bus";
+ }
+
+ public void depleteFocusDurability(int damage) {
+
+ ItemStack stack = this.getContentUsageSlots()
+ .toArray()[0];
+
+ Util.depleteDurabilityOfStack(stack, damage);
+
+ }
+
+ @Override
+ public ITexture[] getTexturesActive(ITexture aBaseTexture) {
+ return new ITexture[] { aBaseTexture, new GTRenderedTexture(TexturesGtBlock.Overlay_Bus_Catalyst) };
+ }
+
+ @Override
+ public ITexture[] getTexturesInactive(ITexture aBaseTexture) {
+ return new ITexture[] { aBaseTexture, new GTRenderedTexture(TexturesGtBlock.Overlay_Bus_Catalyst) };
+ }
+
+ @Override
+ public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
+ return new MTEBusInputFocus(mName, mDescriptionArray, mTextures);
+ }
+
+}