importer + exporter now have side buttons instead of guibuttons

This commit is contained in:
Raoul Van den Berge
2015-12-20 18:26:07 +01:00
parent 9aaad17b7e
commit 62c5a1d82f
20 changed files with 230 additions and 193 deletions

View File

@@ -12,6 +12,6 @@ public class ContainerExporter extends ContainerBase {
addSlotToContainer(new SlotSpecimen(exporter, i, 8 + (18 * i), 20));
}
addPlayerInventory(8, 104);
addPlayerInventory(8, 55);
}
}

View File

@@ -12,6 +12,6 @@ public class ContainerImporter extends ContainerBase {
addSlotToContainer(new SlotSpecimen(importer, i, 8 + (18 * i), 20));
}
addPlayerInventory(8, 119);
addPlayerInventory(8, 55);
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

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

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

View File

@@ -1,6 +1,6 @@
package storagecraft.tile;
public interface IRedstoneControllable {
public interface IRedstoneModeSetting {
public RedstoneMode getRedstoneMode();
public void setRedstoneMode(RedstoneMode mode);

View File

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

View File

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

View File

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

View File

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