Change mode behaviour
This commit is contained in:
@@ -5,6 +5,7 @@ import refinedstorage.RefinedStorage;
|
||||
import refinedstorage.gui.GuiBase;
|
||||
import refinedstorage.network.MessageModeToggle;
|
||||
import refinedstorage.tile.config.IModeConfig;
|
||||
import refinedstorage.tile.config.ModeConstants;
|
||||
|
||||
public class SideButtonMode extends SideButton {
|
||||
private IModeConfig config;
|
||||
@@ -15,7 +16,7 @@ public class SideButtonMode extends SideButton {
|
||||
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui) {
|
||||
return TextFormatting.GREEN + gui.t("sidebutton.refinedstorage:mode") + TextFormatting.RESET + "\n" + gui.t("sidebutton.refinedstorage:mode." + (config.isWhitelist() ? "whitelist" : "blacklist"));
|
||||
return TextFormatting.GREEN + gui.t("sidebutton.refinedstorage:mode") + TextFormatting.RESET + "\n" + gui.t("sidebutton.refinedstorage:mode." + (config.getMode() == ModeConstants.WHITELIST ? "whitelist" : "blacklist"));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -24,9 +25,9 @@ public class SideButtonMode extends SideButton {
|
||||
|
||||
int tx = 0;
|
||||
|
||||
if (config.isWhitelist()) {
|
||||
if (config.getMode() == ModeConstants.WHITELIST) {
|
||||
tx = 0;
|
||||
} else if (config.isBlacklist()) {
|
||||
} else if (config.getMode() == ModeConstants.WHITELIST) {
|
||||
tx = 16;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraftforge.fml.common.network.simpleimpl.IMessage;
|
||||
import refinedstorage.tile.config.IModeConfig;
|
||||
import refinedstorage.tile.config.ModeConstants;
|
||||
|
||||
public class MessageModeToggle extends MessageHandlerPlayerToServer<MessageModeToggle> implements IMessage {
|
||||
private int x;
|
||||
@@ -42,10 +43,10 @@ public class MessageModeToggle extends MessageHandlerPlayerToServer<MessageModeT
|
||||
if (tile instanceof IModeConfig) {
|
||||
IModeConfig mode = (IModeConfig) tile;
|
||||
|
||||
if (mode.isWhitelist()) {
|
||||
mode.setToBlacklist();
|
||||
} else if (mode.isBlacklist()) {
|
||||
mode.setToWhitelist();
|
||||
if (mode.getMode() == ModeConstants.WHITELIST) {
|
||||
mode.setMode(ModeConstants.BLACKLIST);
|
||||
} else {
|
||||
mode.setMode(ModeConstants.WHITELIST);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import refinedstorage.container.ContainerDestructor;
|
||||
import refinedstorage.inventory.InventorySimple;
|
||||
import refinedstorage.tile.config.ICompareConfig;
|
||||
import refinedstorage.tile.config.IModeConfig;
|
||||
import refinedstorage.tile.config.ModeConstants;
|
||||
import refinedstorage.tile.config.ModeFilter;
|
||||
|
||||
import java.util.List;
|
||||
@@ -29,7 +30,7 @@ public class TileDestructor extends TileMachine implements ICompareConfig, IMode
|
||||
private InventorySimple upgradesInventory = new InventorySimple("upgrades", 4, this);
|
||||
|
||||
private int compare = 0;
|
||||
private int mode = 0;
|
||||
private int mode = ModeConstants.BLACKLIST;
|
||||
|
||||
@Override
|
||||
public int getEnergyUsage() {
|
||||
@@ -77,27 +78,13 @@ public class TileDestructor extends TileMachine implements ICompareConfig, IMode
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isWhitelist() {
|
||||
return mode == 0;
|
||||
public int getMode() {
|
||||
return mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBlacklist() {
|
||||
return mode == 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setToWhitelist() {
|
||||
markDirty();
|
||||
|
||||
this.mode = 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setToBlacklist() {
|
||||
markDirty();
|
||||
|
||||
this.mode = 1;
|
||||
public void setMode(int mode) {
|
||||
this.mode = mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -18,6 +18,7 @@ import refinedstorage.storage.*;
|
||||
import refinedstorage.tile.config.ICompareConfig;
|
||||
import refinedstorage.tile.config.IModeConfig;
|
||||
import refinedstorage.tile.config.IRedstoneModeConfig;
|
||||
import refinedstorage.tile.config.ModeConstants;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -33,7 +34,7 @@ public class TileDiskDrive extends TileMachine implements IStorageProvider, ISto
|
||||
|
||||
private int priority = 0;
|
||||
private int compare = 0;
|
||||
private int mode = 0;
|
||||
private int mode = ModeConstants.BLACKLIST;
|
||||
|
||||
public NBTStorage getStorage(int slot) {
|
||||
if (inventory.getStackInSlot(slot) == null) {
|
||||
@@ -149,27 +150,13 @@ public class TileDiskDrive extends TileMachine implements IStorageProvider, ISto
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isWhitelist() {
|
||||
return mode == 0;
|
||||
public int getMode() {
|
||||
return mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBlacklist() {
|
||||
return mode == 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setToWhitelist() {
|
||||
markDirty();
|
||||
|
||||
this.mode = 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setToBlacklist() {
|
||||
markDirty();
|
||||
|
||||
this.mode = 1;
|
||||
public void setMode(int mode) {
|
||||
this.mode = mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -17,10 +17,7 @@ import refinedstorage.storage.IStorage;
|
||||
import refinedstorage.storage.IStorageGui;
|
||||
import refinedstorage.storage.IStorageProvider;
|
||||
import refinedstorage.storage.ItemGroup;
|
||||
import refinedstorage.tile.config.ICompareConfig;
|
||||
import refinedstorage.tile.config.IModeConfig;
|
||||
import refinedstorage.tile.config.IRedstoneModeConfig;
|
||||
import refinedstorage.tile.config.ModeFilter;
|
||||
import refinedstorage.tile.config.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -33,7 +30,7 @@ public class TileExternalStorage extends TileMachine implements IStorageProvider
|
||||
|
||||
private int priority = 0;
|
||||
private int compare = 0;
|
||||
private int mode = 0;
|
||||
private int mode = ModeConstants.BLACKLIST;
|
||||
|
||||
private int stored = 0;
|
||||
|
||||
@@ -256,27 +253,13 @@ public class TileExternalStorage extends TileMachine implements IStorageProvider
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isWhitelist() {
|
||||
return mode == 0;
|
||||
public int getMode() {
|
||||
return mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBlacklist() {
|
||||
return mode == 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setToWhitelist() {
|
||||
markDirty();
|
||||
|
||||
this.mode = 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setToBlacklist() {
|
||||
markDirty();
|
||||
|
||||
this.mode = 1;
|
||||
public void setMode(int mode) {
|
||||
this.mode = mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -11,6 +11,7 @@ import refinedstorage.container.ContainerImporter;
|
||||
import refinedstorage.inventory.InventorySimple;
|
||||
import refinedstorage.tile.config.ICompareConfig;
|
||||
import refinedstorage.tile.config.IModeConfig;
|
||||
import refinedstorage.tile.config.ModeConstants;
|
||||
|
||||
public class TileImporter extends TileMachine implements ICompareConfig, IModeConfig {
|
||||
public static final String NBT_COMPARE = "Compare";
|
||||
@@ -20,7 +21,7 @@ public class TileImporter extends TileMachine implements ICompareConfig, IModeCo
|
||||
private InventorySimple upgradesInventory = new InventorySimple("upgrades", 4, this);
|
||||
|
||||
private int compare = 0;
|
||||
private int mode = 0;
|
||||
private int mode = ModeConstants.BLACKLIST;
|
||||
|
||||
private int currentSlot;
|
||||
|
||||
@@ -66,17 +67,16 @@ public class TileImporter extends TileMachine implements ICompareConfig, IModeCo
|
||||
slots++;
|
||||
|
||||
if (RefinedStorageUtils.compareStack(stack, slot, compare)) {
|
||||
if (isWhitelist()) {
|
||||
if (mode == ModeConstants.WHITELIST) {
|
||||
return true;
|
||||
} else if (isBlacklist()) {
|
||||
} else if (mode == ModeConstants.BLACKLIST) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// @todo: this should be isBlacklist
|
||||
return isWhitelist() ? (slots == 0) : true;
|
||||
return mode == ModeConstants.BLACKLIST ? (slots == 0) : true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -92,27 +92,13 @@ public class TileImporter extends TileMachine implements ICompareConfig, IModeCo
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isWhitelist() {
|
||||
return mode == 0;
|
||||
public int getMode() {
|
||||
return mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBlacklist() {
|
||||
return mode == 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setToWhitelist() {
|
||||
markDirty();
|
||||
|
||||
this.mode = 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setToBlacklist() {
|
||||
markDirty();
|
||||
|
||||
this.mode = 1;
|
||||
public void setMode(int mode) {
|
||||
this.mode = mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -16,6 +16,7 @@ import refinedstorage.storage.*;
|
||||
import refinedstorage.tile.config.ICompareConfig;
|
||||
import refinedstorage.tile.config.IModeConfig;
|
||||
import refinedstorage.tile.config.IRedstoneModeConfig;
|
||||
import refinedstorage.tile.config.ModeConstants;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -33,7 +34,7 @@ public class TileStorage extends TileMachine implements IStorageProvider, IStora
|
||||
|
||||
private int priority = 0;
|
||||
private int compare = 0;
|
||||
private int mode = 0;
|
||||
private int mode = ModeConstants.BLACKLIST;
|
||||
private int stored;
|
||||
|
||||
@Override
|
||||
@@ -143,27 +144,13 @@ public class TileStorage extends TileMachine implements IStorageProvider, IStora
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isWhitelist() {
|
||||
return mode == 0;
|
||||
public int getMode() {
|
||||
return mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBlacklist() {
|
||||
return mode == 1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setToWhitelist() {
|
||||
markDirty();
|
||||
|
||||
this.mode = 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setToBlacklist() {
|
||||
markDirty();
|
||||
|
||||
this.mode = 1;
|
||||
public void setMode(int mode) {
|
||||
this.mode = mode;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -3,13 +3,9 @@ package refinedstorage.tile.config;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
|
||||
public interface IModeConfig {
|
||||
boolean isWhitelist();
|
||||
void setMode(int mode);
|
||||
|
||||
boolean isBlacklist();
|
||||
|
||||
void setToWhitelist();
|
||||
|
||||
void setToBlacklist();
|
||||
int getMode();
|
||||
|
||||
BlockPos getMachinePos();
|
||||
}
|
||||
|
||||
6
src/main/java/refinedstorage/tile/config/ModeConstants.java
Executable file
6
src/main/java/refinedstorage/tile/config/ModeConstants.java
Executable file
@@ -0,0 +1,6 @@
|
||||
package refinedstorage.tile.config;
|
||||
|
||||
public class ModeConstants {
|
||||
public static final int BLACKLIST = 0;
|
||||
public static final int WHITELIST = 1;
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import refinedstorage.RefinedStorageUtils;
|
||||
|
||||
public class ModeFilter {
|
||||
public static boolean respectsMode(IInventory filters, IModeConfig mode, int compare, ItemStack stack) {
|
||||
if (mode.isWhitelist()) {
|
||||
if (mode.getMode() == ModeConstants.WHITELIST) {
|
||||
int slots = 0;
|
||||
|
||||
for (int i = 0; i < filters.getSizeInventory(); ++i) {
|
||||
@@ -22,7 +22,7 @@ public class ModeFilter {
|
||||
}
|
||||
|
||||
return slots == 0;
|
||||
} else if (mode.isBlacklist()) {
|
||||
} else if (mode.getMode() == ModeConstants.BLACKLIST) {
|
||||
for (int i = 0; i < filters.getSizeInventory(); ++i) {
|
||||
ItemStack slot = filters.getStackInSlot(i);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user