diff --git a/common-files/src/main/resources/resources/default/configuration/blocks/palm_tree.yml b/common-files/src/main/resources/resources/default/configuration/blocks/palm_tree.yml index 7fdbbe403..656002f56 100644 --- a/common-files/src/main/resources/resources/default/configuration/blocks/palm_tree.yml +++ b/common-files/src/main/resources/resources/default/configuration/blocks/palm_tree.yml @@ -509,11 +509,10 @@ items: textures: texture: minecraft:block/custom/palm_planks -items#pfence: +items#fence: default:palm_fence: material: nether_brick - data: - item-name: + data::item-name: model: type: minecraft:model path: minecraft:item/custom/palm_fence_inventory @@ -526,6 +525,7 @@ items#pfence: block: default:palm_fence default:palm_fence_post: material: nether_brick + data::item-name: model: type: minecraft:model path: minecraft:block/custom/palm_fence_post @@ -535,6 +535,7 @@ items#pfence: texture: minecraft:block/custom/palm_planks default:palm_fence_side: material: nether_brick + data::item-name: model: type: minecraft:model path: minecraft:block/custom/palm_fence_side @@ -593,6 +594,7 @@ items#button: block: default:palm_button default:palm_button_pressed: material: nether_brick + data::item-name: model: type: minecraft:model path: minecraft:block/custom/palm_button_pressed @@ -602,6 +604,7 @@ items#button: texture: minecraft:block/custom/palm_planks default:palm_button_not_pressed: material: nether_brick + data::item-name: model: type: minecraft:model path: minecraft:block/custom/palm_button_not_pressed diff --git a/common-files/src/main/resources/resources/default/configuration/furniture/flower_basket.yml b/common-files/src/main/resources/resources/default/configuration/furniture/flower_basket.yml index 9f4d079ba..010629735 100644 --- a/common-files/src/main/resources/resources/default/configuration/furniture/flower_basket.yml +++ b/common-files/src/main/resources/resources/default/configuration/furniture/flower_basket.yml @@ -20,15 +20,15 @@ items: default:flower_basket_ground: material: nether_brick model: minecraft:item/custom/flower_basket_ground - item-name: + data::item-name: default:flower_basket_wall: material: nether_brick model: minecraft:item/custom/flower_basket_wall - item-name: + data::item-name: default:flower_basket_ceiling: material: nether_brick model: minecraft:item/custom/flower_basket_ceiling - item-name: + data::item-name: furniture: default:flower_basket: events: diff --git a/common-files/src/main/resources/resources/internal/configuration/gui.yml b/common-files/src/main/resources/resources/internal/configuration/gui.yml index 87efc97c5..7835a1919 100644 --- a/common-files/src/main/resources/resources/internal/configuration/gui.yml +++ b/common-files/src/main/resources/resources/internal/configuration/gui.yml @@ -1,3 +1,12 @@ +categories: + craftengine:all: + priority: -1000 + name: + icon: minecraft:command_block + conditions: + - type: permission + permission: craftengine.admin + all-items: true images: internal:item_browser: height: 140 diff --git a/common-files/src/main/resources/resources/internal/configuration/translations.yml b/common-files/src/main/resources/resources/internal/configuration/translations.yml index af4c34ee5..6c1c57b0d 100644 --- a/common-files/src/main/resources/resources/internal/configuration/translations.yml +++ b/common-files/src/main/resources/resources/internal/configuration/translations.yml @@ -12,6 +12,7 @@ translations: internal.cooking_info: Recipe Information internal.cooking_info.0: 'Time: ticks' internal.cooking_info.1: 'Experience: ' + category.all.name: 'All Items' zh_cn: internal.next_page: 下一页 internal.previous_page: 上一页 @@ -25,6 +26,7 @@ translations: internal.cooking_info: 配方信息 internal.cooking_info.0: '时间: 刻' internal.cooking_info.1: '经验: ' + category.all.name: '全部物品' de: internal.next_page: Nächste Seite internal.previous_page: Vorherige Seite diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/AbstractItemManager.java b/core/src/main/java/net/momirealms/craftengine/core/item/AbstractItemManager.java index 3104b4e53..1af81c706 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/AbstractItemManager.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/AbstractItemManager.java @@ -51,7 +51,7 @@ public abstract class AbstractItemManager extends AbstractModelGenerator impl private final ItemParser itemParser; private final EquipmentParser equipmentParser; protected final Map> externalItemSources = new HashMap<>(); - protected final Map> customItemsById = new HashMap<>(); + protected final Map> customItemsById = new LinkedHashMap<>(); protected final Map> customItemsByPath = new HashMap<>(); protected final Map> customItemTags = new HashMap<>(); protected final Map modernItemModels1_21_4 = new HashMap<>(); diff --git a/core/src/main/java/net/momirealms/craftengine/core/plugin/gui/category/ItemBrowserManagerImpl.java b/core/src/main/java/net/momirealms/craftengine/core/plugin/gui/category/ItemBrowserManagerImpl.java index 43f881ac4..a8f463235 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/plugin/gui/category/ItemBrowserManagerImpl.java +++ b/core/src/main/java/net/momirealms/craftengine/core/plugin/gui/category/ItemBrowserManagerImpl.java @@ -7,6 +7,7 @@ import net.momirealms.craftengine.core.entity.player.Player; import net.momirealms.craftengine.core.item.Item; import net.momirealms.craftengine.core.item.ItemBuildContext; import net.momirealms.craftengine.core.item.ItemKeys; +import net.momirealms.craftengine.core.item.ItemManager; import net.momirealms.craftengine.core.item.recipe.*; import net.momirealms.craftengine.core.pack.LoadingSequence; import net.momirealms.craftengine.core.pack.Pack; @@ -24,6 +25,7 @@ import net.momirealms.craftengine.core.util.*; import java.nio.file.Path; import java.util.*; +import java.util.stream.Collectors; @SuppressWarnings("DuplicatedCode") public class ItemBrowserManagerImpl implements ItemBrowserManager { @@ -120,7 +122,13 @@ public class ItemBrowserManagerImpl implements ItemBrowserManager { @Override public void parseSection(Pack pack, Path path, String node, Key id, Map section) { String name = section.getOrDefault("name", id).toString(); - List members = MiscUtils.getAsStringList(section.getOrDefault("list", List.of())); + List members; + if (ResourceConfigUtils.getAsBoolean(section.get("all-items"), "all-items")) { + ItemManager itemManager = ItemBrowserManagerImpl.this.plugin.itemManager(); + members = itemManager.loadedItems().keySet().stream().filter(it -> !itemManager.isVanillaItem(it)).map(Key::asString).collect(Collectors.toList()); + } else { + members = MiscUtils.getAsStringList(section.getOrDefault("list", List.of())); + } Key icon = Key.of(section.getOrDefault("icon", ItemKeys.STONE).toString()); int priority = ResourceConfigUtils.getAsInt(section.getOrDefault("priority", 0), "priority"); List lore = MiscUtils.getAsStringList(section.getOrDefault("lore", List.of()));