Fix stuff pointed out by the static analyzer
This commit is contained in:
@@ -64,6 +64,7 @@ public final class RSUtils {
|
|||||||
private static final NonNullList EMPTY_NON_NULL_LIST = new NonNullList<Object>(Collections.emptyList(), null) {
|
private static final NonNullList EMPTY_NON_NULL_LIST = new NonNullList<Object>(Collections.emptyList(), null) {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
public static <T> NonNullList<T> emptyNonNullList() {
|
public static <T> NonNullList<T> emptyNonNullList() {
|
||||||
return (NonNullList<T>) EMPTY_NON_NULL_LIST;
|
return (NonNullList<T>) EMPTY_NON_NULL_LIST;
|
||||||
}
|
}
|
||||||
|
@@ -41,8 +41,8 @@ public interface IStackList<T> {
|
|||||||
* @param stack the stack
|
* @param stack the stack
|
||||||
* @return whether the remove was successful for the full amount
|
* @return whether the remove was successful for the full amount
|
||||||
*/
|
*/
|
||||||
default void remove(@Nonnull T stack) {
|
default boolean remove(@Nonnull T stack) {
|
||||||
remove(stack, getSizeFromStack(stack));
|
return remove(stack, getSizeFromStack(stack));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -31,7 +31,6 @@ public class CraftingPattern implements ICraftingPattern {
|
|||||||
private List<List<ItemStack>> oreInputs = new ArrayList<>();
|
private List<List<ItemStack>> oreInputs = new ArrayList<>();
|
||||||
private List<ItemStack> outputs = new ArrayList<>();
|
private List<ItemStack> outputs = new ArrayList<>();
|
||||||
private List<ItemStack> byproducts = new ArrayList<>();
|
private List<ItemStack> byproducts = new ArrayList<>();
|
||||||
private boolean mekanism = false; // Cause they are special in so many ways ¯\_(ツ)_/¯
|
|
||||||
|
|
||||||
public CraftingPattern(World world, ICraftingPatternContainer container, ItemStack stack) {
|
public CraftingPattern(World world, ICraftingPatternContainer container, ItemStack stack) {
|
||||||
this.container = container;
|
this.container = container;
|
||||||
@@ -58,10 +57,11 @@ public class CraftingPattern implements ICraftingPattern {
|
|||||||
recipe = CraftingManager.getInstance().getRecipeList().stream().filter(r -> r.matches(inv, world)).findFirst().orElse(null);
|
recipe = CraftingManager.getInstance().getRecipeList().stream().filter(r -> r.matches(inv, world)).findFirst().orElse(null);
|
||||||
if (recipe != null) {
|
if (recipe != null) {
|
||||||
ItemStack output = recipe.getCraftingResult(inv);
|
ItemStack output = recipe.getCraftingResult(inv);
|
||||||
if (output != null) {
|
|
||||||
|
if (!output.isEmpty()) {
|
||||||
boolean shapedOre = recipe instanceof ShapedOreRecipe;
|
boolean shapedOre = recipe instanceof ShapedOreRecipe;
|
||||||
// It is a dirty fix, but hey someone has to do it. ~ way2muchnoise 2016 "bite me"
|
// It is a dirty fix, but hey someone has to do it. ~ way2muchnoise 2016 "bite me"
|
||||||
mekanism = recipe.getClass().getName().equals("mekanism.common.recipe.ShapedMekanismRecipe");
|
boolean mekanism = recipe.getClass().getName().equals("mekanism.common.recipe.ShapedMekanismRecipe");
|
||||||
|
|
||||||
outputs.add(Comparer.stripTags(output.copy()));
|
outputs.add(Comparer.stripTags(output.copy()));
|
||||||
|
|
||||||
|
@@ -96,7 +96,7 @@ public class NetworkNodeDetector extends NetworkNode implements IComparable, ITy
|
|||||||
powered = isPowered(stack == null ? null : stack.getCount());
|
powered = isPowered(stack == null ? null : stack.getCount());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
powered = mode == MODE_AUTOCRAFTING ? !network.getCraftingManager().getTasks().isEmpty() : isPowered(network.getItemStorageCache().getList().getStacks().stream().map(s -> s.getCount()).mapToInt(Number::intValue).sum());
|
powered = mode == MODE_AUTOCRAFTING ? !network.getCraftingManager().getTasks().isEmpty() : isPowered(network.getItemStorageCache().getList().getStacks().stream().map(ItemStack::getCount).mapToInt(Number::intValue).sum());
|
||||||
}
|
}
|
||||||
} else if (type == IType.FLUIDS) {
|
} else if (type == IType.FLUIDS) {
|
||||||
FluidStack slot = fluidFilters.getFluidStackInSlot(0);
|
FluidStack slot = fluidFilters.getFluidStackInSlot(0);
|
||||||
|
@@ -30,6 +30,7 @@ import net.minecraftforge.items.IItemHandler;
|
|||||||
import net.minecraftforge.items.ItemHandlerHelper;
|
import net.minecraftforge.items.ItemHandlerHelper;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
|
import javax.annotation.Nullable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class NetworkNodeDiskDrive extends NetworkNode implements IStorageGui, IStorageProvider, IComparable, IFilterable, IPrioritizable, IType, IExcessVoidable, IAccessType {
|
public class NetworkNodeDiskDrive extends NetworkNode implements IStorageGui, IStorageProvider, IComparable, IFilterable, IPrioritizable, IType, IExcessVoidable, IAccessType {
|
||||||
@@ -50,6 +51,7 @@ public class NetworkNodeDiskDrive extends NetworkNode implements IStorageGui, IS
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public ItemStack insert(@Nonnull ItemStack stack, int size, boolean simulate) {
|
public ItemStack insert(@Nonnull ItemStack stack, int size, boolean simulate) {
|
||||||
if (!IFilterable.canTake(itemFilters, mode, getCompare(), stack)) {
|
if (!IFilterable.canTake(itemFilters, mode, getCompare(), stack)) {
|
||||||
return ItemHandlerHelper.copyStackWithSize(stack, size);
|
return ItemHandlerHelper.copyStackWithSize(stack, size);
|
||||||
@@ -97,7 +99,8 @@ public class NetworkNodeDiskDrive extends NetworkNode implements IStorageGui, IS
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FluidStack insert(FluidStack stack, int size, boolean simulate) {
|
@Nullable
|
||||||
|
public FluidStack insert(@Nonnull FluidStack stack, int size, boolean simulate) {
|
||||||
if (!IFilterable.canTakeFluids(fluidFilters, mode, getCompare(), stack)) {
|
if (!IFilterable.canTakeFluids(fluidFilters, mode, getCompare(), stack)) {
|
||||||
return RSUtils.copyStackWithSize(stack, size);
|
return RSUtils.copyStackWithSize(stack, size);
|
||||||
}
|
}
|
||||||
|
@@ -24,6 +24,7 @@ import net.minecraftforge.items.ItemHandlerHelper;
|
|||||||
import net.minecraftforge.items.wrapper.CombinedInvWrapper;
|
import net.minecraftforge.items.wrapper.CombinedInvWrapper;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
|
import javax.annotation.Nullable;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
public class NetworkNodeDiskManipulator extends NetworkNode implements IComparable, IFilterable, IType {
|
public class NetworkNodeDiskManipulator extends NetworkNode implements IComparable, IFilterable, IType {
|
||||||
@@ -162,7 +163,8 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FluidStack insert(FluidStack stack, int size, boolean simulate) {
|
@Nullable
|
||||||
|
public FluidStack insert(@Nonnull FluidStack stack, int size, boolean simulate) {
|
||||||
if (!IFilterable.canTakeFluids(fluidFilters, mode, getCompare(), stack)) {
|
if (!IFilterable.canTakeFluids(fluidFilters, mode, getCompare(), stack)) {
|
||||||
return RSUtils.copyStackWithSize(stack, size);
|
return RSUtils.copyStackWithSize(stack, size);
|
||||||
}
|
}
|
||||||
@@ -171,7 +173,8 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FluidStack extract(FluidStack stack, int size, int flags, boolean simulate) {
|
@Nullable
|
||||||
|
public FluidStack extract(@Nonnull FluidStack stack, int size, int flags, boolean simulate) {
|
||||||
if (!IFilterable.canTakeFluids(fluidFilters, mode, getCompare(), stack)) {
|
if (!IFilterable.canTakeFluids(fluidFilters, mode, getCompare(), stack)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@@ -22,6 +22,8 @@ import net.minecraft.item.ItemStack;
|
|||||||
import net.minecraft.nbt.NBTTagCompound;
|
import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
import net.minecraftforge.fluids.FluidStack;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
import javax.annotation.Nullable;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class NetworkNodeFluidStorage extends NetworkNode implements IStorageGui, IStorageProvider, IComparable, IFilterable, IPrioritizable, IExcessVoidable, IAccessType {
|
public class NetworkNodeFluidStorage extends NetworkNode implements IStorageGui, IStorageProvider, IComparable, IFilterable, IPrioritizable, IExcessVoidable, IAccessType {
|
||||||
@@ -38,7 +40,8 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IStorageGui,
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FluidStack insert(FluidStack stack, int size, boolean simulate) {
|
@Nullable
|
||||||
|
public FluidStack insert(@Nonnull FluidStack stack, int size, boolean simulate) {
|
||||||
if (!IFilterable.canTakeFluids(filters, mode, compare, stack)) {
|
if (!IFilterable.canTakeFluids(filters, mode, compare, stack)) {
|
||||||
return RSUtils.copyStackWithSize(stack, size);
|
return RSUtils.copyStackWithSize(stack, size);
|
||||||
}
|
}
|
||||||
@@ -195,7 +198,7 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IStorageGui,
|
|||||||
|
|
||||||
public EnumFluidStorageType getType() {
|
public EnumFluidStorageType getType() {
|
||||||
if (type == null && holder.world().getBlockState(holder.pos()).getBlock() == RSBlocks.FLUID_STORAGE) {
|
if (type == null && holder.world().getBlockState(holder.pos()).getBlock() == RSBlocks.FLUID_STORAGE) {
|
||||||
type = ((EnumFluidStorageType) holder.world().getBlockState(holder.pos()).getValue(BlockFluidStorage.TYPE));
|
type = (EnumFluidStorageType) holder.world().getBlockState(holder.pos()).getValue(BlockFluidStorage.TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
return type == null ? EnumFluidStorageType.TYPE_64K : type;
|
return type == null ? EnumFluidStorageType.TYPE_64K : type;
|
||||||
|
@@ -197,7 +197,7 @@ public class NetworkNodeStorage extends NetworkNode implements IStorageGui, ISto
|
|||||||
|
|
||||||
public EnumItemStorageType getType() {
|
public EnumItemStorageType getType() {
|
||||||
if (type == null && holder.world().getBlockState(holder.pos()).getBlock() == RSBlocks.STORAGE) {
|
if (type == null && holder.world().getBlockState(holder.pos()).getBlock() == RSBlocks.STORAGE) {
|
||||||
type = ((EnumItemStorageType) holder.world().getBlockState(holder.pos()).getValue(BlockStorage.TYPE));
|
type = (EnumItemStorageType) holder.world().getBlockState(holder.pos()).getValue(BlockStorage.TYPE);
|
||||||
}
|
}
|
||||||
|
|
||||||
return type == null ? EnumItemStorageType.TYPE_1K : type;
|
return type == null ? EnumItemStorageType.TYPE_1K : type;
|
||||||
|
@@ -41,8 +41,8 @@ public class StorageFluidExternal implements IStorage<FluidStack> {
|
|||||||
return getContents() == null ? RSUtils.emptyNonNullList() : NonNullList.withSize(1, getContents().copy());
|
return getContents() == null ? RSUtils.emptyNonNullList() : NonNullList.withSize(1, getContents().copy());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public FluidStack insert(@Nonnull FluidStack stack, int size, boolean simulate) {
|
public FluidStack insert(@Nonnull FluidStack stack, int size, boolean simulate) {
|
||||||
if (getProperties() != null && IFilterable.canTakeFluids(externalStorage.getFluidFilters(), externalStorage.getMode(), externalStorage.getCompare(), stack) && getProperties().canFillFluidType(stack)) {
|
if (getProperties() != null && IFilterable.canTakeFluids(externalStorage.getFluidFilters(), externalStorage.getMode(), externalStorage.getCompare(), stack) && getProperties().canFillFluidType(stack)) {
|
||||||
int filled = handlerSupplier.get().fill(RSUtils.copyStackWithSize(stack, size), !simulate);
|
int filled = handlerSupplier.get().fill(RSUtils.copyStackWithSize(stack, size), !simulate);
|
||||||
@@ -57,8 +57,8 @@ public class StorageFluidExternal implements IStorage<FluidStack> {
|
|||||||
return RSUtils.copyStackWithSize(stack, size);
|
return RSUtils.copyStackWithSize(stack, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public FluidStack extract(@Nonnull FluidStack stack, int size, int flags, boolean simulate) {
|
public FluidStack extract(@Nonnull FluidStack stack, int size, int flags, boolean simulate) {
|
||||||
FluidStack toDrain = RSUtils.copyStackWithSize(stack, size);
|
FluidStack toDrain = RSUtils.copyStackWithSize(stack, size);
|
||||||
|
|
||||||
|
@@ -49,9 +49,9 @@ public class ReaderWriterHandlerFluids implements IReaderWriterHandler {
|
|||||||
public <T> T getCapability(IReaderWriter readerWriter, Capability<T> capability) {
|
public <T> T getCapability(IReaderWriter readerWriter, Capability<T> capability) {
|
||||||
if (capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) {
|
if (capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) {
|
||||||
if (readerWriter instanceof IReader) {
|
if (readerWriter instanceof IReader) {
|
||||||
return (T) tankReader;
|
return CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY.cast(tankReader);
|
||||||
} else if (readerWriter instanceof IWriter) {
|
} else if (readerWriter instanceof IWriter) {
|
||||||
return (T) tankWriter;
|
return CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY.cast(tankWriter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -51,9 +51,9 @@ public class ReaderWriterHandlerItems implements IReaderWriterHandler {
|
|||||||
public <T> T getCapability(IReaderWriter readerWriter, Capability<T> capability) {
|
public <T> T getCapability(IReaderWriter readerWriter, Capability<T> capability) {
|
||||||
if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
|
if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
|
||||||
if (readerWriter instanceof IReader) {
|
if (readerWriter instanceof IReader) {
|
||||||
return (T) itemsReader;
|
return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(itemsReader);
|
||||||
} else if (readerWriter instanceof IWriter) {
|
} else if (readerWriter instanceof IWriter) {
|
||||||
return (T) itemsWriter;
|
return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(itemsWriter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -80,6 +80,7 @@ public abstract class StorageFluidNBT implements IStorage<FluidStack> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public synchronized FluidStack insert(@Nonnull FluidStack stack, int size, boolean simulate) {
|
public synchronized FluidStack insert(@Nonnull FluidStack stack, int size, boolean simulate) {
|
||||||
for (FluidStack otherStack : stacks) {
|
for (FluidStack otherStack : stacks) {
|
||||||
if (otherStack.isFluidEqual(stack)) {
|
if (otherStack.isFluidEqual(stack)) {
|
||||||
@@ -151,6 +152,7 @@ public abstract class StorageFluidNBT implements IStorage<FluidStack> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public synchronized FluidStack extract(@Nonnull FluidStack stack, int size, int flags, boolean simulate) {
|
public synchronized FluidStack extract(@Nonnull FluidStack stack, int size, int flags, boolean simulate) {
|
||||||
for (FluidStack otherStack : stacks) {
|
for (FluidStack otherStack : stacks) {
|
||||||
if (API.instance().getComparer().isEqual(otherStack, stack, flags)) {
|
if (API.instance().getComparer().isEqual(otherStack, stack, flags)) {
|
||||||
|
@@ -117,6 +117,7 @@ public abstract class StorageItemNBT implements IStorage<ItemStack> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public synchronized ItemStack insert(@Nonnull ItemStack stack, int size, boolean simulate) {
|
public synchronized ItemStack insert(@Nonnull ItemStack stack, int size, boolean simulate) {
|
||||||
for (ItemStack otherStack : stacks) {
|
for (ItemStack otherStack : stacks) {
|
||||||
if (API.instance().getComparer().isEqualNoQuantity(otherStack, stack)) {
|
if (API.instance().getComparer().isEqualNoQuantity(otherStack, stack)) {
|
||||||
@@ -188,6 +189,7 @@ public abstract class StorageItemNBT implements IStorage<ItemStack> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public synchronized ItemStack extract(@Nonnull ItemStack stack, int size, int flags, boolean simulate) {
|
public synchronized ItemStack extract(@Nonnull ItemStack stack, int size, int flags, boolean simulate) {
|
||||||
for (ItemStack otherStack : stacks) {
|
for (ItemStack otherStack : stacks) {
|
||||||
if (API.instance().getComparer().isEqual(otherStack, stack, flags)) {
|
if (API.instance().getComparer().isEqual(otherStack, stack, flags)) {
|
||||||
|
@@ -18,7 +18,8 @@ public class StackListFluid implements IStackList<FluidStack> {
|
|||||||
private List<FluidStack> removeTracker = new LinkedList<>();
|
private List<FluidStack> removeTracker = new LinkedList<>();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void add(FluidStack stack, int size) {
|
@Nullable
|
||||||
|
public void add(@Nonnull FluidStack stack, int size) {
|
||||||
for (FluidStack otherStack : stacks.get(stack.getFluid())) {
|
for (FluidStack otherStack : stacks.get(stack.getFluid())) {
|
||||||
if (stack.isFluidEqual(otherStack)) {
|
if (stack.isFluidEqual(otherStack)) {
|
||||||
otherStack.amount += size;
|
otherStack.amount += size;
|
||||||
@@ -31,6 +32,7 @@ public class StackListFluid implements IStackList<FluidStack> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public boolean remove(@Nonnull FluidStack stack, int size) {
|
public boolean remove(@Nonnull FluidStack stack, int size) {
|
||||||
for (FluidStack otherStack : stacks.get(stack.getFluid())) {
|
for (FluidStack otherStack : stacks.get(stack.getFluid())) {
|
||||||
if (stack.isFluidEqual(otherStack)) {
|
if (stack.isFluidEqual(otherStack)) {
|
||||||
|
@@ -202,6 +202,7 @@ public class BlockCable extends BlockNode {
|
|||||||
return BlockRenderLayer.CUTOUT;
|
return BlockRenderLayer.CUTOUT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public EnumPlacementType getPlacementType() {
|
public EnumPlacementType getPlacementType() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
package com.raoulvdberge.refinedstorage.block;
|
package com.raoulvdberge.refinedstorage.block;
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.RSGui;
|
import com.raoulvdberge.refinedstorage.RSGui;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
|
|
||||||
import com.raoulvdberge.refinedstorage.item.ItemBlockBase;
|
import com.raoulvdberge.refinedstorage.item.ItemBlockBase;
|
||||||
import com.raoulvdberge.refinedstorage.tile.grid.TileGrid;
|
import com.raoulvdberge.refinedstorage.tile.grid.TileGrid;
|
||||||
import net.minecraft.block.properties.PropertyEnum;
|
import net.minecraft.block.properties.PropertyEnum;
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
package com.raoulvdberge.refinedstorage.block;
|
package com.raoulvdberge.refinedstorage.block;
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode;
|
|
||||||
import com.raoulvdberge.refinedstorage.tile.TileNode;
|
import com.raoulvdberge.refinedstorage.tile.TileNode;
|
||||||
import net.minecraft.block.properties.PropertyBool;
|
import net.minecraft.block.properties.PropertyBool;
|
||||||
import net.minecraft.block.state.BlockStateContainer;
|
import net.minecraft.block.state.BlockStateContainer;
|
||||||
|
@@ -3,7 +3,6 @@ package com.raoulvdberge.refinedstorage.block;
|
|||||||
import com.raoulvdberge.refinedstorage.RS;
|
import com.raoulvdberge.refinedstorage.RS;
|
||||||
import com.raoulvdberge.refinedstorage.RSGui;
|
import com.raoulvdberge.refinedstorage.RSGui;
|
||||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeSecurityManager;
|
|
||||||
import com.raoulvdberge.refinedstorage.tile.TileSecurityManager;
|
import com.raoulvdberge.refinedstorage.tile.TileSecurityManager;
|
||||||
import net.minecraft.block.state.IBlockState;
|
import net.minecraft.block.state.IBlockState;
|
||||||
import net.minecraft.entity.EntityLivingBase;
|
import net.minecraft.entity.EntityLivingBase;
|
||||||
|
@@ -8,18 +8,18 @@ import net.minecraft.inventory.Slot;
|
|||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
|
||||||
public class ContainerGridFilter extends ContainerBase {
|
public class ContainerGridFilter extends ContainerBase {
|
||||||
private ItemHandlerGridFilter filter;
|
|
||||||
private ItemStack stack;
|
private ItemStack stack;
|
||||||
|
|
||||||
public ContainerGridFilter(EntityPlayer player, ItemStack stack) {
|
public ContainerGridFilter(EntityPlayer player, ItemStack stack) {
|
||||||
super(null, player);
|
super(null, player);
|
||||||
|
|
||||||
this.stack = stack;
|
this.stack = stack;
|
||||||
this.filter = new ItemHandlerGridFilter(stack);
|
|
||||||
|
|
||||||
int y = 20;
|
int y = 20;
|
||||||
int x = 8;
|
int x = 8;
|
||||||
|
|
||||||
|
ItemHandlerGridFilter filter = new ItemHandlerGridFilter(stack);
|
||||||
|
|
||||||
for (int i = 0; i < 27; ++i) {
|
for (int i = 0; i < 27; ++i) {
|
||||||
addSlotToContainer(new SlotFilter(filter, i, x, y));
|
addSlotToContainer(new SlotFilter(filter, i, x, y));
|
||||||
|
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
package com.raoulvdberge.refinedstorage.gui;
|
package com.raoulvdberge.refinedstorage.gui;
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeNetworkTransmitter;
|
|
||||||
import com.raoulvdberge.refinedstorage.container.ContainerNetworkTransmitter;
|
import com.raoulvdberge.refinedstorage.container.ContainerNetworkTransmitter;
|
||||||
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
|
||||||
import com.raoulvdberge.refinedstorage.tile.TileNetworkTransmitter;
|
import com.raoulvdberge.refinedstorage.tile.TileNetworkTransmitter;
|
||||||
|
@@ -186,10 +186,10 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
|
|||||||
SORTING_NAME.setSortingDirection(grid.getSortingDirection());
|
SORTING_NAME.setSortingDirection(grid.getSortingDirection());
|
||||||
SORTING_QUANTITY.setSortingDirection(grid.getSortingDirection());
|
SORTING_QUANTITY.setSortingDirection(grid.getSortingDirection());
|
||||||
|
|
||||||
Collections.sort(stacks, SORTING_NAME);
|
stacks.sort(SORTING_NAME);
|
||||||
|
|
||||||
if (grid.getSortingType() == NetworkNodeGrid.SORTING_TYPE_QUANTITY) {
|
if (grid.getSortingType() == NetworkNodeGrid.SORTING_TYPE_QUANTITY) {
|
||||||
Collections.sort(stacks, SORTING_QUANTITY);
|
stacks.sort(SORTING_QUANTITY);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -50,9 +50,9 @@ public class ReaderWriterHandlerForgeEnergy implements IReaderWriterHandler {
|
|||||||
public <T> T getCapability(IReaderWriter readerWriter, Capability<T> capability) {
|
public <T> T getCapability(IReaderWriter readerWriter, Capability<T> capability) {
|
||||||
if (capability == CapabilityEnergy.ENERGY) {
|
if (capability == CapabilityEnergy.ENERGY) {
|
||||||
if (readerWriter instanceof IReader) {
|
if (readerWriter instanceof IReader) {
|
||||||
return (T) storageReader;
|
return CapabilityEnergy.ENERGY.cast(storageReader);
|
||||||
} else if (readerWriter instanceof IWriter) {
|
} else if (readerWriter instanceof IWriter) {
|
||||||
return (T) storageWriter;
|
return CapabilityEnergy.ENERGY.cast(storageWriter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -59,11 +59,11 @@ public class ReaderWriterHandlerTesla implements IReaderWriterHandler {
|
|||||||
public <T> T getCapability(IReaderWriter readerWriter, Capability<T> capability) {
|
public <T> T getCapability(IReaderWriter readerWriter, Capability<T> capability) {
|
||||||
if (readerWriter instanceof IReader || readerWriter instanceof IWriter) {
|
if (readerWriter instanceof IReader || readerWriter instanceof IWriter) {
|
||||||
if (capability == TeslaCapabilities.CAPABILITY_HOLDER) {
|
if (capability == TeslaCapabilities.CAPABILITY_HOLDER) {
|
||||||
return (T) container;
|
return TeslaCapabilities.CAPABILITY_HOLDER.cast(container);
|
||||||
} else if (capability == TeslaCapabilities.CAPABILITY_CONSUMER && readerWriter instanceof IReader) {
|
} else if (capability == TeslaCapabilities.CAPABILITY_CONSUMER && readerWriter instanceof IReader) {
|
||||||
return (T) containerReader;
|
return TeslaCapabilities.CAPABILITY_CONSUMER.cast(containerReader);
|
||||||
} else if (capability == TeslaCapabilities.CAPABILITY_PRODUCER && readerWriter instanceof IWriter) {
|
} else if (capability == TeslaCapabilities.CAPABILITY_PRODUCER && readerWriter instanceof IWriter) {
|
||||||
return (T) containerWriter;
|
return TeslaCapabilities.CAPABILITY_PRODUCER.cast(containerWriter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -14,6 +14,7 @@ import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
public class MessageGridItemUpdate implements IMessage, IMessageHandler<MessageGridItemUpdate, IMessage> {
|
public class MessageGridItemUpdate implements IMessage, IMessageHandler<MessageGridItemUpdate, IMessage> {
|
||||||
private INetworkMaster network;
|
private INetworkMaster network;
|
||||||
@@ -46,7 +47,7 @@ public class MessageGridItemUpdate implements IMessage, IMessageHandler<MessageG
|
|||||||
int size = network.getItemStorageCache().getList().getStacks().size();
|
int size = network.getItemStorageCache().getList().getStacks().size();
|
||||||
|
|
||||||
for (ICraftingPattern pattern : network.getCraftingManager().getPatterns()) {
|
for (ICraftingPattern pattern : network.getCraftingManager().getPatterns()) {
|
||||||
size += pattern.getOutputs().stream().filter(o -> o != null).count();
|
size += pattern.getOutputs().stream().filter(Objects::nonNull).count();
|
||||||
}
|
}
|
||||||
|
|
||||||
buf.writeInt(size);
|
buf.writeInt(size);
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
package com.raoulvdberge.refinedstorage.proxy;
|
package com.raoulvdberge.refinedstorage.proxy;
|
||||||
|
|
||||||
|
import javax.annotation.Nonnull;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
|
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
|
||||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProxy;
|
import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProxy;
|
||||||
@@ -10,8 +12,6 @@ import net.minecraftforge.common.capabilities.Capability;
|
|||||||
import net.minecraftforge.common.capabilities.CapabilityInject;
|
import net.minecraftforge.common.capabilities.CapabilityInject;
|
||||||
import net.minecraftforge.common.capabilities.CapabilityManager;
|
import net.minecraftforge.common.capabilities.CapabilityManager;
|
||||||
|
|
||||||
import javax.annotation.Nonnull;
|
|
||||||
|
|
||||||
public class CapabilityNetworkNodeProxy {
|
public class CapabilityNetworkNodeProxy {
|
||||||
@CapabilityInject(INetworkNodeProxy.class)
|
@CapabilityInject(INetworkNodeProxy.class)
|
||||||
public static Capability<INetworkNodeProxy> NETWORK_NODE_PROXY_CAPABILITY = null;
|
public static Capability<INetworkNodeProxy> NETWORK_NODE_PROXY_CAPABILITY = null;
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
package com.raoulvdberge.refinedstorage.tile;
|
package com.raoulvdberge.refinedstorage.tile;
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
|
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeConstructor;
|
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeConstructor;
|
||||||
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
|
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
|
||||||
import com.raoulvdberge.refinedstorage.tile.config.IType;
|
import com.raoulvdberge.refinedstorage.tile.config.IType;
|
||||||
|
@@ -121,7 +121,7 @@ public class TileController extends TileBase implements INetworkMaster, IRedston
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Collections.sort(nodes, CLIENT_NODE_COMPARATOR);
|
nodes.sort(CLIENT_NODE_COMPARATOR);
|
||||||
|
|
||||||
return nodes;
|
return nodes;
|
||||||
}
|
}
|
||||||
@@ -221,8 +221,8 @@ public class TileController extends TileBase implements INetworkMaster, IRedston
|
|||||||
public void update() {
|
public void update() {
|
||||||
if (!getWorld().isRemote) {
|
if (!getWorld().isRemote) {
|
||||||
if (canRun()) {
|
if (canRun()) {
|
||||||
Collections.sort(itemStorage.getStorages(), STORAGE_COMPARATOR);
|
itemStorage.getStorages().sort(STORAGE_COMPARATOR);
|
||||||
Collections.sort(fluidStorage.getStorages(), STORAGE_COMPARATOR);
|
fluidStorage.getStorages().sort(STORAGE_COMPARATOR);
|
||||||
|
|
||||||
craftingManager.update();
|
craftingManager.update();
|
||||||
|
|
||||||
|
@@ -56,7 +56,7 @@ public class TileExporter extends TileNode<NetworkNodeExporter> {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
public static final TileDataParameter<Boolean> CRAFT_ONLY = new TileDataParameter<Boolean>(DataSerializers.BOOLEAN, false, new ITileDataProducer<Boolean, TileExporter>() {
|
public static final TileDataParameter<Boolean> CRAFT_ONLY = new TileDataParameter<>(DataSerializers.BOOLEAN, false, new ITileDataProducer<Boolean, TileExporter>() {
|
||||||
@Override
|
@Override
|
||||||
public Boolean getValue(TileExporter tile) {
|
public Boolean getValue(TileExporter tile) {
|
||||||
return tile.getNode().isCraftOnly();
|
return tile.getNode().isCraftOnly();
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
package com.raoulvdberge.refinedstorage.tile;
|
package com.raoulvdberge.refinedstorage.tile;
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
|
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeInterface;
|
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeInterface;
|
||||||
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
|
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
|
||||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
package com.raoulvdberge.refinedstorage.tile;
|
package com.raoulvdberge.refinedstorage.tile;
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
|
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeNetworkTransmitter;
|
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeNetworkTransmitter;
|
||||||
import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer;
|
import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer;
|
||||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||||
|
@@ -20,7 +20,7 @@ import net.minecraftforge.items.IItemHandler;
|
|||||||
import javax.annotation.Nonnull;
|
import javax.annotation.Nonnull;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
public abstract class TileNode<T extends NetworkNode> extends TileBase implements INetworkNodeProxy<T>, INetworkNodeHolder, IRedstoneConfigurable {
|
public abstract class TileNode<N extends NetworkNode> extends TileBase implements INetworkNodeProxy<N>, INetworkNodeHolder, IRedstoneConfigurable {
|
||||||
public static final TileDataParameter<Integer> REDSTONE_MODE = RedstoneMode.createParameter();
|
public static final TileDataParameter<Integer> REDSTONE_MODE = RedstoneMode.createParameter();
|
||||||
|
|
||||||
private NBTTagCompound legacyTagToRead;
|
private NBTTagCompound legacyTagToRead;
|
||||||
@@ -121,7 +121,7 @@ public abstract class TileNode<T extends NetworkNode> extends TileBase implement
|
|||||||
@Override
|
@Override
|
||||||
@Nonnull
|
@Nonnull
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public T getNode() {
|
public N getNode() {
|
||||||
INetworkNodeProvider provider = API.instance().getNetworkNodeProvider(getWorld().provider.getDimension());
|
INetworkNodeProvider provider = API.instance().getNetworkNodeProvider(getWorld().provider.getDimension());
|
||||||
|
|
||||||
INetworkNode node = provider.getNode(pos);
|
INetworkNode node = provider.getNode(pos);
|
||||||
@@ -130,10 +130,10 @@ public abstract class TileNode<T extends NetworkNode> extends TileBase implement
|
|||||||
provider.setNode(pos, node = createNode());
|
provider.setNode(pos, node = createNode());
|
||||||
}
|
}
|
||||||
|
|
||||||
return (T) node;
|
return (N) node;
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract T createNode();
|
public abstract N createNode();
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean hasCapability(Capability<?> capability, @Nullable EnumFacing side) {
|
public boolean hasCapability(Capability<?> capability, @Nullable EnumFacing side) {
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
package com.raoulvdberge.refinedstorage.tile;
|
package com.raoulvdberge.refinedstorage.tile;
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
|
|
||||||
import com.raoulvdberge.refinedstorage.api.storage.AccessType;
|
import com.raoulvdberge.refinedstorage.api.storage.AccessType;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeStorage;
|
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeStorage;
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.storage.StorageItemNBT;
|
import com.raoulvdberge.refinedstorage.apiimpl.storage.StorageItemNBT;
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
package com.raoulvdberge.refinedstorage.tile;
|
package com.raoulvdberge.refinedstorage.tile;
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
|
|
||||||
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeWirelessTransmitter;
|
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeWirelessTransmitter;
|
||||||
import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer;
|
import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer;
|
||||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||||
|
@@ -1,6 +1,5 @@
|
|||||||
package com.raoulvdberge.refinedstorage.tile;
|
package com.raoulvdberge.refinedstorage.tile;
|
||||||
|
|
||||||
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
|
|
||||||
import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterChannel;
|
import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterChannel;
|
||||||
import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterHandler;
|
import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterHandler;
|
||||||
import com.raoulvdberge.refinedstorage.api.network.readerwriter.IWriter;
|
import com.raoulvdberge.refinedstorage.api.network.readerwriter.IWriter;
|
||||||
|
Reference in New Issue
Block a user