Skip to content

[问题]: ItemsAdder 材質做為菜單參數導入時無法解析 #212

Description

@Snowball0409

🚀 是否已尝试最新的版本

  • 我已更新 TrMenu 至最新的版本, 并且同样复现该问题.

📚 是否已查阅 Wiki

  • 我已查阅 Wiki 对于该问题的相关内容, 并确定该问题是存在的.

🔗 是否存在重复 issue

  • 我已翻阅现有的 issue 没有发现内容重复, 亦或是对现有 issue 的更详细的描述.

📰 服务端详细信息

TrMenu Dump Information (Date: xxxx-xx-xx xx:xx:xx)

  | Server OS: Ubuntu 22.04, Linux 6.8.0
  | Server software: paper-1.21.8-60
  | Java version: 21.0.8

  | TrMenu: 3.8.5 (有自行修復ItemActive的問題)
- Installed Plugins:
- BetonQuest.jar 
- EssentialsXSpawn-2.22.0-dev+28-0aa25c8.jar
- LuckPerms-Bukkit-5.5.11.jar 
- QuickShop-Hikari-6.2.0.10.jar 
- Citizens-2.0.39-b3931.jar
- ExcellentCrates-6.3.3.jar 
- nightcore-2.7.16.jar 
- SCore-5.25.9.7.jar 
- VaultUnlocked-2.15.1.jar 
- EssentialsX-2.22.0-dev+28-0aa25c8.jar 
- floodgate-spigot.jar 
- PAPIProxyBridge-Bukkit-1.8.4.jar 
- SignedVelocity-Paper-1.4.0.jar 
- VentureChat-3.8.0.jar 
- EssentialsXDiscord-2.22.0-dev+28-0aa25c8.jar 
- HuskSync-Bukkit-3.8.7-96f3409+mc.1.21.8.jar 
- PlaceholderAPI-2.11.6.jar 
- TAB-Bridge v6.1.5.jar 
- EssentialsXDiscordLink-2.22.0-dev+28-0aa25c8.jar 
- ItemsAdder_4.0.13.jar 
- ProtocolLib.jar 
- TNE-Paper-0.1.4.1-SNAPSHOT-1.jar

🔍 详细的描述

1. 將source:IA:<item_name>作為動作"open: "的參數導入, e.g. "open: Example source:IA:<item_name>"
2. 對應菜單解讀對應的材質:
   "t":
        display: 
            material: "{0}"
3. 遊戲內點開對應菜單, 未顯示icon, log報錯

🗄 服务端日志

[13:57:55] [TConfigWatcherService-1/WARN]: java.lang.IllegalArgumentException: SOUL_FIRE isn't an item
[13:57:55] [TConfigWatcherService-1/WARN]: 	at com.google.common.base.Preconditions.checkArgument(Preconditions.java:218)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at org.bukkit.inventory.ItemStack.of(ItemStack.java:63)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:159)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:138)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:125)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at org.bukkit.inventory.ItemStack.<init>(ItemStack.java:108)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.taboolib.library.xseries.XMaterial.parseItem(XMaterial.java:2330)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.display.texture.Texture$Companion.parseMaterial(Texture.kt:163)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.display.texture.Texture$Companion.access$parseMaterial(Texture.kt:74)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.display.texture.Texture.generate(Texture.kt:40)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.display.item.Item.generate(Item.kt:77)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.display.item.Item.build(Item.kt:109)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.display.item.Item.build$default(Item.kt:104)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.display.item.Item.get(Item.kt:67)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.display.icon.Icon.settingItem(Icon.kt:77)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.display.icon.Icon.filter(Icon.kt:153)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.display.icon.Icon.onRefresh(Icon.kt:82)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.display.Menu.loadIcon(Menu.kt:222)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.display.Menu.open(Menu.kt:112)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.display.Menu.open$default(Menu.kt:66)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.conf.Loader.listen$lambda$25$lambda$23(Loader.kt:161)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.display.Menu.forSessions$lambda$27(Menu.kt:283)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.display.Menu.forViewers(Menu.kt:327)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.display.Menu.forSessions(Menu.kt:283)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.module.conf.Loader.listen$lambda$25(Loader.kt:160)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.util.file.FileListener.listener$lambda$0(FileListener.kt:23)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.taboolib.common5.FileWatcher$FileListener.handleEvent(FileWatcher.java:170)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.taboolib.common5.FileWatcher.lambda$new$1(FileWatcher.java:63)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at java.base/java.util.concurrent.ConcurrentHashMap.forEach(ConcurrentHashMap.java:1603)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.taboolib.common5.FileWatcher.lambda$new$2(FileWatcher.java:61)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at TrMenu-3.8.4.jar//me.arasple.mc.trmenu.taboolib.common5.FileWatcher.lambda$new$3(FileWatcher.java:58)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
[13:57:55] [TConfigWatcherService-1/WARN]: 	at java.base/java.lang.Thread.run(Thread.java:1583)
[13:57:55] [TConfigWatcherService-1/INFO]: ICON: X

