Better specimen slot with size

This commit is contained in:
Raoul Van den Berge
2016-03-21 17:57:49 +01:00
parent c769c1826e
commit 999b2ef3eb
6 changed files with 74 additions and 4 deletions

View File

@@ -7,6 +7,7 @@ import net.minecraft.inventory.ClickType;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import org.lwjgl.input.Keyboard;
import refinedstorage.container.slot.SlotDisabled;
import refinedstorage.container.slot.SlotSpecimen;
@@ -63,7 +64,56 @@ public abstract class ContainerBase extends Container
if (slot instanceof SlotSpecimen)
{
if (clickedButton == 2 || player.inventory.getItemStack() == null)
if (((SlotSpecimen) slot).isSizeAllowed())
{
if (player.inventory.getItemStack() != null)
{
int amount = player.inventory.getItemStack().stackSize;
if (clickedButton == 1)
{
amount = 1;
}
ItemStack toPut = player.inventory.getItemStack().copy();
toPut.stackSize = amount;
slot.putStack(toPut);
}
else if (slot.getStack() != null)
{
if (Keyboard.isKeyDown(Keyboard.KEY_LSHIFT))
{
slot.putStack(null);
}
else
{
int amount = slot.getStack().stackSize;
if (clickedButton == 0)
{
amount++;
if (amount > 64)
{
amount = 64;
}
}
else if (clickedButton == 1)
{
amount--;
if (amount < 1)
{
amount = 1;
}
}
slot.getStack().stackSize = amount;
}
}
}
else if (player.inventory.getItemStack() == null)
{
slot.putStack(null);
}

View File

@@ -7,13 +7,13 @@ import net.minecraft.item.ItemStack;
public class SlotSpecimen extends Slot
{
private boolean allowSize;
private boolean sizeAllowed;
public SlotSpecimen(IInventory inventory, int id, int x, int y, boolean allowSize)
{
super(inventory, id, x, y);
this.allowSize = allowSize;
this.sizeAllowed = allowSize;
}
@Override
@@ -31,11 +31,16 @@ public class SlotSpecimen extends Slot
@Override
public void putStack(ItemStack stack)
{
if (stack != null && !allowSize)
if (stack != null && !sizeAllowed)
{
stack.stackSize = 1;
}
super.putStack(stack);
}
public boolean isSizeAllowed()
{
return sizeAllowed;
}
}

View File

@@ -45,5 +45,14 @@ public class GuiInterface extends GuiBase
drawString(7, 7, t("gui.refinedstorage:interface.import"));
drawString(7, 42, t("gui.refinedstorage:interface.export"));
drawString(7, 123, t("container.inventory"));
if (inBounds(162, 42, 7, 7, mouseX, mouseY))
{
String message = t("gui.refinedstorage:interface.export.explanation.0");
message += "\n" + t("gui.refinedstorage:interface.export.explanation.1");
message += "\n" + t("gui.refinedstorage:interface.export.explanation.2");
drawTooltip(mouseX, mouseY, message);
}
}
}

View File

@@ -15,6 +15,9 @@ gui.refinedstorage:constructor=Constructor
gui.refinedstorage:relay=Relay
gui.refinedstorage:interface.import=Interface Import
gui.refinedstorage:interface.export=Interface Export
gui.refinedstorage:interface.export.explanation.0=Top slots: items you want exported
gui.refinedstorage:interface.export.explanation.1=Clear a slot: mouse click + SHIFT
gui.refinedstorage:interface.export.explanation.2=Incr. or decr. a slot: left/ right mouse click
misc.refinedstorage:energy_stored=%d / %d RF
misc.refinedstorage:energy_usage=Usage: %d RF/t

View File

@@ -15,6 +15,9 @@ gui.refinedstorage:constructor=Constructor
gui.refinedstorage:relay=Relais
gui.refinedstorage:interface.import=Interface Import
gui.refinedstorage:interface.export=Interface Export
gui.refinedstorage:interface.export.explanation.0=Bovenste slots: items die je wilt exporten
gui.refinedstorage:interface.export.explanation.1=Slot leegmaken: muisklik + SHIFT
gui.refinedstorage:interface.export.explanation.2=Verhoog of verklein aantal: links/ rechts muisklik
misc.refinedstorage:energy_stored=%d / %d RF
misc.refinedstorage:energy_usage=Vebruik: %d RF/t

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB