importer + exporter now have side buttons instead of guibuttons
This commit is contained in:
@@ -12,6 +12,6 @@ public class ContainerExporter extends ContainerBase {
|
||||
addSlotToContainer(new SlotSpecimen(exporter, i, 8 + (18 * i), 20));
|
||||
}
|
||||
|
||||
addPlayerInventory(8, 104);
|
||||
addPlayerInventory(8, 55);
|
||||
}
|
||||
}
|
||||
|
@@ -12,6 +12,6 @@ public class ContainerImporter extends ContainerBase {
|
||||
addSlotToContainer(new SlotSpecimen(importer, i, 8 + (18 * i), 20));
|
||||
}
|
||||
|
||||
addPlayerInventory(8, 119);
|
||||
addPlayerInventory(8, 55);
|
||||
}
|
||||
}
|
||||
|
@@ -1,21 +1,16 @@
|
||||
package storagecraft.gui;
|
||||
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import storagecraft.StorageCraft;
|
||||
import storagecraft.container.ContainerExporter;
|
||||
import storagecraft.gui.sidebutton.SideButtonCompare;
|
||||
import storagecraft.gui.sidebutton.SideButtonRedstoneMode;
|
||||
import storagecraft.network.MessageExporterUpdate;
|
||||
import storagecraft.tile.TileExporter;
|
||||
import storagecraft.util.InventoryUtils;
|
||||
|
||||
public class GuiExporter extends GuiBase {
|
||||
private TileExporter exporter;
|
||||
|
||||
private GuiButton compareNBTButton;
|
||||
private GuiButton compareDamageButton;
|
||||
|
||||
public GuiExporter(ContainerExporter container, TileExporter exporter) {
|
||||
super(container, 176, 186);
|
||||
super(container, 176, 137);
|
||||
|
||||
this.exporter = exporter;
|
||||
}
|
||||
@@ -24,17 +19,12 @@ public class GuiExporter extends GuiBase {
|
||||
public void init(int x, int y) {
|
||||
addSideButton(new SideButtonRedstoneMode(exporter));
|
||||
|
||||
compareNBTButton = addButton(x + 7, y + 41, 100, 20);
|
||||
compareDamageButton = addButton(x + 7, y + 63, 120, 20);
|
||||
addSideButton(new SideButtonCompare(exporter, "NBT", InventoryUtils.COMPARE_NBT));
|
||||
addSideButton(new SideButtonCompare(exporter, "Damage", InventoryUtils.COMPARE_DAMAGE));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(int x, int y) {
|
||||
compareNBTButton.displayString = t("misc.storagecraft:compareNBT") + ": ";
|
||||
compareNBTButton.displayString += t("misc.storagecraft:" + ((exporter.getCompareFlags() & InventoryUtils.COMPARE_NBT) == InventoryUtils.COMPARE_NBT ? "on" : "off"));
|
||||
|
||||
compareDamageButton.displayString = t("misc.storagecraft:compareDamage") + ": ";
|
||||
compareDamageButton.displayString += t("misc.storagecraft:" + ((exporter.getCompareFlags() & InventoryUtils.COMPARE_DAMAGE) == InventoryUtils.COMPARE_DAMAGE ? "on" : "off"));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -47,21 +37,6 @@ public class GuiExporter extends GuiBase {
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY) {
|
||||
drawString(7, 7, t("gui.storagecraft:exporter"));
|
||||
drawString(7, 93, t("container.inventory"));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void actionPerformed(GuiButton button) {
|
||||
super.actionPerformed(button);
|
||||
|
||||
int flags = exporter.getCompareFlags();
|
||||
|
||||
if (button == compareNBTButton) {
|
||||
flags ^= InventoryUtils.COMPARE_NBT;
|
||||
} else if (button == compareDamageButton) {
|
||||
flags ^= InventoryUtils.COMPARE_DAMAGE;
|
||||
}
|
||||
|
||||
StorageCraft.NETWORK.sendToServer(new MessageExporterUpdate(exporter.xCoord, exporter.yCoord, exporter.zCoord, flags));
|
||||
drawString(7, 43, t("container.inventory"));
|
||||
}
|
||||
}
|
||||
|
@@ -1,22 +1,17 @@
|
||||
package storagecraft.gui;
|
||||
|
||||
import net.minecraft.client.gui.GuiButton;
|
||||
import storagecraft.StorageCraft;
|
||||
import storagecraft.container.ContainerImporter;
|
||||
import storagecraft.gui.sidebutton.SideButtonCompare;
|
||||
import storagecraft.gui.sidebutton.SideButtonImporterMode;
|
||||
import storagecraft.gui.sidebutton.SideButtonRedstoneMode;
|
||||
import storagecraft.network.MessageImporterUpdate;
|
||||
import storagecraft.tile.TileImporter;
|
||||
import storagecraft.util.InventoryUtils;
|
||||
|
||||
public class GuiImporter extends GuiBase {
|
||||
private TileImporter importer;
|
||||
|
||||
private GuiButton compareNBTButton;
|
||||
private GuiButton compareDamageButton;
|
||||
private GuiButton modeButton;
|
||||
|
||||
public GuiImporter(ContainerImporter container, TileImporter importer) {
|
||||
super(container, 176, 201);
|
||||
super(container, 176, 137);
|
||||
|
||||
this.importer = importer;
|
||||
}
|
||||
@@ -25,20 +20,14 @@ public class GuiImporter extends GuiBase {
|
||||
public void init(int x, int y) {
|
||||
addSideButton(new SideButtonRedstoneMode(importer));
|
||||
|
||||
compareNBTButton = addButton(x + 7, y + 41, 100, 20);
|
||||
compareDamageButton = addButton(x + 7, y + 63, 120, 20);
|
||||
modeButton = addButton(x + 7, y + 85, 80, 20);
|
||||
addSideButton(new SideButtonCompare(importer, "NBT", InventoryUtils.COMPARE_NBT));
|
||||
addSideButton(new SideButtonCompare(importer, "Damage", InventoryUtils.COMPARE_DAMAGE));
|
||||
|
||||
addSideButton(new SideButtonImporterMode(importer));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(int x, int y) {
|
||||
compareNBTButton.displayString = t("misc.storagecraft:compareNBT") + ": ";
|
||||
compareNBTButton.displayString += t("misc.storagecraft:" + ((importer.getCompareFlags() & InventoryUtils.COMPARE_NBT) == InventoryUtils.COMPARE_NBT ? "on" : "off"));
|
||||
|
||||
compareDamageButton.displayString = t("misc.storagecraft:compareDamage") + ": ";
|
||||
compareDamageButton.displayString += t("misc.storagecraft:" + ((importer.getCompareFlags() & InventoryUtils.COMPARE_DAMAGE) == InventoryUtils.COMPARE_DAMAGE ? "on" : "off"));
|
||||
|
||||
modeButton.displayString = t("misc.storagecraft:importer.mode." + importer.getMode());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -51,21 +40,6 @@ public class GuiImporter extends GuiBase {
|
||||
@Override
|
||||
public void drawForeground(int mouseX, int mouseY) {
|
||||
drawString(7, 7, t("gui.storagecraft:importer"));
|
||||
drawString(7, 108, t("container.inventory"));
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void actionPerformed(GuiButton button) {
|
||||
super.actionPerformed(button);
|
||||
|
||||
int flags = importer.getCompareFlags();
|
||||
|
||||
if (button == compareNBTButton) {
|
||||
flags ^= InventoryUtils.COMPARE_NBT;
|
||||
} else if (button == compareDamageButton) {
|
||||
flags ^= InventoryUtils.COMPARE_DAMAGE;
|
||||
}
|
||||
|
||||
StorageCraft.NETWORK.sendToServer(new MessageImporterUpdate(importer.xCoord, importer.yCoord, importer.zCoord, flags, button.id == modeButton.id));
|
||||
drawString(7, 43, t("container.inventory"));
|
||||
}
|
||||
}
|
||||
|
@@ -0,0 +1,43 @@
|
||||
package storagecraft.gui.sidebutton;
|
||||
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import storagecraft.StorageCraft;
|
||||
import storagecraft.gui.GuiBase;
|
||||
import storagecraft.network.MessageCompareUpdate;
|
||||
import storagecraft.tile.ICompareSetting;
|
||||
|
||||
public class SideButtonCompare extends SideButton {
|
||||
private ICompareSetting setting;
|
||||
private String name;
|
||||
private int mask;
|
||||
|
||||
public SideButtonCompare(ICompareSetting setting, String name, int mask) {
|
||||
this.setting = setting;
|
||||
this.name = name;
|
||||
this.mask = mask;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
builder.append(EnumChatFormatting.YELLOW).append(gui.t("misc.storagecraft:compare" + name)).append(EnumChatFormatting.RESET).append("\n");
|
||||
|
||||
if ((setting.getCompare() & mask) == mask) {
|
||||
builder.append(gui.t("misc.storagecraft:on"));
|
||||
} else {
|
||||
builder.append(gui.t("misc.storagecraft:off"));
|
||||
}
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(GuiBase gui, int x, int y) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed() {
|
||||
StorageCraft.NETWORK.sendToServer(new MessageCompareUpdate(setting, setting.getCompare() ^ mask));
|
||||
}
|
||||
}
|
@@ -0,0 +1,35 @@
|
||||
package storagecraft.gui.sidebutton;
|
||||
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import storagecraft.StorageCraft;
|
||||
import storagecraft.gui.GuiBase;
|
||||
import storagecraft.network.MessageImporterModeUpdate;
|
||||
import storagecraft.tile.TileImporter;
|
||||
|
||||
public class SideButtonImporterMode extends SideButton {
|
||||
private TileImporter importer;
|
||||
|
||||
public SideButtonImporterMode(TileImporter importer) {
|
||||
this.importer = importer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui) {
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
builder.append(EnumChatFormatting.GREEN).append("Mode").append(EnumChatFormatting.RESET).append("\n");
|
||||
|
||||
builder.append(gui.t("misc.storagecraft:importer.mode." + importer.getMode()));
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void draw(GuiBase gui, int x, int y) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed() {
|
||||
StorageCraft.NETWORK.sendToServer(new MessageImporterModeUpdate(importer));
|
||||
}
|
||||
}
|
@@ -2,21 +2,28 @@ package storagecraft.gui.sidebutton;
|
||||
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import storagecraft.StorageCraft;
|
||||
import storagecraft.gui.GuiBase;
|
||||
import storagecraft.network.MessageRedstoneModeUpdate;
|
||||
import storagecraft.tile.IRedstoneControllable;
|
||||
import storagecraft.tile.IRedstoneModeSetting;
|
||||
|
||||
public class SideButtonRedstoneMode extends SideButton {
|
||||
private IRedstoneControllable control;
|
||||
private IRedstoneModeSetting setting;
|
||||
|
||||
public SideButtonRedstoneMode(IRedstoneControllable control) {
|
||||
this.control = control;
|
||||
public SideButtonRedstoneMode(IRedstoneModeSetting setting) {
|
||||
this.setting = setting;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getTooltip(GuiBase gui) {
|
||||
return gui.t("misc.storagecraft:redstoneMode." + control.getRedstoneMode().id);
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
||||
builder.append(EnumChatFormatting.RED).append("Redstone Mode").append(EnumChatFormatting.RESET).append("\n");
|
||||
|
||||
builder.append(gui.t("misc.storagecraft:redstoneMode." + setting.getRedstoneMode().id));
|
||||
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -26,6 +33,6 @@ public class SideButtonRedstoneMode extends SideButton {
|
||||
|
||||
@Override
|
||||
public void actionPerformed() {
|
||||
StorageCraft.NETWORK.sendToServer(new MessageRedstoneModeUpdate(control));
|
||||
StorageCraft.NETWORK.sendToServer(new MessageRedstoneModeUpdate(setting));
|
||||
}
|
||||
}
|
||||
|
55
src/main/java/storagecraft/network/MessageCompareUpdate.java
Normal file
55
src/main/java/storagecraft/network/MessageCompareUpdate.java
Normal file
@@ -0,0 +1,55 @@
|
||||
package storagecraft.network;
|
||||
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessage;
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import storagecraft.tile.ICompareSetting;
|
||||
|
||||
public class MessageCompareUpdate implements IMessage, IMessageHandler<MessageCompareUpdate, IMessage> {
|
||||
private int x;
|
||||
private int y;
|
||||
private int z;
|
||||
private int compare;
|
||||
|
||||
public MessageCompareUpdate() {
|
||||
}
|
||||
|
||||
public MessageCompareUpdate(ICompareSetting setting, int compare) {
|
||||
this.x = setting.getX();
|
||||
this.y = setting.getY();
|
||||
this.z = setting.getZ();
|
||||
this.compare = compare;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fromBytes(ByteBuf buf) {
|
||||
x = buf.readInt();
|
||||
y = buf.readInt();
|
||||
z = buf.readInt();
|
||||
compare = buf.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toBytes(ByteBuf buf) {
|
||||
buf.writeInt(x);
|
||||
buf.writeInt(y);
|
||||
buf.writeInt(z);
|
||||
buf.writeInt(compare);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(MessageCompareUpdate message, MessageContext context) {
|
||||
EntityPlayerMP player = context.getServerHandler().playerEntity;
|
||||
|
||||
TileEntity tile = player.worldObj.getTileEntity(message.x, message.y, message.z);
|
||||
|
||||
if (tile instanceof ICompareSetting) {
|
||||
((ICompareSetting) tile).setCompare(message.compare);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
@@ -6,22 +6,20 @@ import cpw.mods.fml.common.network.simpleimpl.MessageContext;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import storagecraft.tile.TileExporter;
|
||||
import storagecraft.tile.TileImporter;
|
||||
|
||||
public class MessageExporterUpdate implements IMessage, IMessageHandler<MessageExporterUpdate, IMessage> {
|
||||
public class MessageImporterModeUpdate implements IMessage, IMessageHandler<MessageImporterModeUpdate, IMessage> {
|
||||
private int x;
|
||||
private int y;
|
||||
private int z;
|
||||
private int compareFlags;
|
||||
|
||||
public MessageExporterUpdate() {
|
||||
public MessageImporterModeUpdate() {
|
||||
}
|
||||
|
||||
public MessageExporterUpdate(int x, int y, int z, int compareFlags) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
this.compareFlags = compareFlags;
|
||||
public MessageImporterModeUpdate(TileImporter importer) {
|
||||
this.x = importer.xCoord;
|
||||
this.y = importer.yCoord;
|
||||
this.z = importer.zCoord;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -29,7 +27,6 @@ public class MessageExporterUpdate implements IMessage, IMessageHandler<MessageE
|
||||
x = buf.readInt();
|
||||
y = buf.readInt();
|
||||
z = buf.readInt();
|
||||
compareFlags = buf.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -37,19 +34,18 @@ public class MessageExporterUpdate implements IMessage, IMessageHandler<MessageE
|
||||
buf.writeInt(x);
|
||||
buf.writeInt(y);
|
||||
buf.writeInt(z);
|
||||
buf.writeInt(compareFlags);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(MessageExporterUpdate message, MessageContext context) {
|
||||
public IMessage onMessage(MessageImporterModeUpdate message, MessageContext context) {
|
||||
EntityPlayerMP player = context.getServerHandler().playerEntity;
|
||||
|
||||
TileEntity tile = player.worldObj.getTileEntity(message.x, message.y, message.z);
|
||||
|
||||
if (tile instanceof TileExporter) {
|
||||
TileExporter exporter = (TileExporter) tile;
|
||||
if (tile instanceof TileImporter) {
|
||||
TileImporter importer = (TileImporter) tile;
|
||||
|
||||
exporter.setCompareFlags(message.compareFlags);
|
||||
importer.setMode(importer.getMode() == TileImporter.MODE_WHITELIST ? TileImporter.MODE_BLACKLIST : TileImporter.MODE_WHITELIST);
|
||||
}
|
||||
|
||||
return null;
|
@@ -1,65 +0,0 @@
|
||||
package storagecraft.network;
|
||||
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessage;
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
|
||||
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import storagecraft.tile.TileImporter;
|
||||
|
||||
public class MessageImporterUpdate implements IMessage, IMessageHandler<MessageImporterUpdate, IMessage> {
|
||||
private int x;
|
||||
private int y;
|
||||
private int z;
|
||||
private int compareFlags;
|
||||
private boolean nextMode;
|
||||
|
||||
public MessageImporterUpdate() {
|
||||
}
|
||||
|
||||
public MessageImporterUpdate(int x, int y, int z, int compareFlags, boolean nextMode) {
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
this.compareFlags = compareFlags;
|
||||
this.nextMode = nextMode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fromBytes(ByteBuf buf) {
|
||||
x = buf.readInt();
|
||||
y = buf.readInt();
|
||||
z = buf.readInt();
|
||||
compareFlags = buf.readInt();
|
||||
nextMode = buf.readBoolean();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toBytes(ByteBuf buf) {
|
||||
buf.writeInt(x);
|
||||
buf.writeInt(y);
|
||||
buf.writeInt(z);
|
||||
buf.writeInt(compareFlags);
|
||||
buf.writeBoolean(nextMode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IMessage onMessage(MessageImporterUpdate message, MessageContext context) {
|
||||
EntityPlayerMP player = context.getServerHandler().playerEntity;
|
||||
|
||||
TileEntity tile = player.worldObj.getTileEntity(message.x, message.y, message.z);
|
||||
|
||||
if (tile instanceof TileImporter) {
|
||||
TileImporter importer = (TileImporter) tile;
|
||||
|
||||
importer.setCompareFlags(message.compareFlags);
|
||||
|
||||
if (message.nextMode) {
|
||||
importer.setMode(importer.getMode() == TileImporter.MODE_WHITELIST ? TileImporter.MODE_BLACKLIST : TileImporter.MODE_WHITELIST);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
@@ -6,7 +6,7 @@ import cpw.mods.fml.common.network.simpleimpl.MessageContext;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import storagecraft.tile.IRedstoneControllable;
|
||||
import storagecraft.tile.IRedstoneModeSetting;
|
||||
|
||||
public class MessageRedstoneModeUpdate implements IMessage, IMessageHandler<MessageRedstoneModeUpdate, IMessage> {
|
||||
private int x;
|
||||
@@ -16,10 +16,10 @@ public class MessageRedstoneModeUpdate implements IMessage, IMessageHandler<Mess
|
||||
public MessageRedstoneModeUpdate() {
|
||||
}
|
||||
|
||||
public MessageRedstoneModeUpdate(IRedstoneControllable control) {
|
||||
this.x = control.getX();
|
||||
this.y = control.getY();
|
||||
this.z = control.getZ();
|
||||
public MessageRedstoneModeUpdate(IRedstoneModeSetting setting) {
|
||||
this.x = setting.getX();
|
||||
this.y = setting.getY();
|
||||
this.z = setting.getZ();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -42,10 +42,10 @@ public class MessageRedstoneModeUpdate implements IMessage, IMessageHandler<Mess
|
||||
|
||||
TileEntity tile = player.worldObj.getTileEntity(message.x, message.y, message.z);
|
||||
|
||||
if (tile instanceof IRedstoneControllable) {
|
||||
IRedstoneControllable control = (IRedstoneControllable) tile;
|
||||
if (tile instanceof IRedstoneModeSetting) {
|
||||
IRedstoneModeSetting setting = (IRedstoneModeSetting) tile;
|
||||
|
||||
control.setRedstoneMode(control.getRedstoneMode().next());
|
||||
setting.setRedstoneMode(setting.getRedstoneMode().next());
|
||||
}
|
||||
|
||||
return null;
|
||||
|
@@ -11,8 +11,8 @@ import storagecraft.StorageCraftBlocks;
|
||||
import storagecraft.StorageCraftItems;
|
||||
import storagecraft.gui.GuiHandler;
|
||||
import storagecraft.item.ItemBlockCable;
|
||||
import storagecraft.network.MessageExporterUpdate;
|
||||
import storagecraft.network.MessageImporterUpdate;
|
||||
import storagecraft.network.MessageCompareUpdate;
|
||||
import storagecraft.network.MessageImporterModeUpdate;
|
||||
import storagecraft.network.MessageRedstoneModeUpdate;
|
||||
import storagecraft.network.MessageStoragePull;
|
||||
import storagecraft.network.MessageStoragePush;
|
||||
@@ -31,8 +31,8 @@ public class CommonProxy {
|
||||
StorageCraft.NETWORK.registerMessage(MessageRedstoneModeUpdate.class, MessageRedstoneModeUpdate.class, 1, Side.SERVER);
|
||||
StorageCraft.NETWORK.registerMessage(MessageStoragePush.class, MessageStoragePush.class, 2, Side.SERVER);
|
||||
StorageCraft.NETWORK.registerMessage(MessageStoragePull.class, MessageStoragePull.class, 3, Side.SERVER);
|
||||
StorageCraft.NETWORK.registerMessage(MessageImporterUpdate.class, MessageImporterUpdate.class, 4, Side.SERVER);
|
||||
StorageCraft.NETWORK.registerMessage(MessageExporterUpdate.class, MessageExporterUpdate.class, 5, Side.SERVER);
|
||||
StorageCraft.NETWORK.registerMessage(MessageCompareUpdate.class, MessageCompareUpdate.class, 4, Side.SERVER);
|
||||
StorageCraft.NETWORK.registerMessage(MessageImporterModeUpdate.class, MessageImporterModeUpdate.class, 5, Side.SERVER);
|
||||
|
||||
NetworkRegistry.INSTANCE.registerGuiHandler(StorageCraft.INSTANCE, new GuiHandler());
|
||||
|
||||
|
13
src/main/java/storagecraft/tile/ICompareSetting.java
Normal file
13
src/main/java/storagecraft/tile/ICompareSetting.java
Normal file
@@ -0,0 +1,13 @@
|
||||
package storagecraft.tile;
|
||||
|
||||
public interface ICompareSetting {
|
||||
public int getCompare();
|
||||
|
||||
public void setCompare(int flags);
|
||||
|
||||
public int getX();
|
||||
|
||||
public int getY();
|
||||
|
||||
public int getZ();
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
package storagecraft.tile;
|
||||
|
||||
public interface IRedstoneControllable {
|
||||
public interface IRedstoneModeSetting {
|
||||
public RedstoneMode getRedstoneMode();
|
||||
|
||||
public void setRedstoneMode(RedstoneMode mode);
|
@@ -15,7 +15,7 @@ import storagecraft.storage.IStorageProvider;
|
||||
import storagecraft.storage.StorageItem;
|
||||
import storagecraft.util.InventoryUtils;
|
||||
|
||||
public class TileController extends TileBase implements IEnergyReceiver, INetworkTile, IRedstoneControllable {
|
||||
public class TileController extends TileBase implements IEnergyReceiver, INetworkTile, IRedstoneModeSetting {
|
||||
private List<StorageItem> items = new ArrayList<StorageItem>();
|
||||
private List<IStorage> storages = new ArrayList<IStorage>();
|
||||
|
||||
|
@@ -10,12 +10,12 @@ import net.minecraft.tileentity.TileEntity;
|
||||
import storagecraft.inventory.InventorySimple;
|
||||
import storagecraft.util.InventoryUtils;
|
||||
|
||||
public class TileExporter extends TileMachine implements IInventory, ISidedInventory {
|
||||
public static final String NBT_COMPARE_FLAGS = "CompareFlags";
|
||||
public class TileExporter extends TileMachine implements IInventory, ISidedInventory, ICompareSetting {
|
||||
public static final String NBT_COMPARE = "Compare";
|
||||
|
||||
private InventorySimple inventory = new InventorySimple("exporter", 9);
|
||||
|
||||
private int compareFlags = 0;
|
||||
private int compare = 0;
|
||||
|
||||
@Override
|
||||
public int getEnergyUsage() {
|
||||
@@ -38,7 +38,7 @@ public class TileExporter extends TileMachine implements IInventory, ISidedInven
|
||||
|
||||
toTake.stackSize = 64;
|
||||
|
||||
ItemStack took = getController().take(toTake, compareFlags);
|
||||
ItemStack took = getController().take(toTake, compare);
|
||||
|
||||
if (took != null) {
|
||||
if (connectedInventory instanceof ISidedInventory) {
|
||||
@@ -73,12 +73,14 @@ public class TileExporter extends TileMachine implements IInventory, ISidedInven
|
||||
}
|
||||
}
|
||||
|
||||
public int getCompareFlags() {
|
||||
return compareFlags;
|
||||
@Override
|
||||
public int getCompare() {
|
||||
return compare;
|
||||
}
|
||||
|
||||
public void setCompareFlags(int flags) {
|
||||
this.compareFlags = flags;
|
||||
@Override
|
||||
public void setCompare(int flags) {
|
||||
this.compare = flags;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -160,8 +162,8 @@ public class TileExporter extends TileMachine implements IInventory, ISidedInven
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
|
||||
if (nbt.hasKey(NBT_COMPARE_FLAGS)) {
|
||||
compareFlags = nbt.getInteger(NBT_COMPARE_FLAGS);
|
||||
if (nbt.hasKey(NBT_COMPARE)) {
|
||||
compare = nbt.getInteger(NBT_COMPARE);
|
||||
}
|
||||
|
||||
InventoryUtils.restoreInventory(this, nbt);
|
||||
@@ -171,7 +173,7 @@ public class TileExporter extends TileMachine implements IInventory, ISidedInven
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
|
||||
nbt.setInteger(NBT_COMPARE_FLAGS, compareFlags);
|
||||
nbt.setInteger(NBT_COMPARE, compare);
|
||||
|
||||
InventoryUtils.saveInventory(this, nbt);
|
||||
}
|
||||
@@ -180,13 +182,13 @@ public class TileExporter extends TileMachine implements IInventory, ISidedInven
|
||||
public void fromBytes(ByteBuf buf) {
|
||||
super.fromBytes(buf);
|
||||
|
||||
compareFlags = buf.readInt();
|
||||
compare = buf.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toBytes(ByteBuf buf) {
|
||||
super.toBytes(buf);
|
||||
|
||||
buf.writeInt(compareFlags);
|
||||
buf.writeInt(compare);
|
||||
}
|
||||
}
|
||||
|
@@ -10,16 +10,16 @@ import net.minecraft.tileentity.TileEntity;
|
||||
import storagecraft.inventory.InventorySimple;
|
||||
import storagecraft.util.InventoryUtils;
|
||||
|
||||
public class TileImporter extends TileMachine implements IInventory, ISidedInventory {
|
||||
public class TileImporter extends TileMachine implements IInventory, ISidedInventory, ICompareSetting {
|
||||
public static final int MODE_WHITELIST = 0;
|
||||
public static final int MODE_BLACKLIST = 1;
|
||||
|
||||
public static final String NBT_COMPARE_FLAGS = "CompareFlags";
|
||||
public static final String NBT_COMPARE = "Compare";
|
||||
public static final String NBT_MODE = "Mode";
|
||||
|
||||
private InventorySimple inventory = new InventorySimple("importer", 9);
|
||||
|
||||
private int compareFlags = 0;
|
||||
private int compare = 0;
|
||||
private int mode = MODE_WHITELIST;
|
||||
|
||||
private int currentSlot = 0;
|
||||
@@ -81,7 +81,7 @@ public class TileImporter extends TileMachine implements IInventory, ISidedInven
|
||||
if (slot != null) {
|
||||
slots++;
|
||||
|
||||
if (InventoryUtils.compareStack(stack, slot, compareFlags)) {
|
||||
if (InventoryUtils.compareStack(stack, slot, compare)) {
|
||||
if (mode == MODE_WHITELIST) {
|
||||
return true;
|
||||
} else if (mode == MODE_BLACKLIST) {
|
||||
@@ -98,12 +98,14 @@ public class TileImporter extends TileMachine implements IInventory, ISidedInven
|
||||
return true;
|
||||
}
|
||||
|
||||
public int getCompareFlags() {
|
||||
return compareFlags;
|
||||
@Override
|
||||
public int getCompare() {
|
||||
return compare;
|
||||
}
|
||||
|
||||
public void setCompareFlags(int flags) {
|
||||
this.compareFlags = flags;
|
||||
@Override
|
||||
public void setCompare(int flags) {
|
||||
this.compare = flags;
|
||||
}
|
||||
|
||||
public int getMode() {
|
||||
@@ -193,8 +195,8 @@ public class TileImporter extends TileMachine implements IInventory, ISidedInven
|
||||
public void readFromNBT(NBTTagCompound nbt) {
|
||||
super.readFromNBT(nbt);
|
||||
|
||||
if (nbt.hasKey(NBT_COMPARE_FLAGS)) {
|
||||
compareFlags = nbt.getInteger(NBT_COMPARE_FLAGS);
|
||||
if (nbt.hasKey(NBT_COMPARE)) {
|
||||
compare = nbt.getInteger(NBT_COMPARE);
|
||||
}
|
||||
|
||||
if (nbt.hasKey(NBT_MODE)) {
|
||||
@@ -208,7 +210,7 @@ public class TileImporter extends TileMachine implements IInventory, ISidedInven
|
||||
public void writeToNBT(NBTTagCompound nbt) {
|
||||
super.writeToNBT(nbt);
|
||||
|
||||
nbt.setInteger(NBT_COMPARE_FLAGS, compareFlags);
|
||||
nbt.setInteger(NBT_COMPARE, compare);
|
||||
nbt.setInteger(NBT_MODE, mode);
|
||||
|
||||
InventoryUtils.saveInventory(this, nbt);
|
||||
@@ -218,7 +220,7 @@ public class TileImporter extends TileMachine implements IInventory, ISidedInven
|
||||
public void fromBytes(ByteBuf buf) {
|
||||
super.fromBytes(buf);
|
||||
|
||||
compareFlags = buf.readInt();
|
||||
compare = buf.readInt();
|
||||
mode = buf.readInt();
|
||||
}
|
||||
|
||||
@@ -226,7 +228,7 @@ public class TileImporter extends TileMachine implements IInventory, ISidedInven
|
||||
public void toBytes(ByteBuf buf) {
|
||||
super.toBytes(buf);
|
||||
|
||||
buf.writeInt(compareFlags);
|
||||
buf.writeInt(compare);
|
||||
buf.writeInt(mode);
|
||||
}
|
||||
}
|
||||
|
@@ -3,7 +3,7 @@ package storagecraft.tile;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
public abstract class TileMachine extends TileBase implements INetworkTile, IRedstoneControllable {
|
||||
public abstract class TileMachine extends TileBase implements INetworkTile, IRedstoneModeSetting {
|
||||
protected boolean connected = false;
|
||||
|
||||
private RedstoneMode redstoneMode = RedstoneMode.LOW;
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Reference in New Issue
Block a user