diff --git a/src/main/java/refinedstorage/RSUtils.java b/src/main/java/refinedstorage/RSUtils.java index b8533c95c..4d23b7838 100755 --- a/src/main/java/refinedstorage/RSUtils.java +++ b/src/main/java/refinedstorage/RSUtils.java @@ -1,6 +1,7 @@ package refinedstorage; import io.netty.buffer.ByteBuf; +import net.minecraft.init.Items; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; @@ -32,6 +33,8 @@ import java.util.Locale; import java.util.function.Function; public final class RSUtils { + public static final ItemStack EMPTY_BUCKET = new ItemStack(Items.BUCKET); + private static final String NBT_INVENTORY = "Inventory_%d"; private static final String NBT_SLOT = "Slot"; @@ -191,4 +194,14 @@ public final class RSUtils { public static String formatFluidStackQuantity(FluidStack stack) { return String.format(Locale.US, "%.1f", (float) stack.amount / 1000).replace(".0", ""); } + + public static FluidStack copyStackWithSize(FluidStack stack, int size) { + FluidStack copy = stack.copy(); + copy.amount = size; + return copy; + } + + public static FluidStack copyStack(FluidStack stack) { + return stack == null ? null : stack.copy(); + } } diff --git a/src/main/java/refinedstorage/apiimpl/autocrafting/task/CraftingTaskNormal.java b/src/main/java/refinedstorage/apiimpl/autocrafting/task/CraftingTaskNormal.java index abea4aac8..1ade95a54 100755 --- a/src/main/java/refinedstorage/apiimpl/autocrafting/task/CraftingTaskNormal.java +++ b/src/main/java/refinedstorage/apiimpl/autocrafting/task/CraftingTaskNormal.java @@ -1,6 +1,5 @@ package refinedstorage.apiimpl.autocrafting.task; -import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fluids.FluidStack; @@ -23,8 +22,6 @@ import java.util.List; import java.util.stream.Collectors; public class CraftingTaskNormal implements ICraftingTask { - private static final ItemStack EMPTY_BUCKET = new ItemStack(Items.BUCKET); - private INetworkMaster network; private ItemStack requested; private ICraftingPattern pattern; @@ -83,10 +80,10 @@ public class CraftingTaskNormal implements ICraftingTask { if (fluidInStorage == null || fluidInStorage.amount < fluidInItem.amount) { missing.add(input); - } else if (network.getItemStorage().getList().get(EMPTY_BUCKET) == null) { - missing.add(EMPTY_BUCKET.copy()); + } else if (network.getItemStorage().getList().get(RSUtils.EMPTY_BUCKET) == null) { + missing.add(RSUtils.EMPTY_BUCKET.copy()); } else { - toTake.add(EMPTY_BUCKET.copy()); + toTake.add(RSUtils.EMPTY_BUCKET.copy()); toTakeFluids.add(fluidInItem.copy()); } } else { diff --git a/src/main/java/refinedstorage/apiimpl/network/grid/FluidGridHandler.java b/src/main/java/refinedstorage/apiimpl/network/grid/FluidGridHandler.java index d7fb26ab9..c84d6ccbb 100755 --- a/src/main/java/refinedstorage/apiimpl/network/grid/FluidGridHandler.java +++ b/src/main/java/refinedstorage/apiimpl/network/grid/FluidGridHandler.java @@ -10,7 +10,6 @@ import refinedstorage.RSUtils; import refinedstorage.api.network.INetworkMaster; import refinedstorage.api.network.grid.IFluidGridHandler; import refinedstorage.apiimpl.API; -import refinedstorage.apiimpl.storage.fluid.FluidUtils; import javax.annotation.Nullable; @@ -26,14 +25,14 @@ public class FluidGridHandler implements IFluidGridHandler { FluidStack stack = network.getFluidStorage().getList().get(hash); if (stack != null && RSUtils.hasFluidBucket(stack)) { - ItemStack bucket = FluidUtils.extractBucket(network); + ItemStack bucket = network.extractItem(RSUtils.EMPTY_BUCKET, 1); if (bucket == null) { for (int i = 0; i < player.inventory.getSizeInventory(); ++i) { ItemStack slot = player.inventory.getStackInSlot(i); - if (API.instance().getComparer().isEqualNoQuantity(FluidUtils.EMPTY_BUCKET, slot)) { - bucket = FluidUtils.EMPTY_BUCKET.copy(); + if (API.instance().getComparer().isEqualNoQuantity(RSUtils.EMPTY_BUCKET, slot)) { + bucket = RSUtils.EMPTY_BUCKET.copy(); player.inventory.decrStackSize(i, 1); diff --git a/src/main/java/refinedstorage/apiimpl/storage/fluid/FluidStorageNBT.java b/src/main/java/refinedstorage/apiimpl/storage/fluid/FluidStorageNBT.java index 9353f2021..3fe53daf8 100755 --- a/src/main/java/refinedstorage/apiimpl/storage/fluid/FluidStorageNBT.java +++ b/src/main/java/refinedstorage/apiimpl/storage/fluid/FluidStorageNBT.java @@ -5,6 +5,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.fluids.FluidStack; +import refinedstorage.RSUtils; import refinedstorage.api.storage.fluid.IFluidStorage; import refinedstorage.apiimpl.API; @@ -85,7 +86,7 @@ public abstract class FluidStorageNBT implements IFluidStorage { int remainingSpace = getCapacity() - getStored(); if (remainingSpace <= 0) { - return FluidUtils.copyStackWithSize(stack, size); + return RSUtils.copyStackWithSize(stack, size); } if (!simulate) { @@ -96,7 +97,7 @@ public abstract class FluidStorageNBT implements IFluidStorage { onStorageChanged(); } - return FluidUtils.copyStackWithSize(otherStack, size - remainingSpace); + return RSUtils.copyStackWithSize(otherStack, size - remainingSpace); } else { if (!simulate) { tag.setInteger(NBT_STORED, getStored() + size); @@ -115,23 +116,23 @@ public abstract class FluidStorageNBT implements IFluidStorage { int remainingSpace = getCapacity() - getStored(); if (remainingSpace <= 0) { - return FluidUtils.copyStackWithSize(stack, size); + return RSUtils.copyStackWithSize(stack, size); } if (!simulate) { tag.setInteger(NBT_STORED, getStored() + remainingSpace); - stacks.add(FluidUtils.copyStackWithSize(stack, remainingSpace)); + stacks.add(RSUtils.copyStackWithSize(stack, remainingSpace)); onStorageChanged(); } - return FluidUtils.copyStackWithSize(stack, size - remainingSpace); + return RSUtils.copyStackWithSize(stack, size - remainingSpace); } else { if (!simulate) { tag.setInteger(NBT_STORED, getStored() + size); - stacks.add(FluidUtils.copyStackWithSize(stack, size)); + stacks.add(RSUtils.copyStackWithSize(stack, size)); onStorageChanged(); } @@ -158,7 +159,7 @@ public abstract class FluidStorageNBT implements IFluidStorage { onStorageChanged(); - return FluidUtils.copyStackWithSize(otherStack, size); + return RSUtils.copyStackWithSize(otherStack, size); } } diff --git a/src/main/java/refinedstorage/apiimpl/storage/fluid/FluidUtils.java b/src/main/java/refinedstorage/apiimpl/storage/fluid/FluidUtils.java deleted file mode 100755 index 884af2ba1..000000000 --- a/src/main/java/refinedstorage/apiimpl/storage/fluid/FluidUtils.java +++ /dev/null @@ -1,25 +0,0 @@ -package refinedstorage.apiimpl.storage.fluid; - -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; -import refinedstorage.api.network.INetworkMaster; - -// @TODO: Move to RSUtils -public final class FluidUtils { - public static final ItemStack EMPTY_BUCKET = new ItemStack(Items.BUCKET); - - public static FluidStack copyStackWithSize(FluidStack stack, int size) { - FluidStack copy = stack.copy(); - copy.amount = size; - return copy; - } - - public static FluidStack copy(FluidStack stack) { - return stack == null ? null : stack.copy(); - } - - public static ItemStack extractBucket(INetworkMaster network) { - return network.extractItem(EMPTY_BUCKET, 1); - } -} diff --git a/src/main/java/refinedstorage/proxy/CommonProxy.java b/src/main/java/refinedstorage/proxy/CommonProxy.java index d4febd24e..74cb0662a 100755 --- a/src/main/java/refinedstorage/proxy/CommonProxy.java +++ b/src/main/java/refinedstorage/proxy/CommonProxy.java @@ -161,14 +161,6 @@ public class CommonProxy { API.instance().getSoldererRegistry().addRecipe(new SoldererRecipeProcessor(ItemProcessor.TYPE_IMPROVED)); API.instance().getSoldererRegistry().addRecipe(new SoldererRecipeProcessor(ItemProcessor.TYPE_ADVANCED)); - GameRegistry.addRecipe(new ItemStack(Blocks.SPONGE), - "WWW", - "WBW", - "WWW", - 'W', new ItemStack(Blocks.PLANKS), - 'B', new ItemStack(Items.WATER_BUCKET) - ); - // Silicon GameRegistry.addSmelting(Items.QUARTZ, new ItemStack(RSItems.SILICON), 0.5f); diff --git a/src/main/java/refinedstorage/tile/TileController.java b/src/main/java/refinedstorage/tile/TileController.java index 3dec611fa..1b789cf27 100755 --- a/src/main/java/refinedstorage/tile/TileController.java +++ b/src/main/java/refinedstorage/tile/TileController.java @@ -21,6 +21,7 @@ import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.items.ItemHandlerHelper; import refinedstorage.RS; import refinedstorage.RSBlocks; +import refinedstorage.RSUtils; import refinedstorage.api.autocrafting.ICraftingPattern; import refinedstorage.api.autocrafting.ICraftingPatternContainer; import refinedstorage.api.autocrafting.ICraftingPatternProvider; @@ -43,7 +44,6 @@ import refinedstorage.apiimpl.network.NetworkNodeGraph; import refinedstorage.apiimpl.network.WirelessGridHandler; import refinedstorage.apiimpl.network.grid.FluidGridHandler; import refinedstorage.apiimpl.network.grid.ItemGridHandler; -import refinedstorage.apiimpl.storage.fluid.FluidUtils; import refinedstorage.apiimpl.storage.fluid.GroupedFluidStorage; import refinedstorage.apiimpl.storage.item.GroupedItemStorage; import refinedstorage.block.BlockController; @@ -612,7 +612,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR @Override public FluidStack insertFluid(@Nonnull FluidStack stack, int size, boolean simulate) { if (stack == null || fluidStorage.getStorages().isEmpty()) { - return FluidUtils.copyStackWithSize(stack, size); + return RSUtils.copyStackWithSize(stack, size); } int orginalSize = size; @@ -646,7 +646,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR } if (!simulate && inserted > 0) { - fluidStorage.add(FluidUtils.copyStackWithSize(stack, inserted), false); + fluidStorage.add(RSUtils.copyStackWithSize(stack, inserted), false); } return remainder; diff --git a/src/main/java/refinedstorage/tile/TileDiskDrive.java b/src/main/java/refinedstorage/tile/TileDiskDrive.java index 72ef94cb8..1930ca02f 100755 --- a/src/main/java/refinedstorage/tile/TileDiskDrive.java +++ b/src/main/java/refinedstorage/tile/TileDiskDrive.java @@ -20,7 +20,6 @@ import refinedstorage.api.storage.item.IItemStorage; import refinedstorage.api.storage.item.IItemStorageProvider; import refinedstorage.api.util.IComparer; import refinedstorage.apiimpl.storage.fluid.FluidStorageNBT; -import refinedstorage.apiimpl.storage.fluid.FluidUtils; import refinedstorage.apiimpl.storage.item.ItemStorageNBT; import refinedstorage.block.EnumFluidStorageType; import refinedstorage.block.EnumItemStorageType; @@ -79,7 +78,7 @@ public class TileDiskDrive extends TileNode implements IItemStorageProvider, IFl @Override public FluidStack insertFluid(FluidStack stack, int size, boolean simulate) { if (!IFilterable.canTakeFluids(fluidFilters, mode, getCompare(), stack)) { - return FluidUtils.copyStackWithSize(stack, size); + return RSUtils.copyStackWithSize(stack, size); } FluidStack result = super.insertFluid(stack, size, simulate); diff --git a/src/main/java/refinedstorage/tile/TileDiskManipulator.java b/src/main/java/refinedstorage/tile/TileDiskManipulator.java index b9ea1e93f..28a2708bd 100755 --- a/src/main/java/refinedstorage/tile/TileDiskManipulator.java +++ b/src/main/java/refinedstorage/tile/TileDiskManipulator.java @@ -15,7 +15,6 @@ import refinedstorage.RS; import refinedstorage.RSUtils; import refinedstorage.api.util.IComparer; import refinedstorage.apiimpl.storage.fluid.FluidStorageNBT; -import refinedstorage.apiimpl.storage.fluid.FluidUtils; import refinedstorage.apiimpl.storage.item.ItemStorageNBT; import refinedstorage.block.EnumFluidStorageType; import refinedstorage.block.EnumItemStorageType; @@ -143,7 +142,7 @@ public class TileDiskManipulator extends TileNode implements IComparable, IFilte @Override public FluidStack insertFluid(FluidStack stack, int size, boolean simulate) { if (!IFilterable.canTakeFluids(fluidFilters, mode, getCompare(), stack)) { - return FluidUtils.copyStackWithSize(stack, size); + return RSUtils.copyStackWithSize(stack, size); } return super.insertFluid(stack, size, simulate); diff --git a/src/main/java/refinedstorage/tile/TileFluidStorage.java b/src/main/java/refinedstorage/tile/TileFluidStorage.java index c4828be67..9e6567b69 100755 --- a/src/main/java/refinedstorage/tile/TileFluidStorage.java +++ b/src/main/java/refinedstorage/tile/TileFluidStorage.java @@ -11,7 +11,6 @@ import refinedstorage.api.storage.fluid.IFluidStorage; import refinedstorage.api.storage.fluid.IFluidStorageProvider; import refinedstorage.api.util.IComparer; import refinedstorage.apiimpl.storage.fluid.FluidStorageNBT; -import refinedstorage.apiimpl.storage.fluid.FluidUtils; import refinedstorage.block.BlockFluidStorage; import refinedstorage.block.EnumFluidStorageType; import refinedstorage.inventory.ItemHandlerFluid; @@ -47,7 +46,7 @@ public class TileFluidStorage extends TileNode implements IFluidStorageProvider, @Override public FluidStack insertFluid(FluidStack stack, int size, boolean simulate) { if (!IFilterable.canTakeFluids(filters, mode, compare, stack)) { - return FluidUtils.copyStackWithSize(stack, size); + return RSUtils.copyStackWithSize(stack, size); } return super.insertFluid(stack, size, simulate); diff --git a/src/main/java/refinedstorage/tile/externalstorage/FluidStorageExternal.java b/src/main/java/refinedstorage/tile/externalstorage/FluidStorageExternal.java index f3ea10b4d..86bd7844f 100755 --- a/src/main/java/refinedstorage/tile/externalstorage/FluidStorageExternal.java +++ b/src/main/java/refinedstorage/tile/externalstorage/FluidStorageExternal.java @@ -3,10 +3,10 @@ package refinedstorage.tile.externalstorage; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.capability.IFluidHandler; import net.minecraftforge.fluids.capability.IFluidTankProperties; +import refinedstorage.RSUtils; import refinedstorage.api.storage.fluid.IFluidStorage; import refinedstorage.api.util.IComparer; import refinedstorage.apiimpl.API; -import refinedstorage.apiimpl.storage.fluid.FluidUtils; import refinedstorage.tile.config.IFilterable; import javax.annotation.Nonnull; @@ -42,22 +42,22 @@ public class FluidStorageExternal implements IFluidStorage { @Override public FluidStack insertFluid(@Nonnull FluidStack stack, int size, boolean simulate) { if (getProperties() != null && IFilterable.canTakeFluids(externalStorage.getFluidFilters(), externalStorage.getMode(), externalStorage.getCompare(), stack) && getProperties().canFillFluidType(stack)) { - int filled = handler.fill(FluidUtils.copyStackWithSize(stack, size), !simulate); + int filled = handler.fill(RSUtils.copyStackWithSize(stack, size), !simulate); if (filled == size) { return null; } - return FluidUtils.copyStackWithSize(stack, size - filled); + return RSUtils.copyStackWithSize(stack, size - filled); } - return FluidUtils.copyStackWithSize(stack, size); + return RSUtils.copyStackWithSize(stack, size); } @Nullable @Override public FluidStack extractFluid(@Nonnull FluidStack stack, int size, int flags) { - FluidStack toDrain = FluidUtils.copyStackWithSize(stack, size); + FluidStack toDrain = RSUtils.copyStackWithSize(stack, size); if (API.instance().getComparer().isEqual(getContents(), toDrain, flags)) { return handler.drain(toDrain, true); @@ -84,9 +84,9 @@ public class FluidStorageExternal implements IFluidStorage { FluidStack stack = getContents(); if (cache == null) { - cache = FluidUtils.copy(stack); + cache = RSUtils.copyStack(stack); } else if (!API.instance().getComparer().isEqual(stack, cache, IComparer.COMPARE_NBT | API.instance().getComparer().COMPARE_QUANTITY)) { - cache = FluidUtils.copy(stack); + cache = RSUtils.copyStack(stack); return true; } @@ -95,6 +95,6 @@ public class FluidStorageExternal implements IFluidStorage { } public void updateCacheForcefully() { - cache = FluidUtils.copy(getContents()); + cache = RSUtils.copyStack(getContents()); } }