Ez4p1xEL
本帖最后由 Ez4p1xEL 于 2022-8-27 02:48 编辑

PVPMode | PVP模式/状态


轻量化管理玩家的PVP模式: 和平, 默认, 疯狂
和平模式: 你无法攻击别人,别人也无法攻击你
默认模式: 正常
疯狂模式: 攻击别人时会有更多伤害, 但别人攻击自己时也会+伤害
支持更换为疯狂模式时花费金钱及疯狂模式计时器
可选前置插件:
1. Vault (疯狂模式前置)
2. PlaceholderAPI
3. Citizens

PlaceholderAPI变量: %pvpmode_mode% 显示你的模式











简写: pvp
/PVPMode help 查看帮助
/PVPMode info <玩家> 查看你/别人的模式
/PVPMode <0/1/2/peace/default/insane> 切换模式
/PVPMode <0/1/2/peace/default/insane> <玩家> 切换玩家的模式
/PVPMode create <世界> <模式> 创建世界以锁定模式
/PVPMode remove <世界> 移除世界
/PVPMode mode <世界> <模式> 设置世界的模式锁定
/PVPMode reload 重载配置文件
* 0/peace = 和平, 1/default = 默认, 2/insane = 疯狂




pvpmode.admin 管理员指令
pvpmode.insane 切换为疯狂模式的权限




只需要把PVPMode.jar放进你的服务器plugins文件夹里就行
如果你需要Vault和PlaceholderAPI功能,请将他们也放进去(可选)

↓ 非最新版插件的文件 不会定时更新下面的文件 如有需要可前往Spigotmc查看较新的配置文件






PVPMode-1.5.jar (45.17 KB, 下载次数: 170)
我仅是一名仍在学习的开发者 我的代码没有任何参考价值 请不要评论我的源码










以下插件将会持续更新以保证最佳的体验:
Vote —— 赞成/反对的投票插件 Yes or No? [1.8.X-1.18.X]
NoBuildPlus —— 轻量级的世界保护插件 [1.8.X-1.18.X]
PVPMode —— 开关PVP模式 [1.8.X-1.18.X]
Like —— 给你的朋友点个赞吧 [1.8.X-1.18.X]
HolyJoin —— 自定义加入消息/指令 支持不同权限组 [1.8.X-1.18.X]



本插件所用代码部分来自其他开源或闭源(已授权)作品



奥力給
非常简洁的插件!
希望可以添加更换冷却和指定世界锁定PVP什么的
(希望可以更新NoBuildPlus出JAVA8版本,真心想用)

a160660575
支持原创作者

Ez4p1xEL

熟悉的面孔

苏狐awa
我差点在spigot上面发了。。看到有简体中文就跑过来了www)

大拿可以添加一个在指定区域锁定模式的功能吗?让它支持一下如Residence、GriefDefender和worldgurad这种区域插件,感谢大拿!

mobuting


这个是咋回事啊 大佬

1434711970
不能下载呜呜呜

ewdadwa
有没有1.7.10版本的呀

onlyai
超级厉害的插件,收藏一波

kongqi_
感谢lz推荐

飛飛飛飛
MCBBS有你更精彩~

337820864
感谢分享~~~·

1638777093
pvp关闭状态 弓箭还是可以杀人

木头酱
真不错,挺好的

Recnks
感谢分享awa

Ez4p1xEL
mobuting 发表于 2022-6-16 12:12
这个是咋回事啊 大佬

发一下后台报错日志+你的服务器核心和版本+插件版本

星敏酱
什么时候支持1.19呢

Ez4p1xEL
星敏酱 发表于 2022-6-28 14:41
什么时候支持1.19呢

理论上应该是支持1.19的
只是我没测试过不肯确定

132awd
感谢分享~~~

sensen1234
可以设置某个世界默认的pvp模式为0吗 并且玩家还可以手动切换

还有个小建议,可不可以添加一个在0模式时,试图攻击别人,提示配置文件里所写的内容
并且可以设置提示间隔那种(免得他手残开了连点器啥的)

还有在对方是0模式时,和上面同理,提示对方开启了和平模式

96246416
支持原创作者

1457370814
本帖最后由 1457370814 于 2022-8-3 15:33 编辑

使用NPC插件的时候,在左键点击NPC会报一下错误 1.18.2 paper  NPC插件-Citizens2


