Fix Emerald Pipe Button Tooltip

Closes #1322
This commit is contained in:
CovertJaguar 2013-11-19 06:11:20 -08:00
parent f1bec62b90
commit d870fcb182

View file

@ -40,15 +40,12 @@ import buildcraft.transport.PipeIconProvider;
public class PipeItemsEmerald extends PipeItemsWood implements IClientState, IGuiReturnHandler { public class PipeItemsEmerald extends PipeItemsWood implements IClientState, IGuiReturnHandler {
public static enum ButtonState implements IMultiButtonState { public static enum ButtonState implements IMultiButtonState {
BLOCKING("gui.pipes.emerald.blocking"), NONBLOCKING("gui.pipes.emerald.nonblocking");
BLOCKING("gui.pipes.emerald.blocking"), NONBLOCKING("gui.pipes.emerald.nonblocking");
private final String label; private final String label;
private final ToolTip tip;
private ButtonState(String label) { private ButtonState(String label) {
this.label = label; this.label = label;
tip = new ToolTip();
tip.add(new ToolTipLine(label + ".tip"));
} }
@Override @Override
@ -65,8 +62,14 @@ public class PipeItemsEmerald extends PipeItemsWood implements IClientState, IGu
public ToolTip getToolTip() { public ToolTip getToolTip() {
return this.tip; return this.tip;
} }
private final ToolTip tip = new ToolTip(500) {
@Override
public void refresh() {
clear();
tip.add(new ToolTipLine(StringUtils.localize(label + ".tip")));
}
};
} }
private final MultiButtonController stateController = MultiButtonController.getController(ButtonState.BLOCKING.ordinal(), ButtonState.values()); private final MultiButtonController stateController = MultiButtonController.getController(ButtonState.BLOCKING.ordinal(), ButtonState.values());
private final SimpleInventory filters = new SimpleInventory(9, "Filters", 1); private final SimpleInventory filters = new SimpleInventory(9, "Filters", 1);
private int currentFilter = 0; private int currentFilter = 0;
@ -108,7 +111,7 @@ public class PipeItemsEmerald extends PipeItemsWood implements IClientState, IGu
/* ISELECTIVEINVENTORY */ /* ISELECTIVEINVENTORY */
// non blocking mode is not implemented for ISelectiveInventory yet // non blocking mode is not implemented for ISelectiveInventory yet
if (inventory instanceof ISelectiveInventory) { if (inventory instanceof ISelectiveInventory) {
ItemStack[] stacks = ((ISelectiveInventory) inventory).extractItem(new ItemStack[] { getCurrentFilter() }, false, doRemove, from, (int) powerHandler.getEnergyStored()); ItemStack[] stacks = ((ISelectiveInventory) inventory).extractItem(new ItemStack[]{getCurrentFilter()}, false, doRemove, from, (int) powerHandler.getEnergyStored());
if (doRemove) { if (doRemove) {
for (ItemStack stack : stacks) { for (ItemStack stack : stacks) {
if (stack != null) { if (stack != null) {
@ -168,7 +171,7 @@ public class PipeItemsEmerald extends PipeItemsWood implements IClientState, IGu
} }
if (result != null) { if (result != null) {
return new ItemStack[] { result }; return new ItemStack[]{result};
} }
} }