From ea74721945cac0bea34cb406baaeebd927b90cab Mon Sep 17 00:00:00 2001 From: al132 Date: Sun, 17 Jul 2016 15:19:31 -0500 Subject: [PATCH 1/5] Add CraftTweaker support for the Compressor --- .../compat/minetweaker/MTCompressor.java | 43 +++++++++++++++++++ .../compat/minetweaker/MinetweakerCompat.java | 1 + 2 files changed, 44 insertions(+) create mode 100644 src/main/java/techreborn/compat/minetweaker/MTCompressor.java diff --git a/src/main/java/techreborn/compat/minetweaker/MTCompressor.java b/src/main/java/techreborn/compat/minetweaker/MTCompressor.java new file mode 100644 index 000000000..a5029ef00 --- /dev/null +++ b/src/main/java/techreborn/compat/minetweaker/MTCompressor.java @@ -0,0 +1,43 @@ +package techreborn.compat.minetweaker; + +import minetweaker.MineTweakerAPI; +import minetweaker.api.item.IIngredient; +import minetweaker.api.item.IItemStack; +import net.minecraft.item.ItemStack; +import stanhebben.zenscript.annotations.ZenClass; +import stanhebben.zenscript.annotations.ZenMethod; +import techreborn.api.recipe.machines.CompressorRecipe; +import techreborn.api.Reference; + +/* + * mods.techreborn.compressor.addRecipe(,, 40,100); + */ + +@ZenClass("mods.techreborn.compressor") +public class MTCompressor extends MTGeneric { + + @ZenMethod + public static void addRecipe(IItemStack output1, IIngredient input1, int ticktime, int euTick) { + ItemStack oInput1 = (ItemStack) MinetweakerCompat.toObject(input1); + + + //public CompressorRecipe(ItemStack input1, ItemStack output1, int tickTime, int euPerTick) { + CompressorRecipe r = new CompressorRecipe(oInput1, MinetweakerCompat.toStack(output1), ticktime, euTick); + + addRecipe(r); + } + + @ZenMethod + public static void removeInputRecipe(IIngredient iIngredient) { + MineTweakerAPI.apply(new RemoveInput(iIngredient, getMachineName())); + } + + @ZenMethod + public static void removeRecipe(IItemStack output) { + MineTweakerAPI.apply(new Remove(MinetweakerCompat.toStack(output), getMachineName())); + } + + public static String getMachineName() { + return Reference.compressorRecipe; + } +} diff --git a/src/main/java/techreborn/compat/minetweaker/MinetweakerCompat.java b/src/main/java/techreborn/compat/minetweaker/MinetweakerCompat.java index dab87d95a..4f504d106 100644 --- a/src/main/java/techreborn/compat/minetweaker/MinetweakerCompat.java +++ b/src/main/java/techreborn/compat/minetweaker/MinetweakerCompat.java @@ -37,6 +37,7 @@ public class MinetweakerCompat implements ICompatModule { MineTweakerAPI.registerClass(MTBlastFurnace.class); MineTweakerAPI.registerClass(MTCentrifuge.class); MineTweakerAPI.registerClass(MTChemicalReactor.class); + MineTweakerAPI.registerClass(MTCompressor.class); MineTweakerAPI.registerClass(MTIndustrialGrinder.class); MineTweakerAPI.registerClass(MTImplosionCompressor.class); MineTweakerAPI.registerClass(MTIndustrialElectrolyzer.class); From 9e2c23d04a3c1eed5fd0a72efa0ef87de79dabae Mon Sep 17 00:00:00 2001 From: al132 Date: Sun, 17 Jul 2016 17:36:40 -0500 Subject: [PATCH 2/5] Fix Extractor insertion and extraction --- .../java/techreborn/client/GuiHandler.java | 2 +- .../client/container/ContainerExtractor.java | 62 ++++++++++++++----- .../techreborn/client/gui/GuiExtractor.java | 11 ++-- .../techreborn/client/gui/GuiGrinder.java | 2 +- .../techreborn/tiles/teir1/TileExtractor.java | 35 ++++------- 5 files changed, 67 insertions(+), 45 deletions(-) diff --git a/src/main/java/techreborn/client/GuiHandler.java b/src/main/java/techreborn/client/GuiHandler.java index c5e20c032..7904262be 100644 --- a/src/main/java/techreborn/client/GuiHandler.java +++ b/src/main/java/techreborn/client/GuiHandler.java @@ -168,7 +168,7 @@ public class GuiHandler implements IGuiHandler return new ContainerGenerator((TileGenerator) world.getTileEntity(new BlockPos(x, y, z)), player); } else if (ID == extractorID) { - return new ContainerExtractor((TileExtractor) world.getTileEntity(new BlockPos(x, y, z)), player); + container = new ContainerExtractor(); } else if (ID == compressorID) { return new ContainerCompressor((TileCompressor) world.getTileEntity(new BlockPos(x, y, z)), player); diff --git a/src/main/java/techreborn/client/container/ContainerExtractor.java b/src/main/java/techreborn/client/container/ContainerExtractor.java index f6385573d..9c4a83382 100644 --- a/src/main/java/techreborn/client/container/ContainerExtractor.java +++ b/src/main/java/techreborn/client/container/ContainerExtractor.java @@ -1,34 +1,44 @@ package techreborn.client.container; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.EnumFacing; +import reborncore.api.tile.IContainerLayout; import reborncore.client.gui.BaseSlot; +import reborncore.client.gui.SlotInput; import reborncore.client.gui.SlotOutput; import techreborn.api.gui.SlotUpgrade; import techreborn.tiles.teir1.TileExtractor; -public class ContainerExtractor extends ContainerCrafting +public class ContainerExtractor extends ContainerCrafting implements IContainerLayout { public int connectionStatus; EntityPlayer player; - TileExtractor tile; + TileExtractor tileExtractor; - public ContainerExtractor(TileExtractor tileGrinder, EntityPlayer player) + + @Override + public boolean canInteractWith(EntityPlayer p_75145_1_) { - super(tileGrinder.crafter); - tile = tileGrinder; - this.player = player; + return true; + } + + @Override + public void addInventorySlots() { // input - this.addSlotToContainer(new BaseSlot(tileGrinder.inventory, 0, 56, 34)); - this.addSlotToContainer(new SlotOutput(tileGrinder.inventory, 1, 116, 34)); + this.addSlotToContainer(new SlotInput(tileExtractor.inventory, 0, 56, 34)); + this.addSlotToContainer(new SlotOutput(tileExtractor.inventory, 1, 116, 34)); // upgrades - this.addSlotToContainer(new SlotUpgrade(tileGrinder.inventory, 2, 152, 8)); - this.addSlotToContainer(new SlotUpgrade(tileGrinder.inventory, 3, 152, 26)); - this.addSlotToContainer(new SlotUpgrade(tileGrinder.inventory, 4, 152, 44)); - this.addSlotToContainer(new SlotUpgrade(tileGrinder.inventory, 5, 152, 62)); + this.addSlotToContainer(new SlotUpgrade(tileExtractor.inventory, 2, 152, 8)); + this.addSlotToContainer(new SlotUpgrade(tileExtractor.inventory, 3, 152, 26)); + this.addSlotToContainer(new SlotUpgrade(tileExtractor.inventory, 4, 152, 44)); + this.addSlotToContainer(new SlotUpgrade(tileExtractor.inventory, 5, 152, 62)); + } + @Override + public void addPlayerSlots() { int i; for (i = 0; i < 3; ++i) @@ -46,9 +56,31 @@ public class ContainerExtractor extends ContainerCrafting } @Override - public boolean canInteractWith(EntityPlayer p_75145_1_) - { - return true; + public void setTile(TileExtractor tile) { + this.tileExtractor = tile; + setCrafter(tile.crafter); + } + + @Override + public TileExtractor getTile() { + return tileExtractor; + } + + @Override + public void setPlayer(EntityPlayer player) { + this.player = player; + + } + + @Override + public EntityPlayer getPlayer() { + return player; + } + + @Nullable + @Override + public List getSlotsForSide(EnumFacing facing) { + return null; } // @Override diff --git a/src/main/java/techreborn/client/gui/GuiExtractor.java b/src/main/java/techreborn/client/gui/GuiExtractor.java index 1fab87035..310407473 100644 --- a/src/main/java/techreborn/client/gui/GuiExtractor.java +++ b/src/main/java/techreborn/client/gui/GuiExtractor.java @@ -5,6 +5,7 @@ import net.minecraft.client.renderer.GlStateManager; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.translation.I18n; +import reborncore.common.container.RebornContainer; import techreborn.client.container.ContainerExtractor; import techreborn.tiles.teir1.TileExtractor; @@ -14,15 +15,15 @@ public class GuiExtractor extends GuiContainer public static final ResourceLocation texture = new ResourceLocation("techreborn", "textures/gui/compressor.png"); TileExtractor extractor; - ContainerExtractor containerGrinder; + ContainerExtractor containerExtractor; - public GuiExtractor(EntityPlayer player, TileExtractor tilegrinder) + public GuiExtractor(EntityPlayer player, TileExtractor tileExtractor) { - super(new ContainerExtractor(tilegrinder, player)); + super(RebornContainer.createContainer(ContainerExtractor.class, tileExtractor, player)); this.xSize = 176; this.ySize = 167; - extractor = tilegrinder; - containerGrinder = (ContainerExtractor) this.inventorySlots; + this.extractor = tileExtractor; + containerExtractor = (ContainerExtractor) this.inventorySlots; } @Override diff --git a/src/main/java/techreborn/client/gui/GuiGrinder.java b/src/main/java/techreborn/client/gui/GuiGrinder.java index 717f619fb..0e4dbadd5 100644 --- a/src/main/java/techreborn/client/gui/GuiGrinder.java +++ b/src/main/java/techreborn/client/gui/GuiGrinder.java @@ -22,7 +22,7 @@ public class GuiGrinder extends GuiContainer super(RebornContainer.createContainer(ContainerGrinder.class, tilegrinder, player)); this.xSize = 176; this.ySize = 167; - grinder = tilegrinder; + this.grinder = tilegrinder; containerGrinder = (ContainerGrinder) this.inventorySlots; } diff --git a/src/main/java/techreborn/tiles/teir1/TileExtractor.java b/src/main/java/techreborn/tiles/teir1/TileExtractor.java index d7e9976af..cfa374b95 100644 --- a/src/main/java/techreborn/tiles/teir1/TileExtractor.java +++ b/src/main/java/techreborn/tiles/teir1/TileExtractor.java @@ -1,6 +1,8 @@ package techreborn.tiles.teir1; -import reborncore.common.IWrenchable;import reborncore.common.IWrenchable; +import reborncore.common.IWrenchable; +import reborncore.common.container.RebornContainer; +import reborncore.common.IWrenchable; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; @@ -8,14 +10,17 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumFacing; import reborncore.api.power.EnumPowerTier; import reborncore.api.recipe.IRecipeCrafterProvider; +import reborncore.api.tile.IContainerProvider; import reborncore.api.tile.IInventoryProvider; import reborncore.common.powerSystem.TilePowerAcceptor; import reborncore.common.recipes.RecipeCrafter; import reborncore.common.util.Inventory; import techreborn.api.Reference; +import techreborn.client.container.ContainerExtractor; +import techreborn.client.container.ContainerGrinder; import techreborn.init.ModBlocks; -public class TileExtractor extends TilePowerAcceptor implements IWrenchable,IInventoryProvider, ISidedInventory, IRecipeCrafterProvider +public class TileExtractor extends TilePowerAcceptor implements IWrenchable,IInventoryProvider, IRecipeCrafterProvider, IContainerProvider { public Inventory inventory = new Inventory(6, "TileExtractor", 64, this); @@ -91,27 +96,6 @@ public class TileExtractor extends TilePowerAcceptor implements IWrenchable,IInv return tagCompound; } - // ISidedInventory - @Override - public int[] getSlotsForFace(EnumFacing side) - { - return side == EnumFacing.DOWN ? new int[] { 0, 1, 2 } : new int[] { 0, 1, 2 }; - } - - @Override - public boolean canInsertItem(int slotIndex, ItemStack itemStack, EnumFacing side) - { - if (slotIndex == 2) - return false; - return isItemValidForSlot(slotIndex, itemStack); - } - - @Override - public boolean canExtractItem(int slotIndex, ItemStack itemStack, EnumFacing side) - { - return slotIndex == 2; - } - public int getProgressScaled(int scale) { if (crafter.currentTickTime != 0) @@ -166,4 +150,9 @@ public class TileExtractor extends TilePowerAcceptor implements IWrenchable,IInv public RecipeCrafter getRecipeCrafter() { return crafter; } + + @Override + public RebornContainer getContainer() { + return RebornContainer.getContainerFromClass(ContainerExtractor.class, this); + } } From 84b5de3417cb73ccf4225fcd99f6cd545d221b30 Mon Sep 17 00:00:00 2001 From: al132 Date: Sun, 17 Jul 2016 17:38:10 -0500 Subject: [PATCH 3/5] Oops --- .../client/container/ContainerExtractor.java | 31 +++---------------- 1 file changed, 4 insertions(+), 27 deletions(-) diff --git a/src/main/java/techreborn/client/container/ContainerExtractor.java b/src/main/java/techreborn/client/container/ContainerExtractor.java index 9c4a83382..74ad03583 100644 --- a/src/main/java/techreborn/client/container/ContainerExtractor.java +++ b/src/main/java/techreborn/client/container/ContainerExtractor.java @@ -1,5 +1,9 @@ package techreborn.client.container; +import java.util.List; + +import javax.annotation.Nullable; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.EnumFacing; import reborncore.api.tile.IContainerLayout; @@ -82,31 +86,4 @@ public class ContainerExtractor extends ContainerCrafting implements IContainerL public List getSlotsForSide(EnumFacing facing) { return null; } - - // @Override - // public void addListener(IContainerListener crafting) { - // super.addListener(crafting); - // crafting.sendProgressBarUpdate(this, 0, (int) tile.getProgressScaled(0)); - // crafting.sendProgressBarUpdate(this, 2, (int) tile.getEnergy()); - // } - // - // @SideOnly(Side.CLIENT) - // @Override - // public void updateProgressBar(int id, int value) { - // if (id == 0) { - // this.progress = value; - // } - // else if (id == 2) { - // this.energy = value; - // } - // this.tile.setEnergy(energy); - // } - - // @SideOnly(Side.CLIENT) - // @Override - // public void updateProgressBar(int id, int value) { - // if (id == 10) { - // this.connectionStatus = value; - // } - // } } From 7a6df30d106d90eeed02e7cc2f837aea6e3c33bc Mon Sep 17 00:00:00 2001 From: al132 Date: Mon, 18 Jul 2016 23:26:41 -0500 Subject: [PATCH 4/5] Rubber and recipe fixes --- src/main/java/techreborn/blocks/BlockRubberLeaves.java | 3 ++- src/main/java/techreborn/blocks/BlockRubberLog.java | 4 +++- src/main/java/techreborn/blocks/BlockRubberPlank.java | 2 ++ .../client/container/ContainerExtractor.java | 2 +- src/main/java/techreborn/init/ModRecipes.java | 10 ++++++---- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/main/java/techreborn/blocks/BlockRubberLeaves.java b/src/main/java/techreborn/blocks/BlockRubberLeaves.java index 8bb1071ae..45e942813 100644 --- a/src/main/java/techreborn/blocks/BlockRubberLeaves.java +++ b/src/main/java/techreborn/blocks/BlockRubberLeaves.java @@ -7,6 +7,7 @@ import me.modmuss50.jsonDestroyer.api.IOpaqueBlock; import me.modmuss50.jsonDestroyer.api.ITexturedBlock; import net.minecraft.block.BlockLeaves; import net.minecraft.block.BlockPlanks; +import net.minecraft.block.material.Material; import net.minecraft.block.properties.IProperty; import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; @@ -31,12 +32,12 @@ public class BlockRubberLeaves extends BlockLeaves implements ITexturedBlock, IO public BlockRubberLeaves() { - super(); setUnlocalizedName("techreborn.rubberleaves"); setCreativeTab(TechRebornCreativeTabMisc.instance); RebornCore.jsonDestroyer.registerObject(this); this.setDefaultState(this.getDefaultState().withProperty(CHECK_DECAY, true) .withProperty(DECAYABLE, true)); + Blocks.FIRE.setFireInfo(this, 30, 60); } @Override diff --git a/src/main/java/techreborn/blocks/BlockRubberLog.java b/src/main/java/techreborn/blocks/BlockRubberLog.java index 08be368e7..b0ba76586 100644 --- a/src/main/java/techreborn/blocks/BlockRubberLog.java +++ b/src/main/java/techreborn/blocks/BlockRubberLog.java @@ -14,6 +14,7 @@ import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; @@ -47,6 +48,7 @@ public class BlockRubberLog extends Block implements ITexturedBlock this.getDefaultState().withProperty(SAP_SIDE, EnumFacing.NORTH).withProperty(HAS_SAP, false)); this.setTickRandomly(true); this.setSoundType(SoundType.WOOD); + Blocks.FIRE.setFireInfo(this, 5, 5); } protected BlockStateContainer createBlockState() @@ -89,7 +91,7 @@ public class BlockRubberLog extends Block implements ITexturedBlock } if (state.getValue(HAS_SAP)) { - tempMeta += 3; + tempMeta += 4; } return tempMeta; } diff --git a/src/main/java/techreborn/blocks/BlockRubberPlank.java b/src/main/java/techreborn/blocks/BlockRubberPlank.java index d6401936f..46bb67e14 100644 --- a/src/main/java/techreborn/blocks/BlockRubberPlank.java +++ b/src/main/java/techreborn/blocks/BlockRubberPlank.java @@ -5,6 +5,7 @@ import net.minecraft.block.Block; import net.minecraft.block.SoundType; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; +import net.minecraft.init.Blocks; import net.minecraft.util.EnumFacing; import reborncore.RebornCore; import techreborn.client.TechRebornCreativeTabMisc; @@ -23,6 +24,7 @@ public class BlockRubberPlank extends Block implements ITexturedBlock setCreativeTab(TechRebornCreativeTabMisc.instance); this.setHardness(2.0F); this.setSoundType(SoundType.WOOD); + Blocks.FIRE.setFireInfo(this, 5, 20); } @Override diff --git a/src/main/java/techreborn/client/container/ContainerExtractor.java b/src/main/java/techreborn/client/container/ContainerExtractor.java index 74ad03583..24f748564 100644 --- a/src/main/java/techreborn/client/container/ContainerExtractor.java +++ b/src/main/java/techreborn/client/container/ContainerExtractor.java @@ -75,7 +75,7 @@ public class ContainerExtractor extends ContainerCrafting implements IContainerL this.player = player; } - + @Nullable @Override public EntityPlayer getPlayer() { return player; diff --git a/src/main/java/techreborn/init/ModRecipes.java b/src/main/java/techreborn/init/ModRecipes.java index f2b5715aa..44362a787 100644 --- a/src/main/java/techreborn/init/ModRecipes.java +++ b/src/main/java/techreborn/init/ModRecipes.java @@ -430,7 +430,9 @@ public class ModRecipes new GrinderRecipe(new ItemStack(Blocks.COBBLESTONE), new ItemStack(Blocks.SAND), ticktime, eutick)); RecipeHandler.addRecipe( new GrinderRecipe(new ItemStack(Blocks.GRAVEL), new ItemStack(Items.FLINT), ticktime, eutick)); - + RecipeHandler.addRecipe( + new GrinderRecipe(new ItemStack(Blocks.NETHERRACK), ItemDusts.getDustByName("netherrack"), ticktime, eutick)); + // TechReborn RecipeHandler.addRecipe( new GrinderRecipe(BlockOre2.getOreByName("copper"), ItemDusts.getDustByName("copper", 2), ticktime, eutick)); @@ -3412,9 +3414,9 @@ public class ModRecipes ItemDusts.getDustByName("chrome", 2), ItemCells.getCellByName("silicon", 3), ItemCells.getCellByName("empty", 6), 480, 120)); - RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe(ItemCells.getCellByName("empty", 6), null, - ItemCells.getCellByName("hydrogen", 4), ItemCells.getCellByName("empty", 5), - ItemCells.getCellByName("empty", 1), null, 100, 30)); +// RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe(ItemCells.getCellByName("empty", 6), null, +// ItemCells.getCellByName("hydrogen", 4), ItemCells.getCellByName("empty", 5), +// ItemCells.getCellByName("empty", 1), null, 100, 30)); RecipeHandler.addRecipe(new IndustrialElectrolyzerRecipe(ItemDusts.getDustByName("darkAshes"), ItemCells.getCellByName("empty", 2), ItemCells.getCellByName("carbon", 2), null, null, null, 20, 30)); From f4cd3fc818ba70d36ed22a42bea1a256bdfe6771 Mon Sep 17 00:00:00 2001 From: al132 Date: Mon, 18 Jul 2016 23:37:02 -0500 Subject: [PATCH 5/5] Leaves Constructor reverted --- src/main/java/techreborn/blocks/BlockRubberLeaves.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/techreborn/blocks/BlockRubberLeaves.java b/src/main/java/techreborn/blocks/BlockRubberLeaves.java index 45e942813..4cd9c8027 100644 --- a/src/main/java/techreborn/blocks/BlockRubberLeaves.java +++ b/src/main/java/techreborn/blocks/BlockRubberLeaves.java @@ -32,6 +32,7 @@ public class BlockRubberLeaves extends BlockLeaves implements ITexturedBlock, IO public BlockRubberLeaves() { + super(); setUnlocalizedName("techreborn.rubberleaves"); setCreativeTab(TechRebornCreativeTabMisc.instance); RebornCore.jsonDestroyer.registerObject(this);