diff --git a/src/main/java/org/terasology/structureTemplates/internal/ui/ToolboxScreen.java b/src/main/java/org/terasology/structureTemplates/internal/ui/ToolboxScreen.java index 24c7a0e..f81ee72 100644 --- a/src/main/java/org/terasology/structureTemplates/internal/ui/ToolboxScreen.java +++ b/src/main/java/org/terasology/structureTemplates/internal/ui/ToolboxScreen.java @@ -36,6 +36,7 @@ import org.terasology.structureTemplates.events.StructureTemplateFromToolboxRequest; import org.terasology.structureTemplates.util.ItemType; +import java.util.ArrayList; import java.util.Comparator; import java.util.List; import java.util.Optional; @@ -129,8 +130,8 @@ private ToolboxTree createBlockSubTree() { List blockList = Lists.newArrayList(blocks); blockList.sort(Comparator.comparing(BlockUri::toString)); - Set blockShapes = assetManager.getAvailableAssets(BlockShape.class); - + List blockShapes = new ArrayList<>(assetManager.getAvailableAssets(BlockShape.class)); + blockShapes.sort(Comparator.comparing(ResourceUrn::toString)); for (BlockUri block : blockList) { if (!block.equals(BlockManager.AIR_ID) && !block.equals(BlockManager.UNLOADED_ID)) { @@ -143,7 +144,6 @@ private ToolboxTree createBlockSubTree() { ToolboxTree blockFamiliyTree = createBlockNode(block); if (freeFormBlocks.contains(block)) { for (ResourceUrn shareUrn : blockShapes) { - blockFamiliyTree.addChild(new ToolboxTreeValue(shareUrn.toString(), genericBlockTexture, () -> new BlockFromToolboxRequest(new BlockUri(block.getBlockFamilyDefinitionUrn(), shareUrn))));