Git Product home page Git Product logo

preventstabby's Introduction

PreventStabby โš”

Use Issues section to report bugs or submit suggestions.

Commands

You can find available commands HERE.

Configuration

Explanation of all available config options is HERE.

Placeholders

List of all PlaceholderAPI placeholders can be found HERE.

Developer API

Developer API documetation is HERE!

Features

  • Per-player PvP Toggle
  • Global PvP override, allowing to ignore personal toggles temporarily
  • Block all forms of player-induced damage when PvP off
  • Block damage done to pets and mounts when PvP off
  • Block the ability to pour lava and set fire under player's feet
  • Block channeling tridents spawning fire under players with PvP off
  • Block fishing pole pulling for players with PvP off
  • Pets do not attack players with PvP off
  • Configurable PvP protection after login
  • Configurable PvP protection after teleport
  • Kill players that logged out during combat
  • Block specific commands while in combat
  • Block teleports in combat (might cause issues with some plugins)
  • Toggles for eggs and snowballs applying knockback
  • Extensive developer API

preventstabby's People

Contributors

youhavetrouble avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

preventstabby's Issues

Combat Log Timer Being Ignored

So, I tried using this on my server and whenever someone would get hit the timer would start like it's supposed to but then it never stops.
When people log back on, they are dead even though they hadn't been in PvP in the last 25 seconds.
I even tried disabling the combat log punishment and still the same thing.
Is this just an issue with the plugin version I am using (1.11.1) or is it a problem with plugin compatibility or maybe even a problem with how I have the config?

pvp_enabled_by_default does not enable pvp on players

I recently decided to try out this plugin for the snowball and egg knockback option. Unfortunately, the pvp_enabled_by_default argument in the config files does not enable pvp by default and brings up the message in the chat: "You can''t attack players that have PvP turned off!". I do not want to ask every player on the server to manually enable the command themselves. Is there any fix for this?

nullpointer getLocation() in worlguardhook

we are using geyser + floodgate

[08:50:13 ERROR]: Could not pass event EntityTargetLivingEntityEvent to PreventStabby v1.4
java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.Player.getLocation()" because "player" is null
        at me.youhavetrouble.preventstabby.hooks.WorldGuardHook.isPlayerForcedToPvp(WorldGuardHook.java:57) ~[PreventStabby-1.4.jar:?]
        at me.youhavetrouble.preventstabby.players.PlayerManager.canDamage(PlayerManager.java:122) ~[PreventStabby-1.4.jar:?]
        at me.youhavetrouble.preventstabby.listeners.pets.PetTargettingPlayerListener.onPetTargetPlayer(PetTargettingPlayerListener.java:29) ~[PreventStabby-1.4.jar:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor59.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[pufferfish-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[pufferfish-api-1.18.2-R0.1-SNAPSHOT.jar:git-Pufferfish-60]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[pufferfish-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:631) ~[pufferfish-api-1.18.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.craftbukkit.v1_18_R2.event.CraftEventFactory.callEntityTargetLivingEvent(CraftEventFactory.java:1326) ~[pufferfish-1.18.2.jar:git-Pufferfish-60]
        at net.minecraft.world.entity.ai.goal.TemptGoal.canUse(TemptGoal.java:53) ~[?:?]
        at net.minecraft.world.entity.ai.goal.WrappedGoal.canUse(WrappedGoal.java:22) ~[?:?]
        at net.minecraft.world.entity.ai.goal.GoalSelector.tick(GoalSelector.java:129) ~[?:?]
        at net.minecraft.world.entity.Mob.serverAiStep(Mob.java:863) ~[?:?]
        at net.minecraft.world.entity.LivingEntity.aiStep(LivingEntity.java:3288) ~[?:?]
        at net.minecraft.world.entity.Mob.aiStep(Mob.java:630) ~[?:?]
        at net.minecraft.world.entity.AgeableMob.aiStep(AgeableMob.java:154) ~[?:?]
        at net.minecraft.world.entity.animal.Animal.aiStep(Animal.java:62) ~[?:?]
        at net.minecraft.world.entity.animal.horse.AbstractHorse.aiStep(AbstractHorse.java:559) ~[?:?]
        at net.minecraft.world.entity.LivingEntity.tick(LivingEntity.java:2938) ~[?:?]
        at net.minecraft.world.entity.Mob.tick(Mob.java:398) ~[?:?]
        at net.minecraft.world.entity.animal.horse.AbstractHorse.tick(AbstractHorse.java:597) ~[?:?]
        at net.minecraft.server.level.ServerLevel.tickNonPassenger(ServerLevel.java:1149) ~[?:?]
        at net.minecraft.server.level.ServerLevel.lambda$tick$5(ServerLevel.java:675) ~[?:?]
        at net.minecraft.world.level.entity.EntityTickList.forEach(EntityTickList.java:43) ~[pufferfish-1.18.2.jar:git-Pufferfish-60]
        at net.minecraft.server.level.ServerLevel.tick(ServerLevel.java:653) ~[?:?]
        at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:1593) ~[pufferfish-1.18.2.jar:git-Pufferfish-60]
        at net.minecraft.server.dedicated.DedicatedServer.tickChildren(DedicatedServer.java:486) ~[pufferfish-1.18.2.jar:git-Pufferfish-60]
        at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1457) ~[pufferfish-1.18.2.jar:git-Pufferfish-60]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1227) ~[pufferfish-1.18.2.jar:git-Pufferfish-60]
        at net.minecraft.server.MinecraftServer.lambda$spin$1(MinecraftServer.java:317) ~[pufferfish-1.18.2.jar:git-Pufferfish-60]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]

