LV. 19
GP 358

【自製】LotteryItem - 自訂抽獎插件 v1.2 [20191113]

樓主 老葉 class70636
GP16 BP-

  • 插件名稱:LotteryItem
  • 插件原文:本文
  • 開發:java8
  • 適用版本:Spigot/PaperSpigot
  • 前置插件:
    • Vault必須
    • NBT API必須
    • 經濟插件必須
  • 下載:
    • 1.13.X - 1.14.X(v1.2): GDMEGA
    • ? - 1.12(v1.0): GDMEGA

前言
這是之前玩劍靈想帶出來的某個插件,寫到一半就擱置了。最近剛好有空,再加上有朋友xgd幫我寫gui api,所以就來把它完成。

插件功能
  • 全GUI設置
  • 可設定範圍數量的獎品
  • 可抽錢或其他插件製作出來的物品
  • 設置安慰獎或開啟需求
  • 設置冷卻時間、使用期限
  • 抽到獎品全頻廣播
  • 獎品滑鼠顯示

使用方法
部分名詞解釋
- 抽取物
抽取物可抽取物品型態、名稱、敘述(前提是要有)作為抽獎物之型態、名稱、敘述。
- 單一抽取
若設置單一抽取則該抽獎物只會抽到一樣獎品,就算有多個中獎機率為100%的獎品也一樣。抽獎順序是依照config設定。
- 隨機抽取
從所有中獎機率為100%的物品中隨機抽一個。


注意事項
  1. 如果要更新的話都會以1.13+的版本為主。
  2. 伺服器核心為1.14請不要設置金錢(除非找得到1.14可用的經濟插件而且可以Hook Vault的話可)

指令及權限
*所有權限預設均為OP
  • /li create <ID>
    • 功能:創建抽獎物
    • 權限:lotteryitem.commands.create
  • /li edit <ID>
    • 功能:編輯抽獎物
    • 權限:lotteryitem.commands.edit
  • /li remove <ID>
    • 功能:刪除抽獎物
    • 權限:lotteryitem.commands.remove
  • /li get <ID> [amount]
    • 功能:取得抽獎物
    • 權限:lotteryitem.commands.get
  • /li manager(m)
    • 功能:開啟抽獎物管理介面
    • 權限:lotteryitem.commands.manager
  • /li refresh
    • 功能:重製所有玩家身上的抽獎物
    • 權限:lotteryitem.commands.refresh
  • /li reload [config|saves|items]
    • 功能:重新讀取檔案
    • 權限:lotteryitem.commands.reload
  • 測試人員功能
    • 功能:使用抽獎物時不消耗抽獎物數量
    • 權限:lotteryitem.tester

檔案
  • 設定檔 config.yml
    • 所有重要設定均有註解標示
    • 其他字串可自行翻譯成需要語言
  • 物品名稱檔 items.yml
    • 格式為:<物品原始名稱>: <自訂名稱>
  • 抽獎物存檔 saves.yml
    • 儲存抽獎物的地方,沒事不要亂動

後記
因為不想做得太複雜,所以:經驗或其他插件(e.g. PlayerPoints...等等)就不配合一起做;有BUG、不會使用、建議可以留言、私信,謝謝收看。
16
-
LV. 8
GP 44
2 樓 綠茶 manu2003ty
GP0 BP-
[13:42:50] [Server thread/ERROR]: Could not pass event PlayerInteractEvent to LotteryItem v1.0
org.bukkit.event.EventException: null
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:72) ~[patched_1.12.2.jar:git-Paper-1613]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.12.2.jar:git-Paper-1613]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.12.2.jar:git-Paper-1613]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513) ~[patched_1.12.2.jar:git-Paper-1613]
at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:236) ~[patched_1.12.2.jar:git-Paper-1613]
at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:203) ~[patched_1.12.2.jar:git-Paper-1613]
at org.bukkit.craftbukkit.v1_12_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:199) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1035) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:26) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:5) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14) ~[patched_1.12.2.jar:git-Paper-1613]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_211]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_211]
at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:850) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[patched_1.12.2.jar:git-Paper-1613]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_211]
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.8.0_211]
at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_211]
at me.old.li.a.f.e(Unknown Source) ~[?:?]
at me.old.li.a.f.a(Unknown Source) ~[?:?]
at me.old.li.b.a(Unknown Source) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor346.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70) ~[patched_1.12.2.jar:git-Paper-1613]
... 18 more
0
-
LV. 8
GP 44
3 樓 綠茶 manu2003ty
GP0 BP-
[13:51:08] [Server thread/FATAL]: Error executing task
java.util.concurrent.ExecutionException: java.lang.AssertionError: TRAP
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_211]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_211]
at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:47) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:850) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666) ~[patched_1.12.2.jar:git-Paper-1613]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_211]
Caused by: java.lang.AssertionError: TRAP
at net.minecraft.server.v1_12_R1.ItemStack.F(ItemStack.java:117) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.ItemStack.setCount(ItemStack.java:892) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.PlayerInteractManager.a(PlayerInteractManager.java:441) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1050) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:26) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.PacketPlayInBlockPlace.a(PacketPlayInBlockPlace.java:5) ~[patched_1.12.2.jar:git-Paper-1613]
at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14) ~[patched_1.12.2.jar:git-Paper-1613]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_211]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_211]
at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) ~[patched_1.12.2.jar:git-Paper-1613]
... 5 more


之後出現的=w=
0
-
LV. 10
GP 65
4 樓 我不叫特斯了 fsr0494282
GP0 BP-

item-nbt-api-plugin-2.0.0  更新之後
LotteryItem 不能用 lol :p

0
-
LV. 16
GP 23
5 樓 亞洲經陳午 a92311110
GP0 BP-
請問下普通的水桶服也可以裝嘛 還是一定要spigot?
0
-
LV. 20
GP 376
6 樓 老葉 class70636
GP1 BP-
      20191113      
國軍Online登出,小修個東西;
但時間不多只修一下1.13+。

修復
  • 現在廣播不論show_item設置與否都會正常發送了
其他
  • 現在將nbt api包含在插件內了,所以nbt api有沒有裝都沒差了

1
-
未登入的勇者,要加入 7 樓的討論嗎?
板務人員:

1267 筆精華,11/11 更新
一個月內新增 7
歡迎加入共同維護。


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】