From 929d2f4b7f4385a1dd71e8620c5fd381ede87a81 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Wed, 16 Mar 2016 15:52:27 +0000 Subject: [PATCH 1/5] Improvements to the nuke, rendering needs fixing --- .../java/techreborn/blocks/BlockNuke.java | 80 +++++++++++++++--- .../render/entitys/RenderNukePrimed.java | 8 +- .../techreborn/entitys/EntityNukePrimed.java | 1 + .../techreborn/textures/blocks/nuke.png | Bin 0 -> 14589 bytes .../textures/blocks/nuke_overlay.png | Bin 0 -> 14569 bytes 5 files changed, 75 insertions(+), 14 deletions(-) create mode 100644 src/main/resources/assets/techreborn/textures/blocks/nuke.png create mode 100644 src/main/resources/assets/techreborn/textures/blocks/nuke_overlay.png diff --git a/src/main/java/techreborn/blocks/BlockNuke.java b/src/main/java/techreborn/blocks/BlockNuke.java index ed2079624..017b9fcb8 100644 --- a/src/main/java/techreborn/blocks/BlockNuke.java +++ b/src/main/java/techreborn/blocks/BlockNuke.java @@ -1,37 +1,46 @@ package techreborn.blocks; import me.modmuss50.jsonDestroyer.api.ITexturedBlock; -import net.minecraft.block.BlockTNT; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.block.properties.PropertyBool; +import net.minecraft.block.state.BlockState; import net.minecraft.block.state.IBlockState; +import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.util.BlockPos; import net.minecraft.util.EnumFacing; +import net.minecraft.util.EnumWorldBlockLayer; import net.minecraft.world.Explosion; import net.minecraft.world.World; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import reborncore.RebornCore; +import reborncore.common.BaseBlock; import techreborn.client.TechRebornCreativeTabMisc; import techreborn.entitys.EntityNukePrimed; /** * Created by Mark on 13/03/2016. */ -public class BlockNuke extends BlockTNT implements ITexturedBlock { +public class BlockNuke extends BaseBlock implements ITexturedBlock { + public static final PropertyBool OVERLAY = PropertyBool.create("overlay"); public BlockNuke() { + super(Material.tnt); setUnlocalizedName("techreborn.nuke"); setCreativeTab(TechRebornCreativeTabMisc.instance); RebornCore.jsonDestroyer.registerObject(this); + this.setDefaultState(this.blockState.getBaseState().withProperty(OVERLAY, false)); } - @Override public void explode(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase igniter) { if (!worldIn.isRemote) { - if (state.getValue(EXPLODE).booleanValue()) { - EntityNukePrimed entitynukeprimed = new EntityNukePrimed(worldIn, (double) ((float) pos.getX() + 0.5F), (double) pos.getY(), (double) ((float) pos.getZ() + 0.5F), igniter); - worldIn.spawnEntityInWorld(entitynukeprimed); - worldIn.playSoundAtEntity(entitynukeprimed, "game.tnt.primed", 1.0F, 1.0F); - } + EntityNukePrimed entitynukeprimed = new EntityNukePrimed(worldIn, (double) ((float) pos.getX() + 0.5F), (double) pos.getY(), (double) ((float) pos.getZ() + 0.5F), igniter); + worldIn.spawnEntityInWorld(entitynukeprimed); + worldIn.playSoundAtEntity(entitynukeprimed, "game.tnt.primed", 1.0F, 1.0F); } } @@ -44,6 +53,40 @@ public class BlockNuke extends BlockTNT implements ITexturedBlock { } } + public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) { + if (!worldIn.isRemote && entityIn instanceof EntityArrow) { + EntityArrow entityarrow = (EntityArrow) entityIn; + + if (entityarrow.isBurning()) { + this.explode(worldIn, pos, state, entityarrow.shootingEntity instanceof EntityLivingBase ? (EntityLivingBase) entityarrow.shootingEntity : null); + worldIn.setBlockToAir(pos); + } + } + } + + public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state) { + super.onBlockAdded(worldIn, pos, state); + if (worldIn.isBlockPowered(pos)) { + this.onBlockDestroyedByPlayer(worldIn, pos, state); + worldIn.setBlockToAir(pos); + } + } + + /** + * Called when a neighboring block changes. + */ + public void onNeighborBlockChange(World worldIn, BlockPos pos, IBlockState state, Block neighborBlock) { + if (worldIn.isBlockPowered(pos)) { + this.onBlockDestroyedByPlayer(worldIn, pos, state); + worldIn.setBlockToAir(pos); + } + } + + public void onBlockDestroyedByPlayer(World worldIn, BlockPos pos, IBlockState state) + { + this.explode(worldIn, pos, state, (EntityLivingBase)null); + } + @Override public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ) { return false; //No flint and steel @@ -51,11 +94,28 @@ public class BlockNuke extends BlockTNT implements ITexturedBlock { @Override public String getTextureNameFromState(IBlockState iBlockState, EnumFacing enumFacing) { - return "techreborn:blocks/machine/greg_machine/nuke"; + if (iBlockState.getValue(OVERLAY)) { + return "techreborn:blocks/nuke_overlay"; + } + return "techreborn:blocks/nuke"; } @Override public int amountOfStates() { - return 1; + return 2; } + + public int getMetaFromState(IBlockState state) { + return state.getValue(OVERLAY) ? 1 : 0; + } + + public IBlockState getStateFromMeta(int meta) + { + return this.getDefaultState().withProperty(OVERLAY, Boolean.valueOf((meta & 1) > 0)); + } + + protected BlockState createBlockState() { + return new BlockState(this, OVERLAY); + } + } diff --git a/src/main/java/techreborn/client/render/entitys/RenderNukePrimed.java b/src/main/java/techreborn/client/render/entitys/RenderNukePrimed.java index 5d66a80eb..e243c7579 100644 --- a/src/main/java/techreborn/client/render/entitys/RenderNukePrimed.java +++ b/src/main/java/techreborn/client/render/entitys/RenderNukePrimed.java @@ -9,6 +9,8 @@ import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.init.Blocks; import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; +import org.lwjgl.opengl.GL11; +import techreborn.blocks.BlockNuke; import techreborn.entitys.EntityNukePrimed; import techreborn.init.ModBlocks; @@ -41,20 +43,18 @@ public class RenderNukePrimed extends Render { blockrendererdispatcher.renderBlockBrightness(ModBlocks.nuke.getDefaultState(), entity.getBrightness(partialTicks)); GlStateManager.translate(0.0F, 0.0F, 1.0F); if (entity.fuse / 5 % 2 == 0) { - GlStateManager.disableTexture2D(); GlStateManager.disableLighting(); GlStateManager.enableBlend(); GlStateManager.blendFunc(770, 772); - GlStateManager.color(1.0F, 1.0F, 1.0F, f2); + GlStateManager.color(1.0F, 1.0F, 1.0F, 1F); GlStateManager.doPolygonOffset(-3.0F, -3.0F); GlStateManager.enablePolygonOffset(); - blockrendererdispatcher.renderBlockBrightness(Blocks.tnt.getDefaultState(), 1.0F); + blockrendererdispatcher.renderBlockBrightness(ModBlocks.nuke.getDefaultState().withProperty(BlockNuke.OVERLAY, true), 1.0F); GlStateManager.doPolygonOffset(0.0F, 0.0F); GlStateManager.disablePolygonOffset(); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.disableBlend(); GlStateManager.enableLighting(); - GlStateManager.enableTexture2D(); } GlStateManager.popMatrix(); super.doRender(entity, x, y, z, entityYaw, partialTicks); diff --git a/src/main/java/techreborn/entitys/EntityNukePrimed.java b/src/main/java/techreborn/entitys/EntityNukePrimed.java index 890994684..9555a75b3 100644 --- a/src/main/java/techreborn/entitys/EntityNukePrimed.java +++ b/src/main/java/techreborn/entitys/EntityNukePrimed.java @@ -53,6 +53,7 @@ public class EntityNukePrimed extends EntityTNTPrimed { public void explodeNuke() { RebornExplosion nukeExplosion = new RebornExplosion(new BlockPos(this.posX, this.posY, this.posZ), worldObj, 40); + nukeExplosion.setLivingBase(getTntPlacedBy()); nukeExplosion.explode(); } diff --git a/src/main/resources/assets/techreborn/textures/blocks/nuke.png b/src/main/resources/assets/techreborn/textures/blocks/nuke.png new file mode 100644 index 0000000000000000000000000000000000000000..ef145fb82fda223f2d63cebe13e2ae5d32a898c0 GIT binary patch literal 14589 zcmeI3O>7%Q6vqdU5QL;Eszjq4s@0ZCMPTo)zhbY}F2PQ5BpgCwlmt;V>)lDbioLtt zUDrkT@YOR8J$A@{KY%{o znM5f2uu)y{Rw^&Zn$?V}x>dvRPSYl8gp?B55pf zi@0u-w;jB+Jzv$fH?^G3pD2te9hoF(Vo&8d&4%g9ojf1pl}YRm3p^J{yv;m6;}_&s zDhpiEaxj;Ur(>EZrMT%_TuMu+tn>_*5T&FbCIu-OlM=F+lch8lz4*cyi4;d)mlsPX zqjKc0JYV-bTNZ?NyB%*Q5)^kwpAMqWGa7$a={OlS*QAzUGa+^bx4u0%ADway6rekWhrpL5&1}9ZfpH?%u09~a5?fX)f zEUo45j3~8!kEwxuU+NbfgPdw=18DrKzt<8&((Ef$HeAw+TcAftrv~TN5J&$}(uuElC^G~jV<~Kjq6`^mmcUfI$WHbKn0*3j4eRPd> z9h)O|P?#kUjP|?My4O}6JhMUCfwHB;g#C`e%!=Tj?+v3Le>mE|Dtmppe-#z~*pf*H zkV{en@{%I#8|zgL^(+2LHd=vxIw6vmAo-t>6;2OYSMP3x(}UKY^JUZU3W=!Nz%X$6 zXKQ#EERn|mT*#!;$+RL24i7pOj1F$BlnkGuMFa&57oj3(}y*3>Os<6fj(n1~q25 zsED9|;es@%F~dbg1O*Hiq(O}tE-E4@V7MR+YRqs^5kUdN1!+)YhKq^_3K%X(gBmkj zR76m~a6uZ>nBk%#f&zvM(xAo+7Zni{FkFxZHDIYL5&$M zDk3OgxF8K`%y3Z=K>@=BX;9<4;u`DyxDT7;7kzE=)4lI%-{;8B{y43?SV3s}7(#En zjnF^;lJ7eRwM2w|T|-E|jL>20{nOu^B-%4`rI~8yR_*HVeCx;g*RP-Z#W|$bZjN6$ z_1S@27k0(RKl=RX^7to5rq+JG{iS>5654s~kJ~vtb7zX%aVOEz!B5|O^4Sm1|MlBX zyQgm)`TCvY59rm2hjz|=`_-}XwevHVQ}5lpU?mQpT05@1w0v$nm%eyz?XCX+)6dMg literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/techreborn/textures/blocks/nuke_overlay.png b/src/main/resources/assets/techreborn/textures/blocks/nuke_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..1d6566c6848781f87ae75359fa7014f1c572a0c1 GIT binary patch literal 14569 zcmeI3Pi)&%9LL`_Y3c%##&%$u5Lg~XLoBhK#A#zWnM%^pNK03>LCcV!bM2SbYGQk~ zv$#DV{+zZGY)JeOoVg%QNJSttao8OpBm^gpz=cD1;Ga~U|1|j}P4+ajzKMNq4X>M4iT~s4yF6zaCH{(B7wb+1 zZe>_$aSJ;&52txk%z~miW1_AlIxf zaTVLeoSc!`zZDOxC1c@7ErCy`9e3(w;wmgCIzdj&*vCEe8wB*t5H?j^}TXTRA)K z?tQa0Se&6u;mpKq$ALM)7S6=Bs1@QBQpvq46&Gv1?KW(?U5>kKX&)h1sc`46n3iGp zyysP6R6SVgK_Xn$d|W22SV)Vc4+{-RCVi+#*;jx+7LC~Jwqdrm#@MqtMJyzCAR4uk z4P$7&MoR!?AcdhTE!*vAe%b73>sWBCbyXM)0%gC0l#1Q9U2;XZoKuBy!@w1Fl~S`j zU$b;vtCqV&lWHTwz!jdY z@nNt+9s_W>Aj>&f6-I|g9ZP0_+s&#;cC8ooqEtvcqZ4C|S0@?4L}HAW3jD*4Rx%zX zj|1dMMCduO{U32KxT8m$7^Y)IAPs8Fa8VIK0mB7pP-BLRiU8Ps4>GuMFa&57oj3(}y*3>Os< z6fj(n1~q25sED9|;es@%F~dbg1O*Hiq(O}tE-E4@V7MR+YRqs^5kUdN1!+)YhKq^_ z3K%X(gBmkjR76m~a6uZ>_<^`mgCF-{i~ORmM}E3@>dq7Ik)Qo>`oeM@q3vme-gq0K zzxK%YZwPfognqw`-gMymWuh!H_!Z(_wKJwosic`2T%T^PeEH4J sQ=k2E@}GCUJ3XIU{rAJyem#PozVzJQ<*#;MCxuXLezE%bi`U-z4{PDTrvLx| literal 0 HcmV?d00001 From f532ce15c09308bc7befedfd0b6d148a146ba279 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Wed, 16 Mar 2016 16:38:44 +0000 Subject: [PATCH 2/5] Stop nuke's exploding when broken --- src/main/java/techreborn/blocks/BlockNuke.java | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/main/java/techreborn/blocks/BlockNuke.java b/src/main/java/techreborn/blocks/BlockNuke.java index 017b9fcb8..1bf2666db 100644 --- a/src/main/java/techreborn/blocks/BlockNuke.java +++ b/src/main/java/techreborn/blocks/BlockNuke.java @@ -67,7 +67,7 @@ public class BlockNuke extends BaseBlock implements ITexturedBlock { public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state) { super.onBlockAdded(worldIn, pos, state); if (worldIn.isBlockPowered(pos)) { - this.onBlockDestroyedByPlayer(worldIn, pos, state); + this.explode(worldIn, pos, state, null);); worldIn.setBlockToAir(pos); } } @@ -77,16 +77,11 @@ public class BlockNuke extends BaseBlock implements ITexturedBlock { */ public void onNeighborBlockChange(World worldIn, BlockPos pos, IBlockState state, Block neighborBlock) { if (worldIn.isBlockPowered(pos)) { - this.onBlockDestroyedByPlayer(worldIn, pos, state); + this.explode(worldIn, pos, state, null); worldIn.setBlockToAir(pos); } } - public void onBlockDestroyedByPlayer(World worldIn, BlockPos pos, IBlockState state) - { - this.explode(worldIn, pos, state, (EntityLivingBase)null); - } - @Override public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ) { return false; //No flint and steel From 04edbabdf4ac950e33501f8670554c19571be82c Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Wed, 16 Mar 2016 16:39:40 +0000 Subject: [PATCH 3/5] fix compile error --- src/main/java/techreborn/blocks/BlockNuke.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/techreborn/blocks/BlockNuke.java b/src/main/java/techreborn/blocks/BlockNuke.java index 1bf2666db..5d165955d 100644 --- a/src/main/java/techreborn/blocks/BlockNuke.java +++ b/src/main/java/techreborn/blocks/BlockNuke.java @@ -67,7 +67,7 @@ public class BlockNuke extends BaseBlock implements ITexturedBlock { public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state) { super.onBlockAdded(worldIn, pos, state); if (worldIn.isBlockPowered(pos)) { - this.explode(worldIn, pos, state, null);); + this.explode(worldIn, pos, state, null); worldIn.setBlockToAir(pos); } } From 5a0f8be4353d50bb01a69b437453b10fc091aaa1 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Wed, 16 Mar 2016 16:54:44 +0000 Subject: [PATCH 4/5] Added transformers --- .../transformers/BlockHVTransformer.java | 51 +++++++++++++++++++ .../transformers/BlockLVTransformer.java | 50 ++++++++++++++++++ .../transformers/BlockMVTransformer.java | 50 ++++++++++++++++++ src/main/java/techreborn/init/ModBlocks.java | 21 ++++++++ .../tiles/transformers/TileHVTransformer.java | 24 +++++++++ .../tiles/transformers/TileLVTransformer.java | 40 +++++++++++++++ .../tiles/transformers/TileMVTransformer.java | 24 +++++++++ 7 files changed, 260 insertions(+) create mode 100644 src/main/java/techreborn/blocks/transformers/BlockHVTransformer.java create mode 100644 src/main/java/techreborn/blocks/transformers/BlockLVTransformer.java create mode 100644 src/main/java/techreborn/blocks/transformers/BlockMVTransformer.java create mode 100644 src/main/java/techreborn/tiles/transformers/TileHVTransformer.java create mode 100644 src/main/java/techreborn/tiles/transformers/TileLVTransformer.java create mode 100644 src/main/java/techreborn/tiles/transformers/TileMVTransformer.java diff --git a/src/main/java/techreborn/blocks/transformers/BlockHVTransformer.java b/src/main/java/techreborn/blocks/transformers/BlockHVTransformer.java new file mode 100644 index 000000000..92da734ea --- /dev/null +++ b/src/main/java/techreborn/blocks/transformers/BlockHVTransformer.java @@ -0,0 +1,51 @@ +package techreborn.blocks.transformers; + +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import techreborn.blocks.storage.BlockBatBox; +import techreborn.client.TechRebornCreativeTab; +import techreborn.tiles.storage.TileMFE; +import techreborn.tiles.transformers.TileHVTransformer; + +/** + * Created by modmuss50 on 16/03/2016. + */ +public class BlockHVTransformer extends BlockLVTransformer { + + public BlockHVTransformer() { + super(); + setUnlocalizedName("techreborn.hvt"); + setCreativeTab(TechRebornCreativeTab.instance); + } + + @Override + public TileEntity createNewTileEntity(World world, int p_149915_2_) { + return new TileHVTransformer(); + } + + @Override + public String getFrontOff() { + return prefix + "hvt_front"; + } + + @Override + public String getFrontOn() { + return prefix + "hvt_front"; + } + + @Override + public String getSide() { + return prefix + "hvt_side"; + } + + @Override + public String getTop() { + return prefix + "hvt_top"; + } + + @Override + public String getBottom() { + return prefix + "hvt_bottom"; + } + +} diff --git a/src/main/java/techreborn/blocks/transformers/BlockLVTransformer.java b/src/main/java/techreborn/blocks/transformers/BlockLVTransformer.java new file mode 100644 index 000000000..efa219b47 --- /dev/null +++ b/src/main/java/techreborn/blocks/transformers/BlockLVTransformer.java @@ -0,0 +1,50 @@ +package techreborn.blocks.transformers; + +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import techreborn.blocks.storage.BlockBatBox; +import techreborn.client.TechRebornCreativeTab; +import techreborn.tiles.storage.TileMFE; +import techreborn.tiles.transformers.TileLVTransformer; + +/** + * Created by modmuss50 on 16/03/2016. + */ +public class BlockLVTransformer extends BlockBatBox { + + public BlockLVTransformer() { + super(); + setUnlocalizedName("techreborn.lvt"); + setCreativeTab(TechRebornCreativeTab.instance); + } + + @Override + public TileEntity createNewTileEntity(World world, int p_149915_2_) { + return new TileLVTransformer(); + } + + @Override + public String getFrontOff() { + return prefix + "lvt_front"; + } + + @Override + public String getFrontOn() { + return prefix + "lvt_front"; + } + + @Override + public String getSide() { + return prefix + "lvt_side"; + } + + @Override + public String getTop() { + return prefix + "lvt_top"; + } + + @Override + public String getBottom() { + return prefix + "lvt_bottom"; + } +} diff --git a/src/main/java/techreborn/blocks/transformers/BlockMVTransformer.java b/src/main/java/techreborn/blocks/transformers/BlockMVTransformer.java new file mode 100644 index 000000000..69ce92efe --- /dev/null +++ b/src/main/java/techreborn/blocks/transformers/BlockMVTransformer.java @@ -0,0 +1,50 @@ +package techreborn.blocks.transformers; + +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import techreborn.blocks.storage.BlockBatBox; +import techreborn.client.TechRebornCreativeTab; +import techreborn.tiles.storage.TileMFE; +import techreborn.tiles.transformers.TileMVTransformer; + +/** + * Created by modmuss50 on 16/03/2016. + */ +public class BlockMVTransformer extends BlockLVTransformer { + + public BlockMVTransformer() { + super(); + setUnlocalizedName("techreborn.mvt"); + setCreativeTab(TechRebornCreativeTab.instance); + } + + @Override + public TileEntity createNewTileEntity(World world, int p_149915_2_) { + return new TileMVTransformer(); + } + + @Override + public String getFrontOff() { + return prefix + "mvt_front"; + } + + @Override + public String getFrontOn() { + return prefix + "mvt_front"; + } + + @Override + public String getSide() { + return prefix + "mvt_side"; + } + + @Override + public String getTop() { + return prefix + "mvt_top"; + } + + @Override + public String getBottom() { + return prefix + "mvt_bottom"; + } +} diff --git a/src/main/java/techreborn/init/ModBlocks.java b/src/main/java/techreborn/init/ModBlocks.java index b16ed6350..a6dc27104 100644 --- a/src/main/java/techreborn/init/ModBlocks.java +++ b/src/main/java/techreborn/init/ModBlocks.java @@ -16,6 +16,9 @@ import techreborn.blocks.iron_machines.BlockIronFurnace; import techreborn.blocks.machine.*; import techreborn.blocks.storage.*; import techreborn.blocks.tier1.*; +import techreborn.blocks.transformers.BlockHVTransformer; +import techreborn.blocks.transformers.BlockLVTransformer; +import techreborn.blocks.transformers.BlockMVTransformer; import techreborn.itemblocks.*; import techreborn.tiles.*; import techreborn.tiles.fusionReactor.TileEntityFusionController; @@ -27,6 +30,9 @@ import techreborn.tiles.storage.TileBatBox; import techreborn.tiles.storage.TileMFE; import techreborn.tiles.storage.TileMFSU; import techreborn.tiles.teir1.*; +import techreborn.tiles.transformers.TileHVTransformer; +import techreborn.tiles.transformers.TileLVTransformer; +import techreborn.tiles.transformers.TileMVTransformer; public class ModBlocks { @@ -84,6 +90,9 @@ public class ModBlocks { public static Block mfe; public static Block mfsu; public static Block scrapboxinator; + public static Block lvt; + public static Block mvt; + public static Block hvt; public static BlockOre ore; public static BlockOre2 ore2; @@ -338,6 +347,18 @@ public class ModBlocks { mfsu = new BlockMFSU(); GameRegistry.registerBlock(mfsu, "mfsu"); GameRegistry.registerTileEntity(TileMFSU.class, "TileMFSU"); + + lvt = new BlockLVTransformer(); + GameRegistry.registerBlock(lvt, "lvt"); + GameRegistry.registerTileEntity(TileLVTransformer.class, "TileLVTransformer"); + + mvt = new BlockMVTransformer(); + GameRegistry.registerBlock(mvt, "mvt"); + GameRegistry.registerTileEntity(TileMVTransformer.class, "TileMVTransformer"); + + hvt = new BlockHVTransformer(); + GameRegistry.registerBlock(hvt, "hvt"); + GameRegistry.registerTileEntity(TileHVTransformer.class, "TileHVTransformer"); ironFurnace = new BlockIronFurnace(); GameRegistry.registerBlock(ironFurnace, "ironfurnace"); diff --git a/src/main/java/techreborn/tiles/transformers/TileHVTransformer.java b/src/main/java/techreborn/tiles/transformers/TileHVTransformer.java new file mode 100644 index 000000000..3fd98b75a --- /dev/null +++ b/src/main/java/techreborn/tiles/transformers/TileHVTransformer.java @@ -0,0 +1,24 @@ +package techreborn.tiles.transformers; + +import reborncore.api.power.EnumPowerTier; + +/** + * Created by modmuss50 on 16/03/2016. + */ +public class TileHVTransformer extends TileLVTransformer { + + @Override + public double getMaxOutput() { + return 512; + } + + @Override + public double getMaxInput() { + return 2048; + } + + @Override + public EnumPowerTier getTier() { + return EnumPowerTier.EXTREME; + } +} diff --git a/src/main/java/techreborn/tiles/transformers/TileLVTransformer.java b/src/main/java/techreborn/tiles/transformers/TileLVTransformer.java new file mode 100644 index 000000000..6e8b2f222 --- /dev/null +++ b/src/main/java/techreborn/tiles/transformers/TileLVTransformer.java @@ -0,0 +1,40 @@ +package techreborn.tiles.transformers; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import reborncore.api.power.EnumPowerTier; +import techreborn.init.ModBlocks; +import techreborn.tiles.storage.TileBatBox; + +/** + * Created by modmuss50 on 16/03/2016. + */ +public class TileLVTransformer extends TileBatBox { + + @Override + public double getMaxOutput() { + return 32; + } + + @Override + public double getMaxInput() { + return 128; + } + + @Override + //Can take medium power in + public EnumPowerTier getTier() { + return EnumPowerTier.MEDIUM; + } + + @Override + public double getMaxPower() { + return getMaxInput() * 2; + } + + @Override + public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { + return new ItemStack(worldObj.getBlockState(pos).getBlock()); + } + +} diff --git a/src/main/java/techreborn/tiles/transformers/TileMVTransformer.java b/src/main/java/techreborn/tiles/transformers/TileMVTransformer.java new file mode 100644 index 000000000..24ca802b8 --- /dev/null +++ b/src/main/java/techreborn/tiles/transformers/TileMVTransformer.java @@ -0,0 +1,24 @@ +package techreborn.tiles.transformers; + +import reborncore.api.power.EnumPowerTier; + +/** + * Created by modmuss50 on 16/03/2016. + */ +public class TileMVTransformer extends TileLVTransformer { + + @Override + public double getMaxOutput() { + return 128; + } + + @Override + public double getMaxInput() { + return 512; + } + + @Override + public EnumPowerTier getTier() { + return EnumPowerTier.HIGH; + } +} From ba4517d38cbc8686ab5d50bb35adefd0aa075086 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Wed, 16 Mar 2016 16:59:50 +0000 Subject: [PATCH 5/5] Fix cables not always breaking --- src/main/java/techreborn/parts/CableMultipart.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/techreborn/parts/CableMultipart.java b/src/main/java/techreborn/parts/CableMultipart.java index 7b6b5df37..38f2ccede 100644 --- a/src/main/java/techreborn/parts/CableMultipart.java +++ b/src/main/java/techreborn/parts/CableMultipart.java @@ -134,6 +134,12 @@ public abstract class CableMultipart extends Multipart implements IOccludingPart public void onRemoved() { super.onRemoved(); removeFromNetwork(); + for(EnumFacing dir : EnumFacing.VALUES){ + CableMultipart multipart = getPartFromWorld(getWorld(), getPos().offset(dir), dir); + if(multipart != null){ + multipart.nearByChange(); + } + } } @Override