From 7d514b718a0886d852ff21647a0a2a23f5a83858 Mon Sep 17 00:00:00 2001 From: modmuss50 <modmuss50@gmail.com> Date: Sat, 5 Mar 2016 11:37:29 +0000 Subject: [PATCH] Fixes #369 and fixes rubber tree spikes not decaying --- .../ContainerImplosionCompressor.java | 35 ++++++++++++++++++- .../client/gui/GuiImplosionCompressor.java | 2 +- .../techreborn/world/RubberTreeGenerator.java | 3 +- 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/src/main/java/techreborn/client/container/ContainerImplosionCompressor.java b/src/main/java/techreborn/client/container/ContainerImplosionCompressor.java index ac3ac36ae..8c5ebe9fc 100644 --- a/src/main/java/techreborn/client/container/ContainerImplosionCompressor.java +++ b/src/main/java/techreborn/client/container/ContainerImplosionCompressor.java @@ -1,7 +1,10 @@ package techreborn.client.container; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.ICrafting; import net.minecraft.inventory.Slot; +import net.minecraftforge.fml.relauncher.Side; +import net.minecraftforge.fml.relauncher.SideOnly; import reborncore.client.gui.SlotOutput; import techreborn.tiles.TileImplosionCompressor; @@ -11,8 +14,8 @@ public class ContainerImplosionCompressor extends ContainerCrafting { TileImplosionCompressor tile; - public int tickTime; + public int multiblockstate = 0; public ContainerImplosionCompressor(TileImplosionCompressor tilecompressor, EntityPlayer player) { @@ -48,4 +51,34 @@ public class ContainerImplosionCompressor extends ContainerCrafting { return true; } + @Override + public void detectAndSendChanges() { + super.detectAndSendChanges(); + for (int i = 0; i < this.crafters.size(); i++) { + ICrafting icrafting = (ICrafting) this.crafters.get(i); + if (this.multiblockstate != getMultiblockstateint()) { + icrafting.sendProgressBarUpdate(this, 3, getMultiblockstateint()); + } + } + } + + @Override + public void onCraftGuiOpened(ICrafting crafting) { + super.onCraftGuiOpened(crafting); + crafting.sendProgressBarUpdate(this, 3, getMultiblockstateint()); + } + + @SideOnly(Side.CLIENT) + @Override + public void updateProgressBar(int id, int value) { + if (id == 3) { + this.multiblockstate = value; + } + } + + public int getMultiblockstateint(){ + return tile.getMutliBlock() ? 1 : 0; + } + + } diff --git a/src/main/java/techreborn/client/gui/GuiImplosionCompressor.java b/src/main/java/techreborn/client/gui/GuiImplosionCompressor.java index 89d9a397f..d49fbdda3 100644 --- a/src/main/java/techreborn/client/gui/GuiImplosionCompressor.java +++ b/src/main/java/techreborn/client/gui/GuiImplosionCompressor.java @@ -39,7 +39,7 @@ public class GuiImplosionCompressor extends GuiContainer { int l = (this.height - this.ySize) / 2; this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); - if (compresser.getMutliBlock() != true) { + if (containerImplosionCompressor.multiblockstate == 0) { // GuiDraw.drawTooltipBox(k + 30, l + 50 + 12 - 0, 114, 10); this.fontRendererObj.drawString(StatCollector.translateToLocal("techreborn.message.missingmultiblock"), k + 38, l + 52 + 12 - 0, -1); } diff --git a/src/main/java/techreborn/world/RubberTreeGenerator.java b/src/main/java/techreborn/world/RubberTreeGenerator.java index 6a1b6eff8..6868b72fb 100644 --- a/src/main/java/techreborn/world/RubberTreeGenerator.java +++ b/src/main/java/techreborn/world/RubberTreeGenerator.java @@ -9,6 +9,7 @@ import net.minecraft.util.EnumFacing; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenerator; import net.minecraftforge.common.IPlantable; +import techreborn.blocks.BlockRubberLeaves; import techreborn.blocks.BlockRubberLog; import techreborn.init.ModBlocks; @@ -132,7 +133,7 @@ public class RubberTreeGenerator extends WorldGenerator { if(topLogPos != null){ for (int i = 0; i < 4; i++) { BlockPos spikePos = topLogPos.up(i); - this.setBlockAndNotifyAdequately(world, spikePos, ModBlocks.rubberLeaves.getDefaultState()); + this.setBlockAndNotifyAdequately(world, spikePos, ModBlocks.rubberLeaves.getDefaultState().withProperty(BlockRubberLeaves.DECAYABLE, true)); } } }