Remove FluidUtils

This commit is contained in:
Raoul Van den Berge
2016-10-09 18:40:09 +02:00
parent db5c6a664a
commit e821e63043
11 changed files with 41 additions and 67 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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