@Override public void markDirty() { stack.setTagInfo(CoreProps.FILTER, filter.serializeNBT()); dirty = true; }
@Override public void clear() { filter.clear(); }
public boolean getFlag(int flag) { return filterWrapper.getFilter().getFlag(flag); }
@Override public PacketBase getGuiPacket() { PacketBase payload = super.getGuiPacket(); payload.addByte(filter.getFlagByte()); return payload; }
public ItemFilterWrapper(ItemStack stack, int size) { if (stack.getTagCompound() == null) { stack.setTagCompound(new NBTTagCompound()); } this.stack = stack; this.filter = new ItemFilter(size); filter.deserializeNBT(stack.getTagCompound().getCompoundTag(CoreProps.FILTER)); markDirty(); }
@Override public void deserializeNBT(NBTTagCompound nbt) { NBTTagList list = nbt.getTagList("Items", 10); for (int i = 0; i < list.tagCount(); i++) { NBTTagCompound tag = list.getCompoundTagAt(i); int slot = tag.getInteger("Slot"); if (slot >= 0 && slot < items.length) { items[slot] = new ItemStack(tag); } } setFlagByte((int) nbt.getByte("Flags")); updateOreIDs(); }
@Override protected void handleGuiPacket(PacketBase payload) { super.handleGuiPacket(payload); filter.setFlagByte(payload.getByte()); }
@Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); outputTracker = nbt.getInteger(CoreProps.TRACK_OUT); filter.deserializeNBT(nbt.getCompoundTag(CoreProps.FILTER)); }
@Override public ItemStack getStackInSlot(int index) { return filter.getSlot(index); }
@Override public boolean isEmpty() { return InventoryHelper.isEmpty(filter.getItems()); }
@Override public int getSizeInventory() { return filter.getSize(); }
@Override public PacketBase getTilePacket() { PacketBase payload = super.getTilePacket(); payload.addByte(filter.getFlagByte()); return payload; }
@Override @SideOnly (Side.CLIENT) public void handleTilePacket(PacketBase payload) { super.handleTilePacket(payload); filter.setFlagByte(payload.getByte()); }
@Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); inputTracker = nbt.getInteger(CoreProps.TRACK_IN); outputTracker = nbt.getInteger(CoreProps.TRACK_OUT); amountInput = MathHelper.clamp(nbt.getInteger("AmountIn"), 0, 64); amountOutput = MathHelper.clamp(nbt.getInteger("AmountOut"), 0, 64); filter.deserializeNBT(nbt.getCompoundTag(CoreProps.FILTER)); }
@Override public ItemStack getStackInSlot(int index) { return filter.getSlot(index); }
@Override public boolean isEmpty() { return InventoryHelper.isEmpty(filter.getItems()); }
@Override public int getSizeInventory() { return filter.getSize(); }
@Override public PacketBase getGuiPacket() { PacketBase payload = super.getGuiPacket(); payload.addInt(amountInput); payload.addInt(amountOutput); payload.addByte(filter.getFlagByte()); return payload; }
@Override protected void handleGuiPacket(PacketBase payload) { super.handleGuiPacket(payload); amountInput = payload.getInt(); amountOutput = payload.getInt(); filter.setFlagByte(payload.getByte()); }
@Override public NBTTagCompound writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setInteger(CoreProps.TRACK_OUT, outputTracker); nbt.setTag(CoreProps.FILTER, filter.serializeNBT()); return nbt; }