aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/common
diff options
context:
space:
mode:
authorChristina Berchtold <kekzdealer@gmail.com>2020-05-04 00:21:42 +0200
committerChristina Berchtold <kekzdealer@gmail.com>2020-05-04 00:21:42 +0200
commitd0ff8c1c6b6dbe4b6f3ce33a380ee837632a9507 (patch)
tree08ce83b210625caadef4d48c913276756a20ac19 /src/main/java/common
parent90efd08c2b3cee3fe0ad0b4e70e8762ff7a31a53 (diff)
downloadGT5-Unofficial-d0ff8c1c6b6dbe4b6f3ce33a380ee837632a9507.tar.gz
GT5-Unofficial-d0ff8c1c6b6dbe4b6f3ce33a380ee837632a9507.tar.bz2
GT5-Unofficial-d0ff8c1c6b6dbe4b6f3ce33a380ee837632a9507.zip
visiting Lucy
Diffstat (limited to 'src/main/java/common')
-rw-r--r--src/main/java/common/Blocks.java8
-rw-r--r--src/main/java/common/blocks/BaseGTUpdateableBlock.java4
-rw-r--r--src/main/java/common/blocks/Block_ItemProxyCable.java2
-rw-r--r--src/main/java/common/blocks/Block_ItemProxyEndpoint.java2
-rw-r--r--src/main/java/common/blocks/Block_ItemProxySource.java2
-rw-r--r--src/main/java/common/blocks/Block_ItemServerDrive.java2
-rw-r--r--src/main/java/common/blocks/Block_ItemServerIOPort.java2
-rw-r--r--src/main/java/common/blocks/Block_ItemServerRackCasing.java2
-rw-r--r--src/main/java/common/blocks/Block_LapotronicEnergyUnit.java99
-rw-r--r--src/main/java/common/blocks/Block_TFFTMultiHatch.java2
-rw-r--r--src/main/java/common/blocks/Block_TFFTStorageFieldBlockT1.java2
-rw-r--r--src/main/java/common/blocks/Block_TFFTStorageFieldBlockT2.java2
-rw-r--r--src/main/java/common/blocks/Block_TFFTStorageFieldBlockT3.java2
-rw-r--r--src/main/java/common/blocks/Block_TFFTStorageFieldBlockT4.java2
-rw-r--r--src/main/java/common/blocks/Block_TFFTStorageFieldBlockT5.java2
-rw-r--r--src/main/java/common/itemBlocks/IB_ItemProxyCable.java22
-rw-r--r--src/main/java/common/itemBlocks/IB_ItemProxyEndpoint.java22
-rw-r--r--src/main/java/common/itemBlocks/IB_ItemProxySource.java23
-rw-r--r--src/main/java/common/itemBlocks/IB_ItemServerDrive.java21
-rw-r--r--src/main/java/common/itemBlocks/IB_ItemServerIOPort.java22
-rw-r--r--src/main/java/common/itemBlocks/IB_ItemServerRackCasing.java21
-rw-r--r--src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java39
-rw-r--r--src/main/java/common/itemBlocks/IB_TFFTMultiHatch.java24
-rw-r--r--src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT1.java25
-rw-r--r--src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT2.java25
-rw-r--r--src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT3.java25
-rw-r--r--src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT4.java25
-rw-r--r--src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT5.java25
-rw-r--r--src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java229
29 files changed, 669 insertions, 14 deletions
diff --git a/src/main/java/common/Blocks.java b/src/main/java/common/Blocks.java
index 055b4bf0a9..d7211e2b13 100644
--- a/src/main/java/common/Blocks.java
+++ b/src/main/java/common/Blocks.java
@@ -9,6 +9,7 @@ import common.blocks.Block_ItemProxySource;
import common.blocks.Block_ItemServerDrive;
import common.blocks.Block_ItemServerIOPort;
import common.blocks.Block_ItemServerRackCasing;
+import common.blocks.Block_LapotronicEnergyUnit;
import common.blocks.Block_ReactorChamber_OFF;
import common.blocks.Block_ReactorChamber_ON;
import common.blocks.Block_TFFTCasing;
@@ -50,6 +51,8 @@ public class Blocks {
public static Block jarThaumiumReinforced;
public static Block jarIchor;
+ public static Block lscLapotronicEnergyUnit;
+
public static void init() {
System.out.println("Registering blocks...");
@@ -59,6 +62,7 @@ public class Blocks {
//registerBlocks_ItemServer();
//registerBlocks_ItemProxy();
registerBlocks_Jars();
+ registerBlocks_LSC();
System.out.println("Finished registering blocks");
}
@@ -100,4 +104,8 @@ public class Blocks {
jarThaumiumReinforced = Block_ThaumiumReinforcedJar.registerBlock();
jarIchor = Block_IchorJar.registerBlock();
}
+
+ private static void registerBlocks_LSC() {
+ lscLapotronicEnergyUnit = Block_LapotronicEnergyUnit.registerBlock();
+ }
}
diff --git a/src/main/java/common/blocks/BaseGTUpdateableBlock.java b/src/main/java/common/blocks/BaseGTUpdateableBlock.java
index 8ca9a31fc0..3d1ce633c1 100644
--- a/src/main/java/common/blocks/BaseGTUpdateableBlock.java
+++ b/src/main/java/common/blocks/BaseGTUpdateableBlock.java
@@ -8,8 +8,8 @@ import net.minecraft.world.World;
public abstract class BaseGTUpdateableBlock extends Block {
- protected BaseGTUpdateableBlock(Material p_i45394_1_) {
- super(p_i45394_1_);
+ protected BaseGTUpdateableBlock(Material material) {
+ super(material);
GregTech_API.registerMachineBlock(this, -1);
}
diff --git a/src/main/java/common/blocks/Block_ItemProxyCable.java b/src/main/java/common/blocks/Block_ItemProxyCable.java
index d7a4a2dcb2..23f082a2bd 100644
--- a/src/main/java/common/blocks/Block_ItemProxyCable.java
+++ b/src/main/java/common/blocks/Block_ItemProxyCable.java
@@ -1,8 +1,8 @@
package common.blocks;
+import common.itemBlocks.IB_ItemProxyCable;
import common.tileentities.TE_ItemProxyCable;
import cpw.mods.fml.common.registry.GameRegistry;
-import itemBlocks.IB_ItemProxyCable;
import kekztech.KekzCore;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
diff --git a/src/main/java/common/blocks/Block_ItemProxyEndpoint.java b/src/main/java/common/blocks/Block_ItemProxyEndpoint.java
index d2fdea8029..68aa206836 100644
--- a/src/main/java/common/blocks/Block_ItemProxyEndpoint.java
+++ b/src/main/java/common/blocks/Block_ItemProxyEndpoint.java
@@ -2,9 +2,9 @@ package common.blocks;
import java.util.UUID;
+import common.itemBlocks.IB_ItemProxyEndpoint;
import common.tileentities.TE_ItemProxyEndpoint;
import cpw.mods.fml.common.registry.GameRegistry;
-import itemBlocks.IB_ItemProxyEndpoint;
import items.Item_Configurator;
import kekztech.GuiHandler;
import kekztech.KekzCore;
diff --git a/src/main/java/common/blocks/Block_ItemProxySource.java b/src/main/java/common/blocks/Block_ItemProxySource.java
index 715a6e2bdf..d09368a1a2 100644
--- a/src/main/java/common/blocks/Block_ItemProxySource.java
+++ b/src/main/java/common/blocks/Block_ItemProxySource.java
@@ -1,8 +1,8 @@
package common.blocks;
+import common.itemBlocks.IB_ItemProxySource;
import common.tileentities.TE_ItemProxySource;
import cpw.mods.fml.common.registry.GameRegistry;
-import itemBlocks.IB_ItemProxySource;
import items.Item_Configurator;
import kekztech.GuiHandler;
import kekztech.KekzCore;
diff --git a/src/main/java/common/blocks/Block_ItemServerDrive.java b/src/main/java/common/blocks/Block_ItemServerDrive.java
index 38b54da41a..e6268e5402 100644
--- a/src/main/java/common/blocks/Block_ItemServerDrive.java
+++ b/src/main/java/common/blocks/Block_ItemServerDrive.java
@@ -1,7 +1,7 @@
package common.blocks;
+import common.itemBlocks.IB_ItemServerDrive;
import cpw.mods.fml.common.registry.GameRegistry;
-import itemBlocks.IB_ItemServerDrive;
import kekztech.KekzCore;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
diff --git a/src/main/java/common/blocks/Block_ItemServerIOPort.java b/src/main/java/common/blocks/Block_ItemServerIOPort.java
index 1b40ae89a3..cae471dec4 100644
--- a/src/main/java/common/blocks/Block_ItemServerIOPort.java
+++ b/src/main/java/common/blocks/Block_ItemServerIOPort.java
@@ -1,8 +1,8 @@
package common.blocks;
+import common.itemBlocks.IB_ItemServerIOPort;
import common.tileentities.TE_ItemServerIOPort;
import cpw.mods.fml.common.registry.GameRegistry;
-import itemBlocks.IB_ItemServerIOPort;
import kekztech.KekzCore;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
diff --git a/src/main/java/common/blocks/Block_ItemServerRackCasing.java b/src/main/java/common/blocks/Block_ItemServerRackCasing.java
index fbddd34315..37cca58615 100644
--- a/src/main/java/common/blocks/Block_ItemServerRackCasing.java
+++ b/src/main/java/common/blocks/Block_ItemServerRackCasing.java
@@ -1,7 +1,7 @@
package common.blocks;
+import common.itemBlocks.IB_ItemServerRackCasing;
import cpw.mods.fml.common.registry.GameRegistry;
-import itemBlocks.IB_ItemServerRackCasing;
import kekztech.KekzCore;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
diff --git a/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java b/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java
new file mode 100644
index 0000000000..bf6170ab65
--- /dev/null
+++ b/src/main/java/common/blocks/Block_LapotronicEnergyUnit.java
@@ -0,0 +1,99 @@
+package common.blocks;
+
+import java.util.List;
+
+import common.itemBlocks.IB_LapotronicEnergyUnit;
+import cpw.mods.fml.common.registry.GameRegistry;
+import net.minecraft.block.Block;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+
+public class Block_LapotronicEnergyUnit extends BaseGTUpdateableBlock {
+
+ private static final Block_LapotronicEnergyUnit instance = new Block_LapotronicEnergyUnit();
+
+ private IIcon iconBaseSide;
+ private IIcon iconBaseTop;
+
+ private IIcon iconLapoIVSide;
+ private IIcon iconLapoIVTop;
+ private IIcon iconLapoLuVSide;
+ private IIcon iconLapoLuVTop;
+ private IIcon iconLapoZPMSide;
+ private IIcon iconLapoZPMTop;
+ private IIcon iconLapoUVSide;
+ private IIcon iconLapoUVTop;
+ private IIcon iconUltimateSide;
+ private IIcon iconUltimateTop;
+ private IIcon iconReallyUltimateSide;
+ private IIcon iconReallyUltimateTop;
+
+ private Block_LapotronicEnergyUnit() {
+ super(Material.iron);
+ }
+
+ public static Block registerBlock() {
+ final String blockName = "kekztech_lapotronicenergyunit_block";
+ instance.setBlockName(blockName);
+ instance.setCreativeTab(CreativeTabs.tabMisc);
+ instance.setHardness(5.0f);
+ instance.setResistance(6.0f);
+ GameRegistry.registerBlock(instance, IB_LapotronicEnergyUnit.class, blockName);
+
+ return instance;
+ }
+
+ @Override
+ public void registerBlockIcons(IIconRegister ir) {
+ iconBaseSide = ir.registerIcon("kekztech:LSCBase_side");
+ iconBaseTop = ir.registerIcon("kekztech:LSCBase_top");
+
+ iconLapoIVSide = ir.registerIcon("kekztech:LapotronicEnergyUnit1_side");
+ iconLapoIVTop = ir.registerIcon("kekztech:LapotronicEnergyUnit1_top");
+ iconLapoLuVSide = ir.registerIcon("kekztech:LapotronicEnergyUnit2_side");
+ iconLapoLuVTop = ir.registerIcon("kekztech:LapotronicEnergyUnit2_top");
+ iconLapoZPMSide = ir.registerIcon("kekztech:LapotronicEnergyUnit3_side");
+ iconLapoZPMTop = ir.registerIcon("kekztech:LapotronicEnergyUnit3_top");
+ iconLapoUVSide = ir.registerIcon("kekztech:LapotronicEnergyUnit4_side");
+ iconLapoUVTop = ir.registerIcon("kekztech:LapotronicEnergyUnit4_top");
+
+ iconUltimateSide = ir.registerIcon("kekztech:UltimateEnergyUnit_side");
+ iconUltimateTop = ir.registerIcon("kekztech:UltimateEnergyUnit_top");
+ iconReallyUltimateSide = ir.registerIcon("kekztech:ReallyUltimateEnergyUnit_side");
+ iconReallyUltimateTop = ir.registerIcon("kekztech:ReallyUltimateEnergyUnit_top");
+ }
+
+ @Override
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ public void getSubBlocks(Item par1, CreativeTabs par2CreativeTabs, List par3List) {
+ // Multi casing
+ par3List.add(new ItemStack(par1, 1, 0));
+ // Lapo units IV - UV
+ par3List.add(new ItemStack(par1, 1, 1));
+ par3List.add(new ItemStack(par1, 1, 2));
+ par3List.add(new ItemStack(par1, 1, 3));
+ par3List.add(new ItemStack(par1, 1, 4));
+ // Ultimate batteries
+ par3List.add(new ItemStack(par1, 1, 5));
+ par3List.add(new ItemStack(par1, 1, 6));
+ }
+
+ @Override
+ public IIcon getIcon(int side, int meta) {
+ switch(meta) {
+ case 0: return (side < 2) ? iconBaseTop : iconBaseSide;
+ case 1: return (side < 2) ? iconLapoIVTop : iconLapoIVSide;
+ case 2: return (side < 2) ? iconLapoLuVTop : iconLapoLuVSide;
+ case 3: return (side < 2) ? iconLapoZPMTop : iconLapoZPMSide;
+ case 4: return (side < 2) ? iconLapoUVTop : iconLapoUVSide;
+ case 5: return (side < 2) ? iconUltimateTop : iconUltimateSide;
+ case 6: return (side < 2) ? iconReallyUltimateTop : iconReallyUltimateSide;
+ default: return iconUltimateTop;
+ }
+ }
+
+}
diff --git a/src/main/java/common/blocks/Block_TFFTMultiHatch.java b/src/main/java/common/blocks/Block_TFFTMultiHatch.java
index 655b66006a..7759988645 100644
--- a/src/main/java/common/blocks/Block_TFFTMultiHatch.java
+++ b/src/main/java/common/blocks/Block_TFFTMultiHatch.java
@@ -1,11 +1,11 @@
package common.blocks;
+import common.itemBlocks.IB_TFFTMultiHatch;
import common.tileentities.TE_TFFTMultiHatch;
import cpw.mods.fml.common.registry.GameRegistry;
import gregtech.api.GregTech_API;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Utility;
-import itemBlocks.IB_TFFTMultiHatch;
import kekztech.KekzCore;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
diff --git a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT1.java b/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT1.java
index e8e69d2850..f7554c4724 100644
--- a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT1.java
+++ b/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT1.java
@@ -1,7 +1,7 @@
package common.blocks;
+import common.itemBlocks.IB_TFFTStorageFieldBlockT1;
import cpw.mods.fml.common.registry.GameRegistry;
-import itemBlocks.IB_TFFTStorageFieldBlockT1;
import kekztech.KekzCore;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
diff --git a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT2.java b/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT2.java
index 747c2cd1a9..394fbcf90f 100644
--- a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT2.java
+++ b/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT2.java
@@ -1,7 +1,7 @@
package common.blocks;
+import common.itemBlocks.IB_TFFTStorageFieldBlockT2;
import cpw.mods.fml.common.registry.GameRegistry;
-import itemBlocks.IB_TFFTStorageFieldBlockT2;
import kekztech.KekzCore;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
diff --git a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT3.java b/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT3.java
index 6b163d2b24..0b2123ae87 100644
--- a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT3.java
+++ b/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT3.java
@@ -1,7 +1,7 @@
package common.blocks;
+import common.itemBlocks.IB_TFFTStorageFieldBlockT3;
import cpw.mods.fml.common.registry.GameRegistry;
-import itemBlocks.IB_TFFTStorageFieldBlockT3;
import kekztech.KekzCore;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
diff --git a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT4.java b/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT4.java
index e46686a86a..138c66ac0c 100644
--- a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT4.java
+++ b/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT4.java
@@ -1,7 +1,7 @@
package common.blocks;
+import common.itemBlocks.IB_TFFTStorageFieldBlockT4;
import cpw.mods.fml.common.registry.GameRegistry;
-import itemBlocks.IB_TFFTStorageFieldBlockT4;
import kekztech.KekzCore;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
diff --git a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT5.java b/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT5.java
index b53de1dc8a..7e30695804 100644
--- a/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT5.java
+++ b/src/main/java/common/blocks/Block_TFFTStorageFieldBlockT5.java
@@ -1,7 +1,7 @@
package common.blocks;
+import common.itemBlocks.IB_TFFTStorageFieldBlockT5;
import cpw.mods.fml.common.registry.GameRegistry;
-import itemBlocks.IB_TFFTStorageFieldBlockT5;
import kekztech.KekzCore;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
diff --git a/src/main/java/common/itemBlocks/IB_ItemProxyCable.java b/src/main/java/common/itemBlocks/IB_ItemProxyCable.java
new file mode 100644
index 0000000000..c78872327d
--- /dev/null
+++ b/src/main/java/common/itemBlocks/IB_ItemProxyCable.java
@@ -0,0 +1,22 @@
+package common.itemBlocks;
+
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class IB_ItemProxyCable extends ItemBlock {
+
+ public IB_ItemProxyCable(Block block) {
+ super(block);
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List lines, boolean advancedTooltips) {
+ lines.add("Connects Item Distribution Nodes");
+ lines.add("Wired networks do not require a controller");
+ }
+}
diff --git a/src/main/java/common/itemBlocks/IB_ItemProxyEndpoint.java b/src/main/java/common/itemBlocks/IB_ItemProxyEndpoint.java
new file mode 100644
index 0000000000..49fb7d7430
--- /dev/null
+++ b/src/main/java/common/itemBlocks/IB_ItemProxyEndpoint.java
@@ -0,0 +1,22 @@
+package common.itemBlocks;
+
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class IB_ItemProxyEndpoint extends ItemBlock {
+
+ public IB_ItemProxyEndpoint(Block block) {
+ super(block);
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List lines, boolean advancedTooltips) {
+ lines.add("Point the marked side to where you want to provide an inventory proxy to.");
+ lines.add("Insert an Integrated Circuit to set the network channel.");
+ }
+}
diff --git a/src/main/java/common/itemBlocks/IB_ItemProxySource.java b/src/main/java/common/itemBlocks/IB_ItemProxySource.java
new file mode 100644
index 0000000000..1dc70efd6e
--- /dev/null
+++ b/src/main/java/common/itemBlocks/IB_ItemProxySource.java
@@ -0,0 +1,23 @@
+package common.itemBlocks;
+
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class IB_ItemProxySource extends ItemBlock {
+
+ public IB_ItemProxySource(Block block) {
+ super(block);
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List lines, boolean advancedTooltips) {
+ lines.add("Point to an inventory to act as source for the item proxy network.");
+ lines.add("Insert an Integrated Circuit to set the network channel.");
+ lines.add("Only one source can use one channel on the same network.");
+ }
+}
diff --git a/src/main/java/common/itemBlocks/IB_ItemServerDrive.java b/src/main/java/common/itemBlocks/IB_ItemServerDrive.java
new file mode 100644
index 0000000000..54e431388f
--- /dev/null
+++ b/src/main/java/common/itemBlocks/IB_ItemServerDrive.java
@@ -0,0 +1,21 @@
+package common.itemBlocks;
+
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class IB_ItemServerDrive extends ItemBlock {
+
+ public IB_ItemServerDrive(Block block) {
+ super(block);
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List lines, boolean advancedTooltips) {
+ lines.add("Item Server Storage Drive");
+ }
+}
diff --git a/src/main/java/common/itemBlocks/IB_ItemServerIOPort.java b/src/main/java/common/itemBlocks/IB_ItemServerIOPort.java
new file mode 100644
index 0000000000..6560805cda
--- /dev/null
+++ b/src/main/java/common/itemBlocks/IB_ItemServerIOPort.java
@@ -0,0 +1,22 @@
+package common.itemBlocks;
+
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class IB_ItemServerIOPort extends ItemBlock {
+
+ public IB_ItemServerIOPort(Block block) {
+ super(block);
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List lines, boolean advancedTooltips) {
+ lines.add("[W.I.P - Probably doesn't work]");
+ lines.add("I/O Port for interfacing with an Item Server.");
+ }
+}
diff --git a/src/main/java/common/itemBlocks/IB_ItemServerRackCasing.java b/src/main/java/common/itemBlocks/IB_ItemServerRackCasing.java
new file mode 100644
index 0000000000..39e64dbe29
--- /dev/null
+++ b/src/main/java/common/itemBlocks/IB_ItemServerRackCasing.java
@@ -0,0 +1,21 @@
+package common.itemBlocks;
+
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class IB_ItemServerRackCasing extends ItemBlock {
+
+ public IB_ItemServerRackCasing(Block block) {
+ super(block);
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List lines, boolean advancedTooltips) {
+ lines.add("Shiny new server rack");
+ }
+}
diff --git a/src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java b/src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java
new file mode 100644
index 0000000000..0df88fa10a
--- /dev/null
+++ b/src/main/java/common/itemBlocks/IB_LapotronicEnergyUnit.java
@@ -0,0 +1,39 @@
+package common.itemBlocks;
+
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class IB_LapotronicEnergyUnit extends ItemBlock {
+
+ public IB_LapotronicEnergyUnit(Block block) {
+ super(block);
+ }
+
+ @Override
+ public int getMetadata(int meta) {
+ return meta;
+ }
+
+ @Override
+ public String getUnlocalizedName(ItemStack stack) {
+ return super.getUnlocalizedName() + "." + stack.getItemDamage();
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List lines, boolean advancedTooltips) {
+ lines.add("Part of the Lapotronic Super Capacitor");
+ switch(stack.getItemDamage()) {
+ case 1: lines.add("Capacity: 100,000,000 EU"); lines.add("Voltage: 8192"); break;
+ case 2: lines.add("Capacity: 1,000,000,000 EU"); lines.add("Voltage: 32,768"); break;
+ case 3: lines.add("Capacity: 10,00,000,000 EU"); lines.add("Voltage: 131,072"); break;
+ case 4: lines.add("Capacity: 100,000,000,000 EU"); lines.add("Voltage: 524,288"); break;
+ case 5: lines.add("Capacity: 9,223,372,036,854,775,807 EU"); lines.add("Voltage: 524,288"); break;
+ case 6: lines.add("Capacity: 9,223,372,036,854,775,807 EU"); lines.add("Voltage: 134,217,728"); break;
+ }
+ }
+}
diff --git a/src/main/java/common/itemBlocks/IB_TFFTMultiHatch.java b/src/main/java/common/itemBlocks/IB_TFFTMultiHatch.java
new file mode 100644
index 0000000000..ea056ccd11
--- /dev/null
+++ b/src/main/java/common/itemBlocks/IB_TFFTMultiHatch.java
@@ -0,0 +1,24 @@
+package common.itemBlocks;
+
+import java.util.List;
+
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class IB_TFFTMultiHatch extends ItemBlock {
+
+ public IB_TFFTMultiHatch(Block block) {
+ super(block);
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List lines, boolean advancedTooltips) {
+ lines.add("Special hatch for the T.F.F.T");
+ lines.add("Allows for automated interaction with all stored fluids in a single place");
+ lines.add("Right-click with screwdriver to activate auto-output");
+ lines.add("Auto-output will try to output fluids into adjacent tanks at a rate of 1000L/s per fluid");
+ }
+}
diff --git a/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT1.java b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT1.java
new file mode 100644
index 0000000000..cd6d06343f
--- /dev/null
+++ b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT1.java
@@ -0,0 +1,25 @@
+package common.itemBlocks;
+
+import java.util.List;
+
+import common.blocks.Block_TFFTStorageFieldBlockT1;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class IB_TFFTStorageFieldBlockT1 extends ItemBlock {
+
+ public IB_TFFTStorageFieldBlockT1(Block block) {
+ super(block);
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List lines, boolean advancedTooltips) {
+ lines.add("This is not a fluid tank");
+ lines.add("Capacity: " + Block_TFFTStorageFieldBlockT1.getCapacity() + "L");
+ lines.add("Power Draw: 0.5EU/t");
+ }
+
+}
diff --git a/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT2.java b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT2.java
new file mode 100644
index 0000000000..278f0eafc7
--- /dev/null
+++ b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT2.java
@@ -0,0 +1,25 @@
+package common.itemBlocks;
+
+import java.util.List;
+
+import common.blocks.Block_TFFTStorageFieldBlockT2;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class IB_TFFTStorageFieldBlockT2 extends ItemBlock {
+
+ public IB_TFFTStorageFieldBlockT2(Block block) {
+ super(block);
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List lines, boolean advancedTooltips) {
+ lines.add("This is not a fluid tank");
+ lines.add("Capacity: " + Block_TFFTStorageFieldBlockT2.getCapacity() + "L");
+ lines.add("Power Draw: 1EU/t");
+ }
+
+}
diff --git a/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT3.java b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT3.java
new file mode 100644
index 0000000000..6ca99c8714
--- /dev/null
+++ b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT3.java
@@ -0,0 +1,25 @@
+package common.itemBlocks;
+
+import java.util.List;
+
+import common.blocks.Block_TFFTStorageFieldBlockT3;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class IB_TFFTStorageFieldBlockT3 extends ItemBlock {
+
+ public IB_TFFTStorageFieldBlockT3(Block block) {
+ super(block);
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List lines, boolean advancedTooltips) {
+ lines.add("This is not a fluid tank");
+ lines.add("Capacity: " + Block_TFFTStorageFieldBlockT3.getCapacity() + "L");
+ lines.add("Power Draw: 2EU/t");
+ }
+
+}
diff --git a/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT4.java b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT4.java
new file mode 100644
index 0000000000..cc4c260a7a
--- /dev/null
+++ b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT4.java
@@ -0,0 +1,25 @@
+package common.itemBlocks;
+
+import java.util.List;
+
+import common.blocks.Block_TFFTStorageFieldBlockT4;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class IB_TFFTStorageFieldBlockT4 extends ItemBlock {
+
+ public IB_TFFTStorageFieldBlockT4(Block block) {
+ super(block);
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List lines, boolean advancedTooltips) {
+ lines.add("This is not a fluid tank");
+ lines.add("Capacity: " + Block_TFFTStorageFieldBlockT4.getCapacity() + "L");
+ lines.add("Power Draw: 4EU/t");
+ }
+
+}
diff --git a/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT5.java b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT5.java
new file mode 100644
index 0000000000..6e147e20e3
--- /dev/null
+++ b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT5.java
@@ -0,0 +1,25 @@
+package common.itemBlocks;
+
+import java.util.List;
+
+import common.blocks.Block_TFFTStorageFieldBlockT5;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+
+public class IB_TFFTStorageFieldBlockT5 extends ItemBlock {
+
+ public IB_TFFTStorageFieldBlockT5(Block block) {
+ super(block);
+ }
+
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ @Override
+ public void addInformation(ItemStack stack, EntityPlayer player, List lines, boolean advancedTooltips) {
+ lines.add("This is not a fluid tank");
+ lines.add("Capacity: " + Block_TFFTStorageFieldBlockT5.getCapacity() + "L");
+ lines.add("Power Draw: 8EU/t");
+ }
+
+} \ No newline at end of file
diff --git a/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java
new file mode 100644
index 0000000000..0e2af6ab40
--- /dev/null
+++ b/src/main/java/common/tileentities/GTMTE_LapotronicSuperCapacitor.java
@@ -0,0 +1,229 @@
+package common.tileentities;
+
+import org.lwjgl.input.Keyboard;
+
+import common.Blocks;
+import gregtech.api.enums.Dyes;
+import gregtech.api.enums.Textures.BlockIcons;
+import gregtech.api.gui.GT_GUIContainer_MultiMachine;
+import gregtech.api.interfaces.ITexture;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
+import gregtech.api.objects.GT_RenderedTexture;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.InventoryPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.common.util.ForgeDirection;
+import util.MultiBlockTooltipBuilder;
+import util.Vector3i;
+import util.Vector3ic;
+
+public class GTMTE_LapotronicSuperCapacitor extends GT_MetaTileEntity_MultiBlockBase {
+
+ private final static String glassNameIC2Reinforced = "blockAlloyGlass";
+ private static final Block LSC_PART = Blocks.lscLapotronicEnergyUnit;
+ private static final int CASING_META = 0;
+ private static final int CASING_TEXTURE_ID = 82;
+
+ public GTMTE_LapotronicSuperCapacitor(int aID, String aName, String aNameRegional) {
+ super(aID, aName, aNameRegional);
+
+ }
+
+ public GTMTE_LapotronicSuperCapacitor(String aName) {
+ super(aName);
+
+ }
+
+ @Override
+ public IMetaTileEntity newMetaEntity(IGregTechTileEntity var1) {
+ return new GTMTE_LapotronicSuperCapacitor(super.mName);
+ }
+
+ @Override
+ public String[] getDescription() {
+ final MultiBlockTooltipBuilder b = new MultiBlockTooltipBuilder();
+ b.addInfo("LapotronicTM Multi-block power storage")
+ .addSeparator()
+ .beginStructureBlock(5, 4-18, 5)
+ .addController("Front Bottom Center")
+ .addDynamoHatch("Instead of any casing")
+ .addEnergyHatch("Instead of any casing")
+ .addOtherStructurePart("Lapotronic Capacitor Base", "At least 17x, 5x2x5 base")
+ .addOtherStructurePart("Lapotronic Capacitor, (Really) Ultimate Capacitor", "9-135x, Center 3x1-15x3 above base")
+ .addOtherStructurePart("Glass?", "41-265x, Encase capacitor pillar")
+ .addMaintenanceHatch("Instead of any casing")
+ .signAndFinalize("Kekzdealer");
+ if(!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) {
+ return b.getInformation();
+ } else {
+ return b.getStructureInformation();
+ }
+ }
+
+ @Override
+ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, byte aSide, byte aFacing, byte aColorIndex,
+ boolean aActive, boolean aRedstone) {
+ ITexture[] sTexture;
+ if (aSide == aFacing) {
+ sTexture = new ITexture[]{new GT_RenderedTexture(BlockIcons.MACHINE_CASING_FUSION_GLASS,
+ Dyes.getModulation(-1, Dyes._NULL.mRGBa)), new GT_RenderedTexture(BlockIcons.OVERLAY_FUSION1)};
+ } else if (!aActive) {
+ sTexture = new ITexture[]{new GT_RenderedTexture(BlockIcons.MACHINE_CASING_FUSION_GLASS,
+ Dyes.getModulation(-1, Dyes._NULL.mRGBa))};
+ } else {
+ sTexture = new ITexture[]{new GT_RenderedTexture(BlockIcons.MACHINE_CASING_FUSION_GLASS_YELLOW,
+ Dyes.getModulation(-1, Dyes._NULL.mRGBa))};
+ }
+
+ return sTexture;
+ }
+
+ public Object getClientGUI(int aID, InventoryPlayer aPlayerInventory, IGregTechTileEntity aBaseMetaTileEntity) {
+ return new GT_GUIContainer_MultiMachine(aPlayerInventory, aBaseMetaTileEntity, this.getLocalName(),
+ "MultiblockDisplay.png");
+ }
+
+ @Override
+ public boolean isCorrectMachinePart(ItemStack stack) {
+ return true;
+ }
+
+ @Override
+ public boolean checkRecipe(ItemStack stack) {
+ return true;
+ }
+
+ public Vector3ic rotateOffsetVector(Vector3ic forgeDirection, int x, int y, int z) {
+ final Vector3i offset = new Vector3i();
+
+ // either direction on z-axis
+ if(forgeDirection.x() == 0 && forgeDirection.z() == -1) {
+ offset.x = x;
+ offset.y = y;
+ offset.z = z;
+ }
+ if(forgeDirection.x() == 0 && forgeDirection.z() == 1) {
+ offset.x = -x;
+ offset.y = y;
+ offset.z = -z;
+ }
+ // either direction on x-axis
+ if(forgeDirection.x() == -1 && forgeDirection.z() == 0) {
+ offset.x = z;
+ offset.y = y;
+ offset.z = -x;
+ }
+ if(forgeDirection.x() == 1 && forgeDirection.z() == 0) {
+ offset.x = -z;
+ offset.y = y;
+ offset.z = x;
+ }
+
+ return offset;
+ }
+
+ @Override
+ public boolean checkMachine(IGregTechTileEntity thisController, ItemStack guiSlotItem) {
+ // Figure out the vector for the direction the back face of the controller is facing
+ final Vector3ic forgeDirection = new Vector3i(
+ ForgeDirection.getOrientation(thisController.getBackFacing()).offsetX,
+ ForgeDirection.getOrientation(thisController.getBackFacing()).offsetY,
+ ForgeDirection.getOrientation(thisController.getBackFacing()).offsetZ
+ );
+ int minCasingAmount = 17;
+ boolean formationChecklist = true; // if this is still true at the end, machine is good to go :)
+
+ for(int X = -2; X <= 2; X++) {
+ for(int Y = 0; Y <= 1; Y++) {
+ for(int Z = -1; Z <= 4; Z++) {
+ if(X == 0 && Y == 0) {
+ continue; // is controller
+ }
+
+ final Vector3ic offset = rotateOffsetVector(forgeDirection, X, Y, Z);
+ IGregTechTileEntity currentTE =
+ thisController.getIGregTechTileEntityOffset(offset.x(), offset.y(), offset.z());
+
+ // Tries to add TE as either of those kinds of hatches.
+ // The number is the texture index number for the texture that needs to be painted over the hatch texture (TAE for GT++)
+ if ( !super.addMaintenanceToMachineList(currentTE, CASING_TEXTURE_ID)
+ && !super.addInputToMachineList(currentTE, CASING_TEXTURE_ID)
+ && !super.addOutputToMachineList(currentTE, CASING_TEXTURE_ID)) {
+
+ // If it's not a hatch, is it the right casing for this machine? Check block and block meta.
+ if ((thisController.getBlockOffset(offset.x(), offset.y(), offset.z()) == LSC_PART)
+ && (thisController.getMetaIDOffset(offset.x(), offset.y(), offset.z()) == CASING_META)) {
+ // Seems to be valid casing. Decrement counter.
+ minCasingAmount--;
+ } else {
+ formationChecklist = false;
+ }
+ }
+ }
+ }
+ }
+
+ int firstGlassHeight = 3; // Initialize to minimum height
+ for(int X = -1; X <= 1; X++) {
+ for(int Y = 2; Y <= 17; Y++) {
+ for(int Z = 0; Z <= 2; Z++) {
+ final Vector3ic offset = rotateOffsetVector(forgeDirection, X, Y, Z);
+
+ if(!((thisController.getBlockOffset(offset.x(), offset.y(), offset.z()) == LSC_PART)
+ && (thisController.getMetaIDOffset(offset.x(), offset.y(), offset.z()) > 0))) {
+
+ // If there's glass instead, terminate and remember the height
+ if(thisController.getBlockOffset(offset.x(), offset.y(), offset.z()).getUnlocalizedName().equals(glassNameIC2Reinforced)){
+ firstGlassHeight = Y;
+ } else {
+ formationChecklist = false;
+ }
+ }
+ }
+ }
+ }
+
+ for(int X = -2; X <= 2; X++) {
+ for(int Y = 2; Y <= firstGlassHeight; Y++) {
+ for(int Z = -1; Z <= 4; Z++) {
+ final Vector3ic offset = rotateOffsetVector(forgeDirection, X, Y, Z);
+
+ if(!thisController.getBlockOffset(offset.x(), offset.y(), offset.z()).getUnlocalizedName().equals(glassNameIC2Reinforced)){
+ formationChecklist = false;
+ }
+ }
+ }
+ }
+
+
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+}