diff options
author | GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com> | 2022-08-08 19:37:45 +0100 |
---|---|---|
committer | GTNH-Colen <54497873+GTNH-Colen@users.noreply.github.com> | 2022-08-08 19:37:45 +0100 |
commit | 6500fa3fa51bd14db309057a2411bc3c83a21ee6 (patch) | |
tree | 9fd83ccce89f1a2f050e4bb0d8493a4b2109ea7f /src/main/java/com | |
parent | 10abcfbac05edc5bf8bcc9d63c4ae6fa155c67b8 (diff) | |
download | GT5-Unofficial-6500fa3fa51bd14db309057a2411bc3c83a21ee6.tar.gz GT5-Unofficial-6500fa3fa51bd14db309057a2411bc3c83a21ee6.tar.bz2 GT5-Unofficial-6500fa3fa51bd14db309057a2411bc3c83a21ee6.zip |
Two different tiered blocks working!
Diffstat (limited to 'src/main/java/com')
6 files changed, 216 insertions, 49 deletions
diff --git a/src/main/java/com/github/technus/tectech/loader/thing/ThingsLoader.java b/src/main/java/com/github/technus/tectech/loader/thing/ThingsLoader.java index e5f93109b1..38bab5b41b 100644 --- a/src/main/java/com/github/technus/tectech/loader/thing/ThingsLoader.java +++ b/src/main/java/com/github/technus/tectech/loader/thing/ThingsLoader.java @@ -34,9 +34,12 @@ public class ThingsLoader implements Runnable { TT_Container_Casings.sBlockCasingsBA0 = new GT_Block_CasingsBA0(); TecTech.LOGGER.info("Nikolai's Casing registered"); - TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerator = new SpacetimeCompressionFieldCasing(); + TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerators = new SpacetimeCompressionFieldCasing(); TecTech.LOGGER.info("Spacetime Compression Field Casings registered."); + TT_Block_TimeAccelerationFieldGenerators.TimeAccelerationFieldGenerator = new TimeAccelerationFieldCasing(); + TecTech.LOGGER.info("Time Acceleration Field Casings registered."); + QuantumGlassBlock.run(); TecTech.LOGGER.info("Quantum Glass registered"); diff --git a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java index 9fd89ab255..64144eb737 100644 --- a/src/main/java/com/github/technus/tectech/thing/CustomItemList.java +++ b/src/main/java/com/github/technus/tectech/thing/CustomItemList.java @@ -102,7 +102,11 @@ public enum CustomItemList implements IItemContainer { Machine_TeslaCoil_4by4_LV, Machine_TeslaCoil_4by4_MV, Machine_TeslaCoil_4by4_HV, Machine_TeslaCoil_4by4_EV, Machine_TeslaCoil_4by4_IV, SpacetimeCompressionFieldGeneratorTier0, SpacetimeCompressionFieldGeneratorTier1, SpacetimeCompressionFieldGeneratorTier2, SpacetimeCompressionFieldGeneratorTier3, - SpacetimeCompressionFieldGeneratorTier4, SpacetimeCompressionFieldGeneratorTier5, SpacetimeCompressionFieldGeneratorTier6, SpacetimeCompressionFieldGeneratorTier7; + SpacetimeCompressionFieldGeneratorTier4, SpacetimeCompressionFieldGeneratorTier5, SpacetimeCompressionFieldGeneratorTier6, SpacetimeCompressionFieldGeneratorTier7, + + TimeAccelerationFieldGeneratorTier0, TimeAccelerationFieldGeneratorTier1, TimeAccelerationFieldGeneratorTier2, TimeAccelerationFieldGeneratorTier3, + TimeAccelerationFieldGeneratorTier4, TimeAccelerationFieldGeneratorTier5, TimeAccelerationFieldGeneratorTier6, TimeAccelerationFieldGeneratorTier7; + private ItemStack mStack; private boolean mHasNotBeenSet = true; diff --git a/src/main/java/com/github/technus/tectech/thing/casing/TT_Block_SpacetimeCompressionFieldGenerators.java b/src/main/java/com/github/technus/tectech/thing/casing/TT_Block_SpacetimeCompressionFieldGenerators.java index 4b10c45f64..d2edebf786 100644 --- a/src/main/java/com/github/technus/tectech/thing/casing/TT_Block_SpacetimeCompressionFieldGenerators.java +++ b/src/main/java/com/github/technus/tectech/thing/casing/TT_Block_SpacetimeCompressionFieldGenerators.java @@ -3,8 +3,7 @@ package com.github.technus.tectech.thing.casing; import net.minecraft.block.Block; public class TT_Block_SpacetimeCompressionFieldGenerators { - - public static Block SpacetimeCompressionFieldGenerator; + public static Block SpacetimeCompressionFieldGenerators; private TT_Block_SpacetimeCompressionFieldGenerators() {} } diff --git a/src/main/java/com/github/technus/tectech/thing/casing/TT_Block_TimeAccelerationFieldGenerators.java b/src/main/java/com/github/technus/tectech/thing/casing/TT_Block_TimeAccelerationFieldGenerators.java new file mode 100644 index 0000000000..101410baec --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/casing/TT_Block_TimeAccelerationFieldGenerators.java @@ -0,0 +1,10 @@ +package com.github.technus.tectech.thing.casing; + +import net.minecraft.block.Block; + +public class TT_Block_TimeAccelerationFieldGenerators { + public static Block TimeAccelerationFieldGenerator; + + private TT_Block_TimeAccelerationFieldGenerators() {} + +} diff --git a/src/main/java/com/github/technus/tectech/thing/casing/TimeAccelerationFieldCasing.java b/src/main/java/com/github/technus/tectech/thing/casing/TimeAccelerationFieldCasing.java new file mode 100644 index 0000000000..cfa39dada5 --- /dev/null +++ b/src/main/java/com/github/technus/tectech/thing/casing/TimeAccelerationFieldCasing.java @@ -0,0 +1,165 @@ +package com.github.technus.tectech.thing.casing; + +import com.github.technus.tectech.thing.CustomItemList; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import gregtech.api.enums.Textures; +import gregtech.api.objects.GT_CopiedBlockTexture; +import gregtech.api.util.GT_LanguageManager; +import gregtech.common.blocks.GT_Block_Casings_Abstract; +import gregtech.common.blocks.GT_Material_Casings; +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; +import net.minecraft.world.IBlockAccess; + +import java.util.List; + +import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; + +/** + * Created by danie_000 on 03.10.2016. + */ +public class TimeAccelerationFieldCasing extends GT_Block_Casings_Abstract { + private static IIcon[] tM0 = new IIcon[2]; + private static IIcon[] tM1 = new IIcon[2]; + private static IIcon[] tM2 = new IIcon[2]; + private static IIcon[] tM3 = new IIcon[2]; + private static IIcon[] tM4 = new IIcon[2]; + private static IIcon[] tM5 = new IIcon[2]; + private static IIcon[] tM6 = new IIcon[2]; + private static IIcon tM7; + private static IIcon[] tM8 = new IIcon[2]; + private static IIcon[] tM9 = new IIcon[2]; + + private static final byte START_INDEX = 16; + + public TimeAccelerationFieldCasing() { + super(GT_Item_CasingsBA0.class, "gt.time_acceleration_field_generator", GT_Material_Casings.INSTANCE); + for (byte b = 0; b < 16; b = (byte) (b + 1)) { + Textures.BlockIcons.casingTexturePages[texturePage][b + START_INDEX] = new GT_CopiedBlockTexture(this, 6, b); + } + + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "TEST Crude Temporal Acceleration Field Generator"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "TEST Primitive Temporal Acceleration Field Generator"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "TEST Stable Temporal Acceleration Field Generator"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".3.name", "TEST Superb Temporal Acceleration Field Generator"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".4.name", "TEST Resplendent Temporal Acceleration Field Generator"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".5.name", "TEST Perfect Spacetime Temporal Acceleration Generator"); + GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".6.name", "TEST Tipler Grade Temporal Acceleration Field Generator"); + + CustomItemList.TimeAccelerationFieldGeneratorTier0.set(new ItemStack(this, 1, 0)); + CustomItemList.TimeAccelerationFieldGeneratorTier1.set(new ItemStack(this, 1, 1)); + CustomItemList.TimeAccelerationFieldGeneratorTier2.set(new ItemStack(this, 1, 2)); + CustomItemList.TimeAccelerationFieldGeneratorTier3.set(new ItemStack(this, 1, 3)); + CustomItemList.TimeAccelerationFieldGeneratorTier4.set(new ItemStack(this, 1, 4)); + CustomItemList.TimeAccelerationFieldGeneratorTier5.set(new ItemStack(this, 1, 5)); + CustomItemList.TimeAccelerationFieldGeneratorTier6.set(new ItemStack(this, 1, 6)); + CustomItemList.TimeAccelerationFieldGeneratorTier7.set(new ItemStack(this, 1, 7)); + + } + + @Override + public void registerBlockIcons(IIconRegister aIconRegister) { + tM0[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_0"); + tM0[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_0"); + tM1[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_1"); + tM1[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_1"); + tM2[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_2"); + tM2[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_2"); + tM3[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_3"); + tM3[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_3"); + tM4[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_4"); + tM4[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_4"); + tM5[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_5"); + tM5[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_5"); + tM9[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_TOP_BOTTOM_6"); + tM9[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_PRIMARY_SIDES_6"); + + tM6[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_BASE_TOP_BOTTOM"); + tM6[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_BASE_SIDES"); + tM7 = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_TOROID"); + tM8[0] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_SECONDARY_TOP_BOTTOM"); + tM8[1] = aIconRegister.registerIcon("gregtech:iconsets/TM_TESLA_WINDING_SECONDARY_SIDES"); + } + + @Override + public IIcon getIcon(int aSide, int aMeta) { + switch (aMeta) { + case 0: + switch (aSide) { + case 0: + case 1: + return tM0[0]; + default: + return tM0[1]; + } + case 1: + switch (aSide) { + case 0: + case 1: + return tM1[0]; + default: + return tM1[1]; + } + case 2: + switch (aSide) { + case 0: + case 1: + return tM2[0]; + default: + return tM2[1]; + } + case 3: + switch (aSide) { + case 0: + case 1: + return tM3[0]; + default: + return tM3[1]; + } + case 4: + switch (aSide) { + case 0: + case 1: + return tM4[0]; + default: + return tM4[1]; + } + case 5: + switch (aSide) { + case 0: + case 1: + return tM5[0]; + default: + return tM5[1]; + } + case 6: + switch (aSide) { + case 0: + case 1: + return tM6[0]; + default: + return tM6[1]; + } + default: + return Textures.BlockIcons.MACHINE_CASING_SOLID_STEEL.getIcon(); + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess aWorld, int xCoord, int yCoord, int zCoord, int aSide) { + int tMeta = aWorld.getBlockMetadata(xCoord, yCoord, zCoord); + return getIcon(aSide, tMeta); + } + + @Override + public void getSubBlocks(Item aItem, CreativeTabs par2CreativeTabs, List aList) { + for (int i = 0; i <= 6; i++) { + aList.add(new ItemStack(aItem, 1, i)); + } + } +} diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java index 46ffad1694..d22538e8c1 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_EM_bhg.java @@ -1,6 +1,7 @@ package com.github.technus.tectech.thing.metaTileEntity.multi; import com.github.technus.tectech.thing.casing.TT_Block_SpacetimeCompressionFieldGenerators; +import com.github.technus.tectech.thing.casing.TT_Block_TimeAccelerationFieldGenerators; import com.github.technus.tectech.thing.metaTileEntity.multi.base.GT_MetaTileEntity_MultiblockBase_EM; import com.github.technus.tectech.thing.metaTileEntity.multi.base.render.TT_RenderedExtendedFacingTexture; import com.github.technus.tectech.util.CommonValues; @@ -35,6 +36,9 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E private static Textures.BlockIcons.CustomIcon ScreenOFF; private static Textures.BlockIcons.CustomIcon ScreenON; + private int SpacetimeCompressionFieldMetadata = -1; + private int TimeAccelerationFieldMetadata = -1; + //endregion // Multiblock structure. @@ -76,15 +80,16 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E {" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " C C ", " C C ", " C C ", " CCCCCCCCC ", " C C ", " CCCCCCCCC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "} })) .addElement('A', ofBlocksTiered( - (block, meta) -> meta, + (block, meta) -> block == TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerators ? -1 : meta, ImmutableList.of( - Pair.of(TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerator, 0), - Pair.of(TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerator, 1), - Pair.of(TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerator, 2), - Pair.of(TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerator, 3), - Pair.of(TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerator, 4), - Pair.of(TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerator, 5), - Pair.of(TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerator, 6) + Pair.of(TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerators, 0), + Pair.of(TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerators, 1), + Pair.of(TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerators, 2), + Pair.of(TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerators, 3), + Pair.of(TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerators, 4), + Pair.of(TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerators, 5), + Pair.of(TT_Block_SpacetimeCompressionFieldGenerators.SpacetimeCompressionFieldGenerators, 6) + ), -1, (t, meta) -> t.SpacetimeCompressionFieldMetadata = meta, @@ -93,7 +98,21 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E .addElement('B', ofBlock(sBlockCasingsTT, 11)) .addElement('C', ofBlock(sBlockCasingsTT, 12)) .addElement('D', ofBlock(sBlockCasingsTT, 13)) - .addElement('E', ofBlock(sBlockCasingsTT, 14)) + .addElement('E', ofBlocksTiered( + (block, meta) -> block == TT_Block_TimeAccelerationFieldGenerators.TimeAccelerationFieldGenerator ? -1 : meta, + ImmutableList.of( + Pair.of(TT_Block_TimeAccelerationFieldGenerators.TimeAccelerationFieldGenerator, 0), + Pair.of(TT_Block_TimeAccelerationFieldGenerators.TimeAccelerationFieldGenerator, 1), + Pair.of(TT_Block_TimeAccelerationFieldGenerators.TimeAccelerationFieldGenerator, 2), + Pair.of(TT_Block_TimeAccelerationFieldGenerators.TimeAccelerationFieldGenerator, 3), + Pair.of(TT_Block_TimeAccelerationFieldGenerators.TimeAccelerationFieldGenerator, 4), + Pair.of(TT_Block_TimeAccelerationFieldGenerators.TimeAccelerationFieldGenerator, 5), + Pair.of(TT_Block_TimeAccelerationFieldGenerators.TimeAccelerationFieldGenerator, 6) + ), + -1, + (t, meta) -> t.TimeAccelerationFieldMetadata = meta, + t -> t.TimeAccelerationFieldMetadata + )) .addElement('H', ofHatchAdderOptional(GT_MetaTileEntity_EM_bhg::addClassicToMachineList, textureOffset, 1, sBlockCasingsTT, 0)) .addElement('F', ofHatchAdderOptional(GT_MetaTileEntity_EM_bhg::addElementalToMachineList, textureOffset + 4, 2, sBlockCasingsTT, 4)) .build(); @@ -123,46 +142,11 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E return new GT_MetaTileEntity_EM_bhg(mName); } - int SpacetimeCompressionFieldMetadata = -1; - int ControllerXCoordinate; - int ControllerYCoordinate; - int ControllerZCoordinate; @Override public boolean checkMachine_EM(IGregTechTileEntity iGregTechTileEntity, ItemStack itemStack) { - - int ControllerXCoordinate = iGregTechTileEntity.getXCoord(); - int ControllerYCoordinate = iGregTechTileEntity.getYCoord(); - int ControllerZCoordinate = iGregTechTileEntity.getZCoord(); - - if (structureCheck_EM("main", 16, 16, 0)) { - -// switch (iGregTechTileEntity.getFrontFacing()) { -// case 0: -// SpacetimeCompressionFieldMetadata = iGregTechTileEntity.getWorld().getBlockMetadata(ControllerXCoordinate, ControllerYCoordinate + 2, ControllerZCoordinate); -// break; -// case 1: -// SpacetimeCompressionFieldMetadata = iGregTechTileEntity.getWorld().getBlockMetadata(ControllerXCoordinate, ControllerYCoordinate - 2, ControllerZCoordinate); -// break; -// case 2: -// SpacetimeCompressionFieldMetadata = iGregTechTileEntity.getWorld().getBlockMetadata(ControllerXCoordinate, ControllerYCoordinate, ControllerZCoordinate + 2); -// break; -// case 3: -// SpacetimeCompressionFieldMetadata = iGregTechTileEntity.getWorld().getBlockMetadata(ControllerXCoordinate, ControllerYCoordinate, ControllerZCoordinate - 2); -// break; -// case 4: -// SpacetimeCompressionFieldMetadata = iGregTechTileEntity.getWorld().getBlockMetadata(ControllerXCoordinate + 2, ControllerYCoordinate, ControllerZCoordinate); -// break; -// case 5: -// SpacetimeCompressionFieldMetadata = iGregTechTileEntity.getWorld().getBlockMetadata(ControllerXCoordinate - 2, ControllerYCoordinate, ControllerZCoordinate); -// break; -// } - - System.out.println(SpacetimeCompressionFieldMetadata); - return true; - } - return false; + return structureCheck_EM("main", 16, 16, 0); } @Override @@ -198,6 +182,8 @@ public class GT_MetaTileEntity_EM_bhg extends GT_MetaTileEntity_MultiblockBase_E @Override public void construct(ItemStack stackSize, boolean hintsOnly) { + SpacetimeCompressionFieldMetadata = -1; + TimeAccelerationFieldMetadata = -1; structureBuild_EM("main", 16, 16, 0, stackSize, hintsOnly); } |