diff options
author | Jordan Byrne <draknyte1@hotmail.com> | 2018-03-20 20:51:56 +1000 |
---|---|---|
committer | Jordan Byrne <draknyte1@hotmail.com> | 2018-03-20 20:51:56 +1000 |
commit | 15475befd05a42ec990c3ffa3eb2962b495c7628 (patch) | |
tree | 336b310be822cb1307f5b2382e484c5b98715136 | |
parent | a623a30b7aa0bf492f5aabfcbe76a69c7a9dc2df (diff) | |
download | GT5-Unofficial-15475befd05a42ec990c3ffa3eb2962b495c7628.tar.gz GT5-Unofficial-15475befd05a42ec990c3ffa3eb2962b495c7628.tar.bz2 GT5-Unofficial-15475befd05a42ec990c3ffa3eb2962b495c7628.zip |
+ Added Buffered Dynamos for all Tiers.
+ Added particles to the Mining Pipe and Mining Head blocks.
+ Added a casing block for the BRMPs.
% Made Custom GT Pipes/Wires load prior to the GT Machines.
$ Fixed the Industrial Extruder tooltip, incorrectly stating the Muffler was required at the rear. Tooltip now states the Maint. Hatch is required at the rear.
17 files changed, 275 insertions, 26 deletions
diff --git a/src/Java/gtPlusPlus/core/block/machine/bedrock/Mining_Head_Fake.java b/src/Java/gtPlusPlus/core/block/machine/bedrock/Mining_Head_Fake.java index cd20c8dab3..b8f9662ac7 100644 --- a/src/Java/gtPlusPlus/core/block/machine/bedrock/Mining_Head_Fake.java +++ b/src/Java/gtPlusPlus/core/block/machine/bedrock/Mining_Head_Fake.java @@ -1,5 +1,7 @@ package gtPlusPlus.core.block.machine.bedrock; +import java.util.Random; + import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -9,13 +11,19 @@ import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EnumCreatureType; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.DamageSource; import net.minecraft.world.Explosion; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import gtPlusPlus.api.objects.minecraft.BlockPos; +import gtPlusPlus.api.objects.random.XSTR; import gtPlusPlus.core.creative.AddToCreativeTab; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.Utils; +import gtPlusPlus.core.util.math.MathUtils; +import gtPlusPlus.core.util.minecraft.EntityUtils; public class Mining_Head_Fake extends Block{ @@ -94,6 +102,58 @@ public class Mining_Head_Fake extends Block{ return false; } + @Override + public boolean isCollidable() { + return true; + } + + @Override + public void randomDisplayTick(World world, int posX, int posY, int posZ, + Random rand) { + generateVoidParticlesAroundBlockPos(new BlockPos(posX, posY, posZ, world), 2); + super.randomDisplayTick(world, posX, posY, posZ, rand); + } + + @Override + public void onEntityCollidedWithBlock(World p_149670_1_, int p_149670_2_, int p_149670_3_, int p_149670_4_, + Entity ent) { + EntityUtils.doDamage(ent, DamageSource.outOfWorld, 20); + EntityUtils.setEntityOnFire(ent, 100); + super.onEntityCollidedWithBlock(p_149670_1_, p_149670_2_, p_149670_3_, p_149670_4_, ent); + } + + @Override + protected boolean canSilkHarvest() { + return false; + } + + @Override + public boolean canHarvestBlock(EntityPlayer player, int meta) { + return false; + } + + public static void generateVoidParticlesAroundBlockPos(BlockPos Pos, int range){ + for (BlockPos G : Pos.getSurroundingBlocks()) { + int i1 = G.xPos + MathUtils.randInt(0, range) - MathUtils.randInt(0, range); + int j1 = G.yPos + MathUtils.randInt(0, range) - MathUtils.randInt(0, range); + int k1 = G.zPos + MathUtils.randInt(0, range) - MathUtils.randInt(0, range); + + Block block = Pos.world.getBlock(i1, j1, k1); + + if (block.getMaterial() == Material.air){ + + //lava + if (Pos.yPos <= 7) { + Pos.world.spawnParticle("portal", (double)((float)i1 + CORE.RANDOM.nextFloat()), (double)((float)j1 + CORE.RANDOM.nextFloat()), (double)((float)k1 + CORE.RANDOM.nextFloat()), 0.0D, 0.0D, 0.0D); + Pos.world.spawnParticle("lava", (double)((float)i1 + CORE.RANDOM.nextFloat()), (double)((float)j1 + CORE.RANDOM.nextFloat()), (double)((float)k1 + CORE.RANDOM.nextFloat()), 0.0D, 0.0D, 0.0D); + } + else { + Pos.world.spawnParticle("portal", (double)((float)i1 + CORE.RANDOM.nextFloat()), (double)((float)j1 + CORE.RANDOM.nextFloat()), (double)((float)k1 + CORE.RANDOM.nextFloat()), 0.0D, 0.0D, 0.0D); + } + + } + } + } } diff --git a/src/Java/gtPlusPlus/core/block/machine/bedrock/Mining_Pipe_Fake.java b/src/Java/gtPlusPlus/core/block/machine/bedrock/Mining_Pipe_Fake.java index 64215c0274..bba185a0c1 100644 --- a/src/Java/gtPlusPlus/core/block/machine/bedrock/Mining_Pipe_Fake.java +++ b/src/Java/gtPlusPlus/core/block/machine/bedrock/Mining_Pipe_Fake.java @@ -1,5 +1,7 @@ package gtPlusPlus.core.block.machine.bedrock; +import java.util.Random; + import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -9,13 +11,18 @@ import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EnumCreatureType; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.DamageSource; import net.minecraft.world.Explosion; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import gtPlusPlus.api.objects.minecraft.BlockPos; import gtPlusPlus.core.creative.AddToCreativeTab; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.Utils; +import gtPlusPlus.core.util.math.MathUtils; +import gtPlusPlus.core.util.minecraft.EntityUtils; public class Mining_Pipe_Fake extends Block{ @@ -93,6 +100,36 @@ public class Mining_Pipe_Fake extends Block{ public boolean canCreatureSpawn(final EnumCreatureType type, final IBlockAccess world, final int x, final int y, final int z) { return false; } + + @Override + public boolean isCollidable() { + return true; + } + + @Override + public void randomDisplayTick(World world, int posX, int posY, int posZ, + Random rand) { + Mining_Head_Fake.generateVoidParticlesAroundBlockPos(new BlockPos(posX, posY, posZ, world), 2); + super.randomDisplayTick(world, posX, posY, posZ, rand); + } + + @Override + public void onEntityCollidedWithBlock(World p_149670_1_, int p_149670_2_, int p_149670_3_, int p_149670_4_, Entity ent) { + if (MathUtils.randInt(0, 100) < 5) { + EntityUtils.doDamage(ent, DamageSource.outOfWorld, 1); + } + super.onEntityCollidedWithBlock(p_149670_1_, p_149670_2_, p_149670_3_, p_149670_4_, ent); + } + + @Override + protected boolean canSilkHarvest() { + return false; + } + + @Override + public boolean canHarvestBlock(EntityPlayer player, int meta) { + return false; + } diff --git a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java index 7708214f0d..0bc141f310 100644 --- a/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java +++ b/src/Java/gtPlusPlus/core/handler/COMPAT_HANDLER.java @@ -106,6 +106,7 @@ public class COMPAT_HANDLER { GregtechIndustrialExtruder.run(); GregtechIndustrialMultiMachine.run(); GregtechBedrockPlatforms.run(); + GregtechBufferDynamos.run(); //New Horizons Content NewHorizonsAccelerator.run(); diff --git a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java index 3859293d7f..afa28cecee 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/ItemUtils.java @@ -10,6 +10,7 @@ import net.minecraft.item.Item; import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ItemStack; +import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.util.GT_ModHandler; @@ -41,10 +42,10 @@ public class ItemUtils { return getSimpleStack(x, 1); } public static ItemStack getSimpleStack(final Block x){ - return getSimpleStack(Item.getItemFromBlock(x), 1); + return simpleMetaStack(Item.getItemFromBlock(x), 0, 1); } - public static ItemStack getSimpleStack(final Block x, final int i){ - return getSimpleStack(Item.getItemFromBlock(x), i); + public static ItemStack getSimpleStack(final Block x, int meta){ + return simpleMetaStack(Item.getItemFromBlock(x), meta, 1); } public static ItemStack getSimpleStack(final Item x, final int i){ try { diff --git a/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java b/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java index f510cd08ba..01a72a5587 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java @@ -47,14 +47,15 @@ public class HANDLER_GT { public static void init(){ - //Load General Blocks and set up some Basic Meta Tile Entitie states + //Load General Blocks and set up some Basic Meta Tile Entity states Gregtech_Blocks.run(); + //Add Custom Pipes, Wires and Cables. + GregtechConduits.run(); + //Register Tile Entities COMPAT_HANDLER.registerGregtechMachines(); - //Add Custom Pipes, Wires and Cables. - GregtechConduits.run(); //Only loads if the config option is true (default: true) if (CORE.ConfigSwitches.enableSkookumChoochers){ diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java index 962e2bca0f..9c3abb8625 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/enums/GregtechItemList.java @@ -301,7 +301,11 @@ public enum GregtechItemList implements GregtechItemContainer { Industrial_MultiMachine, Casing_Multi_Use, //Bedrock Mining Platforms - BedrockMiner_MKI, + BedrockMiner_MKI, BedrockMiner_MKII, BedrockMiner_MKIII, Casing_BedrockMiner, + + //Buffer Dynamos + Hatch_Buffer_Dynamo_ULV, Hatch_Buffer_Dynamo_LV, Hatch_Buffer_Dynamo_MV, Hatch_Buffer_Dynamo_HV, Hatch_Buffer_Dynamo_EV, + Hatch_Buffer_Dynamo_IV, Hatch_Buffer_Dynamo_LuV, Hatch_Buffer_Dynamo_ZPM, Hatch_Buffer_Dynamo_UV, Hatch_Buffer_Dynamo_MAX, diff --git a/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DynamoBuffer.java b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DynamoBuffer.java new file mode 100644 index 0000000000..b2a285cebd --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_DynamoBuffer.java @@ -0,0 +1,53 @@ +package gtPlusPlus.xmod.gregtech.api.metatileentity.implementations; + +import gregtech.api.metatileentity.MetaTileEntity; +import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynamo; + +import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; + +import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.enums.GT_Values; +import gregtech.api.interfaces.ITexture; + +public class GT_MetaTileEntity_Hatch_DynamoBuffer extends GT_MetaTileEntity_Hatch_Dynamo { + public GT_MetaTileEntity_Hatch_DynamoBuffer(final int aID, final String aName, final String aNameRegional, + final int aTier) { + super(aID, aName, aNameRegional, aTier); + } + + public GT_MetaTileEntity_Hatch_DynamoBuffer(final String aName, final int aTier, final String aDescription, + final ITexture[][][] aTextures) { + super(aName, aTier, aDescription, aTextures); + } + + public GT_MetaTileEntity_Hatch_DynamoBuffer(final String aName, final int aTier, final String[] aDescription, + final ITexture[][][] aTextures) { + super(aName, aTier, aDescription, aTextures); + } + + public ITexture[] getTexturesActive(final ITexture aBaseTexture) { + return new ITexture[]{aBaseTexture, TexturesGtBlock.OVERLAYS_ENERGY_OUT_MULTI_BUFFER[this.mTier]}; + } + + public ITexture[] getTexturesInactive(final ITexture aBaseTexture) { + return new ITexture[]{aBaseTexture, TexturesGtBlock.OVERLAYS_ENERGY_OUT_MULTI_BUFFER[this.mTier]}; + } + + public long getMinimumStoredEU() { + return 0L; + } + + public long maxEUStore() { + return 512L + GT_Values.V[this.mTier + 1] * 2048L; + } + + public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { + return (MetaTileEntity) new GT_MetaTileEntity_Hatch_DynamoBuffer(this.mName, this.mTier, this.mDescriptionArray, this.mTextures); + } + + @Override + public String[] getDescription() { + String[] g = new String[]{"Generating electric Energy from Multiblocks", "Stores "+maxEUStore()+"EU", "Puts out up to 4 Amps"}; + return g; + } +}
\ No newline at end of file diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks3.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks3.java index 32977ab39a..0204b08b2e 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks3.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/GregtechMetaCasingBlocks3.java @@ -24,7 +24,7 @@ extends GregtechMetaCasingBlocksAbstract { GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".0.name", "Aquatic Casing"); GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".1.name", "Inconel Reinforced Casing"); GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".2.name", "Multi-Use Casing"); - GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".3.name", "Placeholder"); + GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".3.name", "Trinium Plated Mining Platform Casing"); GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".4.name", "Placeholder"); GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".5.name", "Placeholder"); GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + ".6.name", "Placeholder"); @@ -40,7 +40,7 @@ extends GregtechMetaCasingBlocksAbstract { GregtechItemList.Casing_FishPond.set(new ItemStack(this, 1, 0)); GregtechItemList.Casing_Extruder.set(new ItemStack(this, 1, 1)); GregtechItemList.Casing_Multi_Use.set(new ItemStack(this, 1, 2)); - //GregtechItemList.Casing_Refinery_Internal.set(new ItemStack(this, 1, 3)); + GregtechItemList.Casing_BedrockMiner.set(new ItemStack(this, 1, 3)); //GregtechItemList.Casing_WashPlant.set(new ItemStack(this, 1, 4)); //GregtechItemList.Casing_Sifter.set(new ItemStack(this, 1, 5)); //GregtechItemList.Casing_SifterGrate.set(new ItemStack(this, 1, 6)); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java index 885e351186..51fb289b61 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/CasingTextureHandler3.java @@ -18,7 +18,7 @@ public class CasingTextureHandler3 { return TexturesGtBlock.TEXTURE_METAL_PANEL_C.getIcon(); //Coke Oven Casing Tier 2 case 3: - return TexturesGtBlock._PlaceHolder.getIcon(); + return TexturesGtBlock.Casing_Staballoy_Firebox.getIcon(); //Material Press Casings case 4: return TexturesGtBlock._PlaceHolder.getIcon(); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java index 02b63146e0..a93cff61b2 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/blocks/textures/TexturesGtBlock.java @@ -6,6 +6,8 @@ import net.minecraft.util.ResourceLocation; import gregtech.api.GregTech_API; import gregtech.api.interfaces.IIconContainer; +import gregtech.api.interfaces.ITexture; +import gregtech.api.objects.GT_RenderedTexture; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; @@ -58,11 +60,38 @@ public class TexturesGtBlock { * Right? */ + //PlaceHolder Texture private static final CustomIcon Internal_PlaceHolder = new CustomIcon("TileEntities/_PlaceHolder"); public static final CustomIcon _PlaceHolder = Internal_PlaceHolder; + //Energy overlays + public static final CustomIcon OVERLAY_ENERGY_OUT_BUFFER = new CustomIcon("iconsets/OVERLAY_ENERGY_OUT_BUFFER"); + public static final CustomIcon OVERLAY_ENERGY_OUT_MULTI_BUFFER = new CustomIcon("iconsets/OVERLAY_ENERGY_OUT_MULTI_BUFFER"); + + //Overlay Arrays + public static ITexture[] OVERLAYS_ENERGY_OUT_MULTI_BUFFER= new ITexture[]{ + new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER, + new short[]{220, 220, 220, 0}), + new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER, + new short[]{220, 220, 220, 0}), + new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER, + new short[]{255, 100, 0, 0}), + new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER, + new short[]{255, 255, 30, 0}), + new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER, + new short[]{128, 128, 128, 0}), + new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER, + new short[]{240, 240, 245, 0}), + new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER, + new short[]{240, 240, 245, 0}), + new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER, + new short[]{240, 240, 245, 0}), + new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER, + new short[]{240, 240, 245, 0}), + new GT_RenderedTexture((IIconContainer) OVERLAY_ENERGY_OUT_MULTI_BUFFER, + new short[]{240, 240, 245, 0})}; //Controllers private static final CustomIcon Internal_Casing_Fusion_Simple_Front = new CustomIcon("TileEntities/MACHINE_CASING_FUSION_FRONT"); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialExtruder.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialExtruder.java index 5e3b3d586b..7f8a954921 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialExtruder.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/GregtechMetaTileEntity_IndustrialExtruder.java @@ -57,8 +57,8 @@ extends GregtechMeta_MultiBlockBase { "1x Input Bus (anywhere)", "1x Output Bus (anywhere)", "1x Energy Hatch (anywhere)", - "1x Maintenance Hatch (anywhere)", - "1x Muffler Hatch (Back Center)", + "1x Muffler Hatch (anywhere)", + "1x Maintenance Hatch (Back Center)", "Inconel Reinforced Casings for the rest (28 at least!)", CORE.GT_Tooltip}; } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatform1.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatform1.java index ae0246ab4d..bbc8ebbb81 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatform1.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatform1.java @@ -25,10 +25,6 @@ public class GregtechMetaTileEntity_BedrockMiningPlatform1 extends GregtechMetaT return (IMetaTileEntity) new GregtechMetaTileEntity_BedrockMiningPlatform1(this.mName); } - protected GregtechItemList getCasingBlockItem() { - return GregtechItemList.Casing_Cyclotron_External; - } - protected Material getFrameMaterial() { return ALLOY.INCONEL_690; } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatform2.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatform2.java index 09da08ea01..9e6b2fd4f4 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatform2.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatform2.java @@ -26,10 +26,6 @@ public class GregtechMetaTileEntity_BedrockMiningPlatform2 extends GregtechMetaT return (IMetaTileEntity) new GregtechMetaTileEntity_BedrockMiningPlatform2(this.mName); } - protected GregtechItemList getCasingBlockItem() { - return GregtechItemList.Casing_Reactor_I; - } - protected Material getFrameMaterial() { return NUCLIDE.getInstance().AMERICIUM241; } diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java index 1d58fa2e34..e55db9d1ab 100644 --- a/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java +++ b/src/Java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/bedrock/GregtechMetaTileEntity_BedrockMiningPlatformBase.java @@ -6,6 +6,7 @@ import java.util.HashMap; import net.minecraft.block.Block; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.init.Blocks; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.ChunkPosition; @@ -28,6 +29,7 @@ import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.util.minecraft.FluidUtils; +import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import net.minecraftforge.common.util.ForgeDirection; @@ -421,6 +423,7 @@ public abstract class GregtechMetaTileEntity_BedrockMiningPlatformBase extends G for (int xOff = -1 + this.back.offsetX; xOff <= 1 + this.back.offsetX; ++xOff) { for (int zOff = -1 + this.back.offsetZ; zOff <= 1 + this.back.offsetZ; ++zOff) { if (xOff != 0 || zOff != 0) { + final Block tBlock = aBaseMetaTileEntity.getBlockOffset(xOff, 0, zOff); final IGregTechTileEntity tTileEntity = aBaseMetaTileEntity.getIGregTechTileEntityOffset(xOff, 0, zOff); if (!this.checkCasingBlock(xOff, 0, zOff) @@ -428,7 +431,10 @@ public abstract class GregtechMetaTileEntity_BedrockMiningPlatformBase extends G && !this.addInputToMachineList(tTileEntity, this.casingTextureIndex) && !this.addOutputToMachineList(tTileEntity, this.casingTextureIndex) && !this.addEnergyInputToMachineList(tTileEntity, this.casingTextureIndex)) { - Logger.INFO("[Bedrock Miner] Found bad block in Structure."); + Logger.INFO("[Bedrock Miner] Found bad blosck in Structure."); + if (tBlock != null) { + //Logger.INFO("[Bedrock Miner] Found "+(new ItemStack(tBlock, tBlock.getDamageValue(aBaseMetaTileEntity.getWorld(), xOff, 0, zOff))).getDisplayName()+", expected "+this.getCasingBlockItem().get(0L, new Object[0]).getDisplayName()); + } return false; } } @@ -509,8 +515,7 @@ public abstract class GregtechMetaTileEntity_BedrockMiningPlatformBase extends G private boolean checkFrameBlock(final int xOff, final int yOff, final int zOff) { return this.checkBlockAndMetaOffset(xOff, yOff, zOff, - GT_Utility.getBlockFromStack(this.getFrameMaterial().getFrameBox(1)), - 0); + Block.getBlockFromItem(this.getFrameMaterial().getFrameBox(1).getItem()), 0); } private boolean checkBlockAndMetaOffset(final int xOff, final int yOff, final int zOff, final Block block, @@ -519,8 +524,8 @@ public abstract class GregtechMetaTileEntity_BedrockMiningPlatformBase extends G } private boolean checkBlockAndMeta(final int x, final int y, final int z, final Block block, final int meta) { - return (meta == 32767 || this.getBaseMetaTileEntity().getMetaID(x, y, z) == meta) - && this.getBaseMetaTileEntity().getBlock(x, y, z) == block; + Logger.INFO("Found "+this.getBaseMetaTileEntity().getBlock(x, y, z).getLocalizedName()+":"+this.getBaseMetaTileEntity().getMetaID(x, y, z)+" | Expected: "+block.getUnlocalizedName()+":"+meta); + return (this.getBaseMetaTileEntity().getMetaID(x, y, z) == meta) && this.getBaseMetaTileEntity().getBlock(x, y, z) == block; } public boolean isCorrectMachinePart(final ItemStack aStack) { @@ -543,7 +548,9 @@ public abstract class GregtechMetaTileEntity_BedrockMiningPlatformBase extends G return false; } - protected abstract GregtechItemList getCasingBlockItem(); + protected GregtechItemList getCasingBlockItem() { + return GregtechItemList.Casing_BedrockMiner; + } protected abstract Material getFrameMaterial(); diff --git a/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java new file mode 100644 index 0000000000..f236002505 --- /dev/null +++ b/src/Java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechBufferDynamos.java @@ -0,0 +1,64 @@ +package gtPlusPlus.xmod.gregtech.registration.gregtech; + +import static gtPlusPlus.core.recipe.common.CI.bitsd; + +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.util.GT_ModHandler; + +import gtPlusPlus.core.recipe.common.CI; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; +import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DynamoBuffer; + +public class GregtechBufferDynamos { + + private static int mID = 899; + public static void run() { + run2(); + } + + private static final void run2() { + GregtechItemList.Hatch_Buffer_Dynamo_ULV.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.00", "ULV Dynamo Hatch [Buffered]", 0).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_LV.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.01", "LV Dynamo Hatch [Buffered]", 1).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_MV.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.02", "MV Dynamo Hatch [Buffered]", 2).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_HV.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.03", "HV Dynamo Hatch [Buffered]", 3).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_EV.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.04", "EV Dynamo Hatch [Buffered]", 4).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_IV.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.05", "IV Dynamo Hatch [Buffered]", 5).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_LuV.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.06", "LuV Dynamo Hatch [Buffered]", 6).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_ZPM.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.07", "ZPM Dynamo Hatch [Buffered]", 7).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_UV.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.08", "UV Dynamo Hatch [Buffered]", 8).getStackForm(1L)); + GregtechItemList.Hatch_Buffer_Dynamo_MAX.set( + new GT_MetaTileEntity_Hatch_DynamoBuffer(mID++, "hatch.dynamo.buffer.tier.09", "Max Dynamo Hatch [Buffered]", 9).getStackForm(1L)); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_ULV.get(1L, new Object[0]), bitsd, + new Object[]{"TMC", 'M', ItemList.Hatch_Dynamo_ULV, 'T', CI.getTieredCircuit(0), 'C', OrePrefixes.cableGt04.get((Object) Materials.Lead)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_LV.get(1L, new Object[0]), bitsd, + new Object[]{"TMC", 'M', ItemList.Hatch_Dynamo_LV, 'T', CI.getTieredCircuit(1), 'C', OrePrefixes.cableGt04.get((Object) Materials.Tin)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_MV.get(1L, new Object[0]), bitsd, new Object[]{"TMC", 'M', + ItemList.Hatch_Dynamo_MV, 'T', CI.getTieredCircuit(2), 'C', OrePrefixes.cableGt04.get((Object) Materials.AnyCopper)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_HV.get(1L, new Object[0]), bitsd, + new Object[]{"TMC", 'M', ItemList.Hatch_Dynamo_HV, 'T', CI.getTieredCircuit(3), 'C', OrePrefixes.cableGt04.get((Object) Materials.Gold)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_EV.get(1L, new Object[0]), bitsd, new Object[]{"TMC", 'M', + ItemList.Hatch_Dynamo_EV, 'T', CI.getTieredCircuit(4), 'C', OrePrefixes.cableGt04.get((Object) Materials.Aluminium)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_IV.get(1L, new Object[0]), bitsd, new Object[]{"TMC", 'M', + ItemList.Hatch_Dynamo_IV, 'T', CI.getTieredCircuit(5), 'C', OrePrefixes.cableGt04.get((Object) Materials.Tungsten)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_LuV.get(1L, new Object[0]), bitsd, new Object[]{"TMC", + 'M', ItemList.Hatch_Dynamo_LuV, 'T', CI.getTieredCircuit(6), 'C', OrePrefixes.cableGt04.get((Object) Materials.VanadiumGallium)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_ZPM.get(1L, new Object[0]), bitsd, new Object[]{"TMC", + 'M', ItemList.Hatch_Dynamo_ZPM, 'T', CI.getTieredCircuit(7), 'C', OrePrefixes.cableGt04.get((Object) Materials.Naquadah)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_UV.get(1L, new Object[0]), bitsd, new Object[]{"TMC", 'M', + ItemList.Hatch_Dynamo_UV, 'T', CI.getTieredCircuit(8), 'C', OrePrefixes.wireGt12.get((Object) Materials.NaquadahAlloy)}); + GT_ModHandler.addCraftingRecipe(GregtechItemList.Hatch_Buffer_Dynamo_MAX.get(1L, new Object[0]), bitsd, new Object[]{"TMC", + 'M', ItemList.Hatch_Dynamo_MAX, 'T', CI.getTieredCircuit(9), 'C', OrePrefixes.wireGt04.get((Object) Materials.Superconductor)}); + } + +} diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_ENERGY_OUT_BUFFER.png b/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_ENERGY_OUT_BUFFER.png Binary files differnew file mode 100644 index 0000000000..8af98deabf --- /dev/null +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_ENERGY_OUT_BUFFER.png diff --git a/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_ENERGY_OUT_MULTI_BUFFER.png b/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_ENERGY_OUT_MULTI_BUFFER.png Binary files differnew file mode 100644 index 0000000000..56b02d1914 --- /dev/null +++ b/src/resources/assets/miscutils/textures/blocks/iconsets/OVERLAY_ENERGY_OUT_MULTI_BUFFER.png |