Re: [討論] 有沒有人在寫bukkit plugin?
感謝協助
但這看起來只能解決工具
武器部分應該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
討論串 (同標題文章)