diff --git a/src/main/java/ru/dbotthepony/mc/otm/capability/drive/AbstractMatteryDrive.java b/src/main/java/ru/dbotthepony/mc/otm/capability/drive/AbstractMatteryDrive.java index 3ef9497a7..a67d767c8 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/capability/drive/AbstractMatteryDrive.java +++ b/src/main/java/ru/dbotthepony/mc/otm/capability/drive/AbstractMatteryDrive.java @@ -63,55 +63,55 @@ abstract public class AbstractMatteryDrive implements I @Nonnull @Override @SuppressWarnings("unchecked") - public T insertObject(T item, boolean simulate) { - BigDecimal max_insert = getCapacity().subtract(getStoredCount()).min(item.getCount()); + public T insertStack(T stack, boolean simulate) { + BigDecimal max_insert = getCapacity().subtract(getStoredCount()).min(stack.getCount()); if (max_insert.compareTo(BigDecimal.ZERO) <= 0) - return item; + return stack; - final var listing = items.computeIfAbsent(item.partitionKey(), (key) -> new ArrayList<>()); + final var listing = items.computeIfAbsent(stack.partitionKey(), (key) -> new ArrayList<>()); for (var state : listing) { - if (state.object().sameItem(item)) { + if (state.stack().sameItem(stack)) { if (!simulate) { - state.object().grow(max_insert); + state.stack().grow(max_insert); stored = stored.add(max_insert); for (var listener : listeners2) { - listener.changeObject(state.id(), state.object().getCount()); + listener.changeObject(state.id(), state.stack().getCount()); } markDirty(); } - final var copy_item = (T) item.copy(); + final var copy_item = (T) stack.copy(); copy_item.shrink(max_insert); return copy_item; } } if (different_stacks >= max_different_stacks) { - return item; + return stack; } if (!simulate) { different_stacks++; stored = stored.add(max_insert); - final var copy = (T) item.copy(); + final var copy = (T) stack.copy(); copy.setCount(max_insert); final var state = new StorageTuple<>(UUID.randomUUID(), copy); listing.add(state); items_by_id.put(state.id(), state); for (var listener : listeners2) { - listener.addObject(state.object(), state.id(), this); + listener.addObject(state.stack(), state.id(), this); } markDirty(); } - final var copy_item = (T) item.copy(); + final var copy_item = (T) stack.copy(); copy_item.shrink(max_insert); return copy_item; } @@ -119,26 +119,26 @@ abstract public class AbstractMatteryDrive implements I @Nonnull @Override @SuppressWarnings("unchecked") - public T extractObject(UUID id, BigDecimal amount, boolean simulate) { + public T extractStack(UUID id, BigDecimal amount, boolean simulate) { var get = items_by_id.get(id); if (get == null) return identity().empty(); if (amount.compareTo(BigDecimal.ZERO) <= 0) - amount = get.object().getMaxStackSize().orElse(get.object().getCount()); + amount = get.stack().getMaxStackSize().orElse(get.stack().getCount()); - amount = amount.min(get.object().getCount()); + amount = amount.min(get.stack().getCount()); if (amount.compareTo(BigDecimal.ZERO) <= 0) return identity().empty(); - final var copy = (T) get.object().copy(); + final var copy = (T) get.stack().copy(); copy.setCount(amount); if (!simulate) { - if (amount.compareTo(get.object().getCount()) == 0) { - var listing = items.get(get.object().partitionKey()); + if (amount.compareTo(get.stack().getCount()) == 0) { + var listing = items.get(get.stack().partitionKey()); listing.remove(get); different_stacks--; @@ -147,16 +147,16 @@ abstract public class AbstractMatteryDrive implements I } if (listing.size() == 0) { - items.remove(get.object().partitionKey()); + items.remove(get.stack().partitionKey()); } } stored = stored.subtract(amount); - get.object().shrink(amount); + get.stack().shrink(amount); - if (get.object().getCount().compareTo(BigDecimal.ZERO) != 0) { + if (get.stack().getCount().compareTo(BigDecimal.ZERO) != 0) { for (var listener : listeners2) { - listener.changeObject(get.id(), get.object().getCount()); + listener.changeObject(get.id(), get.stack().getCount()); } } @@ -229,13 +229,13 @@ abstract public class AbstractMatteryDrive implements I } @Override - public T getStoredObject(UUID id) { + public T getStack(UUID id) { var get = items_by_id.get(id); - return get == null ? identity().empty() : get.object(); + return get == null ? identity().empty() : get.stack(); } @Override - public List> getStorageObjects() { + public List> getStacks() { int amount = 0; for (var listing : items.values()) diff --git a/src/main/java/ru/dbotthepony/mc/otm/capability/drive/ItemMatteryDrive.java b/src/main/java/ru/dbotthepony/mc/otm/capability/drive/ItemMatteryDrive.java index ec92a8d23..431294f16 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/capability/drive/ItemMatteryDrive.java +++ b/src/main/java/ru/dbotthepony/mc/otm/capability/drive/ItemMatteryDrive.java @@ -41,20 +41,20 @@ public class ItemMatteryDrive extends AbstractMatteryDrive imp } public ItemStack insertObject(ItemStack item, boolean simulate) { - return insertObject(new ItemStackWrapper(item), simulate).stack(); + return insertStack(new ItemStackWrapper(item), simulate).stack(); } @Override protected CompoundTag serializeStack(IStorageTuple item) { final var tag = new CompoundTag(); - final var location = Objects.requireNonNull(item.object().stack().getItem().getRegistryName(), "Missing registry name for stored Item").toString(); + final var location = Objects.requireNonNull(item.stack().stack().getItem().getRegistryName(), "Missing registry name for stored Item").toString(); tag.putString("item", location); - tag.putInt("count", item.object().stack().getCount()); + tag.putInt("count", item.stack().stack().getCount()); CompoundTag item_tag; - if ((item_tag = item.object().stack().getTag()) != null) { + if ((item_tag = item.stack().stack().getTag()) != null) { tag.put("data", item_tag); } @@ -103,7 +103,7 @@ public class ItemMatteryDrive extends AbstractMatteryDrive imp var amount = 0; for (var _stack : list) { - if (ItemStack.tagMatches(_stack.object().stack(), stack)) { + if (ItemStack.tagMatches(_stack.stack().stack(), stack)) { amount++; } } @@ -112,7 +112,7 @@ public class ItemMatteryDrive extends AbstractMatteryDrive imp var i = 0; for (var _stack : list) { - if (ItemStack.tagMatches(_stack.object().stack(), stack)) { + if (ItemStack.tagMatches(_stack.stack().stack(), stack)) { build_list.set(i, _stack); i++; } diff --git a/src/main/java/ru/dbotthepony/mc/otm/matter/MatterRegistry.java b/src/main/java/ru/dbotthepony/mc/otm/matter/MatterRegistry.java index 48dde883b..21cb46158 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/matter/MatterRegistry.java +++ b/src/main/java/ru/dbotthepony/mc/otm/matter/MatterRegistry.java @@ -15,9 +15,7 @@ import net.minecraftforge.event.entity.player.ItemTooltipEvent; import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fmllegacy.network.PacketDistributor; -import net.minecraftforge.fmlserverevents.FMLServerAboutToStartEvent; import net.minecraftforge.fmlserverevents.FMLServerStartedEvent; -import net.minecraftforge.fmlserverevents.FMLServerStartingEvent; import ru.dbotthepony.mc.otm.OverdriveThatMatters; import ru.dbotthepony.mc.otm.capability.MatteryCapability; import ru.dbotthepony.mc.otm.capability.drive.IMatteryDrive; @@ -29,7 +27,6 @@ import ru.dbotthepony.mc.otm.storage.ItemStackWrapper; import javax.annotation.Nullable; import java.math.BigDecimal; import java.math.MathContext; -import java.math.RoundingMode; import java.util.*; public class MatterRegistry { @@ -77,8 +74,8 @@ public class MatterRegistry { var cap2 = stack.getCapability(MatteryCapability.MATTER).resolve(); if (cap1.isPresent() && cap1.get().storageIdentity() == ItemStackWrapper.class) { - for (var stored : ((IMatteryDrive) cap1.get()).getStorageObjects()) { - matter = matter.add(getMatterValue(stored.object().stack(), level + 1)); + for (var stored : ((IMatteryDrive) cap1.get()).getStacks()) { + matter = matter.add(getMatterValue(stored.stack().stack(), level + 1)); } } diff --git a/src/main/java/ru/dbotthepony/mc/otm/menu/DriveViewerMenu.java b/src/main/java/ru/dbotthepony/mc/otm/menu/DriveViewerMenu.java index 95f8d5e80..410549fc7 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/menu/DriveViewerMenu.java +++ b/src/main/java/ru/dbotthepony/mc/otm/menu/DriveViewerMenu.java @@ -1,13 +1,9 @@ package ru.dbotthepony.mc.otm.menu; -import net.minecraft.client.Minecraft; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.SimpleContainer; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.inventory.ClickAction; -import net.minecraft.world.inventory.ClickType; -import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraftforge.energy.CapabilityEnergy; import net.minecraftforge.fmllegacy.network.NetworkEvent; @@ -17,11 +13,8 @@ import ru.dbotthepony.mc.otm.capability.MatteryCapability; import ru.dbotthepony.mc.otm.capability.drive.IMatteryDrive; import ru.dbotthepony.mc.otm.item.ItemPortableCondensationDrive; 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.menu.slot.MatterySlot; -import ru.dbotthepony.mc.otm.network.MatteryNetworking; -import ru.dbotthepony.mc.otm.network.SetCarriedPacket; import ru.dbotthepony.mc.otm.storage.ItemStackWrapper; import javax.annotation.Nullable; @@ -141,7 +134,7 @@ public class DriveViewerMenu extends PoweredMatteryMenu implements INetworkedIte return ItemStack.EMPTY; if (amount == item.getCount()) { - var remaining = last_drive.insertObject(new ItemStackWrapper(item), false); + var remaining = last_drive.insertStack(new ItemStackWrapper(item), false); if (remaining.getCount().intValue() == item.getCount()) return ItemStack.EMPTY; @@ -164,7 +157,7 @@ public class DriveViewerMenu extends PoweredMatteryMenu implements INetworkedIte var copy_insert = item.copy(); copy_insert.setCount(amount); - var remaining = last_drive.insertObject(new ItemStackWrapper(copy_insert), false); + var remaining = last_drive.insertStack(new ItemStackWrapper(copy_insert), false); if (remaining.getCount().intValue() == copy_insert.getCount()) return ItemStack.EMPTY; 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 027554e8c..fd2e32f69 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 @@ -217,13 +217,13 @@ public class NetworkedItemView implements IStorageListener { } int amount = calculateIOAmount(action == ClickAction.PRIMARY ? get_state.stack().getMaxStackSize() : Math.max(1, get_state.stack().getMaxStackSize() / 2)); - var extracted = provider.extractObject(get_state.id_upstream(), new BigDecimal(amount), true); + var extracted = provider.extractStack(get_state.id_upstream(), new BigDecimal(amount), true); if (!extracted.isEmpty()) { var move = menu.quickMoveToInventory(extracted.stack(), false); if (move.remaining().getCount() != extracted.stack().getCount()) { - provider.extractObject(get_state.id_upstream(), new BigDecimal(extracted.stack().getCount() - move.remaining().getCount()), false); + provider.extractStack(get_state.id_upstream(), new BigDecimal(extracted.stack().getCount() - move.remaining().getCount()), false); doneIOAmount(extracted.stack().getCount() - move.remaining().getCount()); } } @@ -238,7 +238,7 @@ public class NetworkedItemView implements IStorageListener { int amount = calculateIOAmount(carried.getCount()); if (amount == carried.getCount()) { - var leftover = provider.insertObject(new ItemStackWrapper(menu.getCarried()), false); + var leftover = provider.insertStack(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 ItemStackWrapper(copy), false); + var leftover = provider.insertStack(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 ItemStackWrapper(copy), false).isEmpty()) { + if (calculateIOAmount(1) == 1 && provider.insertStack(new ItemStackWrapper(copy), false).isEmpty()) { menu.getCarried().shrink(1); doneIOAmount(1); MatteryNetworking.send((ServerPlayer) ply, new SetCarriedPacket(menu.getCarried())); @@ -277,7 +277,7 @@ public class NetworkedItemView implements IStorageListener { int amount = calculateIOAmount(action == ClickAction.PRIMARY ? get_state.stack().getMaxStackSize() : Math.max(1, get_state.stack().getMaxStackSize() / 2)); - var extracted = provider.extractObject(get_state.id_upstream(), new BigDecimal(amount), false); + var extracted = provider.extractStack(get_state.id_upstream(), new BigDecimal(amount), false); doneIOAmount(extracted.getCountInt()); menu.setCarried(extracted.stack()); 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 6f9cc0a1c..8fc0474f3 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageConsumer.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageConsumer.java @@ -7,5 +7,5 @@ import javax.annotation.ParametersAreNonnullByDefault; @MethodsReturnNonnullByDefault @ParametersAreNonnullByDefault public interface IStorageConsumer extends IStorageIdentity { - T insertObject(T obj, boolean simulate); + T insertStack(T stack, boolean simulate); } 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 2438a5041..8525985ae 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageTuple.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageTuple.java @@ -4,5 +4,5 @@ import java.util.UUID; public interface IStorageTuple { UUID id(); - T object(); + T stack(); } 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 fa35b368c..522e61400 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageView.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/IStorageView.java @@ -15,7 +15,7 @@ public interface IStorageView extends IStorageTrigger extends IStorageTrigger extends IStorageTrigger> getStorageObjects(); + List> getStacks(); default boolean addListenerAuto(IStorageListener listener) { if (addListener(listener)) { - for (var stack : getStorageObjects()) { - listener.addObject(stack.object(), stack.id(), this); + for (var stack : getStacks()) { + listener.addObject(stack.stack(), stack.id(), this); } return true; @@ -54,7 +54,7 @@ public interface IStorageView extends IStorageTrigger listener) { if (removeListener(listener)) { - for (var stack : getStorageObjects()) { + for (var stack : getStacks()) { listener.removeObject(stack.id()); } 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 45880dd5a..bf890e3aa 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/StorageGrid.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/StorageGrid.java @@ -20,7 +20,7 @@ public class StorageGrid { public StorageGrid() {} public T insertObject(Class type, T object, boolean simulate) { - return getVirtualComponent(type).insertObject(object, simulate); + return getVirtualComponent(type).insertStack(object, simulate); } /** 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 b5835df56..432dbd5b9 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 stack) 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 92f5a1380..3b56ab6a1 100644 --- a/src/main/java/ru/dbotthepony/mc/otm/storage/VirtualComponent.java +++ b/src/main/java/ru/dbotthepony/mc/otm/storage/VirtualComponent.java @@ -13,7 +13,7 @@ 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 record LocalTuple(T stack, 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); @@ -27,11 +27,11 @@ public class VirtualComponent implements IStorageCompon 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); + return provider.extractStack(remote_id, amount, simulate); } public BigDecimal extractCount(BigDecimal amount, boolean simulate) { - return provider.extractObjectCount(remote_id, amount, simulate); + return provider.extractStackCount(remote_id, amount, simulate); } @Override @@ -98,11 +98,11 @@ public class VirtualComponent implements IStorageCompon } @Override - public T insertObject(T object, boolean simulate) { - var leftover = object; + public T insertStack(T stack, boolean simulate) { + var leftover = stack; for (var consumer : consumers) { - leftover = consumer.insertObject(leftover, simulate); + leftover = consumer.insertStack(leftover, simulate); if (leftover.isEmpty()) { return leftover; @@ -128,28 +128,28 @@ public class VirtualComponent implements IStorageCompon } @Override - public T getStoredObject(UUID id) { + public T getStack(UUID id) { final var tuple = indexed_by_local_uuid.get(id); - return tuple != null ? tuple.object : identity.empty(); + return tuple != null ? tuple.stack : identity.empty(); } public static final BigDecimal MINUS_ONE = new BigDecimal(-1); @Override @SuppressWarnings("unchecked") - public T extractObject(UUID id, BigDecimal amount, boolean simulate) { + public T extractStack(UUID id, BigDecimal amount, boolean simulate) { var tuple = indexed_by_local_uuid.get(id); if (tuple == null || amount.compareTo(BigDecimal.ZERO) == 0) return identity.empty(); if (amount.compareTo(MINUS_ONE) <= 0) - amount = tuple.object.getMaxStackSize().orElse(tuple.object.getCount()); + amount = tuple.stack.getMaxStackSize().orElse(tuple.stack.getCount()); - BigDecimal extract = tuple.object.getCount().min(amount); + BigDecimal extract = tuple.stack.getCount().min(amount); BigDecimal extracted = BigDecimal.ZERO; - final var copy = (T) tuple.object.copy(); + final var copy = (T) tuple.stack.copy(); for (var remote_tuple : tuple.tuples) { extracted = extracted.add(remote_tuple.extractCount(extract.subtract(extracted), simulate)); @@ -167,7 +167,7 @@ public class VirtualComponent implements IStorageCompon } @Override - public List> getStorageObjects() { + public List> getStacks() { int capacity = 0; for (var list : partitions.values()) @@ -192,8 +192,8 @@ public class VirtualComponent implements IStorageCompon LocalTuple local_tuple = null; for (var item : items) { - if (item.object.sameItem(stack)) { - item.object.grow(stack.getCount()); + if (item.stack.sameItem(stack)) { + item.stack.grow(stack.getCount()); local_tuple = item; break; } @@ -213,11 +213,11 @@ public class VirtualComponent implements IStorageCompon if (added) { for (var listener : listeners) { - listener.addObject(local_tuple.object, local_tuple.id, this); + listener.addObject(local_tuple.stack, local_tuple.id, this); } } else { for (var listener : listeners) { - listener.changeObject(local_tuple.id, local_tuple.object.getCount()); + listener.changeObject(local_tuple.id, local_tuple.stack.getCount()); } } } @@ -233,10 +233,10 @@ public class VirtualComponent implements IStorageCompon final var diff = new_count.subtract(tuple.object.getCount()); tuple.object.setCount(new_count); - tuple.local.object.grow(diff); + tuple.local.stack.grow(diff); for (var listener : listeners) { - listener.changeObject(tuple.local.id, tuple.local.object.getCount()); + listener.changeObject(tuple.local.id, tuple.local.stack.getCount()); } } @@ -247,13 +247,13 @@ public class VirtualComponent implements IStorageCompon if (tuple == null) throw new IllegalStateException("No such tuple with id " + id); - final var item = tuple.local.object.partitionKey(); - tuple.local.object.shrink(tuple.object.getCount()); + final var item = tuple.local.stack.partitionKey(); + tuple.local.stack.shrink(tuple.object.getCount()); tuple.local.tuples.remove(tuple); indexed_by_remote_uuid.remove(id); - final boolean a = tuple.local.object.getCount().compareTo(BigDecimal.ZERO) <= 0; + final boolean a = tuple.local.stack.getCount().compareTo(BigDecimal.ZERO) <= 0; final boolean b = tuple.local.tuples.size() == 0; if (a || b) {