Revert some earlier stuff and fix icon sheet
This commit is contained in:
@@ -50,6 +50,7 @@ import net.minecraftforge.items.wrapper.InvWrapper;
|
||||
import net.minecraftforge.items.wrapper.SidedInvWrapper;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
import java.math.RoundingMode;
|
||||
import java.text.DecimalFormat;
|
||||
@@ -116,10 +117,15 @@ public final class RSUtils {
|
||||
return Pair.of(buf.readInt(), new FluidStack(FluidRegistry.getFluid(ByteBufUtils.readUTF8String(buf)), buf.readInt(), ByteBufUtils.readTag(buf)));
|
||||
}
|
||||
|
||||
public static ItemStack getStack(@Nullable ItemStack stack) {
|
||||
public static ItemStack transformNullToEmpty(@Nullable ItemStack stack) {
|
||||
return stack == null ? ItemStack.EMPTY : stack;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static ItemStack transformEmptyToNull(@Nonnull ItemStack stack) {
|
||||
return stack.isEmpty() ? null : stack;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static void createStorages(ItemStack disk, int slot, IStorageDisk<ItemStack>[] itemStorages, IStorageDisk<FluidStack>[] fluidStorages, Function<IStorageDisk, IStorageDisk> itemStorageWrapper, Function<IStorageDisk, IStorageDisk> fluidStorageWrapper) {
|
||||
if (disk.isEmpty()) {
|
||||
|
||||
@@ -89,7 +89,7 @@ public class FluidGridHandler implements IFluidGridHandler {
|
||||
|
||||
@Override
|
||||
public void onInsertHeldContainer(EntityPlayerMP player) {
|
||||
player.inventory.setItemStack(RSUtils.getStack(onInsert(player, player.inventory.getItemStack())));
|
||||
player.inventory.setItemStack(RSUtils.transformNullToEmpty(onInsert(player, player.inventory.getItemStack())));
|
||||
player.updateHeldItem();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -137,7 +137,7 @@ public class ItemGridHandler implements IItemGridHandler {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
player.inventory.setItemStack(RSUtils.getStack(network.insertItem(stack, size, false)));
|
||||
player.inventory.setItemStack(RSUtils.transformNullToEmpty(network.insertItem(stack, size, false)));
|
||||
}
|
||||
|
||||
player.updateHeldItem();
|
||||
|
||||
@@ -256,7 +256,7 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
ItemStack took = network.extractItem(possibility, 1, IComparer.COMPARE_NBT | IComparer.COMPARE_STRIP_NBT | (possibility.getItem().isDamageable() ? 0 : IComparer.COMPARE_DAMAGE), false);
|
||||
|
||||
if (took != null) {
|
||||
matrix.setInventorySlotContents(i, RSUtils.getStack(took));
|
||||
matrix.setInventorySlotContents(i, RSUtils.transformNullToEmpty(took));
|
||||
|
||||
found = true;
|
||||
|
||||
@@ -322,7 +322,7 @@ public class NetworkNodeGrid extends NetworkNode implements IGrid {
|
||||
}
|
||||
} else if (!slot.isEmpty()) {
|
||||
if (slot.getCount() == 1 && network != null) {
|
||||
matrix.setInventorySlotContents(i, RSUtils.getStack(network.extractItem(slot, 1, false)));
|
||||
matrix.setInventorySlotContents(i, RSUtils.transformNullToEmpty(network.extractItem(slot, 1, false)));
|
||||
} else {
|
||||
matrix.decrStackSize(i, 1);
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ public class NetworkNodeInterface extends NetworkNode implements IComparable {
|
||||
|
||||
if (wanted.isEmpty()) {
|
||||
if (!got.isEmpty()) {
|
||||
exportItems.setStackInSlot(i, RSUtils.getStack(network.insertItemTracked(got, got.getCount())));
|
||||
exportItems.setStackInSlot(i, RSUtils.transformNullToEmpty(network.insertItemTracked(got, got.getCount())));
|
||||
}
|
||||
} else {
|
||||
int delta = got.isEmpty() ? wanted.getCount() : (wanted.getCount() - got.getCount());
|
||||
|
||||
@@ -168,12 +168,12 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab
|
||||
ItemStack stack = storage.getStacks().get(i);
|
||||
|
||||
ItemStack extracted = storage.extract(stack, upgrades.getItemInteractCount(), compare, false);
|
||||
if (extracted == null || extracted.isEmpty()) {
|
||||
if (extracted == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
ItemStack remainder = network.insertItem(extracted, extracted.getCount(), false);
|
||||
if (remainder == null || remainder.isEmpty()) {
|
||||
if (remainder == null) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ public class StorageItemCyclops extends StorageItemExternal {
|
||||
|
||||
if (inventoryHash != oldInventoryHash) {
|
||||
super.detectChanges(network);
|
||||
|
||||
oldInventoryHash = inventoryHash;
|
||||
}
|
||||
}
|
||||
@@ -75,7 +76,7 @@ public class StorageItemCyclops extends StorageItemExternal {
|
||||
InventoryTileEntityBase inv = cyclopsInv.get();
|
||||
|
||||
if (inv != null && IFilterable.canTake(externalStorage.getItemFilters(), externalStorage.getMode(), externalStorage.getCompare(), stack)) {
|
||||
return SlotlessItemHandlerHelper.insertItem(inv, opposite, stack, size, simulate);
|
||||
return RSUtils.transformEmptyToNull(SlotlessItemHandlerHelper.insertItem(inv, opposite, stack, size, simulate));
|
||||
}
|
||||
|
||||
return ItemHandlerHelper.copyStackWithSize(stack, size);
|
||||
@@ -86,7 +87,7 @@ public class StorageItemCyclops extends StorageItemExternal {
|
||||
public ItemStack extract(@Nonnull ItemStack stack, int size, int flags, boolean simulate) {
|
||||
InventoryTileEntityBase inv = cyclopsInv.get();
|
||||
|
||||
return inv != null ? SlotlessItemHandlerHelper.extractItem(inv, opposite, stack, size, flags, simulate) : null;
|
||||
return inv != null ? RSUtils.transformEmptyToNull(SlotlessItemHandlerHelper.extractItem(inv, opposite, stack, size, flags, simulate)) : null;
|
||||
}
|
||||
|
||||
private NonNullList<ItemStack> getStacks(@Nullable InventoryTileEntityBase inv) {
|
||||
|
||||
@@ -55,7 +55,7 @@ public class StorageItemItemHandler extends StorageItemExternal {
|
||||
IItemHandler handler = handlerSupplier.get();
|
||||
|
||||
if (handler != null && IFilterable.canTake(externalStorage.getItemFilters(), externalStorage.getMode(), externalStorage.getCompare(), stack)) {
|
||||
return ItemHandlerHelper.insertItem(handler, ItemHandlerHelper.copyStackWithSize(stack, size), simulate);
|
||||
return RSUtils.transformEmptyToNull(ItemHandlerHelper.insertItem(handler, ItemHandlerHelper.copyStackWithSize(stack, size), simulate));
|
||||
}
|
||||
|
||||
return ItemHandlerHelper.copyStackWithSize(stack, size);
|
||||
|
||||
@@ -140,9 +140,9 @@ public class ContainerGrid extends ContainerBase {
|
||||
IFluidGridHandler fluidHandler = grid.getNetwork().getFluidGridHandler();
|
||||
|
||||
if (grid.getType() != EnumGridType.FLUID && itemHandler != null) {
|
||||
slot.putStack(RSUtils.getStack(itemHandler.onInsert((EntityPlayerMP) player, slot.getStack())));
|
||||
slot.putStack(RSUtils.transformNullToEmpty(itemHandler.onInsert((EntityPlayerMP) player, slot.getStack())));
|
||||
} else if (grid.getType() == EnumGridType.FLUID && fluidHandler != null) {
|
||||
slot.putStack(RSUtils.getStack(fluidHandler.onInsert((EntityPlayerMP) player, slot.getStack())));
|
||||
slot.putStack(RSUtils.transformNullToEmpty(fluidHandler.onInsert((EntityPlayerMP) player, slot.getStack())));
|
||||
}
|
||||
|
||||
detectAndSendChanges();
|
||||
|
||||
@@ -40,7 +40,7 @@ public class MessageGridCraftingClear extends MessageHandlerPlayerToServer<Messa
|
||||
ItemStack slot = matrix.getStackInSlot(i);
|
||||
|
||||
if (!slot.isEmpty()) {
|
||||
matrix.setInventorySlotContents(i, RSUtils.getStack(grid.getNetwork().insertItem(slot, slot.getCount(), false)));
|
||||
matrix.setInventorySlotContents(i, RSUtils.transformNullToEmpty(grid.getNetwork().insertItem(slot, slot.getCount(), false)));
|
||||
}
|
||||
}
|
||||
} else if (grid.getType() == EnumGridType.PATTERN) {
|
||||
|
||||
@@ -446,7 +446,7 @@ public class TileController extends TileBase implements INetworkMaster, IRedston
|
||||
inserted += storage.getCacheDelta(storedPre, size, remainder);
|
||||
}
|
||||
|
||||
if (remainder == null || remainder.isEmpty()) {
|
||||
if (remainder == null) {
|
||||
// The external storage is responsible for sending changes, we don't need to anymore
|
||||
if (storage instanceof StorageItemExternal && !simulate) {
|
||||
((StorageItemExternal) storage).detectChanges(this);
|
||||
@@ -490,7 +490,7 @@ public class TileController extends TileBase implements INetworkMaster, IRedston
|
||||
took = storage.extract(stack, requested - received, flags, simulate);
|
||||
}
|
||||
|
||||
if (took != null && !took.isEmpty()) {
|
||||
if (took != null) {
|
||||
// The external storage is responsible for sending changes, we don't need to anymore
|
||||
if (storage instanceof StorageItemExternal && !simulate) {
|
||||
((StorageItemExternal) storage).detectChanges(this);
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 6.3 KiB |
Reference in New Issue
Block a user