Graphical User Interfaces

This commit is contained in:
raoulvdberge
2019-09-11 19:38:05 +02:00
parent 64b309d136
commit cfaec1775d
28 changed files with 241 additions and 244 deletions

View File

@@ -1,20 +1,17 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.google.common.primitives.Ints; import com.google.common.primitives.Ints;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.container.ContainerAmount; import com.raoulvdberge.refinedstorage.container.ContainerAmount;
import com.raoulvdberge.refinedstorage.network.MessageSlotFilterSet;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.items.ItemHandlerHelper;
public class GuiAmount extends GuiAmountSpecifying { public class GuiAmount extends GuiAmountSpecifying<ContainerAmount> {
private int containerSlot; private int containerSlot;
private ItemStack stack; private ItemStack stack;
private int maxAmount; private int maxAmount;
public GuiAmount(GuiBase parent, PlayerEntity player, int containerSlot, ItemStack stack, int maxAmount) { public GuiAmount(GuiBase parent, PlayerEntity player, int containerSlot, ItemStack stack, int maxAmount) {
super(parent, new ContainerAmount(player, stack), 172, 99); super(parent, new ContainerAmount(player, stack), 172, 99, player.inventory);
this.containerSlot = containerSlot; this.containerSlot = containerSlot;
this.stack = stack; this.stack = stack;
@@ -42,7 +39,7 @@ public class GuiAmount extends GuiAmountSpecifying {
} }
@Override @Override
protected String getTitle() { protected String getGuiTitle() {
return t("gui.refinedstorage:item_amount"); return t("gui.refinedstorage:item_amount");
} }
@@ -64,7 +61,7 @@ public class GuiAmount extends GuiAmountSpecifying {
Integer amount = Ints.tryParse(amountField.getText()); Integer amount = Ints.tryParse(amountField.getText());
if (amount != null) { if (amount != null) {
RS.INSTANCE.network.sendToServer(new MessageSlotFilterSet(containerSlot, ItemHandlerHelper.copyStackWithSize(stack, amount))); // TODO RS.INSTANCE.network.sendToServer(new MessageSlotFilterSet(containerSlot, ItemHandlerHelper.copyStackWithSize(stack, amount)));
close(); close();
} }

View File

@@ -1,34 +1,30 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.google.common.primitives.Ints; import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.widget.button.Button;
import net.minecraft.client.gui.GuiTextField; import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.Container; import net.minecraft.inventory.container.Container;
import net.minecraftforge.fml.client.FMLClientHandler;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
import org.lwjgl.input.Keyboard;
import java.io.IOException; public abstract class GuiAmountSpecifying<T extends Container> extends GuiBase<T> {
protected TextFieldWidget amountField;
public abstract class GuiAmountSpecifying extends GuiBase {
protected GuiTextField amountField;
private GuiBase parent; private GuiBase parent;
protected GuiButton okButton; protected Button okButton;
private GuiButton cancelButton; private Button cancelButton;
private GuiButton[] incrementButtons = new GuiButton[6]; private Button[] incrementButtons = new Button[6];
public GuiAmountSpecifying(GuiBase parent, Container container, int width, int height) { public GuiAmountSpecifying(GuiBase parent, T container, int width, int height, PlayerInventory playerInventory) {
super(container, width, height); super(container, width, height, playerInventory, null);
this.parent = parent; this.parent = parent;
} }
protected abstract String getOkButtonText(); protected abstract String getOkButtonText();
protected abstract String getTitle(); protected abstract String getGuiTitle();
protected abstract String getTexture(); protected abstract String getTexture();
@@ -55,13 +51,13 @@ public abstract class GuiAmountSpecifying extends GuiBase {
okButton = addButton(x + pos.getLeft(), y + pos.getRight(), 50, 20, getOkButtonText()); okButton = addButton(x + pos.getLeft(), y + pos.getRight(), 50, 20, getOkButtonText());
cancelButton = addButton(x + pos.getLeft(), y + pos.getRight() + 24, 50, 20, t("gui.cancel")); cancelButton = addButton(x + pos.getLeft(), y + pos.getRight() + 24, 50, 20, t("gui.cancel"));
amountField = new GuiTextField(0, fontRenderer, x + getAmountPos().getLeft(), y + getAmountPos().getRight(), 69 - 6, fontRenderer.FONT_HEIGHT); amountField = new TextFieldWidget(font, x + getAmountPos().getLeft(), y + getAmountPos().getRight(), 69 - 6, font.FONT_HEIGHT, "");
amountField.setEnableBackgroundDrawing(false); amountField.setEnableBackgroundDrawing(false);
amountField.setVisible(true); amountField.setVisible(true);
amountField.setText(String.valueOf(getDefaultAmount())); amountField.setText(String.valueOf(getDefaultAmount()));
amountField.setTextColor(16777215); amountField.setTextColor(16777215);
amountField.setCanLoseFocus(false); amountField.setCanLoseFocus(false);
amountField.setFocused(true); amountField.setFocused2(true);
int[] increments = getIncrements(); int[] increments = getIncrements();
@@ -106,14 +102,15 @@ public abstract class GuiAmountSpecifying extends GuiBase {
drawTexture(x, y, 0, 0, screenWidth, screenHeight); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
amountField.drawTextBox(); amountField.renderButton(0, 0, 0);
} }
@Override @Override
public void drawForeground(int mouseX, int mouseY) { public void drawForeground(int mouseX, int mouseY) {
drawString(7, 7, getTitle()); drawString(7, 7, getGuiTitle());
} }
/* TODO
@Override @Override
protected void keyTyped(char character, int keyCode) throws IOException { protected void keyTyped(char character, int keyCode) throws IOException {
if (!checkHotbarKeys(keyCode) && amountField.textboxKeyTyped(character, keyCode)) { if (!checkHotbarKeys(keyCode) && amountField.textboxKeyTyped(character, keyCode)) {
@@ -172,14 +169,14 @@ public abstract class GuiAmountSpecifying extends GuiBase {
} }
} }
} }
} }*/
protected void onOkButtonPressed(boolean shiftDown) { protected void onOkButtonPressed(boolean shiftDown) {
// NO OP // NO OP
} }
public void close() { public void close() {
FMLClientHandler.instance().showGuiScreen(parent); // TODO FMLClientHandler.instance().showGuiScreen(parent);
} }
public GuiBase getParent() { public GuiBase getParent() {

View File

@@ -75,7 +75,6 @@ public abstract class GuiBase<T extends Container> extends ContainerScreen {
public GuiBase(T container, int screenWidth, int screenHeight, PlayerInventory inventory, ITextComponent title) { public GuiBase(T container, int screenWidth, int screenHeight, PlayerInventory inventory, ITextComponent title) {
super(container, inventory, title); super(container, inventory, title);
this.screenWidth = screenWidth; this.screenWidth = screenWidth;
this.screenHeight = screenHeight; this.screenHeight = screenHeight;
this.xSize = screenWidth; this.xSize = screenWidth;
@@ -329,7 +328,7 @@ public abstract class GuiBase<T extends Container> extends ContainerScreen {
return button; return button;
} }
public boolean inBounds(int x, int y, int w, int h, int ox, int oy) { public boolean inBounds(int x, int y, int w, int h, double ox, double oy) {
return ox >= x && ox <= x + w && oy >= y && oy <= y + h; return ox >= x && ox <= x + w && oy >= y && oy <= y + h;
} }

View File

@@ -1,17 +1,18 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.mojang.blaze3d.platform.GlStateManager;
import com.raoulvdberge.refinedstorage.container.ContainerController; import com.raoulvdberge.refinedstorage.container.ContainerController;
import com.raoulvdberge.refinedstorage.gui.control.Scrollbar; import com.raoulvdberge.refinedstorage.gui.control.Scrollbar;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.tile.ClientNode; import com.raoulvdberge.refinedstorage.tile.ClientNode;
import com.raoulvdberge.refinedstorage.tile.TileController; import com.raoulvdberge.refinedstorage.tile.TileController;
import com.raoulvdberge.refinedstorage.util.RenderUtils; import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.entity.player.PlayerInventory;
import java.util.List; import java.util.List;
public class GuiController extends GuiBase { public class GuiController extends GuiBase<ContainerController> {
private static final int VISIBLE_ROWS = 2; private static final int VISIBLE_ROWS = 2;
private TileController controller; private TileController controller;
@@ -21,8 +22,8 @@ public class GuiController extends GuiBase {
private int barWidth = 16; private int barWidth = 16;
private int barHeight = 59; private int barHeight = 59;
public GuiController(ContainerController container, TileController controller) { public GuiController(ContainerController container, PlayerInventory inventory, TileController controller) {
super(container, 176, 181); super(container, 176, 181, inventory, null);
this.controller = controller; this.controller = controller;
@@ -75,12 +76,16 @@ public class GuiController extends GuiBase {
drawItem(x, y + 5, node.getStack()); drawItem(x, y + 5, node.getStack());
float scale = fontRenderer.getUnicodeFlag() ? 1F : 0.5F; float scale = /*TODO fontRenderer.getUnicodeFlag() ? 1F :*/ 0.5F;
GlStateManager.pushMatrix(); GlStateManager.pushMatrix();
GlStateManager.scale(scale, scale, 1); GlStateManager.scalef(scale, scale, 1);
drawString(RenderUtils.getOffsetOnScale(x + 1, scale), RenderUtils.getOffsetOnScale(y - 2, scale), trimNameIfNeeded(!fontRenderer.getUnicodeFlag(), node.getStack().getDisplayName())); drawString(
RenderUtils.getOffsetOnScale(x + 1, scale),
RenderUtils.getOffsetOnScale(y - 2, scale),
trimNameIfNeeded(/*TODO !fontRenderer.getUnicodeFlag()*/false, node.getStack().getDisplayName().getString()) // TODO
);
drawString(RenderUtils.getOffsetOnScale(x + 21, scale), RenderUtils.getOffsetOnScale(y + 10, scale), node.getAmount() + "x"); drawString(RenderUtils.getOffsetOnScale(x + 21, scale), RenderUtils.getOffsetOnScale(y + 10, scale), node.getAmount() + "x");
GlStateManager.popMatrix(); GlStateManager.popMatrix();

View File

@@ -3,10 +3,11 @@ package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.container.ContainerCrafter; import com.raoulvdberge.refinedstorage.container.ContainerCrafter;
import com.raoulvdberge.refinedstorage.tile.TileCrafter; import com.raoulvdberge.refinedstorage.tile.TileCrafter;
import com.raoulvdberge.refinedstorage.util.RenderUtils; import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.entity.player.PlayerInventory;
public class GuiCrafter extends GuiBase { public class GuiCrafter extends GuiBase<ContainerCrafter> {
public GuiCrafter(ContainerCrafter container) { public GuiCrafter(ContainerCrafter container, PlayerInventory inventory) {
super(container, 211, 137); super(container, 211, 137, inventory, null);
} }
@Override @Override

View File

@@ -1,5 +1,6 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.mojang.blaze3d.platform.GlStateManager;
import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid; import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCrafterManager; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCrafterManager;
@@ -9,23 +10,21 @@ import com.raoulvdberge.refinedstorage.gui.control.*;
import com.raoulvdberge.refinedstorage.tile.TileCrafterManager; import com.raoulvdberge.refinedstorage.tile.TileCrafterManager;
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager; import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
import com.raoulvdberge.refinedstorage.util.RenderUtils; import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
import net.minecraft.inventory.Slot; import net.minecraft.entity.player.PlayerInventory;
import yalter.mousetweaks.api.MouseTweaksDisableWheelTweak; import net.minecraft.inventory.container.Slot;
import java.io.IOException;
import java.util.Map; import java.util.Map;
@MouseTweaksDisableWheelTweak // TODO @MouseTweaksDisableWheelTweak
public class GuiCrafterManager extends GuiBase implements IResizableDisplay { public class GuiCrafterManager extends GuiBase<ContainerCrafterManager> implements IResizableDisplay {
private ContainerCrafterManager container; private ContainerCrafterManager container;
private NetworkNodeCrafterManager crafterManager; private NetworkNodeCrafterManager crafterManager;
private TextFieldSearch searchField; private TextFieldSearch searchField;
public GuiCrafterManager(NetworkNodeCrafterManager crafterManager) { public GuiCrafterManager(PlayerInventory inventory, NetworkNodeCrafterManager crafterManager) {
super(null, 193, 0); super(null, 193, 0, inventory, null);
this.crafterManager = crafterManager; this.crafterManager = crafterManager;
} }
@@ -36,7 +35,6 @@ public class GuiCrafterManager extends GuiBase implements IResizableDisplay {
public void setContainer(ContainerCrafterManager container) { public void setContainer(ContainerCrafterManager container) {
this.container = container; this.container = container;
this.inventorySlots = container;
} }
@Override @Override
@@ -110,7 +108,7 @@ public class GuiCrafterManager extends GuiBase implements IResizableDisplay {
int sy = y + 6 + 1; int sy = y + 6 + 1;
if (searchField == null) { if (searchField == null) {
searchField = new TextFieldSearch(0, fontRenderer, sx, sy, 88 - 6); searchField = new TextFieldSearch(font, sx, sy, 88 - 6);
searchField.addListener(() -> container.initSlots(null)); searchField.addListener(() -> container.initSlots(null));
searchField.setMode(crafterManager.getSearchBoxMode()); searchField.setMode(crafterManager.getSearchBoxMode());
} else { } else {
@@ -154,19 +152,22 @@ public class GuiCrafterManager extends GuiBase implements IResizableDisplay {
} }
if (searchField != null) { if (searchField != null) {
searchField.drawTextBox(); // TODO render searchField.render();
} }
} }
@Override @Override
public void mouseClicked(int mouseX, int mouseY, int clickedButton) throws IOException { public boolean mouseClicked(double mouseX, double mouseY, int clickedButton) {
super.mouseClicked(mouseX, mouseY, clickedButton); boolean clicked = searchField.mouseClicked(mouseX, mouseY, clickedButton);
if (searchField != null) { if (clicked) {
searchField.mouseClicked(mouseX, mouseY, clickedButton); return true;
} }
return super.mouseClicked(mouseX, mouseY, clickedButton);
} }
/* TODO
@Override @Override
protected void keyTyped(char character, int keyCode) throws IOException { protected void keyTyped(char character, int keyCode) throws IOException {
if (searchField == null) { if (searchField == null) {
@@ -180,7 +181,7 @@ public class GuiCrafterManager extends GuiBase implements IResizableDisplay {
} else { } else {
super.keyTyped(character, keyCode); super.keyTyped(character, keyCode);
} }
} }*/
@Override @Override
public void drawForeground(int mouseX, int mouseY) { public void drawForeground(int mouseX, int mouseY) {
@@ -193,11 +194,11 @@ public class GuiCrafterManager extends GuiBase implements IResizableDisplay {
if (y >= getTopHeight() - 1 && y < getTopHeight() + getVisibleRows() * 18 - 1) { if (y >= getTopHeight() - 1 && y < getTopHeight() + getVisibleRows() * 18 - 1) {
GlStateManager.disableLighting(); GlStateManager.disableLighting();
GlStateManager.color(1, 1, 1); GlStateManager.color3f(1, 1, 1);
bindTexture("gui/crafter_manager.png"); bindTexture("gui/crafter_manager.png");
drawTexturedModalRect(7, y, 0, 174, 18 * 9, 18); drawTexture(7, y, 0, 174, 18 * 9, 18);
drawString(7 + 4, y + 6, RenderUtils.shorten(I18n.format(heading.getKey()), 25)); drawString(7 + 4, y + 6, RenderUtils.shorten(I18n.format(heading.getKey()), 25));
} }

View File

@@ -2,7 +2,7 @@ package com.raoulvdberge.refinedstorage.gui;
import com.google.common.base.Optional; import com.google.common.base.Optional;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.raoulvdberge.refinedstorage.RS; import com.mojang.blaze3d.platform.GlStateManager;
import com.raoulvdberge.refinedstorage.api.autocrafting.craftingmonitor.ICraftingMonitorElement; import com.raoulvdberge.refinedstorage.api.autocrafting.craftingmonitor.ICraftingMonitorElement;
import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingRequestInfo; import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingRequestInfo;
import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab; import com.raoulvdberge.refinedstorage.api.network.grid.IGridTab;
@@ -14,33 +14,31 @@ import com.raoulvdberge.refinedstorage.container.ContainerCraftingMonitor;
import com.raoulvdberge.refinedstorage.gui.control.Scrollbar; import com.raoulvdberge.refinedstorage.gui.control.Scrollbar;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.gui.control.TabList; import com.raoulvdberge.refinedstorage.gui.control.TabList;
import com.raoulvdberge.refinedstorage.network.MessageCraftingMonitorCancel;
import com.raoulvdberge.refinedstorage.tile.craftingmonitor.ICraftingMonitor; import com.raoulvdberge.refinedstorage.tile.craftingmonitor.ICraftingMonitor;
import com.raoulvdberge.refinedstorage.util.RenderUtils; import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.widget.button.Button;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.io.IOException;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
public class GuiCraftingMonitor extends GuiBase { public class GuiCraftingMonitor extends GuiBase<ContainerCraftingMonitor> {
public class CraftingMonitorElementDrawers extends ElementDrawers { public class CraftingMonitorElementDrawers extends ElementDrawers {
private IElementDrawer<Integer> overlayDrawer = (x, y, color) -> { private IElementDrawer<Integer> overlayDrawer = (x, y, color) -> {
GlStateManager.color(1, 1, 1, 1); GlStateManager.color4f(1, 1, 1, 1);
GlStateManager.disableLighting(); GlStateManager.disableLighting();
drawRect(x, y, x + ITEM_WIDTH, y + ITEM_HEIGHT, color); fill(x, y, x + ITEM_WIDTH, y + ITEM_HEIGHT, color);
}; };
private IElementDrawer errorDrawer = (x, y, nothing) -> { private IElementDrawer errorDrawer = (x, y, nothing) -> {
GlStateManager.color(1, 1, 1, 1); GlStateManager.color4f(1, 1, 1, 1);
GlStateManager.disableLighting(); GlStateManager.disableLighting();
bindTexture("gui/crafting_preview.png"); bindTexture("gui/crafting_preview.png");
@@ -83,7 +81,7 @@ public class GuiCraftingMonitor extends GuiBase {
@Override @Override
public void drawTooltip(int x, int y, int screenWidth, int screenHeight, FontRenderer fontRenderer) { public void drawTooltip(int x, int y, int screenWidth, int screenHeight, FontRenderer fontRenderer) {
List<String> textLines = Lists.newArrayList(requested.getItem() != null ? requested.getItem().getDisplayName() : requested.getFluid().getLocalizedName()); List<String> textLines = Lists.newArrayList(requested.getItem() != null ? requested.getItem().getDisplayName().getFormattedText() : requested.getFluid().getDisplayName().getFormattedText()); // TODO
List<String> smallTextLines = Lists.newArrayList(); List<String> smallTextLines = Lists.newArrayList();
int totalSecs = (int) (System.currentTimeMillis() - executionStarted) / 1000; int totalSecs = (int) (System.currentTimeMillis() - executionStarted) / 1000;
@@ -106,7 +104,7 @@ public class GuiCraftingMonitor extends GuiBase {
} else { } else {
fluidDrawer.draw(x, y, requested.getFluid()); fluidDrawer.draw(x, y, requested.getFluid());
GlStateManager.enableAlpha(); GlStateManager.enableAlphaTest();
} }
} }
} }
@@ -116,8 +114,8 @@ public class GuiCraftingMonitor extends GuiBase {
private static final int ITEM_WIDTH = 73; private static final int ITEM_WIDTH = 73;
private static final int ITEM_HEIGHT = 29; private static final int ITEM_HEIGHT = 29;
private GuiButton cancelButton; private Button cancelButton;
private GuiButton cancelAllButton; private Button cancelAllButton;
private ICraftingMonitor craftingMonitor; private ICraftingMonitor craftingMonitor;
@@ -126,8 +124,8 @@ public class GuiCraftingMonitor extends GuiBase {
private IElementDrawers drawers = new CraftingMonitorElementDrawers(); private IElementDrawers drawers = new CraftingMonitorElementDrawers();
public GuiCraftingMonitor(ContainerCraftingMonitor container, ICraftingMonitor craftingMonitor) { public GuiCraftingMonitor(ContainerCraftingMonitor container, ICraftingMonitor craftingMonitor, PlayerInventory inventory) {
super(container, 254, 201); super(container, 254, 201, inventory, null);
this.craftingMonitor = craftingMonitor; this.craftingMonitor = craftingMonitor;
@@ -187,8 +185,8 @@ public class GuiCraftingMonitor extends GuiBase {
String cancel = t("gui.cancel"); String cancel = t("gui.cancel");
String cancelAll = t("misc.refinedstorage:cancel_all"); String cancelAll = t("misc.refinedstorage:cancel_all");
int cancelButtonWidth = 14 + fontRenderer.getStringWidth(cancel); int cancelButtonWidth = 14 + font.getStringWidth(cancel);
int cancelAllButtonWidth = 14 + fontRenderer.getStringWidth(cancelAll); int cancelAllButtonWidth = 14 + font.getStringWidth(cancelAll);
this.cancelButton = addButton(x + 7, y + 201 - 20 - 7, cancelButtonWidth, 20, cancel, false, true); this.cancelButton = addButton(x + 7, y + 201 - 20 - 7, cancelButtonWidth, 20, cancel, false, true);
this.cancelAllButton = addButton(x + 7 + cancelButtonWidth + 4, y + 201 - 20 - 7, cancelAllButtonWidth, 20, cancelAll, false, true); this.cancelAllButton = addButton(x + 7 + cancelButtonWidth + 4, y + 201 - 20 - 7, cancelAllButtonWidth, 20, cancelAll, false, true);
@@ -212,11 +210,11 @@ public class GuiCraftingMonitor extends GuiBase {
this.tabs.update(); this.tabs.update();
if (cancelButton != null) { if (cancelButton != null) {
cancelButton.enabled = hasValidTabSelected(); cancelButton.active = hasValidTabSelected(); // TODO is it active?
} }
if (cancelAllButton != null) { if (cancelAllButton != null) {
cancelAllButton.enabled = tasks.size() > 0; cancelAllButton.active = tasks.size() > 0; // TODO is it active?
} }
} }
@@ -299,9 +297,10 @@ public class GuiCraftingMonitor extends GuiBase {
drawTooltip(mouseX, mouseY, I18n.format(itemSelectedTooltip)); drawTooltip(mouseX, mouseY, I18n.format(itemSelectedTooltip));
} }
tabs.drawTooltip(fontRenderer, mouseX, mouseY); tabs.drawTooltip(font, mouseX, mouseY);
} }
/* TODO
@Override @Override
protected void actionPerformed(GuiButton button) throws IOException { protected void actionPerformed(GuiButton button) throws IOException {
super.actionPerformed(button); super.actionPerformed(button);
@@ -313,12 +312,14 @@ public class GuiCraftingMonitor extends GuiBase {
} else if (button == cancelAllButton && tasks.size() > 0) { } else if (button == cancelAllButton && tasks.size() > 0) {
RS.INSTANCE.network.sendToServer(new MessageCraftingMonitorCancel(null)); RS.INSTANCE.network.sendToServer(new MessageCraftingMonitorCancel(null));
} }
} }*/
@Override @Override
protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException { public boolean mouseClicked(double mouseX, double mouseY, int mouseButton) {
super.mouseClicked(mouseX, mouseY, mouseButton); if (super.mouseClicked(mouseX, mouseY, mouseButton)) {
return true;
}
this.tabs.mouseClicked(); return this.tabs.mouseClicked();
} }
} }

View File

@@ -4,10 +4,11 @@ import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.ContainerDestructor; import com.raoulvdberge.refinedstorage.container.ContainerDestructor;
import com.raoulvdberge.refinedstorage.gui.control.*; import com.raoulvdberge.refinedstorage.gui.control.*;
import com.raoulvdberge.refinedstorage.tile.TileDestructor; import com.raoulvdberge.refinedstorage.tile.TileDestructor;
import net.minecraft.entity.player.PlayerInventory;
public class GuiDestructor extends GuiBase { public class GuiDestructor extends GuiBase<ContainerDestructor> {
public GuiDestructor(ContainerDestructor container) { public GuiDestructor(ContainerDestructor container, PlayerInventory playerInventory) {
super(container, 211, 137); super(container, 211, 137, playerInventory, null);
} }
@Override @Override
@@ -18,7 +19,6 @@ public class GuiDestructor extends GuiBase {
addSideButton(new SideButtonMode(this, TileDestructor.MODE)); addSideButton(new SideButtonMode(this, TileDestructor.MODE));
addSideButton(new SideButtonCompare(this, TileDestructor.COMPARE, IComparer.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(this, TileDestructor.COMPARE, IComparer.COMPARE_NBT)); addSideButton(new SideButtonCompare(this, TileDestructor.COMPARE, IComparer.COMPARE_NBT));
addSideButton(new SideButtonDestructorPickup(this)); addSideButton(new SideButtonDestructorPickup(this));

View File

@@ -1,22 +1,19 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.google.common.primitives.Ints;
import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.ContainerDetector; import com.raoulvdberge.refinedstorage.container.ContainerDetector;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonCompare; import com.raoulvdberge.refinedstorage.gui.control.SideButtonCompare;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonDetectorMode; import com.raoulvdberge.refinedstorage.gui.control.SideButtonDetectorMode;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonType; import com.raoulvdberge.refinedstorage.gui.control.SideButtonType;
import com.raoulvdberge.refinedstorage.tile.TileDetector; import com.raoulvdberge.refinedstorage.tile.TileDetector;
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager; import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.gui.GuiTextField; import net.minecraft.entity.player.PlayerInventory;
import java.io.IOException; public class GuiDetector extends GuiBase<ContainerDetector> {
private TextFieldWidget amount;
public class GuiDetector extends GuiBase { public GuiDetector(ContainerDetector container, PlayerInventory inventory) {
private GuiTextField amount; super(container, 176, 137, inventory, null);
public GuiDetector(ContainerDetector container) {
super(container, 176, 137);
} }
@Override @Override
@@ -25,16 +22,15 @@ public class GuiDetector extends GuiBase {
addSideButton(new SideButtonDetectorMode(this)); addSideButton(new SideButtonDetectorMode(this));
addSideButton(new SideButtonCompare(this, TileDetector.COMPARE, IComparer.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(this, TileDetector.COMPARE, IComparer.COMPARE_NBT)); addSideButton(new SideButtonCompare(this, TileDetector.COMPARE, IComparer.COMPARE_NBT));
amount = new GuiTextField(0, fontRenderer, x + 41 + 1, y + 23 + 1, 50, fontRenderer.FONT_HEIGHT); amount = new TextFieldWidget(font, x + 41 + 1, y + 23 + 1, 50, font.FONT_HEIGHT, "");
amount.setText(String.valueOf(TileDetector.AMOUNT.getValue())); amount.setText(String.valueOf(TileDetector.AMOUNT.getValue()));
amount.setEnableBackgroundDrawing(false); amount.setEnableBackgroundDrawing(false);
amount.setVisible(true); amount.setVisible(true);
amount.setTextColor(16777215); amount.setTextColor(16777215);
amount.setCanLoseFocus(true); amount.setCanLoseFocus(true);
amount.setFocused(false); amount.setFocused2(false);
} }
@Override @Override
@@ -47,7 +43,7 @@ public class GuiDetector extends GuiBase {
drawTexture(x, y, 0, 0, screenWidth, screenHeight); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
amount.drawTextBox(); amount.renderButton(0, 0, 0);
} }
@Override @Override
@@ -56,6 +52,7 @@ public class GuiDetector extends GuiBase {
drawString(7, 43, t("container.inventory")); drawString(7, 43, t("container.inventory"));
} }
/* TODO
@Override @Override
protected void keyTyped(char character, int keyCode) throws IOException { protected void keyTyped(char character, int keyCode) throws IOException {
if (!checkHotbarKeys(keyCode) && amount.textboxKeyTyped(character, keyCode)) { if (!checkHotbarKeys(keyCode) && amount.textboxKeyTyped(character, keyCode)) {
@@ -74,9 +71,9 @@ public class GuiDetector extends GuiBase {
super.mouseClicked(mouseX, mouseY, mouseButton); super.mouseClicked(mouseX, mouseY, mouseButton);
amount.mouseClicked(mouseX, mouseY, mouseButton); amount.mouseClicked(mouseX, mouseY, mouseButton);
} }*/
public GuiTextField getAmount() { public TextFieldWidget getAmount() {
return amount; return amount;
} }
} }

View File

@@ -4,10 +4,11 @@ import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.ContainerDiskManipulator; import com.raoulvdberge.refinedstorage.container.ContainerDiskManipulator;
import com.raoulvdberge.refinedstorage.gui.control.*; import com.raoulvdberge.refinedstorage.gui.control.*;
import com.raoulvdberge.refinedstorage.tile.TileDiskManipulator; import com.raoulvdberge.refinedstorage.tile.TileDiskManipulator;
import net.minecraft.entity.player.PlayerInventory;
public class GuiDiskManipulator extends GuiBase { public class GuiDiskManipulator extends GuiBase<ContainerDiskManipulator> {
public GuiDiskManipulator(ContainerDiskManipulator container) { public GuiDiskManipulator(ContainerDiskManipulator container, PlayerInventory playerInventory) {
super(container, 211, 211); super(container, 211, 211, playerInventory, null);
} }
@Override @Override
@@ -16,7 +17,6 @@ public class GuiDiskManipulator extends GuiBase {
addSideButton(new SideButtonIOMode(this)); addSideButton(new SideButtonIOMode(this));
addSideButton(new SideButtonType(this, TileDiskManipulator.TYPE)); addSideButton(new SideButtonType(this, TileDiskManipulator.TYPE));
addSideButton(new SideButtonMode(this, TileDiskManipulator.MODE)); addSideButton(new SideButtonMode(this, TileDiskManipulator.MODE));
addSideButton(new SideButtonCompare(this, TileDiskManipulator.COMPARE, IComparer.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(this, TileDiskManipulator.COMPARE, IComparer.COMPARE_NBT)); addSideButton(new SideButtonCompare(this, TileDiskManipulator.COMPARE, IComparer.COMPARE_NBT));
} }

View File

@@ -6,10 +6,11 @@ import com.raoulvdberge.refinedstorage.gui.control.SideButtonCompare;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonType; import com.raoulvdberge.refinedstorage.gui.control.SideButtonType;
import com.raoulvdberge.refinedstorage.tile.TileExporter; import com.raoulvdberge.refinedstorage.tile.TileExporter;
import net.minecraft.entity.player.PlayerInventory;
public class GuiExporter extends GuiBase { public class GuiExporter extends GuiBase<ContainerExporter> {
public GuiExporter(ContainerExporter container) { public GuiExporter(ContainerExporter container, PlayerInventory playerInventory) {
super(container, 211, 137); super(container, 211, 137, playerInventory, null);
} }
@Override @Override
@@ -18,7 +19,6 @@ public class GuiExporter extends GuiBase {
addSideButton(new SideButtonType(this, TileExporter.TYPE)); addSideButton(new SideButtonType(this, TileExporter.TYPE));
addSideButton(new SideButtonCompare(this, TileExporter.COMPARE, IComparer.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(this, TileExporter.COMPARE, IComparer.COMPARE_NBT)); addSideButton(new SideButtonCompare(this, TileExporter.COMPARE, IComparer.COMPARE_NBT));
} }

View File

@@ -1,21 +1,17 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.api.util.IFilter; import com.raoulvdberge.refinedstorage.api.util.IFilter;
import com.raoulvdberge.refinedstorage.container.ContainerFilter; import com.raoulvdberge.refinedstorage.container.ContainerFilter;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonFilterType; import com.raoulvdberge.refinedstorage.gui.control.SideButtonFilterType;
import com.raoulvdberge.refinedstorage.item.ItemFilter; import com.raoulvdberge.refinedstorage.item.ItemFilter;
import com.raoulvdberge.refinedstorage.network.MessageFilterUpdate; import net.minecraft.client.gui.widget.TextFieldWidget;
import com.raoulvdberge.refinedstorage.tile.config.IType; import net.minecraft.client.gui.widget.button.Button;
import net.minecraft.client.gui.GuiButton; import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.client.config.GuiCheckBox; import net.minecraftforge.fml.client.config.GuiCheckBox;
import java.io.IOException; public class GuiFilter extends GuiBase<ContainerFilter> {
public class GuiFilter extends GuiBase {
private ItemStack stack; private ItemStack stack;
private int compare; private int compare;
@@ -24,14 +20,13 @@ public class GuiFilter extends GuiBase {
private String name; private String name;
private int type; private int type;
private GuiCheckBox compareDamage;
private GuiCheckBox compareNbt; private GuiCheckBox compareNbt;
private GuiCheckBox toggleModFilter; private GuiCheckBox toggleModFilter;
private GuiButton toggleMode; private Button toggleMode;
private GuiTextField nameField; private TextFieldWidget nameField;
public GuiFilter(ContainerFilter container) { public GuiFilter(ContainerFilter container, PlayerInventory inventory) {
super(container, 176, 231); super(container, 176, 231, inventory, null);
this.stack = container.getStack(); this.stack = container.getStack();
@@ -45,20 +40,18 @@ public class GuiFilter extends GuiBase {
@Override @Override
public void init(int x, int y) { public void init(int x, int y) {
compareNbt = addCheckBox(x + 7, y + 77, t("gui.refinedstorage:filter.compare_nbt"), (compare & IComparer.COMPARE_NBT) == IComparer.COMPARE_NBT); compareNbt = addCheckBox(x + 7, y + 77, t("gui.refinedstorage:filter.compare_nbt"), (compare & IComparer.COMPARE_NBT) == IComparer.COMPARE_NBT);
compareDamage = addCheckBox(x + 7 + compareNbt.getButtonWidth() + 4, y + 77, t("gui.refinedstorage:filter.compare_damage"), (compare & IComparer.COMPARE_DAMAGE) == IComparer.COMPARE_DAMAGE);
compareDamage.visible = type == IType.ITEMS;
toggleModFilter = addCheckBox(0, y + 71 + 25, t("gui.refinedstorage:filter.mod_filter"), modFilter); toggleModFilter = addCheckBox(0, y + 71 + 25, t("gui.refinedstorage:filter.mod_filter"), modFilter);
toggleMode = addButton(x + 7, y + 71 + 21, 0, 20, ""); toggleMode = addButton(x + 7, y + 71 + 21, 0, 20, "");
updateModeButton(mode); updateModeButton(mode);
nameField = new GuiTextField(0, fontRenderer, x + 34, y + 121, 137 - 6, fontRenderer.FONT_HEIGHT); nameField = new TextFieldWidget(font, x + 34, y + 121, 137 - 6, font.FONT_HEIGHT, "");
nameField.setText(name); nameField.setText(name);
nameField.setEnableBackgroundDrawing(false); nameField.setEnableBackgroundDrawing(false);
nameField.setVisible(true); nameField.setVisible(true);
nameField.setCanLoseFocus(true); nameField.setCanLoseFocus(true);
nameField.setFocused(false); nameField.setFocused2(false);
nameField.setTextColor(16777215); nameField.setTextColor(16777215);
addSideButton(new SideButtonFilterType(this)); addSideButton(new SideButtonFilterType(this));
@@ -67,9 +60,9 @@ public class GuiFilter extends GuiBase {
private void updateModeButton(int mode) { private void updateModeButton(int mode) {
String text = mode == IFilter.MODE_WHITELIST ? t("sidebutton.refinedstorage:mode.whitelist") : t("sidebutton.refinedstorage:mode.blacklist"); String text = mode == IFilter.MODE_WHITELIST ? t("sidebutton.refinedstorage:mode.whitelist") : t("sidebutton.refinedstorage:mode.blacklist");
toggleMode.setWidth(fontRenderer.getStringWidth(text) + 12); toggleMode.setWidth(font.getStringWidth(text) + 12);
toggleMode.displayString = text; toggleMode.setMessage(text);
toggleModFilter.x = toggleMode.x + toggleMode.getButtonWidth() + 4; toggleModFilter.x = toggleMode.x + toggleMode.getWidth() + 4;
} }
@Override @Override
@@ -82,7 +75,7 @@ public class GuiFilter extends GuiBase {
drawTexture(x, y, 0, 0, screenWidth, screenHeight); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
nameField.drawTextBox(); nameField.renderButton(0, 0, 0);
} }
@Override @Override
@@ -91,6 +84,7 @@ public class GuiFilter extends GuiBase {
drawString(7, 137, t("container.inventory")); drawString(7, 137, t("container.inventory"));
} }
/* TODO
@Override @Override
protected void keyTyped(char character, int keyCode) throws IOException { protected void keyTyped(char character, int keyCode) throws IOException {
if (!checkHotbarKeys(keyCode) && nameField.textboxKeyTyped(character, keyCode)) { if (!checkHotbarKeys(keyCode) && nameField.textboxKeyTyped(character, keyCode)) {
@@ -108,7 +102,7 @@ public class GuiFilter extends GuiBase {
} }
@Override @Override
protected void actionPerformed(GuiButton button) throws IOException { protected void actionPerformed(Button button) throws IOException {
super.actionPerformed(button); super.actionPerformed(button);
if (button == compareDamage) { if (button == compareDamage) {
@@ -124,7 +118,7 @@ public class GuiFilter extends GuiBase {
} }
sendUpdate(); sendUpdate();
} }*/
public int getType() { public int getType() {
return type; return type;
@@ -134,11 +128,9 @@ public class GuiFilter extends GuiBase {
this.type = type; this.type = type;
ItemFilter.setType(stack, type); ItemFilter.setType(stack, type);
compareDamage.visible = type == IType.ITEMS;
} }
public void sendUpdate() { public void sendUpdate() {
RS.INSTANCE.network.sendToServer(new MessageFilterUpdate(compare, mode, modFilter, nameField.getText(), type)); // TODO RS.INSTANCE.network.sendToServer(new MessageFilterUpdate(compare, mode, modFilter, nameField.getText(), type));
} }
} }

View File

@@ -1,19 +1,17 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.google.common.primitives.Ints; import com.google.common.primitives.Ints;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.container.ContainerFluidAmount; import com.raoulvdberge.refinedstorage.container.ContainerFluidAmount;
import com.raoulvdberge.refinedstorage.network.MessageSlotFilterFluidSetAmount;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
public class GuiFluidAmount extends GuiAmountSpecifying { public class GuiFluidAmount extends GuiAmountSpecifying<ContainerFluidAmount> {
private int containerSlot; private int containerSlot;
private FluidStack stack; private FluidStack stack;
private int maxAmount; private int maxAmount;
public GuiFluidAmount(GuiBase parent, PlayerEntity player, int containerSlot, FluidStack stack, int maxAmount) { public GuiFluidAmount(GuiBase parent, PlayerEntity player, int containerSlot, FluidStack stack, int maxAmount) {
super(parent, new ContainerFluidAmount(player, stack), 172, 99); super(parent, new ContainerFluidAmount(player, stack), 172, 99, player.inventory);
this.containerSlot = containerSlot; this.containerSlot = containerSlot;
this.stack = stack; this.stack = stack;
@@ -22,7 +20,7 @@ public class GuiFluidAmount extends GuiAmountSpecifying {
@Override @Override
protected int getDefaultAmount() { protected int getDefaultAmount() {
return stack.amount; return stack.getAmount();
} }
@Override @Override
@@ -41,7 +39,7 @@ public class GuiFluidAmount extends GuiAmountSpecifying {
} }
@Override @Override
protected String getTitle() { protected String getGuiTitle() {
return t("gui.refinedstorage:fluid_amount"); return t("gui.refinedstorage:fluid_amount");
} }
@@ -63,7 +61,7 @@ public class GuiFluidAmount extends GuiAmountSpecifying {
Integer amount = Ints.tryParse(amountField.getText()); Integer amount = Ints.tryParse(amountField.getText());
if (amount != null) { if (amount != null) {
RS.INSTANCE.network.sendToServer(new MessageSlotFilterFluidSetAmount(containerSlot, amount)); // TODO RS.INSTANCE.network.sendToServer(new MessageSlotFilterFluidSetAmount(containerSlot, amount));
close(); close();
} }

View File

@@ -6,13 +6,14 @@ import com.raoulvdberge.refinedstorage.container.ContainerFluidInterface;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.tile.TileFluidInterface; import com.raoulvdberge.refinedstorage.tile.TileFluidInterface;
import com.raoulvdberge.refinedstorage.util.RenderUtils; import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
public class GuiFluidInterface extends GuiBase { public class GuiFluidInterface extends GuiBase<ContainerFluidInterface> {
private static final RenderUtils.FluidRenderer TANK_RENDERER = new RenderUtils.FluidRenderer(NetworkNodeFluidInterface.TANK_CAPACITY, 12, 47); private static final RenderUtils.FluidRenderer TANK_RENDERER = new RenderUtils.FluidRenderer(NetworkNodeFluidInterface.TANK_CAPACITY, 12, 47);
public GuiFluidInterface(ContainerFluidInterface container) { public GuiFluidInterface(ContainerFluidInterface container, PlayerInventory inventory) {
super(container, 211, 204); super(container, 211, 204, inventory, null);
} }
@Override @Override
@@ -31,11 +32,11 @@ public class GuiFluidInterface extends GuiBase {
drawTexture(x, y, 0, 0, screenWidth, screenHeight); drawTexture(x, y, 0, 0, screenWidth, screenHeight);
if (TileFluidInterface.TANK_IN.getValue() != null) { if (TileFluidInterface.TANK_IN.getValue() != null) {
TANK_RENDERER.draw(mc, x + 46, y + 56, TileFluidInterface.TANK_IN.getValue()); TANK_RENDERER.draw(minecraft, x + 46, y + 56, TileFluidInterface.TANK_IN.getValue());
} }
if (TileFluidInterface.TANK_OUT.getValue() != null) { if (TileFluidInterface.TANK_OUT.getValue() != null) {
TANK_RENDERER.draw(mc, x + 118, y + 56, TileFluidInterface.TANK_OUT.getValue()); TANK_RENDERER.draw(minecraft, x + 118, y + 56, TileFluidInterface.TANK_OUT.getValue());
} }
} }
@@ -46,12 +47,14 @@ public class GuiFluidInterface extends GuiBase {
drawString(115 + 1, 20, t("gui.refinedstorage:fluid_interface.out")); drawString(115 + 1, 20, t("gui.refinedstorage:fluid_interface.out"));
drawString(7, 111, t("container.inventory")); drawString(7, 111, t("container.inventory"));
// TODO getFormattedText
if (inBounds(46, 56, 12, 47, mouseX, mouseY) && TileFluidInterface.TANK_IN.getValue() != null) { if (inBounds(46, 56, 12, 47, mouseX, mouseY) && TileFluidInterface.TANK_IN.getValue() != null) {
drawTooltip(mouseX, mouseY, TileFluidInterface.TANK_IN.getValue().getLocalizedName() + "\n" + TextFormatting.GRAY + API.instance().getQuantityFormatter().formatInBucketForm(TileFluidInterface.TANK_IN.getValue().amount) + TextFormatting.RESET); drawTooltip(mouseX, mouseY, TileFluidInterface.TANK_IN.getValue().getDisplayName().getFormattedText() + "\n" + TextFormatting.GRAY + API.instance().getQuantityFormatter().formatInBucketForm(TileFluidInterface.TANK_IN.getValue().getAmount()) + TextFormatting.RESET);
} }
// TODO getFormattedText
if (inBounds(118, 56, 12, 47, mouseX, mouseY) && TileFluidInterface.TANK_OUT.getValue() != null) { if (inBounds(118, 56, 12, 47, mouseX, mouseY) && TileFluidInterface.TANK_OUT.getValue() != null) {
drawTooltip(mouseX, mouseY, TileFluidInterface.TANK_OUT.getValue().getLocalizedName() + "\n" + TextFormatting.GRAY + API.instance().getQuantityFormatter().formatInBucketForm(TileFluidInterface.TANK_OUT.getValue().amount) + TextFormatting.RESET); drawTooltip(mouseX, mouseY, TileFluidInterface.TANK_OUT.getValue().getDisplayName().getFormattedText() + "\n" + TextFormatting.GRAY + API.instance().getQuantityFormatter().formatInBucketForm(TileFluidInterface.TANK_OUT.getValue().getAmount()) + TextFormatting.RESET);
} }
} }
} }

View File

@@ -7,10 +7,11 @@ import com.raoulvdberge.refinedstorage.gui.control.SideButtonMode;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonType; import com.raoulvdberge.refinedstorage.gui.control.SideButtonType;
import com.raoulvdberge.refinedstorage.tile.TileImporter; import com.raoulvdberge.refinedstorage.tile.TileImporter;
import net.minecraft.entity.player.PlayerInventory;
public class GuiImporter extends GuiBase { public class GuiImporter extends GuiBase<ContainerImporter> {
public GuiImporter(ContainerImporter container) { public GuiImporter(ContainerImporter container, PlayerInventory inventory) {
super(container, 211, 137); super(container, 211, 137, inventory, null);
} }
@Override @Override
@@ -21,7 +22,6 @@ public class GuiImporter extends GuiBase {
addSideButton(new SideButtonMode(this, TileImporter.MODE)); addSideButton(new SideButtonMode(this, TileImporter.MODE));
addSideButton(new SideButtonCompare(this, TileImporter.COMPARE, IComparer.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(this, TileImporter.COMPARE, IComparer.COMPARE_NBT)); addSideButton(new SideButtonCompare(this, TileImporter.COMPARE, IComparer.COMPARE_NBT));
} }

View File

@@ -5,17 +5,17 @@ import com.raoulvdberge.refinedstorage.container.ContainerInterface;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonCompare; import com.raoulvdberge.refinedstorage.gui.control.SideButtonCompare;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.tile.TileInterface; import com.raoulvdberge.refinedstorage.tile.TileInterface;
import net.minecraft.entity.player.PlayerInventory;
public class GuiInterface extends GuiBase { public class GuiInterface extends GuiBase<ContainerInterface> {
public GuiInterface(ContainerInterface container) { public GuiInterface(ContainerInterface container, PlayerInventory inventory) {
super(container, 211, 217); super(container, 211, 217, inventory, null);
} }
@Override @Override
public void init(int x, int y) { public void init(int x, int y) {
addSideButton(new SideButtonRedstoneMode(this, TileInterface.REDSTONE_MODE)); addSideButton(new SideButtonRedstoneMode(this, TileInterface.REDSTONE_MODE));
addSideButton(new SideButtonCompare(this, TileInterface.COMPARE, IComparer.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(this, TileInterface.COMPARE, IComparer.COMPARE_NBT)); addSideButton(new SideButtonCompare(this, TileInterface.COMPARE, IComparer.COMPARE_NBT));
} }

View File

@@ -3,12 +3,13 @@ package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.container.ContainerNetworkTransmitter; import com.raoulvdberge.refinedstorage.container.ContainerNetworkTransmitter;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.tile.TileNetworkTransmitter; import com.raoulvdberge.refinedstorage.tile.TileNetworkTransmitter;
import net.minecraft.entity.player.PlayerInventory;
public class GuiNetworkTransmitter extends GuiBase { public class GuiNetworkTransmitter extends GuiBase<ContainerNetworkTransmitter> {
private TileNetworkTransmitter networkTransmitter; private TileNetworkTransmitter networkTransmitter;
public GuiNetworkTransmitter(ContainerNetworkTransmitter container, TileNetworkTransmitter networkTransmitter) { public GuiNetworkTransmitter(ContainerNetworkTransmitter container, TileNetworkTransmitter networkTransmitter, PlayerInventory inventory) {
super(container, 176, 137); super(container, 176, 137, inventory, null);
this.networkTransmitter = networkTransmitter; this.networkTransmitter = networkTransmitter;
} }
@@ -37,7 +38,7 @@ public class GuiNetworkTransmitter extends GuiBase {
if (networkTransmitter.getNode().getNetworkCard().getStackInSlot(0).isEmpty()) { if (networkTransmitter.getNode().getNetworkCard().getStackInSlot(0).isEmpty()) {
distance = t("gui.refinedstorage:network_transmitter.missing_card"); distance = t("gui.refinedstorage:network_transmitter.missing_card");
} else if (TileNetworkTransmitter.RECEIVER_DIMENSION.getValue() != networkTransmitter.getWorld().provider.getDimension()) { } else if (TileNetworkTransmitter.RECEIVER_DIMENSION.getValue() != networkTransmitter.getWorld().getDimension().getType().getId()) {
distance = t("gui.refinedstorage:network_transmitter.dimension", TileNetworkTransmitter.RECEIVER_DIMENSION.getValue()); distance = t("gui.refinedstorage:network_transmitter.dimension", TileNetworkTransmitter.RECEIVER_DIMENSION.getValue());
} else if (TileNetworkTransmitter.DISTANCE.getValue() != -1) { } else if (TileNetworkTransmitter.DISTANCE.getValue() != -1) {
distance = t("gui.refinedstorage:network_transmitter.distance", TileNetworkTransmitter.DISTANCE.getValue()); distance = t("gui.refinedstorage:network_transmitter.distance", TileNetworkTransmitter.DISTANCE.getValue());

View File

@@ -4,19 +4,20 @@ import com.google.common.primitives.Ints;
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager; import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.inventory.Container; import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.container.Container;
import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.lang3.tuple.Pair;
public class GuiPriority extends GuiAmountSpecifying { public class GuiPriority extends GuiAmountSpecifying<Container> {
private TileDataParameter<Integer, ?> priority; private TileDataParameter<Integer, ?> priority;
public GuiPriority(GuiBase parent, TileDataParameter<Integer, ?> priority) { public GuiPriority(GuiBase parent, TileDataParameter<Integer, ?> priority, PlayerInventory inventory) {
super(parent, new Container() { super(parent, new Container(null, 0) { // TODO ctor
@Override @Override
public boolean canInteractWith(PlayerEntity player) { public boolean canInteractWith(PlayerEntity player) {
return false; return false;
} }
}, 164, 92); }, 164, 92, inventory);
this.priority = priority; this.priority = priority;
} }
@@ -32,7 +33,7 @@ public class GuiPriority extends GuiAmountSpecifying {
} }
@Override @Override
protected String getTitle() { protected String getGuiTitle() {
return t("misc.refinedstorage:priority"); return t("misc.refinedstorage:priority");
} }

View File

@@ -1,24 +1,20 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS; import com.mojang.blaze3d.platform.GlStateManager;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.IGuiReaderWriter; import com.raoulvdberge.refinedstorage.apiimpl.network.node.IGuiReaderWriter;
import com.raoulvdberge.refinedstorage.container.ContainerReaderWriter; import com.raoulvdberge.refinedstorage.container.ContainerReaderWriter;
import com.raoulvdberge.refinedstorage.gui.control.Scrollbar; import com.raoulvdberge.refinedstorage.gui.control.Scrollbar;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.network.MessageReaderWriterChannelAdd;
import com.raoulvdberge.refinedstorage.network.MessageReaderWriterChannelRemove;
import com.raoulvdberge.refinedstorage.tile.data.TileDataManager; import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
import com.raoulvdberge.refinedstorage.util.RenderUtils; import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.gui.GuiTextField; import net.minecraft.client.gui.widget.button.Button;
import net.minecraft.client.renderer.GlStateManager; import net.minecraft.entity.player.PlayerInventory;
import org.lwjgl.input.Keyboard;
import java.io.IOException;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
public class GuiReaderWriter extends GuiBase { public class GuiReaderWriter extends GuiBase<ContainerReaderWriter> {
private static final int VISIBLE_ROWS = 4; private static final int VISIBLE_ROWS = 4;
private static final int ITEM_WIDTH = 143; private static final int ITEM_WIDTH = 143;
@@ -27,17 +23,17 @@ public class GuiReaderWriter extends GuiBase {
private List<String> channels = Collections.emptyList(); private List<String> channels = Collections.emptyList();
private String currentChannelToSet; private String currentChannelToSet;
private GuiButton add; private Button add;
private GuiButton remove; private Button remove;
private GuiTextField name; private TextFieldWidget name;
private IGuiReaderWriter readerWriter; private IGuiReaderWriter readerWriter;
private int itemSelected = -1; private int itemSelected = -1;
private int itemSelectedX = -1; private int itemSelectedX = -1;
private int itemSelectedY = -1; private int itemSelectedY = -1;
public GuiReaderWriter(ContainerReaderWriter container, IGuiReaderWriter readerWriter) { public GuiReaderWriter(ContainerReaderWriter container, IGuiReaderWriter readerWriter, PlayerInventory inventory) {
super(container, 176, 209); super(container, 176, 209, inventory, null);
this.readerWriter = readerWriter; this.readerWriter = readerWriter;
this.scrollbar = new Scrollbar(157, 39, 12, 71); this.scrollbar = new Scrollbar(157, 39, 12, 71);
@@ -49,12 +45,12 @@ public class GuiReaderWriter extends GuiBase {
add = addButton(x + 128, y + 15, 20, 20, "+"); add = addButton(x + 128, y + 15, 20, 20, "+");
remove = addButton(x + 150, y + 15, 20, 20, "-"); remove = addButton(x + 150, y + 15, 20, 20, "-");
name = new GuiTextField(0, fontRenderer, x + 8 + 1, y + 20 + 1, 107, fontRenderer.FONT_HEIGHT); name = new TextFieldWidget(font, x + 8 + 1, y + 20 + 1, 107, font.FONT_HEIGHT, "");
name.setEnableBackgroundDrawing(false); name.setEnableBackgroundDrawing(false);
name.setVisible(true); name.setVisible(true);
name.setTextColor(16777215); name.setTextColor(16777215);
name.setCanLoseFocus(true); name.setCanLoseFocus(true);
name.setFocused(false); name.setFocused2(false);
} }
private List<String> getChannels() { private List<String> getChannels() {
@@ -99,7 +95,7 @@ public class GuiReaderWriter extends GuiBase {
drawTexture(x + itemSelectedX, y + itemSelectedY, 0, 216, ITEM_WIDTH, ITEM_HEIGHT); drawTexture(x + itemSelectedX, y + itemSelectedY, 0, 216, ITEM_WIDTH, ITEM_HEIGHT);
} }
name.drawTextBox(); name.renderButton(0, 0, 0); // TODO is still needed with the new widget stuffs?
} }
@Override @Override
@@ -112,7 +108,7 @@ public class GuiReaderWriter extends GuiBase {
int item = scrollbar != null ? scrollbar.getOffset() : 0; int item = scrollbar != null ? scrollbar.getOffset() : 0;
float scale = fontRenderer.getUnicodeFlag() ? 1F : 0.5F; float scale = /*TODO fontRenderer.getUnicodeFlag() ? 1F :*/ 0.5F;
for (int i = 0; i < VISIBLE_ROWS; ++i) { for (int i = 0; i < VISIBLE_ROWS; ++i) {
if (item < getChannels().size()) { if (item < getChannels().size()) {
@@ -122,7 +118,7 @@ public class GuiReaderWriter extends GuiBase {
} }
GlStateManager.pushMatrix(); GlStateManager.pushMatrix();
GlStateManager.scale(scale, scale, 1); GlStateManager.scalef(scale, scale, 1);
drawString(RenderUtils.getOffsetOnScale(x + 5, scale), RenderUtils.getOffsetOnScale(y + 7, scale), getChannels().get(item)); drawString(RenderUtils.getOffsetOnScale(x + 5, scale), RenderUtils.getOffsetOnScale(y + 7, scale), getChannels().get(item));
@@ -135,11 +131,16 @@ public class GuiReaderWriter extends GuiBase {
} }
} }
@Override
protected void mouseClicked(int mouseX, int mouseY, int mouseButton) throws IOException {
super.mouseClicked(mouseX, mouseY, mouseButton);
name.mouseClicked(mouseX, mouseY, mouseButton); @Override
public boolean mouseClicked(double mouseX, double mouseY, int mouseButton) {
if (super.mouseClicked(mouseX, mouseY, mouseButton)) {
return true;
}
if (name.mouseClicked(mouseX, mouseY, mouseButton)) {
return true;
}
if (inBounds(8, 39, 144, 73, mouseX - guiLeft, mouseY - guiTop)) { if (inBounds(8, 39, 144, 73, mouseX - guiLeft, mouseY - guiTop)) {
if (mouseButton == 0) { if (mouseButton == 0) {
@@ -158,9 +159,14 @@ public class GuiReaderWriter extends GuiBase {
} else if (itemSelected != -1) { } else if (itemSelected != -1) {
TileDataManager.setParameter(readerWriter.getChannelParameter(), ""); TileDataManager.setParameter(readerWriter.getChannelParameter(), "");
} }
return true;
} }
return false;
} }
/* TODO
@Override @Override
protected void keyTyped(char character, int keyCode) throws IOException { protected void keyTyped(char character, int keyCode) throws IOException {
if (keyCode == Keyboard.KEY_DELETE) { if (keyCode == Keyboard.KEY_DELETE) {
@@ -183,13 +189,13 @@ public class GuiReaderWriter extends GuiBase {
} else if (button == remove) { } else if (button == remove) {
onRemove(); onRemove();
} }
} }*/
private void onAdd() { private void onAdd() {
String name = this.name.getText().trim(); String name = this.name.getText().trim();
if (!name.isEmpty()) { if (!name.isEmpty()) {
RS.INSTANCE.network.sendToServer(new MessageReaderWriterChannelAdd(name)); // TODO RS.INSTANCE.network.sendToServer(new MessageReaderWriterChannelAdd(name));
} }
} }
@@ -197,7 +203,7 @@ public class GuiReaderWriter extends GuiBase {
String name = this.name.getText().trim(); String name = this.name.getText().trim();
if (!name.isEmpty()) { if (!name.isEmpty()) {
RS.INSTANCE.network.sendToServer(new MessageReaderWriterChannelRemove(name)); // TODO RS.INSTANCE.network.sendToServer(new MessageReaderWriterChannelRemove(name));
} }
} }

View File

@@ -3,10 +3,11 @@ package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.container.ContainerRelay; import com.raoulvdberge.refinedstorage.container.ContainerRelay;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.tile.TileRelay; import com.raoulvdberge.refinedstorage.tile.TileRelay;
import net.minecraft.entity.player.PlayerInventory;
public class GuiRelay extends GuiBase { public class GuiRelay extends GuiBase<ContainerRelay> {
public GuiRelay(ContainerRelay container) { public GuiRelay(ContainerRelay container, PlayerInventory inventory) {
super(container, 176, 131); super(container, 176, 131, inventory, null);
} }
@Override @Override

View File

@@ -1,25 +1,21 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.api.network.security.Permission; import com.raoulvdberge.refinedstorage.api.network.security.Permission;
import com.raoulvdberge.refinedstorage.container.ContainerSecurityManager; import com.raoulvdberge.refinedstorage.container.ContainerSecurityManager;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.item.ItemSecurityCard; import com.raoulvdberge.refinedstorage.item.ItemSecurityCard;
import com.raoulvdberge.refinedstorage.network.MessageSecurityManagerUpdate;
import com.raoulvdberge.refinedstorage.tile.TileSecurityManager; import com.raoulvdberge.refinedstorage.tile.TileSecurityManager;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.client.config.GuiCheckBox; import net.minecraftforge.fml.client.config.GuiCheckBox;
import java.io.IOException; public class GuiSecurityManager extends GuiBase<ContainerSecurityManager> {
public class GuiSecurityManager extends GuiBase {
private TileSecurityManager securityManager; private TileSecurityManager securityManager;
private GuiCheckBox[] permissions = new GuiCheckBox[Permission.values().length]; private GuiCheckBox[] permissions = new GuiCheckBox[Permission.values().length];
public GuiSecurityManager(ContainerSecurityManager container, TileSecurityManager securityManager) { public GuiSecurityManager(ContainerSecurityManager container, TileSecurityManager securityManager, PlayerInventory inventory) {
super(container, 176, 234); super(container, 176, 234, inventory, null);
this.securityManager = securityManager; this.securityManager = securityManager;
} }
@@ -47,6 +43,7 @@ public class GuiSecurityManager extends GuiBase {
} }
} }
/* TODO
@Override @Override
protected void actionPerformed(GuiButton button) throws IOException { protected void actionPerformed(GuiButton button) throws IOException {
super.actionPerformed(button); super.actionPerformed(button);
@@ -56,7 +53,7 @@ public class GuiSecurityManager extends GuiBase {
RS.INSTANCE.network.sendToServer(new MessageSecurityManagerUpdate(securityManager, Permission.values()[i], permissions[i].isChecked())); RS.INSTANCE.network.sendToServer(new MessageSecurityManagerUpdate(securityManager, Permission.values()[i], permissions[i].isChecked()));
} }
} }
} }*/
@Override @Override
public void drawBackground(int x, int y, int mouseX, int mouseY) { public void drawBackground(int x, int y, int mouseX, int mouseY) {
@@ -74,7 +71,7 @@ public class GuiSecurityManager extends GuiBase {
for (int i = 0; i < permissions.length; ++i) { for (int i = 0; i < permissions.length; ++i) {
GuiCheckBox permission = permissions[i]; GuiCheckBox permission = permissions[i];
if (inBounds(permission.x - guiLeft, permission.y - guiTop, permission.width, permission.height, mouseX, mouseY)) { if (inBounds(permission.x - guiLeft, permission.y - guiTop, permission.getWidth(), permission.getHeight(), mouseX, mouseY)) {
drawTooltip(mouseX, mouseY, I18n.format("gui.refinedstorage:security_manager.permission." + i + ".tooltip")); drawTooltip(mouseX, mouseY, I18n.format("gui.refinedstorage:security_manager.permission." + i + ".tooltip"));
} }
} }

View File

@@ -5,32 +5,30 @@ import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.IGuiStorage; import com.raoulvdberge.refinedstorage.apiimpl.network.node.IGuiStorage;
import com.raoulvdberge.refinedstorage.container.ContainerBase; import com.raoulvdberge.refinedstorage.container.ContainerBase;
import com.raoulvdberge.refinedstorage.gui.control.*; import com.raoulvdberge.refinedstorage.gui.control.*;
import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.widget.button.Button;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.util.text.TextFormatting; import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.fml.common.FMLCommonHandler;
import java.io.IOException; public class GuiStorage extends GuiBase<ContainerBase> {
public class GuiStorage extends GuiBase {
private IGuiStorage gui; private IGuiStorage gui;
private String texture; private String texture;
private GuiButton priorityButton; private Button priorityButton;
private int barX = 8; private int barX = 8;
private int barY = 54; private int barY = 54;
private int barWidth = 16; private int barWidth = 16;
private int barHeight = 70; private int barHeight = 70;
public GuiStorage(ContainerBase container, IGuiStorage gui, String texture) { public GuiStorage(ContainerBase container, IGuiStorage gui, String texture, PlayerInventory inventory) {
super(container, 176, 223); super(container, 176, 223, inventory, null);
this.gui = gui; this.gui = gui;
this.texture = texture; this.texture = texture;
} }
public GuiStorage(ContainerBase container, IGuiStorage gui) { public GuiStorage(ContainerBase container, IGuiStorage gui, PlayerInventory inventory) {
this(container, gui, "gui/storage.png"); this(container, gui, "gui/storage.png", inventory);
} }
@Override @Override
@@ -48,7 +46,6 @@ public class GuiStorage extends GuiBase {
} }
if (gui.getCompareParameter() != null) { if (gui.getCompareParameter() != null) {
addSideButton(new SideButtonCompare(this, gui.getCompareParameter(), IComparer.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(this, gui.getCompareParameter(), IComparer.COMPARE_NBT)); addSideButton(new SideButtonCompare(this, gui.getCompareParameter(), IComparer.COMPARE_NBT));
} }
@@ -56,7 +53,7 @@ public class GuiStorage extends GuiBase {
addSideButton(new SideButtonAccessType(this, gui.getAccessTypeParameter())); addSideButton(new SideButtonAccessType(this, gui.getAccessTypeParameter()));
} }
int buttonWidth = 10 + fontRenderer.getStringWidth(t("misc.refinedstorage:priority")); int buttonWidth = 10 + font.getStringWidth(t("misc.refinedstorage:priority"));
priorityButton = addButton(x + 169 - buttonWidth, y + 41, buttonWidth, 20, t("misc.refinedstorage:priority")); priorityButton = addButton(x + 169 - buttonWidth, y + 41, buttonWidth, 20, t("misc.refinedstorage:priority"));
} }
@@ -104,6 +101,7 @@ public class GuiStorage extends GuiBase {
} }
} }
/* TODO
@Override @Override
protected void actionPerformed(GuiButton button) throws IOException { protected void actionPerformed(GuiButton button) throws IOException {
super.actionPerformed(button); super.actionPerformed(button);
@@ -111,5 +109,5 @@ public class GuiStorage extends GuiBase {
if (button == priorityButton) { if (button == priorityButton) {
FMLCommonHandler.instance().showGuiScreen(new GuiPriority(this, gui.getPriorityParameter())); FMLCommonHandler.instance().showGuiScreen(new GuiPriority(this, gui.getPriorityParameter()));
} }
} }*/
} }

View File

@@ -4,15 +4,15 @@ import com.raoulvdberge.refinedstorage.api.util.IComparer;
import com.raoulvdberge.refinedstorage.container.ContainerStorageMonitor; import com.raoulvdberge.refinedstorage.container.ContainerStorageMonitor;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonCompare; import com.raoulvdberge.refinedstorage.gui.control.SideButtonCompare;
import com.raoulvdberge.refinedstorage.tile.TileStorageMonitor; import com.raoulvdberge.refinedstorage.tile.TileStorageMonitor;
import net.minecraft.entity.player.PlayerInventory;
public class GuiStorageMonitor extends GuiBase { public class GuiStorageMonitor extends GuiBase<ContainerStorageMonitor> {
public GuiStorageMonitor(ContainerStorageMonitor container) { public GuiStorageMonitor(ContainerStorageMonitor container, PlayerInventory inventory) {
super(container, 211, 137); super(container, 211, 137, inventory, null);
} }
@Override @Override
public void init(int x, int y) { public void init(int x, int y) {
addSideButton(new SideButtonCompare(this, TileStorageMonitor.COMPARE, IComparer.COMPARE_DAMAGE));
addSideButton(new SideButtonCompare(this, TileStorageMonitor.COMPARE, IComparer.COMPARE_NBT)); addSideButton(new SideButtonCompare(this, TileStorageMonitor.COMPARE, IComparer.COMPARE_NBT));
} }

View File

@@ -3,10 +3,11 @@ package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.container.ContainerWirelessTransmitter; import com.raoulvdberge.refinedstorage.container.ContainerWirelessTransmitter;
import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode; import com.raoulvdberge.refinedstorage.gui.control.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.tile.TileWirelessTransmitter; import com.raoulvdberge.refinedstorage.tile.TileWirelessTransmitter;
import net.minecraft.entity.player.PlayerInventory;
public class GuiWirelessTransmitter extends GuiBase { public class GuiWirelessTransmitter extends GuiBase<ContainerWirelessTransmitter> {
public GuiWirelessTransmitter(ContainerWirelessTransmitter container) { public GuiWirelessTransmitter(ContainerWirelessTransmitter container, PlayerInventory inventory) {
super(container, 211, 137); super(container, 211, 137, inventory, null);
} }
@Override @Override

View File

@@ -1,22 +1,20 @@
package com.raoulvdberge.refinedstorage.gui; package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSBlocks; import com.raoulvdberge.refinedstorage.RSBlocks;
import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.RSItems;
import com.raoulvdberge.refinedstorage.RSKeyBindings; import com.raoulvdberge.refinedstorage.RSKeyBindings;
import com.raoulvdberge.refinedstorage.network.MessageNetworkItemOpen;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.IInventory; import net.minecraft.inventory.IInventory;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.client.event.InputEvent;
import net.minecraftforge.fml.common.gameevent.InputEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
public class KeyInputListener { public class KeyInputListener {
@SubscribeEvent @SubscribeEvent
public void onKeyInput(InputEvent.KeyInputEvent e) { public void onKeyInput(InputEvent.KeyInputEvent e) {
InventoryPlayer inv = Minecraft.getMinecraft().player.inventory; PlayerInventory inv = Minecraft.getInstance().player.inventory;
if (RSKeyBindings.OPEN_WIRELESS_GRID.isKeyDown()) { if (RSKeyBindings.OPEN_WIRELESS_GRID.isKeyDown()) {
findAndOpen(inv, RSItems.WIRELESS_GRID); findAndOpen(inv, RSItems.WIRELESS_GRID);
@@ -34,7 +32,7 @@ public class KeyInputListener {
ItemStack slot = inv.getStackInSlot(i); ItemStack slot = inv.getStackInSlot(i);
if (slot.getItem() == search) { if (slot.getItem() == search) {
RS.INSTANCE.network.sendToServer(new MessageNetworkItemOpen(i)); // TODO RS.INSTANCE.network.sendToServer(new MessageNetworkItemOpen(i));
return; return;
} }

View File

@@ -161,10 +161,14 @@ public class TabList {
} }
} }
public void mouseClicked() { public boolean mouseClicked() {
if (tabHovering >= 0 && tabHovering < tabs.get().size()) { if (tabHovering >= 0 && tabHovering < tabs.get().size()) {
listeners.forEach(t -> t.onSelectionChanged(tabHovering)); listeners.forEach(t -> t.onSelectionChanged(tabHovering));
return true;
} }
return false;
} }
public void actionPerformed(GuiButton button) { public void actionPerformed(GuiButton button) {

View File

@@ -2,18 +2,15 @@ package com.raoulvdberge.refinedstorage.gui.control;
import com.raoulvdberge.refinedstorage.RSKeyBindings; import com.raoulvdberge.refinedstorage.RSKeyBindings;
import com.raoulvdberge.refinedstorage.api.network.grid.IGrid; import com.raoulvdberge.refinedstorage.api.network.grid.IGrid;
import com.raoulvdberge.refinedstorage.integration.jei.IntegrationJEI;
import com.raoulvdberge.refinedstorage.integration.jei.RSJEIPlugin;
import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.FontRenderer;
import net.minecraft.client.gui.GuiTextField; import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraftforge.fml.common.ObfuscationReflectionHelper; import net.minecraftforge.fml.common.ObfuscationReflectionHelper;
import org.lwjgl.input.Keyboard;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
public class TextFieldSearch extends GuiTextField { public class TextFieldSearch extends TextFieldWidget {
private static final List<String> HISTORY = new ArrayList<>(); private static final List<String> HISTORY = new ArrayList<>();
private int mode; private int mode;
@@ -21,24 +18,25 @@ public class TextFieldSearch extends GuiTextField {
private List<Runnable> listeners = new LinkedList<>(); private List<Runnable> listeners = new LinkedList<>();
public TextFieldSearch(int componentId, FontRenderer fontRenderer, int x, int y, int width) { public TextFieldSearch(FontRenderer fontRenderer, int x, int y, int width) {
super(componentId, fontRenderer, x, y, width, fontRenderer.FONT_HEIGHT); super(fontRenderer, x, y, width, fontRenderer.FONT_HEIGHT, "");
this.setEnableBackgroundDrawing(false); this.setEnableBackgroundDrawing(false);
this.setVisible(true); this.setVisible(true);
this.setTextColor(16777215); this.setTextColor(16777215);
this.listeners.add(() -> { /* TODO this.listeners.add(() -> {
if (IntegrationJEI.isLoaded() && (mode == IGrid.SEARCH_BOX_MODE_JEI_SYNCHRONIZED || mode == IGrid.SEARCH_BOX_MODE_JEI_SYNCHRONIZED_AUTOSELECTED)) { if (IntegrationJEI.isLoaded() && (mode == IGrid.SEARCH_BOX_MODE_JEI_SYNCHRONIZED || mode == IGrid.SEARCH_BOX_MODE_JEI_SYNCHRONIZED_AUTOSELECTED)) {
RSJEIPlugin.INSTANCE.getRuntime().getIngredientFilter().setFilterText(getText()); RSJEIPlugin.INSTANCE.getRuntime().getIngredientFilter().setFilterText(getText());
} }
}); });*/
} }
public void addListener(Runnable listener) { public void addListener(Runnable listener) {
listeners.add(listener); listeners.add(listener);
} }
@Override @Override
public boolean mouseClicked(int mouseX, int mouseY, int mouseButton) { public boolean mouseClicked(int mouseX, int mouseY, int mouseButton) {
boolean wasFocused = isFocused(); boolean wasFocused = isFocused();

View File

@@ -18,6 +18,7 @@ public class TileNetworkTransmitter extends TileNode<NetworkNodeNetworkTransmitt
return (transmitter.getReceiver() != null && transmitter.isSameDimension()) ? transmitter.getDistance() : -1; return (transmitter.getReceiver() != null && transmitter.isSameDimension()) ? transmitter.getDistance() : -1;
}); });
// TODO Use dim here instead?
public static final TileDataParameter<Integer, TileNetworkTransmitter> RECEIVER_DIMENSION = new TileDataParameter<>(DataSerializers.VARINT, 0, t -> t.getNode().getReceiverDimension()); public static final TileDataParameter<Integer, TileNetworkTransmitter> RECEIVER_DIMENSION = new TileDataParameter<>(DataSerializers.VARINT, 0, t -> t.getNode().getReceiverDimension());
public TileNetworkTransmitter() { public TileNetworkTransmitter() {