From b3e2b30e72d02affc3f36f3c4923e9fe8e67c699 Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Wed, 8 Sep 2021 18:38:47 +0700 Subject: [PATCH] Rename ItemStackStack to ItemStackWrapper --- .../mc/otm/OverdriveThatMatters.java | 4 +-- .../otm/capability/drive/IMatteryDrive.java | 2 +- .../mc/otm/capability/drive/MatteryDrive.java | 32 +++++++++---------- .../mc/otm/menu/ItemMonitorMenu.java | 4 +-- .../mc/otm/menu/data/NetworkedItemView.java | 14 ++++---- ...mStackStack.java => ItemStackWrapper.java} | 8 ++--- .../mc/otm/storage/StorageObjectRegistry.java | 9 ++++++ 7 files changed, 41 insertions(+), 32 deletions(-) rename src/main/java/ru/dbotthepony/mc/otm/storage/{ItemStackStack.java => ItemStackWrapper.java} (81%) diff --git a/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java b/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java index 75a7d106a..2e8317ce7 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java +++ b/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java @@ -30,7 +30,7 @@ import ru.dbotthepony.mc.otm.item.ItemPortableCondensationDrive; import ru.dbotthepony.mc.otm.matter.MatterGrid; import ru.dbotthepony.mc.otm.matter.MatterRegistry; import ru.dbotthepony.mc.otm.network.MatteryNetworking; -import ru.dbotthepony.mc.otm.storage.ItemStackStack; +import ru.dbotthepony.mc.otm.storage.ItemStackWrapper; import ru.dbotthepony.mc.otm.storage.StorageObjectRegistry; import java.util.ArrayList; @@ -167,7 +167,7 @@ public class OverdriveThatMatters { MatterRegistry.registerInitialItems(); - StorageObjectRegistry.register(ItemStackStack.class, ItemStackStack.EMPTY); + StorageObjectRegistry.register(ItemStackWrapper.class, ItemStackWrapper.EMPTY); } private void setupClient(final FMLClientSetupEvent event) { diff --git a/src/main/java/ru/dbotthepony/mc/otm/capability/drive/IMatteryDrive.java b/src/main/java/ru/dbotthepony/mc/otm/capability/drive/IMatteryDrive.java index aef1b6baa..bb8a5c830 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/capability/drive/IMatteryDrive.java +++ b/src/main/java/ru/dbotthepony/mc/otm/capability/drive/IMatteryDrive.java @@ -12,7 +12,7 @@ import java.util.UUID; @ParametersAreNonnullByDefault @MethodsReturnNonnullByDefault -public interface IMatteryDrive extends IStorageComponent { +public interface IMatteryDrive extends IStorageComponent { record StoredStack(ItemStack stack, UUID id) {}; List getItems(); diff --git a/src/main/java/ru/dbotthepony/mc/otm/capability/drive/MatteryDrive.java b/src/main/java/ru/dbotthepony/mc/otm/capability/drive/MatteryDrive.java index b093f70d9..a4bdca794 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/capability/drive/MatteryDrive.java +++ b/src/main/java/ru/dbotthepony/mc/otm/capability/drive/MatteryDrive.java @@ -11,7 +11,7 @@ import net.minecraft.world.item.Items; import net.minecraftforge.registries.RegistryManager; import ru.dbotthepony.mc.otm.storage.IStorageListener; import ru.dbotthepony.mc.otm.storage.IStorageTuple; -import ru.dbotthepony.mc.otm.storage.ItemStackStack; +import ru.dbotthepony.mc.otm.storage.ItemStackWrapper; import ru.dbotthepony.mc.otm.storage.StorageTuple; import javax.annotation.Nonnull; @@ -173,7 +173,7 @@ public class MatteryDrive implements IMatteryDrive { items_by_id.put(state.id(), state); for (var listener : listeners2) { - listener.addObject(new ItemStackStack(state.stack()), state.id(), this); + listener.addObject(new ItemStackWrapper(state.stack()), state.id(), this); } markDirty(); @@ -185,9 +185,9 @@ public class MatteryDrive implements IMatteryDrive { } @Override - public ItemStackStack insertObject(ItemStackStack obj, boolean simulate) { + public ItemStackWrapper insertObject(ItemStackWrapper obj, boolean simulate) { var get = insertItem(obj.stack(), simulate); - return get.isEmpty() ? ItemStackStack.EMPTY : new ItemStackStack(get); + return get.isEmpty() ? ItemStackWrapper.EMPTY : new ItemStackWrapper(get); } @Nonnull @@ -322,49 +322,49 @@ public class MatteryDrive implements IMatteryDrive { } @Override - public Class storageIdentity() { - return ItemStackStack.class; + public Class storageIdentity() { + return ItemStackWrapper.class; } @Override - public ItemStackStack getStoredObject(UUID id) { + public ItemStackWrapper getStoredObject(UUID id) { var get = getItem(id); - return get.isEmpty() ? ItemStackStack.EMPTY : new ItemStackStack(get); + return get.isEmpty() ? ItemStackWrapper.EMPTY : new ItemStackWrapper(get); } @Override - public ItemStackStack extractObject(UUID id, BigDecimal amount, boolean simulate) { + public ItemStackWrapper extractObject(UUID id, BigDecimal amount, boolean simulate) { var get = extractItem(id, amount.intValue(), simulate); - return get.isEmpty() ? ItemStackStack.EMPTY : new ItemStackStack(get); + return get.isEmpty() ? ItemStackWrapper.EMPTY : new ItemStackWrapper(get); } @Override - public List> getStorageObjects() { + public List> getStorageObjects() { int amount = 0; for (var listing : items.values()) amount += listing.size(); - var list = new ArrayList>(amount); + var list = new ArrayList>(amount); for (var listing : items.values()) { for (var stack : listing) { - list.add(new StorageTuple<>(stack.id(), new ItemStackStack(stack.stack()))); + list.add(new StorageTuple<>(stack.id(), new ItemStackWrapper(stack.stack()))); } } return list; } - protected final HashSet> listeners2 = new HashSet<>(); + protected final HashSet> listeners2 = new HashSet<>(); @Override - public boolean addListener(IStorageListener listener) { + public boolean addListener(IStorageListener listener) { return listeners2.add(listener); } @Override - public boolean removeListener(IStorageListener listener) { + public boolean removeListener(IStorageListener listener) { return listeners2.remove(listener); } } diff --git a/src/main/java/ru/dbotthepony/mc/otm/menu/ItemMonitorMenu.java b/src/main/java/ru/dbotthepony/mc/otm/menu/ItemMonitorMenu.java index 8492d01fa..1244b764c 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/menu/ItemMonitorMenu.java +++ b/src/main/java/ru/dbotthepony/mc/otm/menu/ItemMonitorMenu.java @@ -5,7 +5,7 @@ import ru.dbotthepony.mc.otm.Registry; import ru.dbotthepony.mc.otm.block.entity.BlockEntityItemMonitor; import ru.dbotthepony.mc.otm.menu.data.INetworkedItemViewSupplier; import ru.dbotthepony.mc.otm.menu.data.NetworkedItemView; -import ru.dbotthepony.mc.otm.storage.ItemStackStack; +import ru.dbotthepony.mc.otm.storage.ItemStackWrapper; import javax.annotation.Nonnull; @@ -28,7 +28,7 @@ public class ItemMonitorMenu extends PoweredMatteryMenu implements INetworkedIte view = new NetworkedItemView(inventory.player, this, tile == null); if (tile != null) { - view.setComponent(tile.cell.getStorageGrid().getVirtualComponent(ItemStackStack.class)); + view.setComponent(tile.cell.getStorageGrid().getVirtualComponent(ItemStackWrapper.class)); } addBatterySlot(); diff --git a/src/main/java/ru/dbotthepony/mc/otm/menu/data/NetworkedItemView.java b/src/main/java/ru/dbotthepony/mc/otm/menu/data/NetworkedItemView.java index a46607c5a..027554e8c 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/menu/data/NetworkedItemView.java +++ b/src/main/java/ru/dbotthepony/mc/otm/menu/data/NetworkedItemView.java @@ -29,7 +29,7 @@ import static net.minecraft.client.gui.screens.Screen.hasShiftDown; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -public class NetworkedItemView implements IStorageListener { +public class NetworkedItemView implements IStorageListener { public final boolean remote; public final MatteryMenu menu; public final Player ply; @@ -47,7 +47,7 @@ public class NetworkedItemView implements IStorageListener { private List view_cache; - protected IStorageComponent provider; + protected IStorageComponent provider; public NetworkedItemView(Player ply, MatteryMenu menu, boolean remote) { this.remote = remote; @@ -63,7 +63,7 @@ public class NetworkedItemView implements IStorageListener { MatteryNetworking.send(null, new InteractPacket(menu.containerId, index >= list.size() ? -1 : list.get(index).id(), type, action)); } - public void setComponent(@Nullable IStorageComponent provider) { + public void setComponent(@Nullable IStorageComponent provider) { if (provider == this.provider) return; @@ -94,7 +94,7 @@ public class NetworkedItemView implements IStorageListener { } @Override - public void addObject(ItemStackStack stack, UUID id, IStorageView provider) { + public void addObject(ItemStackWrapper stack, UUID id, IStorageView provider) { addObject(stack.stack(), id); } @@ -238,7 +238,7 @@ public class NetworkedItemView implements IStorageListener { int amount = calculateIOAmount(carried.getCount()); if (amount == carried.getCount()) { - var leftover = provider.insertObject(new ItemStackStack(menu.getCarried()), false); + var leftover = provider.insertObject(new ItemStackWrapper(menu.getCarried()), false); menu.setCarried(leftover.stack()); doneIOAmount(amount - leftover.stack().getCount()); @@ -248,7 +248,7 @@ public class NetworkedItemView implements IStorageListener { var copy = carried.copy(); copy.setCount(amount); - var leftover = provider.insertObject(new ItemStackStack(copy), false); + var leftover = provider.insertObject(new ItemStackWrapper(copy), false); doneIOAmount(amount - leftover.stack().getCount()); leftover.setCount(carried.getCount() - amount + leftover.getCountInt()); @@ -261,7 +261,7 @@ public class NetworkedItemView implements IStorageListener { var copy = menu.getCarried().copy(); copy.setCount(1); - if (calculateIOAmount(1) == 1 && provider.insertObject(new ItemStackStack(copy), false).isEmpty()) { + if (calculateIOAmount(1) == 1 && provider.insertObject(new ItemStackWrapper(copy), false).isEmpty()) { menu.getCarried().shrink(1); doneIOAmount(1); MatteryNetworking.send((ServerPlayer) ply, new SetCarriedPacket(menu.getCarried())); diff --git a/src/main/java/ru/dbotthepony/mc/otm/storage/ItemStackStack.java b/src/main/java/ru/dbotthepony/mc/otm/storage/ItemStackWrapper.java similarity index 81% rename from src/main/java/ru/dbotthepony/mc/otm/storage/ItemStackStack.java rename to src/main/java/ru/dbotthepony/mc/otm/storage/ItemStackWrapper.java index e44218509..dbee30f43 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/ItemStackStack.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/ItemStackWrapper.java @@ -9,12 +9,12 @@ import java.util.Optional; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -public record ItemStackStack(ItemStack stack) implements IStorageStack { - public static final ItemStackStack EMPTY = new ItemStackStack(ItemStack.EMPTY); +public record ItemStackWrapper(ItemStack stack) implements IStorageStack { + public static final ItemStackWrapper EMPTY = new ItemStackWrapper(ItemStack.EMPTY); @Override public IStorageStack copy() { - return new ItemStackStack(stack.copy()); + return new ItemStackWrapper(stack.copy()); } @Override @@ -55,7 +55,7 @@ public record ItemStackStack(ItemStack stack) implements IStorageStack { if (other == this) return true; - if (other instanceof ItemStackStack obj) + if (other instanceof ItemStackWrapper obj) return ItemStack.isSameItemSameTags(stack, obj.stack); return false; diff --git a/src/main/java/ru/dbotthepony/mc/otm/storage/StorageObjectRegistry.java b/src/main/java/ru/dbotthepony/mc/otm/storage/StorageObjectRegistry.java index 044e09cf5..523c5a109 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/StorageObjectRegistry.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/StorageObjectRegistry.java @@ -1,8 +1,15 @@ package ru.dbotthepony.mc.otm.storage; +import net.minecraft.MethodsReturnNonnullByDefault; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import javax.annotation.ParametersAreNonnullByDefault; import java.util.HashMap; import java.util.Objects; +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault public class StorageObjectRegistry { private static final HashMap, StorageObjectTuple> REGISTRY = new HashMap<>(); @@ -15,10 +22,12 @@ public class StorageObjectRegistry { } @SuppressWarnings("unchecked") + @Nullable public static StorageObjectTuple get(Class identity) { return (StorageObjectTuple) REGISTRY.get(identity); } + @Nonnull public static StorageObjectTuple getOrError(Class identity) { return Objects.requireNonNull(get(identity), "No storage mapping present for " + identity.toString()); }