From 4f05367f52f992d3953485a14559acd347248b35 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Tue, 11 Apr 2017 13:21:23 +0100 Subject: [PATCH] Got the upgrades working, just need the textures. --- .../builder/ContainerTileInventoryBuilder.java | 15 +++++++++++++++ src/main/java/techreborn/items/ItemUpgrades.java | 2 +- .../java/techreborn/tiles/teir1/TileGrinder.java | 5 +++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/main/java/techreborn/client/container/builder/ContainerTileInventoryBuilder.java b/src/main/java/techreborn/client/container/builder/ContainerTileInventoryBuilder.java index 4211b154c..1252eb08b 100644 --- a/src/main/java/techreborn/client/container/builder/ContainerTileInventoryBuilder.java +++ b/src/main/java/techreborn/client/container/builder/ContainerTileInventoryBuilder.java @@ -38,6 +38,7 @@ import net.minecraftforge.fluids.capability.CapabilityFluidHandler; import reborncore.api.power.IEnergyInterfaceItem; import reborncore.api.recipe.IRecipeCrafterProvider; import reborncore.api.tile.IUpgrade; +import reborncore.api.tile.IUpgradeable; import reborncore.client.gui.slots.BaseSlot; import reborncore.client.gui.slots.SlotFake; import reborncore.client.gui.slots.SlotOutput; @@ -61,6 +62,9 @@ public class ContainerTileInventoryBuilder { this.tile = tile; this.parent = parent; this.rangeStart = parent.slots.size(); + if(tile instanceof IUpgradeable){ + upgradeSlots((IUpgradeable) tile); + } } public ContainerTileInventoryBuilder slot(final int index, final int x, final int y) { @@ -105,12 +109,23 @@ public class ContainerTileInventoryBuilder { return this; } + @Deprecated public ContainerTileInventoryBuilder upgradeSlot(final int index, final int x, final int y) { this.parent.slots.add(new FilteredSlot(this.tile, index, x, y) .setFilter(stack -> stack.getItem() instanceof IUpgrade)); return this; } + private ContainerTileInventoryBuilder upgradeSlots(IUpgradeable upgradeable){ + if(upgradeable.canBeUpgraded()){ + for (int i = 0; i < upgradeable.getUpgradeSlotCount(); i++) { + this.parent.slots.add(new FilteredSlot(upgradeable.getUpgradeInvetory(), i, 0, i * 22) + .setFilter(stack -> stack.getItem() instanceof IUpgrade)); + } + } + return this; + } + /** * * @param supplier diff --git a/src/main/java/techreborn/items/ItemUpgrades.java b/src/main/java/techreborn/items/ItemUpgrades.java index 4a0d5f571..7c4dcc084 100644 --- a/src/main/java/techreborn/items/ItemUpgrades.java +++ b/src/main/java/techreborn/items/ItemUpgrades.java @@ -101,7 +101,7 @@ public class ItemUpgrades extends ItemTRNoDestroy implements IUpgrade { ItemStack stack) { if(crafter != null){ if (stack.getItemDamage() == 0) { - crafter.addSpeedMulti(0.2); + crafter.addSpeedMulti(0.25); crafter.addPowerMulti(0.5); } } diff --git a/src/main/java/techreborn/tiles/teir1/TileGrinder.java b/src/main/java/techreborn/tiles/teir1/TileGrinder.java index 86f13c87a..357cfacea 100644 --- a/src/main/java/techreborn/tiles/teir1/TileGrinder.java +++ b/src/main/java/techreborn/tiles/teir1/TileGrinder.java @@ -185,4 +185,9 @@ implements IWrenchable, IInventoryProvider, IRecipeCrafterProvider, IContainerPr .tile(this).slot(0, 55, 45).outputSlot(1, 101, 45).syncEnergyValue().syncCrafterValue().addInventory() .create(); } + + @Override + public boolean canBeUpgraded() { + return true; + } }