This commit is contained in:
Raoul Van den Berge
2016-08-05 17:04:13 +02:00
parent 37cbdffb09
commit 0ca9e5fb14
39 changed files with 98 additions and 125 deletions

View File

@@ -44,7 +44,7 @@ public final class RefinedStorage {
} }
}; };
public List<ClientStack> items = new ArrayList<ClientStack>(); public List<ClientStack> items = new ArrayList<>();
public int controllerBaseUsage; public int controllerBaseUsage;
public int cableUsage; public int cableUsage;

View File

@@ -26,7 +26,7 @@ public class BasicCraftingTask implements ICraftingTask {
private boolean satisfied[]; private boolean satisfied[];
private boolean checked[]; private boolean checked[];
private boolean childTasks[]; private boolean childTasks[];
private List<ItemStack> itemsTook = new ArrayList<ItemStack>(); private List<ItemStack> itemsTook = new ArrayList<>();
private boolean updatedOnce; private boolean updatedOnce;
public BasicCraftingTask(ICraftingPattern pattern) { public BasicCraftingTask(ICraftingPattern pattern) {

View File

@@ -15,8 +15,8 @@ import java.util.*;
public class NetworkNodeGraph implements INetworkNodeGraph { public class NetworkNodeGraph implements INetworkNodeGraph {
private TileController controller; private TileController controller;
private List<INetworkNode> nodes = new ArrayList<INetworkNode>(); private List<INetworkNode> nodes = new ArrayList<>();
private Set<Integer> nodeHashes = new HashSet<Integer>(); private Set<Integer> nodeHashes = new HashSet<>();
public NetworkNodeGraph(TileController controller) { public NetworkNodeGraph(TileController controller) {
this.controller = controller; this.controller = controller;
@@ -40,11 +40,11 @@ public class NetworkNodeGraph implements INetworkNodeGraph {
World world = getWorld(); World world = getWorld();
List<INetworkNode> newNodes = new ArrayList<INetworkNode>(); List<INetworkNode> newNodes = new ArrayList<>();
Set<Integer> newNodeHashes = new HashSet<Integer>(); Set<Integer> newNodeHashes = new HashSet<>();
Set<BlockPos> checked = new HashSet<BlockPos>(); Set<BlockPos> checked = new HashSet<>();
Queue<BlockPos> toCheck = new ArrayDeque<BlockPos>(); Queue<BlockPos> toCheck = new ArrayDeque<>();
checked.add(start); checked.add(start);
toCheck.add(start); toCheck.add(start);
@@ -110,8 +110,8 @@ public class NetworkNodeGraph implements INetworkNodeGraph {
} }
} }
List<INetworkNode> oldNodes = new ArrayList<INetworkNode>(nodes); List<INetworkNode> oldNodes = new ArrayList<>(nodes);
Set<Integer> oldNodeHashes = new HashSet<Integer>(nodeHashes); Set<Integer> oldNodeHashes = new HashSet<>(nodeHashes);
this.nodes = newNodes; this.nodes = newNodes;
this.nodeHashes = newNodeHashes; this.nodeHashes = newNodeHashes;

View File

@@ -20,8 +20,8 @@ public class WirelessGridHandler implements IWirelessGridHandler {
private INetworkMaster network; private INetworkMaster network;
private List<IWirelessGridConsumer> consumers = new ArrayList<IWirelessGridConsumer>(); private List<IWirelessGridConsumer> consumers = new ArrayList<>();
private List<IWirelessGridConsumer> consumersToRemove = new ArrayList<IWirelessGridConsumer>(); private List<IWirelessGridConsumer> consumersToRemove = new ArrayList<>();
public WirelessGridHandler(INetworkMaster network) { public WirelessGridHandler(INetworkMaster network) {
this.network = network; this.network = network;

View File

@@ -11,7 +11,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
public class SoldererRegistry implements ISoldererRegistry { public class SoldererRegistry implements ISoldererRegistry {
private List<ISoldererRecipe> recipes = new ArrayList<ISoldererRecipe>(); private List<ISoldererRecipe> recipes = new ArrayList<>();
@Override @Override
public void addRecipe(@Nonnull ISoldererRecipe recipe) { public void addRecipe(@Nonnull ISoldererRecipe recipe) {

View File

@@ -6,7 +6,6 @@ import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import refinedstorage.api.autocrafting.ICraftingPattern; import refinedstorage.api.autocrafting.ICraftingPattern;
import refinedstorage.api.network.INetworkMaster; import refinedstorage.api.network.INetworkMaster;
import refinedstorage.api.network.INetworkNode;
import refinedstorage.api.network.NetworkUtils; import refinedstorage.api.network.NetworkUtils;
import refinedstorage.api.storage.CompareUtils; import refinedstorage.api.storage.CompareUtils;
import refinedstorage.api.storage.IGroupedStorage; import refinedstorage.api.storage.IGroupedStorage;
@@ -21,7 +20,7 @@ import java.util.List;
public class GroupedStorage implements IGroupedStorage { public class GroupedStorage implements IGroupedStorage {
private INetworkMaster network; private INetworkMaster network;
private List<IStorage> storages = new ArrayList<IStorage>(); private List<IStorage> storages = new ArrayList<>();
private Multimap<Item, ItemStack> stacks = ArrayListMultimap.create(); private Multimap<Item, ItemStack> stacks = ArrayListMultimap.create();
public GroupedStorage(INetworkMaster network) { public GroupedStorage(INetworkMaster network) {
@@ -32,11 +31,9 @@ public class GroupedStorage implements IGroupedStorage {
public void rebuild() { public void rebuild() {
storages.clear(); storages.clear();
for (INetworkNode node : network.getNodeGraph().all()) { network.getNodeGraph().all().stream()
if (node.canUpdate() && node instanceof IStorageProvider) { .filter(node -> node.canUpdate() && node instanceof IStorageProvider)
((IStorageProvider) node).addStorages(storages); .forEach(node -> ((IStorageProvider) node).addStorages(storages));
}
}
stacks.clear(); stacks.clear();

View File

@@ -38,7 +38,7 @@ public abstract class NBTStorage implements IStorage {
private int capacity; private int capacity;
private TileEntity tile; private TileEntity tile;
private List<ItemStack> stacks = new ArrayList<ItemStack>(); private List<ItemStack> stacks = new ArrayList<>();
/** /**
* @param tag The NBT tag we are reading from and writing the amount stored to, has to be initialized with {@link NBTStorage#createNBT()} if it doesn't exist yet * @param tag The NBT tag we are reading from and writing the amount stored to, has to be initialized with {@link NBTStorage#createNBT()} if it doesn't exist yet

View File

@@ -36,7 +36,7 @@ public class BlockController extends BlockBase {
} }
@Override @Override
public void getSubBlocks(Item item, CreativeTabs tab, List subItems) { public void getSubBlocks(Item item, CreativeTabs tab, List<ItemStack> subItems) {
for (int i = 0; i <= 1; i++) { for (int i = 0; i <= 1; i++) {
subItems.add(ItemBlockController.createStackWithNBT(new ItemStack(item, 1, i))); subItems.add(ItemBlockController.createStackWithNBT(new ItemStack(item, 1, i)));
} }
@@ -122,7 +122,7 @@ public class BlockController extends BlockBase {
@Override @Override
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) { public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
List<ItemStack> drops = new ArrayList<ItemStack>(); List<ItemStack> drops = new ArrayList<>();
ItemStack stack = new ItemStack(RefinedStorageBlocks.CONTROLLER, 1, RefinedStorageBlocks.CONTROLLER.getMetaFromState(state)); ItemStack stack = new ItemStack(RefinedStorageBlocks.CONTROLLER, 1, RefinedStorageBlocks.CONTROLLER.getMetaFromState(state));

View File

@@ -32,7 +32,7 @@ public class BlockGrid extends BlockNode {
} }
@Override @Override
public void getSubBlocks(Item item, CreativeTabs tab, List subItems) { public void getSubBlocks(Item item, CreativeTabs tab, List<ItemStack> subItems) {
for (int i = 0; i <= 2; i++) { for (int i = 0; i <= 2; i++) {
subItems.add(new ItemStack(item, 1, i)); subItems.add(new ItemStack(item, 1, i));
} }

View File

@@ -34,7 +34,7 @@ public class BlockStorage extends BlockNode {
} }
@Override @Override
public void getSubBlocks(Item item, CreativeTabs tab, List subItems) { public void getSubBlocks(Item item, CreativeTabs tab, List<ItemStack> subItems) {
for (int i = 0; i <= 4; ++i) { for (int i = 0; i <= 4; ++i) {
subItems.add(ItemBlockStorage.initNBT(new ItemStack(item, 1, i))); subItems.add(ItemBlockStorage.initNBT(new ItemStack(item, 1, i)));
} }
@@ -91,7 +91,7 @@ public class BlockStorage extends BlockNode {
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) { public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
TileStorage storage = (TileStorage) world.getTileEntity(pos); TileStorage storage = (TileStorage) world.getTileEntity(pos);
List<ItemStack> drops = new ArrayList<ItemStack>(); List<ItemStack> drops = new ArrayList<>();
ItemStack stack = new ItemStack(RefinedStorageBlocks.STORAGE, 1, RefinedStorageBlocks.STORAGE.getMetaFromState(state)); ItemStack stack = new ItemStack(RefinedStorageBlocks.STORAGE, 1, RefinedStorageBlocks.STORAGE.getMetaFromState(state));
stack.setTagCompound(new NBTTagCompound()); stack.setTagCompound(new NBTTagCompound());

View File

@@ -67,9 +67,7 @@ public class SlotSpecimen extends SlotItemHandler {
Field f = ((ItemBlockSpecial) item).getClass().getDeclaredField("block"); Field f = ((ItemBlockSpecial) item).getClass().getDeclaredField("block");
f.setAccessible(true); f.setAccessible(true);
return ((Block) f.get(item)).getDefaultState(); return ((Block) f.get(item)).getDefaultState();
} catch (IllegalAccessException e) { } catch (IllegalAccessException | NoSuchFieldException e) {
// NO OP
} catch (NoSuchFieldException e) {
// NO OP // NO OP
} }
} else if (item instanceof ItemBlock) { } else if (item instanceof ItemBlock) {

View File

@@ -21,7 +21,7 @@ public abstract class GuiBase extends GuiContainer {
protected static final int SIDE_BUTTON_WIDTH = 20; protected static final int SIDE_BUTTON_WIDTH = 20;
protected static final int SIDE_BUTTON_HEIGHT = 20; protected static final int SIDE_BUTTON_HEIGHT = 20;
private List<SideButton> sideButtons = new ArrayList<SideButton>(); private List<SideButton> sideButtons = new ArrayList<>();
private int lastButtonId = 0; private int lastButtonId = 0;
private int lastSideButtonY = 6; private int lastSideButtonY = 6;
@@ -136,11 +136,7 @@ public abstract class GuiBase extends GuiContainer {
protected void actionPerformed(GuiButton button) throws IOException { protected void actionPerformed(GuiButton button) throws IOException {
super.actionPerformed(button); super.actionPerformed(button);
for (SideButton sideButton : sideButtons) { sideButtons.stream().filter(b -> b.getId() == button.id).findFirst().ifPresent(s -> s.actionPerformed());
if (sideButton.getId() == button.id) {
sideButton.actionPerformed();
}
}
} }
public GuiButton addButton(int x, int y, int w, int h) { public GuiButton addButton(int x, int y, int w, int h) {

View File

@@ -40,7 +40,7 @@ public class GuiGrid extends GuiBase {
public static GuiTextField SEARCH_FIELD; public static GuiTextField SEARCH_FIELD;
private ContainerGrid container; private ContainerGrid container;
private List<ClientStack> items = new ArrayList<ClientStack>(); private List<ClientStack> items = new ArrayList<>();
private IGrid grid; private IGrid grid;
private int slotNumber; private int slotNumber;

View File

@@ -9,10 +9,10 @@ import java.util.List;
public final class RecipeMakerSolderer { public final class RecipeMakerSolderer {
public static List<RecipeWrapperSolderer> getRecipes() { public static List<RecipeWrapperSolderer> getRecipes() {
List<RecipeWrapperSolderer> recipes = new ArrayList<RecipeWrapperSolderer>(); List<RecipeWrapperSolderer> recipes = new ArrayList<>();
for (ISoldererRecipe recipe : RefinedStorageAPI.SOLDERER_REGISTRY.getRecipes()) { for (ISoldererRecipe recipe : RefinedStorageAPI.SOLDERER_REGISTRY.getRecipes()) {
List<ItemStack> inputs = new ArrayList<ItemStack>(); List<ItemStack> inputs = new ArrayList<>();
inputs.add(recipe.getRow(0)); inputs.add(recipe.getRow(0));
inputs.add(recipe.getRow(1)); inputs.add(recipe.getRow(1));

View File

@@ -55,10 +55,10 @@ public class ItemBlockStorage extends ItemBlockBase {
InventoryHelper.spawnItemStack(world, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), processor); InventoryHelper.spawnItemStack(world, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), processor);
} }
return new ActionResult(EnumActionResult.SUCCESS, new ItemStack(RefinedStorageBlocks.MACHINE_CASING)); return new ActionResult<>(EnumActionResult.SUCCESS, new ItemStack(RefinedStorageBlocks.MACHINE_CASING));
} }
return new ActionResult(EnumActionResult.PASS, stack); return new ActionResult<>(EnumActionResult.PASS, stack);
} }
private static boolean isValid(ItemStack stack) { private static boolean isValid(ItemStack stack) {

View File

@@ -18,7 +18,7 @@ public class ItemCore extends ItemBase {
} }
@Override @Override
public void getSubItems(Item item, CreativeTabs tab, List list) { public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> list) {
for (int i = 0; i < 2; ++i) { for (int i = 0; i < 2; ++i) {
list.add(new ItemStack(item, 1, i)); list.add(new ItemStack(item, 1, i));
} }

View File

@@ -28,15 +28,15 @@ public class ItemGridFilter extends ItemBase {
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) { public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) {
if (!world.isRemote) { if (!world.isRemote) {
if (player.isSneaking()) { if (player.isSneaking()) {
return new ActionResult(EnumActionResult.SUCCESS, new ItemStack(RefinedStorageItems.GRID_FILTER)); return new ActionResult<>(EnumActionResult.SUCCESS, new ItemStack(RefinedStorageItems.GRID_FILTER));
} }
player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.GRID_FILTER, world, hand.ordinal(), 0, 0); player.openGui(RefinedStorage.INSTANCE, RefinedStorageGui.GRID_FILTER, world, hand.ordinal(), 0, 0);
return new ActionResult(EnumActionResult.SUCCESS, stack); return new ActionResult<>(EnumActionResult.SUCCESS, stack);
} }
return new ActionResult(EnumActionResult.PASS, stack); return new ActionResult<>(EnumActionResult.PASS, stack);
} }
@Override @Override

View File

@@ -45,7 +45,7 @@ public class ItemPattern extends ItemBase {
} }
public static void combineItems(List<String> tooltip, ItemStack... stacks) { public static void combineItems(List<String> tooltip, ItemStack... stacks) {
Set<Integer> combinedIndices = new HashSet<Integer>(); Set<Integer> combinedIndices = new HashSet<>();
for (int i = 0; i < stacks.length; ++i) { for (int i = 0; i < stacks.length; ++i) {
if (stacks[i] != null && !combinedIndices.contains(i)) { if (stacks[i] != null && !combinedIndices.contains(i)) {
@@ -73,10 +73,10 @@ public class ItemPattern extends ItemBase {
@Override @Override
public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) { public ActionResult<ItemStack> onItemRightClick(ItemStack stack, World world, EntityPlayer player, EnumHand hand) {
if (!world.isRemote && player.isSneaking()) { if (!world.isRemote && player.isSneaking()) {
return new ActionResult(EnumActionResult.SUCCESS, new ItemStack(RefinedStorageItems.PATTERN)); return new ActionResult<>(EnumActionResult.SUCCESS, new ItemStack(RefinedStorageItems.PATTERN));
} }
return new ActionResult(EnumActionResult.PASS, stack); return new ActionResult<>(EnumActionResult.PASS, stack);
} }
public static void addInput(ItemStack pattern, ItemStack stack) { public static void addInput(ItemStack pattern, ItemStack stack) {

View File

@@ -23,7 +23,7 @@ public class ItemProcessor extends ItemBase {
} }
@Override @Override
public void getSubItems(Item item, CreativeTabs tab, List list) { public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> list) {
for (int i = 0; i <= 6; ++i) { for (int i = 0; i <= 6; ++i) {
list.add(new ItemStack(item, 1, i)); list.add(new ItemStack(item, 1, i));
} }

View File

@@ -39,7 +39,7 @@ public class ItemStorageDisk extends ItemBase {
} }
@Override @Override
public void getSubItems(Item item, CreativeTabs tab, List list) { public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> list) {
for (int i = 0; i < 5; ++i) { for (int i = 0; i < 5; ++i) {
list.add(NBTStorage.createStackWithNBT(new ItemStack(item, 1, i))); list.add(NBTStorage.createStackWithNBT(new ItemStack(item, 1, i)));
} }
@@ -75,7 +75,7 @@ public class ItemStorageDisk extends ItemBase {
Item item = it.next(); Item item = it.next();
if (item != RefinedStorageItems.STORAGE_DISK) { if (item != RefinedStorageItems.STORAGE_DISK) {
List<ItemStack> stacks = new ArrayList<ItemStack>(); List<ItemStack> stacks = new ArrayList<>();
item.getSubItems(item, CreativeTabs.INVENTORY, stacks); item.getSubItems(item, CreativeTabs.INVENTORY, stacks);
@@ -113,10 +113,10 @@ public class ItemStorageDisk extends ItemBase {
InventoryHelper.spawnItemStack(world, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), storagePart); InventoryHelper.spawnItemStack(world, player.getPosition().getX(), player.getPosition().getY(), player.getPosition().getZ(), storagePart);
} }
return new ActionResult(EnumActionResult.SUCCESS, new ItemStack(RefinedStorageItems.STORAGE_HOUSING)); return new ActionResult<>(EnumActionResult.SUCCESS, new ItemStack(RefinedStorageItems.STORAGE_HOUSING));
} }
return new ActionResult(EnumActionResult.PASS, disk); return new ActionResult<>(EnumActionResult.PASS, disk);
} }
@Override @Override

View File

@@ -20,7 +20,7 @@ public class ItemStoragePart extends ItemBase {
} }
@Override @Override
public void getSubItems(Item item, CreativeTabs tab, List list) { public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> list) {
for (int i = 0; i <= 3; ++i) { for (int i = 0; i <= 3; ++i) {
list.add(new ItemStack(item, 1, i)); list.add(new ItemStack(item, 1, i));
} }

View File

@@ -25,7 +25,7 @@ public class ItemUpgrade extends ItemBase {
} }
@Override @Override
public void getSubItems(Item item, CreativeTabs tab, List list) { public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> list) {
for (int i = 0; i <= 5; ++i) { for (int i = 0; i <= 5; ++i) {
list.add(new ItemStack(item, 1, i)); list.add(new ItemStack(item, 1, i));
} }

View File

@@ -9,7 +9,6 @@ import net.minecraft.client.resources.I18n;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.IItemPropertyGetter;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
@@ -48,18 +47,12 @@ public class ItemWirelessGrid extends ItemEnergyContainer implements ISpecialEle
public ItemWirelessGrid() { public ItemWirelessGrid() {
super(3200); super(3200);
addPropertyOverride(new ResourceLocation("connected"), new IItemPropertyGetter() {
@Override
public float apply(ItemStack stack, World world, EntityLivingBase entity) {
return (entity != null && isValid(stack) && getDimensionId(stack) == entity.dimension) ? 1.0f : 0.0f;
}
});
setRegistryName(RefinedStorage.ID, "wireless_grid"); setRegistryName(RefinedStorage.ID, "wireless_grid");
setMaxDamage(3200); setMaxDamage(3200);
setMaxStackSize(1); setMaxStackSize(1);
setHasSubtypes(true); setHasSubtypes(true);
setCreativeTab(RefinedStorage.INSTANCE.tab); setCreativeTab(RefinedStorage.INSTANCE.tab);
addPropertyOverride(new ResourceLocation("connected"), (stack, world, entity) -> (entity != null && isValid(stack) && getDimensionId(stack) == entity.dimension) ? 1.0f : 0.0f);
} }
@Override @Override
@@ -93,7 +86,7 @@ public class ItemWirelessGrid extends ItemEnergyContainer implements ISpecialEle
} }
@Override @Override
public void getSubItems(Item item, CreativeTabs tab, List list) { public void getSubItems(Item item, CreativeTabs tab, List<ItemStack> list) {
list.add(new ItemStack(item, 1, TYPE_NORMAL)); list.add(new ItemStack(item, 1, TYPE_NORMAL));
ItemStack fullyCharged = new ItemStack(item, 1, TYPE_NORMAL); ItemStack fullyCharged = new ItemStack(item, 1, TYPE_NORMAL);
@@ -149,7 +142,7 @@ public class ItemWirelessGrid extends ItemEnergyContainer implements ISpecialEle
if (tile instanceof TileController) { if (tile instanceof TileController) {
if (((TileController) tile).getWirelessGridHandler().onOpen(player, hand)) { if (((TileController) tile).getWirelessGridHandler().onOpen(player, hand)) {
return new ActionResult(EnumActionResult.SUCCESS, stack); return new ActionResult<>(EnumActionResult.SUCCESS, stack);
} else { } else {
player.addChatComponentMessage(new TextComponentTranslation("misc.refinedstorage:wireless_grid.out_of_range")); player.addChatComponentMessage(new TextComponentTranslation("misc.refinedstorage:wireless_grid.out_of_range"));
} }
@@ -158,7 +151,7 @@ public class ItemWirelessGrid extends ItemEnergyContainer implements ISpecialEle
} }
} }
return new ActionResult(EnumActionResult.PASS, stack); return new ActionResult<>(EnumActionResult.PASS, stack);
} }
public static int getDimensionId(ItemStack stack) { public static int getDimensionId(ItemStack stack) {

View File

@@ -14,7 +14,7 @@ import java.util.List;
public class MessageGridUpdate implements IMessage, IMessageHandler<MessageGridUpdate, IMessage> { public class MessageGridUpdate implements IMessage, IMessageHandler<MessageGridUpdate, IMessage> {
private INetworkMaster network; private INetworkMaster network;
private List<ClientStack> items = new ArrayList<ClientStack>(); private List<ClientStack> items = new ArrayList<>();
public MessageGridUpdate() { public MessageGridUpdate() {
} }

View File

@@ -10,12 +10,7 @@ public abstract class MessageHandlerPlayerToServer<T extends IMessage> implement
public IMessage onMessage(final T message, MessageContext context) { public IMessage onMessage(final T message, MessageContext context) {
final EntityPlayerMP player = context.getServerHandler().playerEntity; final EntityPlayerMP player = context.getServerHandler().playerEntity;
player.getServerWorld().addScheduledTask(new Runnable() { player.getServerWorld().addScheduledTask(() -> handle(message, player));
@Override
public void run() {
handle(message, player);
}
});
return null; return null;
} }

View File

@@ -32,7 +32,7 @@ public class MessageTileDataParameter implements IMessage, IMessageHandler<Messa
if (parameter != null) { if (parameter != null) {
try { try {
parameter.setValue(parameter.getSerializer().read(new PacketBuffer(buf))); parameter.setValue(parameter.getSerializer().read(new PacketBuffer(buf)));
} catch (IOException e) { } catch (IOException ignored) {
} }
} }
} }

View File

@@ -33,7 +33,7 @@ public class MessageTileDataParameterUpdate extends MessageHandlerPlayerToServer
if (parameter != null) { if (parameter != null) {
try { try {
value = parameter.getSerializer().read(new PacketBuffer(buf)); value = parameter.getSerializer().read(new PacketBuffer(buf));
} catch (IOException e) { } catch (IOException ignored) {
} }
} }
} }

View File

@@ -102,12 +102,12 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
private INetworkNodeGraph nodeGraph = new NetworkNodeGraph(this); private INetworkNodeGraph nodeGraph = new NetworkNodeGraph(this);
private IGroupedStorage storage = new GroupedStorage(this); private IGroupedStorage storage = new GroupedStorage(this);
private List<ICraftingPattern> patterns = new ArrayList<ICraftingPattern>(); private List<ICraftingPattern> patterns = new ArrayList<>();
private Stack<ICraftingTask> craftingTasks = new Stack<ICraftingTask>(); private Stack<ICraftingTask> craftingTasks = new Stack<>();
private List<ICraftingTask> craftingTasksToAddAsLast = new ArrayList<ICraftingTask>(); private List<ICraftingTask> craftingTasksToAddAsLast = new ArrayList<>();
private List<ICraftingTask> craftingTasksToAdd = new ArrayList<ICraftingTask>(); private List<ICraftingTask> craftingTasksToAdd = new ArrayList<>();
private List<ICraftingTask> craftingTasksToCancel = new ArrayList<ICraftingTask>(); private List<ICraftingTask> craftingTasksToCancel = new ArrayList<>();
private EnergyStorage energy = new EnergyStorage(RefinedStorage.INSTANCE.controllerCapacity); private EnergyStorage energy = new EnergyStorage(RefinedStorage.INSTANCE.controllerCapacity);
private IControllerEnergyIC2 energyEU; private IControllerEnergyIC2 energyEU;
@@ -122,7 +122,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
private RedstoneMode redstoneMode = RedstoneMode.IGNORE; private RedstoneMode redstoneMode = RedstoneMode.IGNORE;
private List<ClientNode> clientNodes = new ArrayList<ClientNode>(); private List<ClientNode> clientNodes = new ArrayList<>();
public TileController() { public TileController() {
dataManager.addWatchedParameter(REDSTONE_MODE); dataManager.addWatchedParameter(REDSTONE_MODE);
@@ -318,7 +318,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
@Override @Override
public List<ICraftingPattern> getPatterns(ItemStack pattern, int flags) { public List<ICraftingPattern> getPatterns(ItemStack pattern, int flags) {
List<ICraftingPattern> patterns = new ArrayList<ICraftingPattern>(); List<ICraftingPattern> patterns = new ArrayList<>();
for (ICraftingPattern craftingPattern : getPatterns()) { for (ICraftingPattern craftingPattern : getPatterns()) {
for (ItemStack output : craftingPattern.getOutputs()) { for (ItemStack output : craftingPattern.getOutputs()) {
@@ -391,11 +391,9 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
@Override @Override
public void sendStorageToClient() { public void sendStorageToClient() {
for (EntityPlayer player : worldObj.getMinecraftServer().getPlayerList().getPlayerList()) { worldObj.getMinecraftServer().getPlayerList().getPlayerList().stream().filter(player -> isWatchingGrid(player)).forEach(player -> {
if (isWatchingGrid(player)) { sendStorageToClient(player);
sendStorageToClient((EntityPlayerMP) player); });
}
}
} }
@Override @Override
@@ -405,11 +403,9 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
@Override @Override
public void sendStorageDeltaToClient(ItemStack stack, int delta) { public void sendStorageDeltaToClient(ItemStack stack, int delta) {
for (EntityPlayer player : worldObj.getMinecraftServer().getPlayerList().getPlayerList()) { worldObj.getMinecraftServer().getPlayerList().getPlayerList().stream().filter(player -> isWatchingGrid(player)).forEach(player -> {
if (isWatchingGrid(player)) { RefinedStorage.INSTANCE.network.sendTo(new MessageGridDelta(this, stack, delta), player);
RefinedStorage.INSTANCE.network.sendTo(new MessageGridDelta(this, stack, delta), (EntityPlayerMP) player); });
}
}
} }
private boolean isWatchingGrid(EntityPlayer player) { private boolean isWatchingGrid(EntityPlayer player) {

View File

@@ -9,7 +9,6 @@ import net.minecraftforge.items.wrapper.CombinedInvWrapper;
import refinedstorage.RefinedStorage; import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageItems; import refinedstorage.RefinedStorageItems;
import refinedstorage.api.autocrafting.ICraftingPatternContainer; import refinedstorage.api.autocrafting.ICraftingPatternContainer;
import refinedstorage.api.autocrafting.ICraftingTask;
import refinedstorage.api.network.INetworkMaster; import refinedstorage.api.network.INetworkMaster;
import refinedstorage.inventory.ItemHandlerBasic; import refinedstorage.inventory.ItemHandlerBasic;
import refinedstorage.inventory.ItemHandlerUpgrade; import refinedstorage.inventory.ItemHandlerUpgrade;
@@ -50,11 +49,9 @@ public class TileCrafter extends TileNode implements ICraftingPatternContainer {
@Override @Override
public void onConnectionChange(INetworkMaster network, boolean state) { public void onConnectionChange(INetworkMaster network, boolean state) {
if (!state) { if (!state) {
for (ICraftingTask task : network.getCraftingTasks()) { network.getCraftingTasks().stream()
if (task.getPattern().getContainerPosition().equals(pos)) { .filter(task -> task.getPattern().getContainerPosition().equals(pos))
network.cancelCraftingTask(task); .forEach(network::cancelCraftingTask);
}
}
} }
network.rebuildPatterns(); network.rebuildPatterns();

View File

@@ -8,7 +8,7 @@ import java.util.List;
// @TODO: Make this work! // @TODO: Make this work!
public class TileCraftingMonitor extends TileNode { public class TileCraftingMonitor extends TileNode {
private List<ClientSideCraftingTask> tasks = new ArrayList<ClientSideCraftingTask>(); private List<ClientSideCraftingTask> tasks = new ArrayList<>();
@Override @Override
public int getEnergyUsage() { public int getEnergyUsage() {

View File

@@ -13,7 +13,7 @@ import refinedstorage.tile.config.RedstoneMode;
import refinedstorage.tile.data.TileDataParameter; import refinedstorage.tile.data.TileDataParameter;
public abstract class TileNode extends TileBase implements INetworkNode, IRedstoneConfigurable { public abstract class TileNode extends TileBase implements INetworkNode, IRedstoneConfigurable {
public static final TileDataParameter REDSTONE_MODE = RedstoneMode.createParameter(); public static final TileDataParameter<Integer> REDSTONE_MODE = RedstoneMode.createParameter();
private static final String NBT_CONNECTED = "Connected"; private static final String NBT_CONNECTED = "Connected";

View File

@@ -251,7 +251,7 @@ public class TileStorage extends TileNode implements IStorageProvider, IStorageG
@Override @Override
public int getStored() { public int getStored() {
return (int) STORED.getValue(); return STORED.getValue();
} }
@Override @Override

View File

@@ -7,10 +7,13 @@ import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.fml.common.FMLCommonHandler; import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.Side;
import refinedstorage.gui.GuiStorage; import refinedstorage.gui.GuiStorage;
import refinedstorage.tile.data.*; import refinedstorage.tile.data.ITileDataConsumer;
import refinedstorage.tile.data.ITileDataProducer;
import refinedstorage.tile.data.TileDataManager;
import refinedstorage.tile.data.TileDataParameter;
public interface IPrioritizable { public interface IPrioritizable {
static <T extends TileEntity> TileDataParameter createParameter() { static <T extends TileEntity> TileDataParameter<Integer> createParameter() {
return TileDataManager.createParameter(DataSerializers.VARINT, new ITileDataProducer<Integer, T>() { return TileDataManager.createParameter(DataSerializers.VARINT, new ITileDataProducer<Integer, T>() {
@Override @Override
public Integer getValue(T tile) { public Integer getValue(T tile) {
@@ -21,15 +24,12 @@ public interface IPrioritizable {
public void setValue(T tile, Integer value) { public void setValue(T tile, Integer value) {
((IPrioritizable) tile).setPriority(value); ((IPrioritizable) tile).setPriority(value);
} }
}, new ITileDataListener<Integer>() { }, parameter -> {
@Override if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) {
public void onChanged(TileDataParameter<Integer> parameter) { GuiScreen gui = Minecraft.getMinecraft().currentScreen;
if (FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT) {
GuiScreen gui = Minecraft.getMinecraft().currentScreen;
if (gui instanceof GuiStorage) { if (gui instanceof GuiStorage) {
((GuiStorage) gui).PRIORITY.setText(String.valueOf(parameter.getValue())); ((GuiStorage) gui).PRIORITY.setText(String.valueOf(parameter.getValue()));
}
} }
} }
}); });

View File

@@ -17,12 +17,12 @@ import java.util.Map;
public class TileDataManager { public class TileDataManager {
private static int PARAMETER_ID = 0; private static int PARAMETER_ID = 0;
private static Map<Integer, TileDataParameter> PARAMETER_MAP = new HashMap<Integer, TileDataParameter>(); private static Map<Integer, TileDataParameter> PARAMETER_MAP = new HashMap<>();
private List<TileDataParameter> parameters = new ArrayList<TileDataParameter>(); private List<TileDataParameter> parameters = new ArrayList<>();
private List<TileDataParameter> watchedParameters = new ArrayList<TileDataParameter>(); private List<TileDataParameter> watchedParameters = new ArrayList<>();
private List<Object> watchedParametersCache = new ArrayList<Object>(); private List<Object> watchedParametersCache = new ArrayList<>();
public static <T> TileDataParameter<T> createParameter(DataSerializer<T> serializer, ITileDataProducer producer) { public static <T> TileDataParameter<T> createParameter(DataSerializer<T> serializer, ITileDataProducer producer) {
return createParameter(serializer, producer, null); return createParameter(serializer, producer, null);

View File

@@ -1,16 +1,17 @@
package refinedstorage.tile.data; package refinedstorage.tile.data;
import net.minecraft.network.datasync.DataSerializer; import net.minecraft.network.datasync.DataSerializer;
import net.minecraft.tileentity.TileEntity;
public class TileDataParameter<T> { public class TileDataParameter<T> {
private int id; private int id;
private DataSerializer<T> serializer; private DataSerializer<T> serializer;
private ITileDataProducer valueProducer; private ITileDataProducer<T, ? extends TileEntity> valueProducer;
private ITileDataConsumer valueConsumer; private ITileDataConsumer<T, ? extends TileEntity> valueConsumer;
private ITileDataListener listener; private ITileDataListener<T> listener;
private T value; private T value;
public TileDataParameter(int id, DataSerializer<T> serializer, ITileDataProducer producer, ITileDataConsumer consumer, ITileDataListener listener) { public TileDataParameter(int id, DataSerializer<T> serializer, ITileDataProducer<T, ? extends TileEntity> producer, ITileDataConsumer<T, ? extends TileEntity> consumer, ITileDataListener<T> listener) {
this.id = id; this.id = id;
this.serializer = serializer; this.serializer = serializer;
this.valueProducer = producer; this.valueProducer = producer;
@@ -26,11 +27,11 @@ public class TileDataParameter<T> {
return serializer; return serializer;
} }
public ITileDataProducer getValueProducer() { public ITileDataProducer<T, ? extends TileEntity> getValueProducer() {
return valueProducer; return valueProducer;
} }
public ITileDataConsumer getValueConsumer() { public ITileDataConsumer<T, ? extends TileEntity> getValueConsumer() {
return valueConsumer; return valueConsumer;
} }

View File

@@ -25,7 +25,7 @@ public class ItemHandlerStorage extends ExternalStorage {
@Override @Override
public List<ItemStack> getItems() { public List<ItemStack> getItems() {
List<ItemStack> items = new ArrayList<ItemStack>(); List<ItemStack> items = new ArrayList<>();
for (int i = 0; i < handler.getSlots(); ++i) { for (int i = 0; i < handler.getSlots(); ++i) {
if (handler.getStackInSlot(i) != null && handler.getStackInSlot(i).getItem() != null) { if (handler.getStackInSlot(i) != null && handler.getStackInSlot(i).getItem() != null) {

View File

@@ -53,7 +53,7 @@ public class TileExternalStorage extends TileNode implements IStorageProvider, I
private int compare = 0; private int compare = 0;
private int mode = IFilterable.WHITELIST; private int mode = IFilterable.WHITELIST;
private List<ExternalStorage> storages = new ArrayList<ExternalStorage>(); private List<ExternalStorage> storages = new ArrayList<>();
private int lastDrawerCount; private int lastDrawerCount;
public TileExternalStorage() { public TileExternalStorage() {

View File

@@ -141,7 +141,7 @@ public class TileGrid extends TileNode implements IGrid {
private InventoryCraftResult result = new InventoryCraftResult(); private InventoryCraftResult result = new InventoryCraftResult();
private ItemHandlerBasic patterns = new ItemHandlerBasic(2, this, new ItemValidatorBasic(RefinedStorageItems.PATTERN)); private ItemHandlerBasic patterns = new ItemHandlerBasic(2, this, new ItemValidatorBasic(RefinedStorageItems.PATTERN));
private List<GridFilteredItem> filteredItems = new ArrayList<GridFilteredItem>(); private List<GridFilteredItem> filteredItems = new ArrayList<>();
private ItemHandlerGridFilterInGrid filter = new ItemHandlerGridFilterInGrid(filteredItems); private ItemHandlerGridFilterInGrid filter = new ItemHandlerGridFilterInGrid(filteredItems);
private EnumGridType type; private EnumGridType type;
@@ -259,7 +259,7 @@ public class TileGrid extends TileNode implements IGrid {
} }
public void onCraftedShift(ContainerGrid container, EntityPlayer player) { public void onCraftedShift(ContainerGrid container, EntityPlayer player) {
List<ItemStack> craftedItemsList = new ArrayList<ItemStack>(); List<ItemStack> craftedItemsList = new ArrayList<>();
int craftedItems = 0; int craftedItems = 0;
ItemStack crafted = result.getStackInSlot(0); ItemStack crafted = result.getStackInSlot(0);

View File

@@ -34,7 +34,7 @@ public class WirelessGrid implements IGrid {
private int sortingDirection; private int sortingDirection;
private int searchBoxMode; private int searchBoxMode;
private List<GridFilteredItem> filteredItems = new ArrayList<GridFilteredItem>(); private List<GridFilteredItem> filteredItems = new ArrayList<>();
private ItemHandlerGridFilterInGrid filter = new ItemHandlerGridFilterInGrid(filteredItems) { private ItemHandlerGridFilterInGrid filter = new ItemHandlerGridFilterInGrid(filteredItems) {
@Override @Override
protected void onContentsChanged(int slot) { protected void onContentsChanged(int slot) {