1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
package com.elisis.gtnhlanth.common.hatch;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
import com.elisis.gtnhlanth.common.item.ICanFocus;
import com.elisis.gtnhlanth.util.Util;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gtPlusPlus.api.objects.data.AutoMap;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.nbthandlers.GT_MetaTileEntity_Hatch_NbtConsumable;
import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
public class TileBusInputFocus extends GT_MetaTileEntity_Hatch_NbtConsumable {
private static final int INPUT_SLOTS = 4;
public TileBusInputFocus(int id, String name, String nameRegional) {
super(id, name, nameRegional, 0, INPUT_SLOTS, "Input Bus for Foci", false);
}
public TileBusInputFocus(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 GT_RenderedTexture(TexturesGtBlock.Overlay_Bus_Catalyst) };
}
@Override
public ITexture[] getTexturesInactive(ITexture aBaseTexture) {
return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Bus_Catalyst) };
}
@Override
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new TileBusInputFocus(mName, mDescriptionArray, mTextures);
}
}
|