Change mode behaviour

This commit is contained in:
Raoul Van den Berge
2016-05-22 01:25:16 +02:00
parent 177cca2542
commit 539ed3f445
11 changed files with 63 additions and 118 deletions

View File

@@ -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;
}

View File

@@ -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);
}
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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();
}

View File

@@ -0,0 +1,6 @@
package refinedstorage.tile.config;
public class ModeConstants {
public static final int BLACKLIST = 0;
public static final int WHITELIST = 1;
}

View File

@@ -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);