diff --git a/src/main/java/storagecraft/gui/GuiImporter.java b/src/main/java/storagecraft/gui/GuiImporter.java index 1eeb0128a..efdded5e4 100644 --- a/src/main/java/storagecraft/gui/GuiImporter.java +++ b/src/main/java/storagecraft/gui/GuiImporter.java @@ -3,7 +3,7 @@ package storagecraft.gui; import storagecraft.container.ContainerImporter; import storagecraft.gui.sidebutton.SideButtonCompare; import storagecraft.gui.sidebutton.SideButtonRedstoneMode; -import storagecraft.gui.sidebutton.SideButtonWhitelistBlacklist; +import storagecraft.gui.sidebutton.SideButtonMode; import storagecraft.tile.TileImporter; import storagecraft.util.InventoryUtils; @@ -23,7 +23,7 @@ public class GuiImporter extends GuiBase { addSideButton(new SideButtonRedstoneMode(importer)); - addSideButton(new SideButtonWhitelistBlacklist(importer)); + addSideButton(new SideButtonMode(importer)); addSideButton(new SideButtonCompare(importer, InventoryUtils.COMPARE_DAMAGE)); addSideButton(new SideButtonCompare(importer, InventoryUtils.COMPARE_NBT)); diff --git a/src/main/java/storagecraft/gui/GuiStorage.java b/src/main/java/storagecraft/gui/GuiStorage.java index cd5f52f04..74a6e974a 100644 --- a/src/main/java/storagecraft/gui/GuiStorage.java +++ b/src/main/java/storagecraft/gui/GuiStorage.java @@ -6,7 +6,7 @@ import net.minecraft.client.gui.GuiTextField; import storagecraft.container.ContainerStorage; import storagecraft.gui.sidebutton.SideButtonCompare; import storagecraft.gui.sidebutton.SideButtonRedstoneMode; -import storagecraft.gui.sidebutton.SideButtonWhitelistBlacklist; +import storagecraft.gui.sidebutton.SideButtonMode; import storagecraft.storage.IStorageGui; import storagecraft.util.InventoryUtils; @@ -38,7 +38,7 @@ public class GuiStorage extends GuiBase if (gui.getWhitelistBlacklistSetting() != null) { - addSideButton(new SideButtonWhitelistBlacklist(gui.getWhitelistBlacklistSetting())); + addSideButton(new SideButtonMode(gui.getWhitelistBlacklistSetting())); } if (gui.getCompareSetting() != null) diff --git a/src/main/java/storagecraft/gui/sidebutton/SideButtonMode.java b/src/main/java/storagecraft/gui/sidebutton/SideButtonMode.java new file mode 100644 index 000000000..be1f01e12 --- /dev/null +++ b/src/main/java/storagecraft/gui/sidebutton/SideButtonMode.java @@ -0,0 +1,54 @@ +package storagecraft.gui.sidebutton; + +import net.minecraft.util.EnumChatFormatting; +import storagecraft.StorageCraft; +import storagecraft.gui.GuiBase; +import storagecraft.network.MessageModeToggle; +import storagecraft.tile.IModeSetting; + +public class SideButtonMode extends SideButton +{ + private IModeSetting mode; + + public SideButtonMode(IModeSetting mode) + { + this.mode = mode; + } + + @Override + public String getTooltip(GuiBase gui) + { + StringBuilder builder = new StringBuilder(); + + builder.append(EnumChatFormatting.GREEN).append(gui.t("sidebutton.storagecraft:mode")).append(EnumChatFormatting.RESET).append("\n"); + + builder.append(gui.t("sidebutton.storagecraft:mode." + (mode.isWhitelist() ? "whitelist" : "blacklist"))); + + return builder.toString(); + } + + @Override + public void draw(GuiBase gui, int x, int y) + { + gui.bindTexture("icons.png"); + + int tx = 0; + + if (mode.isWhitelist()) + { + tx = 0; + } + else if (mode.isBlacklist()) + { + tx = 16; + } + + gui.drawTexture(x, y + 1, tx, 64, 16, 16); + } + + @Override + public void actionPerformed() + { + StorageCraft.NETWORK.sendToServer(new MessageModeToggle(mode)); + } +} diff --git a/src/main/java/storagecraft/gui/sidebutton/SideButtonWhitelistBlacklist.java b/src/main/java/storagecraft/gui/sidebutton/SideButtonWhitelistBlacklist.java deleted file mode 100644 index 4de3f2306..000000000 --- a/src/main/java/storagecraft/gui/sidebutton/SideButtonWhitelistBlacklist.java +++ /dev/null @@ -1,54 +0,0 @@ -package storagecraft.gui.sidebutton; - -import net.minecraft.util.EnumChatFormatting; -import storagecraft.StorageCraft; -import storagecraft.gui.GuiBase; -import storagecraft.network.MessageWhitelistBlacklistToggle; -import storagecraft.tile.IWhitelistBlacklistSetting; - -public class SideButtonWhitelistBlacklist extends SideButton -{ - private IWhitelistBlacklistSetting wb; - - public SideButtonWhitelistBlacklist(IWhitelistBlacklistSetting wb) - { - this.wb = wb; - } - - @Override - public String getTooltip(GuiBase gui) - { - StringBuilder builder = new StringBuilder(); - - builder.append(EnumChatFormatting.GREEN).append(gui.t("sidebutton.storagecraft:whitelist_blacklist")).append(EnumChatFormatting.RESET).append("\n"); - - builder.append(gui.t("sidebutton.storagecraft:whitelist_blacklist." + (wb.isWhitelist() ? "whitelist" : "blacklist"))); - - return builder.toString(); - } - - @Override - public void draw(GuiBase gui, int x, int y) - { - gui.bindTexture("icons.png"); - - int tx = 0; - - if (wb.isWhitelist()) - { - tx = 0; - } - else if (wb.isBlacklist()) - { - tx = 16; - } - - gui.drawTexture(x, y + 1, tx, 64, 16, 16); - } - - @Override - public void actionPerformed() - { - StorageCraft.NETWORK.sendToServer(new MessageWhitelistBlacklistToggle(wb)); - } -} diff --git a/src/main/java/storagecraft/network/MessageModeToggle.java b/src/main/java/storagecraft/network/MessageModeToggle.java new file mode 100644 index 000000000..1004a2edb --- /dev/null +++ b/src/main/java/storagecraft/network/MessageModeToggle.java @@ -0,0 +1,62 @@ +package storagecraft.network; + +import io.netty.buffer.ByteBuf; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.BlockPos; +import net.minecraftforge.fml.common.network.simpleimpl.IMessage; +import storagecraft.tile.IModeSetting; + +public class MessageModeToggle extends MessageHandlerPlayerToServer implements IMessage +{ + private int x; + private int y; + private int z; + + public MessageModeToggle() + { + } + + public MessageModeToggle(IModeSetting mode) + { + this.x = mode.getMachinePos().getX(); + this.y = mode.getMachinePos().getY(); + this.z = mode.getMachinePos().getZ(); + } + + @Override + public void fromBytes(ByteBuf buf) + { + x = buf.readInt(); + y = buf.readInt(); + z = buf.readInt(); + } + + @Override + public void toBytes(ByteBuf buf) + { + buf.writeInt(x); + buf.writeInt(y); + buf.writeInt(z); + } + + @Override + public void handle(MessageModeToggle message, EntityPlayerMP player) + { + TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z)); + + if (tile instanceof IModeSetting) + { + IModeSetting mode = (IModeSetting) tile; + + if (mode.isWhitelist()) + { + mode.setToBlacklist(); + } + else if (mode.isBlacklist()) + { + mode.setToWhitelist(); + } + } + } +} diff --git a/src/main/java/storagecraft/network/MessageWhitelistBlacklistToggle.java b/src/main/java/storagecraft/network/MessageWhitelistBlacklistToggle.java deleted file mode 100644 index b0bc95faa..000000000 --- a/src/main/java/storagecraft/network/MessageWhitelistBlacklistToggle.java +++ /dev/null @@ -1,62 +0,0 @@ -package storagecraft.network; - -import io.netty.buffer.ByteBuf; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.BlockPos; -import net.minecraftforge.fml.common.network.simpleimpl.IMessage; -import storagecraft.tile.IWhitelistBlacklistSetting; - -public class MessageWhitelistBlacklistToggle extends MessageHandlerPlayerToServer implements IMessage -{ - private int x; - private int y; - private int z; - - public MessageWhitelistBlacklistToggle() - { - } - - public MessageWhitelistBlacklistToggle(IWhitelistBlacklistSetting wb) - { - this.x = wb.getMachinePos().getX(); - this.y = wb.getMachinePos().getY(); - this.z = wb.getMachinePos().getZ(); - } - - @Override - public void fromBytes(ByteBuf buf) - { - x = buf.readInt(); - y = buf.readInt(); - z = buf.readInt(); - } - - @Override - public void toBytes(ByteBuf buf) - { - buf.writeInt(x); - buf.writeInt(y); - buf.writeInt(z); - } - - @Override - public void handle(MessageWhitelistBlacklistToggle message, EntityPlayerMP player) - { - TileEntity tile = player.worldObj.getTileEntity(new BlockPos(message.x, message.y, message.z)); - - if (tile instanceof IWhitelistBlacklistSetting) - { - IWhitelistBlacklistSetting wb = (IWhitelistBlacklistSetting) tile; - - if (wb.isWhitelist()) - { - wb.setToBlacklist(); - } - else if (wb.isBlacklist()) - { - wb.setToWhitelist(); - } - } - } -} diff --git a/src/main/java/storagecraft/proxy/CommonProxy.java b/src/main/java/storagecraft/proxy/CommonProxy.java index 230e386dd..6e508e8e3 100644 --- a/src/main/java/storagecraft/proxy/CommonProxy.java +++ b/src/main/java/storagecraft/proxy/CommonProxy.java @@ -29,7 +29,7 @@ public class CommonProxy StorageCraft.NETWORK.registerMessage(MessageStoragePush.class, MessageStoragePush.class, 2, Side.SERVER); StorageCraft.NETWORK.registerMessage(MessageStoragePull.class, MessageStoragePull.class, 3, Side.SERVER); StorageCraft.NETWORK.registerMessage(MessageCompareUpdate.class, MessageCompareUpdate.class, 4, Side.SERVER); - StorageCraft.NETWORK.registerMessage(MessageWhitelistBlacklistToggle.class, MessageWhitelistBlacklistToggle.class, 5, Side.SERVER); + StorageCraft.NETWORK.registerMessage(MessageModeToggle.class, MessageModeToggle.class, 5, Side.SERVER); StorageCraft.NETWORK.registerMessage(MessageDetectorModeUpdate.class, MessageDetectorModeUpdate.class, 6, Side.SERVER); StorageCraft.NETWORK.registerMessage(MessageDetectorAmountUpdate.class, MessageDetectorAmountUpdate.class, 7, Side.SERVER); StorageCraft.NETWORK.registerMessage(MessageGridCraftingUpdate.class, MessageGridCraftingUpdate.class, 8, Side.CLIENT); diff --git a/src/main/java/storagecraft/storage/IStorageGui.java b/src/main/java/storagecraft/storage/IStorageGui.java index e7a7eb9fc..2e1b3e038 100644 --- a/src/main/java/storagecraft/storage/IStorageGui.java +++ b/src/main/java/storagecraft/storage/IStorageGui.java @@ -3,7 +3,7 @@ package storagecraft.storage; import net.minecraft.inventory.IInventory; import storagecraft.tile.ICompareSetting; import storagecraft.tile.IRedstoneModeSetting; -import storagecraft.tile.IWhitelistBlacklistSetting; +import storagecraft.tile.IModeSetting; public interface IStorageGui { @@ -22,7 +22,7 @@ public interface IStorageGui public ICompareSetting getCompareSetting(); - public IWhitelistBlacklistSetting getWhitelistBlacklistSetting(); + public IModeSetting getWhitelistBlacklistSetting(); public int getStored(); diff --git a/src/main/java/storagecraft/tile/IWhitelistBlacklistSetting.java b/src/main/java/storagecraft/tile/IModeSetting.java similarity index 79% rename from src/main/java/storagecraft/tile/IWhitelistBlacklistSetting.java rename to src/main/java/storagecraft/tile/IModeSetting.java index 59e869f65..c91d22af4 100644 --- a/src/main/java/storagecraft/tile/IWhitelistBlacklistSetting.java +++ b/src/main/java/storagecraft/tile/IModeSetting.java @@ -2,7 +2,7 @@ package storagecraft.tile; import net.minecraft.util.BlockPos; -public interface IWhitelistBlacklistSetting +public interface IModeSetting { public boolean isWhitelist(); diff --git a/src/main/java/storagecraft/tile/TileExternalStorage.java b/src/main/java/storagecraft/tile/TileExternalStorage.java index 383fefdc8..ebd59d324 100644 --- a/src/main/java/storagecraft/tile/TileExternalStorage.java +++ b/src/main/java/storagecraft/tile/TileExternalStorage.java @@ -17,7 +17,7 @@ import storagecraft.storage.IStorageProvider; import storagecraft.storage.StorageItem; import storagecraft.util.InventoryUtils; -public class TileExternalStorage extends TileMachine implements IStorageProvider, IStorage, IStorageGui, ICompareSetting, IWhitelistBlacklistSetting +public class TileExternalStorage extends TileMachine implements IStorageProvider, IStorage, IStorageGui, ICompareSetting, IModeSetting { public static final String NBT_PRIORITY = "Priority"; public static final String NBT_COMPARE = "Compare"; @@ -274,7 +274,7 @@ public class TileExternalStorage extends TileMachine implements IStorageProvider } @Override - public IWhitelistBlacklistSetting getWhitelistBlacklistSetting() + public IModeSetting getWhitelistBlacklistSetting() { return this; } diff --git a/src/main/java/storagecraft/tile/TileImporter.java b/src/main/java/storagecraft/tile/TileImporter.java index a530de49d..c13bb7cff 100644 --- a/src/main/java/storagecraft/tile/TileImporter.java +++ b/src/main/java/storagecraft/tile/TileImporter.java @@ -12,7 +12,7 @@ import net.minecraft.util.IChatComponent; import storagecraft.inventory.InventorySimple; import storagecraft.util.InventoryUtils; -public class TileImporter extends TileMachine implements IInventory, ISidedInventory, ICompareSetting, IWhitelistBlacklistSetting +public class TileImporter extends TileMachine implements IInventory, ISidedInventory, ICompareSetting, IModeSetting { public static final String NBT_COMPARE = "Compare"; public static final String NBT_MODE = "Mode"; diff --git a/src/main/java/storagecraft/tile/TileStorage.java b/src/main/java/storagecraft/tile/TileStorage.java index 506dd03a1..924423ce5 100644 --- a/src/main/java/storagecraft/tile/TileStorage.java +++ b/src/main/java/storagecraft/tile/TileStorage.java @@ -19,7 +19,7 @@ import storagecraft.storage.NBTStorage; import storagecraft.storage.StorageItem; import storagecraft.util.InventoryUtils; -public class TileStorage extends TileMachine implements IStorageProvider, IStorage, IStorageGui, ICompareSetting, IWhitelistBlacklistSetting +public class TileStorage extends TileMachine implements IStorageProvider, IStorage, IStorageGui, ICompareSetting, IModeSetting { public static final String NBT_STORAGE = "Storage"; public static final String NBT_PRIORITY = "Priority"; @@ -215,7 +215,7 @@ public class TileStorage extends TileMachine implements IStorageProvider, IStora } @Override - public IWhitelistBlacklistSetting getWhitelistBlacklistSetting() + public IModeSetting getWhitelistBlacklistSetting() { return this; } diff --git a/src/main/resources/assets/storagecraft/lang/en_US.lang b/src/main/resources/assets/storagecraft/lang/en_US.lang index 365bdf0f1..562ad679d 100644 --- a/src/main/resources/assets/storagecraft/lang/en_US.lang +++ b/src/main/resources/assets/storagecraft/lang/en_US.lang @@ -52,9 +52,9 @@ sidebutton.storagecraft:sorting.type=Sorting Type sidebutton.storagecraft:sorting.type.0=Amount sidebutton.storagecraft:sorting.type.1=Name -sidebutton.storagecraft:whitelist_blacklist=Mode -sidebutton.storagecraft:whitelist_blacklist.whitelist=Whitelist -sidebutton.storagecraft:whitelist_blacklist.blacklist=Blacklist +sidebutton.storagecraft:mode=Mode +sidebutton.storagecraft:mode.whitelist=Whitelist +sidebutton.storagecraft:mode.blacklist=Blacklist sidebutton.storagecraft:detector.mode=Mode sidebutton.storagecraft:detector.mode.0=Emit signal when under the amount