diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageCacheListenerGridItem.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageCacheListenerGridItem.java index 39dcb35b9..2eb969241 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageCacheListenerGridItem.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageCacheListenerGridItem.java @@ -1,12 +1,17 @@ package com.raoulvdberge.refinedstorage.apiimpl.storage; +import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.network.INetwork; +import com.raoulvdberge.refinedstorage.api.network.security.Permission; import com.raoulvdberge.refinedstorage.api.storage.IStorageCacheListener; +import com.raoulvdberge.refinedstorage.network.grid.GridItemDeltaMessage; +import com.raoulvdberge.refinedstorage.network.grid.GridItemUpdateMessage; import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.item.ItemStack; import org.apache.commons.lang3.tuple.Pair; import javax.annotation.Nonnull; +import java.util.ArrayList; import java.util.List; public class StorageCacheListenerGridItem implements IStorageCacheListener { @@ -20,7 +25,7 @@ public class StorageCacheListenerGridItem implements IStorageCacheListener> deltas = new ArrayList<>(); + + deltas.add(Pair.of(stack, size)); + + onChangedBulk(deltas); } @Override public void onChangedBulk(@Nonnull List> stacks) { - // TODO RS.INSTANCE.network.sendTo(new MessageGridItemDelta(network, network.getItemStorageTracker(), stacks), player); + RS.NETWORK_HANDLER.sendTo(player, new GridItemDeltaMessage(network, stacks)); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/disk/StorageDiskSync.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/disk/StorageDiskSync.java index 8b3c8c9b8..acf3935e4 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/disk/StorageDiskSync.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/disk/StorageDiskSync.java @@ -3,7 +3,7 @@ package com.raoulvdberge.refinedstorage.apiimpl.storage.disk; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.storage.disk.IStorageDiskSync; import com.raoulvdberge.refinedstorage.api.storage.disk.IStorageDiskSyncData; -import com.raoulvdberge.refinedstorage.network.MessageStorageDiskSizeRequest; +import com.raoulvdberge.refinedstorage.network.disk.StorageDiskSizeRequestMessage; import javax.annotation.Nullable; import java.util.HashMap; @@ -31,7 +31,7 @@ public class StorageDiskSync implements IStorageDiskSync { long lastSync = syncTime.getOrDefault(id, 0L); if (System.currentTimeMillis() - lastSync > THROTTLE_MS) { - RS.NETWORK_HANDLER.sendToServer(new MessageStorageDiskSizeRequest(id)); + RS.NETWORK_HANDLER.sendToServer(new StorageDiskSizeRequestMessage(id)); syncTime.put(id, System.currentTimeMillis()); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/BaseContainer.java b/src/main/java/com/raoulvdberge/refinedstorage/container/BaseContainer.java index c53cfc04f..972759540 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/BaseContainer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/BaseContainer.java @@ -8,7 +8,7 @@ import com.raoulvdberge.refinedstorage.container.slot.filter.FluidFilterSlot; import com.raoulvdberge.refinedstorage.container.slot.legacy.DisabledLegacySlot; import com.raoulvdberge.refinedstorage.container.slot.legacy.FilterLegacySlot; import com.raoulvdberge.refinedstorage.container.transfer.TransferManager; -import com.raoulvdberge.refinedstorage.network.MessageSlotFilterFluidUpdate; +import com.raoulvdberge.refinedstorage.network.FluidFilterSlotUpdateMessage; import com.raoulvdberge.refinedstorage.tile.BaseTile; import com.raoulvdberge.refinedstorage.tile.data.TileDataWatcher; import net.minecraft.entity.player.PlayerEntity; @@ -189,7 +189,7 @@ public abstract class BaseContainer extends Container { if (!API.instance().getComparer().isEqual(cached, actual, IComparer.COMPARE_QUANTITY | IComparer.COMPARE_NBT)) { this.fluids.set(i, actual); - RS.NETWORK_HANDLER.sendTo((ServerPlayerEntity) getPlayer(), new MessageSlotFilterFluidUpdate(slot.slotNumber, actual)); + RS.NETWORK_HANDLER.sendTo((ServerPlayerEntity) getPlayer(), new FluidFilterSlotUpdateMessage(slot.slotNumber, actual)); } } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/CrafterManagerContainer.java b/src/main/java/com/raoulvdberge/refinedstorage/container/CrafterManagerContainer.java index 554dd39e3..da5d0fdb8 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/CrafterManagerContainer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/CrafterManagerContainer.java @@ -8,8 +8,8 @@ import com.raoulvdberge.refinedstorage.container.slot.CrafterManagerSlot; import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase; import com.raoulvdberge.refinedstorage.screen.IScreenInfoProvider; import com.raoulvdberge.refinedstorage.screen.grid.filtering.GridFilterParser; -import com.raoulvdberge.refinedstorage.screen.grid.stack.GridStackItem; import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; +import com.raoulvdberge.refinedstorage.screen.grid.stack.ItemGridStack; import com.raoulvdberge.refinedstorage.tile.TileCrafterManager; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.ServerPlayerEntity; @@ -172,7 +172,7 @@ public class CrafterManagerContainer extends BaseContainer { visible = false; for (ItemStack output : pattern.getOutputs()) { - GridStackItem outputConverted = new GridStackItem(output); + ItemGridStack outputConverted = new ItemGridStack(output); for (Predicate filter : filters) { if (filter.test(outputConverted)) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/CraftingSettingsContainer.java b/src/main/java/com/raoulvdberge/refinedstorage/container/CraftingSettingsContainer.java index 60b00c18d..a3ceedd5a 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/CraftingSettingsContainer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/CraftingSettingsContainer.java @@ -3,9 +3,9 @@ package com.raoulvdberge.refinedstorage.container; import com.raoulvdberge.refinedstorage.container.slot.DisabledSlot; import com.raoulvdberge.refinedstorage.container.slot.filter.DisabledFluidFilterSlot; import com.raoulvdberge.refinedstorage.inventory.fluid.FluidInventory; -import com.raoulvdberge.refinedstorage.screen.grid.stack.GridStackFluid; -import com.raoulvdberge.refinedstorage.screen.grid.stack.GridStackItem; +import com.raoulvdberge.refinedstorage.screen.grid.stack.FluidGridStack; import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; +import com.raoulvdberge.refinedstorage.screen.grid.stack.ItemGridStack; import net.minecraft.entity.player.PlayerEntity; import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.items.ItemStackHandler; @@ -14,16 +14,16 @@ public class CraftingSettingsContainer extends BaseContainer { public CraftingSettingsContainer(PlayerEntity player, IGridStack stack) { super(null, null, player, 0); - if (stack instanceof GridStackFluid) { + if (stack instanceof FluidGridStack) { FluidInventory inventory = new FluidInventory(1); - inventory.setFluid(0, ((GridStackFluid) stack).getStack()); + inventory.setFluid(0, ((FluidGridStack) stack).getStack()); addSlot(new DisabledFluidFilterSlot(inventory, 0, 89, 48)); - } else if (stack instanceof GridStackItem) { + } else if (stack instanceof ItemGridStack) { ItemStackHandler handler = new ItemStackHandler(1); - handler.setStackInSlot(0, ItemHandlerHelper.copyStackWithSize(((GridStackItem) stack).getStack(), 1)); + handler.setStackInSlot(0, ItemHandlerHelper.copyStackWithSize(((ItemGridStack) stack).getStack(), 1)); addSlot(new DisabledSlot(handler, 0, 89, 48)); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageFilterUpdate.java b/src/main/java/com/raoulvdberge/refinedstorage/network/FilterUpdateMessage.java similarity index 84% rename from src/main/java/com/raoulvdberge/refinedstorage/network/MessageFilterUpdate.java rename to src/main/java/com/raoulvdberge/refinedstorage/network/FilterUpdateMessage.java index c057911bd..0ce3f82d3 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageFilterUpdate.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/network/FilterUpdateMessage.java @@ -8,14 +8,14 @@ import net.minecraftforge.fml.network.NetworkEvent; import java.util.function.Supplier; -public class MessageFilterUpdate { +public class FilterUpdateMessage { private int compare; private int mode; private boolean modFilter; private String name; private int type; - public MessageFilterUpdate(int compare, int mode, boolean modFilter, String name, int type) { + public FilterUpdateMessage(int compare, int mode, boolean modFilter, String name, int type) { this.compare = compare; this.mode = mode; this.modFilter = modFilter; @@ -23,8 +23,8 @@ public class MessageFilterUpdate { this.type = type; } - public static MessageFilterUpdate decode(PacketBuffer buf) { - return new MessageFilterUpdate( + public static FilterUpdateMessage decode(PacketBuffer buf) { + return new FilterUpdateMessage( buf.readInt(), buf.readInt(), buf.readBoolean(), @@ -33,7 +33,7 @@ public class MessageFilterUpdate { ); } - public static void encode(MessageFilterUpdate message, PacketBuffer buf) { + public static void encode(FilterUpdateMessage message, PacketBuffer buf) { buf.writeInt(message.compare); buf.writeInt(message.mode); buf.writeBoolean(message.modFilter); @@ -41,7 +41,7 @@ public class MessageFilterUpdate { buf.writeInt(message.type); } - public static void handle(MessageFilterUpdate message, Supplier ctx) { + public static void handle(FilterUpdateMessage message, Supplier ctx) { ctx.get().enqueueWork(() -> { PlayerEntity player = ctx.get().getSender(); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageSlotFilterFluidUpdate.java b/src/main/java/com/raoulvdberge/refinedstorage/network/FluidFilterSlotUpdateMessage.java similarity index 77% rename from src/main/java/com/raoulvdberge/refinedstorage/network/MessageSlotFilterFluidUpdate.java rename to src/main/java/com/raoulvdberge/refinedstorage/network/FluidFilterSlotUpdateMessage.java index aff95a0d4..aa42296cf 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageSlotFilterFluidUpdate.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/network/FluidFilterSlotUpdateMessage.java @@ -9,25 +9,25 @@ import net.minecraftforge.fml.network.NetworkEvent; import java.util.function.Supplier; -public class MessageSlotFilterFluidUpdate { +public class FluidFilterSlotUpdateMessage { private int containerSlot; private FluidStack stack; - public MessageSlotFilterFluidUpdate(int containerSlot, FluidStack stack) { + public FluidFilterSlotUpdateMessage(int containerSlot, FluidStack stack) { this.containerSlot = containerSlot; this.stack = stack; } - public static void encode(MessageSlotFilterFluidUpdate message, PacketBuffer buf) { + public static void encode(FluidFilterSlotUpdateMessage message, PacketBuffer buf) { buf.writeInt(message.containerSlot); message.stack.writeToPacket(buf); } - public static MessageSlotFilterFluidUpdate decode(PacketBuffer buf) { - return new MessageSlotFilterFluidUpdate(buf.readInt(), FluidStack.readFromPacket(buf)); + public static FluidFilterSlotUpdateMessage decode(PacketBuffer buf) { + return new FluidFilterSlotUpdateMessage(buf.readInt(), FluidStack.readFromPacket(buf)); } - public static void handle(MessageSlotFilterFluidUpdate message, Supplier ctx) { + public static void handle(FluidFilterSlotUpdateMessage message, Supplier ctx) { BaseScreen.executeLater(gui -> { if (message.containerSlot >= 0 && message.containerSlot < gui.getContainer().inventorySlots.size()) { Slot slot = gui.getContainer().getSlot(message.containerSlot); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageGridItemDelta.java.off b/src/main/java/com/raoulvdberge/refinedstorage/network/MessageGridItemDelta.java.off deleted file mode 100644 index b7167e4fd..000000000 --- a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageGridItemDelta.java.off +++ /dev/null @@ -1,114 +0,0 @@ -package com.raoulvdberge.refinedstorage.network; - -import com.raoulvdberge.refinedstorage.api.network.INetwork; -import com.raoulvdberge.refinedstorage.api.storage.IStorageTracker; -import com.raoulvdberge.refinedstorage.gui.GuiBase; -import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid; -import com.raoulvdberge.refinedstorage.gui.grid.stack.GridStackItem; -import com.raoulvdberge.refinedstorage.util.StackUtils; -import io.netty.buffer.ByteBuf; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.common.network.ByteBufUtils; -import net.minecraftforge.fml.common.network.simpleimpl.IMessage; -import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; -import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; -import org.apache.commons.lang3.tuple.Pair; - -import javax.annotation.Nullable; -import java.util.LinkedList; -import java.util.List; - -public class MessageGridItemDelta implements IMessage, IMessageHandler { - @Nullable - private INetwork network; - private IStorageTracker storageTracker; - - private List> deltas; - @Nullable - private ItemStack stack; - private int delta; - - @Nullable - private GridStackItem gridStack; - private List> gridStacks; - - public MessageGridItemDelta() { - } - - public MessageGridItemDelta(@Nullable INetwork network, IStorageTracker storageTracker, ItemStack stack, int delta) { - this.network = network; - this.storageTracker = storageTracker; - this.stack = stack; - this.delta = delta; - } - - public MessageGridItemDelta(@Nullable INetwork network, IStorageTracker storageTracker, List> deltas) { - this.network = network; - this.storageTracker = storageTracker; - this.deltas = deltas; - } - - @Override - public void fromBytes(ByteBuf buf) { - int size = buf.readInt(); - - if (size == 1) { - gridStack = new GridStackItem(buf); - delta = buf.readInt(); - } else { - gridStacks = new LinkedList<>(); - - for (int i = 0; i < size; ++i) { - gridStacks.add(Pair.of(new GridStackItem(buf), buf.readInt())); - } - } - } - - @Override - public void toBytes(ByteBuf buf) { - if (stack != null) { - buf.writeInt(1); - - StackUtils.writeItemStack(buf, stack, network, false); - - IStorageTracker.IStorageTrackerEntry entry = storageTracker.get(stack); - buf.writeBoolean(entry != null); - if (entry != null) { - buf.writeLong(entry.getTime()); - ByteBufUtils.writeUTF8String(buf, entry.getName()); - } - - buf.writeInt(delta); - } else { - buf.writeInt(deltas.size()); - - for (Pair delta : deltas) { - StackUtils.writeItemStack(buf, delta.getLeft(), network, false); - - IStorageTracker.IStorageTrackerEntry entry = storageTracker.get(delta.getLeft()); - buf.writeBoolean(entry != null); - if (entry != null) { - buf.writeLong(entry.getTime()); - ByteBufUtils.writeUTF8String(buf, entry.getName()); - } - - buf.writeInt(delta.getRight()); - } - } - } - - @Override - public IMessage onMessage(MessageGridItemDelta message, MessageContext ctx) { - GuiBase.executeLater(GuiGrid.class, grid -> { - if (message.gridStack != null) { - grid.getView().postChange(message.gridStack, message.delta); - } else { - message.gridStacks.forEach(p -> grid.getView().postChange(p.getLeft(), p.getRight())); - } - - grid.getView().sort(); - }); - - return null; - } -} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageGridItemUpdate.java.off b/src/main/java/com/raoulvdberge/refinedstorage/network/MessageGridItemUpdate.java.off deleted file mode 100644 index ade229cee..000000000 --- a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageGridItemUpdate.java.off +++ /dev/null @@ -1,103 +0,0 @@ -package com.raoulvdberge.refinedstorage.network; - -import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern; -import com.raoulvdberge.refinedstorage.api.network.INetwork; -import com.raoulvdberge.refinedstorage.api.storage.IStorageTracker; -import com.raoulvdberge.refinedstorage.gui.GuiBase; -import com.raoulvdberge.refinedstorage.gui.grid.GuiGrid; -import com.raoulvdberge.refinedstorage.gui.grid.stack.GridStackItem; -import com.raoulvdberge.refinedstorage.gui.grid.stack.IGridStack; -import com.raoulvdberge.refinedstorage.gui.grid.view.GridViewItem; -import com.raoulvdberge.refinedstorage.util.StackUtils; -import io.netty.buffer.ByteBuf; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.common.network.ByteBufUtils; -import net.minecraftforge.fml.common.network.simpleimpl.IMessage; -import net.minecraftforge.fml.common.network.simpleimpl.IMessageHandler; -import net.minecraftforge.fml.common.network.simpleimpl.MessageContext; - -import java.util.ArrayList; -import java.util.List; -import java.util.function.Consumer; - -public class MessageGridItemUpdate implements IMessage, IMessageHandler { - private Consumer sendHandler; - private boolean canCraft; - private List stacks = new ArrayList<>(); - - public MessageGridItemUpdate() { - } - - public MessageGridItemUpdate(INetwork network, boolean canCraft) { - this.sendHandler = (buf) -> { - int size = network.getItemStorageCache().getList().getStacks().size(); - - for (ICraftingPattern pattern : network.getCraftingManager().getPatterns()) { - size += pattern.getOutputs().size(); - } - - buf.writeInt(size); - - for (ItemStack stack : network.getItemStorageCache().getList().getStacks()) { - StackUtils.writeItemStack(buf, stack, network, false); - - IStorageTracker.IStorageTrackerEntry entry = network.getItemStorageTracker().get(stack); - buf.writeBoolean(entry != null); - if (entry != null) { - buf.writeLong(entry.getTime()); - ByteBufUtils.writeUTF8String(buf, entry.getName()); - } - } - - for (ICraftingPattern pattern : network.getCraftingManager().getPatterns()) { - for (ItemStack output : pattern.getOutputs()) { - StackUtils.writeItemStack(buf, output, network, true); - - IStorageTracker.IStorageTrackerEntry entry = network.getItemStorageTracker().get(output); - buf.writeBoolean(entry != null); - if (entry != null) { - buf.writeLong(entry.getTime()); - ByteBufUtils.writeUTF8String(buf, entry.getName()); - } - } - } - }; - - this.canCraft = canCraft; - } - - public MessageGridItemUpdate(Consumer sendHandler, boolean canCraft) { - this.sendHandler = sendHandler; - this.canCraft = canCraft; - } - - @Override - public void fromBytes(ByteBuf buf) { - canCraft = buf.readBoolean(); - - int items = buf.readInt(); - - for (int i = 0; i < items; ++i) { - this.stacks.add(new GridStackItem(buf)); - } - } - - @Override - public void toBytes(ByteBuf buf) { - buf.writeBoolean(canCraft); - - sendHandler.accept(buf); - } - - @Override - public IMessage onMessage(MessageGridItemUpdate message, MessageContext ctx) { - GuiBase.executeLater(GuiGrid.class, grid -> { - grid.setView(new GridViewItem(grid, GuiGrid.getDefaultSorter(), GuiGrid.getSorters())); - grid.getView().setCanCraft(message.canCraft); - grid.getView().setStacks(message.stacks); - grid.getView().sort(); - }); - - return null; - } -} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/network/NetworkHandler.java b/src/main/java/com/raoulvdberge/refinedstorage/network/NetworkHandler.java index 966b002d7..11cace6c3 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/network/NetworkHandler.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/network/NetworkHandler.java @@ -1,6 +1,12 @@ package com.raoulvdberge.refinedstorage.network; import com.raoulvdberge.refinedstorage.RS; +import com.raoulvdberge.refinedstorage.network.disk.StorageDiskSizeRequestMessage; +import com.raoulvdberge.refinedstorage.network.disk.StorageDiskSizeResponseMessage; +import com.raoulvdberge.refinedstorage.network.grid.GridItemDeltaMessage; +import com.raoulvdberge.refinedstorage.network.grid.GridItemUpdateMessage; +import com.raoulvdberge.refinedstorage.network.tiledata.TileDataParameterMessage; +import com.raoulvdberge.refinedstorage.network.tiledata.TileDataParameterUpdateMessage; import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.util.ResourceLocation; import net.minecraftforge.common.util.FakePlayer; @@ -20,12 +26,14 @@ public class NetworkHandler { public void register() { int id = 0; - handler.registerMessage(id++, MessageStorageDiskSizeRequest.class, MessageStorageDiskSizeRequest::encode, MessageStorageDiskSizeRequest::decode, MessageStorageDiskSizeRequest::handle); - handler.registerMessage(id++, MessageStorageDiskSizeResponse.class, MessageStorageDiskSizeResponse::encode, MessageStorageDiskSizeResponse::decode, MessageStorageDiskSizeResponse::handle); - handler.registerMessage(id++, MessageFilterUpdate.class, MessageFilterUpdate::encode, MessageFilterUpdate::decode, MessageFilterUpdate::handle); - handler.registerMessage(id++, MessageSlotFilterFluidUpdate.class, MessageSlotFilterFluidUpdate::encode, MessageSlotFilterFluidUpdate::decode, MessageSlotFilterFluidUpdate::handle); - handler.registerMessage(id++, MessageTileDataParameter.class, MessageTileDataParameter::encode, MessageTileDataParameter::decode, MessageTileDataParameter::handle); - handler.registerMessage(id++, MessageTileDataParameterUpdate.class, MessageTileDataParameterUpdate::encode, MessageTileDataParameterUpdate::decode, MessageTileDataParameterUpdate::handle); + handler.registerMessage(id++, StorageDiskSizeRequestMessage.class, StorageDiskSizeRequestMessage::encode, StorageDiskSizeRequestMessage::decode, StorageDiskSizeRequestMessage::handle); + handler.registerMessage(id++, StorageDiskSizeResponseMessage.class, StorageDiskSizeResponseMessage::encode, StorageDiskSizeResponseMessage::decode, StorageDiskSizeResponseMessage::handle); + handler.registerMessage(id++, FilterUpdateMessage.class, FilterUpdateMessage::encode, FilterUpdateMessage::decode, FilterUpdateMessage::handle); + handler.registerMessage(id++, FluidFilterSlotUpdateMessage.class, FluidFilterSlotUpdateMessage::encode, FluidFilterSlotUpdateMessage::decode, FluidFilterSlotUpdateMessage::handle); + handler.registerMessage(id++, TileDataParameterMessage.class, TileDataParameterMessage::encode, TileDataParameterMessage::decode, TileDataParameterMessage::handle); + handler.registerMessage(id++, TileDataParameterUpdateMessage.class, TileDataParameterUpdateMessage::encode, TileDataParameterUpdateMessage::decode, TileDataParameterUpdateMessage::handle); + handler.registerMessage(id++, GridItemUpdateMessage.class, GridItemUpdateMessage::encode, GridItemUpdateMessage::decode, GridItemUpdateMessage::handle); + handler.registerMessage(id++, GridItemDeltaMessage.class, GridItemDeltaMessage::encode, GridItemDeltaMessage::decode, GridItemDeltaMessage::handle); } public void sendToServer(Object message) { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/network/TEMPLATE.txt b/src/main/java/com/raoulvdberge/refinedstorage/network/TEMPLATE.txt new file mode 100644 index 000000000..29621a63f --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/network/TEMPLATE.txt @@ -0,0 +1,24 @@ + public static MessageXXX decode(PacketBuffer buf) { + return new MessageXXX( + buf.readInt(), + buf.readInt(), + buf.readBoolean(), + buf.readString(), + buf.readInt() + ); + } + + public static void encode(MessageXXX message, PacketBuffer buf) { + buf.writeInt(message.compare); + buf.writeInt(message.mode); + buf.writeBoolean(message.modFilter); + buf.writeString(message.name); + buf.writeInt(message.type); + } + + public static void handle(MessageXXX message, Supplier ctx) { + ctx.get().enqueueWork(() -> { + // XXX + }); + ctx.get().setPacketHandled(true); + } \ No newline at end of file diff --git a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageStorageDiskSizeRequest.java b/src/main/java/com/raoulvdberge/refinedstorage/network/disk/StorageDiskSizeRequestMessage.java similarity index 64% rename from src/main/java/com/raoulvdberge/refinedstorage/network/MessageStorageDiskSizeRequest.java rename to src/main/java/com/raoulvdberge/refinedstorage/network/disk/StorageDiskSizeRequestMessage.java index 8990ed1eb..f7ab7a23b 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageStorageDiskSizeRequest.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/network/disk/StorageDiskSizeRequestMessage.java @@ -1,4 +1,4 @@ -package com.raoulvdberge.refinedstorage.network; +package com.raoulvdberge.refinedstorage.network.disk; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.api.storage.disk.IStorageDisk; @@ -9,27 +9,27 @@ import net.minecraftforge.fml.network.NetworkEvent; import java.util.UUID; import java.util.function.Supplier; -public class MessageStorageDiskSizeRequest { +public class StorageDiskSizeRequestMessage { private UUID id; - public MessageStorageDiskSizeRequest(UUID id) { + public StorageDiskSizeRequestMessage(UUID id) { this.id = id; } - public static MessageStorageDiskSizeRequest decode(PacketBuffer buf) { - return new MessageStorageDiskSizeRequest(buf.readUniqueId()); + public static StorageDiskSizeRequestMessage decode(PacketBuffer buf) { + return new StorageDiskSizeRequestMessage(buf.readUniqueId()); } - public static void encode(MessageStorageDiskSizeRequest message, PacketBuffer buf) { + public static void encode(StorageDiskSizeRequestMessage message, PacketBuffer buf) { buf.writeUniqueId(message.id); } - public static void handle(MessageStorageDiskSizeRequest message, Supplier ctx) { + public static void handle(StorageDiskSizeRequestMessage message, Supplier ctx) { ctx.get().enqueueWork(() -> { IStorageDisk disk = API.instance().getStorageDiskManager(ctx.get().getSender().getServerWorld()).get(message.id); if (disk != null) { - RS.NETWORK_HANDLER.sendTo(ctx.get().getSender(), new MessageStorageDiskSizeResponse(message.id, disk.getStored(), disk.getCapacity())); + RS.NETWORK_HANDLER.sendTo(ctx.get().getSender(), new StorageDiskSizeResponseMessage(message.id, disk.getStored(), disk.getCapacity())); } }); ctx.get().setPacketHandled(true); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageStorageDiskSizeResponse.java b/src/main/java/com/raoulvdberge/refinedstorage/network/disk/StorageDiskSizeResponseMessage.java similarity index 70% rename from src/main/java/com/raoulvdberge/refinedstorage/network/MessageStorageDiskSizeResponse.java rename to src/main/java/com/raoulvdberge/refinedstorage/network/disk/StorageDiskSizeResponseMessage.java index 031c05291..735e30a60 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageStorageDiskSizeResponse.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/network/disk/StorageDiskSizeResponseMessage.java @@ -1,4 +1,4 @@ -package com.raoulvdberge.refinedstorage.network; +package com.raoulvdberge.refinedstorage.network.disk; import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.apiimpl.storage.disk.StorageDiskSync; @@ -9,28 +9,28 @@ import net.minecraftforge.fml.network.NetworkEvent; import java.util.UUID; import java.util.function.Supplier; -public class MessageStorageDiskSizeResponse { +public class StorageDiskSizeResponseMessage { private UUID id; private int stored; private int capacity; - public MessageStorageDiskSizeResponse(UUID id, int stored, int capacity) { + public StorageDiskSizeResponseMessage(UUID id, int stored, int capacity) { this.id = id; this.stored = stored; this.capacity = capacity; } - public static void encode(MessageStorageDiskSizeResponse message, PacketBuffer buf) { + public static void encode(StorageDiskSizeResponseMessage message, PacketBuffer buf) { buf.writeUniqueId(message.id); buf.writeInt(message.stored); buf.writeInt(message.capacity); } - public static MessageStorageDiskSizeResponse decode(PacketBuffer buf) { - return new MessageStorageDiskSizeResponse(buf.readUniqueId(), buf.readInt(), buf.readInt()); + public static StorageDiskSizeResponseMessage decode(PacketBuffer buf) { + return new StorageDiskSizeResponseMessage(buf.readUniqueId(), buf.readInt(), buf.readInt()); } - public static void handle(MessageStorageDiskSizeResponse message, Supplier ctx) { + public static void handle(StorageDiskSizeResponseMessage message, Supplier ctx) { ctx.get().enqueueWork(() -> ((StorageDiskSync) API.instance().getStorageDiskSync()).setData(message.id, new StorageDiskSyncData(message.stored, message.capacity))); ctx.get().setPacketHandled(true); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/network/grid/GridItemDeltaMessage.java b/src/main/java/com/raoulvdberge/refinedstorage/network/grid/GridItemDeltaMessage.java new file mode 100644 index 000000000..53d985c70 --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/network/grid/GridItemDeltaMessage.java @@ -0,0 +1,65 @@ +package com.raoulvdberge.refinedstorage.network.grid; + +import com.raoulvdberge.refinedstorage.api.network.INetwork; +import com.raoulvdberge.refinedstorage.screen.BaseScreen; +import com.raoulvdberge.refinedstorage.screen.grid.GridScreen; +import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; +import com.raoulvdberge.refinedstorage.util.StackUtils; +import net.minecraft.item.ItemStack; +import net.minecraft.network.PacketBuffer; +import net.minecraftforge.fml.network.NetworkEvent; +import org.apache.commons.lang3.tuple.Pair; + +import javax.annotation.Nullable; +import java.util.LinkedList; +import java.util.List; +import java.util.function.Supplier; + +public class GridItemDeltaMessage { + @Nullable + private INetwork network; + private List> deltas; + + private List> gridStacks; + + public GridItemDeltaMessage(INetwork network, List> deltas) { + this.network = network; + this.deltas = deltas; + } + + public GridItemDeltaMessage(List> gridStacks) { + this.gridStacks = gridStacks; + } + + public static GridItemDeltaMessage decode(PacketBuffer buf) { + int size = buf.readInt(); + + List> gridStacks = new LinkedList<>(); + + for (int i = 0; i < size; ++i) { + gridStacks.add(Pair.of(StackUtils.readItemGridStack(buf), buf.readInt())); + } + + return new GridItemDeltaMessage(gridStacks); + } + + public static void encode(GridItemDeltaMessage message, PacketBuffer buf) { + buf.writeInt(message.deltas.size()); + + for (Pair delta : message.deltas) { + StackUtils.writeItemGridStack(buf, delta.getLeft(), message.network, false, message.network.getItemStorageTracker().get(delta.getLeft())); + + buf.writeInt(delta.getRight()); + } + } + + public static void handle(GridItemDeltaMessage message, Supplier ctx) { + BaseScreen.executeLater(GridScreen.class, grid -> { + message.gridStacks.forEach(p -> grid.getView().postChange(p.getLeft(), p.getRight())); + + grid.getView().sort(); + }); + + ctx.get().setPacketHandled(true); + } +} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/network/grid/GridItemUpdateMessage.java b/src/main/java/com/raoulvdberge/refinedstorage/network/grid/GridItemUpdateMessage.java new file mode 100644 index 000000000..0e194b2e9 --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/network/grid/GridItemUpdateMessage.java @@ -0,0 +1,80 @@ +package com.raoulvdberge.refinedstorage.network.grid; + +import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern; +import com.raoulvdberge.refinedstorage.api.network.INetwork; +import com.raoulvdberge.refinedstorage.screen.BaseScreen; +import com.raoulvdberge.refinedstorage.screen.grid.GridScreen; +import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; +import com.raoulvdberge.refinedstorage.screen.grid.view.ItemGridView; +import com.raoulvdberge.refinedstorage.util.StackUtils; +import net.minecraft.item.ItemStack; +import net.minecraft.network.PacketBuffer; +import net.minecraftforge.fml.network.NetworkEvent; + +import java.util.ArrayList; +import java.util.List; +import java.util.function.Supplier; + +public class GridItemUpdateMessage { + private INetwork network; + + private boolean canCraft; + private List stacks = new ArrayList<>(); + + public GridItemUpdateMessage(boolean canCraft, List stacks) { + this.canCraft = canCraft; + this.stacks = stacks; + } + + public GridItemUpdateMessage(INetwork network, boolean canCraft) { + this.network = network; + this.canCraft = canCraft; + } + + public static GridItemUpdateMessage decode(PacketBuffer buf) { + boolean canCraft = buf.readBoolean(); + + int size = buf.readInt(); + + List stacks = new ArrayList<>(); + + for (int i = 0; i < size; ++i) { + stacks.add(StackUtils.readItemGridStack(buf)); + } + + return new GridItemUpdateMessage(canCraft, stacks); + } + + public static void encode(GridItemUpdateMessage message, PacketBuffer buf) { + buf.writeBoolean(message.canCraft); + + int size = message.network.getItemStorageCache().getList().getStacks().size(); + + for (ICraftingPattern pattern : message.network.getCraftingManager().getPatterns()) { + size += pattern.getOutputs().size(); + } + + buf.writeInt(size); + + for (ItemStack stack : message.network.getItemStorageCache().getList().getStacks()) { + StackUtils.writeItemGridStack(buf, stack, message.network, false, message.network.getItemStorageTracker().get(stack)); + } + + for (ICraftingPattern pattern : message.network.getCraftingManager().getPatterns()) { + for (ItemStack output : pattern.getOutputs()) { + StackUtils.writeItemGridStack(buf, output, message.network, true, message.network.getItemStorageTracker().get(output)); + } + } + } + + public static void handle(GridItemUpdateMessage message, Supplier ctx) { + BaseScreen.executeLater(GridScreen.class, grid -> { + grid.setView(new ItemGridView(grid, GridScreen.getDefaultSorter(), GridScreen.getSorters())); + grid.getView().setCanCraft(message.canCraft); + grid.getView().setStacks(message.stacks); + grid.getView().sort(); + }); + + ctx.get().setPacketHandled(true); + } +} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageTileDataParameter.java b/src/main/java/com/raoulvdberge/refinedstorage/network/tiledata/TileDataParameterMessage.java similarity index 75% rename from src/main/java/com/raoulvdberge/refinedstorage/network/MessageTileDataParameter.java rename to src/main/java/com/raoulvdberge/refinedstorage/network/tiledata/TileDataParameterMessage.java index f4a9079d3..a5d212d6d 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageTileDataParameter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/network/tiledata/TileDataParameterMessage.java @@ -1,4 +1,4 @@ -package com.raoulvdberge.refinedstorage.network; +package com.raoulvdberge.refinedstorage.network.tiledata; import com.raoulvdberge.refinedstorage.tile.data.TileDataManager; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; @@ -8,18 +8,18 @@ import net.minecraftforge.fml.network.NetworkEvent; import java.util.function.Supplier; -public class MessageTileDataParameter { +public class TileDataParameterMessage { private TileEntity tile; private TileDataParameter parameter; private boolean initial; - public MessageTileDataParameter(TileEntity tile, TileDataParameter parameter, boolean initial) { + public TileDataParameterMessage(TileEntity tile, TileDataParameter parameter, boolean initial) { this.tile = tile; this.parameter = parameter; this.initial = initial; } - public static MessageTileDataParameter decode(PacketBuffer buf) { + public static TileDataParameterMessage decode(PacketBuffer buf) { int id = buf.readInt(); boolean initial = buf.readBoolean(); @@ -33,17 +33,17 @@ public class MessageTileDataParameter { } } - return new MessageTileDataParameter(null, null, initial); + return new TileDataParameterMessage(null, null, initial); } - public static void encode(MessageTileDataParameter message, PacketBuffer buf) { + public static void encode(TileDataParameterMessage message, PacketBuffer buf) { buf.writeInt(message.parameter.getId()); buf.writeBoolean(message.initial); message.parameter.getSerializer().write(buf, message.parameter.getValueProducer().apply(message.tile)); } - public static void handle(MessageTileDataParameter message, Supplier ctx) { + public static void handle(TileDataParameterMessage message, Supplier ctx) { ctx.get().setPacketHandled(true); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageTileDataParameterUpdate.java b/src/main/java/com/raoulvdberge/refinedstorage/network/tiledata/TileDataParameterUpdateMessage.java similarity index 78% rename from src/main/java/com/raoulvdberge/refinedstorage/network/MessageTileDataParameterUpdate.java rename to src/main/java/com/raoulvdberge/refinedstorage/network/tiledata/TileDataParameterUpdateMessage.java index d8fda6fdb..069024938 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/network/MessageTileDataParameterUpdate.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/network/tiledata/TileDataParameterUpdateMessage.java @@ -1,4 +1,4 @@ -package com.raoulvdberge.refinedstorage.network; +package com.raoulvdberge.refinedstorage.network.tiledata; import com.raoulvdberge.refinedstorage.container.BaseContainer; import com.raoulvdberge.refinedstorage.tile.data.TileDataManager; @@ -10,16 +10,16 @@ import net.minecraftforge.fml.network.NetworkEvent; import java.util.function.BiConsumer; import java.util.function.Supplier; -public class MessageTileDataParameterUpdate { +public class TileDataParameterUpdateMessage { private TileDataParameter parameter; private Object value; - public MessageTileDataParameterUpdate(TileDataParameter parameter, Object value) { + public TileDataParameterUpdateMessage(TileDataParameter parameter, Object value) { this.parameter = parameter; this.value = value; } - public static MessageTileDataParameterUpdate decode(PacketBuffer buf) { + public static TileDataParameterUpdateMessage decode(PacketBuffer buf) { int id = buf.readInt(); TileDataParameter parameter = TileDataManager.getParameter(id); @@ -33,16 +33,16 @@ public class MessageTileDataParameterUpdate { } } - return new MessageTileDataParameterUpdate(parameter, value); + return new TileDataParameterUpdateMessage(parameter, value); } - public static void encode(MessageTileDataParameterUpdate message, PacketBuffer buf) { + public static void encode(TileDataParameterUpdateMessage message, PacketBuffer buf) { buf.writeInt(message.parameter.getId()); message.parameter.getSerializer().write(buf, message.value); } - public static void handle(MessageTileDataParameterUpdate message, Supplier ctx) { + public static void handle(TileDataParameterUpdateMessage message, Supplier ctx) { ctx.get().enqueueWork(() -> { Container c = ctx.get().getSender().openContainer; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/BaseScreen.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/BaseScreen.java index 385757504..1c3413a1a 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/BaseScreen.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/BaseScreen.java @@ -1,7 +1,6 @@ package com.raoulvdberge.refinedstorage.screen; import com.mojang.blaze3d.platform.GlStateManager; -import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.container.slot.filter.FluidFilterSlot; import com.raoulvdberge.refinedstorage.render.FluidRenderer; @@ -270,7 +269,7 @@ public abstract class BaseScreen extends ContainerScreen } public void renderQuantity(int x, int y, String qty) { - boolean large = /* TODO font.getUnicodeFlag() ||*/ RS.INSTANCE.config.largeFont; + boolean large = minecraft.getForceUnicodeFont() /* TODO || RS.INSTANCE.config.largeFont*/; GlStateManager.pushMatrix(); GlStateManager.translatef(x, y, 1); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/ControllerScreen.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/ControllerScreen.java index 673d997e5..083e3a9ef 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/ControllerScreen.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/ControllerScreen.java @@ -99,7 +99,7 @@ public class ControllerScreen extends BaseScreen { renderItem(x, y + 5, node.getStack()); - float scale = /*TODO fontRenderer.getUnicodeFlag() ? 1F :*/ 0.5F; + float scale = minecraft.getForceUnicodeFont() ? 1F : 0.5F; GlStateManager.pushMatrix(); GlStateManager.scalef(scale, scale, 1); @@ -107,7 +107,7 @@ public class ControllerScreen extends BaseScreen { renderString( RenderUtils.getOffsetOnScale(x + 1, scale), RenderUtils.getOffsetOnScale(y - 2, scale), - trimNameIfNeeded(/*TODO !fontRenderer.getUnicodeFlag()*/false, node.getStack().getDisplayName().getString()) // TODO + trimNameIfNeeded(!minecraft.getForceUnicodeFont(), node.getStack().getDisplayName().getString()) ); renderString(RenderUtils.getOffsetOnScale(x + 21, scale), RenderUtils.getOffsetOnScale(y + 10, scale), node.getAmount() + "x"); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/FilterScreen.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/FilterScreen.java index 27a607e41..6f1ec224d 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/FilterScreen.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/FilterScreen.java @@ -5,7 +5,7 @@ import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IFilter; import com.raoulvdberge.refinedstorage.container.FilterContainer; import com.raoulvdberge.refinedstorage.item.FilterItem; -import com.raoulvdberge.refinedstorage.network.MessageFilterUpdate; +import com.raoulvdberge.refinedstorage.network.FilterUpdateMessage; import com.raoulvdberge.refinedstorage.screen.widget.sidebutton.FilterTypeSideButton; import net.minecraft.client.gui.widget.TextFieldWidget; import net.minecraft.client.gui.widget.button.Button; @@ -128,6 +128,6 @@ public class FilterScreen extends BaseScreen { } public void sendUpdate() { - RS.NETWORK_HANDLER.sendToServer(new MessageFilterUpdate(compare, mode, modFilter, nameField.getText(), type)); + RS.NETWORK_HANDLER.sendToServer(new FilterUpdateMessage(compare, mode, modFilter, nameField.getText(), type)); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/GridScreen.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/GridScreen.java index 1c29c12b2..d8951b937 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/GridScreen.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/GridScreen.java @@ -13,11 +13,11 @@ import com.raoulvdberge.refinedstorage.container.GridContainer; import com.raoulvdberge.refinedstorage.screen.BaseScreen; import com.raoulvdberge.refinedstorage.screen.IScreenInfoProvider; import com.raoulvdberge.refinedstorage.screen.grid.sorting.*; -import com.raoulvdberge.refinedstorage.screen.grid.stack.GridStackItem; import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; -import com.raoulvdberge.refinedstorage.screen.grid.view.GridViewFluid; -import com.raoulvdberge.refinedstorage.screen.grid.view.GridViewItem; +import com.raoulvdberge.refinedstorage.screen.grid.stack.ItemGridStack; +import com.raoulvdberge.refinedstorage.screen.grid.view.FluidGridView; import com.raoulvdberge.refinedstorage.screen.grid.view.IGridView; +import com.raoulvdberge.refinedstorage.screen.grid.view.ItemGridView; import com.raoulvdberge.refinedstorage.screen.widget.ScrollbarWidget; import com.raoulvdberge.refinedstorage.screen.widget.SearchWidget; import com.raoulvdberge.refinedstorage.screen.widget.TabListWidget; @@ -62,7 +62,7 @@ public class GridScreen extends BaseScreen implements IScreenInfo super(container, 227, 0, inventory, title); this.grid = grid; - this.view = grid.getGridType() == GridType.FLUID ? new GridViewFluid(this, getDefaultSorter(), getSorters()) : new GridViewItem(this, getDefaultSorter(), getSorters()); + this.view = grid.getGridType() == GridType.FLUID ? new FluidGridView(this, getDefaultSorter(), getSorters()) : new ItemGridView(this, getDefaultSorter(), getSorters()); this.wasConnected = this.grid.isActive(); this.tabs = new TabListWidget(this, new ElementDrawers(this, font), grid::getTabs, grid::getTotalTabPages, grid::getTabPage, grid::getTabSelected, IGrid.TABS_PER_PAGE); this.tabs.addListener(new TabListWidget.ITabListListener() { @@ -406,9 +406,10 @@ public class GridScreen extends BaseScreen implements IScreenInfo smallTextLines.add(TimeUtils.getAgo(gridStack.getTrackerEntry().getTime(), gridStack.getTrackerEntry().getName())); } - ItemStack stack = gridStack instanceof GridStackItem ? ((GridStackItem) gridStack).getStack() : ItemStack.EMPTY; + ItemStack stack = gridStack instanceof ItemGridStack ? ((ItemGridStack) gridStack).getStack() : ItemStack.EMPTY; - RenderUtils.drawTooltipWithSmallText(textLines, smallTextLines, RS.INSTANCE.config.detailedTooltip, stack, mouseX, mouseY, xSize, ySize, font); + // @TODO DetailedToolTip + RenderUtils.drawTooltipWithSmallText(textLines, smallTextLines, true, stack, mouseX, mouseY, xSize, ySize, font); } @Override @@ -542,15 +543,15 @@ public class GridScreen extends BaseScreen implements IScreenInfo public static List getSorters() { List sorters = new LinkedList<>(); sorters.add(getDefaultSorter()); - sorters.add(new GridSorterQuantity()); - sorters.add(new GridSorterID()); - sorters.add(new GridSorterInventoryTweaks()); - sorters.add(new GridSorterLastModified()); + sorters.add(new QuantityGridSorter()); + sorters.add(new IdGridSorter()); + sorters.add(new LastModifiedGridSorter()); + sorters.add(new InvTweaksGridSorter()); return sorters; } public static IGridSorter getDefaultSorter() { - return new GridSorterName(); + return new NameGridSorter(); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/GuiGridCraftingSettings.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/GuiGridCraftingSettings.java index 50cc50b31..18249f9c5 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/GuiGridCraftingSettings.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/GuiGridCraftingSettings.java @@ -4,7 +4,7 @@ import com.google.common.primitives.Ints; import com.raoulvdberge.refinedstorage.container.CraftingSettingsContainer; import com.raoulvdberge.refinedstorage.screen.AmountSpecifyingScreen; import com.raoulvdberge.refinedstorage.screen.BaseScreen; -import com.raoulvdberge.refinedstorage.screen.grid.stack.GridStackFluid; +import com.raoulvdberge.refinedstorage.screen.grid.stack.FluidGridStack; import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.PlayerEntity; @@ -32,7 +32,7 @@ public class GuiGridCraftingSettings extends AmountSpecifyingScreen { +public class CraftableGridFilter implements Predicate { private boolean craftable; - public GridFilterCraftable(boolean craftable) { + public CraftableGridFilter(boolean craftable) { this.craftable = craftable; } @Override public boolean test(IGridStack stack) { - return stack instanceof GridStackItem && stack.isCraftable() == craftable; + return stack instanceof ItemGridStack && stack.isCraftable() == craftable; } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterFilter.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/FilterGridFilter.java similarity index 80% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterFilter.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/FilterGridFilter.java index f8a9d56b6..33941d3c3 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterFilter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/FilterGridFilter.java @@ -2,19 +2,19 @@ package com.raoulvdberge.refinedstorage.screen.grid.filtering; import com.raoulvdberge.refinedstorage.api.util.IFilter; import com.raoulvdberge.refinedstorage.apiimpl.API; -import com.raoulvdberge.refinedstorage.screen.grid.stack.GridStackFluid; -import com.raoulvdberge.refinedstorage.screen.grid.stack.GridStackItem; +import com.raoulvdberge.refinedstorage.screen.grid.stack.FluidGridStack; import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; +import com.raoulvdberge.refinedstorage.screen.grid.stack.ItemGridStack; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; import java.util.List; import java.util.function.Predicate; -public class GridFilterFilter implements Predicate { +public class FilterGridFilter implements Predicate { private List filters; - public GridFilterFilter(List filters) { + public FilterGridFilter(List filters) { this.filters = filters; } @@ -29,7 +29,7 @@ public class GridFilterFilter implements Predicate { for (IFilter filter : filters) { lastMode = filter.getMode(); - if (stack instanceof GridStackItem && filter.getStack() instanceof ItemStack) { + if (stack instanceof ItemGridStack && filter.getStack() instanceof ItemStack) { ItemStack stackInFilter = (ItemStack) filter.getStack(); if (filter.isModFilter()) { @@ -39,10 +39,10 @@ public class GridFilterFilter implements Predicate { if (filterModId != null && filterModId.equals(stackModId)) { return filter.getMode() == IFilter.MODE_WHITELIST; } - } else if (API.instance().getComparer().isEqual(((GridStackItem) stack).getStack(), stackInFilter, filter.getCompare())) { + } else if (API.instance().getComparer().isEqual(((ItemGridStack) stack).getStack(), stackInFilter, filter.getCompare())) { return filter.getMode() == IFilter.MODE_WHITELIST; } - } else if (stack instanceof GridStackFluid && filter.getStack() instanceof FluidStack) { + } else if (stack instanceof FluidGridStack && filter.getStack() instanceof FluidStack) { FluidStack stackInFilter = (FluidStack) filter.getStack(); if (filter.isModFilter()) { @@ -51,7 +51,7 @@ public class GridFilterFilter implements Predicate { if (stackInFilterModId != null && stackInFilterModId.equalsIgnoreCase(stack.getModId())) { return filter.getMode() == IFilter.MODE_WHITELIST; } - } else if (API.instance().getComparer().isEqual(((GridStackFluid) stack).getStack(), stackInFilter, filter.getCompare())) { + } else if (API.instance().getComparer().isEqual(((FluidGridStack) stack).getStack(), stackInFilter, filter.getCompare())) { return filter.getMode() == IFilter.MODE_WHITELIST; } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterParser.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterParser.java index bd48ab10e..1f0d5636c 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterParser.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterParser.java @@ -25,19 +25,19 @@ public final class GridFilterParser { } gridFilters = new LinkedList<>(); - gridFilters.add(new GridFilterOr(orPartFilters)); + gridFilters.add(new OrGridFilter(orPartFilters)); } if (grid != null) { if (grid.getViewType() == IGrid.VIEW_TYPE_NON_CRAFTABLES) { - gridFilters.add(new GridFilterCraftable(false)); + gridFilters.add(new CraftableGridFilter(false)); } else if (grid.getViewType() == IGrid.VIEW_TYPE_CRAFTABLES) { - gridFilters.add(new GridFilterCraftable(true)); + gridFilters.add(new CraftableGridFilter(true)); } } if (!filters.isEmpty()) { - gridFilters.add(new GridFilterFilter(filters)); + gridFilters.add(new FilterGridFilter(filters)); } return gridFilters; @@ -48,13 +48,13 @@ public final class GridFilterParser { for (String part : query.toLowerCase().trim().split(" ")) { if (part.startsWith("@")) { - gridFilters.add(new GridFilterMod(part.substring(1))); + gridFilters.add(new ModGridFilter(part.substring(1))); } else if (part.startsWith("#")) { - gridFilters.add(new GridFilterTooltip(part.substring(1))); + gridFilters.add(new TooltipGridFilter(part.substring(1))); } else if (part.startsWith("$")) { - gridFilters.add(new GridFilterOreDict(part.substring(1))); + gridFilters.add(new OredictGridFilter(part.substring(1))); } else { - gridFilters.add(new GridFilterName(part)); + gridFilters.add(new NameGridFilter(part)); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterMod.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/ModGridFilter.java similarity index 88% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterMod.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/ModGridFilter.java index 40971c7a0..46c0699bc 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterMod.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/ModGridFilter.java @@ -4,10 +4,10 @@ import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; import java.util.function.Predicate; -public class GridFilterMod implements Predicate { +public class ModGridFilter implements Predicate { private String inputModName; - public GridFilterMod(String inputModName) { + public ModGridFilter(String inputModName) { this.inputModName = standardify(inputModName); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterName.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/NameGridFilter.java similarity index 78% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterName.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/NameGridFilter.java index 804846438..3d4cb3b4c 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterName.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/NameGridFilter.java @@ -4,10 +4,10 @@ import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; import java.util.function.Predicate; -public class GridFilterName implements Predicate { +public class NameGridFilter implements Predicate { private String name; - public GridFilterName(String name) { + public NameGridFilter(String name) { this.name = name.toLowerCase(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterOr.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/OrGridFilter.java similarity index 83% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterOr.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/OrGridFilter.java index 51bc35f47..81359f8b5 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterOr.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/OrGridFilter.java @@ -5,10 +5,10 @@ import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; import java.util.List; import java.util.function.Predicate; -public class GridFilterOr implements Predicate { +public class OrGridFilter implements Predicate { private List>> orPartFilters; - public GridFilterOr(List>> orPartFilters) { + public OrGridFilter(List>> orPartFilters) { this.orPartFilters = orPartFilters; } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterOreDict.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/OredictGridFilter.java similarity index 80% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterOreDict.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/OredictGridFilter.java index e581ad33a..64695fb9e 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterOreDict.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/OredictGridFilter.java @@ -5,10 +5,10 @@ import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; import java.util.Arrays; import java.util.function.Predicate; -public class GridFilterOreDict implements Predicate { +public class OredictGridFilter implements Predicate { private String oreName; - public GridFilterOreDict(String oreName) { + public OredictGridFilter(String oreName) { this.oreName = oreName.toLowerCase(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterTooltip.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/TooltipGridFilter.java similarity index 85% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterTooltip.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/TooltipGridFilter.java index 44c330957..fc40acde4 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/GridFilterTooltip.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/filtering/TooltipGridFilter.java @@ -4,10 +4,10 @@ import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; import java.util.function.Predicate; -public class GridFilterTooltip implements Predicate { +public class TooltipGridFilter implements Predicate { private String tooltip; - public GridFilterTooltip(String tooltip) { + public TooltipGridFilter(String tooltip) { this.tooltip = tooltip.toLowerCase(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/IGridSorter.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/IGridSorter.java index ffc5ec3f3..f5d3356b5 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/IGridSorter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/IGridSorter.java @@ -6,5 +6,5 @@ import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; public interface IGridSorter { boolean isApplicable(IGrid grid); - int compare(IGridStack left, IGridStack right, GridSorterDirection direction); + int compare(IGridStack left, IGridStack right, SortingDirection direction); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterID.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/IdGridSorter.java similarity index 75% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterID.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/IdGridSorter.java index 2daaf5372..e43d8d7b2 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterID.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/IdGridSorter.java @@ -5,14 +5,14 @@ import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -public class GridSorterID implements IGridSorter { +public class IdGridSorter implements IGridSorter { @Override public boolean isApplicable(IGrid grid) { return grid.getSortingType() == IGrid.SORTING_TYPE_ID; } @Override - public int compare(IGridStack left, IGridStack right, GridSorterDirection sortingDirection) { + public int compare(IGridStack left, IGridStack right, SortingDirection sortingDirection) { int x = left.getHash(); int y = right.getHash(); @@ -22,9 +22,9 @@ public class GridSorterID implements IGridSorter { } if (x != y) { - if (sortingDirection == GridSorterDirection.DESCENDING) { + if (sortingDirection == SortingDirection.DESCENDING) { return Integer.compare(x, y); - } else if (sortingDirection == GridSorterDirection.ASCENDING) { + } else if (sortingDirection == SortingDirection.ASCENDING) { return Integer.compare(y, x); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterInventoryTweaks.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/InvTweaksGridSorter.java similarity index 90% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterInventoryTweaks.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/InvTweaksGridSorter.java index 3a35a6d12..8f7dea0df 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterInventoryTweaks.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/InvTweaksGridSorter.java @@ -4,7 +4,7 @@ import com.raoulvdberge.refinedstorage.api.network.grid.IGrid; import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; // TODO -public class GridSorterInventoryTweaks implements IGridSorter { +public class InvTweaksGridSorter implements IGridSorter { public static final String MOD_ID = "inventorytweaks"; @Override @@ -13,7 +13,7 @@ public class GridSorterInventoryTweaks implements IGridSorter { } @Override - public int compare(IGridStack left, IGridStack right, GridSorterDirection direction) { + public int compare(IGridStack left, IGridStack right, SortingDirection direction) { return 0; } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterLastModified.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/LastModifiedGridSorter.java similarity index 71% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterLastModified.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/LastModifiedGridSorter.java index 79af71c94..e56c5f7e6 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterLastModified.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/LastModifiedGridSorter.java @@ -3,22 +3,22 @@ package com.raoulvdberge.refinedstorage.screen.grid.sorting; import com.raoulvdberge.refinedstorage.api.network.grid.IGrid; import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; -public class GridSorterLastModified implements IGridSorter { +public class LastModifiedGridSorter implements IGridSorter { @Override public boolean isApplicable(IGrid grid) { return grid.getSortingType() == IGrid.SORTING_TYPE_LAST_MODIFIED; } @Override - public int compare(IGridStack left, IGridStack right, GridSorterDirection sortingDirection) { + public int compare(IGridStack left, IGridStack right, SortingDirection sortingDirection) { long lt = left.getTrackerEntry() != null ? left.getTrackerEntry().getTime() : 0; long rt = right.getTrackerEntry() != null ? right.getTrackerEntry().getTime() : 0; if (lt != rt) { // For "last modified" the comparison is reversed - if (sortingDirection == GridSorterDirection.DESCENDING) { + if (sortingDirection == SortingDirection.DESCENDING) { return Long.compare(rt, lt); - } else if (sortingDirection == GridSorterDirection.ASCENDING) { + } else if (sortingDirection == SortingDirection.ASCENDING) { return Long.compare(lt, rt); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterName.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/NameGridSorter.java similarity index 66% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterName.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/NameGridSorter.java index cff0d4dfa..8f5531728 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterName.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/NameGridSorter.java @@ -3,20 +3,20 @@ package com.raoulvdberge.refinedstorage.screen.grid.sorting; import com.raoulvdberge.refinedstorage.api.network.grid.IGrid; import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; -public class GridSorterName implements IGridSorter { +public class NameGridSorter implements IGridSorter { @Override public boolean isApplicable(IGrid grid) { return grid.getSortingType() == IGrid.SORTING_TYPE_NAME; } @Override - public int compare(IGridStack left, IGridStack right, GridSorterDirection sortingDirection) { + public int compare(IGridStack left, IGridStack right, SortingDirection sortingDirection) { String leftName = left.getName(); String rightName = right.getName(); - if (sortingDirection == GridSorterDirection.ASCENDING) { + if (sortingDirection == SortingDirection.ASCENDING) { return leftName.compareTo(rightName); - } else if (sortingDirection == GridSorterDirection.DESCENDING) { + } else if (sortingDirection == SortingDirection.DESCENDING) { return rightName.compareTo(leftName); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterQuantity.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/QuantityGridSorter.java similarity index 67% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterQuantity.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/QuantityGridSorter.java index c329f56e6..0ced1b244 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterQuantity.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/QuantityGridSorter.java @@ -3,21 +3,21 @@ package com.raoulvdberge.refinedstorage.screen.grid.sorting; import com.raoulvdberge.refinedstorage.api.network.grid.IGrid; import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; -public class GridSorterQuantity implements IGridSorter { +public class QuantityGridSorter implements IGridSorter { @Override public boolean isApplicable(IGrid grid) { return grid.getSortingType() == IGrid.SORTING_TYPE_QUANTITY; } @Override - public int compare(IGridStack left, IGridStack right, GridSorterDirection sortingDirection) { + public int compare(IGridStack left, IGridStack right, SortingDirection sortingDirection) { int leftSize = left.getQuantity(); int rightSize = right.getQuantity(); if (leftSize != rightSize) { - if (sortingDirection == GridSorterDirection.ASCENDING) { + if (sortingDirection == SortingDirection.ASCENDING) { return (leftSize > rightSize) ? 1 : -1; - } else if (sortingDirection == GridSorterDirection.DESCENDING) { + } else if (sortingDirection == SortingDirection.DESCENDING) { return (rightSize > leftSize) ? 1 : -1; } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterDirection.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/SortingDirection.java similarity index 73% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterDirection.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/SortingDirection.java index 7ad14c5c5..fc7c5b0d2 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/GridSorterDirection.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/sorting/SortingDirection.java @@ -1,6 +1,6 @@ package com.raoulvdberge.refinedstorage.screen.grid.sorting; -public enum GridSorterDirection { +public enum SortingDirection { ASCENDING, DESCENDING } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/stack/GridStackFluid.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/stack/FluidGridStack.java similarity index 94% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/stack/GridStackFluid.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/stack/FluidGridStack.java index a41ff847e..e591a666e 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/stack/GridStackFluid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/stack/FluidGridStack.java @@ -9,7 +9,7 @@ import net.minecraftforge.fluids.FluidStack; import javax.annotation.Nullable; -public class GridStackFluid implements IGridStack { +public class FluidGridStack implements IGridStack { private int hash; private FluidStack stack; @Nullable @@ -19,7 +19,7 @@ public class GridStackFluid implements IGridStack { private String modId; private String modName; - public GridStackFluid(int hash, FluidStack stack, @Nullable IStorageTracker.IStorageTrackerEntry entry, boolean craftable, boolean displayCraftText) { + public FluidGridStack(int hash, FluidStack stack, @Nullable IStorageTracker.IStorageTrackerEntry entry, boolean craftable, boolean displayCraftText) { this.hash = hash; this.stack = stack; this.entry = entry; @@ -73,7 +73,7 @@ public class GridStackFluid implements IGridStack { @Override public String getModName() { if (modName == null) { - modName = GridStackItem.getModNameByModId(getModId()); + modName = ItemGridStack.getModNameByModId(getModId()); if (modName == null) { modName = "???"; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/stack/GridStackItem.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/stack/ItemGridStack.java similarity index 92% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/stack/GridStackItem.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/stack/ItemGridStack.java index 08ac73241..94e11582c 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/stack/GridStackItem.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/stack/ItemGridStack.java @@ -3,12 +3,14 @@ package com.raoulvdberge.refinedstorage.screen.grid.stack; import com.raoulvdberge.refinedstorage.api.storage.IStorageTracker; import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.screen.BaseScreen; +import com.raoulvdberge.refinedstorage.util.RenderUtils; import net.minecraft.client.resources.I18n; import net.minecraft.item.ItemStack; import javax.annotation.Nullable; +import java.util.stream.Collectors; -public class GridStackItem implements IGridStack { +public class ItemGridStack implements IGridStack { private int hash; private ItemStack stack; private String cachedName; @@ -21,11 +23,11 @@ public class GridStackItem implements IGridStack { private String modName; private String tooltip; - public GridStackItem(ItemStack stack) { + public ItemGridStack(ItemStack stack) { this.stack = stack; } - public GridStackItem(int hash, ItemStack stack, boolean craftable, boolean displayCraftText, IStorageTracker.IStorageTrackerEntry entry) { + public ItemGridStack(int hash, ItemStack stack, boolean craftable, boolean displayCraftText, IStorageTracker.IStorageTrackerEntry entry) { this.hash = hash; this.stack = stack; this.craftable = craftable; @@ -129,8 +131,7 @@ public class GridStackItem implements IGridStack { public String getTooltip() { if (tooltip == null) { try { - tooltip = "dinosaur";//TODO - //tooltip = RenderUtils.getItemTooltip(stack).stream().collect(Collectors.joining("\n")); + tooltip = RenderUtils.getTooltipFromItem(stack).stream().collect(Collectors.joining("\n")); } catch (Throwable t) { tooltip = ""; } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/GridViewBase.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/BaseGridView.java similarity index 76% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/GridViewBase.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/BaseGridView.java index 7168c3c5a..fb38b62ec 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/GridViewBase.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/BaseGridView.java @@ -3,15 +3,15 @@ package com.raoulvdberge.refinedstorage.screen.grid.view; import com.raoulvdberge.refinedstorage.api.network.grid.IGrid; import com.raoulvdberge.refinedstorage.screen.grid.GridScreen; import com.raoulvdberge.refinedstorage.screen.grid.filtering.GridFilterParser; -import com.raoulvdberge.refinedstorage.screen.grid.sorting.GridSorterDirection; import com.raoulvdberge.refinedstorage.screen.grid.sorting.IGridSorter; +import com.raoulvdberge.refinedstorage.screen.grid.sorting.SortingDirection; import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; import java.util.*; import java.util.function.Predicate; -public abstract class GridViewBase implements IGridView { - private GridScreen gui; +public abstract class BaseGridView implements IGridView { + private GridScreen screen; private boolean canCraft; private IGridSorter defaultSorter; @@ -20,8 +20,8 @@ public abstract class GridViewBase implements IGridView { private List stacks = new ArrayList<>(); protected Map map = new HashMap<>(); - public GridViewBase(GridScreen gui, IGridSorter defaultSorter, List sorters) { - this.gui = gui; + public BaseGridView(GridScreen screen, IGridSorter defaultSorter, List sorters) { + this.screen = screen; this.defaultSorter = defaultSorter; this.sorters = sorters; } @@ -35,14 +35,14 @@ public abstract class GridViewBase implements IGridView { public void sort() { List stacks = new ArrayList<>(); - if (gui.getGrid().isActive()) { + if (screen.getGrid().isActive()) { stacks.addAll(map.values()); - IGrid grid = gui.getGrid(); + IGrid grid = screen.getGrid(); List> filters = GridFilterParser.getFilters( grid, - gui.getSearchField() != null ? gui.getSearchField().getText() : "", + screen.getSearchField() != null ? screen.getSearchField().getText() : "", (grid.getTabSelected() >= 0 && grid.getTabSelected() < grid.getTabs().size()) ? grid.getTabs().get(grid.getTabSelected()).getFilters() : grid.getFilters() ); @@ -60,7 +60,7 @@ public abstract class GridViewBase implements IGridView { } } - GridSorterDirection sortingDirection = grid.getSortingDirection() == IGrid.SORTING_DIRECTION_DESCENDING ? GridSorterDirection.DESCENDING : GridSorterDirection.ASCENDING; + SortingDirection sortingDirection = grid.getSortingDirection() == IGrid.SORTING_DIRECTION_DESCENDING ? SortingDirection.DESCENDING : SortingDirection.ASCENDING; stacks.sort((left, right) -> defaultSorter.compare(left, right, sortingDirection)); @@ -73,7 +73,7 @@ public abstract class GridViewBase implements IGridView { this.stacks = stacks; - this.gui.updateScrollbar(); + this.screen.updateScrollbar(); } @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/GridViewFluid.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/FluidGridView.java similarity index 77% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/GridViewFluid.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/FluidGridView.java index 2c6515876..819859bf9 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/GridViewFluid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/FluidGridView.java @@ -2,14 +2,14 @@ package com.raoulvdberge.refinedstorage.screen.grid.view; import com.raoulvdberge.refinedstorage.screen.grid.GridScreen; import com.raoulvdberge.refinedstorage.screen.grid.sorting.IGridSorter; -import com.raoulvdberge.refinedstorage.screen.grid.stack.GridStackFluid; +import com.raoulvdberge.refinedstorage.screen.grid.stack.FluidGridStack; import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; import java.util.List; -public class GridViewFluid extends GridViewBase { - public GridViewFluid(GridScreen gui, IGridSorter defaultSorter, List sorters) { - super(gui, defaultSorter, sorters); +public class FluidGridView extends BaseGridView { + public FluidGridView(GridScreen screen, IGridSorter defaultSorter, List sorters) { + super(screen, defaultSorter, sorters); } @Override @@ -28,14 +28,14 @@ public class GridViewFluid extends GridViewBase { @Override public void postChange(IGridStack stack, int delta) { - if (!(stack instanceof GridStackFluid)) { + if (!(stack instanceof FluidGridStack)) { return; } - GridStackFluid existing = (GridStackFluid) map.get(stack.getHash()); + FluidGridStack existing = (FluidGridStack) map.get(stack.getHash()); if (existing == null) { - ((GridStackFluid) stack).getStack().setAmount(delta); + ((FluidGridStack) stack).getStack().setAmount(delta); map.put(stack.getHash(), stack); } else { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/GridViewItem.java b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/ItemGridView.java similarity index 77% rename from src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/GridViewItem.java rename to src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/ItemGridView.java index a6825aa89..d7807dd3d 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/GridViewItem.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/screen/grid/view/ItemGridView.java @@ -2,14 +2,14 @@ package com.raoulvdberge.refinedstorage.screen.grid.view; import com.raoulvdberge.refinedstorage.screen.grid.GridScreen; import com.raoulvdberge.refinedstorage.screen.grid.sorting.IGridSorter; -import com.raoulvdberge.refinedstorage.screen.grid.stack.GridStackItem; import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; +import com.raoulvdberge.refinedstorage.screen.grid.stack.ItemGridStack; import java.util.List; -public class GridViewItem extends GridViewBase { - public GridViewItem(GridScreen gui, IGridSorter defaultSorter, List sorters) { - super(gui, defaultSorter, sorters); +public class ItemGridView extends BaseGridView { + public ItemGridView(GridScreen screen, IGridSorter defaultSorter, List sorters) { + super(screen, defaultSorter, sorters); } @Override @@ -28,14 +28,14 @@ public class GridViewItem extends GridViewBase { @Override public void postChange(IGridStack stack, int delta) { - if (!(stack instanceof GridStackItem)) { + if (!(stack instanceof ItemGridStack)) { return; } - GridStackItem existing = (GridStackItem) map.get(stack.getHash()); + ItemGridStack existing = (ItemGridStack) map.get(stack.getHash()); if (existing == null) { - ((GridStackItem) stack).getStack().setCount(delta); + ((ItemGridStack) stack).getStack().setCount(delta); map.put(stack.getHash(), stack); } else { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/ControllerTile.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/ControllerTile.java index c1c6e91cd..37f9a28a5 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/ControllerTile.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/ControllerTile.java @@ -45,6 +45,7 @@ import com.raoulvdberge.refinedstorage.util.StackUtils; import net.minecraft.block.BlockState; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; import net.minecraft.nbt.CompoundNBT; import net.minecraft.network.datasync.DataSerializers; import net.minecraft.tileentity.ITickableTileEntity; @@ -209,9 +210,14 @@ public class ControllerTile extends BaseTile implements ITickableTileEntity, INe return craftingManager; } + private int ticks; + @Override public void tick() { if (!world.isRemote) { + if (++ticks % 20 == 0) + insertItem(new ItemStack(Items.DIRT), 10, Action.PERFORM); + if (canRun()) { craftingManager.update(); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/data/TileDataManager.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/data/TileDataManager.java index a6b8fba5b..929edffa7 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/data/TileDataManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/data/TileDataManager.java @@ -1,7 +1,7 @@ package com.raoulvdberge.refinedstorage.tile.data; import com.raoulvdberge.refinedstorage.RS; -import com.raoulvdberge.refinedstorage.network.MessageTileDataParameterUpdate; +import com.raoulvdberge.refinedstorage.network.tiledata.TileDataParameterUpdateMessage; import net.minecraft.tileentity.TileEntity; import java.util.ArrayList; @@ -70,6 +70,6 @@ public class TileDataManager { } public static void setParameter(TileDataParameter parameter, Object value) { - RS.NETWORK_HANDLER.sendToServer(new MessageTileDataParameterUpdate(parameter, value)); + RS.NETWORK_HANDLER.sendToServer(new TileDataParameterUpdateMessage(parameter, value)); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/data/TileDataWatcher.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/data/TileDataWatcher.java index 63f9b19d0..5599eab34 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/data/TileDataWatcher.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/data/TileDataWatcher.java @@ -1,7 +1,7 @@ package com.raoulvdberge.refinedstorage.tile.data; import com.raoulvdberge.refinedstorage.RS; -import com.raoulvdberge.refinedstorage.network.MessageTileDataParameter; +import com.raoulvdberge.refinedstorage.network.tiledata.TileDataParameterMessage; import net.minecraft.entity.player.ServerPlayerEntity; public class TileDataWatcher { @@ -54,6 +54,6 @@ public class TileDataWatcher { } public void sendParameter(boolean initial, TileDataParameter parameter) { - RS.NETWORK_HANDLER.sendTo(player, new MessageTileDataParameter(manager.getTile(), parameter, initial)); + RS.NETWORK_HANDLER.sendTo(player, new TileDataParameterMessage(manager.getTile(), parameter, initial)); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/util/RenderUtils.java b/src/main/java/com/raoulvdberge/refinedstorage/util/RenderUtils.java index 19adeabf0..e1263ba0e 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/util/RenderUtils.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/util/RenderUtils.java @@ -185,8 +185,7 @@ public final class RenderUtils { FontRenderer font = event.getFontRenderer(); // RS BEGIN - //float textScale = font.getUnicodeFlag() ? 1F : 0.7F; - float textScale = 1F; + float textScale = Minecraft.getInstance().getForceUnicodeFont() ? 1F : 0.7F; // RS END GlStateManager.disableRescaleNormal(); @@ -281,7 +280,7 @@ public final class RenderUtils { font.drawStringWithShadow( TextFormatting.GRAY + smallTextLines.get(i), RenderUtils.getOffsetOnScale(tooltipX, textScale), - RenderUtils.getOffsetOnScale(y - (/* TODO font.getUnicodeFlag() ? 2 : */0), textScale), + RenderUtils.getOffsetOnScale(y - (Minecraft.getInstance().getForceUnicodeFont() ? 2 : 0), textScale), -1 ); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/util/StackUtils.java b/src/main/java/com/raoulvdberge/refinedstorage/util/StackUtils.java index 288378a82..e220aa928 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/util/StackUtils.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/util/StackUtils.java @@ -7,8 +7,8 @@ import com.raoulvdberge.refinedstorage.api.storage.disk.IStorageDiskProvider; import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.apiimpl.storage.StorageTrackerEntry; import com.raoulvdberge.refinedstorage.inventory.item.ItemHandlerBase; -import com.raoulvdberge.refinedstorage.screen.grid.stack.GridStackFluid; -import com.raoulvdberge.refinedstorage.screen.grid.stack.GridStackItem; +import com.raoulvdberge.refinedstorage.screen.grid.stack.FluidGridStack; +import com.raoulvdberge.refinedstorage.screen.grid.stack.ItemGridStack; import net.minecraft.inventory.IInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -48,7 +48,7 @@ public final class StackUtils { Item item = stack.getItem(); buf.writeVarInt(Item.getIdFromItem(item)); - buf.writeByte(stack.getCount()); + buf.writeInt(stack.getCount()); CompoundNBT tag = null; @@ -66,7 +66,7 @@ public final class StackUtils { return ItemStack.EMPTY; } else { int id = buf.readVarInt(); - int count = buf.readByte(); + int count = buf.readInt(); ItemStack stack = new ItemStack(Item.getItemById(id), count); @@ -99,7 +99,7 @@ public final class StackUtils { } } - public static GridStackItem readItemGridStack(PacketBuffer buf) { + public static ItemGridStack readItemGridStack(PacketBuffer buf) { ItemStack stack = readItemStack(buf); int hash = buf.readInt(); boolean craftable = buf.readBoolean(); @@ -110,7 +110,7 @@ public final class StackUtils { entry = new StorageTrackerEntry(buf.readLong(), buf.readString()); } - return new GridStackItem(hash, stack, craftable, displayCraftText, entry); + return new ItemGridStack(hash, stack, craftable, displayCraftText, entry); } public static void writeFluidGridStack(PacketBuffer buf, FluidStack stack, @Nullable INetwork network, boolean displayCraftText, @Nullable IStorageTracker.IStorageTrackerEntry entry) { @@ -136,7 +136,7 @@ public final class StackUtils { } } - public static GridStackFluid readFluidGridStack(PacketBuffer buf) { + public static FluidGridStack readFluidGridStack(PacketBuffer buf) { FluidStack stack = FluidStack.readFromPacket(buf); int hash = buf.readInt(); boolean craftable = buf.readBoolean(); @@ -147,7 +147,7 @@ public final class StackUtils { entry = new StorageTrackerEntry(buf.readLong(), buf.readString()); } - return new GridStackFluid(hash, stack, entry, craftable, displayCraftText); + return new FluidGridStack(hash, stack, entry, craftable, displayCraftText); } public static ItemStack nullToEmpty(@Nullable ItemStack stack) {