suggestion: global toggles

  1. /pvpall true/false change the pvp status of everyone
  2. /pvpblock true/false change if players can toggle there pvp status

these things are handy at server openings and events etc

Console filled with errors

- [Mon 14:56:46 ERROR Minecraft] Could not pass event EntityTargetLivingEntityEvent to PreventStabby v1.5
java.lang.NullPointerException: Cannot invoke "org.bukkit.entity.Entity.getUniqueId()" because the return value of "org.bukkit.event.entity.EntityTargetEvent.getTarget()" is null
	at PreventStabby-1.5.jar//me.youhavetrouble.preventstabby.listeners.pets.PetTargettingPlayerListener.onPetTargetPlayer(PetTargettingPlayerListener.java:27)
	at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor55.execute(Unknown Source)
	at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75)
	at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76)
	at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
	at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:665)
	at net.minecraft.world.entity.Mob.setTarget(Mob.java:279)
	at net.minecraft.world.entity.animal.Wolf.setTarget(Wolf.java:256)
	at net.minecraft.world.entity.animal.Wolf.mobInteract(Wolf.java:516)
	at net.minecraft.world.entity.Mob.interact(Mob.java:1300)
	at net.minecraft.world.entity.player.Player.interactOn(Player.java:1138)
	at net.minecraft.server.network.ServerGamePacketListenerImpl$6.performInteraction(ServerGamePacketListenerImpl.java:2592)
	at net.minecraft.server.network.ServerGamePacketListenerImpl$6.a(ServerGamePacketListenerImpl.java:2611)
	at net.minecraft.network.protocol.game.ServerboundInteractPacket$InteractionAction.dispatch(ServerboundInteractPacket.java:131)
	at net.minecraft.network.protocol.game.ServerboundInteractPacket.dispatch(ServerboundInteractPacket.java:80)
	at net.minecraft.server.network.ServerGamePacketListenerImpl.handleInteract(ServerGamePacketListenerImpl.java:2551)
	at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.java:67)
	at net.minecraft.network.protocol.game.ServerboundInteractPacket.handle(ServerboundInteractPacket.```

[Feature Request] Add option to disable PVP protection for pets

Hi, I would like to make a suggestion.

It would be a great idea to add an option in the settings so that pets cannot be protected, meaning that they can be damaged regardless of the current PVP status.

Something like:
protect-pets: true/false

Cheers!

Wolves are weird

Wolves behave weirdly in certain combinations of pvp enabled and disabled.

Wolves should also get damage immunity along with their owners.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.