GUI improvements
This commit is contained in:
@@ -67,8 +67,8 @@ public class ContainerGrid extends ContainerBase {
|
|||||||
|
|
||||||
addSlotToContainer(new SlotDisabled(((TileGrid) grid).getCraftingResultInventory(), 0, 116 + 4, 120 + 4));
|
addSlotToContainer(new SlotDisabled(((TileGrid) grid).getCraftingResultInventory(), 0, 116 + 4, 120 + 4));
|
||||||
|
|
||||||
addSlotToContainer(new SlotFiltered(((TileGrid) grid).getPatternsInventory(), 0, 152, 106, new BasicItemValidator(RefinedStorageItems.PATTERN)));
|
addSlotToContainer(new SlotFiltered(((TileGrid) grid).getPatternsInventory(), 0, 152, 104, new BasicItemValidator(RefinedStorageItems.PATTERN)));
|
||||||
addSlotToContainer(new SlotOutput(((TileGrid) grid).getPatternsInventory(), 1, 152, 142));
|
addSlotToContainer(new SlotOutput(((TileGrid) grid).getPatternsInventory(), 1, 152, 144));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,12 +121,6 @@ public class ContainerGrid extends ContainerBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!player.worldObj.isRemote && slot instanceof SlotDisabled && grid.getType() == EnumGridType.PATTERN && slot.getHasStack()) {
|
|
||||||
((TileGrid) grid).onCreatePattern();
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return super.func_184996_a(id, clickedButton, clickType, player);
|
return super.func_184996_a(id, clickedButton, clickType, player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -13,8 +13,8 @@ public class ContainerWirelessTransmitter extends ContainerBase {
|
|||||||
public ContainerWirelessTransmitter(EntityPlayer player, TileWirelessTransmitter wirelessTransmitter) {
|
public ContainerWirelessTransmitter(EntityPlayer player, TileWirelessTransmitter wirelessTransmitter) {
|
||||||
super(player);
|
super(player);
|
||||||
|
|
||||||
for (int i = 0; i < 9; ++i) {
|
for (int i = 0; i < 4; ++i) {
|
||||||
addSlotToContainer(new SlotFiltered(wirelessTransmitter, i, 8 + (i * 18), 20, new IItemValidator() {
|
addSlotToContainer(new SlotFiltered(wirelessTransmitter, i, 187, 6 + (i * 18), new IItemValidator() {
|
||||||
@Override
|
@Override
|
||||||
public boolean isValid(ItemStack stack) {
|
public boolean isValid(ItemStack stack) {
|
||||||
return stack.getItem() == RefinedStorageItems.UPGRADE && stack.getMetadata() == ItemUpgrade.TYPE_RANGE;
|
return stack.getItem() == RefinedStorageItems.UPGRADE && stack.getMetadata() == ItemUpgrade.TYPE_RANGE;
|
||||||
|
@@ -19,6 +19,7 @@ import refinedstorage.jei.PluginRefinedStorage;
|
|||||||
import refinedstorage.network.GridPullFlags;
|
import refinedstorage.network.GridPullFlags;
|
||||||
import refinedstorage.network.MessageGridCraftingClear;
|
import refinedstorage.network.MessageGridCraftingClear;
|
||||||
import refinedstorage.network.MessageGridCraftingPush;
|
import refinedstorage.network.MessageGridCraftingPush;
|
||||||
|
import refinedstorage.network.MessageGridPatternCreate;
|
||||||
import refinedstorage.storage.ItemGroup;
|
import refinedstorage.storage.ItemGroup;
|
||||||
import refinedstorage.tile.grid.IGrid;
|
import refinedstorage.tile.grid.IGrid;
|
||||||
import refinedstorage.tile.grid.TileGrid;
|
import refinedstorage.tile.grid.TileGrid;
|
||||||
@@ -153,6 +154,18 @@ public class GuiGrid extends GuiBase {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isHoveringOverCreatePattern(int mouseX, int mouseY) {
|
||||||
|
if (grid.getType() == EnumGridType.PATTERN) {
|
||||||
|
return inBounds(152, 124, 16, 16, mouseX, mouseY) && isCreatePatternEnabled();
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isCreatePatternEnabled() {
|
||||||
|
return ((TileGrid) grid).getCraftingResultInventory().getStackInSlot(0) != null && ((TileGrid) grid).getPatternsInventory().getStackInSlot(0) != null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
||||||
if (grid.getType() == EnumGridType.CRAFTING) {
|
if (grid.getType() == EnumGridType.CRAFTING) {
|
||||||
@@ -165,6 +178,20 @@ public class GuiGrid extends GuiBase {
|
|||||||
|
|
||||||
drawTexture(x, y, 0, 0, width, height);
|
drawTexture(x, y, 0, 0, width, height);
|
||||||
|
|
||||||
|
if (grid.getType() == EnumGridType.PATTERN) {
|
||||||
|
int ty = 0;
|
||||||
|
|
||||||
|
if (isHoveringOverCreatePattern(mouseX - guiLeft, mouseY - guiTop)) {
|
||||||
|
ty = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isCreatePatternEnabled()) {
|
||||||
|
ty = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
drawTexture(x + 152, y + 124, 195, ty * 16, 16, 16);
|
||||||
|
}
|
||||||
|
|
||||||
scrollbar.draw(this);
|
scrollbar.draw(this);
|
||||||
|
|
||||||
searchField.drawTextBox();
|
searchField.drawTextBox();
|
||||||
@@ -259,6 +286,10 @@ public class GuiGrid extends GuiBase {
|
|||||||
if (isHoveringOverClear(mouseX, mouseY)) {
|
if (isHoveringOverClear(mouseX, mouseY)) {
|
||||||
drawTooltip(mouseX, mouseY, t("misc.refinedstorage:clear"));
|
drawTooltip(mouseX, mouseY, t("misc.refinedstorage:clear"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isHoveringOverCreatePattern(mouseX, mouseY)) {
|
||||||
|
drawTooltip(mouseX, mouseY, t("gui.refinedstorage:grid.pattern_create"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -266,9 +297,14 @@ public class GuiGrid extends GuiBase {
|
|||||||
super.mouseClicked(mouseX, mouseY, clickedButton);
|
super.mouseClicked(mouseX, mouseY, clickedButton);
|
||||||
|
|
||||||
boolean clickedClear = clickedButton == 0 && isHoveringOverClear(mouseX - guiLeft, mouseY - guiTop);
|
boolean clickedClear = clickedButton == 0 && isHoveringOverClear(mouseX - guiLeft, mouseY - guiTop);
|
||||||
|
boolean playClickSound = clickedClear;
|
||||||
|
|
||||||
if (grid.isConnected()) {
|
if (grid.isConnected()) {
|
||||||
if (isHoveringOverSlot() && container.getPlayer().inventory.getItemStack() != null && (clickedButton == 0 || clickedButton == 1)) {
|
if (isHoveringOverCreatePattern(mouseX - guiLeft, mouseY - guiTop)) {
|
||||||
|
RefinedStorage.NETWORK.sendToServer(new MessageGridPatternCreate((TileGrid) grid));
|
||||||
|
|
||||||
|
playClickSound = true;
|
||||||
|
} else if (isHoveringOverSlot() && container.getPlayer().inventory.getItemStack() != null && (clickedButton == 0 || clickedButton == 1)) {
|
||||||
grid.onItemPush(-1, clickedButton == 1);
|
grid.onItemPush(-1, clickedButton == 1);
|
||||||
} else if (isHoveringOverItemInSlot() && container.getPlayer().inventory.getItemStack() == null) {
|
} else if (isHoveringOverItemInSlot() && container.getPlayer().inventory.getItemStack() == null) {
|
||||||
if (items.get(hoveringSlot).getQuantity() == 0) {
|
if (items.get(hoveringSlot).getQuantity() == 0) {
|
||||||
@@ -313,7 +349,7 @@ public class GuiGrid extends GuiBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (clickedClear) {
|
if (playClickSound) {
|
||||||
mc.getSoundHandler().playSound(PositionedSoundRecord.getMasterRecord(SoundEvents.ui_button_click, 1.0F));
|
mc.getSoundHandler().playSound(PositionedSoundRecord.getMasterRecord(SoundEvents.ui_button_click, 1.0F));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -8,7 +8,7 @@ public class GuiWirelessTransmitter extends GuiBase {
|
|||||||
private TileWirelessTransmitter wirelessTransmitter;
|
private TileWirelessTransmitter wirelessTransmitter;
|
||||||
|
|
||||||
public GuiWirelessTransmitter(ContainerWirelessTransmitter container, TileWirelessTransmitter wirelessTransmitter) {
|
public GuiWirelessTransmitter(ContainerWirelessTransmitter container, TileWirelessTransmitter wirelessTransmitter) {
|
||||||
super(container, 176, 137);
|
super(container, 211, 137);
|
||||||
|
|
||||||
this.wirelessTransmitter = wirelessTransmitter;
|
this.wirelessTransmitter = wirelessTransmitter;
|
||||||
}
|
}
|
||||||
@@ -31,7 +31,8 @@ public class GuiWirelessTransmitter extends GuiBase {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawForeground(int mouseX, int mouseY) {
|
public void drawForeground(int mouseX, int mouseY) {
|
||||||
drawString(7, 7, t("gui.refinedstorage:wireless_transmitter", wirelessTransmitter.getRange()));
|
drawString(7, 7, t("gui.refinedstorage:wireless_transmitter"));
|
||||||
|
drawString(28, 24, t("gui.refinedstorage:wireless_transmitter.distance", wirelessTransmitter.getRange()));
|
||||||
drawString(7, 43, t("container.inventory"));
|
drawString(7, 43, t("container.inventory"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
47
src/main/java/refinedstorage/network/MessageGridPatternCreate.java
Executable file
47
src/main/java/refinedstorage/network/MessageGridPatternCreate.java
Executable file
@@ -0,0 +1,47 @@
|
|||||||
|
package refinedstorage.network;
|
||||||
|
|
||||||
|
import io.netty.buffer.ByteBuf;
|
||||||
|
import net.minecraft.entity.player.EntityPlayerMP;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
|
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||||
|
import refinedstorage.block.EnumGridType;
|
||||||
|
import refinedstorage.tile.grid.TileGrid;
|
||||||
|
|
||||||
|
public class MessageGridPatternCreate extends MessageHandlerPlayerToServer<MessageGridPatternCreate> implements IMessage {
|
||||||
|
private int x;
|
||||||
|
private int y;
|
||||||
|
private int z;
|
||||||
|
|
||||||
|
public MessageGridPatternCreate() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public MessageGridPatternCreate(TileGrid grid) {
|
||||||
|
this.x = grid.getPos().getX();
|
||||||
|
this.y = grid.getPos().getY();
|
||||||
|
this.z = grid.getPos().getZ();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void fromBytes(ByteBuf buf) {
|
||||||
|
x = buf.readInt();
|
||||||
|
y = buf.readInt();
|
||||||
|
z = buf.readInt();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void toBytes(ByteBuf buf) {
|
||||||
|
buf.writeInt(x);
|
||||||
|
buf.writeInt(y);
|
||||||
|
buf.writeInt(z);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void handle(MessageGridPatternCreate message, EntityPlayerMP player) {
|
||||||
|
TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z));
|
||||||
|
|
||||||
|
if (tile instanceof TileGrid && ((TileGrid) tile).getType() == EnumGridType.PATTERN) {
|
||||||
|
((TileGrid) tile).onCreatePattern();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -50,6 +50,7 @@ public class CommonProxy {
|
|||||||
RefinedStorage.NETWORK.registerMessage(MessageGridCraftingShift.class, MessageGridCraftingShift.class, 19, Side.SERVER);
|
RefinedStorage.NETWORK.registerMessage(MessageGridCraftingShift.class, MessageGridCraftingShift.class, 19, Side.SERVER);
|
||||||
RefinedStorage.NETWORK.registerMessage(MessageGridCraftingStart.class, MessageGridCraftingStart.class, 20, Side.SERVER);
|
RefinedStorage.NETWORK.registerMessage(MessageGridCraftingStart.class, MessageGridCraftingStart.class, 20, Side.SERVER);
|
||||||
RefinedStorage.NETWORK.registerMessage(MessageWirelessGridCraftingStart.class, MessageWirelessGridCraftingStart.class, 21, Side.SERVER);
|
RefinedStorage.NETWORK.registerMessage(MessageWirelessGridCraftingStart.class, MessageWirelessGridCraftingStart.class, 21, Side.SERVER);
|
||||||
|
RefinedStorage.NETWORK.registerMessage(MessageGridPatternCreate.class, MessageGridPatternCreate.class, 22, Side.SERVER);
|
||||||
|
|
||||||
NetworkRegistry.INSTANCE.registerGuiHandler(RefinedStorage.INSTANCE, new GuiHandler());
|
NetworkRegistry.INSTANCE.registerGuiHandler(RefinedStorage.INSTANCE, new GuiHandler());
|
||||||
|
|
||||||
|
@@ -13,7 +13,7 @@ public class TileWirelessTransmitter extends TileMachine implements IInventory {
|
|||||||
public static final int RANGE_PER_UPGRADE = 8;
|
public static final int RANGE_PER_UPGRADE = 8;
|
||||||
public static final int RF_PER_UPGRADE = 8;
|
public static final int RF_PER_UPGRADE = 8;
|
||||||
|
|
||||||
private InventorySimple inventory = new InventorySimple("upgrades", 9, this);
|
private InventorySimple inventory = new InventorySimple("upgrades", 4, this);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getEnergyUsage() {
|
public int getEnergyUsage() {
|
||||||
@@ -45,7 +45,7 @@ public class TileWirelessTransmitter extends TileMachine implements IInventory {
|
|||||||
private int getUpgrades() {
|
private int getUpgrades() {
|
||||||
int upgrades = 0;
|
int upgrades = 0;
|
||||||
|
|
||||||
for (int i = 0; i < 9; ++i) {
|
for (int i = 0; i < inventory.getSizeInventory(); ++i) {
|
||||||
if (inventory.getStackInSlot(i) != null) {
|
if (inventory.getStackInSlot(i) != null) {
|
||||||
upgrades++;
|
upgrades++;
|
||||||
}
|
}
|
||||||
|
@@ -7,6 +7,7 @@ gui.refinedstorage:controller.machine_position.y=Y: %d
|
|||||||
gui.refinedstorage:controller.machine_position.z=Z: %d
|
gui.refinedstorage:controller.machine_position.z=Z: %d
|
||||||
gui.refinedstorage:grid=Grid
|
gui.refinedstorage:grid=Grid
|
||||||
gui.refinedstorage:grid.pattern=Pattern
|
gui.refinedstorage:grid.pattern=Pattern
|
||||||
|
gui.refinedstorage:grid.pattern_create=Create Pattern
|
||||||
gui.refinedstorage:wireless_grid=Wireless Grid
|
gui.refinedstorage:wireless_grid=Wireless Grid
|
||||||
gui.refinedstorage:disk_drive=Drive
|
gui.refinedstorage:disk_drive=Drive
|
||||||
gui.refinedstorage:external_storage=External Storage
|
gui.refinedstorage:external_storage=External Storage
|
||||||
@@ -21,7 +22,8 @@ gui.refinedstorage:interface.import=Interface Import
|
|||||||
gui.refinedstorage:interface.export=Interface Export
|
gui.refinedstorage:interface.export=Interface Export
|
||||||
gui.refinedstorage:interface.patterns=Patterns
|
gui.refinedstorage:interface.patterns=Patterns
|
||||||
gui.refinedstorage:crafting_monitor=Crafting Monitor
|
gui.refinedstorage:crafting_monitor=Crafting Monitor
|
||||||
gui.refinedstorage:wireless_transmitter=Wireless Transmitter (%d blocks)
|
gui.refinedstorage:wireless_transmitter=Wireless Transmitter
|
||||||
|
gui.refinedstorage:wireless_transmitter.distance=%d blocks
|
||||||
|
|
||||||
misc.refinedstorage:energy_stored=%d / %d RF
|
misc.refinedstorage:energy_stored=%d / %d RF
|
||||||
misc.refinedstorage:energy_usage=Usage: %d RF/t
|
misc.refinedstorage:energy_usage=Usage: %d RF/t
|
||||||
|
@@ -7,6 +7,7 @@ gui.refinedstorage:controller.machine_position.y=Y: %d
|
|||||||
gui.refinedstorage:controller.machine_position.z=Z: %d
|
gui.refinedstorage:controller.machine_position.z=Z: %d
|
||||||
gui.refinedstorage:grid=Rooster
|
gui.refinedstorage:grid=Rooster
|
||||||
gui.refinedstorage:grid.pattern=Patroon
|
gui.refinedstorage:grid.pattern=Patroon
|
||||||
|
gui.refinedstorage:grid.pattern_create=Patroon maken
|
||||||
gui.refinedstorage:wireless_grid=Draadloos Rooster
|
gui.refinedstorage:wireless_grid=Draadloos Rooster
|
||||||
gui.refinedstorage:disk_drive=Schijf
|
gui.refinedstorage:disk_drive=Schijf
|
||||||
gui.refinedstorage:external_storage=Externe Opslag
|
gui.refinedstorage:external_storage=Externe Opslag
|
||||||
@@ -21,7 +22,8 @@ gui.refinedstorage:interface.import=Interface Import
|
|||||||
gui.refinedstorage:interface.export=Interface Export
|
gui.refinedstorage:interface.export=Interface Export
|
||||||
gui.refinedstorage:interface.patterns=Patronen
|
gui.refinedstorage:interface.patterns=Patronen
|
||||||
gui.refinedstorage:crafting_monitor=Crafting Monitor
|
gui.refinedstorage:crafting_monitor=Crafting Monitor
|
||||||
gui.refinedstorage:wireless_transmitter=Draadloze Zender (%d blokken)
|
gui.refinedstorage:wireless_transmitter=Draadloze Zender
|
||||||
|
gui.refinedstorage:wireless_transmitter.distance=%d blokken
|
||||||
|
|
||||||
misc.refinedstorage:energy_stored=%d / %d RF
|
misc.refinedstorage:energy_stored=%d / %d RF
|
||||||
misc.refinedstorage:energy_usage=Vebruik: %d RF/t
|
misc.refinedstorage:energy_usage=Vebruik: %d RF/t
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.6 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.1 KiB |
Reference in New Issue
Block a user