aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/gregtech
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java10
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java48
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java2
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechToolDictNames.java1
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ControlCore.java166
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Energy_RTG.java289
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java98
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/machines/GregtechMetaSafeBlockBase.java328
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks2.java31
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks4.java81
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks6.java9
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMachineCasings.java21
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaSpecialMultiCasings2.java17
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaTieredCasingBlocks1.java27
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtCutomCovers.java40
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtTools.java1
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/covers/CoverManager.java86
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechItems.java168
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/items/MetaGeneratedGregtechTools.java15
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java2
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/creative/GregtechMetaCreativeEnergyBuffer.java234
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaGarbageCollector.java386
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GT_MetaTileEntity_ConnectableCrate.java578
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/GregtechMetaSafeBlock.java77
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf.java365
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf_Compartment.java40
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf_Desk.java49
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf_FileCabinet.java60
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf_Iron.java47
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/storage/shelving/GT4Entity_Shelf_Large.java276
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_Choocher.java231
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/ProcessingToolHeadChoocher.java124
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java15
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java5
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/Gregtech4Content.java38
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechConduits.java8
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechCustomHatches.java35
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechEnergyBuffer.java10
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSafeBlock.java137
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSuperChests.java8
40 files changed, 128 insertions, 4035 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java b/src/main/java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java
index 370b286957..977eb8a2c9 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java
@@ -24,7 +24,6 @@ import gregtech.api.util.GT_Utility;
import gregtech.common.items.behaviors.Behaviour_DataOrb;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.core.handler.COMPAT_HANDLER;
-import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.recipe.common.CI;
import gtPlusPlus.core.util.minecraft.RecipeUtils;
import gtPlusPlus.everglades.gen.gt.WorldGen_GT;
@@ -41,7 +40,6 @@ import gtPlusPlus.xmod.gregtech.loaders.ProcessingAngleGrinder;
import gtPlusPlus.xmod.gregtech.loaders.ProcessingElectricButcherKnife;
import gtPlusPlus.xmod.gregtech.loaders.ProcessingElectricLighter;
import gtPlusPlus.xmod.gregtech.loaders.ProcessingElectricSnips;
-import gtPlusPlus.xmod.gregtech.loaders.ProcessingToolHeadChoocher;
import gtPlusPlus.xmod.gregtech.loaders.misc.AddCustomMachineToPA;
import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_AlgaeFarm;
import gtPlusPlus.xmod.gregtech.loaders.recipe.RecipeLoader_MolecularTransformer;
@@ -74,18 +72,12 @@ public class HANDLER_GT {
// Register Tile Entities
COMPAT_HANDLER.registerGregtechMachines();
- // Only loads if the config option is true (default: true)
- if (CORE.ConfigSwitches.enableSkookumChoochers) {
- sMetaGeneratedToolInstance = MetaGeneratedGregtechTools.getInstance();
- }
+ sMetaGeneratedToolInstance = MetaGeneratedGregtechTools.getInstance();
}
public static void postInit() {
// Only loads if the config option is true (default: true)
- if (CORE.ConfigSwitches.enableSkookumChoochers) {
- new ProcessingToolHeadChoocher().run();
- }
new ProcessingAngleGrinder().run();
new ProcessingElectricSnips().run();
new ProcessingElectricButcherKnife().run();
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java
index f7fc2712ce..90fd1e2358 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java
@@ -31,35 +31,27 @@ public enum GregtechItemList implements GregtechItemContainer {
Electric_Motor_LuV,
Electric_Motor_ZPM,
Electric_Motor_UV,
- Electric_Motor_MAX,
Electric_Pump_LuV,
Electric_Pump_ZPM,
Electric_Pump_UV,
- Electric_Pump_MAX,
Conveyor_Module_LuV,
Conveyor_Module_ZPM,
Conveyor_Module_UV,
- Conveyor_Module_MAX,
Electric_Piston_LuV,
Electric_Piston_ZPM,
Electric_Piston_UV,
- Electric_Piston_MAX,
Robot_Arm_LuV,
Robot_Arm_ZPM,
Robot_Arm_UV,
- Robot_Arm_MAX,
Field_Generator_LuV,
Field_Generator_ZPM,
Field_Generator_UV,
- Field_Generator_MAX,
Emitter_LuV,
Emitter_ZPM,
Emitter_UV,
- Emitter_MAX,
Sensor_LuV,
Sensor_ZPM,
Sensor_UV,
- Sensor_MAX,
// ULV Components
Electric_Motor_ULV,
@@ -179,10 +171,6 @@ public enum GregtechItemList implements GregtechItemContainer {
Compressed_Fusion_Reactor,
// Carbon Materials
- NanoTube_Base_Substrate,
- NanoTube_Finished,
- Carbyne_Tube_Finished,
- Carbyne_Sheet_Finished,
// End Game Laser Engraver Lens
Laser_Lens_WoodsGlass,
@@ -198,13 +186,6 @@ public enum GregtechItemList implements GregtechItemContainer {
// Pellet Mold
Pellet_Mold,
- // Charged Items for Tree Farms
- Farm_Processor_EV,
- Farm_Processor_IV,
- Farm_Processor_LuV,
- Farm_Processor_ZPM,
- Farm_Processor_UV,
-
// Upgrade chip for Distillus
Distillus_Upgrade_Chip,
Maceration_Upgrade_Chip,
@@ -532,9 +513,6 @@ public enum GregtechItemList implements GregtechItemContainer {
// Standard Turbine Rotor Hatch
Hatch_Input_TurbineHousing,
- // Control Core
- Hatch_Control_Core,
-
// Milling Ball Bus
Bus_Milling_Balls,
@@ -555,9 +533,6 @@ public enum GregtechItemList implements GregtechItemContainer {
Hatch_Input_Elemental_Duplicator,
// RTG Hatch
- Hatch_RTG_LV,
- Hatch_RTG_MV,
- Hatch_RTG_HV,
// Battery hatches for PSS
Hatch_Input_Battery_MV,
@@ -709,7 +684,6 @@ public enum GregtechItemList implements GregtechItemContainer {
// Debug machine
Pollution_Creator,
- Garbage_Collector_Debug_Machine,
// Basically is an automatic Cauldron
SimpleDustWasher_ULV,
@@ -764,8 +738,6 @@ public enum GregtechItemList implements GregtechItemContainer {
GT_Solar_UV,
GT_Solar_MAX,
- // 512v Creative Buffer
- Energy_Buffer_CREATIVE,
// Variable voltage RF convertor
Energy_Buffer_RF_Convertor,
// Energy Buffers
@@ -795,31 +767,11 @@ public enum GregtechItemList implements GregtechItemContainer {
// The max Steam condenser
Condensor_MAX,
- // Player owned Safes
- GT_Safe_ULV,
- GT_Safe_LV,
- GT_Safe_MV,
- GT_Safe_HV,
- GT_Safe_EV,
- GT_Safe_IV,
- GT_Safe_LuV,
- GT_Safe_ZPM,
- GT_Safe_UV,
- GT_Safe_MAX,
-
// Rocket Engines
Rocket_Engine_EV,
Rocket_Engine_IV,
Rocket_Engine_LuV,
- // GT4 Shelves
- GT4_Shelf,
- GT4_Shelf_Iron,
- GT4_Shelf_FileCabinet,
- GT4_Shelf_Desk,
- GT4_Shelf_Compartment,
- GT4_Shelf_Large,
-
// Hi Amp Transformers
Transformer_HA_LV_ULV,
Transformer_HA_MV_LV,
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java
index 695474e5ec..61abc48a18 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechOrePrefixes.java
@@ -90,8 +90,6 @@ public enum GregtechOrePrefixes {
type2("16x Wires", "16x ", " Wire", true, true, false, false, false, false, true, false, false, false, 0, M * 8, 64,
-1),
- toolSkookumChoocher("Skookum Choocher", "", " Skookum Choocher", true, true, false, false, false, false, true, true,
- false, false, B[6], M * 6, 16, 37), // consisting out of 6 Ingots.
toolAngleGrinder("Angle Grinder", "", "Angle Grinder", true, true, false, false, false, false, true, true, false,
false, B[6], M * 6, 16, 37), // consisting out of 6 Ingots.
toolElectricSnips("Electric Snips", "", "Electric Snips", true, true, false, false, false, false, true, true, false,
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechToolDictNames.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechToolDictNames.java
index bae91b53fe..0a116b1b9f 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechToolDictNames.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/enums/GregtechToolDictNames.java
@@ -1,7 +1,6 @@
package gtPlusPlus.xmod.gregtech.api.enums;
public enum GregtechToolDictNames {
- craftingToolSkookumChoocher,
craftingToolHandPump,
craftingToolAngleGrinder,
craftingToolElectricSnips,
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ControlCore.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ControlCore.java
deleted file mode 100644
index e85cc1f6c2..0000000000
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ControlCore.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemStack;
-import net.minecraft.tileentity.TileEntity;
-import net.minecraftforge.common.util.ForgeDirection;
-
-import org.apache.commons.lang3.ArrayUtils;
-
-import com.gtnewhorizons.modularui.api.screen.ModularWindow;
-import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
-
-import gregtech.api.gui.modularui.GT_UIInfos;
-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.api.objects.minecraft.BlockPos;
-import gtPlusPlus.core.item.general.ItemControlCore;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-
-public class GT_MetaTileEntity_Hatch_ControlCore extends GT_MetaTileEntity_Hatch {
-
- public GT_Recipe_Map mRecipeMap = null;
-
- public BlockPos mControllerLocation;
-
- public GT_MetaTileEntity_Hatch_ControlCore(int aID, String aName, String aNameRegional, int aTier) {
- super(
- aID,
- aName,
- aNameRegional,
- aTier,
- getSlots(aTier),
- "Core determines maximum tier machine will operate at");
- }
-
- public GT_MetaTileEntity_Hatch_ControlCore(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_ControlCore(String aName, int aTier, String[] aDescription,
- ITexture[][][] aTextures) {
- super(aName, aTier, aTier < 1 ? 1 : aTier == 1 ? 4 : aTier == 2 ? 9 : 16, aDescription[0], aTextures);
- }
-
- @Override
- public String[] getDescription() {
- return ArrayUtils.add(this.mDescriptionArray, CORE.GT_Tooltip.get());
- }
-
- @Override
- public ITexture[] getTexturesActive(ITexture aBaseTexture) {
- return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Hatch_Control_Core) };
- }
-
- @Override
- public ITexture[] getTexturesInactive(ITexture aBaseTexture) {
- return new ITexture[] { aBaseTexture, new GT_RenderedTexture(TexturesGtBlock.Overlay_Hatch_Control_Core) };
- }
-
- @Override
- public boolean isSimpleMachine() {
- return true;
- }
-
- @Override
- public boolean isFacingValid(ForgeDirection facing) {
- 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_ControlCore(mName, mTier, mDescriptionArray, mTextures);
- }
-
- @Override
- public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
- GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer);
- return true;
- }
-
- @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, ForgeDirection side,
- ItemStack aStack) {
- return false;
- }
-
- @Override
- public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
- ItemStack aStack) {
- return side == getBaseMetaTileEntity().getFrontFacing()
- && (aStack != null && aStack.getItem() instanceof ItemControlCore);
- }
-
- public boolean setOwner(TileEntity aTileEntity) {
- if (mControllerLocation != null) {
- return false;
- } else {
- mControllerLocation = new BlockPos(aTileEntity);
- return true;
- }
- }
-
- public boolean setOwner(IGregTechTileEntity aTileEntity) {
- if (mControllerLocation != null) {
- return false;
- } else {
- mControllerLocation = new BlockPos(aTileEntity);
- return true;
- }
- }
-
- @Override
- public boolean useModularUI() {
- return true;
- }
-
- @Override
- public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) {
- getBaseMetaTileEntity().add1by1Slot(builder);
- }
-}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Energy_RTG.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Energy_RTG.java
deleted file mode 100644
index 3fd3c7a82b..0000000000
--- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Energy_RTG.java
+++ /dev/null
@@ -1,289 +0,0 @@
-package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations;
-
-import static gregtech.api.enums.GT_Values.V;
-
-import java.util.HashMap;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraftforge.common.util.ForgeDirection;
-
-import com.gtnewhorizons.modularui.api.screen.ModularWindow;
-import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
-
-import gregtech.api.gui.modularui.GT_UIInfos;
-import gregtech.api.interfaces.ITexture;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.metatileentity.MetaTileEntity;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy;
-import gregtech.api.util.GT_Utility;
-import gtPlusPlus.api.objects.Logger;
-import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.minecraft.InventoryUtils;
-import gtPlusPlus.core.util.minecraft.ItemUtils;
-import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock;
-
-public class GT_MetaTileEntity_Hatch_Energy_RTG extends GT_MetaTileEntity_Hatch_Energy {
-
- public GT_MetaTileEntity_Hatch_Energy_RTG(int aID, String aName, String aNameRegional, int aTier,
- int aInvSlotCount) {
- super(
- aID,
- aName,
- aNameRegional,
- aTier,
- aInvSlotCount,
- new String[] { "Energy Injector for Multiblocks", "Accepts up to 2 Amps" });
- }
-
- public GT_MetaTileEntity_Hatch_Energy_RTG(String aName, int aTier, int aInvSlotCount, String[] aDescription,
- ITexture[][][] aTextures) {
- super(aName, aTier, aInvSlotCount, aDescription, aTextures);
- }
-
- @Override
- public String[] getDescription() {
- String[] S = super.getDescription();
- final String[] desc = new String[S.length + 1];
- System.arraycopy(S, 0, desc, 0, S.length);
- desc[S.length] = CORE.GT_Tooltip.get();
- return desc;
- }
-
- @Override
- public ITexture[] getTexturesActive(ITexture aBaseTexture) {
- return new ITexture[] { aBaseTexture, TexturesGtBlock
- .getTextureFromIcon(TexturesGtBlock.Overlay_Hatch_RTG_On, new short[] { 220, 220, 220, 0 }) };
- }
-
- @Override
- public ITexture[] getTexturesInactive(ITexture aBaseTexture) {
- return new ITexture[] { aBaseTexture, TexturesGtBlock
- .getTextureFromIcon(TexturesGtBlock.Overlay_Hatch_RTG_Off, new short[] { 220, 220, 220, 0 }) };
- }
-
- @Override
- public boolean isSimpleMachine() {
- return true;
- }
-
- @Override
- public boolean isFacingValid(ForgeDirection facing) {
- return true;
- }
-
- @Override
- public boolean isAccessAllowed(EntityPlayer aPlayer) {
- return true;
- }
-
- @Override
- public boolean isEnetInput() {
- return false;
- }
-
- @Override
- public boolean isInputFacing(ForgeDirection side) {
- return side == getBaseMetaTileEntity().getFrontFacing();
- }
-
- @Override
- public boolean isValidSlot(int aIndex) {
- return true;
- }
-
- @Override
- public long getMinimumStoredEU() {
- return 0;
- }
-
- @Override
- public long maxEUInput() {
- return V[mTier];
- }
-
- @Override
- public long maxEUStore() {
- return Long.MAX_VALUE / (Short.MAX_VALUE * Byte.MAX_VALUE);
- }
-
- @Override
- public long maxAmperesIn() {
- return 0;
- }
-
- @Override
- public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
- return new GT_MetaTileEntity_Hatch_Energy_RTG(mName, mTier, 9, mDescriptionArray, mTextures);
- }
-
- @Override
- public boolean allowPullStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
- ItemStack aStack) {
- return false;
- }
-
- @Override
- public boolean allowPutStack(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
- ItemStack aStack) {
- return true;
- }
-
- @Override
- public boolean onRightclick(IGregTechTileEntity aBaseMetaTileEntity, EntityPlayer aPlayer) {
- GT_UIInfos.openGTTileEntityUI(aBaseMetaTileEntity, aPlayer);
- return true;
- }
-
- private static class Dat {
-
- protected final String mUniqueDataTag;
- private final ItemStack mStack;
- private final NBTTagCompound mNBT;
-
- public Dat(ItemStack aStack) {
- mStack = aStack;
- mNBT = (aStack.getTagCompound() != null ? aStack.getTagCompound() : new NBTTagCompound());
- mUniqueDataTag = "" + Item
- .getIdFromItem(aStack.getItem()) + "" + aStack.getItemDamage() + "" + 1 + "" + mNBT.getId();
- }
-
- public int getKey() {
- return Item.getIdFromItem(mStack.getItem()) + mStack.getItemDamage();
- }
- }
-
- private static final HashMap<String, ItemStack> mFuelInstanceMap = new HashMap<String, ItemStack>();
- private static final HashMap<String, Long> mFuelValueMap = new HashMap<String, Long>();
- private static final HashMap<String, Integer> mFuelTypeMap = new HashMap<String, Integer>();
- private static final HashMap<Integer, String> mFuelTypeMapReverse = new HashMap<Integer, String>();
-
- public static boolean registerPelletForHatch(ItemStack aStack, long aFuelValue) {
- if (!ItemUtils.checkForInvalidItems(aStack)) {
- return false;
- }
- ItemStack aTemp = aStack.copy();
- aTemp.stackSize = 1;
- Dat aDat = new Dat(aTemp);
- String aKey = aDat.mUniqueDataTag;
- mFuelInstanceMap.put(aKey, aTemp);
- mFuelValueMap.put(aKey, aFuelValue);
- mFuelTypeMap.put(aKey, aDat.getKey());
- mFuelTypeMapReverse.put(aDat.getKey(), aKey);
- Logger.INFO(
- "RTG Hatch: Registered Fuel Pellet: " + ItemUtils.getItemName(
- aTemp) + ", Fuel Value: " + aFuelValue + ", Key: " + aKey + ", Key2: " + aDat.getKey());
- return true;
- }
-
- @Override
- public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTimer) {
- if (aBaseMetaTileEntity.isServerSide() && aBaseMetaTileEntity.hasInventoryBeenModified()) {
- InventoryUtils.sortInventoryItems(this);
- }
- if (aTimer % 100 == 0 && aBaseMetaTileEntity.isServerSide()) {
- if (hasPellet(this)) {
- Logger.INFO("Has Pellet");
- tryConsumePellet(this);
- }
- }
- }
-
- private static void tryConsumePellet(GT_MetaTileEntity_Hatch_Energy_RTG aTile) {
- ItemStack aPellet = getPelletToConsume(aTile);
- if (aPellet != null) {
- Logger.INFO("Found Pellet");
- long aFuel = getFuelValueOfPellet(aPellet);
- if (aFuel > 0) {
- Logger.INFO("Has Fuel Value: " + aFuel);
- if (hasSpaceForEnergy(aTile, aFuel)) {
- Logger.INFO("Can buffer");
- aPellet.stackSize = 0;
- Logger.INFO("Stack set to 0");
- aPellet = null;
- Logger.INFO("null stack");
- addEnergyToInternalStorage(aTile, aFuel);
- Logger.INFO("Consumed");
- }
- }
- }
- aTile.updateSlots();
- Logger.INFO("updating slots");
- }
-
- private static void addEnergyToInternalStorage(GT_MetaTileEntity_Hatch_Energy_RTG aTile, long aFuel) {
- aTile.getBaseMetaTileEntity().increaseStoredEnergyUnits(aFuel, true);
- }
-
- public static boolean hasSpaceForEnergy(GT_MetaTileEntity_Hatch_Energy_RTG aTile, long aAmount) {
- long aMax = aTile.maxEUStore();
- long aCurrent = aTile.getEUVar();
- if ((aMax - aCurrent) >= aAmount) {
- return true;
- }
- return false;
- }
-
- public void updateSlots() {
- for (int i = 0; i < mInventory.length; i++) {
- if (mInventory[i] != null && mInventory[i].stackSize <= 0) {
- mInventory[i] = null;
- }
- }
- InventoryUtils.sortInventoryItems(this);
- }
-
- public static boolean hasPellet(GT_MetaTileEntity_Hatch_Energy_RTG aTile) {
- for (ItemStack o : aTile.mInventory) {
- if (o != null) {
-