diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/IRSAPI.java b/src/main/java/com/raoulvdberge/refinedstorage/api/IRSAPI.java index 1b1b9bf25..f8e7bca7a 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/IRSAPI.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/IRSAPI.java @@ -5,8 +5,8 @@ import com.raoulvdberge.refinedstorage.api.autocrafting.craftingmonitor.ICraftin import com.raoulvdberge.refinedstorage.api.autocrafting.preview.ICraftingPreviewElementRegistry; import com.raoulvdberge.refinedstorage.api.autocrafting.registry.ICraftingTaskRegistry; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProvider; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeRegistry; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeManager; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeRegistry; import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterChannel; import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterHandlerRegistry; import com.raoulvdberge.refinedstorage.api.solderer.ISoldererRegistry; @@ -37,9 +37,9 @@ public interface IRSAPI { /** * @param dimension the dimension - * @return the network node provider for the given dimension + * @return the network node manager for the given dimension */ - INetworkNodeProvider getNetworkNodeProvider(int dimension); + INetworkNodeManager getNetworkNodeManager(int dimension); /** * @return the solderer registry diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java index bbcf0414e..7af76897e 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java @@ -35,7 +35,13 @@ public interface ICraftingPatternContainer { */ BlockPos getPosition(); + /** + * @return whether this container is blocked + */ boolean isBlocked(); - void setBlocked(boolean value); + /** + * @param blocked whether the container is blocked + */ + void setBlocked(boolean blocked); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/craftingmonitor/ICraftingMonitorElement.java b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/craftingmonitor/ICraftingMonitorElement.java index 6c55600bf..257b53897 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/craftingmonitor/ICraftingMonitorElement.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/craftingmonitor/ICraftingMonitorElement.java @@ -18,7 +18,7 @@ public interface ICraftingMonitorElement { void draw(int x, int y, IElementDrawers drawers); /** - * @return whether the crafting monitor can draw a grey background behind the element when selected + * @return whether the crafting monitor can draw a selection background behind the element when selected */ boolean canDrawSelection(); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/craftingmonitor/ICraftingMonitorElementList.java b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/craftingmonitor/ICraftingMonitorElementList.java index 7d64e0ba1..53c33103e 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/craftingmonitor/ICraftingMonitorElementList.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/craftingmonitor/ICraftingMonitorElementList.java @@ -24,6 +24,7 @@ public interface ICraftingMonitorElementList { void commit(); /** + * Gets all the elements in the list. * This also commits the last changes. * * @return the current list of elements diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/preview/ICraftingPreviewElement.java b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/preview/ICraftingPreviewElement.java index 2af9b0218..11b2f202f 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/preview/ICraftingPreviewElement.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/preview/ICraftingPreviewElement.java @@ -28,7 +28,7 @@ public interface ICraftingPreviewElement { int getAvailable(); /** - * @return toCraft or missing (depends on {@link #hasMissing()} amount of the {@link #getElement()} + * @return the amount to craft or missing (depends on {@link #hasMissing()} amount of the {@link #getElement()} */ int getToCraft(); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingStep.java b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingStep.java index e4976f9a5..c6288c8d6 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingStep.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingStep.java @@ -33,7 +33,7 @@ public interface ICraftingStep { * * @param items a list to compare the needed {@link ItemStack} inputs against * @param fluids a list to compare the needed {@link FluidStack} inputs against (eg. a bucket, machine insert) - * @return true if processing can start + * @return true if processing can start, false otherwise */ boolean canStartProcessing(IStackList items, IStackList fluids); @@ -41,7 +41,7 @@ public interface ICraftingStep { * Check if the processing can start. * Assuming you have all needed {@link ItemStack}s and {@link FluidStack}s * - * @return true if processing can start + * @return true if processing can start, false otherwise */ boolean canStartProcessing(); @@ -71,7 +71,7 @@ public interface ICraftingStep { /** * @param stack the output to check - * @return true if we received the given output (based upon item and getCount()), false otherwise + * @return true if we received the given output (based upon item and count), false otherwise */ boolean hasReceivedOutput(ItemStack stack); @@ -91,7 +91,7 @@ public interface ICraftingStep { boolean onReceiveOutput(ItemStack stack); /** - * Writes the processable to NBT. + * Writes the crafting step to NBT. * * @param tag the tag * @return the written tag diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingTask.java b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingTask.java index 82e40bf88..c8a4e49bc 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingTask.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/task/ICraftingTask.java @@ -23,7 +23,7 @@ public interface ICraftingTask { String NBT_REQUESTED = "Requested"; /** - * Calculates what this task will do, but doesn't run the task just yet. + * Calculates what this task will do, but doesn't run the task yet. */ void calculate(); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkMaster.java b/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkMaster.java index e87e83d70..98712ea06 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkMaster.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkMaster.java @@ -176,6 +176,13 @@ public interface INetworkMaster { @Nullable ItemStack insertItem(@Nonnull ItemStack stack, int size, boolean simulate); + /** + * Inserts an item and notifies the crafting manager of the incoming item. + * + * @param stack the stack prototype to insert, do NOT modify + * @param size the amount of that prototype that has to be inserted + * @return null if the insert was successful, or a stack with the remainder + */ default ItemStack insertItemTracked(@Nonnull ItemStack stack, int size) { ItemStack remainder = insertItem(stack, size, false); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNeighborhoodAware.java b/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNeighborhoodAware.java index f9ddef703..413945c8e 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNeighborhoodAware.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNeighborhoodAware.java @@ -5,7 +5,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; /** - * Allow the network nodes to implement more optimal or non-regular discovery of neighbor nodes + * Allows the network nodes to implement more optimal or non-regular discovery of neighbor nodes. */ public interface INetworkNeighborhoodAware { void walkNeighborhood(Operator operator); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeGraph.java b/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeGraph.java index c7a3ed78b..e30ea905e 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeGraph.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeGraph.java @@ -1,5 +1,7 @@ package com.raoulvdberge.refinedstorage.api.network; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; + import java.util.List; /** diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeProvider.java b/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeProvider.java deleted file mode 100755 index cdfc219d1..000000000 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeProvider.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.raoulvdberge.refinedstorage.api.network; - -import net.minecraft.util.math.BlockPos; - -import javax.annotation.Nullable; -import java.util.Collection; - -public interface INetworkNodeProvider { - @Nullable - INetworkNode getNode(BlockPos pos); - - void removeNode(BlockPos pos); - - void setNode(BlockPos pos, INetworkNode node); - - Collection all(); - - void clear(); -} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeProxy.java b/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeProxy.java deleted file mode 100755 index 8a33dd975..000000000 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeProxy.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.raoulvdberge.refinedstorage.api.network; - -import javax.annotation.Nonnull; - -public interface INetworkNodeProxy { - @Nonnull - T getNode(); -} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeRegistry.java b/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeRegistry.java deleted file mode 100755 index 24b6e057b..000000000 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeRegistry.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.raoulvdberge.refinedstorage.api.network; - -import net.minecraft.nbt.NBTTagCompound; - -import javax.annotation.Nullable; -import java.util.function.Function; - -public interface INetworkNodeRegistry { - void add(String id, Function factory); - - @Nullable - Function get(String id); -} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNode.java b/src/main/java/com/raoulvdberge/refinedstorage/api/network/node/INetworkNode.java old mode 100755 new mode 100644 similarity index 59% rename from src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNode.java rename to src/main/java/com/raoulvdberge/refinedstorage/api/network/node/INetworkNode.java index 7b1e022de..b2ac64b43 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNode.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/network/node/INetworkNode.java @@ -1,5 +1,7 @@ -package com.raoulvdberge.refinedstorage.api.network; +package com.raoulvdberge.refinedstorage.api.network.node; +import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; +import com.raoulvdberge.refinedstorage.apiimpl.network.node.INetworkNodeHolder; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.math.BlockPos; @@ -37,7 +39,7 @@ public interface INetworkNode { void onDisconnected(INetworkMaster network); /** - * @return true if this node can be treated as active, typically checks the redstone configuration + * @return true if this node can be treated as updatable, typically checks the redstone configuration */ boolean canUpdate(); @@ -47,20 +49,31 @@ public interface INetworkNode { @Nullable INetworkMaster getNetwork(); - @Nullable - INetworkNodeHolder getHolder(); - - void setHolder(INetworkNodeHolder holder); - + /** + * Updates a network node. + */ void update(); + /** + * Writes the network node data to NBT. + * + * @param tag the tag + * @return the written tag + */ NBTTagCompound write(NBTTagCompound tag); - void read(NBTTagCompound tag); - + /** + * @return the position of this network node + */ BlockPos getPos(); + /** + * Marks this node as dirty for saving. + */ void markDirty(); + /** + * @return the id of this node as specified in {@link INetworkNodeRegistry} + */ String getId(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/network/node/INetworkNodeManager.java b/src/main/java/com/raoulvdberge/refinedstorage/api/network/node/INetworkNodeManager.java new file mode 100644 index 000000000..ad6cd4894 --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/network/node/INetworkNodeManager.java @@ -0,0 +1,45 @@ +package com.raoulvdberge.refinedstorage.api.network.node; + +import net.minecraft.util.math.BlockPos; + +import javax.annotation.Nullable; +import java.util.Collection; + +/** + * This is a registry for network nodes in the world. + */ +public interface INetworkNodeManager { + /** + * Gets a network node from the registry at a given position. + * + * @param pos the position + * @return the network node at the given position, or null if no network node was found + */ + @Nullable + INetworkNode getNode(BlockPos pos); + + /** + * Removes a node from the registry at a given position. + * + * @param pos the position + */ + void removeNode(BlockPos pos); + + /** + * Sets a node in the registry at a given position. + * + * @param pos the position + * @param node the node + */ + void setNode(BlockPos pos, INetworkNode node); + + /** + * @return all nodes in this registry + */ + Collection all(); + + /** + * Clears all the nodes. + */ + void clear(); +} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/network/node/INetworkNodeProxy.java b/src/main/java/com/raoulvdberge/refinedstorage/api/network/node/INetworkNodeProxy.java new file mode 100644 index 000000000..a4861dcf7 --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/network/node/INetworkNodeProxy.java @@ -0,0 +1,16 @@ +package com.raoulvdberge.refinedstorage.api.network.node; + +import javax.annotation.Nonnull; + +/** + * Makes a network node accessible from a tile entity. Implement this as a capability. + * + * @param + */ +public interface INetworkNodeProxy { + /** + * @return the node + */ + @Nonnull + T getNode(); +} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/network/node/INetworkNodeRegistry.java b/src/main/java/com/raoulvdberge/refinedstorage/api/network/node/INetworkNodeRegistry.java new file mode 100644 index 000000000..ccd114997 --- /dev/null +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/network/node/INetworkNodeRegistry.java @@ -0,0 +1,28 @@ +package com.raoulvdberge.refinedstorage.api.network.node; + +import net.minecraft.nbt.NBTTagCompound; + +import javax.annotation.Nullable; +import java.util.function.Function; + +/** + * This registry holds factories for reading network nodes from NBT. + */ +public interface INetworkNodeRegistry { + /** + * Adds a factory to the registry. + * + * @param id the id, as specified in {@link INetworkNode#getId()} + * @param factory the factory + */ + void add(String id, Function factory); + + /** + * Returns a factory from the registry. + * + * @param id the id, as specified in {@link INetworkNode#getId()} + * @return the factory, or null if no factory was found + */ + @Nullable + Function get(String id); +} diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/render/IElementDrawers.java b/src/main/java/com/raoulvdberge/refinedstorage/api/render/IElementDrawers.java index eeec96643..6ac8ed54b 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/render/IElementDrawers.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/render/IElementDrawers.java @@ -43,6 +43,7 @@ public interface IElementDrawers { */ default IElementDrawer getNullDrawer() { return (x, y, element) -> { + // NO OP }; } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/storage/IStorageProvider.java b/src/main/java/com/raoulvdberge/refinedstorage/api/storage/IStorageProvider.java index d4d92c612..b313a7498 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/storage/IStorageProvider.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/storage/IStorageProvider.java @@ -5,8 +5,17 @@ import net.minecraftforge.fluids.FluidStack; import java.util.List; +/** + * Provides a storage to the network. Implement this on {@link com.raoulvdberge.refinedstorage.api.network.node.INetworkNode}s. + */ public interface IStorageProvider { + /** + * @param storages the item storages + */ void addItemStorages(List> storages); + /** + * @param storages the fluid storages + */ void addFluidStorages(List> storages); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/util/IWrenchable.java b/src/main/java/com/raoulvdberge/refinedstorage/api/util/IWrenchable.java index 290e6bc34..64a5f3e25 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/util/IWrenchable.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/util/IWrenchable.java @@ -15,7 +15,7 @@ public interface IWrenchable { NBTTagCompound writeConfiguration(NBTTagCompound tag); /** - * Reads the configurration of this tile from the wrench. + * Reads the configuration of this tile from the wrench. * * @param tag the tag to read */ diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/API.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/API.java index 2fa42999f..b1b658222 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/API.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/API.java @@ -7,6 +7,10 @@ import com.raoulvdberge.refinedstorage.api.autocrafting.craftingmonitor.ICraftin import com.raoulvdberge.refinedstorage.api.autocrafting.preview.ICraftingPreviewElementRegistry; import com.raoulvdberge.refinedstorage.api.autocrafting.registry.ICraftingTaskRegistry; import com.raoulvdberge.refinedstorage.api.network.*; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeManager; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeRegistry; import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterChannel; import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterHandlerRegistry; import com.raoulvdberge.refinedstorage.api.solderer.ISoldererRegistry; @@ -16,7 +20,7 @@ import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.craftingmonitor.Craf import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.craftingmonitor.CraftingMonitorElementRegistry; import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.preview.CraftingPreviewElementRegistry; import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.registry.CraftingTaskRegistry; -import com.raoulvdberge.refinedstorage.apiimpl.network.NetworkNodeProvider; +import com.raoulvdberge.refinedstorage.apiimpl.network.NetworkNodeManager; import com.raoulvdberge.refinedstorage.apiimpl.network.NetworkNodeRegistry; import com.raoulvdberge.refinedstorage.apiimpl.network.readerwriter.ReaderWriterChannel; import com.raoulvdberge.refinedstorage.apiimpl.network.readerwriter.ReaderWriterHandlerRegistry; @@ -48,8 +52,8 @@ public class API implements IRSAPI { private IComparer comparer = new Comparer(); private INetworkNodeRegistry networkNodeRegistry = new NetworkNodeRegistry(); - private Map networkNodeProviderServer = new HashMap<>(); - private Map networkNodeProviderClient = new HashMap<>(); + private Map networkNodeProviderServer = new HashMap<>(); + private Map networkNodeProviderClient = new HashMap<>(); private ISoldererRegistry soldererRegistry = new SoldererRegistry(); private ICraftingTaskRegistry craftingTaskRegistry = new CraftingTaskRegistry(); private ICraftingMonitorElementRegistry craftingMonitorElementRegistry = new CraftingMonitorElementRegistry(); @@ -92,10 +96,10 @@ public class API implements IRSAPI { } @Override - public INetworkNodeProvider getNetworkNodeProvider(int dimension) { - Map provider = FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT ? networkNodeProviderClient : networkNodeProviderServer; + public INetworkNodeManager getNetworkNodeManager(int dimension) { + Map provider = FMLCommonHandler.instance().getEffectiveSide() == Side.CLIENT ? networkNodeProviderClient : networkNodeProviderServer; - return provider.computeIfAbsent(dimension, r -> new NetworkNodeProvider()); + return provider.computeIfAbsent(dimension, r -> new NetworkNodeManager()); } @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingManager.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingManager.java index 689d0ed91..2100308b1 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingManager.java @@ -8,7 +8,7 @@ import com.raoulvdberge.refinedstorage.api.autocrafting.registry.ICraftingTaskFa import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingStep; import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.api.util.IStackList; import com.raoulvdberge.refinedstorage.apiimpl.API; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingPattern.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingPattern.java index f5684f69c..17f2a740d 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingPattern.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingPattern.java @@ -12,7 +12,6 @@ import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.IRecipe; -import net.minecraft.util.NonNullList; import net.minecraft.world.World; import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.ShapedOreRecipe; @@ -21,7 +20,6 @@ import javax.annotation.Nullable; import java.lang.reflect.InvocationTargetException; import java.util.*; import java.util.stream.Collectors; -import java.util.stream.Stream; public class CraftingPattern implements ICraftingPattern { private ICraftingPatternContainer container; @@ -107,7 +105,7 @@ public class CraftingPattern implements ICraftingPattern { for (ItemStack input : inputs) { if (input == null) { oreInputs.add(Collections.emptyList()); - } else { + } else if (!input.isEmpty()) { int[] ids = OreDictionary.getOreIDs(input); if (ids == null || ids.length == 0) { oreInputs.add(Collections.singletonList(Comparer.stripTags(input))); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeGraph.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeGraph.java index 4c7d09abd..d3bd6e19c 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeGraph.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeGraph.java @@ -2,9 +2,9 @@ package com.raoulvdberge.refinedstorage.apiimpl.network; import com.raoulvdberge.refinedstorage.RSBlocks; import com.raoulvdberge.refinedstorage.api.network.INetworkNeighborhoodAware; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.api.network.INetworkNodeGraph; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProxy; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy; import com.raoulvdberge.refinedstorage.item.ItemBlockController; import com.raoulvdberge.refinedstorage.tile.TileController; import net.minecraft.block.state.IBlockState; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeListener.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeListener.java index c07a1a4af..99ae26c8a 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeListener.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeListener.java @@ -1,8 +1,8 @@ package com.raoulvdberge.refinedstorage.apiimpl.network; import com.raoulvdberge.refinedstorage.RSUtils; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProxy; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy; import com.raoulvdberge.refinedstorage.api.network.security.Permission; import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.apiimpl.network.node.WorldSavedDataNetworkNode; @@ -66,6 +66,6 @@ public class NetworkNodeListener { @SubscribeEvent public void onWorldUnload(WorldEvent.Unload e) { - API.instance().getNetworkNodeProvider(e.getWorld().provider.getDimension()).clear(); + API.instance().getNetworkNodeManager(e.getWorld().provider.getDimension()).clear(); } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeProvider.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeManager.java old mode 100755 new mode 100644 similarity index 78% rename from src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeProvider.java rename to src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeManager.java index 5ac5549f5..b03e4b2a3 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeProvider.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeManager.java @@ -1,7 +1,7 @@ package com.raoulvdberge.refinedstorage.apiimpl.network; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProvider; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeManager; import net.minecraft.util.math.BlockPos; import javax.annotation.Nullable; @@ -9,7 +9,7 @@ import java.util.Collection; import java.util.HashMap; import java.util.Map; -public class NetworkNodeProvider implements INetworkNodeProvider { +public class NetworkNodeManager implements INetworkNodeManager { private Map nodes = new HashMap<>(); @Override diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeRegistry.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeRegistry.java index a6afcf785..f7958998e 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeRegistry.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/NetworkNodeRegistry.java @@ -1,7 +1,7 @@ package com.raoulvdberge.refinedstorage.apiimpl.network; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeRegistry; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeRegistry; import net.minecraft.nbt.NBTTagCompound; import javax.annotation.Nullable; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/item/NetworkItemHandler.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/item/NetworkItemHandler.java index 3e43d8a1e..a8fe9a495 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/item/NetworkItemHandler.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/item/NetworkItemHandler.java @@ -1,11 +1,11 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.item; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.api.network.IWirelessTransmitter; import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem; import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemHandler; import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemProvider; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.EnumHand; import net.minecraft.util.text.TextComponentTranslation; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeHolder.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/INetworkNodeHolder.java old mode 100755 new mode 100644 similarity index 75% rename from src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeHolder.java rename to src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/INetworkNodeHolder.java index ae0b82e56..9568dc34d --- a/src/main/java/com/raoulvdberge/refinedstorage/api/network/INetworkNodeHolder.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/INetworkNodeHolder.java @@ -1,9 +1,10 @@ -package com.raoulvdberge.refinedstorage.api.network; +package com.raoulvdberge.refinedstorage.apiimpl.network.node; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; +// @todo: move outta API? public interface INetworkNodeHolder { EnumFacing getDirection(); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNode.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNode.java index 3812b2319..ac4fc2d3a 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNode.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNode.java @@ -3,8 +3,7 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RSUtils; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; import com.raoulvdberge.refinedstorage.api.network.INetworkNeighborhoodAware; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; import com.raoulvdberge.refinedstorage.api.util.IWrenchable; import com.raoulvdberge.refinedstorage.tile.config.RedstoneMode; import net.minecraft.block.state.IBlockState; @@ -45,13 +44,11 @@ public abstract class NetworkNode implements INetworkNode, INetworkNeighborhoodA markDirty(); } - @Override @Nullable public INetworkNodeHolder getHolder() { return holder; } - @Override public void setHolder(INetworkNodeHolder holder) { this.holder = holder; } @@ -133,7 +130,6 @@ public abstract class NetworkNode implements INetworkNode, INetworkNeighborhoodA return tag; } - @Override public void read(NBTTagCompound tag) { readConfiguration(tag); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCable.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCable.java index e7b3fd61e..1053d752e 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCable.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCable.java @@ -1,7 +1,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RS; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; public class NetworkNodeCable extends NetworkNode { public static final String ID = "cable"; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeConstructor.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeConstructor.java index b208f387c..c425952ea 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeConstructor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeConstructor.java @@ -3,7 +3,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.mojang.authlib.GameProfile; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSUtils; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.container.slot.SlotFilter; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafter.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafter.java index 2fa94f4a1..1965607bc 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafter.java @@ -6,7 +6,6 @@ import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern; import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternContainer; import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPatternProvider; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode; @@ -40,7 +39,7 @@ public class NetworkNodeCrafter extends NetworkNode implements ICraftingPatternC protected void onContentsChanged(int slot) { super.onContentsChanged(slot); - if (!holder.world().isRemote) { + if (holder.world() != null && !holder.world().isRemote) { rebuildPatterns(); } @@ -219,8 +218,8 @@ public class NetworkNodeCrafter extends NetworkNode implements ICraftingPatternC } @Override - public void setBlocked(boolean value) { - blocked = value; + public void setBlocked(boolean blocked) { + this.blocked = blocked; markDirty(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCraftingMonitor.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCraftingMonitor.java index eee521a15..56a5f9048 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCraftingMonitor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCraftingMonitor.java @@ -1,7 +1,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RS; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.tile.craftingmonitor.ICraftingMonitor; import com.raoulvdberge.refinedstorage.tile.craftingmonitor.TileCraftingMonitor; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDestructor.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDestructor.java index aafe49b40..4e91e0f9a 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDestructor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDestructor.java @@ -2,7 +2,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSUtils; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDetector.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDetector.java index 35676d223..81228c269 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDetector.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDetector.java @@ -5,7 +5,6 @@ import com.raoulvdberge.refinedstorage.RSBlocks; import com.raoulvdberge.refinedstorage.RSUtils; import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDiskDrive.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDiskDrive.java index b04d218ac..f010e096b 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDiskDrive.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDiskDrive.java @@ -4,7 +4,6 @@ import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.RSUtils; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.storage.AccessType; import com.raoulvdberge.refinedstorage.api.storage.IStorage; import com.raoulvdberge.refinedstorage.api.storage.IStorageProvider; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDiskManipulator.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDiskManipulator.java index 60caac5a6..a31d22a8f 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDiskManipulator.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeDiskManipulator.java @@ -2,7 +2,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSUtils; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.apiimpl.storage.StorageFluidNBT; import com.raoulvdberge.refinedstorage.apiimpl.storage.StorageItemNBT; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeExporter.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeExporter.java index 6f6488416..728ccdd64 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeExporter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeExporter.java @@ -3,7 +3,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSUtils; import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeFluidInterface.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeFluidInterface.java index 283433c57..f623d1490 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeFluidInterface.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeFluidInterface.java @@ -2,7 +2,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSUtils; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.inventory.*; import com.raoulvdberge.refinedstorage.item.ItemUpgrade; @@ -31,7 +30,7 @@ public class NetworkNodeFluidInterface extends NetworkNode implements IComparabl protected void onContentsChanged() { super.onContentsChanged(); - if (!holder.world().isRemote) { + if (holder.world() != null && !holder.world().isRemote) { ((TileFluidInterface) holder.world().getTileEntity(holder.pos())).getDataManager().sendParameterToWatchers(TileFluidInterface.TANK_IN); } @@ -44,7 +43,7 @@ public class NetworkNodeFluidInterface extends NetworkNode implements IComparabl protected void onContentsChanged() { super.onContentsChanged(); - if (!holder.world().isRemote) { + if (holder.world() != null && !holder.world().isRemote) { ((TileFluidInterface) holder.world().getTileEntity(holder.pos())).getDataManager().sendParameterToWatchers(TileFluidInterface.TANK_OUT); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeFluidStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeFluidStorage.java index 209d96fcc..b45243935 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeFluidStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeFluidStorage.java @@ -4,7 +4,6 @@ import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSBlocks; import com.raoulvdberge.refinedstorage.RSUtils; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.storage.AccessType; import com.raoulvdberge.refinedstorage.api.storage.IStorage; import com.raoulvdberge.refinedstorage.api.storage.IStorageProvider; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeGrid.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeGrid.java index cae034012..c2ad04ab9 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeGrid.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeGrid.java @@ -4,7 +4,6 @@ import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSBlocks; import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.RSUtils; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.network.security.Permission; import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.block.BlockGrid; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeImporter.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeImporter.java index ccae1e73e..c24042d5c 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeImporter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeImporter.java @@ -2,7 +2,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSUtils; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeInterface.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeInterface.java index 1cb71083c..6988ec205 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeInterface.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeInterface.java @@ -2,7 +2,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSUtils; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerInterface; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeNetworkReceiver.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeNetworkReceiver.java index da4ee5c9a..5b1fb5a2c 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeNetworkReceiver.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeNetworkReceiver.java @@ -1,7 +1,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RS; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; public class NetworkNodeNetworkReceiver extends NetworkNode { public static final String ID = "network_receiver"; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeNetworkTransmitter.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeNetworkTransmitter.java index 5d9036a90..632c41bb9 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeNetworkTransmitter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeNetworkTransmitter.java @@ -3,7 +3,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.RSUtils; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerUpgrade; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeReader.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeReader.java index d935123a1..e62049216 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeReader.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeReader.java @@ -1,7 +1,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RS; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReader; import com.raoulvdberge.refinedstorage.tile.TileReader; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeRelay.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeRelay.java index e962ad5ec..4f3ca61c2 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeRelay.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeRelay.java @@ -1,7 +1,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RS; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.tile.config.RedstoneMode; import net.minecraft.util.EnumFacing; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeSecurityManager.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeSecurityManager.java index b4329db2f..abaa25c20 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeSecurityManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeSecurityManager.java @@ -4,7 +4,6 @@ import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.RSUtils; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.network.security.ISecurityCard; import com.raoulvdberge.refinedstorage.api.network.security.ISecurityCardContainer; import com.raoulvdberge.refinedstorage.api.network.security.Permission; @@ -35,7 +34,7 @@ public class NetworkNodeSecurityManager extends NetworkNode implements ISecurity protected void onContentsChanged(int slot) { super.onContentsChanged(slot); - if (!holder.world().isRemote) { + if (holder.world() != null && !holder.world().isRemote) { rebuildCards(); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeSolderer.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeSolderer.java index 05d119887..52660748b 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeSolderer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeSolderer.java @@ -3,7 +3,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSUtils; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.solderer.ISoldererRecipe; import com.raoulvdberge.refinedstorage.api.util.IComparer; import com.raoulvdberge.refinedstorage.apiimpl.API; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeStorage.java index 4e8129ba4..fb5b736b7 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeStorage.java @@ -4,7 +4,6 @@ import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSBlocks; import com.raoulvdberge.refinedstorage.RSUtils; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.storage.AccessType; import com.raoulvdberge.refinedstorage.api.storage.IStorage; import com.raoulvdberge.refinedstorage.api.storage.IStorageProvider; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeWirelessTransmitter.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeWirelessTransmitter.java index 9d8150f7f..e63629897 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeWirelessTransmitter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeWirelessTransmitter.java @@ -2,7 +2,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSUtils; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.network.IWirelessTransmitter; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBasic; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeWriter.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeWriter.java index 5740ef6b9..6b432b1c7 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeWriter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeWriter.java @@ -2,7 +2,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSBlocks; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterChannel; import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterHandler; import com.raoulvdberge.refinedstorage.api.network.readerwriter.IWriter; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/WorldSavedDataNetworkNode.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/WorldSavedDataNetworkNode.java index aa446df00..dcd2080e4 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/WorldSavedDataNetworkNode.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/WorldSavedDataNetworkNode.java @@ -1,6 +1,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.node; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.API; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; @@ -50,7 +50,7 @@ public class WorldSavedDataNetworkNode extends WorldSavedData { Function factory = API.instance().getNetworkNodeRegistry().get(id); if (factory != null) { - API.instance().getNetworkNodeProvider(dimension).setNode(pos, factory.apply(data)); + API.instance().getNetworkNodeManager(dimension).setNode(pos, factory.apply(data)); } } } @@ -60,7 +60,7 @@ public class WorldSavedDataNetworkNode extends WorldSavedData { public NBTTagCompound writeToNBT(NBTTagCompound tag) { NBTTagList list = new NBTTagList(); - for (INetworkNode node : API.instance().getNetworkNodeProvider(dimension).all()) { + for (INetworkNode node : API.instance().getNetworkNodeManager(dimension).all()) { NBTTagCompound nodeTag = new NBTTagCompound(); nodeTag.setString(NBT_NODE_ID, node.getId()); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/NetworkNodeExternalStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/NetworkNodeExternalStorage.java index 885c39f99..64881af72 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/NetworkNodeExternalStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/NetworkNodeExternalStorage.java @@ -5,7 +5,7 @@ import com.jaquadro.minecraft.storagedrawers.api.storage.IDrawerGroup; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSUtils; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; +import com.raoulvdberge.refinedstorage.apiimpl.network.node.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.api.storage.AccessType; import com.raoulvdberge.refinedstorage.api.storage.IStorage; import com.raoulvdberge.refinedstorage.api.storage.IStorageProvider; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/security/SecurityManager.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/security/SecurityManager.java index 8603eed56..f0d225cf5 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/security/SecurityManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/security/SecurityManager.java @@ -1,7 +1,7 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.security; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; import com.raoulvdberge.refinedstorage.api.network.security.ISecurityCard; import com.raoulvdberge.refinedstorage.api.network.security.ISecurityCardContainer; import com.raoulvdberge.refinedstorage.api.network.security.ISecurityManager; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageFluidNBT.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageFluidNBT.java index 5916e1a32..20b916839 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageFluidNBT.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageFluidNBT.java @@ -1,7 +1,7 @@ package com.raoulvdberge.refinedstorage.apiimpl.storage; import com.raoulvdberge.refinedstorage.RSUtils; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; import com.raoulvdberge.refinedstorage.api.storage.AccessType; import com.raoulvdberge.refinedstorage.api.storage.IStorage; import com.raoulvdberge.refinedstorage.apiimpl.API; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageItemNBT.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageItemNBT.java index fc0c97a97..091be2d59 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageItemNBT.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/storage/StorageItemNBT.java @@ -1,6 +1,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.storage; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; import com.raoulvdberge.refinedstorage.api.storage.AccessType; import com.raoulvdberge.refinedstorage.api.storage.IStorage; import com.raoulvdberge.refinedstorage.apiimpl.API; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockBase.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockBase.java index ea9097ff2..144c5083e 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockBase.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockBase.java @@ -2,8 +2,8 @@ package com.raoulvdberge.refinedstorage.block; import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSUtils; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProxy; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy; import com.raoulvdberge.refinedstorage.api.network.security.Permission; import com.raoulvdberge.refinedstorage.item.ItemBlockBase; import com.raoulvdberge.refinedstorage.proxy.CapabilityNetworkNodeProxy; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockNode.java b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockNode.java index 8fa98b451..b420f5e92 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/block/BlockNode.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/block/BlockNode.java @@ -1,5 +1,7 @@ package com.raoulvdberge.refinedstorage.block; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeManager; import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.tile.TileNode; import net.minecraft.block.properties.PropertyBool; @@ -44,6 +46,21 @@ public abstract class BlockNode extends BlockBase { } } + @Override + public void breakBlock(World world, BlockPos pos, IBlockState state) { + super.breakBlock(world, pos, state); + + INetworkNodeManager manager = API.instance().getNetworkNodeManager(world.provider.getDimension()); + + INetworkNode node = manager.getNode(pos); + + manager.removeNode(pos); + + if (!world.isRemote && node.getNetwork() != null) { + node.getNetwork().getNodeGraph().rebuild(); + } + } + @Override protected BlockStateContainer.Builder createBlockStateBuilder() { BlockStateContainer.Builder builder = super.createBlockStateBuilder(); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/container/slot/SlotFilterType.java b/src/main/java/com/raoulvdberge/refinedstorage/container/slot/SlotFilterType.java index 2ccde4d77..95445fd7a 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/container/slot/SlotFilterType.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/container/slot/SlotFilterType.java @@ -1,9 +1,9 @@ package com.raoulvdberge.refinedstorage.container.slot; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; +import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode; import com.raoulvdberge.refinedstorage.tile.config.IType; import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; import net.minecraftforge.items.IItemHandler; import javax.annotation.Nonnull; @@ -39,7 +39,7 @@ public class SlotFilterType extends SlotFilter { @Override @Nonnull public ItemStack getStack() { - return (type.getType() == IType.ITEMS || !((INetworkNode) type).getHolder().world().isRemote) ? super.getStack() : ItemStack.EMPTY; + return (type.getType() == IType.ITEMS || !((NetworkNode) type).getHolder().world().isRemote) ? super.getStack() : ItemStack.EMPTY; } public ItemStack getRealStack() { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/inventory/ItemHandlerListenerNetworkNode.java b/src/main/java/com/raoulvdberge/refinedstorage/inventory/ItemHandlerListenerNetworkNode.java index 748c6f674..cb739e6ea 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/inventory/ItemHandlerListenerNetworkNode.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/inventory/ItemHandlerListenerNetworkNode.java @@ -1,6 +1,6 @@ package com.raoulvdberge.refinedstorage.inventory; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; public class ItemHandlerListenerNetworkNode implements IItemHandlerListener { private INetworkNode node; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/proxy/CapabilityNetworkNodeProxy.java b/src/main/java/com/raoulvdberge/refinedstorage/proxy/CapabilityNetworkNodeProxy.java index 66878e895..9f2555949 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/proxy/CapabilityNetworkNodeProxy.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/proxy/CapabilityNetworkNodeProxy.java @@ -3,8 +3,8 @@ 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; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy; import net.minecraft.nbt.NBTBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumFacing; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyCommon.java b/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyCommon.java index a10354737..c73628e0c 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyCommon.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/proxy/ProxyCommon.java @@ -4,13 +4,13 @@ import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RSBlocks; import com.raoulvdberge.refinedstorage.RSItems; import com.raoulvdberge.refinedstorage.RSUtils; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.craftingmonitor.*; import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.preview.CraftingPreviewElementFluidStack; import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.preview.CraftingPreviewElementItemStack; import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.registry.CraftingTaskFactory; import com.raoulvdberge.refinedstorage.apiimpl.network.NetworkNodeListener; +import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.network.readerwriter.ReaderWriterHandlerFluids; import com.raoulvdberge.refinedstorage.apiimpl.network.readerwriter.ReaderWriterHandlerItems; import com.raoulvdberge.refinedstorage.apiimpl.network.readerwriter.ReaderWriterHandlerRedstone; @@ -798,7 +798,7 @@ public class ProxyCommon { String nodeId = ((TileNode) tileInstance).createNode().getId(); API.instance().getNetworkNodeRegistry().add(nodeId, tag -> { - INetworkNode node = ((TileNode) tileInstance).createNode(); + NetworkNode node = ((TileNode) tileInstance).createNode(); node.read(tag); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/IReaderWriter.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/IReaderWriter.java index 16ef68568..0e625ad3c 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/IReaderWriter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/IReaderWriter.java @@ -1,7 +1,7 @@ package com.raoulvdberge.refinedstorage.tile; import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; public interface IReaderWriter extends INetworkNode { diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java index c702291a9..97c4e649a 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileController.java @@ -6,10 +6,13 @@ import com.raoulvdberge.refinedstorage.RSBlocks; import com.raoulvdberge.refinedstorage.RSUtils; import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingManager; import com.raoulvdberge.refinedstorage.api.autocrafting.craftingmonitor.ICraftingMonitorElement; -import com.raoulvdberge.refinedstorage.api.network.*; +import com.raoulvdberge.refinedstorage.api.network.INetworkMaster; +import com.raoulvdberge.refinedstorage.api.network.INetworkNodeGraph; import com.raoulvdberge.refinedstorage.api.network.grid.IFluidGridHandler; import com.raoulvdberge.refinedstorage.api.network.grid.IItemGridHandler; import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemHandler; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy; import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterChannel; import com.raoulvdberge.refinedstorage.api.network.readerwriter.IReaderWriterHandler; import com.raoulvdberge.refinedstorage.api.network.security.ISecurityManager; @@ -747,17 +750,6 @@ public class TileController extends TileBase implements INetworkMaster, IRedston return this; } - @Nullable - @Override - public INetworkNodeHolder getHolder() { - return null; - } - - @Override - public void setHolder(INetworkNodeHolder holder) { - // NO OP - } - public EnumControllerType getType() { if (type == null && getWorld().getBlockState(pos).getBlock() == RSBlocks.CONTROLLER) { this.type = (EnumControllerType) getWorld().getBlockState(pos).getValue(BlockController.TYPE); diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNode.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNode.java index 81d212093..1bef70a5f 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNode.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileNode.java @@ -1,11 +1,11 @@ package com.raoulvdberge.refinedstorage.tile; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeHolder; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProvider; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProxy; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeManager; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy; import com.raoulvdberge.refinedstorage.api.util.IWrenchable; import com.raoulvdberge.refinedstorage.apiimpl.API; +import com.raoulvdberge.refinedstorage.apiimpl.network.node.INetworkNodeHolder; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode; import com.raoulvdberge.refinedstorage.proxy.CapabilityNetworkNodeProxy; import com.raoulvdberge.refinedstorage.tile.config.IRedstoneConfigurable; @@ -56,21 +56,6 @@ public abstract class TileNode extends TileBase implement } } - @Override - public void invalidate() { - super.invalidate(); - - if (getWorld() != null) { - INetworkNode node = getNode(); - - API.instance().getNetworkNodeProvider(getWorld().provider.getDimension()).removeNode(pos); - - if (!getWorld().isRemote && node.getNetwork() != null) { - node.getNetwork().getNodeGraph().rebuild(); - } - } - } - @Override public World world() { return getWorld(); @@ -133,12 +118,12 @@ public abstract class TileNode extends TileBase implement @Nonnull @SuppressWarnings("unchecked") public N getNode() { - INetworkNodeProvider provider = API.instance().getNetworkNodeProvider(getWorld().provider.getDimension()); + INetworkNodeManager manager = API.instance().getNetworkNodeManager(getWorld().provider.getDimension()); - INetworkNode node = provider.getNode(pos); + INetworkNode node = manager.getNode(pos); if (node == null) { - provider.setNode(pos, node = createNode()); + manager.setNode(pos, node = createNode()); } return (N) node; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IAccessType.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IAccessType.java index af64d48bf..127f13e98 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IAccessType.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IAccessType.java @@ -1,6 +1,6 @@ package com.raoulvdberge.refinedstorage.tile.config; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProxy; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy; import com.raoulvdberge.refinedstorage.api.storage.AccessType; import com.raoulvdberge.refinedstorage.tile.data.ITileDataConsumer; import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IComparable.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IComparable.java index 6aefbb63f..32637031f 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IComparable.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IComparable.java @@ -1,6 +1,6 @@ package com.raoulvdberge.refinedstorage.tile.config; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProxy; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy; import com.raoulvdberge.refinedstorage.tile.data.ITileDataConsumer; import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IExcessVoidable.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IExcessVoidable.java index c1aa08591..0486caf65 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IExcessVoidable.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IExcessVoidable.java @@ -1,6 +1,6 @@ package com.raoulvdberge.refinedstorage.tile.config; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProxy; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy; import com.raoulvdberge.refinedstorage.tile.data.ITileDataConsumer; import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IFilterable.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IFilterable.java index 68b7da86a..606d18225 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IFilterable.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IFilterable.java @@ -1,6 +1,6 @@ package com.raoulvdberge.refinedstorage.tile.config; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProxy; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy; import com.raoulvdberge.refinedstorage.apiimpl.API; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid; import com.raoulvdberge.refinedstorage.tile.data.ITileDataConsumer; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IPrioritizable.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IPrioritizable.java index b3b4b608f..58767ea4a 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IPrioritizable.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IPrioritizable.java @@ -1,6 +1,6 @@ package com.raoulvdberge.refinedstorage.tile.config; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProxy; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy; import com.raoulvdberge.refinedstorage.tile.data.ITileDataConsumer; import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IType.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IType.java index a70ddfa2c..39f2f2218 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IType.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/config/IType.java @@ -1,6 +1,6 @@ package com.raoulvdberge.refinedstorage.tile.config; -import com.raoulvdberge.refinedstorage.api.network.INetworkNodeProxy; +import com.raoulvdberge.refinedstorage.api.network.node.INetworkNodeProxy; import com.raoulvdberge.refinedstorage.container.ContainerBase; import com.raoulvdberge.refinedstorage.tile.data.ITileDataConsumer; import com.raoulvdberge.refinedstorage.tile.data.ITileDataProducer; diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/craftingmonitor/TileCraftingMonitor.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/craftingmonitor/TileCraftingMonitor.java index 2fad2f30f..5e947f21f 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/craftingmonitor/TileCraftingMonitor.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/craftingmonitor/TileCraftingMonitor.java @@ -1,6 +1,5 @@ package com.raoulvdberge.refinedstorage.tile.craftingmonitor; -import com.raoulvdberge.refinedstorage.api.network.INetworkNode; import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCraftingMonitor; import com.raoulvdberge.refinedstorage.tile.TileNode;