Fix stuff pointed out by the static analyzer

This commit is contained in:
raoulvdberge
2016-12-28 06:28:55 +01:00
parent 0fb148a060
commit fea1b01233
47 changed files with 150 additions and 142 deletions

View File

@@ -64,6 +64,7 @@ public final class RSUtils {
private static final NonNullList EMPTY_NON_NULL_LIST = new NonNullList<Object>(Collections.emptyList(), null) {
};
@SuppressWarnings("unchecked")
public static <T> NonNullList<T> emptyNonNullList() {
return (NonNullList<T>) EMPTY_NON_NULL_LIST;
}

View File

@@ -41,8 +41,8 @@ public interface IStackList<T> {
* @param stack the stack
* @return whether the remove was successful for the full amount
*/
default void remove(@Nonnull T stack) {
remove(stack, getSizeFromStack(stack));
default boolean remove(@Nonnull T stack) {
return remove(stack, getSizeFromStack(stack));
}
/**

View File

@@ -31,7 +31,6 @@ public class CraftingPattern implements ICraftingPattern {
private List<List<ItemStack>> oreInputs = new ArrayList<>();
private List<ItemStack> outputs = 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) {
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);
if (recipe != null) {
ItemStack output = recipe.getCraftingResult(inv);
if (output != null) {
if (!output.isEmpty()) {
boolean shapedOre = recipe instanceof ShapedOreRecipe;
// 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()));

View File

@@ -96,7 +96,7 @@ public class NetworkNodeDetector extends NetworkNode implements IComparable, ITy
powered = isPowered(stack == null ? null : stack.getCount());
}
} 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) {
FluidStack slot = fluidFilters.getFluidStackInSlot(0);

View File

@@ -30,6 +30,7 @@ import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.ItemHandlerHelper;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.List;
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
@Nullable
public ItemStack insert(@Nonnull ItemStack stack, int size, boolean simulate) {
if (!IFilterable.canTake(itemFilters, mode, getCompare(), stack)) {
return ItemHandlerHelper.copyStackWithSize(stack, size);
@@ -97,7 +99,8 @@ public class NetworkNodeDiskDrive extends NetworkNode implements IStorageGui, IS
}
@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)) {
return RSUtils.copyStackWithSize(stack, size);
}

View File

@@ -24,6 +24,7 @@ import net.minecraftforge.items.ItemHandlerHelper;
import net.minecraftforge.items.wrapper.CombinedInvWrapper;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.ArrayList;
public class NetworkNodeDiskManipulator extends NetworkNode implements IComparable, IFilterable, IType {
@@ -162,7 +163,8 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab
}
@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)) {
return RSUtils.copyStackWithSize(stack, size);
}
@@ -171,7 +173,8 @@ public class NetworkNodeDiskManipulator extends NetworkNode implements IComparab
}
@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)) {
return null;
}

View File

@@ -22,6 +22,8 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.fluids.FluidStack;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.List;
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
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)) {
return RSUtils.copyStackWithSize(stack, size);
}
@@ -195,7 +198,7 @@ public class NetworkNodeFluidStorage extends NetworkNode implements IStorageGui,
public EnumFluidStorageType getType() {
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;

View File

@@ -197,7 +197,7 @@ public class NetworkNodeStorage extends NetworkNode implements IStorageGui, ISto
public EnumItemStorageType getType() {
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;

View File

@@ -41,8 +41,8 @@ public class StorageFluidExternal implements IStorage<FluidStack> {
return getContents() == null ? RSUtils.emptyNonNullList() : NonNullList.withSize(1, getContents().copy());
}
@Nullable
@Override
@Nullable
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)) {
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);
}
@Nullable
@Override
@Nullable
public FluidStack extract(@Nonnull FluidStack stack, int size, int flags, boolean simulate) {
FluidStack toDrain = RSUtils.copyStackWithSize(stack, size);

View File

@@ -49,9 +49,9 @@ public class ReaderWriterHandlerFluids implements IReaderWriterHandler {
public <T> T getCapability(IReaderWriter readerWriter, Capability<T> capability) {
if (capability == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY) {
if (readerWriter instanceof IReader) {
return (T) tankReader;
return CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY.cast(tankReader);
} else if (readerWriter instanceof IWriter) {
return (T) tankWriter;
return CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY.cast(tankWriter);
}
}

View File

@@ -51,9 +51,9 @@ public class ReaderWriterHandlerItems implements IReaderWriterHandler {
public <T> T getCapability(IReaderWriter readerWriter, Capability<T> capability) {
if (capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) {
if (readerWriter instanceof IReader) {
return (T) itemsReader;
return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(itemsReader);
} else if (readerWriter instanceof IWriter) {
return (T) itemsWriter;
return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(itemsWriter);
}
}

View File

@@ -80,6 +80,7 @@ public abstract class StorageFluidNBT implements IStorage<FluidStack> {
}
@Override
@Nullable
public synchronized FluidStack insert(@Nonnull FluidStack stack, int size, boolean simulate) {
for (FluidStack otherStack : stacks) {
if (otherStack.isFluidEqual(stack)) {
@@ -151,6 +152,7 @@ public abstract class StorageFluidNBT implements IStorage<FluidStack> {
}
@Override
@Nullable
public synchronized FluidStack extract(@Nonnull FluidStack stack, int size, int flags, boolean simulate) {
for (FluidStack otherStack : stacks) {
if (API.instance().getComparer().isEqual(otherStack, stack, flags)) {

View File

@@ -117,6 +117,7 @@ public abstract class StorageItemNBT implements IStorage<ItemStack> {
}
@Override
@Nullable
public synchronized ItemStack insert(@Nonnull ItemStack stack, int size, boolean simulate) {
for (ItemStack otherStack : stacks) {
if (API.instance().getComparer().isEqualNoQuantity(otherStack, stack)) {
@@ -188,6 +189,7 @@ public abstract class StorageItemNBT implements IStorage<ItemStack> {
}
@Override
@Nullable
public synchronized ItemStack extract(@Nonnull ItemStack stack, int size, int flags, boolean simulate) {
for (ItemStack otherStack : stacks) {
if (API.instance().getComparer().isEqual(otherStack, stack, flags)) {

View File

@@ -18,7 +18,8 @@ public class StackListFluid implements IStackList<FluidStack> {
private List<FluidStack> removeTracker = new LinkedList<>();
@Override
public void add(FluidStack stack, int size) {
@Nullable
public void add(@Nonnull FluidStack stack, int size) {
for (FluidStack otherStack : stacks.get(stack.getFluid())) {
if (stack.isFluidEqual(otherStack)) {
otherStack.amount += size;
@@ -31,6 +32,7 @@ public class StackListFluid implements IStackList<FluidStack> {
}
@Override
@Nullable
public boolean remove(@Nonnull FluidStack stack, int size) {
for (FluidStack otherStack : stacks.get(stack.getFluid())) {
if (stack.isFluidEqual(otherStack)) {

View File

@@ -202,6 +202,7 @@ public class BlockCable extends BlockNode {
return BlockRenderLayer.CUTOUT;
}
@Override
public EnumPlacementType getPlacementType() {
return null;
}

View File

@@ -1,7 +1,6 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RSGui;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeGrid;
import com.raoulvdberge.refinedstorage.item.ItemBlockBase;
import com.raoulvdberge.refinedstorage.tile.grid.TileGrid;
import net.minecraft.block.properties.PropertyEnum;

View File

@@ -1,7 +1,6 @@
package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode;
import com.raoulvdberge.refinedstorage.tile.TileNode;
import net.minecraft.block.properties.PropertyBool;
import net.minecraft.block.state.BlockStateContainer;

View File

@@ -3,7 +3,6 @@ package com.raoulvdberge.refinedstorage.block;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSGui;
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeSecurityManager;
import com.raoulvdberge.refinedstorage.tile.TileSecurityManager;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;

View File

@@ -8,18 +8,18 @@ import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
public class ContainerGridFilter extends ContainerBase {
private ItemHandlerGridFilter filter;
private ItemStack stack;
public ContainerGridFilter(EntityPlayer player, ItemStack stack) {
super(null, player);
this.stack = stack;
this.filter = new ItemHandlerGridFilter(stack);
int y = 20;
int x = 8;
ItemHandlerGridFilter filter = new ItemHandlerGridFilter(stack);
for (int i = 0; i < 27; ++i) {
addSlotToContainer(new SlotFilter(filter, i, x, y));

View File

@@ -1,6 +1,5 @@
package com.raoulvdberge.refinedstorage.gui;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeNetworkTransmitter;
import com.raoulvdberge.refinedstorage.container.ContainerNetworkTransmitter;
import com.raoulvdberge.refinedstorage.gui.sidebutton.SideButtonRedstoneMode;
import com.raoulvdberge.refinedstorage.tile.TileNetworkTransmitter;

View File

@@ -186,10 +186,10 @@ public class GuiGrid extends GuiBase implements IGridDisplay {
SORTING_NAME.setSortingDirection(grid.getSortingDirection());
SORTING_QUANTITY.setSortingDirection(grid.getSortingDirection());
Collections.sort(stacks, SORTING_NAME);
stacks.sort(SORTING_NAME);
if (grid.getSortingType() == NetworkNodeGrid.SORTING_TYPE_QUANTITY) {
Collections.sort(stacks, SORTING_QUANTITY);
stacks.sort(SORTING_QUANTITY);
}
}

View File

@@ -50,9 +50,9 @@ public class ReaderWriterHandlerForgeEnergy implements IReaderWriterHandler {
public <T> T getCapability(IReaderWriter readerWriter, Capability<T> capability) {
if (capability == CapabilityEnergy.ENERGY) {
if (readerWriter instanceof IReader) {
return (T) storageReader;
return CapabilityEnergy.ENERGY.cast(storageReader);
} else if (readerWriter instanceof IWriter) {
return (T) storageWriter;
return CapabilityEnergy.ENERGY.cast(storageWriter);
}
}

View File

@@ -59,11 +59,11 @@ public class ReaderWriterHandlerTesla implements IReaderWriterHandler {
public <T> T getCapability(IReaderWriter readerWriter, Capability<T> capability) {
if (readerWriter instanceof IReader || readerWriter instanceof IWriter) {
if (capability == TeslaCapabilities.CAPABILITY_HOLDER) {
return (T) container;
return TeslaCapabilities.CAPABILITY_HOLDER.cast(container);
} 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) {
return (T) containerWriter;
return TeslaCapabilities.CAPABILITY_PRODUCER.cast(containerWriter);
}
}

View File

@@ -14,6 +14,7 @@ import net.minecraftforge.fml.common.network.simpleimpl.MessageContext;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
public class MessageGridItemUpdate implements IMessage, IMessageHandler<MessageGridItemUpdate, IMessage> {
private INetworkMaster network;
@@ -46,7 +47,7 @@ public class MessageGridItemUpdate implements IMessage, IMessageHandler<MessageG
int size = network.getItemStorageCache().getList().getStacks().size();
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);

View File

@@ -1,5 +1,7 @@
package com.raoulvdberge.refinedstorage.proxy;
import javax.annotation.Nonnull;
import com.google.common.base.Preconditions;
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
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.CapabilityManager;
import javax.annotation.Nonnull;
public class CapabilityNetworkNodeProxy {
@CapabilityInject(INetworkNodeProxy.class)
public static Capability<INetworkNodeProxy> NETWORK_NODE_PROXY_CAPABILITY = null;

View File

@@ -1,6 +1,5 @@
package com.raoulvdberge.refinedstorage.tile;
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeConstructor;
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
import com.raoulvdberge.refinedstorage.tile.config.IType;

View File

@@ -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;
}
@@ -221,8 +221,8 @@ public class TileController extends TileBase implements INetworkMaster, IRedston
public void update() {
if (!getWorld().isRemote) {
if (canRun()) {
Collections.sort(itemStorage.getStorages(), STORAGE_COMPARATOR);
Collections.sort(fluidStorage.getStorages(), STORAGE_COMPARATOR);
itemStorage.getStorages().sort(STORAGE_COMPARATOR);
fluidStorage.getStorages().sort(STORAGE_COMPARATOR);
craftingManager.update();

View File

@@ -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
public Boolean getValue(TileExporter tile) {
return tile.getNode().isCraftOnly();

View File

@@ -1,6 +1,5 @@
package com.raoulvdberge.refinedstorage.tile;
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeInterface;
import com.raoulvdberge.refinedstorage.tile.config.IComparable;
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;

View File

@@ -1,6 +1,5 @@
package com.raoulvdberge.refinedstorage.tile;
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeNetworkTransmitter;
import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer;
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;

View File

@@ -20,7 +20,7 @@ import net.minecraftforge.items.IItemHandler;
import javax.annotation.Nonnull;
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();
private NBTTagCompound legacyTagToRead;
@@ -121,7 +121,7 @@ public abstract class TileNode<T extends NetworkNode> extends TileBase implement
@Override
@Nonnull
@SuppressWarnings("unchecked")
public T getNode() {
public N getNode() {
INetworkNodeProvider provider = API.instance().getNetworkNodeProvider(getWorld().provider.getDimension());
INetworkNode node = provider.getNode(pos);
@@ -130,10 +130,10 @@ public abstract class TileNode<T extends NetworkNode> extends TileBase implement
provider.setNode(pos, node = createNode());
}
return (T) node;
return (N) node;
}
public abstract T createNode();
public abstract N createNode();
@Override
public boolean hasCapability(Capability<?> capability, @Nullable EnumFacing side) {

View File

@@ -1,6 +1,5 @@
package com.raoulvdberge.refinedstorage.tile;
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
import com.raoulvdberge.refinedstorage.api.storage.AccessType;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeStorage;
import com.raoulvdberge.refinedstorage.apiimpl.storage.StorageItemNBT;

View File

@@ -1,6 +1,5 @@
package com.raoulvdberge.refinedstorage.tile;
import com.raoulvdberge.refinedstorage.api.network.INetworkNode;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeWirelessTransmitter;
import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer;
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;

View File

@@ -1,6 +1,5 @@
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.IReaderWriterHandler;
import com.raoulvdberge.refinedstorage.api.network.readerwriter.IWriter;