[01:32:04 ERROR]: Could not pass event EntityDamageByEntityEvent to PVPMode v1.2
java.lang.NullPointerException: Cannot invoke "String.equalsIgnoreCase(String)" because the return value of "p1xel.pvpmode.Storage.Data.getMode(String)" is null
        at p1xel.pvpmode.Listeners.ModeListener.onDamage(ModeListener.java:39) ~[[开关PVP]PVP.jar:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor198.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:git-Purpur-1632]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:671) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.callEvent(CraftEventFactory.java:248) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:1169) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:1018) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:971) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:1203) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at net.minecraft.world.entity.LivingEntity.damageEntity0(LivingEntity.java:2134) ~[?:?]
        at net.minecraft.world.entity.player.Player.damageEntity0(Player.java:1072) ~[?:?]
        at net.minecraft.world.entity.LivingEntity.hurt(LivingEntity.java:1386) ~[?:?]
        at net.minecraft.world.entity.player.Player.hurt(Player.java:979) ~[?:?]
        at net.minecraft.server.level.ServerPlayer.hurt(ServerPlayer.java:1067) ~[?:?]
        at net.citizensnpcs.nms.v1_18_R2.entity.EntityHumanNPC.a(EntityHumanNPC.java:288) ~[[NPC]Citizens.jar:?]
        at net.minecraft.world.entity.player.Player.attack(Player.java:1319) ~[?:?]
        at net.minecraft.server.level.ServerPlayer.attack(ServerPlayer.java:2149) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl$6.a(ServerGamePacketListenerImpl.java:2627) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundInteractPacket$1.dispatch(ServerboundInteractPacket.java:24) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundInteractPacket.dispatch(ServerboundInteractPacket.java:80) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.handleInteract(ServerGamePacketListenerImpl.java:2552) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:67) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:12) ~[?:?]
        at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:51) ~[?:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1427) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:188) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1404) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1397) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
        at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1375) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1257) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:321) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at java.lang.Thread.run(Unknown Source) ~[?:?]---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2022.08.03:楼主辛苦了,新版本已测试,后台还是会输出错误

[15:31:23 ERROR]: Could not pass event EntityDamageByEntityEvent to PVPMode v1.4
java.lang.NullPointerException: Cannot invoke "String.equalsIgnoreCase(String)" because the return value of "p1xel.pvpmode.Storage.Data.getMode(String)" is null
        at p1xel.pvpmode.Listeners.ModeListener.onDamage(ModeListener.java:48) ~[[开关PVP]PVPMode-1.4.jar:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor200.execute(Unknown Source) ~[?:?]        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:git-Purpur-1632]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:671) ~[purpur-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.callEvent(CraftEventFactory.java:248) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:1169) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:1018) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:971) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:1203) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at net.minecraft.world.entity.LivingEntity.damageEntity0(LivingEntity.java:2134) ~[?:?]
        at net.minecraft.world.entity.player.Player.damageEntity0(Player.java:1072) ~[?:?]
        at net.minecraft.world.entity.LivingEntity.hurt(LivingEntity.java:1386) ~[?:?]
        at net.minecraft.world.entity.player.Player.hurt(Player.java:979) ~[?:?]
        at net.minecraft.server.level.ServerPlayer.hurt(ServerPlayer.java:1067) ~[?:?]
        at net.citizensnpcs.nms.v1_18_R2.entity.EntityHumanNPC.a(EntityHumanNPC.java:288) ~[[NPC]Citizens.jar:?]
        at net.minecraft.world.entity.player.Player.attack(Player.java:1319) ~[?:?]
        at net.minecraft.server.level.ServerPlayer.attack(ServerPlayer.java:2149) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl$6.a(ServerGamePacketListenerImpl.java:2627) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundInteractPacket$1.dispatch(ServerboundInteractPacket.java:24) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundInteractPacket.dispatch(ServerboundInteractPacket.java:80) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.handleInteract(ServerGamePacketListenerImpl.java:2552) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:67) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:12) ~[?:?]
        at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:51) ~[?:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1427) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:188) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1404) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1397) ~[purpur-1.18.2.jar:git-Purpur-1632]        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
        at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1375) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1257) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:321) ~[purpur-1.18.2.jar:git-Purpur-1632]
        at java.lang.Thread.run(Unknown Source) ~[?:?]





桃花继续开
很简单不错的插件 感谢分享

恶灵qwq
要咋子加变量也

纳米樊凡
感谢大佬分享

QY_ink
完美符合了需求

