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 | |
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')
44 files changed, 412 insertions, 28 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/itemBlocks/IB_ItemProxyCable.java b/src/main/java/common/itemBlocks/IB_ItemProxyCable.java index 590cb98285..c78872327d 100644 --- a/src/main/java/itemBlocks/IB_ItemProxyCable.java +++ b/src/main/java/common/itemBlocks/IB_ItemProxyCable.java @@ -1,4 +1,4 @@ -package itemBlocks; +package common.itemBlocks; import java.util.List; diff --git a/src/main/java/itemBlocks/IB_ItemProxyEndpoint.java b/src/main/java/common/itemBlocks/IB_ItemProxyEndpoint.java index 90d683c226..49fb7d7430 100644 --- a/src/main/java/itemBlocks/IB_ItemProxyEndpoint.java +++ b/src/main/java/common/itemBlocks/IB_ItemProxyEndpoint.java @@ -1,4 +1,4 @@ -package itemBlocks; +package common.itemBlocks; import java.util.List; diff --git a/src/main/java/itemBlocks/IB_ItemProxySource.java b/src/main/java/common/itemBlocks/IB_ItemProxySource.java index cc937b3b33..1dc70efd6e 100644 --- a/src/main/java/itemBlocks/IB_ItemProxySource.java +++ b/src/main/java/common/itemBlocks/IB_ItemProxySource.java @@ -1,4 +1,4 @@ -package itemBlocks; +package common.itemBlocks; import java.util.List; diff --git a/src/main/java/itemBlocks/IB_ItemServerDrive.java b/src/main/java/common/itemBlocks/IB_ItemServerDrive.java index cf492d1b18..54e431388f 100644 --- a/src/main/java/itemBlocks/IB_ItemServerDrive.java +++ b/src/main/java/common/itemBlocks/IB_ItemServerDrive.java @@ -1,4 +1,4 @@ -package itemBlocks; +package common.itemBlocks; import java.util.List; diff --git a/src/main/java/itemBlocks/IB_ItemServerIOPort.java b/src/main/java/common/itemBlocks/IB_ItemServerIOPort.java index 44616de763..6560805cda 100644 --- a/src/main/java/itemBlocks/IB_ItemServerIOPort.java +++ b/src/main/java/common/itemBlocks/IB_ItemServerIOPort.java @@ -1,4 +1,4 @@ -package itemBlocks; +package common.itemBlocks; import java.util.List; diff --git a/src/main/java/itemBlocks/IB_ItemServerRackCasing.java b/src/main/java/common/itemBlocks/IB_ItemServerRackCasing.java index 52a586d8df..39e64dbe29 100644 --- a/src/main/java/itemBlocks/IB_ItemServerRackCasing.java +++ b/src/main/java/common/itemBlocks/IB_ItemServerRackCasing.java @@ -1,4 +1,4 @@ -package itemBlocks; +package common.itemBlocks; import java.util.List; 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/itemBlocks/IB_TFFTMultiHatch.java b/src/main/java/common/itemBlocks/IB_TFFTMultiHatch.java index 9d99db04d5..ea056ccd11 100644 --- a/src/main/java/itemBlocks/IB_TFFTMultiHatch.java +++ b/src/main/java/common/itemBlocks/IB_TFFTMultiHatch.java @@ -1,4 +1,4 @@ -package itemBlocks; +package common.itemBlocks; import java.util.List; diff --git a/src/main/java/itemBlocks/IB_TFFTStorageFieldBlockT1.java b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT1.java index 1a692cbe3f..cd6d06343f 100644 --- a/src/main/java/itemBlocks/IB_TFFTStorageFieldBlockT1.java +++ b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT1.java @@ -1,4 +1,4 @@ -package itemBlocks; +package common.itemBlocks; import java.util.List; diff --git a/src/main/java/itemBlocks/IB_TFFTStorageFieldBlockT2.java b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT2.java index 0c48262641..278f0eafc7 100644 --- a/src/main/java/itemBlocks/IB_TFFTStorageFieldBlockT2.java +++ b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT2.java @@ -1,4 +1,4 @@ -package itemBlocks; +package common.itemBlocks; import java.util.List; diff --git a/src/main/java/itemBlocks/IB_TFFTStorageFieldBlockT3.java b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT3.java index 780fcfb005..6ca99c8714 100644 --- a/src/main/java/itemBlocks/IB_TFFTStorageFieldBlockT3.java +++ b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT3.java @@ -1,4 +1,4 @@ -package itemBlocks; +package common.itemBlocks; import java.util.List; diff --git a/src/main/java/itemBlocks/IB_TFFTStorageFieldBlockT4.java b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT4.java index cbb0e862f4..cc4c260a7a 100644 --- a/src/main/java/itemBlocks/IB_TFFTStorageFieldBlockT4.java +++ b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT4.java @@ -1,4 +1,4 @@ -package itemBlocks; +package common.itemBlocks; import java.util.List; diff --git a/src/main/java/itemBlocks/IB_TFFTStorageFieldBlockT5.java b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT5.java index 6828a2a904..6e147e20e3 100644 --- a/src/main/java/itemBlocks/IB_TFFTStorageFieldBlockT5.java +++ b/src/main/java/common/itemBlocks/IB_TFFTStorageFieldBlockT5.java @@ -1,4 +1,4 @@ -package itemBlocks; +package common.itemBlocks; import java.util.List; 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; + } + } + } + } + + + } + + + + + + + + + + + + + + + + + + + + + + + + + + + +} diff --git a/src/main/resources/assets/kekztech/lang/en_US.lang b/src/main/resources/assets/kekztech/lang/en_US.lang index 70f6634198..62b9acb3c2 100644 --- a/src/main/resources/assets/kekztech/lang/en_US.lang +++ b/src/main/resources/assets/kekztech/lang/en_US.lang @@ -99,10 +99,12 @@ tile.kekztech_itemserverdrive_block.name=Item Server Drive tile.kekztech_itemserverrackcasing_block.name=Item Server Rack Casing
tile.kekztech_itemserverioport_block.name=Item Server I/O Port
-tile.kekztech_thaumiumreinforcedjar_block.name=Thaumium Reinforced Jar
+tile.kekztech_thaumiumreinforcedjar_block.0.name=Thaumium Reinforced Jar
+tile.kekztech_thaumiumreinforcedjar_block.1.name=Thaumium Reinforced Jar
item.kekztech_thaumiumreinforcedjarfilled_item.name=Thaumium Reinforced Jar with Essentia
item.kekztech_thaumiumreinforcedjarfilled_item.void.name=Thaumium Reinforced Void Jar with Essentia
-tile.kekztech_ichorjar_block.name=Ichor Jar
+tile.kekztech_ichorjar_block.0.name=Ichor Jar
+tile.kekztech_ichorjar_block.1.name=Ichor Void Jar
item.kekztech_ichorjarfilled_item.name=Ichor Jar with Essentia
item.kekztech_ichorjarfilled_item.void.name=Ichor Void Jar with Essentia
@@ -112,3 +114,10 @@ kekztech.research_page.THAUMIUMREINFORCEDJAR.1=Compressing this much Essentia in tc.research_name.ICHORJAR=Ichor Jars
kekztech.research_page.ICHORJAR=This is it!<BR><BR>By infusing a jar with just a single piece of Ichor you have created something to rival digitized Essentia storage without sacrificing any of the beauty of Warded Jars.<BR><BR>Ichor Jars can hold an astounding 4096 Essentia and fit nicely into your recently aquired set of Ichor based achievements.<BR><BR>You definitely don't want to disturb these jars. Luckily Ichor is resilient enough to make accidentially destroying one unlikely.
+tile.kekztech_lapotronicenergyunit_block.0.name=Lapotronic Super Capacitor Casing
+tile.kekztech_lapotronicenergyunit_block.1.name=Lapotronic Capacitor (IV)
+tile.kekztech_lapotronicenergyunit_block.2.name=Lapotronic Capacitor (LuV)
+tile.kekztech_lapotronicenergyunit_block.3.name=Lapotronic Capacitor (ZPM)
+tile.kekztech_lapotronicenergyunit_block.4.name=Lapotronic Capacitor (UV)
+tile.kekztech_lapotronicenergyunit_block.5.name=Ultimate Capacitor
+tile.kekztech_lapotronicenergyunit_block.6.name=Really Ultimate Capacitor
diff --git a/src/main/resources/assets/kekztech/textures/blocks/LSCBase_side.png b/src/main/resources/assets/kekztech/textures/blocks/LSCBase_side.png Binary files differnew file mode 100644 index 0000000000..97e08ea590 --- /dev/null +++ b/src/main/resources/assets/kekztech/textures/blocks/LSCBase_side.png diff --git a/src/main/resources/assets/kekztech/textures/blocks/LSCBase_top.png b/src/main/resources/assets/kekztech/textures/blocks/LSCBase_top.png Binary files differnew file mode 100644 index 0000000000..0442310031 --- /dev/null +++ b/src/main/resources/assets/kekztech/textures/blocks/LSCBase_top.png diff --git a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit.png b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit.png Binary files differdeleted file mode 100644 index 88ad40dad2..0000000000 --- a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit.png +++ /dev/null diff --git a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit1_side.png b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit1_side.png Binary files differnew file mode 100644 index 0000000000..852873db1d --- /dev/null +++ b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit1_side.png diff --git a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit1_top.png b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit1_top.png Binary files differnew file mode 100644 index 0000000000..1c99201a9f --- /dev/null +++ b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit1_top.png diff --git a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit2.png b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit2.png Binary files differdeleted file mode 100644 index f5125b974e..0000000000 --- a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit2.png +++ /dev/null diff --git a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit2_side.png b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit2_side.png Binary files differnew file mode 100644 index 0000000000..a8894d382e --- /dev/null +++ b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit2_side.png diff --git a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit2_top.png b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit2_top.png Binary files differnew file mode 100644 index 0000000000..96d56ac6a6 --- /dev/null +++ b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit2_top.png diff --git a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit3.png b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit3.png Binary files differdeleted file mode 100644 index fa4819d153..0000000000 --- a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit3.png +++ /dev/null diff --git a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit3_side.png b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit3_side.png Binary files differnew file mode 100644 index 0000000000..3827b174c0 --- /dev/null +++ b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit3_side.png diff --git a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit3_top.png b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit3_top.png Binary files differnew file mode 100644 index 0000000000..68e03929d8 --- /dev/null +++ b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit3_top.png diff --git a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit4.png b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit4.png Binary files differdeleted file mode 100644 index 00bf09e652..0000000000 --- a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit4.png +++ /dev/null diff --git a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit4_side.png b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit4_side.png Binary files differnew file mode 100644 index 0000000000..d462a774a1 --- /dev/null +++ b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit4_side.png diff --git a/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit4_top.png b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit4_top.png Binary files differnew file mode 100644 index 0000000000..2f1f4299eb --- /dev/null +++ b/src/main/resources/assets/kekztech/textures/blocks/LapotronicEnergyUnit4_top.png |