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 SlotFiltered(((TileGrid) grid).getPatternsInventory(), 0, 152, 106, new BasicItemValidator(RefinedStorageItems.PATTERN)));
|
||||
addSlotToContainer(new SlotOutput(((TileGrid) grid).getPatternsInventory(), 1, 152, 142));
|
||||
addSlotToContainer(new SlotFiltered(((TileGrid) grid).getPatternsInventory(), 0, 152, 104, new BasicItemValidator(RefinedStorageItems.PATTERN)));
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
@@ -13,8 +13,8 @@ public class ContainerWirelessTransmitter extends ContainerBase {
|
||||
public ContainerWirelessTransmitter(EntityPlayer player, TileWirelessTransmitter wirelessTransmitter) {
|
||||
super(player);
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
addSlotToContainer(new SlotFiltered(wirelessTransmitter, i, 8 + (i * 18), 20, new IItemValidator() {
|
||||
for (int i = 0; i < 4; ++i) {
|
||||
addSlotToContainer(new SlotFiltered(wirelessTransmitter, i, 187, 6 + (i * 18), new IItemValidator() {
|
||||
@Override
|
||||
public boolean isValid(ItemStack stack) {
|
||||
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.MessageGridCraftingClear;
|
||||
import refinedstorage.network.MessageGridCraftingPush;
|
||||
import refinedstorage.network.MessageGridPatternCreate;
|
||||
import refinedstorage.storage.ItemGroup;
|
||||
import refinedstorage.tile.grid.IGrid;
|
||||
import refinedstorage.tile.grid.TileGrid;
|
||||
@@ -153,6 +154,18 @@ public class GuiGrid extends GuiBase {
|
||||
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
|
||||
public void drawBackground(int x, int y, int mouseX, int mouseY) {
|
||||
if (grid.getType() == EnumGridType.CRAFTING) {
|
||||
@@ -165,6 +178,20 @@ public class GuiGrid extends GuiBase {
|
||||
|
||||
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);
|
||||
|
||||
searchField.drawTextBox();
|
||||
@@ -259,6 +286,10 @@ public class GuiGrid extends GuiBase {
|
||||
if (isHoveringOverClear(mouseX, mouseY)) {
|
||||
drawTooltip(mouseX, mouseY, t("misc.refinedstorage:clear"));
|
||||
}
|
||||
|
||||
if (isHoveringOverCreatePattern(mouseX, mouseY)) {
|
||||
drawTooltip(mouseX, mouseY, t("gui.refinedstorage:grid.pattern_create"));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -266,9 +297,14 @@ public class GuiGrid extends GuiBase {
|
||||
super.mouseClicked(mouseX, mouseY, clickedButton);
|
||||
|
||||
boolean clickedClear = clickedButton == 0 && isHoveringOverClear(mouseX - guiLeft, mouseY - guiTop);
|
||||
boolean playClickSound = clickedClear;
|
||||
|
||||
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);
|
||||
} else if (isHoveringOverItemInSlot() && container.getPlayer().inventory.getItemStack() == null) {
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
@@ -8,7 +8,7 @@ public class GuiWirelessTransmitter extends GuiBase {
|
||||
private TileWirelessTransmitter wirelessTransmitter;
|
||||
|
||||
public GuiWirelessTransmitter(ContainerWirelessTransmitter container, TileWirelessTransmitter wirelessTransmitter) {
|
||||
super(container, 176, 137);
|
||||
super(container, 211, 137);
|
||||
|
||||
this.wirelessTransmitter = wirelessTransmitter;
|
||||
}
|
||||
@@ -31,7 +31,8 @@ public class GuiWirelessTransmitter extends GuiBase {
|
||||
|
||||
@Override
|
||||
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"));
|
||||
}
|
||||
}
|
||||
|
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(MessageGridCraftingStart.class, MessageGridCraftingStart.class, 20, 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());
|
||||
|
||||
|
@@ -13,7 +13,7 @@ public class TileWirelessTransmitter extends TileMachine implements IInventory {
|
||||
public static final int RANGE_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
|
||||
public int getEnergyUsage() {
|
||||
@@ -45,7 +45,7 @@ public class TileWirelessTransmitter extends TileMachine implements IInventory {
|
||||
private int getUpgrades() {
|
||||
int upgrades = 0;
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
for (int i = 0; i < inventory.getSizeInventory(); ++i) {
|
||||
if (inventory.getStackInSlot(i) != null) {
|
||||
upgrades++;
|
||||
}
|
||||
|
@@ -7,6 +7,7 @@ gui.refinedstorage:controller.machine_position.y=Y: %d
|
||||
gui.refinedstorage:controller.machine_position.z=Z: %d
|
||||
gui.refinedstorage:grid=Grid
|
||||
gui.refinedstorage:grid.pattern=Pattern
|
||||
gui.refinedstorage:grid.pattern_create=Create Pattern
|
||||
gui.refinedstorage:wireless_grid=Wireless Grid
|
||||
gui.refinedstorage:disk_drive=Drive
|
||||
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.patterns=Patterns
|
||||
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_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:grid=Rooster
|
||||
gui.refinedstorage:grid.pattern=Patroon
|
||||
gui.refinedstorage:grid.pattern_create=Patroon maken
|
||||
gui.refinedstorage:wireless_grid=Draadloos Rooster
|
||||
gui.refinedstorage:disk_drive=Schijf
|
||||
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.patterns=Patronen
|
||||
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_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