Re: [討論] 有沒有人在寫bukkit plugin?

看板Minecraft作者 (迪納敏斯)時間13年前 (2013/01/07 12:34), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串3/4 (看更多)
感謝協助 但這看起來只能解決工具 武器部分應該EntityDamageByEntityEvent 可從getEntity拿到player再拿到手上道具處理 但裝備部分看起來都是要迭代物品欄,我擔心會對SERVER負擔太重 不知道有沒有可能用類似複寫setDurability的方式處理(應該不太行 所以最後我選擇裝了RepairRecipe解決 另外 看到你有寫附魔部分 我目前的理解是 就算接了event 但不做任何處理 (例如接了BlockBreakEvent但public void OnBlockBreak(BlockBreakEvent e){}) 原本該發生的事應該不會有影響 例如耐久度附魔 不知道有沒有誤會 ※ 引述《H45 (!H45)》之銘言: : ※ 引述《vencin1987 (迪納敏斯)》之銘言: : : 近日因朋友要求開了一個bukkit親友服 : : 為提升遊戲性及降低時間花費 : : 有一些需求 : : 1. 提升得到的EXP倍率 : : 這個搞定了 簡單的用 : : PlayerExpChangeEvent的getAmount setAmount達成 : : 2.提物品高耐久度 : : 較可能的做法是降低扣耐久度的機率 : : 但我找不到相應的事件可以搞定 : : 不知道有沒有人有弄過這個? : 事件:BlockBreakEvent 方塊破壞事件 : 耐久度增減相關類別與方法: : Player player = blockBreakEvent.getPlayer(); // 取得破壞方塊的玩家 : ItemStack item = player.getItemInHand(); // 取得玩家手上的物品 : short durability = item.getDurability(); // 取得物品的耐久度 : item.setDurability(durability - 1); // 耐久度減一 : (全新的物品耐久度是零,所以耐久度加一,是讓物品愈來愈舊,加到最後壞掉。) : 附魔相關: : if (item.containsEnchantment(Enchantment.DURABILITY)) { // 有無耐久附魔 : // 取得耐久附魔等級 : int level = item.getEnchantmentLevel(Enchantment.DURABILITY); : if (random.nextInt(level + 1) == 0) { // 一定機率扣耐久 : // TODO 減少耐久度 : } : } : 相關 Plugin 可參考: : 1. Lumberjack (專案較小): https://github.com/ChinChangYang/Lumberjack : 2. mcMMO (專案較大): https://github.com/mcMMO-Dev/mcMMO -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 139.223.42.113

01/07 12:59, , 1F
最後五行總覺得你是懂的,但是卻沒寫對=.=
01/07 12:59, 1F

01/07 13:02, , 2F
耐久度附魔是以一定機率不損耐久度 就這樣 程式部分我只是給個
01/07 13:02, 2F

01/07 13:02, , 3F
範例,看你要不要取得附魔相關的資訊供後續程式處理。
01/07 13:02, 3F
文章代碼(AID): #1Gwb1MhZ (Minecraft)
討論串 (同標題文章)
文章代碼(AID): #1Gwb1MhZ (Minecraft)