Sort the crafter manager containers.

This commit is contained in:
raoulvdberge
2018-07-02 12:10:26 +02:00
parent b40fe6d360
commit 5ca5160583
3 changed files with 15 additions and 9 deletions

View File

@@ -115,7 +115,7 @@ public interface ICraftingManager {
* @param tag the tag to write to * @param tag the tag to write to
* @return the written tag * @return the written tag
*/ */
NBTTagCompound writeToNBT(NBTTagCompound tag); NBTTagCompound writeToNbt(NBTTagCompound tag);
/** /**
* @param listener the listener * @param listener the listener

View File

@@ -164,7 +164,7 @@ public class CraftingManager implements ICraftingManager {
} }
@Override @Override
public NBTTagCompound writeToNBT(NBTTagCompound tag) { public NBTTagCompound writeToNbt(NBTTagCompound tag) {
NBTTagList list = new NBTTagList(); NBTTagList list = new NBTTagList();
for (ICraftingTask task : tasks.values()) { for (ICraftingTask task : tasks.values()) {
@@ -255,10 +255,17 @@ public class CraftingManager implements ICraftingManager {
this.patterns.clear(); this.patterns.clear();
this.containerInventories.clear(); this.containerInventories.clear();
List<ICraftingPatternContainer> containers = new ArrayList<>();
for (INetworkNode node : network.getNodeGraph().all()) { for (INetworkNode node : network.getNodeGraph().all()) {
if (node instanceof ICraftingPatternContainer && node.canUpdate()) { if (node instanceof ICraftingPatternContainer && node.canUpdate()) {
ICraftingPatternContainer container = (ICraftingPatternContainer) node; containers.add((ICraftingPatternContainer) node);
}
}
containers.sort((a, b) -> b.getPosition().compareTo(a.getPosition()));
for (ICraftingPatternContainer container : containers) {
this.patterns.addAll(container.getPatterns()); this.patterns.addAll(container.getPatterns());
IItemHandlerModifiable handler = container.getPatternInventory(); IItemHandlerModifiable handler = container.getPatternInventory();
@@ -267,7 +274,6 @@ public class CraftingManager implements ICraftingManager {
} }
} }
} }
}
@Nullable @Nullable
@Override @Override

View File

@@ -533,7 +533,7 @@ public class TileController extends TileBase implements ITickable, INetwork, IRe
redstoneMode.write(tag); redstoneMode.write(tag);
craftingManager.writeToNBT(tag); craftingManager.writeToNbt(tag);
readerWriterManager.writeToNbt(tag); readerWriterManager.writeToNbt(tag);