aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/gregtech/api/enums/ItemList.java3
-rw-r--r--src/main/java/gregtech/api/enums/Textures.java7
-rw-r--r--src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java11
-rw-r--r--src/main/java/gregtech/common/covers/GT_Cover_Chest.java274
-rw-r--r--src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java432
-rw-r--r--src/main/java/gregtech/common/items/ID_MetaItem_01.java3
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_1.pngbin0 -> 453 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_1_OPENED.pngbin0 -> 476 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_2.pngbin0 -> 452 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_2_OPENED.pngbin0 -> 474 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_3.pngbin0 -> 452 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_3_OPENED.pngbin0 -> 474 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/380.pngbin0 -> 476 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/381.pngbin0 -> 474 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/382.pngbin0 -> 474 bytes
15 files changed, 328 insertions, 402 deletions
diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java
index 6533aca304..d26f4bef15 100644
--- a/src/main/java/gregtech/api/enums/ItemList.java
+++ b/src/main/java/gregtech/api/enums/ItemList.java
@@ -592,6 +592,9 @@ public enum ItemList implements IItemContainer {
Cover_SolarPanel_UHV,
Cover_SolarPanel_UEV,
Cover_SolarPanel_UIV,
+ Cover_Chest_Basic,
+ Cover_Chest_Good,
+ Cover_Chest_Advanced,
Ingot_IridiumAlloy,
Plank_Oak,
Plank_Spruce,
diff --git a/src/main/java/gregtech/api/enums/Textures.java b/src/main/java/gregtech/api/enums/Textures.java
index 53125ec454..618fc83c55 100644
--- a/src/main/java/gregtech/api/enums/Textures.java
+++ b/src/main/java/gregtech/api/enums/Textures.java
@@ -538,6 +538,13 @@ public class Textures {
OVERLAY_FLUIDDETECTOR,
OVERLAY_ITEMDETECTOR,
+ OVERLAY_COVER_CHEST_1,
+ OVERLAY_COVER_CHEST_1_OPENED,
+ OVERLAY_COVER_CHEST_2,
+ OVERLAY_COVER_CHEST_2_OPENED,
+ OVERLAY_COVER_CHEST_3,
+ OVERLAY_COVER_CHEST_3_OPENED,
+
OVERLAY_REDSTONE_TRANSMITTER,
OVERLAY_REDSTONE_RECEIVER,
OVERLAY_MAINTENANCE_DETECTOR,
diff --git a/src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java b/src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java
index c66251439b..f5bd7a92f4 100644
--- a/src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java
+++ b/src/main/java/gregtech/api/util/GT_CoverBehaviorBase.java
@@ -30,6 +30,7 @@ import gregtech.api.GregTech_API;
import gregtech.api.gui.GT_GUIColorOverride;
import gregtech.api.gui.modularui.GT_CoverUIBuildContext;
import gregtech.api.gui.modularui.GT_UIInfos;
+import gregtech.api.gui.modularui.GUITextureSet;
import gregtech.api.gui.widgets.GT_CoverTickRateButton;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.ICoverable;
@@ -431,9 +432,7 @@ public abstract class GT_CoverBehaviorBase<T extends ISerializableObject> {
ModularWindow.Builder builder = ModularWindow.builder(getGUIWidth(), getGUIHeight());
builder.setBackground(ModularUITextures.VANILLA_BACKGROUND);
builder.setGuiTint(getUIBuildContext().getGuiColorization());
- if (doesBindPlayerInventory() && !getUIBuildContext().isAnotherWindow()) {
- builder.bindPlayerInventory(getUIBuildContext().getPlayer());
- }
+ maybeBindPlayerInventory(builder);
addTitleToUI(builder);
addUIWidgets(builder);
if (getUIBuildContext().isAnotherWindow()) {
@@ -453,6 +452,12 @@ public abstract class GT_CoverBehaviorBase<T extends ISerializableObject> {
return builder.build();
}
+ protected void maybeBindPlayerInventory(ModularWindow.Builder builder) {
+ if (doesBindPlayerInventory() && !getUIBuildContext().isAnotherWindow()) {
+ builder.bindPlayerInventory(getUIBuildContext().getPlayer(), 7, GUITextureSet.DEFAULT.getItemSlot());
+ }
+ }
+
/**
* Override this to add widgets for your UI.
*/
diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Chest.java b/src/main/java/gregtech/common/covers/GT_Cover_Chest.java
new file mode 100644
index 0000000000..36e441102b
--- /dev/null
+++ b/src/main/java/gregtech/common/covers/GT_Cover_Chest.java
@@ -0,0 +1,274 @@
+package gregtech.common.covers;
+
+import static gregtech.api.objects.XSTR.XSTR_INSTANCE;
+
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.entity.player.EntityPlayerMP;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTBase;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+
+import com.google.common.io.ByteArrayDataInput;
+import com.gtnewhorizons.modularui.api.forge.ItemStackHandler;
+import com.gtnewhorizons.modularui.api.math.Alignment;
+import com.gtnewhorizons.modularui.api.math.Size;
+import com.gtnewhorizons.modularui.api.screen.ModularWindow;
+import com.gtnewhorizons.modularui.common.widget.SlotGroup;
+
+import cpw.mods.fml.common.network.ByteBufUtils;
+import gregtech.api.gui.modularui.GT_CoverUIBuildContext;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.tileentity.ICoverable;
+import gregtech.api.util.GT_CoverBehaviorBase;
+import gregtech.api.util.ISerializableObject;
+import gregtech.common.gui.modularui.widget.CoverDataControllerWidget;
+import io.netty.buffer.ByteBuf;
+
+public class GT_Cover_Chest extends GT_CoverBehaviorBase<GT_Cover_Chest.ChestInventory> {
+
+ private final int slots;
+ private final int stackSizeLimit = 1;
+
+ public GT_Cover_Chest(int slots, ITexture coverTexture) {
+ super(ChestInventory.class, coverTexture);
+ if (slots <= 0) throw new IllegalArgumentException("slots must be greater than 0");
+ this.slots = slots;
+ }
+
+ @Override
+ public ChestInventory createDataObject(int aLegacyData) {
+ return new ChestInventory(slots, stackSizeLimit);
+ }
+
+ @Override
+ public ChestInventory createDataObject() {
+ return new ChestInventory(slots, stackSizeLimit);
+ }
+
+ @Override
+ public boolean hasCoverGUI() {
+ return true;
+ }
+
+ @Override
+ public boolean isSimpleCover() {
+ return true;
+ }
+
+ @Override
+ public boolean allowsCopyPasteTool() {
+ return false;
+ }
+
+ @Override
+ public boolean allowsTickRateAddition() {
+ return false;
+ }
+
+ @Override
+ protected void onDroppedImpl(ForgeDirection side, int aCoverID, ChestInventory aCoverVariable,
+ ICoverable aTileEntity) {
+ if (aTileEntity.getWorld().isRemote) return;
+ aCoverVariable.dropAll(aTileEntity, side);
+ }
+
+ @Override
+ protected int getTickRateImpl(ForgeDirection side, int aCoverID, ChestInventory aCoverVariable,
+ ICoverable aTileEntity) {
+ return aCoverVariable.firstTick ? 1 : 0;
+ }
+
+ @Override
+ protected ChestInventory doCoverThingsImpl(ForgeDirection side, byte aInputRedstone, int aCoverID,
+ ChestInventory aCoverVariable, ICoverable aTileEntity, long aTimer) {
+ // migrate slots. mostly needed while in development. still can be useful if we ever resize the inventory in the
+ // future
+ if (aCoverVariable.items.getSlots() != slots) {
+ if (aCoverVariable.items.getSlots() > slots) {
+ for (int i = slots; i < aCoverVariable.items.getSlots(); i++) {
+ ItemStack item = aCoverVariable.items.getStackInSlot(i);
+ if (item != null) {
+ dropItem(aTileEntity, side, item);
+ }
+ }
+ }
+
+ ChestInventory newData = createDataObject();
+ int toCopy = Math.min(newData.items.getSlots(), aCoverVariable.items.getSlots());
+ for (int i = 0; i < toCopy; i++) {
+ newData.items.setStackInSlot(i, aCoverVariable.items.getStackInSlot(i));
+ }
+ return newData;
+ }
+ aCoverVariable.firstTick = false;
+ return super.doCoverThingsImpl(side, aInputRedstone, aCoverID, aCoverVariable, aTileEntity, aTimer);
+ }
+
+ @Override
+ public ModularWindow createWindow(GT_CoverUIBuildContext buildContext) {
+ return new ChestUIFactory(buildContext).createWindow();
+ }
+
+ public class ChestUIFactory extends UIFactory {
+
+ private static final int spaceX = 18;
+ private static final int spaceY = 18;
+
+ public ChestUIFactory(GT_CoverUIBuildContext buildContext) {
+ super(buildContext);
+ }
+
+ @Override
+ protected int getGUIHeight() {
+ int height = slots / 3 * 18 + 8;
+ if (!getUIBuildContext().isAnotherWindow()) {
+ // player inv is 4 row
+ return height + 4 * 18 + 14;
+ }
+ return height;
+ }
+
+ @Override
+ protected void addTitleToUI(ModularWindow.Builder builder) {}
+
+ @Override
+ protected int getGUIWidth() {
+ if (getUIBuildContext().isAnotherWindow()) {
+ return 18 * 3 + 20;
+ } else {
+ return 18 * 9 + 20;
+ }
+ }
+
+ @Override
+ protected void addUIWidgets(ModularWindow.Builder builder) {
+ CoverDataControllerWidget<ChestInventory> w = new CoverDataControllerWidget<>(
+ this::getCoverData,
+ this::setCoverData,
+ GT_Cover_Chest.this);
+ ChestInventory d = getCoverData();
+ LimitingItemStackHandler h;
+ if (d == null) {
+ // ???
+ return;
+ }
+ h = d.items;
+ SlotGroup slotGroup = SlotGroup.ofItemHandler(h, 3)
+ .build();
+ if (getUIBuildContext().isAnotherWindow()) {
+ slotGroup.setPos(4, 4);
+ } else {
+ slotGroup.setPos(getGUIWidth() / 2 - 18 * 3 / 2, 6);
+ }
+ w.addChild(slotGroup);
+ builder.widget(w);
+
+ builder.setPos(
+ (p, t) -> Alignment.Center.getAlignedPos(
+ new Size(getUIBuildContext().isAnotherWindow() ? t.getPos().x : p.width, p.height),
+ new Size(getGUIWidth(), getGUIHeight())));
+ }
+
+ @Override
+ protected boolean doesBindPlayerInventory() {
+ return true;
+ }
+ }
+
+ private static class LimitingItemStackHandler extends ItemStackHandler {
+
+ private final int slotLimit;
+
+ private LimitingItemStackHandler(int slots, int slotLimit) {
+ super(slots);
+ this.slotLimit = slotLimit;
+ }
+
+ @Override
+ public int getSlotLimit(int slot) {
+ return slotLimit;
+ }
+ }
+
+ public static class ChestInventory implements ISerializableObject {
+
+ final LimitingItemStackHandler items;
+ boolean firstTick;
+
+ public ChestInventory(int slots, int stackSize) {
+ items = new LimitingItemStackHandler(slots, stackSize);
+ }
+
+ @NotNull
+ @Override
+ public ISerializableObject readFromPacket(ByteArrayDataInput aBuf, @Nullable EntityPlayerMP aPlayer) {
+ items.deserializeNBT(ISerializableObject.readCompoundTagFromGreggyByteBuf(aBuf));
+ return this;
+ }
+
+ @Override
+ public void writeToByteBuf(ByteBuf aBuf) {
+ ByteBufUtils.writeTag(aBuf, items.serializeNBT());
+ }
+
+ @Override
+ public void loadDataFromNBT(NBTBase aNBT) {
+ if (!(aNBT instanceof NBTTagCompound)) return;
+ items.deserializeNBT((NBTTagCompound) aNBT);
+ firstTick = true;
+ }
+
+ @NotNull
+ @Override
+ public NBTBase saveDataToNBT() {
+ return items.serializeNBT();
+ }
+
+ @NotNull
+ @Override
+ public ISerializableObject copy() {
+ ChestInventory copy = new ChestInventory(items.getSlots(), items.getSlotLimit(0));
+ for (int i = 0; i < items.getSlots(); i++) {
+ copy.items.setStackInSlot(i, items.getStackInSlot(i));
+ }
+ return copy;
+ }
+
+ public void dropAll(ICoverable coverable, ForgeDirection direction) {
+ for (int i = 0; i < items.getSlots(); i++) {
+ ItemStack tItem = items.getStackInSlot(i);
+ if (tItem == null) {
+ continue;
+ }
+ dropItem(coverable, direction, tItem);
+ items.setStackInSlot(i, null);
+ }
+ }
+ }
+
+ private static void dropItem(ICoverable coverable, ForgeDirection direction, ItemStack tItem) {
+ final EntityItem tItemEntity = new EntityItem(
+ coverable.getWorld(),
+ coverable.getXCoord() + XSTR_INSTANCE.nextFloat() * 0.8F + 0.1F + direction.offsetX,
+ coverable.getYCoord() + XSTR_INSTANCE.nextFloat() * 0.8F + 0.1F + direction.offsetY,
+ coverable.getZCoord() + XSTR_INSTANCE.nextFloat() * 0.8F + 0.1F + direction.offsetZ,
+ new ItemStack(tItem.getItem(), tItem.stackSize, tItem.getItemDamage()));
+ if (tItem.hasTagCompound()) {
+ tItemEntity.getEntityItem()
+ .setTagCompound(
+ (NBTTagCompound) tItem.getTagCompound()
+ .copy());
+ }
+ tItemEntity.motionX = (XSTR_INSTANCE.nextGaussian() * 0.05D);
+ tItemEntity.motionY = (XSTR_INSTANCE.nextGaussian() * 0.05D + 0.2D);
+ tItemEntity.motionZ = (XSTR_INSTANCE.nextGaussian() * 0.05D);
+ tItemEntity.hurtResistantTime = 999999;
+ tItemEntity.lifespan = 60000;
+ coverable.getWorld()
+ .spawnEntityInWorld(tItemEntity);
+ }
+}
diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
index 69f5a5a3ee..88a7e1f69e 100644
--- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
+++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
@@ -48,405 +48,7 @@ import static gregtech.client.GT_TooltipHandler.Tier.UV;
import static gregtech.client.GT_TooltipHandler.Tier.UXV;
import static gregtech.client.GT_TooltipHandler.Tier.ZPM;
import static gregtech.client.GT_TooltipHandler.registerTieredTooltip;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_EV;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_EV_Full;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_IV;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_IV_Full;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_LuV;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_LuV_Full;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UEV;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UEV_Full;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UHV;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UHV_Full;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UIV;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UIV_Full;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UMV;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UMV_Full;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UV;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UV_Full;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UxV;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_UxV_Full;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_ZPM;
-import static gregtech.common.items.ID_MetaItem_01.BatteryHull_ZPM_Full;
-import static gregtech.common.items.ID_MetaItem_01.Battery_Hull_HV;
-import static gregtech.common.items.ID_MetaItem_01.Battery_Hull_LV;
-import static gregtech.common.items.ID_MetaItem_01.Battery_Hull_MV;
-import static gregtech.common.items.ID_MetaItem_01.Battery_RE_HV_Cadmium;
-import static gregtech.common.items.ID_MetaItem_01.Battery_RE_HV_Lithium;
-import static gregtech.common.items.ID_MetaItem_01.Battery_RE_HV_Sodium;
-import static gregtech.common.items.ID_MetaItem_01.Battery_RE_LV_Cadmium;
-import static gregtech.common.items.ID_MetaItem_01.Battery_RE_LV_Lithium;
-import static gregtech.common.items.ID_MetaItem_01.Battery_RE_LV_Sodium;
-import static gregtech.common.items.ID_MetaItem_01.Battery_RE_MV_Cadmium;
-import static gregtech.common.items.ID_MetaItem_01.Battery_RE_MV_Lithium;
-import static gregtech.common.items.ID_MetaItem_01.Battery_RE_MV_Sodium;
-import static gregtech.common.items.ID_MetaItem_01.Battery_RE_ULV_Tantalum;
-import static gregtech.common.items.ID_MetaItem_01.Battery_SU_HV_Mercury;
-import static gregtech.common.items.ID_MetaItem_01.Battery_SU_HV_Sulfuric_Acid;
-import static gregtech.common.items.ID_MetaItem_01.Battery_SU_LV_Mercury;
-import static gregtech.common.items.ID_MetaItem_01.Battery_SU_LV_Sulfuric_Acid;
-import static gregtech.common.items.ID_MetaItem_01.Battery_SU_MV_Mercury;
-import static gregtech.common.items.ID_MetaItem_01.Battery_SU_MV_Sulfuric_Acid;
-import static gregtech.common.items.ID_MetaItem_01.Book_Written_01;
-import static gregtech.common.items.ID_MetaItem_01.Book_Written_02;
-import static gregtech.common.items.ID_MetaItem_01.Book_Written_03;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Advanced;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Basic;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Board_Advanced;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Board_Basic;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Board_Elite;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Data;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Elite;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Good;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Master;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Advanced;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Crystal_Chip_Elite;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Crystal_Chip_Master;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Crystal_Chip_Wetware;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Wiring_Advanced;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Wiring_Basic;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Parts_Wiring_Elite;
-import static gregtech.common.items.ID_MetaItem_01.Circuit_Primitive;
-import static gregtech.common.items.ID_MetaItem_01.Component_Filter;
-import static gregtech.common.items.ID_MetaItem_01.Component_Grinder_Diamond;
-import static gregtech.common.items.ID_MetaItem_01.Component_Grinder_Tungsten;
-import static gregtech.common.items.ID_MetaItem_01.Component_Minecraft_Wheels_Iron;
-import static gregtech.common.items.ID_MetaItem_01.Component_Minecraft_Wheels_Steel;
-import static gregtech.common.items.ID_MetaItem_01.Component_Sawblade_Diamond;
-import static gregtech.common.items.ID_MetaItem_01.Compressed_Fireclay;
-import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_EV;
-import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_HV;
-import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_IV;
-import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_LV;
-import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_LuV;
-import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_MAX;
-import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_MV;
-import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UEV;
-import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UHV;
-import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UIV;
-import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UMV;
-import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UV;
-import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_UXV;
-import static gregtech.common.items.ID_MetaItem_01.Conveyor_Module_ZPM;
-import static gregtech.common.items.ID_MetaItem_01.Cover_ActivityDetector;
-import static gregtech.common.items.ID_MetaItem_01.Cover_Controller;
-import static gregtech.common.items.ID_MetaItem_01.Cover_Crafting;
-import static gregtech.common.items.ID_MetaItem_01.Cover_Drain;
-import static gregtech.common.items.ID_MetaItem_01.Cover_EnergyDetector;
-import static gregtech.common.items.ID_MetaItem_01.Cover_FLuidStorageMonitor;
-import static gregtech.common.items.ID_MetaItem_01.Cover_FluidDetector;
-import static gregtech.common.items.ID_MetaItem_01.Cover_FluidLimiter;
-import static gregtech.common.items.ID_MetaItem_01.Cover_ItemDetector;
-import static gregtech.common.items.ID_MetaItem_01.Cover_NeedsMaintenance;
-import static gregtech.common.items.ID_MetaItem_01.Cover_PlayerDetector;
-import static gregtech.common.items.ID_MetaItem_01.Cover_RedstoneReceiverExternal;
-import static gregtech.common.items.ID_MetaItem_01.Cover_RedstoneReceiverInternal;
-import static gregtech.common.items.ID_MetaItem_01.Cover_RedstoneTransmitterExternal;
-import static gregtech.common.items.ID_MetaItem_01.Cover_RedstoneTransmitterInternal;
-import static gregtech.common.items.ID_MetaItem_01.Cover_Screen;
-import static gregtech.common.items.ID_MetaItem_01.Cover_Shutter;
-import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel;
-import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_8V;
-import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_EV;
-import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_HV;
-import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_IV;
-import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_LV;
-import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_LuV;
-import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_MV;
-import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_UV;
-import static gregtech.common.items.ID_MetaItem_01.Cover_SolarPanel_ZPM;
-import static gregtech.common.items.ID_MetaItem_01.Crate_Empty;
-import static gregtech.common.items.ID_MetaItem_01.Duct_Tape;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_EV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_HV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_IV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_LV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_LuV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_MAX;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_MV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UEV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UHV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UIV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UMV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_UXV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Motor_ZPM;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_EV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_HV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_IV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_LV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_LuV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_MAX;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_MV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UEV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UHV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UIV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UMV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_UXV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Piston_ZPM;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_EV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_HV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_IV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_LV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_LuV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_MAX;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_MV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UEV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UHV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UIV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UMV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_UXV;
-import static gregtech.common.items.ID_MetaItem_01.Electric_Pump_ZPM;
-import static gregtech.common.items.ID_MetaItem_01.Electromagnet_Iron;
-import static gregtech.common.items.ID_MetaItem_01.Electromagnet_Neodymium;
-import static gregtech.common.items.ID_MetaItem_01.Electromagnet_Samarium;
-import static gregtech.common.items.ID_MetaItem_01.Electromagnet_Steel;
-import static gregtech.common.items.ID_MetaItem_01.Electromagnet_Tengam;
-import static gregtech.common.items.ID_MetaItem_01.Emitter_EV;
-import static gregtech.common.items.ID_MetaItem_01.Emitter_HV;
-import static gregtech.common.items.ID_MetaItem_01.Emitter_IV;
-import static gregtech.common.items.ID_MetaItem_01.Emitter_LV;
-import static gregtech.common.items.ID_MetaItem_01.Emitter_LuV;
-import static gregtech.common.items.ID_MetaItem_01.Emitter_MAX;
-import static gregtech.common.items.ID_MetaItem_01.Emitter_MV;
-import static gregtech.common.items.ID_MetaItem_01.Emitter_UEV;
-import static gregtech.common.items.ID_MetaItem_01.Emitter_UHV;
-import static gregtech.common.items.ID_MetaItem_01.Emitter_UIV;
-import static gregtech.common.items.ID_MetaItem_01.Emitter_UMV;
-import static gregtech.common.items.ID_MetaItem_01.Emitter_UV;
-import static gregtech.common.items.ID_MetaItem_01.Emitter_UXV;
-import static gregtech.common.items.ID_MetaItem_01.Emitter_ZPM;
-import static gregtech.common.items.ID_MetaItem_01.Empty_Board_Basic;
-import static gregtech.common.items.ID_MetaItem_01.Empty_Board_Elite;
-import static gregtech.common.items.ID_MetaItem_01.EnergisedTesseract;
-import static gregtech.common.items.ID_MetaItem_01.Energy_Cluster;
-import static gregtech.common.items.ID_MetaItem_01.Energy_Lapotronic_Orb;
-import static gregtech.common.items.ID_MetaItem_01.Energy_Lapotronic_orb_2;
-import static gregtech.common.items.ID_MetaItem_01.Energy_Module;
-import static gregtech.common.items.ID_MetaItem_01.Field_Generator_EV;
-import static gregtech.common.items.ID_MetaItem_01.Field_Generator_HV;
-import static gregtech.common.items.ID_MetaItem_01.Field_Generator_IV;
-import static gregtech.common.items.ID_MetaItem_01.Field_Generator_LV;
-import static gregtech.common.items.ID_MetaItem_01.Field_Generator_LuV;
-import static gregtech.common.items.ID_MetaItem_01.Field_Generator_MAX;
-import static gregtech.common.items.ID_MetaItem_01.Field_Generator_MV;
-import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UEV;
-import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UHV;
-import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UIV;
-import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UMV;
-import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UV;
-import static gregtech.common.items.ID_MetaItem_01.Field_Generator_UXV;
-import static gregtech.common.items.ID_MetaItem_01.Field_Generator_ZPM;
-import static gregtech.common.items.ID_MetaItem_01.Firebrick;
-import static gregtech.common.items.ID_MetaItem_01.FluidFilter;
-import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_EV;
-import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_HV;
-import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_IV;
-import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_LV;
-import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_LuV;
-import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_MV;
-import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_UV;
-import static gregtech.common.items.ID_MetaItem_01.FluidRegulator_ZPM;
-import static gregtech.common.items.ID_MetaItem_01.Fuel_Can_Plastic_Empty;
-import static gregtech.common.items.ID_MetaItem_01.Fuel_Can_Plastic_Filled;
-import static gregtech.common.items.ID_MetaItem_01.GigaChad;
-import static gregtech.common.items.ID_MetaItem_01.Gravistar;
-import static gregtech.common.items.ID_MetaItem_01.Ingot_Heavy1;
-import static gregtech.common.items.ID_MetaItem_01.Ingot_Heavy2;
-import static gregtech.common.items.ID_MetaItem_01.Ingot_Heavy3;
-import static gregtech.common.items.ID_MetaItem_01.Ingot_Iridium_Alloy;
-import static gregtech.common.items.ID_MetaItem_01.ItemFilter_Export;
-import static gregtech.common.items.ID_MetaItem_01.ItemFilter_Import;
-import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Aluminium;
-import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Chrome;
-import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Iridium;
-import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Neutronium;
-import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Osmium;
-import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_StainlessSteel;
-import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Steel;
-import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_Titanium;
-import static gregtech.common.items.ID_MetaItem_01.Large_Fluid_Cell_TungstenSteel;
-import static gregtech.common.items.ID_MetaItem_01.McGuffium_239;
-import static gregtech.common.items.ID_MetaItem_01.NC_SensorKit;
-import static gregtech.common.items.ID_MetaItem_01.NaquadriaSupersolid;
-import static gregtech.common.items.ID_MetaItem_01.Paper_Magic_Empty;
-import static gregtech.common.items.ID_MetaItem_01.Paper_Magic_Page;
-import static gregtech.common.items.ID_MetaItem_01.Paper_Magic_Pages;
-import static gregtech.common.items.ID_MetaItem_01.Paper_Printed_Pages;
-import static gregtech.common.items.ID_MetaItem_01.Paper_Punch_Card_Empty;
-import static gregtech.common.items.ID_MetaItem_01.Paper_Punch_Card_Encoded;
-import static gregtech.common.items.ID_MetaItem_01.QuantumEye;
-import static gregtech.common.items.ID_MetaItem_01.QuantumStar;
-import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_EV;
-import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_HV;
-import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_IV;
-import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_LV;
-import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_LuV;
-import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_MAX;
-import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_MV;
-import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UEV;
-import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UHV;
-import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UIV;
-import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UMV;
-import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UV;
-import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_UXV;
-import static gregtech.common.items.ID_MetaItem_01.Robot_Arm_ZPM;
-import static gregtech.common.items.ID_MetaItem_01.Schematic;
-import static gregtech.common.items.ID_MetaItem_01.Schematic_1by1;
-import static gregtech.common.items.ID_MetaItem_01.Schematic_2by2;
-import static gregtech.common.items.ID_MetaItem_01.Schematic_3by3;
-import static gregtech.common.items.ID_MetaItem_01.Schematic_Crafting;
-import static gregtech.common.items.ID_MetaItem_01.Schematic_Dust;
-import static gregtech.common.items.ID_MetaItem_01.Sensor_EV;
-import static gregtech.common.items.ID_MetaItem_01.Sensor_HV;
-import static gregtech.common.items.ID_MetaItem_01.Sensor_IV;
-import static gregtech.common.items.ID_MetaItem_01.Sensor_LV;
-import static gregtech.common.items.ID_MetaItem_01.Sensor_LuV;
-import static gregtech.common.items.ID_MetaItem_01.Sensor_MAX;
-import static gregtech.common.items.ID_MetaItem_01.Sensor_MV;
-import static gregtech.common.items.ID_MetaItem_01.Sensor_UEV;
-import static gregtech.common.items.ID_MetaItem_01.Sensor_UHV;
-import static gregtech.common.items.ID_MetaItem_01.Sensor_UIV;
-import static gregtech.common.items.ID_MetaItem_01.Sensor_UMV;
-import static gregtech.common.items.ID_MetaItem_01.Sensor_UV;
-import static gregtech.common.items.ID_MetaItem_01.Sensor_UXV;
-import static gregtech.common.items.ID_MetaItem_01.Sensor_ZPM;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Empty;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Axe;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Block;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Bolt;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Bottle;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Casing;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Cell;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_File;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Gear;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Hammer;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Hoe;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Ingot;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pickaxe;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pipe_Huge;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pipe_Large;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pipe_Medium;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pipe_Small;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Pipe_Tiny;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Plate;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Ring;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Rod;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Rotor;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Saw;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Shovel;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Small_Gear;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Sword;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Tool_Head_Drill;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Turbine_Blade;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Extruder_Wire;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Anvil;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Arrow;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Baguette;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Ball;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Block;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Bolt;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Bottle;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Bread;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Bun;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Casing;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Credit;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Cylinder;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Gear;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Gear_Small;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Ingot;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Name;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Nugget;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Pipe_Huge;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Pipe_Large;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Pipe_Medium;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Pipe_Small;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Pipe_Tiny;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Plate;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Ring;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Rod;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Rod_Long;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Rotor;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Round;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Screw;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Tool_Head_Drill;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Mold_Turbine_Blade;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Slicer_Flat;
-import static gregtech.common.items.ID_MetaItem_01.Shape_Slicer_Stripes;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_0;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_1;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_10;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_11;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_12;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_13;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_14;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_15;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_2;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_3;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_4;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_5;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_6;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_7;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_8;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_9;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Remover;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Remover_Empty;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_0;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_1;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_10;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_11;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_12;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_13;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_14;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_15;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_2;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_3;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_4;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_5;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_6;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_7;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_8;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_9;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Color_Used_Remover;
-import static gregtech.common.items.ID_MetaItem_01.Spray_Empty;
-import static gregtech.common.items.ID_MetaItem_01.StableAdhesive;
-import static gregtech.common.items.ID_MetaItem_01.Steam_Regulator_EV;
-import static gregtech.common.items.ID_MetaItem_01.Steam_Regulator_HV;
-import static gregtech.common.items.ID_MetaItem_01.Steam_Regulator_IV;
-import static gregtech.common.items.ID_MetaItem_01.Steam_Regulator_LV;
-import static gregtech.common.items.ID_MetaItem_01.Steam_Regulator_MV;
-import static gregtech.common.items.ID_MetaItem_01.Steam_Valve_EV;
-import static gregtech.common.items.ID_MetaItem_01.Steam_Valve_HV;
-import static gregtech.common.items.ID_MetaItem_01.Steam_Valve_IV;
-import static gregtech.common.items.ID_MetaItem_01.Steam_Valve_LV;
-import static gregtech.common.items.ID_MetaItem_01.Steam_Valve_MV;
-import static gregtech.common.items.ID_MetaItem_01.SuperconductorComposite;
-import static gregtech.common.items.ID_MetaItem_01.Tesseract;
-import static gregtech.common.items.ID_MetaItem_01.Thermos_Can_Empty;
-import static gregtech.common.items.ID_MetaItem_01.Tool_Cheat;
-import static gregtech.common.items.ID_MetaItem_01.Tool_Cover_Copy_Paste;
-import static gregtech.common.items.ID_MetaItem_01.Tool_DataOrb;
-import static gregtech.common.items.ID_MetaItem_01.Tool_DataStick;
-import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Invar_Empty;
-import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Invar_Full;
-import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Invar_Used;
-import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Platinum_Empty;
-import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Platinum_Full;
-import static gregtech.common.items.ID_MetaItem_01.Tool_Lighter_Platinum_Used;
-import static gregtech.common.items.ID_MetaItem_01.Tool_MatchBox_Full;
-import static gregtech.common.items.ID_MetaItem_01.Tool_MatchBox_Used;
-import static gregtech.common.items.ID_MetaItem_01.Tool_Matches;
-import static gregtech.common.items.ID_MetaItem_01.Tool_Scanner;
-import static gregtech.common.items.ID_MetaItem_01.Tool_Sonictron;
-import static gregtech.common.items.ID_MetaItem_01.Upgrade_Lock;
-import static gregtech.common.items.ID_MetaItem_01.Upgrade_Muffler;
-import static gregtech.common.items.ID_MetaItem_01.ZPM2;
-import static gregtech.common.items.ID_MetaItem_01.ZPM3;
-import static gregtech.common.items.ID_MetaItem_01.ZPM4;
-import static gregtech.common.items.ID_MetaItem_01.ZPM5;
-import static gregtech.common.items.ID_MetaItem_01.ZPM6;
+import static gregtech.common.items.ID_MetaItem_01.*;
import java.util.Collection;
import java.util.HashMap;
@@ -474,6 +76,7 @@ import gregtech.api.enums.OreDictNames;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.SubTag;
import gregtech.api.enums.TC_Aspects;
+import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IItemBehaviour;
import gregtech.api.interfaces.ITexture;
import gregtech.api.items.GT_MetaBase_Item;
@@ -489,6 +92,7 @@ import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.common.covers.GT_Cover_Arm;
+import gregtech.common.covers.GT_Cover_Chest;
import gregtech.common.covers.GT_Cover_ControlsWork;
import gregtech.common.covers.GT_Cover_Conveyor;
import gregtech.common.covers.GT_Cover_Crafting;
@@ -2860,6 +2464,24 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
"Displays the fluid stored in the Tank",
new TC_Aspects.TC_AspectStack(TC_Aspects.SENSUS, 2L),
new TC_Aspects.TC_AspectStack(TC_Aspects.AQUA, 1L)));
+ ItemList.Cover_Chest_Basic.set(
+ addItem(
+ Cover_Chest_Basic.ID,
+ "Basic Item Holder",
+ "Hold a few item for use within machine GUI",
+ new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 2L)));
+ ItemList.Cover_Chest_Good.set(
+ addItem(
+ Cover_Chest_Good.ID,
+ "Good Item Holder",
+ "Hold a few item for use within machine GUI",
+ new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 2L)));
+ ItemList.Cover_Chest_Advanced.set(
+ addItem(
+ Cover_Chest_Advanced.ID,
+ "Advanced Item Holder",
+ "Hold a few item for use within machine GUI",
+ new TC_Aspects.TC_AspectStack(TC_Aspects.VACUOS, 2L)));
ItemList.Cover_Screen.set(
addItem(
@@ -3691,6 +3313,18 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
new GT_Cover_ControlsWork(TextureFactory.of(OVERLAY_CONTROLLER)));
GregTech_API.registerCover(
+ ItemList.Cover_Chest_Basic.get(1L),
+ TextureFactory.of(MACHINE_CASINGS[1][0], TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_1)),
+ new GT_Cover_Chest(9, TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_1)));
+ GregTech_API.registerCover(
+ ItemList.Cover_Chest_Good.get(1L),
+ TextureFactory.of(MACHINE_CASINGS[2][0], TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_2)),
+ new GT_Cover_Chest(12, TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_2)));
+ GregTech_API.registerCover(
+ ItemList.Cover_Chest_Advanced.get(1L),
+ TextureFactory.of(MACHINE_CASINGS[3][0], TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_3)),
+ new GT_Cover_Chest(15, TextureFactory.of(Textures.BlockIcons.OVERLAY_COVER_CHEST_3)));
+ GregTech_API.registerCover(
ItemList.Cover_ActivityDetector.get(1L),
TextureFactory.of(MACHINE_CASINGS[2][0], doesWorkCoverTexture),
new GT_Cover_DoesWork(doesWorkCoverTexture));
diff --git a/src/main/java/gregtech/common/items/ID_MetaItem_01.java b/src/main/java/gregtech/common/items/ID_MetaItem_01.java
index 308b154aae..1de01d7bef 100644
--- a/src/main/java/gregtech/common/items/ID_MetaItem_01.java
+++ b/src/main/java/gregtech/common/items/ID_MetaItem_01.java
@@ -130,6 +130,9 @@ public enum ID_MetaItem_01 {
Shape_Extruder_Small_Gear(375),
Shape_Extruder_Turbine_Blade(376),
Shape_Extruder_Tool_Head_Drill(377),
+ Cover_Chest_Basic(380),
+ Cover_Chest_Good(381),
+ Cover_Chest_Advanced(382),
Shape_Slicer_Flat(398),
Shape_Slicer_Stripes(399),
Fuel_Can_Plastic_Empty(400),
diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_1.png b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_1.png
new file mode 100644
index 0000000000..32b7310483
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_1.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_1_OPENED.png b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_1_OPENED.png
new file mode 100644
index 0000000000..84964bbfac
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_1_OPENED.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_2.png b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_2.png
new file mode 100644
index 0000000000..c5e79ff8dc
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_2.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_2_OPENED.png b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_2_OPENED.png
new file mode 100644
index 0000000000..6d9dbec560
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_2_OPENED.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_3.png b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_3.png
new file mode 100644
index 0000000000..520b11d781
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_3.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_3_OPENED.png b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_3_OPENED.png
new file mode 100644
index 0000000000..db8d5f1b4c
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/blocks/iconsets/OVERLAY_COVER_CHEST_3_OPENED.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/380.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/380.png
new file mode 100644
index 0000000000..84964bbfac
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/380.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/381.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/381.png
new file mode 100644
index 0000000000..6d9dbec560
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/381.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/382.png b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/382.png
new file mode 100644
index 0000000000..db8d5f1b4c
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/items/gt.metaitem.01/382.png
Binary files differ