Negativity - AntiCheat


A long time ago, i made an anticheat for me, on spigot. Then, i share it.
A day, I update it to bungeecord, then to Sponge.
Now, it’s update to Velocity !
(On Sponge you NEED PacketGate)

Detected cheat :

  • AirJump
  • AntiPotion | Zoot
  • AutoRegen
  • AutoClick
  • AutoEat
  • AntiKnockback
  • Blink (Edited Client | Cheat Engine)
  • Chat
  • FastPlace
  • FastBow | RapidBowShot
  • Fly
  • ForceField | KillAura
  • Jesus | WaterWalk
  • Nuker
  • Spider
  • Speed
  • Scaffold
  • Sneak

There is command :

  • /negativity : get some informations about the player
  • /negativity verif [(optional) cheats, by default it’s all] : start detection manually
  • /mod : mod part (be invisible …)
  • /ban <def(true/false) | time (ex: 2h5m)> : to ban people
  • /unban : to unbun the player
  • /report : to report a player
  • /suspect

Like an image is better than a long text :

You’re a developer ? There is an API !

I will write this part soon.

API Informations

Class utils:
Cheat (Enum: com.elikill58.negativity.sponge.utils)

String getName()
boolean isActive()
boolean setActive(boolean active)
boolean needPacket()
ItemTypes getMaterial()
Class<?> getProtocolClass()
int getReliabilityAlert()
boolean isSetBack()
boolean setBack(boolean back)
int getAlertToKick()
boolean allowKick()
boolean setAllowKick(boolean allowKick)
boolean isAutoVerif()
boolean setAutoVerif(boolean auto)

static Optional<Cheat> getCheatFromString(String name)

For events:

PlayerCheatEvent (AbstractEvent, TargetPlayerEvent)

Cause getCause() // With: The plugin, and the player
Player getTargetEntity()
Cheat getCheat()
int getReliability()


PlayerCheatEvent.Alert (PlayerCheatEvent, Cancellable)

boolean isCancelled()
void setCancelled(boolean cancel)
boolean isAlert()
void setAlert(boolean alert)
boolean hasManyReliability()
boolean hasPermToBypass()

(+ all PlayerCheatEvent method)


PlayerCheatEvent.Kick (PlayerCheatEvent, Cancellable)

boolean isCancelled()
void setCancelled(boolean cancel)

(+ all PlayerCheatEvent method)



Player getPlayer();
SpongeNegativityPlayer getNegativityPlayer();

Credits :

  • RedNesto for the help with English translation and development
  • jheyson for the help with Portuguese translation
  • SuchHero for the help with Norwegian translation
  • VidTu for the help with Russian translation
  • f0rb1d, SGYRE & 沐白Dust for the help with Chinese translation​
  • CodingAir for the help with German translation
  • DeveloperBoy for the help with Dutch translation
  • YungSloop for the help with Swedish translation
  • you for translation too ? (Contact me)​

Contact :

Download :

  • 1.5
  • Before this version, there isn’t the Velocity support
  • All download are available on the Spigot page

I send update on spigot. So, if you want to get notification when i make an update, watch my spigot ressource. Why do it ? I forget sometimes to edit all thread about Negativity.)


New update of Negativity !
All late of Sponge from Spigot have been removed !

Added Spanish translation thanks to SolitaSolaa (on Spigotmc) ! (es_ES)

Fix bug :

  • Important: Proxy integration have been revisited to prevent bug
  • Nuker : Error when block breaked
  • Forcefield : Error when hit
  • Mcleaks : Some error could appear when player join
  • Chat : Some problem with log and insult finder

False flag :

  • Speed : Alert when you are on Web or on Water
  • FastStairs & Spider : Alert when jumping on stairs
  • Other little false flag like Step. Then, we have removed useless code.

Download it here !