aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2018-11-24 18:37:20 +0100
committerbartimaeusnek <33183715+bartimaeusnek@users.noreply.github.com>2018-11-24 18:37:20 +0100
commit55e33d2071504bc7bcdfdaef638dc96e4d4ca970 (patch)
tree06aef8c58be07e813e1ce2e549b722898ef2df7a /src
parentbe890c12a3bf60ef8d7802064f9602cb58b06f79 (diff)
downloadGT5-Unofficial-55e33d2071504bc7bcdfdaef638dc96e4d4ca970.tar.gz
GT5-Unofficial-55e33d2071504bc7bcdfdaef638dc96e4d4ca970.tar.bz2
GT5-Unofficial-55e33d2071504bc7bcdfdaef638dc96e4d4ca970.zip
Update #3
+added Diode +added WiP stuff
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java11
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/client/creativetabs/bartworksTab.java18
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/blocks/BW_Blocks.java8
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ItemRegistry.java27
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java139
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_MetaTileEntity_Diode.java40
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_MetaTileEntity_EnergyDistributor.java2
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_TileEntity_DEHP.java65
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_TileEntity_ManualTrafo.java200
9 files changed, 506 insertions, 4 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java
index 2c431d3d1d..cb5ab327f3 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/MainMod.java
@@ -2,6 +2,7 @@ package com.github.bartimaeusnek.bartworks;
import com.github.bartimaeusnek.bartworks.client.creativetabs.GT2Tab;
+import com.github.bartimaeusnek.bartworks.client.creativetabs.bartworksTab;
import com.github.bartimaeusnek.bartworks.common.ConfigHandler;
import com.github.bartimaeusnek.bartworks.common.loaders.LoaderRegistry;
import cpw.mods.fml.common.Loader;
@@ -11,10 +12,16 @@ import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.IGuiHandler;
import cpw.mods.fml.common.network.NetworkRegistry;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_OreDictUnificator;
import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.ItemStack;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
+import static com.github.bartimaeusnek.bartworks.common.loaders.ItemRegistry.BW_BLOCKS;
+
@Mod(
modid = MainMod.modID, name = MainMod.name, version = MainMod.version,
dependencies = "required-after:IC2; "
@@ -27,6 +34,7 @@ public final class MainMod {
public static final Logger logger = LogManager.getLogger(name);
public static boolean GTNH = false;
public static final CreativeTabs GT2 = new GT2Tab("GT2C");
+ public static final CreativeTabs BWT = new bartworksTab("bartworks");
public static final IGuiHandler GH = new GuiHandler();
@Mod.Instance(modID)
public static MainMod instance;
@@ -50,6 +58,9 @@ public final class MainMod {
@Mod.EventHandler
public void postInit(FMLPostInitializationEvent postinit) {
NetworkRegistry.INSTANCE.registerGuiHandler(instance,GH);
+
+
+
}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/client/creativetabs/bartworksTab.java b/src/main/java/com/github/bartimaeusnek/bartworks/client/creativetabs/bartworksTab.java
new file mode 100644
index 0000000000..30449b88de
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/client/creativetabs/bartworksTab.java
@@ -0,0 +1,18 @@
+package com.github.bartimaeusnek.bartworks.client.creativetabs;
+
+import com.github.bartimaeusnek.bartworks.common.loaders.ItemRegistry;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+
+public class bartworksTab extends CreativeTabs {
+
+ public bartworksTab (String lable) {
+ super(lable);
+ }
+
+ @Override
+ public Item getTabIconItem() {
+ return ItemRegistry.RockcutterHV;
+ }
+
+}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/blocks/BW_Blocks.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/blocks/BW_Blocks.java
index 983ec42653..a838e52125 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/common/blocks/BW_Blocks.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/blocks/BW_Blocks.java
@@ -23,6 +23,14 @@ public class BW_Blocks extends Block {
this.textureNames=texture;
this.setCreativeTab(MainMod.GT2);
}
+ public BW_Blocks(String name, String[] texture, CreativeTabs tabs) {
+ super(Material.anvil);
+ this.setHardness(15.0F);
+ this.setResistance(30.0F);
+ this.name = name;
+ this.textureNames=texture;
+ this.setCreativeTab(tabs);
+ }
@SideOnly(Side.CLIENT)
private IIcon[] texture;
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ItemRegistry.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ItemRegistry.java
index 0ceeb19d1c..ea3d2f27f7 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ItemRegistry.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/ItemRegistry.java
@@ -5,8 +5,16 @@ import com.github.bartimaeusnek.bartworks.common.ConfigHandler;
import com.github.bartimaeusnek.bartworks.common.blocks.BW_Blocks;
import com.github.bartimaeusnek.bartworks.common.items.*;
import cpw.mods.fml.common.registry.GameRegistry;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.util.GT_OreDictUnificator;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+import static com.github.bartimaeusnek.bartworks.MainMod.BWT;
+import static com.github.bartimaeusnek.bartworks.MainMod.GT2;
public class ItemRegistry implements Runnable {
@@ -15,17 +23,28 @@ public class ItemRegistry implements Runnable {
public static final Item RockcutterLV = new GT_Rockcutter_Item(1);
public static final Item RockcutterMV = new GT_Rockcutter_Item(2);
public static final Item RockcutterHV = new GT_Rockcutter_Item(3);
+ public static ItemStack[] Diode2A= new ItemStack[GT_Values.VN.length];
+ public static ItemStack[] Diode4A= new ItemStack[GT_Values.VN.length];
+ public static ItemStack[] Diode8A= new ItemStack[GT_Values.VN.length];
+ public static ItemStack[] Diode12A= new ItemStack[GT_Values.VN.length];
+ public static ItemStack[] Diode16A= new ItemStack[GT_Values.VN.length];
public static final Item tab = new SimpleIconItem("GT2Coin");
public static final Block[] BW_BLOCKS = {
new BW_Blocks("BW_ItemBlocks", new String[]
{
MainMod.modID+":EtchedLapisCell",
MainMod.modID+":PlatedLapisCell",
- }),
+ },GT2),
new BW_Blocks("GT_LESU_CASING", new String[]{
MainMod.modID+":LESU_CELL",
- }),
+ },GT2),
+ new BW_Blocks("BW_Machinery_Casings",new String[]{
+ MainMod.modID+":NickelFerriteBlocks",
+ MainMod.modID+":TransformerCoil",
+ MainMod.modID+":DEHP_Casing",
+ MainMod.modID+":DEHP_Casing_Base"
+ },BWT),
};
@@ -34,8 +53,10 @@ public class ItemRegistry implements Runnable {
public void run() {
GameRegistry.registerBlock(BW_BLOCKS[0], BW_ItemBlocks.class,"BW_ItemBlocks");
+ GameRegistry.registerBlock(BW_BLOCKS[1], BW_ItemBlocks.class,"GT_LESU_CASING");
+ GameRegistry.registerBlock(BW_BLOCKS[2], BW_ItemBlocks.class,"BW_Machinery_Casings");
- GameRegistry.registerBlock(BW_BLOCKS[1],BW_ItemBlocks.class,"GT_LESU_CASING");
+ GT_OreDictUnificator.registerOre(OrePrefixes.block, Materials.NickelZincFerrite,new ItemStack(BW_BLOCKS[2]));
if (ConfigHandler.teslastaff)
GameRegistry.registerItem(Teslastaff,Teslastaff.getUnlocalizedName());
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java
index 54bcf4fe5c..b7a992f2e5 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/loaders/RecipeLoader.java
@@ -2,8 +2,10 @@ package com.github.bartimaeusnek.bartworks.common.loaders;
import com.github.bartimaeusnek.bartworks.MainMod;
import com.github.bartimaeusnek.bartworks.common.ConfigHandler;
+import com.github.bartimaeusnek.bartworks.common.tileentities.GT_MetaTileEntity_Diode;
import com.github.bartimaeusnek.bartworks.common.tileentities.GT_MetaTileEntity_EnergyDistributor;
import com.github.bartimaeusnek.bartworks.common.tileentities.GT_TileEntity_LESU;
+import com.github.bartimaeusnek.bartworks.common.tileentities.GT_TileEntity_ManualTrafo;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
@@ -164,6 +166,7 @@ public class RecipeLoader implements Runnable {
Materials cable = cables[i];
Materials hull = hulls[i];
ItemStack machinehull = ItemList.MACHINE_HULLS[i].get(1L);
+
GT_ModHandler.addCraftingRecipe(
new GT_MetaTileEntity_EnergyDistributor(ConfigHandler.IDOffset+1+i,"Energy Distributor "+GT_Values.VN[i], "Energy Distributor "+GT_Values.VN[i], i, "Splits Amperage into several Sides").getStackForm(1L),
bitsd,
@@ -175,9 +178,145 @@ public class RecipeLoader implements Runnable {
'P', GT_OreDictUnificator.get(OrePrefixes.plate,hull,1L),
'C', machinehull
});
+ GT_ModHandler.addCraftingRecipe(
+ ItemRegistry.Diode12A[i]=new GT_MetaTileEntity_Diode(ConfigHandler.IDOffset+GT_Values.VN.length*4+1+i,"Cable Diode 12A "+GT_Values.VN[i], "Cable Diode 12A "+GT_Values.VN[i], i,12).getStackForm(1L),
+ bitsd,
+ new Object[]{
+ "WDW",
+ "DCD",
+ "PDP",
+ 'D', ItemList.Circuit_Parts_Diode.get(1L,ItemList.Circuit_Parts_DiodeSMD.get(1L)),
+ 'W', GT_OreDictUnificator.get(OrePrefixes.cableGt12,cable,1L),
+ 'P', GT_OreDictUnificator.get(OrePrefixes.plate,hull,1L),
+ 'C', machinehull
+ }
+ );
+ GT_ModHandler.addCraftingRecipe(
+ ItemRegistry.Diode12A[i],
+ bitsd,
+ new Object[]{
+ "WDW",
+ "DCD",
+ "PDP",
+ 'D', ItemList.Circuit_Parts_DiodeSMD.get(1L,ItemList.Circuit_Parts_Diode.get(1L)),
+ 'W', GT_OreDictUnificator.get(OrePrefixes.cableGt12,cable,1L),
+ 'P', GT_OreDictUnificator.get(OrePrefixes.plate,hull,1L),
+ 'C', machinehull
+ }
+ );
+ GT_ModHandler.addCraftingRecipe(
+ ItemRegistry.Diode8A[i]=new GT_MetaTileEntity_Diode(ConfigHandler.IDOffset+GT_Values.VN.length*3+1+i,"Cable Diode 8A "+GT_Values.VN[i], "Cable Diode 8A "+GT_Values.VN[i], i,8).getStackForm(1L),
+ bitsd,
+ new Object[]{
+ "WDW",
+ "DCD",
+ "PDP",
+ 'D', ItemList.Circuit_Parts_Diode.get(1L,ItemList.Circuit_Parts_DiodeSMD.get(1L)),
+ 'W', GT_OreDictUnificator.get(OrePrefixes.cableGt08,cable,1L),
+ 'P', GT_OreDictUnificator.get(OrePrefixes.plate,hull,1L),
+ 'C', machinehull
+ }
+ );
+ GT_ModHandler.addCraftingRecipe(
+ ItemRegistry.Diode8A[i],
+ bitsd,
+ new Object[]{
+ "WDW",
+ "DCD",
+ "PDP",
+ 'D', ItemList.Circuit_Parts_DiodeSMD.get(1L,ItemList.Circuit_Parts_Diode.get(1L)),
+ 'W', GT_OreDictUnificator.get(OrePrefixes.cableGt08,cable,1L),
+ 'P', GT_OreDictUnificator.get(OrePrefixes.plate,hull,1L),
+ 'C', machinehull
+ }
+ );
+ GT_ModHandler.addCraftingRecipe(
+ ItemRegistry.Diode4A[i]=new GT_MetaTileEntity_Diode(ConfigHandler.IDOffset+GT_Values.VN.length*2+1+i,"Cable Diode 4A "+GT_Values.VN[i], "Cable Diode 4A "+GT_Values.VN[i], i,4).getStackForm(1L),
+ bitsd,
+ new Object[]{
+ "WDW",
+ "DCD",
+ "PDP",
+ 'D', ItemList.Circuit_Parts_Diode.get(1L,ItemList.Circuit_Parts_DiodeSMD.get(1L)),
+ 'W', GT_OreDictUnificator.get(OrePrefixes.cableGt04,cable,1L),
+ 'P', GT_OreDictUnificator.get(OrePrefixes.plate,hull,1L),
+ 'C', machinehull
+ }
+ );
+ GT_ModHandler.addCraftingRecipe(
+ ItemRegistry.Diode4A[i],
+ bitsd,
+ new Object[]{
+ "WDW",
+ "DCD",
+ "PDP",
+ 'D', ItemList.Circuit_Parts_DiodeSMD.get(1L,ItemList.Circuit_Parts_Diode.get(1L)),
+ 'W', GT_OreDictUnificator.get(OrePrefixes.cableGt04,cable,1L),
+ 'P', GT_OreDictUnificator.get(OrePrefixes.plate,hull,1L),
+ 'C', machinehull
+ }
+ );
+ GT_ModHandler.addCraftingRecipe(
+ ItemRegistry.Diode2A[i]=new GT_MetaTileEntity_Diode(ConfigHandler.IDOffset+GT_Values.VN.length+1+i,"Cable Diode 2A "+GT_Values.VN[i], "Cable Diode 2A "+GT_Values.VN[i], i,2).getStackForm(1L),
+ bitsd,
+ new Object[]{
+ "WDW",
+ "DCD",
+ "PDP",
+ 'D', ItemList.Circuit_Parts_Diode.get(1L,ItemList.Circuit_Parts_DiodeSMD.get(1L)),
+ 'W', GT_OreDictUnificator.get(OrePrefixes.cableGt02,cable,1L),
+ 'P', GT_OreDictUnificator.get(OrePrefixes.plate,hull,1L),
+ 'C', machinehull
+ }
+ );
+ GT_ModHandler.addCraftingRecipe(
+ ItemRegistry.Diode2A[i],
+ bitsd,
+ new Object[]{
+ "WDW",
+ "DCD",
+ "PDP",
+ 'D', ItemList.Circuit_Parts_DiodeSMD.get(1L,ItemList.Circuit_Parts_Diode.get(1L)),
+ 'W', GT_OreDictUnificator.get(OrePrefixes.cableGt02,cable,1L),
+ 'P', GT_OreDictUnificator.get(OrePrefixes.plate,hull,1L),
+ 'C', machinehull
+ }
+ );
+ GT_ModHandler.addCraftingRecipe(
+ ItemRegistry.Diode16A[i]=new GT_MetaTileEntity_Diode(ConfigHandler.IDOffset+GT_Values.VN.length*5+5+i,"Cable Diode 16A "+GT_Values.VN[i], "Cable Diode 16A "+GT_Values.VN[i], i,16).getStackForm(1L),
+ bitsd,
+ new Object[]{
+ "WHW",
+ "DCD",
+ "PDP",
+ 'H', ItemList.Circuit_Parts_Coil.get(1L),
+ 'D', ItemList.Circuit_Parts_Diode.get(1L,ItemList.Circuit_Parts_DiodeSMD.get(1L)),
+ 'W', GT_OreDictUnificator.get(OrePrefixes.wireGt16,cable,1L),
+ 'P', GT_OreDictUnificator.get(OrePrefixes.plate,hull,1L),
+ 'C', machinehull
+ }
+ );
+ GT_ModHandler.addCraftingRecipe(
+ ItemRegistry.Diode16A[i],
+ bitsd,
+ new Object[]{
+ "WHW",
+ "DCD",
+ "PDP",
+ 'H', ItemList.Circuit_Parts_Coil.get(1L),
+ 'D', ItemList.Circuit_Parts_DiodeSMD.get(1L,ItemList.Circuit_Parts_Diode.get(1L)),
+ 'W', GT_OreDictUnificator.get(OrePrefixes.wireGt16,cable,1L),
+ 'P', GT_OreDictUnificator.get(OrePrefixes.plate,hull,1L),
+ 'C', machinehull
+ }
+ );
+
}catch(ArrayIndexOutOfBoundsException e){
//e.printStackTrace();
}
}
+
+ new GT_TileEntity_ManualTrafo(ConfigHandler.IDOffset+GT_Values.VN.length*6+1,"ManualTravo","ManualTravo");
+ //current ID: ConfigHandler.IDOffset+GT_Values.VN.length*6+1
}
}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_MetaTileEntity_Diode.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_MetaTileEntity_Diode.java
new file mode 100644
index 0000000000..0ad4ec3142
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_MetaTileEntity_Diode.java
@@ -0,0 +1,40 @@
+package com.github.bartimaeusnek.bartworks.common.tileentities;
+
+import com.github.bartimaeusnek.bartworks.util.ChatColorHelper;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicHull;
+
+public class GT_MetaTileEntity_Diode extends GT_MetaTileEntity_BasicHull {
+
+ private long amps;
+
+ public GT_MetaTileEntity_Diode(int aID, String aName, String aNameRegional, int aTier, int amps) {
+ super(aID, aName, aNameRegional, aTier, "A Simple diode that will allow Energy Flow in only one direction.", null);
+ this.amps=amps;
+ }
+
+ public GT_MetaTileEntity_Diode(String aName, int aTier, int aInvSlotCount, String[] aDescription, ITexture[][][] aTextures) {
+ super(aName, aTier, aInvSlotCount, aDescription, aTextures);
+ }
+
+ @Override
+ public long maxAmperesOut() {
+ return amps;
+ }
+
+ @Override
+ public long maxAmperesIn() {
+ return amps;
+ }
+
+ @Override
+ public IMetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
+ return new GT_MetaTileEntity_Diode(this.mName, this.mTier, this.mInventory.length, this.mDescriptionArray, this.mTextures);
+ }
+ public String[] getDescription() {
+ return new String[] {mDescription,"Voltage: "+ ChatColorHelper.YELLOW + GT_Values.V[this.mTier],"Amperage IN: " + ChatColorHelper.YELLOW + maxAmperesIn(),"Amperage OUT: " + ChatColorHelper.YELLOW + maxAmperesOut(), "Added by bartimaeusnek via BartWorks"};
+ }
+}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_MetaTileEntity_EnergyDistributor.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_MetaTileEntity_EnergyDistributor.java
index a122310393..239484460e 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_MetaTileEntity_EnergyDistributor.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_MetaTileEntity_EnergyDistributor.java
@@ -47,7 +47,7 @@ public class GT_MetaTileEntity_EnergyDistributor extends GT_MetaTileEntity_Trans
}
public String[] getDescription() {
- return new String[] {mDescription,"Voltage: "+ ChatColorHelper.YELLOW +GT_Values.V[this.mTier],"Amperage IN: " + ChatColorHelper.YELLOW + maxAmperesIn(),"Amperage OUT: " + ChatColorHelper.YELLOW + maxAmperesOut()};
+ return new String[] {mDescription,"Voltage: "+ ChatColorHelper.YELLOW +GT_Values.V[this.mTier],"Amperage IN: " + ChatColorHelper.YELLOW + maxAmperesIn(),"Amperage OUT: " + ChatColorHelper.YELLOW + maxAmperesOut(), "Added by bartimaeusnek via BartWorks"};
}
}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_TileEntity_DEHP.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_TileEntity_DEHP.java
new file mode 100644
index 0000000000..150678ea23
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_TileEntity_DEHP.java
@@ -0,0 +1,65 @@
+package com.github.bartimaeusnek.bartworks.common.tileentities;
+
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.gui.GT_GUIContainer_MultiMachine;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_DrillerBase;
+import net.minecraft.entity.player.InventoryPlayer;
+
+public class GT_TileEntity_DEHP extends GT_MetaTileEntity_DrillerBase {
+
+ public GT_TileEntity_DEHP(int aID, String aName, String aNameRegional) {
+ super(aID, aName, aNameRegional);
+ }
+
+ public GT_TileEntity_DEHP(String aName) {
+ super(aName);
+ }
+
+ @Override
+ public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) {
+ return null;
+ }
+
+ @Override
+ public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
+ return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, this.getLocalName(), "DrillingRig.png");
+ }
+
+ @Override
+ public String[] getDescription() {
+ return new String[0];
+ }
+
+ @Override
+ protected ItemList getCasingBlockItem() {
+ return null;
+ }
+
+ @Override
+ protected Materials getFrameMaterial() {
+ return null;
+ }
+
+ @Override
+ protected int getCasingTextureIndex() {
+ return 0;
+ }
+
+ @Override
+ protected int getMinTier() {
+ return 0;
+ }
+
+ @Override
+ protected boolean checkHatches() {
+ return false;
+ }
+
+ @Override
+ protected void setElectricityStats() {
+
+ }
+}
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_TileEntity_ManualTrafo.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_TileEntity_ManualTrafo.java
new file mode 100644
index 0000000000..2c0c255ce8
--- /dev/null
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/GT_TileEntity_ManualTrafo.java
@@ -0,0 +1,200 @@
+package com.github.bartimaeusnek.bartworks.common.tileentities;
+
+import com.github.bartimaeusnek.bartworks.common.loaders.ItemRegistry;
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.Textures;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynamo;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
+import gregtech.api.objects.GT_RenderedTexture;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.common.util.ForgeDirection;
+
+import static gregtech.api.enums.GT_Values.V;
+
+public class GT_TileEntity_ManualTrafo extends GT_MetaTileEntity_MultiBlockBase {
+
+ private byte texid = 2;
+ private long mCoilWicks = 0;
+ private boolean upstep = true;
+
+ public GT_TileEntity_ManualTrafo(int aID, String aName, String aNameRegional) {
+ super(aID, aName, aNameRegional);
+ }
+
+ public GT_TileEntity_ManualTrafo(String aName) {
+ super(aName);
+ }
+
+ @Override
+ public boolean isCorrectMachinePart(ItemStack itemStack) {
+ return false;
+ }
+
+ @Override
+ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) {
+ super.onPostTick(aBaseMetaTileEntity,aTick);
+ }
+
+ @Override
+ public boolean onRunningTick(ItemStack aStack){
+ if (this.mEfficiency < this.getMaxEfficiency(null))
+ this.mEfficiency += 100;
+ else
+ this.mEfficiency = this.getMaxEfficiency(null);
+
+ return this.drainEnergyInput((long)this.mEUt * 2 * this.mEnergyHatches.size()) && this.addEnergyOutput((long)this.mEUt * 2 * this.mEnergyHatches.size() * (long)this.mEfficiency / 10000L);
+ }
+
+ @Override
+ public boolean checkRecipe(ItemStack itemStack) {
+ this.upstep= !(this.mInventory[1] != null && this.mInventory[1].getUnlocalizedName().startsWith("gt.integrated_circuit"));
+ this.mMaxProgresstime=1;
+ this.mProgresstime=0;
+ this.mEfficiency=1000;
+ this.mEUt= (int) V[this.mEnergyHatches.get(0).mTier];
+ return this.upstep ? this.getOutputTier() - this.getInputTier() == mCoilWicks : this.getInputTier() - this.getOutputTier() == mCoilWicks;
+ }
+
+ @Override
+ public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack itemStack) {
+ int xDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetX;
+ int zDir = ForgeDirection.getOrientation(aBaseMetaTileEntity.getBackFacing()).offsetZ;
+
+ //check height
+ int y = 1;
+ boolean stillcoil = true;
+ while (stillcoil) {
+ for (int x = -1; x <= 1; ++x) {
+ for (int z = -1; z <= 1; ++z) {
+ if (x != 0 || z != 0) {
+ stillcoil = aBaseMetaTileEntity.getBlockOffset(xDir + x, y, zDir + z).equals(ItemRegistry.BW_BLOCKS[2]) && aBaseMetaTileEntity.getMetaIDOffset(xDir + x, y, zDir + z) == 1;
+ if (stillcoil) {
+ if (mCoilWicks != 0 && mCoilWicks % 8 == 0) {
+ ++y;
+ continue;
+ }
+ this.mCoilWicks++;
+ } else
+ break;
+ }
+ }
+ if (!stillcoil)
+ break;
+ }
+ }
+ if (mCoilWicks % 8 != 0)
+ return false;
+
+ this.mCoilWicks = this.mCoilWicks / 8;
+
+ //check interior (NiFeZn02 Core)
+ for (int i = 1; i <= this.mCoilWicks; ++i) {
+ if (!aBaseMetaTileEntity.getBlockOffset(xDir, y, zDir).equals(ItemRegistry.BW_BLOCKS[2]) && aBaseMetaTileEntity.getMetaIDOffset(xDir, y, zDir) == 0) {
+ return false;
+ }
+ }
+
+ //check Bottom
+ for (int x = -1; x <= 1; ++x)
+ for (int z = -1; z <= 1; ++z)
+ if (xDir + x != 0 || zDir + z != 0) {
+ IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + x, 0, zDir + z);
+ if (!this.addMaintenanceToMachineList(tTileEntity, texid) && !this.addEnergyInputToMachineList(tTileEntity, texid)) {
+ if (aBaseMetaTileEntity.getBlockOffset(xDir + x, 0, zDir + z) != GregTech_API.sBlockCasings1) {
+ return false;
+ }
+ /*
+ if (aBaseMetaTileEntity.getMetaIDOffset(xDir + x, 0, zDir + z) != 11) {
+ return false;
+ }
+ */
+ }
+ }
+
+ //check Top
+ for (int x = -1; x <= 1; ++x)
+ for (int z = -1; z <= 1; ++z) {
+ IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xDir + x, (int) this.mCoilWicks+1, zDir + z);
+ if (!this.addMaintenanceToMachineList(tTileEntity, texid) && !this.addDynamoToMachineList(tTileEntity, texid)) {
+ if (aBaseMetaTileEntity.getBlockOffset(xDir + x, (int) this.mCoilWicks+1, zDir + z) != GregTech_API.sBlockCasings1) {
+ return false;
+ }
+ /*
+ if (aBaseMetaTileEntity.getMetaIDOffset(xDir + x, 0, zDir + z) != 11) {
+ return false;
+ }
+ */
+ }
+ }
+
+ if (this.mDynamoHatches.size() <= 0 || this.mEnergyHatches.size() <= 0 || this.mDynamoHatches.size() > this.mEnergyHatches.size() )
+ return false;
+
+ // check dynamos and energy hatches for the same tier
+ byte outtier = this.mDynamoHatches.get(0).mTier;
+ for (GT_MetaTileEntity_Hatch_Dynamo out : this.mDynamoHatches){
+ if (out.mTier!=outtier)
+ return false;
+ }
+
+ byte intier = this.mEnergyHatches.get(0).mTier;
+ for (GT_MetaTileEntity_Hatch_Energy in : this.mEnergyHatches){
+ if (in.mTier!=intier)
+ return false;
+ }
+
+ return true;
+ }
+
+ @Override
+ public int getMaxEfficiency(ItemStack itemStack) {
+ return 10000;
+ }
+
+ @Override
+ public int getPollutionPerTick(ItemStack itemStack) {
+ return 0;
+ }
+
+ @Override
+ public int getDamageToComponent(ItemStack itemStack) {
+ return 0;
+ }
+
+ @Override
+ public boolean explodesOnComponentBreak(ItemStack itemStack) {
+ return true;
+ }
+
+ @Override
+ public IMetaTileEntity newMetaEntity(IGregTechTileEntity iGregTechTileEntity) {
+ return new GT_TileEntity_ManualTrafo(mName);
+ }
+
+ @Override
+ public String[] getDescription() {
+ return new String[]{"blalbabla"};
+ }
+
+ @Override
+ public void saveNBTData(NBTTagCompound ntag){
+ ntag.setLong("mCoilWicks",mCoilWicks);
+ super.saveNBTData(ntag);
+ }
+
+ @Override
+ public void loadNBTData(NBTTagCompound ntag){
+ super.loadNBTData(ntag);
+ mCoilWicks = ntag.getLong("mCoilWicks");
+ }
+
+ @Override
+ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex, boolean aActive, boolean aRedstone) {
+ return aSide == aFacing ? new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[texid], new GT_RenderedTexture(aActive ? Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE_ACTIVE : Textures.BlockIcons.OVERLAY_FRONT_ELECTRIC_BLAST_FURNACE)} : new ITexture[]{Textures.BlockIcons.CASING_BLOCKS[texid]};
+ }
+}