服务端核心为1.16.5LoliServer,装上地皮插件后发现玩家在没有任何权限的情况下可以与不属于他自己地皮里的方块交互,且多个mod皆是如此,而原版则没有,请问如何做到像老版本的地皮一样保护好mod物品和方块
新版本改为付费插件了吧,建议问下作者,免费版应该最高支持到1.15.2,换最新版试试。
1.16建议用5.0版本之上,6.0版本之下
名副其实 发表于 2022-5-21 20:13
https://www.spigotmc.org/resources/plotsquared-v6.77506/
请升级到最新版本
6.几的版本试过了,依旧无用
唯一方法:手动魔改
此插件本身就是为了插件服而设计,用混合端出现的BUG都不会受到官方的任何支持
此插件本身就是为了插件服而设计,用混合端出现的BUG都不会受到官方的任何支持
真的太难了qwq 发表于 2022-5-22 00:08
唯一方法:手动魔改
此插件本身就是为了插件服而设计,用混合端出现的BUG都不会受到官方的任何支持 ...
那么请问如何做到手动魔改呢
被cnpc封装的“玩家右键方块”事件有点缺陷,还是只能另外注册,就写在上次的脚本下面,把注册事件的流程写成函数本就是为了在同一页多次使用,没必要分开
其中,"dipi"是地皮世界的名字,你可以改成别的复制代码这个写法其实有点……粗犷,不过堪堪够用了
你可以看到,这两次的改法很接近,我后来研究发现这两种bug都源于cat&loli偷懒了,cat&loli向bukkit传递的事件仅有4种,其中一种就是“玩家破坏方块”事件,这也是上述脚本能发挥作用的原因(不过我之前为“使用桶”事件写脚本的时候是其实误打误撞,觉得破坏方块事件写起来简单些),噷,也不指望cat能修了
说到底,万恶之源还是forge和bukkit不齿的结合
现在这个脚本的逻辑是——如果玩家不准破坏这个方块,那他就不能右键这个方块,换句话说,你不能在禁止玩家破坏方块的同时,允许玩家右键方块,对于地皮,我相信这两种权限肯定是密不可分的,对于res领地或其它类似性质的插件来说的话,这种写法意味着你不能在受保护的区域里设立一个人人都能右键的公共附魔台(之类的),但你也没说这方面的需求,仅仅是地皮,现有的写法足够了
其中,"dipi"是地皮世界的名字,你可以改成别的
- listenEvent("net.minecraftforge.event.entity.player.PlayerInteractEvent.RightClickBlock",function(e){
- var player=e.getPlayer()
- if(player.func_130014_f_().func_234923_W_().func_240901_a_().func_110623_a()=="dipi"){
- var pos=e.getHitVec().func_216350_a()
- if(MinecraftForge.EVENT_BUS.post(new BlockEvent.BreakEvent(player.func_130014_f_(),pos,player.func_130014_f_().func_180495_p(pos),player)))
- e.setCanceled(true)
- }
- })
你可以看到,这两次的改法很接近,我后来研究发现这两种bug都源于cat&loli偷懒了,cat&loli向bukkit传递的事件仅有4种,其中一种就是“玩家破坏方块”事件,这也是上述脚本能发挥作用的原因(不过我之前为“使用桶”事件写脚本的时候是其实误打误撞,觉得破坏方块事件写起来简单些),噷,也不指望cat能修了
说到底,万恶之源还是forge和bukkit
现在这个脚本的逻辑是——如果玩家不准破坏这个方块,那他就不能右键这个方块,换句话说,你不能在禁止玩家破坏方块的同时,允许玩家右键方块,对于地皮,我相信这两种权限肯定是密不可分的,对于res领地或其它类似性质的插件来说的话,这种写法意味着你不能在受保护的区域里设立一个人人都能右键的公共附魔台(之类的),但你也没说这方面的需求,仅仅是地皮,现有的写法足够了
无敌三脚猫 发表于 2022-5-20 21:32
被cnpc封装的“玩家右键方块”事件有点缺陷,还是只能另外注册,就写在上次的脚本下面,把注册事件的流程写 ...
感谢大佬的帮助,这算是解决很大一个问题了,这么多次都是您帮的我,十分感谢