diff options
author | Christina Berchtold <kekzdealer@gmail.com> | 2020-05-04 00:21:42 +0200 |
---|---|---|
committer | Christina Berchtold <kekzdealer@gmail.com> | 2020-05-04 00:21:42 +0200 |
commit | d0ff8c1c6b6dbe4b6f3ce33a380ee837632a9507 (patch) | |
tree | 08ce83b210625caadef4d48c913276756a20ac19 /src/main/java/common | |
parent | 90efd08c2b3cee3fe0ad0b4e70e8762ff7a31a53 (diff) | |
download | GT5-Unofficial-d0ff8c1c6b6dbe4b6f3ce33a380ee837632a9507.tar.gz GT5-Unofficial-d0ff8c1c6b6dbe4b6f3ce33a380ee837632a9507.tar.bz2 GT5-Unofficial-d0ff8c1c6b6dbe4b6f3ce33a380ee837632a9507.zip |
visiting Lucy
Diffstat (limited to 'src/main/java/common')
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; + } + } + } + } + + + } + + + + + + + + + + + + + + + + + + + + + + + + + + + +} |