⚙ 配置文件

Shop-Handler-Purchase.yml:

Title:
  - "Purchasing"

Layout:
  - "########<"
  - "|       |"
  - "| - X + |"
  - "|       |"
  - "####*####"

# {0}         {1}         {2}           {3}         {4}        {5}
# {fromMenu} {itemName} {singlePrice} {amount} {currency_bal} {currency_id}
Events:
  Open:
    - "reset"
  Close:
    - "menu: {0}"
    - "del-args"

Icons:
  "#":
    display:
      material: gray stained glass pane
      name: "&7"
  "|":
    display:
      material: cyan stained glass pane
      name: "&7"
  "<":
    display:
      material: red stained glass pane
      name: "&6Return"
    actions:
      all: "menu: {0} &&& sound: UI_BUTTON_CLICK-1-2"

  "-":
    display:
      material: red stained glass pane
      name: "&cAmount -"
      lore:
        - "&8Current Amount: {3}"
        - ""
        - "&8▪ &7Left &f-1"
        - "&8▪ &7Shift Left &f-16"
        - ""
    actions:
      left: "set-args: {0} {1} {2} `${js: Math.max(funInt(3) - 1, 1).toFixed(0)}` {4} {5}"
      shift_left: "set-args: {0} {1} {2} `${js: Math.max(funInt(3) - 16, 1).toFixed(0)}` {4} {5}"
      all: "update: +;-;X &&& sound: UI_BUTTON_CLICK-1-2"

  "+":
    display:
      material: lime stained glass pane
      name: "&aAmount +"
      lore:
        - "&8Current Amount: {3}"
        - ""
        - "&8▪ &7Left &f+1"
        - "&8▪ &7Shift Left &f+16"
        - ""
    actions:
      left: "set-args: {0} {1} {2} `${js: Math.min(funInt(3) + 1, 64).toFixed(0)}` {4} {5}"
      shift_left: "set-args: {0} {1} {2} `${js: Math.min(funInt(3) + 16, 64).toFixed(0)}` {4} {5}"
      all: "update: +;-;X &&& sound: UI_BUTTON_CLICK-1-2"

  "*":
    display:
      material: sunflower
      name: "&e&lCustomizer"
      lore:
        - ""
        - "&7Balance: &e${4}"
        - ""
        - "&a➥ &2Click to set a custom amount quickly"
    actions:
      all:
        - catcher:
            amount:
              type: SIGN
              start: "actionbar: &b&lPlease input a valid number"
              cancel: "tell: &8Cancelled"
              end:
                - 'set-args: {0} {1} {2} `${js: Math.min(Math.max(funInt("meta:input"), 1), 64).toFixed(0)}` {4} {5}'
                - "menu: Shop-Handler-Purchase"

  "X":
    display:
      material: "{1}"
      amount: "${js: funInt(3)}"
      lore:
        - ""
        - "&7Price: &6${2}"
        - "&7Amount: &a{3}"
        - ""
        - "&7Total Price: &e${js: funInt(3) * funDouble(2)}"
        - ""
        - '${js: funDouble(4) >= funInt(3) * funDouble(2) ? "&b➥ &3Click to purchase" : "&c➥ &8You do not have enough money"}'
    actions:
      all:
        - condition: "js: funDouble(4) >= funInt(3) * funDouble(2)"
          actions:
            - "command: {5} pay Bank ${js: funInt(3) * funDouble(2)}"
            - "give-item: material:{1},amt:{3}"
            - "title: &3&lPurchased `&a&lGoods has been delivered`"
            - "sound: BLOCK_NOTE_BLOCK_PLING-1-2"
            - "force-close &&& del-args"
          deny:
            - "sound: BLOCK_ANVIL_DESTROY-1-2"

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions