aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod
diff options
context:
space:
mode:
authorAlkalus <draknyte1@hotmail.com>2017-11-15 03:48:31 +1000
committerAlkalus <draknyte1@hotmail.com>2017-11-15 03:48:31 +1000
commitf5f5d246723fce0aaa01bf72d47bb2120d9eb5d1 (patch)
tree7c2e6ce6d96bf58fd7e1af1a91ed3a1274b20dc2 /src/Java/gtPlusPlus/xmod
parent5c2b131a29c3ea0871ecbd400635ca0be3ebdfbe (diff)
downloadGT5-Unofficial-f5f5d246723fce0aaa01bf72d47bb2120d9eb5d1.tar.gz
GT5-Unofficial-f5f5d246723fce0aaa01bf72d47bb2120d9eb5d1.tar.bz2
GT5-Unofficial-f5f5d246723fce0aaa01bf72d47bb2120d9eb5d1.zip
+ Added custom Hatch textures.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java167
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java153
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java17
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java8
4 files changed, 337 insertions, 8 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java
new file mode 100644
index 0000000000..d0201c64d1
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java
@@ -0,0 +1,167 @@
+package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations;
+
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
+import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+import gregtech.api.util.GT_Utility;
+import gtPlusPlus.xmod.gregtech.api.gui.hatches.charge.CONTAINER_Electric_2by2;
+import gtPlusPlus.xmod.gregtech.api.gui.hatches.charge.CONTAINER_Electric_4by4;
+import gtPlusPlus.xmod.gregtech.api.gui.hatches.charge.GUI_Electric_2by2;
+import gtPlusPlus.xmod.gregtech.api.gui.hatches.charge.GUI_Electric_4by4;
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
+public class GT_MetaTileEntity_Hatch_InputBattery
+ extends
+ GT_MetaTileEntity_Hatch {
+ public GT_Recipe_Map mRecipeMap = null;
+
+ public GT_MetaTileEntity_Hatch_InputBattery(int aID, String aName,
+ String aNameRegional, int aTier) {
+ super(aID, aName, aNameRegional, aTier, getSlots(aTier),
+ new String[]{"Chargeable Item Bus for Multiblocks",
+ "Capacity: " + getSlots(aTier) + " stack"
+ + (getSlots(aTier) >= 2 ? "s" : "")});
+ }
+
+ public GT_MetaTileEntity_Hatch_InputBattery(String aName, int aTier,
+ String aDescription, ITexture[][][] aTextures) {
+ super(aName, aTier,
+ aTier < 1 ? 1 : aTier == 1 ? 4 : aTier == 2 ? 4 : 16,
+ aDescription, aTextures);
+ }
+
+ public GT_MetaTileEntity_Hatch_InputBattery(String aName, int aTier,
+ String[] aDescription, ITexture[][][] aTextures) {
+ super(aName, aTier,
+ aTier < 1 ? 1 : aTier == 1 ? 4 : aTier == 2 ? 4 : 16,
+ aDescription, aTextures);
+ }
+
+ @Override
+ public ITexture[] getTexturesActive(ITexture aBaseTexture) {
+ return new ITexture[]{aBaseTexture,
+ new GT_RenderedTexture(TexturesGtBlock.Overlay_Hatch_Charger)};
+ }
+
+ @Override
+ public ITexture[] getTexturesInactive(ITexture aBaseTexture) {
+ return new ITexture[]{aBaseTexture,
+ new GT_RenderedTexture(TexturesGtBlock.Overlay_Hatch_Charger)};
+ }
+
+ @Override
+ public boolean isSimpleMachine() {
+ return true;
+ }
+
+ @Override
+ public boolean isFacingValid(byte aFacing) {
+ return true;
+ }
+
+ @Override
+ public boolean isAccessAllowed(EntityPlayer aPlayer) {
+ return true;
+ }
+
+ @Override
+ public boolean isValidSlot(int aIndex) {
+ return true;
+ }
+
+ @Override
+ public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
+ return new GT_MetaTileEntity_Hatch_InputBattery(mName, mTier,
+ mDescriptionArray, mTextures);
+ }
+
+ @Override
+ public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity,
+ EntityPlayer aPlayer) {
+ if (aBaseMetaTileEntity.isClientSide())
+ return true;
+ aBaseMetaTileEntity.openGUI(aPlayer);
+ return true;
+ }
+
+ @Override
+ public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory,
+ IGregTechTileEntity aBaseMetaTileEntity) {
+ switch (mTier) {
+ case 2 :
+ return new CONTAINER_Electric_2by2(aPlayerInventory,
+ aBaseMetaTileEntity);
+ case 4 :
+ return new CONTAINER_Electric_4by4(aPlayerInventory,
+ aBaseMetaTileEntity);
+ default :
+ return new CONTAINER_Electric_4by4(aPlayerInventory,
+ aBaseMetaTileEntity);
+ }
+ }
+
+ @Override
+ public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory,
+ IGregTechTileEntity aBaseMetaTileEntity) {
+ switch (mInventory.length) {
+ case 2 :
+ return new GUI_Electric_2by2(aPlayerInventory,
+ aBaseMetaTileEntity, "Charging Bus");
+ case 4 :
+ return new GUI_Electric_4by4(aPlayerInventory,
+ aBaseMetaTileEntity, "Charging Bus");
+ default :
+ return new GUI_Electric_4by4(aPlayerInventory,
+ aBaseMetaTileEntity, "Charging Bus");
+ }
+ }
+
+ @Override
+ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity,
+ long aTimer) {
+ if (aBaseMetaTileEntity.isServerSide()
+ && aBaseMetaTileEntity.hasInventoryBeenModified()) {
+ fillStacksIntoFirstSlots();
+ }
+ }
+
+ public void updateSlots() {
+ for (int i = 0; i < mInventory.length; i++)
+ if (mInventory[i] != null && mInventory[i].stackSize <= 0)
+ mInventory[i] = null;
+ fillStacksIntoFirstSlots();
+ }
+
+ protected void fillStacksIntoFirstSlots() {
+ for (int i = 0; i < mInventory.length; i++)
+ for (int j = i + 1; j < mInventory.length; j++)
+ if (mInventory[j] != null
+ && (mInventory[i] == null || GT_Utility.areStacksEqual(
+ mInventory[i], mInventory[j]))) {
+ GT_Utility.moveStackFromSlotAToSlotB(
+ getBaseMetaTileEntity(), getBaseMetaTileEntity(), j,
+ i, (byte) 64, (byte) 1, (byte) 64, (byte) 1);
+ }
+ }
+
+ @Override
+ public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity,
+ int aIndex, byte aSide, ItemStack aStack) {
+ return aSide == getBaseMetaTileEntity().getFrontFacing()
+ && (mRecipeMap == null || mRecipeMap.containsInput(aStack));
+ }
+
+ @Override
+ public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity,
+ int aIndex, byte aSide, ItemStack aStack) {
+ return aSide == getBaseMetaTileEntity().getFrontFacing()
+ && (mRecipeMap == null || mRecipeMap.containsInput(aStack));
+ }
+}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java
new file mode 100644
index 0000000000..62fef4dac3
--- /dev/null
+++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_OutputBattery.java
@@ -0,0 +1,153 @@
+package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations;
+
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
+import gregtech.api.objects.GT_RenderedTexture;
+import gregtech.api.util.GT_Utility;
+import gtPlusPlus.xmod.gregtech.api.gui.hatches.charge.CONTAINER_Electric_2by2;
+import gtPlusPlus.xmod.gregtech.api.gui.hatches.charge.CONTAINER_Electric_4by4;
+import gtPlusPlus.xmod.gregtech.api.gui.hatches.charge.GUI_Electric_2by2;
+import gtPlusPlus.xmod.gregtech.api.gui.hatches.charge.GUI_Electric_4by4;
+import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+
+public class GT_MetaTileEntity_Hatch_OutputBattery
+ extends
+ GT_MetaTileEntity_Hatch {
+ public GT_MetaTileEntity_Hatch_OutputBattery(int aID, String aName,
+ String aNameRegional, int aTier) {
+ super(aID, aName, aNameRegional, aTier, getSlots(aTier),
+ new String[]{"Dischargeable Item Bus for Multiblocks",
+ "Capacity: " + getSlots(aTier) + " stack"
+ + (getSlots(aTier) >= 2 ? "s" : "")});
+ }
+
+ public GT_MetaTileEntity_Hatch_OutputBattery(String aName, int aTier,
+ String aDescription, ITexture[][][] aTextures) {
+ super(aName, aTier,
+ aTier < 1 ? 1 : aTier == 1 ? 4 : aTier == 2 ? 9 : 16,
+ aDescription, aTextures);
+ }
+
+ public GT_MetaTileEntity_Hatch_OutputBattery(String aName, int aTier,
+ String[] aDescription, ITexture[][][] aTextures) {
+ super(aName, aTier,
+ aTier < 1 ? 1 : aTier == 1 ? 4 : aTier == 2 ? 9 : 16,
+ aDescription, aTextures);
+ }
+
+ @Override
+ public ITexture[] getTexturesActive(ITexture aBaseTexture) {
+ return new ITexture[]{aBaseTexture,
+ new GT_RenderedTexture(TexturesGtBlock.Overlay_Hatch_Discharger)};
+ }
+
+ @Override
+ public ITexture[] getTexturesInactive(ITexture aBaseTexture) {
+ return new ITexture[]{aBaseTexture,
+ new GT_RenderedTexture(TexturesGtBlock.Overlay_Hatch_Discharger)};
+ }
+
+ @Override
+ public boolean isSimpleMachine() {
+ return true;
+ }
+
+ @Override
+ public boolean isFacingValid(byte aFacing) {
+ return true;
+ }
+
+ @Override
+ public boolean isAccessAllowed(EntityPlayer aPlayer) {
+ return true;
+ }
+
+ @Override
+ public boolean isValidSlot(int aIndex) {
+ return true;
+ }
+
+ @Override
+ public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
+ return new GT_MetaTileEntity_Hatch_OutputBattery(mName, mTier,
+ mDescriptionArray, mTextures);
+ }
+
+ @Override
+ public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity,
+ EntityPlayer aPlayer) {
+ if (aBaseMetaTileEntity.isClientSide())
+ return true;
+ aBaseMetaTileEntity.openGUI(aPlayer);
+ return true;
+ }
+
+ @Override
+ public Object getServerGUI(int aID, InventoryPlayer aPlayerInventory,
+ IGregTechTileEntity aBaseMetaTileEntity) {
+ switch (mTier) {
+ case 2 :
+ return new CONTAINER_Electric_2by2(aPlayerInventory,
+ aBaseMetaTileEntity);
+ case 4 :
+ return new CONTAINER_Electric_4by4(aPlayerInventory,
+ aBaseMetaTileEntity);
+ default :
+ return new CONTAINER_Electric_4by4(aPlayerInventory,
+ aBaseMetaTileEntity);
+ }
+ }
+
+ @Override
+ public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory,
+ IGregTechTileEntity aBaseMetaTileEntity) {
+ switch (mTier) {
+ case 2 :
+ return new GUI_Electric_2by2(aPlayerInventory,
+ aBaseMetaTileEntity, "Discharging Bus");
+ case 4 :
+ return new GUI_Electric_4by4(aPlayerInventory,
+ aBaseMetaTileEntity, "Discharging Bus");
+ default :
+ return new GUI_Electric_4by4(aPlayerInventory,
+ aBaseMetaTileEntity, "Discharging Bus");
+ }
+ }
+
+ @Override
+ public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity,
+ int aIndex, byte aSide, ItemStack aStack) {
+ return aSide == aBaseMetaTileEntity.getFrontFacing();
+ }
+
+ @Override
+ public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity,
+ int aIndex, byte aSide, ItemStack aStack) {
+ return aSide == aBaseMetaTileEntity.getFrontFacing();
+ }
+
+ public void updateSlots() {
+ for (int i = 0; i < mInventory.length; i++)
+ if (mInventory[i] != null && mInventory[i].stackSize <= 0)
+ mInventory[i] = null;
+ fillStacksIntoFirstSlots();
+ }
+
+ protected void fillStacksIntoFirstSlots() {
+ for (int i = 0; i < mInventory.length; i++)
+ for (int j = i + 1; j < mInventory.length; j++)
+ if (mInventory[j] != null
+ && (mInventory[i] == null || GT_Utility.areStacksEqual(
+ mInventory[i], mInventory[j]))) {
+ GT_Utility.moveStackFromSlotAToSlotB(
+ getBaseMetaTileEntity(), getBaseMetaTileEntity(), j,
+ i, (byte) 64, (byte) 1, (byte) 64, (byte) 1);
+ }
+ }
+}
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java
index 4e5eaa53a0..fbf615a499 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java
@@ -10,9 +10,9 @@ import net.minecraft.util.ResourceLocation;
public class TexturesGtBlock {
-
+
//public static ITexture[] CASING_BLOCKS_GTPP = new ITexture[256];
-
+
/*
* Handles Custom Textures.
*/
@@ -125,7 +125,7 @@ public class TexturesGtBlock {
public static final CustomIcon Casing_Machine_Redstone_Off = Internal_Casing_Machine_Redstone_Off;
private static final CustomIcon Internal_Casing_Machine_Redstone_On = new CustomIcon("TileEntities/cover_redstone_emitter");
public static final CustomIcon Casing_Machine_Redstone_On = Internal_Casing_Machine_Redstone_On;
-
+
//Centrifuge Casing
private static final CustomIcon Internal_Casing_Centrifuge = new CustomIcon("TileEntities/MACHINE_CASING_CENTRIFUGE");
public static final CustomIcon Casing_Material_Centrifuge = Internal_Casing_Centrifuge;
@@ -158,7 +158,7 @@ public class TexturesGtBlock {
public static final CustomIcon Overlay_Machine_Cyber_A = Internal_Overlay_Machine_Cyber_A;
private static final CustomIcon Internal_Overlay_Machine_Cyber_B = new CustomIcon("chrono/CyberPanel2");
public static final CustomIcon Overlay_Machine_Cyber_B = Internal_Overlay_Machine_Cyber_B;
-
+
//Overlays
//Fan Textures
private static final CustomIcon Internal_Overlay_Machine_Vent = new CustomIcon("TileEntities/machine_top_vent_rotating");
@@ -199,6 +199,15 @@ public class TexturesGtBlock {
public static final CustomIcon Overlay_Crafting_Bronze = Internal_Overlay_Crafting_Bronze;
private static final CustomIcon Internal_Overlay_Crafting_Steel = new CustomIcon("TileEntities/cover_crafting");
public static final CustomIcon Overlay_Crafting_Steel = Internal_Overlay_Crafting_Steel;
+
+ //Hatch Overlays
+ //Charger Texture
+ private static final CustomIcon Internal_Overlay_Hatch_Charger = new CustomIcon("TileEntities/cover_charger");
+ public static final CustomIcon Overlay_Hatch_Charger = Internal_Overlay_Hatch_Charger;
+ //Discharger Texture
+ private static final CustomIcon Internal_Overlay_Hatch_Discharger = new CustomIcon("TileEntities/cover_discharge");
+ public static final CustomIcon Overlay_Hatch_Discharger = Internal_Overlay_Hatch_Discharger;
+
//Dimensional
private static final CustomIcon Internal_Overlay_Machine_Dimensional_Blue = new CustomIcon("TileEntities/adv_machine_dimensional_cover_blue");
public static final CustomIcon Overlay_Machine_Dimensional_Blue = Internal_Overlay_Machine_Dimensional_Blue;
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java
index 5725ebe368..ac23c316a2 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechPowerSubStation.java
@@ -29,11 +29,11 @@ public class GregtechPowerSubStation {
GregtechItemList.PowerSubStation.set(new GregtechMetaTileEntity_PowerSubStationController(812,
"substation.01.input.single", "Power Station Control Node").getStackForm(1L));
int tID = 886;
- GregtechItemList.Hatch_Input_Battery_MV.set(new GT_MetaTileEntity_Hatch_InputBattery(tID++, "hatch.input_battery.tier.00", "Charging Bus (MV)", 0).getStackForm(1L));
- GregtechItemList.Hatch_Input_Battery_EV.set(new GT_MetaTileEntity_Hatch_InputBattery(tID++, "hatch.input_battery.tier.01", "Charging Bus (EV)", 1).getStackForm(1L));
+ GregtechItemList.Hatch_Input_Battery_MV.set(new GT_MetaTileEntity_Hatch_InputBattery(tID++, "hatch.input_battery.tier.00", "Charging Bus (MV)", 2).getStackForm(1L));
+ GregtechItemList.Hatch_Input_Battery_EV.set(new GT_MetaTileEntity_Hatch_InputBattery(tID++, "hatch.input_battery.tier.01", "Charging Bus (EV)", 4).getStackForm(1L));
- GregtechItemList.Hatch_Output_Battery_MV.set(new GT_MetaTileEntity_Hatch_OutputBattery(tID++, "hatch.output_battery.tier.00", "Discharging Bus (MV)", 0).getStackForm(1L));
- GregtechItemList.Hatch_Output_Battery_EV.set(new GT_MetaTileEntity_Hatch_OutputBattery(tID++, "hatch.output_battery.tier.01", "Discharging Bus (EV)", 1).getStackForm(1L));
+ GregtechItemList.Hatch_Output_Battery_MV.set(new GT_MetaTileEntity_Hatch_OutputBattery(tID++, "hatch.output_battery.tier.00", "Discharging Bus (MV)", 2).getStackForm(1L));
+ GregtechItemList.Hatch_Output_Battery_EV.set(new GT_MetaTileEntity_Hatch_OutputBattery(tID++, "hatch.output_battery.tier.01", "Discharging Bus (EV)", 4).getStackForm(1L));
GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Input_Battery_MV.get(1L, new Object[0]), CI.bitsd, new Object[]{"C", "M", 'M', ItemList.Hull_MV, 'C', ItemList.Battery_Buffer_2by2_MV});
GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Input_Battery_EV.get(1L, new Object[0]), CI.bitsd, new Object[]{"C", "M", 'M', ItemList.Hull_EV, 'C', ItemList.Battery_Buffer_4by4_EV});