只知坚持
和平模式可以使用弓去攻击别人的bug希望修复一下

QQ1185391373
拿走了,谢谢

gold_bnoole
原版pvp禁用失效了 下这个试试

[email protected]
[17:04:47 ERROR]: Could not pass event EntityDamageByEntityEvent to PVPMode v1.4
java.lang.NullPointerException: Cannot invoke "String.equalsIgnoreCase(String)" because the return value of "p1xel.pvpmode.Storage.Data.getMode(String)" is null
        at p1xel.pvpmode.Listeners.ModeListener.onDamage(ModeListener.java:48) ~[PVPMode-1.4.jar:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor1519.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[purpur-api-1.19-R0.1-SNAPSHOT.jar:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[purpur-api-1.19-R0.1-SNAPSHOT.jar:git-Purpur-1735]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[purpur-api-1.19-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:678) ~[purpur-api-1.19-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_19_R1.event.CraftEventFactory.callEvent(CraftEventFactory.java:248) ~[purpur-1.19.jar:git-Purpur-1735]
        at org.bukkit.craftbukkit.v1_19_R1.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:1172) ~[purpur-1.19.jar:git-Purpur-1735]
        at org.bukkit.craftbukkit.v1_19_R1.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:1021) ~[purpur-1.19.jar:git-Purpur-1735]
        at org.bukkit.craftbukkit.v1_19_R1.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:972) ~[purpur-1.19.jar:git-Purpur-1735]
        at org.bukkit.craftbukkit.v1_19_R1.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:1206) ~[purpur-1.19.jar:git-Purpur-1735]
        at net.minecraft.world.entity.LivingEntity.damageEntity0(LivingEntity.java:2166) ~[?:?]
        at net.minecraft.world.entity.player.Player.damageEntity0(Player.java:1115) ~[?:?]
        at net.minecraft.world.entity.LivingEntity.hurt(LivingEntity.java:1409) ~[?:?]
        at net.minecraft.world.entity.player.Player.hurt(Player.java:1022) ~[?:?]
        at net.minecraft.server.level.ServerPlayer.hurt(ServerPlayer.java:1077) ~[?:?]
        at net.minecraft.world.entity.player.Player.attack(Player.java:1362) ~[?:?]
        at net.minecraft.server.level.ServerPlayer.attack(ServerPlayer.java:2182) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl$6.a(ServerGamePacketListenerImpl.java:2828) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundInteractPacket$1.dispatch(ServerboundInteractPacket.java:24) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundInteractPacket.dispatch(ServerboundInteractPacket.java:80) ~[?:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.handleInteract(ServerGamePacketListenerImpl.java:2753) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:67) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:12) ~[?:?]
        at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$0(PacketUtils.java:51) ~[?:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[purpur-1.19.jar:git-Purpur-1735]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1386) ~[purpur-1.19.jar:git-Purpur-1735]
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:183) ~[purpur-1.19.jar:git-Purpur-1735]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1363) ~[purpur-1.19.jar:git-Purpur-1735]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1356) ~[purpur-1.19.jar:git-Purpur-1735]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
        at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1334) ~[purpur-1.19.jar:git-Purpur-1735]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1219) ~[purpur-1.19.jar:git-Purpur-1735]
        at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:308) ~[purpur-1.19.jar:git-Purpur-1735]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]
但是不影响正常使用就是报个错

HelloMCS
bug反馈,关闭pvp后玩家用弓箭也可以打

MCxiao_hua
有一个致命问题,那就是无法防御弓箭的伤害。

417940643
666666666666

rua鑫
好插件,支持

112402264
谢谢分享,下载试试

捉到一只狐狐
1.12.2能不能用??

Gyzerccc
很实用的插件!

jkjkjk520
谢谢分享我很喜欢

51326382
对于rpg服务器中新手极为友好

52m昱
666666666666

52m昱
66666666666666666666

mix0225
好牛!!!

1841154499
MCBBS有你更精彩~

NBTmc
感谢分享~但似乎有点冲突?有时会无效果(

baii_lusuren
有没有哪种打人就是pvp状态不让使用指令等过了就能使用指令我找不到qwq

1459226117
MCBBS有你更精彩

2661643316
感谢大佬分享

y3294732410
感谢楼主分享,MCBBS有你更加精彩~

1459226117
MCBBS有你更精彩

传奇鸡王流川枫
不知道能不能防止crackshot的爆炸伤害,好多pvp插件的和平模式都不行

下一页 最后一页