Improved crafter GUI
This commit is contained in:
@@ -10,15 +10,15 @@ public class ContainerCrafter extends ContainerStorage {
|
|||||||
public ContainerCrafter(EntityPlayer player, TileCrafter crafter) {
|
public ContainerCrafter(EntityPlayer player, TileCrafter crafter) {
|
||||||
super(player);
|
super(player);
|
||||||
|
|
||||||
for (int i = 0; i < TileCrafter.PATTERN_SLOTS; ++i) {
|
for (int i = 0; i < 9; ++i) {
|
||||||
addSlotToContainer(new SlotItemHandler(crafter.getPatterns(), i, 8, 19 + (i * 18)));
|
addSlotToContainer(new SlotItemHandler(crafter.getPatterns(), i, 8 + (18 * i), 20));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < 4; ++i) {
|
for (int i = 0; i < 4; ++i) {
|
||||||
addSlotToContainer(new SlotItemHandler(crafter.getUpgrades(), i, 187, 6 + (i * 18)));
|
addSlotToContainer(new SlotItemHandler(crafter.getUpgrades(), i, 187, 6 + (i * 18)));
|
||||||
}
|
}
|
||||||
|
|
||||||
addPlayerInventory(8, 144);
|
addPlayerInventory(8, 55);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,19 +1,14 @@
|
|||||||
package refinedstorage.gui;
|
package refinedstorage.gui;
|
||||||
|
|
||||||
import net.minecraft.client.renderer.GlStateManager;
|
|
||||||
import net.minecraft.client.renderer.RenderHelper;
|
|
||||||
import net.minecraft.item.ItemStack;
|
|
||||||
import refinedstorage.RefinedStorageUtils;
|
|
||||||
import refinedstorage.container.ContainerCrafter;
|
import refinedstorage.container.ContainerCrafter;
|
||||||
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
import refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||||
import refinedstorage.item.ItemPattern;
|
|
||||||
import refinedstorage.tile.TileCrafter;
|
import refinedstorage.tile.TileCrafter;
|
||||||
|
|
||||||
public class GuiCrafter extends GuiBase {
|
public class GuiCrafter extends GuiBase {
|
||||||
private TileCrafter crafter;
|
private TileCrafter crafter;
|
||||||
|
|
||||||
public GuiCrafter(ContainerCrafter container, TileCrafter crafter) {
|
public GuiCrafter(ContainerCrafter container, TileCrafter crafter) {
|
||||||
super(container, 211, 226);
|
super(container, 211, 137);
|
||||||
|
|
||||||
this.crafter = crafter;
|
this.crafter = crafter;
|
||||||
}
|
}
|
||||||
@@ -37,35 +32,6 @@ public class GuiCrafter extends GuiBase {
|
|||||||
@Override
|
@Override
|
||||||
public void drawForeground(int mouseX, int mouseY) {
|
public void drawForeground(int mouseX, int mouseY) {
|
||||||
drawString(7, 7, t("gui.refinedstorage:crafter"));
|
drawString(7, 7, t("gui.refinedstorage:crafter"));
|
||||||
drawString(7, 131, t("container.inventory"));
|
drawString(7, 43, t("container.inventory"));
|
||||||
|
|
||||||
RenderHelper.enableGUIStandardItemLighting();
|
|
||||||
|
|
||||||
for (int i = 0; i < TileCrafter.PATTERN_SLOTS; ++i) {
|
|
||||||
int x = 27;
|
|
||||||
int y = 19 + (i * 18);
|
|
||||||
|
|
||||||
ItemStack pattern = crafter.getPatterns().getStackInSlot(i);
|
|
||||||
|
|
||||||
if (pattern != null && ItemPattern.isValid(pattern)) {
|
|
||||||
String text = t("gui.refinedstorage:crafter.processing");
|
|
||||||
|
|
||||||
if (!ItemPattern.isProcessing(pattern)) {
|
|
||||||
ItemStack result = ItemPattern.getOutputs(pattern)[0];
|
|
||||||
|
|
||||||
drawItem(x, y, result);
|
|
||||||
|
|
||||||
text = result.getDisplayName();
|
|
||||||
}
|
|
||||||
|
|
||||||
float scale = 0.5f;
|
|
||||||
|
|
||||||
GlStateManager.pushMatrix();
|
|
||||||
GlStateManager.scale(scale, scale, 1);
|
|
||||||
|
|
||||||
drawString(RefinedStorageUtils.calculateOffsetOnScale(x + (ItemPattern.isProcessing(pattern) ? 1 : 20), scale), RefinedStorageUtils.calculateOffsetOnScale(y + 6, scale), text);
|
|
||||||
GlStateManager.popMatrix();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import refinedstorage.item.ItemPattern;
|
|||||||
import refinedstorage.item.ItemUpgrade;
|
import refinedstorage.item.ItemUpgrade;
|
||||||
|
|
||||||
public class TileCrafter extends TileMachine {
|
public class TileCrafter extends TileMachine {
|
||||||
private BasicItemHandler patterns = new BasicItemHandler(PATTERN_SLOTS, this, new IItemValidator() {
|
private BasicItemHandler patterns = new BasicItemHandler(9, this, new IItemValidator() {
|
||||||
@Override
|
@Override
|
||||||
public boolean valid(ItemStack stack) {
|
public boolean valid(ItemStack stack) {
|
||||||
return stack.getItem() == RefinedStorageItems.PATTERN && ItemPattern.isValid(stack);
|
return stack.getItem() == RefinedStorageItems.PATTERN && ItemPattern.isValid(stack);
|
||||||
@@ -29,8 +29,6 @@ public class TileCrafter extends TileMachine {
|
|||||||
|
|
||||||
private BasicItemHandler upgrades = new BasicItemHandler(4, this, new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_SPEED));
|
private BasicItemHandler upgrades = new BasicItemHandler(4, this, new BasicItemValidator(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_SPEED));
|
||||||
|
|
||||||
public static final int PATTERN_SLOTS = 6;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getEnergyUsage() {
|
public int getEnergyUsage() {
|
||||||
return 2 + RefinedStorageUtils.getUpgradeEnergyUsage(upgrades);
|
return 2 + RefinedStorageUtils.getUpgradeEnergyUsage(upgrades);
|
||||||
|
|||||||
@@ -302,7 +302,7 @@ public class TileController extends TileBase implements IEnergyReceiver, ISynchr
|
|||||||
if (machine instanceof TileCrafter) {
|
if (machine instanceof TileCrafter) {
|
||||||
TileCrafter crafter = (TileCrafter) machine;
|
TileCrafter crafter = (TileCrafter) machine;
|
||||||
|
|
||||||
for (int i = 0; i < TileCrafter.PATTERN_SLOTS; ++i) {
|
for (int i = 0; i < crafter.getPatterns().getSlots(); ++i) {
|
||||||
ItemStack pattern = crafter.getPatterns().getStackInSlot(i);
|
ItemStack pattern = crafter.getPatterns().getStackInSlot(i);
|
||||||
|
|
||||||
if (pattern != null && ItemPattern.isValid(pattern)) {
|
if (pattern != null && ItemPattern.isValid(pattern)) {
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Reference in New Issue
Block a user