Remove "compare nbt" button, switch it to "exact mode" on or off. Rewrite Comparer a bit.
This commit is contained in:
@@ -3,7 +3,7 @@ package com.raoulvdberge.refinedstorage.api.util;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
/**
|
||||
* Utilities for comparing item and fluid stacks.
|
||||
@@ -20,7 +20,7 @@ public interface IComparer {
|
||||
* @param flags the flags to compare with
|
||||
* @return true if the left and right stack are the same, false otherwise
|
||||
*/
|
||||
boolean isEqual(@Nullable ItemStack left, @Nullable ItemStack right, int flags);
|
||||
boolean isEqual(@Nonnull ItemStack left, @Nonnull ItemStack right, int flags);
|
||||
|
||||
/**
|
||||
* Compares two stacks by NBT, damage and quantity.
|
||||
@@ -29,7 +29,7 @@ public interface IComparer {
|
||||
* @param right the right stack
|
||||
* @return true if the left and right stack are the same, false otherwise
|
||||
*/
|
||||
default boolean isEqual(@Nullable ItemStack left, @Nullable ItemStack right) {
|
||||
default boolean isEqual(@Nonnull ItemStack left, @Nonnull ItemStack right) {
|
||||
return isEqual(left, right, COMPARE_NBT | COMPARE_QUANTITY);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public interface IComparer {
|
||||
* @param right the right stack
|
||||
* @return true if the left and right stack are the same, false otherwise
|
||||
*/
|
||||
default boolean isEqualNoQuantity(@Nullable ItemStack left, @Nullable ItemStack right) {
|
||||
default boolean isEqualNoQuantity(@Nonnull ItemStack left, @Nonnull ItemStack right) {
|
||||
return isEqual(left, right, COMPARE_NBT);
|
||||
}
|
||||
|
||||
@@ -52,14 +52,5 @@ public interface IComparer {
|
||||
* @param flags the flags to compare with
|
||||
* @return true if the left and right stack are the same, false otherwise
|
||||
*/
|
||||
boolean isEqual(@Nullable FluidStack left, @Nullable FluidStack right, int flags);
|
||||
|
||||
/**
|
||||
* Compares the NBT tags of two stacks.
|
||||
*
|
||||
* @param left the left stack
|
||||
* @param right the right stack
|
||||
* @return true if the NBT tags of the two stacks are the same, false otherwise
|
||||
*/
|
||||
boolean isEqualNbt(@Nullable ItemStack left, @Nullable ItemStack right);
|
||||
boolean isEqual(@Nonnull FluidStack left, @Nonnull FluidStack right, int flags);
|
||||
}
|
||||
|
@@ -2,26 +2,23 @@ package com.raoulvdberge.refinedstorage.apiimpl.util;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ActionResultType;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import javax.annotation.Nonnull;
|
||||
|
||||
public class Comparer implements IComparer {
|
||||
@Override
|
||||
public boolean isEqual(@Nullable ItemStack left, @Nullable ItemStack right, int flags) {
|
||||
ActionResultType validity = getResult(left, right);
|
||||
|
||||
if (validity == ActionResultType.FAIL || validity == ActionResultType.SUCCESS) {
|
||||
return validity == ActionResultType.SUCCESS;
|
||||
public boolean isEqual(@Nonnull ItemStack left, @Nonnull ItemStack right, int flags) {
|
||||
if (left.isEmpty() && right.isEmpty()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (left.getItem() != right.getItem()) {
|
||||
if (!ItemStack.areItemsEqual(left, right)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((flags & COMPARE_NBT) == COMPARE_NBT) {
|
||||
if (!isEqualNbt(left, right)) {
|
||||
if (!ItemStack.areItemStackTagsEqual(left, right)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -36,77 +33,27 @@ public class Comparer implements IComparer {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEqual(@Nullable FluidStack left, @Nullable FluidStack right, int flags) {
|
||||
if (left == null && right == null) {
|
||||
public boolean isEqual(@Nonnull FluidStack left, @Nonnull FluidStack right, int flags) {
|
||||
if (left.isEmpty() && right.isEmpty()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if ((left == null && right != null) || (left != null && right == null)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (left.getFluid() != right.getFluid()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((flags & COMPARE_NBT) == COMPARE_NBT) {
|
||||
if (!FluidStack.areFluidStackTagsEqual(left, right)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if ((flags & COMPARE_QUANTITY) == COMPARE_QUANTITY) {
|
||||
if (left.getAmount() != right.getAmount()) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if ((flags & COMPARE_NBT) == COMPARE_NBT) {
|
||||
if (left.getTag() != null && !left.getTag().equals(right.getTag())) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEqualNbt(@Nullable ItemStack left, @Nullable ItemStack right) {
|
||||
ActionResultType validity = getResult(left, right);
|
||||
|
||||
if (validity == ActionResultType.FAIL || validity == ActionResultType.SUCCESS) {
|
||||
return validity == ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
if (!ItemStack.areItemStackTagsEqual(left, right)) {
|
||||
if (left.hasTag() && !right.hasTag() && left.getTag().isEmpty()) {
|
||||
return true;
|
||||
} else if (!left.hasTag() && right.hasTag() && right.getTag().isEmpty()) {
|
||||
return true;
|
||||
} else if (!left.hasTag() && !right.hasTag()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private ActionResultType getResult(@Nullable ItemStack left, @Nullable ItemStack right) {
|
||||
if (left == null && right == null) {
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
if ((left == null && right != null) || (left != null && right == null)) {
|
||||
return ActionResultType.FAIL;
|
||||
}
|
||||
|
||||
boolean leftEmpty = left.isEmpty();
|
||||
boolean rightEmpty = right.isEmpty();
|
||||
|
||||
if (leftEmpty && rightEmpty) {
|
||||
return ActionResultType.SUCCESS;
|
||||
}
|
||||
|
||||
if ((leftEmpty && !rightEmpty) || (!leftEmpty && rightEmpty)) {
|
||||
return ActionResultType.FAIL;
|
||||
}
|
||||
|
||||
return ActionResultType.PASS;
|
||||
}
|
||||
}
|
||||
|
@@ -164,7 +164,7 @@ public abstract class BaseContainer extends Container {
|
||||
@Override
|
||||
protected Slot addSlot(Slot slot) {
|
||||
if (slot instanceof FluidFilterSlot) {
|
||||
fluids.add(null);
|
||||
fluids.add(FluidStack.EMPTY);
|
||||
fluidSlots.add((FluidFilterSlot) slot);
|
||||
}
|
||||
|
||||
|
@@ -1,10 +1,9 @@
|
||||
package com.raoulvdberge.refinedstorage.screen;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.container.ConstructorContainer;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.CompareSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.ConstructorDropSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.ExactModeSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.TypeSideButton;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileConstructor;
|
||||
@@ -22,7 +21,7 @@ public class GuiConstructor extends BaseScreen<ConstructorContainer> {
|
||||
|
||||
addSideButton(new TypeSideButton(this, TileConstructor.TYPE));
|
||||
|
||||
addSideButton(new CompareSideButton(this, TileConstructor.COMPARE, IComparer.COMPARE_NBT));
|
||||
addSideButton(new ExactModeSideButton(this, TileConstructor.COMPARE));
|
||||
addSideButton(new ConstructorDropSideButton(this));
|
||||
}
|
||||
|
||||
|
@@ -1,7 +1,6 @@
|
||||
package com.raoulvdberge.refinedstorage.screen;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.container.DestructorContainer;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.*;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileDestructor;
|
||||
@@ -21,7 +20,7 @@ public class GuiDestructor extends BaseScreen<DestructorContainer> {
|
||||
|
||||
addSideButton(new WhitelistBlacklistSideButton(this, TileDestructor.WHITELIST_BLACKLIST));
|
||||
|
||||
addSideButton(new CompareSideButton(this, TileDestructor.COMPARE, IComparer.COMPARE_NBT));
|
||||
addSideButton(new ExactModeSideButton(this, TileDestructor.COMPARE));
|
||||
|
||||
addSideButton(new DestructorPickupSideButton(this));
|
||||
}
|
||||
|
@@ -1,10 +1,9 @@
|
||||
package com.raoulvdberge.refinedstorage.screen;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.container.DetectorContainer;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.CompareSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.DetectorModeSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.ExactModeSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.TypeSideButton;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileDetector;
|
||||
import net.minecraft.client.gui.widget.TextFieldWidget;
|
||||
@@ -24,7 +23,7 @@ public class GuiDetector extends BaseScreen<DetectorContainer> {
|
||||
|
||||
addSideButton(new DetectorModeSideButton(this));
|
||||
|
||||
addSideButton(new CompareSideButton(this, TileDetector.COMPARE, IComparer.COMPARE_NBT));
|
||||
addSideButton(new ExactModeSideButton(this, TileDetector.COMPARE));
|
||||
|
||||
amount = new TextFieldWidget(font, x + 41 + 1, y + 23 + 1, 50, font.FONT_HEIGHT, "");
|
||||
amount.setText(String.valueOf(TileDetector.AMOUNT.getValue()));
|
||||
|
@@ -1,7 +1,6 @@
|
||||
package com.raoulvdberge.refinedstorage.screen;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.container.DiskManipulatorContainer;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.*;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileDiskManipulator;
|
||||
@@ -19,7 +18,7 @@ public class GuiDiskManipulator extends BaseScreen<DiskManipulatorContainer> {
|
||||
addSideButton(new IoModeSideButton(this));
|
||||
addSideButton(new TypeSideButton(this, TileDiskManipulator.TYPE));
|
||||
addSideButton(new WhitelistBlacklistSideButton(this, TileDiskManipulator.WHITELIST_BLACKLIST));
|
||||
addSideButton(new CompareSideButton(this, TileDiskManipulator.COMPARE, IComparer.COMPARE_NBT));
|
||||
addSideButton(new ExactModeSideButton(this, TileDiskManipulator.COMPARE));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -1,9 +1,8 @@
|
||||
package com.raoulvdberge.refinedstorage.screen;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.container.ExporterContainer;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.CompareSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.ExactModeSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.TypeSideButton;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileExporter;
|
||||
@@ -21,7 +20,7 @@ public class GuiExporter extends BaseScreen<ExporterContainer> {
|
||||
|
||||
addSideButton(new TypeSideButton(this, TileExporter.TYPE));
|
||||
|
||||
addSideButton(new CompareSideButton(this, TileExporter.COMPARE, IComparer.COMPARE_NBT));
|
||||
addSideButton(new ExactModeSideButton(this, TileExporter.COMPARE));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -1,9 +1,8 @@
|
||||
package com.raoulvdberge.refinedstorage.screen;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.container.ImporterContainer;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.CompareSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.ExactModeSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.TypeSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.WhitelistBlacklistSideButton;
|
||||
@@ -24,7 +23,7 @@ public class GuiImporter extends BaseScreen<ImporterContainer> {
|
||||
|
||||
addSideButton(new WhitelistBlacklistSideButton(this, TileImporter.WHITELIST_BLACKLIST));
|
||||
|
||||
addSideButton(new CompareSideButton(this, TileImporter.COMPARE, IComparer.COMPARE_NBT));
|
||||
addSideButton(new ExactModeSideButton(this, TileImporter.COMPARE));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -1,9 +1,8 @@
|
||||
package com.raoulvdberge.refinedstorage.screen;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.container.InterfaceContainer;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.CompareSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.ExactModeSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.RedstoneModeSideButton;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileInterface;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
@@ -18,7 +17,7 @@ public class GuiInterface extends BaseScreen<InterfaceContainer> {
|
||||
public void onPostInit(int x, int y) {
|
||||
addSideButton(new RedstoneModeSideButton(this, TileInterface.REDSTONE_MODE));
|
||||
|
||||
addSideButton(new CompareSideButton(this, TileInterface.COMPARE, IComparer.COMPARE_NBT));
|
||||
addSideButton(new ExactModeSideButton(this, TileInterface.COMPARE));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -1,9 +1,8 @@
|
||||
package com.raoulvdberge.refinedstorage.screen;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.container.StorageMonitorContainer;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.CompareSideButton;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.ExactModeSideButton;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileStorageMonitor;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.PlayerInventory;
|
||||
@@ -15,7 +14,7 @@ public class GuiStorageMonitor extends BaseScreen<StorageMonitorContainer> {
|
||||
|
||||
@Override
|
||||
public void onPostInit(int x, int y) {
|
||||
addSideButton(new CompareSideButton(this, TileStorageMonitor.COMPARE, IComparer.COMPARE_NBT));
|
||||
addSideButton(new ExactModeSideButton(this, TileStorageMonitor.COMPARE));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -2,12 +2,10 @@ package com.raoulvdberge.refinedstorage.screen;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.storage.AccessType;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IComparer;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.*;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||
import com.raoulvdberge.refinedstorage.util.RenderUtils;
|
||||
import net.minecraft.client.gui.widget.button.Button;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.entity.player.PlayerInventory;
|
||||
import net.minecraft.inventory.container.Container;
|
||||
@@ -26,22 +24,20 @@ public class StorageScreen<T extends Container> extends BaseScreen<T> {
|
||||
private String texture;
|
||||
private TileDataParameter<Integer, ?> typeParameter;
|
||||
private TileDataParameter<Integer, ?> redstoneModeParameter;
|
||||
private TileDataParameter<Integer, ?> compareParameter;
|
||||
private TileDataParameter<Integer, ?> exactModeParameter;
|
||||
private TileDataParameter<Integer, ?> whitelistBlacklistParameter;
|
||||
private TileDataParameter<Integer, ?> priorityParameter;
|
||||
private TileDataParameter<AccessType, ?> accessTypeParameter;
|
||||
private Supplier<Long> storedSupplier;
|
||||
private Supplier<Long> capacitySupplier;
|
||||
|
||||
private Button priorityButton;
|
||||
|
||||
public StorageScreen(T container,
|
||||
PlayerInventory inventory,
|
||||
ITextComponent title,
|
||||
String texture,
|
||||
@Nullable TileDataParameter<Integer, ?> typeParameter,
|
||||
@Nullable TileDataParameter<Integer, ?> redstoneModeParameter,
|
||||
@Nullable TileDataParameter<Integer, ?> compareParameter,
|
||||
@Nullable TileDataParameter<Integer, ?> exactModeParameter,
|
||||
@Nullable TileDataParameter<Integer, ?> whitelistBlacklistParameter,
|
||||
TileDataParameter<Integer, ?> priorityParameter,
|
||||
@Nullable TileDataParameter<AccessType, ?> accessTypeParameter,
|
||||
@@ -51,7 +47,7 @@ public class StorageScreen<T extends Container> extends BaseScreen<T> {
|
||||
this.texture = texture;
|
||||
this.typeParameter = typeParameter;
|
||||
this.redstoneModeParameter = redstoneModeParameter;
|
||||
this.compareParameter = compareParameter;
|
||||
this.exactModeParameter = exactModeParameter;
|
||||
this.whitelistBlacklistParameter = whitelistBlacklistParameter;
|
||||
this.priorityParameter = priorityParameter;
|
||||
this.accessTypeParameter = accessTypeParameter;
|
||||
@@ -73,8 +69,8 @@ public class StorageScreen<T extends Container> extends BaseScreen<T> {
|
||||
addSideButton(new WhitelistBlacklistSideButton(this, whitelistBlacklistParameter));
|
||||
}
|
||||
|
||||
if (compareParameter != null) {
|
||||
addSideButton(new CompareSideButton(this, compareParameter, IComparer.COMPARE_NBT));
|
||||
if (exactModeParameter != null) {
|
||||
addSideButton(new ExactModeSideButton(this, exactModeParameter));
|
||||
}
|
||||
|
||||
if (accessTypeParameter != null) {
|
||||
@@ -83,7 +79,7 @@ public class StorageScreen<T extends Container> extends BaseScreen<T> {
|
||||
|
||||
int buttonWidth = 10 + font.getStringWidth(I18n.format("misc.refinedstorage.priority"));
|
||||
|
||||
priorityButton = addButton(x + 169 - buttonWidth, y + 41, buttonWidth, 20, I18n.format("misc.refinedstorage.priority"), true, true, btn -> {
|
||||
addButton(x + 169 - buttonWidth, y + 41, buttonWidth, 20, I18n.format("misc.refinedstorage.priority"), true, true, btn -> {
|
||||
minecraft.displayGuiScreen(new PriorityScreen(this, priorityParameter, playerInventory));
|
||||
});
|
||||
}
|
||||
|
@@ -7,25 +7,25 @@ import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
|
||||
public class CompareSideButton extends SideButton {
|
||||
private TileDataParameter<Integer, ?> parameter;
|
||||
private int mask;
|
||||
public class ExactModeSideButton extends SideButton {
|
||||
private static final int MASK = IComparer.COMPARE_NBT;
|
||||
|
||||
public CompareSideButton(BaseScreen screen, TileDataParameter<Integer, ?> parameter, int mask) {
|
||||
private TileDataParameter<Integer, ?> parameter;
|
||||
|
||||
public ExactModeSideButton(BaseScreen screen, TileDataParameter<Integer, ?> parameter) {
|
||||
super(screen);
|
||||
|
||||
this.parameter = parameter;
|
||||
this.mask = mask;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip() {
|
||||
String tooltip = I18n.format("sidebutton.refinedstorage.compare." + mask) + "\n" + TextFormatting.GRAY;
|
||||
String tooltip = I18n.format("sidebutton.refinedstorage.exact_mode") + "\n" + TextFormatting.GRAY;
|
||||
|
||||
if ((parameter.getValue() & mask) == mask) {
|
||||
tooltip += I18n.format("gui.yes");
|
||||
if ((parameter.getValue() & MASK) == MASK) {
|
||||
tooltip += I18n.format("sidebutton.refinedstorage.exact_mode.on");
|
||||
} else {
|
||||
tooltip += I18n.format("gui.no");
|
||||
tooltip += I18n.format("sidebutton.refinedstorage.exact_mode.off");
|
||||
}
|
||||
|
||||
return tooltip;
|
||||
@@ -33,19 +33,14 @@ public class CompareSideButton extends SideButton {
|
||||
|
||||
@Override
|
||||
protected void renderButtonIcon(int x, int y) {
|
||||
int ty = 0;
|
||||
|
||||
if (mask == IComparer.COMPARE_NBT) {
|
||||
ty = 48;
|
||||
}
|
||||
|
||||
int tx = (parameter.getValue() & mask) == mask ? 0 : 16;
|
||||
int ty = 16 * 12;
|
||||
int tx = (parameter.getValue() & MASK) == MASK ? 0 : 16;
|
||||
|
||||
screen.blit(x, y, tx, ty, 16, 16);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPress() {
|
||||
TileDataManager.setParameter(parameter, parameter.getValue() ^ mask);
|
||||
TileDataManager.setParameter(parameter, parameter.getValue() ^ MASK);
|
||||
}
|
||||
}
|
@@ -123,7 +123,9 @@
|
||||
"misc.refinedstorage.last_modified.weeks": "Last modified %d weeks ago by %s",
|
||||
"misc.refinedstorage.last_modified.year": "Last modified %d year ago by %s",
|
||||
"misc.refinedstorage.last_modified.years": "Last modified %d years ago by %s",
|
||||
"sidebutton.refinedstorage.compare.1": "Use NBT",
|
||||
"sidebutton.refinedstorage.exact_mode": "Exact mode",
|
||||
"sidebutton.refinedstorage.exact_mode.on": "On",
|
||||
"sidebutton.refinedstorage.exact_mode.off": "Off",
|
||||
"sidebutton.refinedstorage.redstone_mode": "Redstone mode",
|
||||
"sidebutton.refinedstorage.redstone_mode.0": "Ignore redstone signal",
|
||||
"sidebutton.refinedstorage.redstone_mode.1": "Only work with redstone signal",
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
Reference in New Issue
Block a user