Rename ItemStackStack to ItemStackWrapper

This commit is contained in:
DBotThePony 2021-09-08 18:38:47 +07:00
parent f4929ea25d
commit b3e2b30e72
Signed by: DBot
GPG Key ID: DCC23B5715498507
7 changed files with 41 additions and 32 deletions

View File

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

View File

@ -12,7 +12,7 @@ import java.util.UUID;
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
public interface IMatteryDrive extends IStorageComponent<ItemStackStack> {
public interface IMatteryDrive extends IStorageComponent<ItemStackWrapper> {
record StoredStack(ItemStack stack, UUID id) {};
List<StoredStack> getItems();

View File

@ -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<ItemStackStack> storageIdentity() {
return ItemStackStack.class;
public Class<ItemStackWrapper> 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<IStorageTuple<ItemStackStack>> getStorageObjects() {
public List<IStorageTuple<ItemStackWrapper>> getStorageObjects() {
int amount = 0;
for (var listing : items.values())
amount += listing.size();
var list = new ArrayList<IStorageTuple<ItemStackStack>>(amount);
var list = new ArrayList<IStorageTuple<ItemStackWrapper>>(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<IStorageListener<ItemStackStack>> listeners2 = new HashSet<>();
protected final HashSet<IStorageListener<ItemStackWrapper>> listeners2 = new HashSet<>();
@Override
public boolean addListener(IStorageListener<ItemStackStack> listener) {
public boolean addListener(IStorageListener<ItemStackWrapper> listener) {
return listeners2.add(listener);
}
@Override
public boolean removeListener(IStorageListener<ItemStackStack> listener) {
public boolean removeListener(IStorageListener<ItemStackWrapper> listener) {
return listeners2.remove(listener);
}
}

View File

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

View File

@ -29,7 +29,7 @@ import static net.minecraft.client.gui.screens.Screen.hasShiftDown;
@MethodsReturnNonnullByDefault
@ParametersAreNonnullByDefault
public class NetworkedItemView implements IStorageListener<ItemStackStack> {
public class NetworkedItemView implements IStorageListener<ItemStackWrapper> {
public final boolean remote;
public final MatteryMenu menu;
public final Player ply;
@ -47,7 +47,7 @@ public class NetworkedItemView implements IStorageListener<ItemStackStack> {
private List<NetworkedItem> view_cache;
protected IStorageComponent<ItemStackStack> provider;
protected IStorageComponent<ItemStackWrapper> provider;
public NetworkedItemView(Player ply, MatteryMenu menu, boolean remote) {
this.remote = remote;
@ -63,7 +63,7 @@ public class NetworkedItemView implements IStorageListener<ItemStackStack> {
MatteryNetworking.send(null, new InteractPacket(menu.containerId, index >= list.size() ? -1 : list.get(index).id(), type, action));
}
public void setComponent(@Nullable IStorageComponent<ItemStackStack> provider) {
public void setComponent(@Nullable IStorageComponent<ItemStackWrapper> provider) {
if (provider == this.provider)
return;
@ -94,7 +94,7 @@ public class NetworkedItemView implements IStorageListener<ItemStackStack> {
}
@Override
public void addObject(ItemStackStack stack, UUID id, IStorageView<ItemStackStack> provider) {
public void addObject(ItemStackWrapper stack, UUID id, IStorageView<ItemStackWrapper> provider) {
addObject(stack.stack(), id);
}
@ -238,7 +238,7 @@ public class NetworkedItemView implements IStorageListener<ItemStackStack> {
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<ItemStackStack> {
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<ItemStackStack> {
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()));

View File

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

View File

@ -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<Class<? extends IStorageStack>, StorageObjectTuple<? extends IStorageStack>> REGISTRY = new HashMap<>();
@ -15,10 +22,12 @@ public class StorageObjectRegistry {
}
@SuppressWarnings("unchecked")
@Nullable
public static <T extends IStorageStack> StorageObjectTuple<T> get(Class<T> identity) {
return (StorageObjectTuple<T>) REGISTRY.get(identity);
}
@Nonnull
public static <T extends IStorageStack> StorageObjectTuple<T> getOrError(Class<T> identity) {
return Objects.requireNonNull(get(identity), "No storage mapping present for " + identity.toString());
}