diff --git a/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java b/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java index e8ef8ff7c..75a7d106a 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java +++ b/src/main/java/ru/dbotthepony/mc/otm/OverdriveThatMatters.java @@ -1,6 +1,5 @@ package ru.dbotthepony.mc.otm; -import net.minecraft.server.level.ServerLevel; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; @@ -31,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.ItemStackObject; +import ru.dbotthepony.mc.otm.storage.ItemStackStack; import ru.dbotthepony.mc.otm.storage.StorageObjectRegistry; import java.util.ArrayList; @@ -168,7 +167,7 @@ public class OverdriveThatMatters { MatterRegistry.registerInitialItems(); - StorageObjectRegistry.register(ItemStackObject.class, ItemStackObject.EMPTY); + StorageObjectRegistry.register(ItemStackStack.class, ItemStackStack.EMPTY); } private void setupClient(final FMLClientSetupEvent event) { diff --git a/src/main/java/ru/dbotthepony/mc/otm/block/entity/BlockEntityDriveRack.java b/src/main/java/ru/dbotthepony/mc/otm/block/entity/BlockEntityDriveRack.java index 04fe01edf..dc7b87056 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/block/entity/BlockEntityDriveRack.java +++ b/src/main/java/ru/dbotthepony/mc/otm/block/entity/BlockEntityDriveRack.java @@ -11,26 +11,20 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.util.LazyOptional; -import ru.dbotthepony.mc.otm.OverdriveThatMatters; import ru.dbotthepony.mc.otm.Registry; import ru.dbotthepony.mc.otm.capability.AbstractStorageGridCell; -import ru.dbotthepony.mc.otm.capability.IStorageGridCell; import ru.dbotthepony.mc.otm.capability.MatteryCapability; import ru.dbotthepony.mc.otm.capability.MatteryMachineEnergyStorage; import ru.dbotthepony.mc.otm.container.MatteryContainer; import ru.dbotthepony.mc.otm.menu.DriveRackMenu; -import ru.dbotthepony.mc.otm.storage.IStorageIdentity; -import ru.dbotthepony.mc.otm.storage.ItemStackObject; import javax.annotation.Nonnull; import javax.annotation.Nullable; import javax.annotation.ParametersAreNonnullByDefault; import java.math.BigDecimal; -import java.util.List; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault diff --git a/src/main/java/ru/dbotthepony/mc/otm/capability/AbstractStorageGridCell.java b/src/main/java/ru/dbotthepony/mc/otm/capability/AbstractStorageGridCell.java index b27ba122c..e3bb4e7df 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/capability/AbstractStorageGridCell.java +++ b/src/main/java/ru/dbotthepony/mc/otm/capability/AbstractStorageGridCell.java @@ -4,7 +4,7 @@ import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraftforge.common.util.LazyOptional; import ru.dbotthepony.mc.otm.OverdriveThatMatters; import ru.dbotthepony.mc.otm.storage.IStorageIdentity; -import ru.dbotthepony.mc.otm.storage.IStorageObject; +import ru.dbotthepony.mc.otm.storage.IStorageStack; import ru.dbotthepony.mc.otm.storage.StorageGrid; import javax.annotation.Nullable; @@ -26,7 +26,7 @@ public class AbstractStorageGridCell implements IStorageGridCell { return Collections.unmodifiableList(components); } - public > U computeIfAbsent(Class identity, Supplier provider) { + public > U computeIfAbsent(Class identity, Supplier provider) { for (var component : components) { if (component.storageIdentity() == identity) { return (U) component; 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 c793d42af..aef1b6baa 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 @@ -4,20 +4,15 @@ import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.nbt.CompoundTag; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraftforge.common.util.INBTSerializable; -import ru.dbotthepony.mc.otm.menu.DriveViewerMenu; import ru.dbotthepony.mc.otm.storage.*; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; import javax.annotation.ParametersAreNonnullByDefault; import java.util.List; import java.util.UUID; -import java.util.function.Predicate; @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 4eb9012a0..b093f70d9 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 @@ -9,14 +9,12 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraftforge.registries.RegistryManager; -import ru.dbotthepony.mc.otm.OverdriveThatMatters; import ru.dbotthepony.mc.otm.storage.IStorageListener; import ru.dbotthepony.mc.otm.storage.IStorageTuple; -import ru.dbotthepony.mc.otm.storage.ItemStackObject; +import ru.dbotthepony.mc.otm.storage.ItemStackStack; import ru.dbotthepony.mc.otm.storage.StorageTuple; import javax.annotation.Nonnull; -import javax.annotation.Nullable; import javax.annotation.ParametersAreNonnullByDefault; import java.math.BigDecimal; import java.util.*; @@ -175,7 +173,7 @@ public class MatteryDrive implements IMatteryDrive { items_by_id.put(state.id(), state); for (var listener : listeners2) { - listener.addObject(new ItemStackObject(state.stack()), state.id(), this); + listener.addObject(new ItemStackStack(state.stack()), state.id(), this); } markDirty(); @@ -187,9 +185,9 @@ public class MatteryDrive implements IMatteryDrive { } @Override - public ItemStackObject insertObject(ItemStackObject obj, boolean simulate) { + public ItemStackStack insertObject(ItemStackStack obj, boolean simulate) { var get = insertItem(obj.stack(), simulate); - return get.isEmpty() ? ItemStackObject.EMPTY : new ItemStackObject(get); + return get.isEmpty() ? ItemStackStack.EMPTY : new ItemStackStack(get); } @Nonnull @@ -324,49 +322,49 @@ public class MatteryDrive implements IMatteryDrive { } @Override - public Class storageIdentity() { - return ItemStackObject.class; + public Class storageIdentity() { + return ItemStackStack.class; } @Override - public ItemStackObject getStoredObject(UUID id) { + public ItemStackStack getStoredObject(UUID id) { var get = getItem(id); - return get.isEmpty() ? ItemStackObject.EMPTY : new ItemStackObject(get); + return get.isEmpty() ? ItemStackStack.EMPTY : new ItemStackStack(get); } @Override - public ItemStackObject extractObject(UUID id, BigDecimal amount, boolean simulate) { + public ItemStackStack extractObject(UUID id, BigDecimal amount, boolean simulate) { var get = extractItem(id, amount.intValue(), simulate); - return get.isEmpty() ? ItemStackObject.EMPTY : new ItemStackObject(get); + return get.isEmpty() ? ItemStackStack.EMPTY : new ItemStackStack(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 ItemStackObject(stack.stack()))); + list.add(new StorageTuple<>(stack.id(), new ItemStackStack(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 06ac80bd7..8492d01fa 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/menu/ItemMonitorMenu.java +++ b/src/main/java/ru/dbotthepony/mc/otm/menu/ItemMonitorMenu.java @@ -1,14 +1,11 @@ package ru.dbotthepony.mc.otm.menu; import net.minecraft.world.entity.player.Inventory; -import ru.dbotthepony.mc.otm.OverdriveThatMatters; import ru.dbotthepony.mc.otm.Registry; -import ru.dbotthepony.mc.otm.block.entity.BlockEntityDriveRack; import ru.dbotthepony.mc.otm.block.entity.BlockEntityItemMonitor; import ru.dbotthepony.mc.otm.menu.data.INetworkedItemViewSupplier; -import ru.dbotthepony.mc.otm.menu.data.InteractPacket; import ru.dbotthepony.mc.otm.menu.data.NetworkedItemView; -import ru.dbotthepony.mc.otm.storage.ItemStackObject; +import ru.dbotthepony.mc.otm.storage.ItemStackStack; import javax.annotation.Nonnull; @@ -31,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(ItemStackObject.class)); + view.setComponent(tile.cell.getStorageGrid().getVirtualComponent(ItemStackStack.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 6d8047ccf..a46607c5a 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(ItemStackObject stack, UUID id, IStorageView provider) { + public void addObject(ItemStackStack 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 ItemStackObject(menu.getCarried()), false); + var leftover = provider.insertObject(new ItemStackStack(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 ItemStackObject(copy), false); + var leftover = provider.insertObject(new ItemStackStack(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 ItemStackObject(copy), false).isEmpty()) { + if (calculateIOAmount(1) == 1 && provider.insertObject(new ItemStackStack(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/IStorageComponent.java b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageComponent.java index 92bf12656..282876316 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageComponent.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageComponent.java @@ -3,10 +3,9 @@ package ru.dbotthepony.mc.otm.storage; import net.minecraft.MethodsReturnNonnullByDefault; import javax.annotation.ParametersAreNonnullByDefault; -import java.util.List; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -public interface IStorageComponent extends IStorageView, IStorageConsumer { +public interface IStorageComponent extends IStorageView, IStorageConsumer { } diff --git a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageConsumer.java b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageConsumer.java index 7f3d71316..6f9cc0a1c 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageConsumer.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageConsumer.java @@ -6,6 +6,6 @@ import javax.annotation.ParametersAreNonnullByDefault; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -public interface IStorageConsumer extends IStorageIdentity { +public interface IStorageConsumer extends IStorageIdentity { T insertObject(T obj, boolean simulate); } diff --git a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageIdentity.java b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageIdentity.java index b70efca84..bf40c902e 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageIdentity.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageIdentity.java @@ -6,6 +6,6 @@ import javax.annotation.ParametersAreNonnullByDefault; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -public interface IStorageIdentity { +public interface IStorageIdentity { Class storageIdentity(); } diff --git a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageListener.java b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageListener.java index 682b1b76d..d821280d6 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageListener.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageListener.java @@ -1,7 +1,6 @@ package ru.dbotthepony.mc.otm.storage; import net.minecraft.MethodsReturnNonnullByDefault; -import net.minecraft.world.item.ItemStack; import javax.annotation.ParametersAreNonnullByDefault; import java.math.BigDecimal; @@ -9,7 +8,7 @@ import java.util.UUID; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -public interface IStorageListener { +public interface IStorageListener { void addObject(T stack, UUID id, IStorageView provider); void changeObject(UUID id, BigDecimal new_count); void removeObject(UUID id); diff --git a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageObject.java b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageStack.java similarity index 94% rename from src/main/java/ru/dbotthepony/mc/otm/storage/IStorageObject.java rename to src/main/java/ru/dbotthepony/mc/otm/storage/IStorageStack.java index bab226d51..1ca8144c8 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageObject.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageStack.java @@ -2,7 +2,6 @@ package ru.dbotthepony.mc.otm.storage; import net.minecraft.MethodsReturnNonnullByDefault; -import javax.annotation.Nullable; import javax.annotation.ParametersAreNonnullByDefault; import java.math.BigDecimal; import java.util.Optional; @@ -16,8 +15,8 @@ import java.util.Optional; */ @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -public interface IStorageObject { - IStorageObject copy(); +public interface IStorageStack { + IStorageStack copy(); void setCount(BigDecimal value); BigDecimal getCount(); @@ -53,7 +52,7 @@ public interface IStorageObject { * this include tags, mapping IDs, capabilities, excluding amount; * behavior is pretty much the same as ItemStack.isSameItemSameTags */ - boolean sameItem(IStorageObject other); + boolean sameItem(IStorageStack other); default void grow(BigDecimal amount) { setCount(getCount().add(amount)); diff --git a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageTrigger.java b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageTrigger.java index 9bd04557c..de79c8931 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageTrigger.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageTrigger.java @@ -6,7 +6,7 @@ import javax.annotation.ParametersAreNonnullByDefault; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -public interface IStorageTrigger extends IStorageIdentity { +public interface IStorageTrigger extends IStorageIdentity { boolean addListener(IStorageListener listener); boolean removeListener(IStorageListener listener); } diff --git a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageTuple.java b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageTuple.java index b37e03178..2438a5041 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageTuple.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageTuple.java @@ -2,7 +2,7 @@ package ru.dbotthepony.mc.otm.storage; import java.util.UUID; -public interface IStorageTuple { +public interface IStorageTuple { UUID id(); T object(); } diff --git a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageView.java b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageView.java index ea1d2cc47..fa35b368c 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageView.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageView.java @@ -3,16 +3,14 @@ package ru.dbotthepony.mc.otm.storage; import net.minecraft.MethodsReturnNonnullByDefault; -import javax.annotation.Nullable; import javax.annotation.ParametersAreNonnullByDefault; import java.math.BigDecimal; import java.util.List; -import java.util.Optional; import java.util.UUID; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -public interface IStorageView extends IStorageTrigger { +public interface IStorageView extends IStorageTrigger { /** * @param id identifier of object * @return stored object (not a copy). Do not edit it. diff --git a/src/main/java/ru/dbotthepony/mc/otm/storage/ItemStackObject.java b/src/main/java/ru/dbotthepony/mc/otm/storage/ItemStackStack.java similarity index 76% rename from src/main/java/ru/dbotthepony/mc/otm/storage/ItemStackObject.java rename to src/main/java/ru/dbotthepony/mc/otm/storage/ItemStackStack.java index abcf8cdba..e44218509 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/ItemStackObject.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/ItemStackStack.java @@ -9,12 +9,12 @@ import java.util.Optional; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -public record ItemStackObject(ItemStack stack) implements IStorageObject { - public static final ItemStackObject EMPTY = new ItemStackObject(ItemStack.EMPTY); +public record ItemStackStack(ItemStack stack) implements IStorageStack { + public static final ItemStackStack EMPTY = new ItemStackStack(ItemStack.EMPTY); @Override - public IStorageObject copy() { - return new ItemStackObject(stack.copy()); + public IStorageStack copy() { + return new ItemStackStack(stack.copy()); } @Override @@ -51,11 +51,11 @@ public record ItemStackObject(ItemStack stack) implements IStorageObject { } @Override - public boolean sameItem(IStorageObject other) { + public boolean sameItem(IStorageStack other) { if (other == this) return true; - if (other instanceof ItemStackObject obj) + if (other instanceof ItemStackStack obj) return ItemStack.isSameItemSameTags(stack, obj.stack); return false; diff --git a/src/main/java/ru/dbotthepony/mc/otm/storage/StorageGrid.java b/src/main/java/ru/dbotthepony/mc/otm/storage/StorageGrid.java index 3ab8719bc..45880dd5a 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/StorageGrid.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/StorageGrid.java @@ -7,9 +7,7 @@ import net.minecraftforge.common.util.LazyOptional; import ru.dbotthepony.mc.otm.OverdriveThatMatters; import ru.dbotthepony.mc.otm.capability.IStorageGridCell; -import javax.annotation.Nullable; import javax.annotation.ParametersAreNonnullByDefault; -import java.math.BigDecimal; import java.util.*; @MethodsReturnNonnullByDefault @@ -17,11 +15,11 @@ import java.util.*; public class StorageGrid { private final HashSet cells = new HashSet<>(); - private final HashMap, VirtualComponent> virtual_components = new HashMap<>(); + private final HashMap, VirtualComponent> virtual_components = new HashMap<>(); public StorageGrid() {} - public T insertObject(Class type, T object, boolean simulate) { + public T insertObject(Class type, T object, boolean simulate) { return getVirtualComponent(type).insertObject(object, simulate); } @@ -31,7 +29,7 @@ public class StorageGrid { * @return a virtual IStorageComponent, or null if storage grid contain no view for provided type */ @SuppressWarnings("unchecked") - public VirtualComponent getVirtualComponent(final Class type) { + public VirtualComponent getVirtualComponent(final Class type) { return (VirtualComponent) virtual_components.computeIfAbsent(type, (k) -> new VirtualComponent<>(type)); } @@ -39,7 +37,7 @@ public class StorageGrid { return cells.size(); } - public void add(IStorageIdentity identity) { + public void add(IStorageIdentity identity) { getVirtualComponent(identity.storageIdentity()).add(identity); } @@ -75,7 +73,7 @@ public class StorageGrid { return false; } - public void remove(IStorageIdentity identity) { + public void remove(IStorageIdentity identity) { getVirtualComponent(identity.storageIdentity()).remove(identity); } 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 fe2d6deaa..044e09cf5 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/StorageObjectRegistry.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/StorageObjectRegistry.java @@ -4,9 +4,9 @@ import java.util.HashMap; import java.util.Objects; public class StorageObjectRegistry { - private static final HashMap, StorageObjectTuple> REGISTRY = new HashMap<>(); + private static final HashMap, StorageObjectTuple> REGISTRY = new HashMap<>(); - public static boolean register(Class identity, T empty) { + public static boolean register(Class identity, T empty) { final var tuple = new StorageObjectTuple<>(identity, empty); final boolean removed = REGISTRY.remove(identity) != null; REGISTRY.put(identity, tuple); @@ -15,11 +15,11 @@ public class StorageObjectRegistry { } @SuppressWarnings("unchecked") - public static StorageObjectTuple get(Class identity) { + public static StorageObjectTuple get(Class identity) { return (StorageObjectTuple) REGISTRY.get(identity); } - public static StorageObjectTuple getOrError(Class identity) { + public static StorageObjectTuple getOrError(Class identity) { return Objects.requireNonNull(get(identity), "No storage mapping present for " + identity.toString()); } } diff --git a/src/main/java/ru/dbotthepony/mc/otm/storage/StorageObjectTuple.java b/src/main/java/ru/dbotthepony/mc/otm/storage/StorageObjectTuple.java index c4d0d81da..81ef55251 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/StorageObjectTuple.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/StorageObjectTuple.java @@ -1,6 +1,6 @@ package ru.dbotthepony.mc.otm.storage; -public record StorageObjectTuple(Class identity, T empty) { +public record StorageObjectTuple(Class identity, T empty) { @Override public boolean equals(Object obj) { if (obj instanceof StorageObjectTuple tuple) diff --git a/src/main/java/ru/dbotthepony/mc/otm/storage/StorageTuple.java b/src/main/java/ru/dbotthepony/mc/otm/storage/StorageTuple.java index f7859c475..b5835df56 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/StorageTuple.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/StorageTuple.java @@ -2,5 +2,5 @@ package ru.dbotthepony.mc.otm.storage; import java.util.UUID; -public record StorageTuple(UUID id, T object) implements IStorageTuple { +public record StorageTuple(UUID id, T object) implements IStorageTuple { } diff --git a/src/main/java/ru/dbotthepony/mc/otm/storage/VirtualComponent.java b/src/main/java/ru/dbotthepony/mc/otm/storage/VirtualComponent.java index 2f257a65e..92f5a1380 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/VirtualComponent.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/VirtualComponent.java @@ -12,8 +12,8 @@ import java.util.function.Supplier; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault -public class VirtualComponent implements IStorageComponent, IStorageListener { - public record LocalTuple(T object, UUID id, List> tuples) implements IStorageTuple { +public class VirtualComponent implements IStorageComponent, IStorageListener { + public record LocalTuple(T object, UUID id, List> tuples) implements IStorageTuple { @Override public boolean equals(Object obj) { return obj instanceof LocalTuple tuple && tuple.id.equals(id) || obj instanceof UUID id && this.id.equals(id); @@ -25,7 +25,7 @@ public class VirtualComponent implements IStorageCompo } } - public record RemoteTuple(T object, UUID remote_id, IStorageView provider, LocalTuple local) { + public record RemoteTuple(T object, UUID remote_id, IStorageView provider, LocalTuple local) { public T extract(BigDecimal amount, boolean simulate) { return provider.extractObject(remote_id, amount, simulate); } @@ -56,7 +56,7 @@ public class VirtualComponent implements IStorageCompo this.identity = StorageObjectRegistry.getOrError(identity); } - public static Supplier> factory(Class identity) { + public static Supplier> factory(Class identity) { return () -> new VirtualComponent<>(identity); }