- Native Minecraft Version:
- Legacy (< 1.13)
- Tested Minecraft Versions:
- 1.7
- 1.8
- 1.9
- 1.10
- 1.11
- 1.12
- 1.13
- 1.14
- 1.15
- 1.16
- Source Code:
- https://github.com/Elikill58/Negativity
- Contributors:
- RedNesto, herobrine99dan and Wall_
- Languages Supported:
- French, Portuguese, Norwegian, Russian, Chinese, German, Dutch, Swedish, Spanish, Vietnamese, Italian, Polish, Czech Republic, Arabic Egyptian and Albanian
- Donation Link:
- https://www.patreon.com/elikill58
![]()
Please, use latest version !
Problem ? Come on discord : Join now
Recall: by default, with UP to 150ms of ping, detection are disabled
You need PacketGate on Sponge only
List with explication about the cheat : https://github.com/Elikill58/Negativity/wiki/Cheat
- AirJump
- AntiKnockback
- AntiPotion
- AutoClick
- AutoSteal
- Blink
- Chat (Insult & Spam)
- Critical
- FastBow
- FastEat
- FastLadder
- FastPlace
- FastStairs
- Fly
- ForceField | KillAura
- InventoryMove
- Jesus
- NoFall
- NoPitchLimit
- NoSlowDown
- NoWeb
- Nuker
- Phase
- Regen
- Scaffold
- Sneak
- Speed
- Spider
- Step
- XRay
- If you want to check a player :
/negativity verif <player> [verif time] [(optional) cheats, by default it's all cheats]
- If you want to get some information about a player:
/negativity <player>
- If you want to Show/Hide alert:
/negativity alert
- If you want to report someone:
/nreport <player> <reason>
- If you want to do some mod thing (be invisible...):
/nmod
- To ban people:
/nban <player> <def(true/false) | time (ex: 2h5m)> <reason>
- To unban people:
/nunban <player>
You want to use permissions ?
Check the wiki
I have a testing server: server.negativity.fr hosted by :
25% off the first month using the code "2021"
(SponsorShip)
Video about Negativity
Thanks HuyMCYTB for this video (With negativity 1.7)
New WR any% on 9.80s ! (With Negativity 1.9.7)
Screenshoot about Negativity
![]()
Thanks for McLovin#4623 (the server admin in the screen) (With negativity 1.8.1)
Click here to see default config
Everything is editable !
Click here to see all config informations.
There is a wiki AND the code on github (link on the top of the page)
All player have a NegativityPlayer which extend of NegativityAccount.
All cheats are extend "com.elikill58.negativity.universal.Cheat"Code (Text):NegativityPlayer methods: (Must to be used with the NegativityPlayer of your platform like SpigotNegativityPlayer)
NegativityAccount getAccount()
Object getPlayer()
boolean hasDefaultPermission(String s)
int getWarn(Cheat c)
double getLife()
String getName()
String getGameMode()
float getWalkSpeed()
int getLevel()
void kickPlayer(String reason, String time, String by, boolean def)
void banEffect()
void startAnalyze(Cheat c)
void startAllAnalyze()
void updateMinerateInFile()
boolean isOp()
NegativityAccount methods:
String getUUID()
String getLang()
UUID getPlayerId()
void setLang(String lang)
You can get all cheats thanks to Cheat.values().
To get a special cheat, there is 2 way:
1) By the cheat key (key directly from code) :
Cheat.forKey(CheatKeys.THE_CHEAT);
2) By the cheat name of alias (string from chat for example)
Cheat.fromString(myString);
Both will return the Cheat or null if they don't find it.
There is other usefull things :Code (Text):// Methods in object Cheat
String getKey()
String getName()
CheatCategory getCheatCategory()
String[] getAliases()
boolean isActive()
boolean setActive(boolean active)
boolean hasListener()
boolean needPacket()
Object getMaterial()
int getReliabilityAlert()
boolean isSetBack()
boolean setBack(boolean back)
int getAlertToKick()
boolean allowKick()
boolean setAllowKick(boolean allowKick)
boolean isAutoVerif()
boolean setAutoVerif(boolean auto)
boolean isBlockedInFight()
int getMaxAlertPing()
About permission :Code (Text):Database.connect(String url, String username, String password) // you don't need to use this method if you have edit the config file
Connection Database.getConnection()
About ban system :Code (Text):"com.elikill58.negativity.universal.permissions.Perm"
boolean hasPerm(NegativityPlayer np, String perm)
boolean hasPermLocal(NegativityPlayer np, String perm, Object value)
A new wiki is coming soon, more informations here !
Finally, there is utils methods in "com.elikill58.negativity.universal.utils.UniversalUtils"
Code (Text):
boolean isInteger(String s)
boolean isLong(String s)
boolean hasInternet()
boolean isBoolean(String s)
boolean getFromBoolean(String s)
Os Os.getOs()
All player have a NegativityPlayer. On spigot, it's SpigotNegativityPlayer :
SpigotNegativity static methods:Code (Text):// static methods :
SpigotNegativityPlayer getNegativityPlayer(Player p)
SpigotNegativityPlayer getNegativityPlayer(OfflinePlayer p)
// methods of SpigotNegativityPlayer
void initMods(Player p)
void updateCheckMenu()
getAllWarn(Cheat c) // current and saved warn
void addWarn(Cheat c, int reliability)
void setWarn(Cheat c, int cheats)
void updateMinerateInFile()
void clearPackets()
void makeAppearEntities()
void spawnRandom()
void spawnRight();
void spawnBehind();
void spawnLeft()
String getRandomFakePlayerName()
void removeFakePlayer(FakePlayer fp)
void logProof(String msg)
void saveProof(boolean sendStats)
void sendMessage(String msg, String... arg)
void destroy(boolean isBan)
boolean hasOtherThan(Location loc, Material m) // block of the specified type just around
boolean hasOtherThanExtended(Location loc, Material m) // block of the specified type 2 blocks around
boolean has(Location loc, Material... ms)
void spawnCircle(double d, Location loc)
boolean hasAntiKnockbackByPass()
boolean isBlock(Material m)
void fight()
void unfight()
// others methods
FlyingReason :
POTION, REGEN, EAT, BOW
Cheat getCheat()
There is 3 Event when a player is cheating.Code (Text):
boolean alertMod(ReportType type, Player p, Cheat c, int reliability, String proof) // return "true" if must cancel action
boolean alertMod(ReportType type, Player p, Cheat c, int reliability, String proof, String hover_proof) // return "true" if must cancel action
void sendMessage(Player p, String cheatName, String reliability, String ping, String hover) // a bungeecord message
void sendReportMessage(Player p, String reportMsg)
void logProof(SpigotNegativityPlayer np, ReportType type, Player p, Cheat c, int reliability,String proof, int ping)
Firstly, "PlayerCheatEvent" is called. You can only get information.
Then, "PlayerCheatAlertEvent" is called. With it, you can get information about the cheat and the cheater and say if you want to cancel the alert.
Lastly, "PlayerCheatKickEvent" is called. It's the same as PlayerCheatAlertEvent but with the kick of the player.
For information: if in the config, there is that the kick is disabled, by default, if you don't interact with this event, the kick will not appear.
All available method for theses event:
Code (Text):// in PlayerCheatEvent
Player getPlayer()
int getReliability()
Cheat getCheat()Code (Text):// in PlayerCheatAlertEvent
Player getPlayer()
int getReliability()
Cheat getCheat()
boolean isCancelled()
void setCancelled(boolean cancel)
boolean hasPermToBypass()
boolean hasManyReliability()
boolean isAlert()
void setAlert(boolean alert)
Code (Text):// in PlayerCheatEvent
Player getPlayer()
int getReliability()
Cheat getCheat()
boolean isCancelled()
void setCancelled(boolean cancel)
Finally, there is utils methods in "com.elikill58.negativity.spigot.utils.Utils"Code (Text):// in PlayerPacketsClearEvent
Player getPlayer()
SpigotNegativityPlayer getNegativityPlayer()
HashMap<String, Integer> getPackets()
Code (Text):
int getMultipleOf(int i, int multiple, int more)
String coloredMessage(String msg)
List<String> coloredMessage(String... messages)
ItemStack createItem(Material m, String name, String... lore)
ItemStack createItem(Material m, String name, int quantite, String... lore)
ItemStack createItem(Material m, String name, int amount, byte b, String... lore)
List<Player> getOnlinePlayers()
ItemStack createSkull(String name, int amount, String owner, String... lore)
int getPing(Player p)
Object getWorldServer(Location loc)
int parseInPorcent(int i)
int parseInPorcent(double i)
void sendPacket(Player p, String packetdir, Class<?> type, Object send)
void sendPacket(Player p, Object packet)
Object getPlayerConnection(Player p)
Class<?> getEnumPlayerInfoAction()
Material getMaterialWith1_15_Compatibility(String... materials)
Effect getEffect(String effect)
Optional<Cheat> getCheatFromName(String s)
Optional<Cheat> getCheatFromItem(Material m)
void sendUpdateMessageIfNeed(Player p)
double getLastTPS()
double[] getTPS()
String getInventoryTitle(InventoryView inv)
String getInventoryName(InventoryClickEvent e)
// Others usefull methods
With Sponge, it's a little bit different.
The main difference is here. I'm using the system of Sponge, so:
Code (Text):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)
////////////////////////////////////////
PlayerPacketsClearEvent
Player getPlayer();
SpongeNegativityPlayer getNegativityPlayer();
I'm working on it everyday (When i have the time to) !
You have a suggestion ? A bug ? A question ? You can contact me via :
- Private messages on this web site
- The negativity twitter (account) : @elinegativity
- My discord server : Join now
- Mail: [email protected]
- Discord: @Elikill58#0743
- Privacy Policy (In writing, link maybe not work) : English | Français
Donations : (Thanks you <3)4000: děkuji
Download wall:
100 : Thanks you
500 :Merci
600 :Gracias
700 :Danke
800 : Arigato
900 : tack
1000 : grazie
1500 : Obrigado
2000 : þakka þér
2500 : cảm ơn bạn
3000 : terima kasih
3500 : Շնորհակալություն
4500 : rahmat
5000 : sağol
5500 : σας ευχαριστώ
6000 : 谢谢
6500 : спасибо :')
7000 : شكرا
7500 : kiitos
8000 : takk
8500 : mulțumesc
9000 : təşəkkür edirəm
9500 : eskerrik asko
10000 : 고맙습니다
20000 : siyabonga
30000 : sağol
40000 : tapadh leibh
Too many download
Special thanks to:- CodingAir for the help with German translation
- 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
- DeveloperBoy for the help with Dutch translation
- YungSloop for the help with Swedish translation
- SolitaSolaa for the help with Spanish translation
- HuyMCYTB#7592 for the help with Vietnamese translation
- Herobrine99dan#1564 for the help with Italian translation and some checks
- Disordeon#1824 for the help with Czech Republic translation
- ErzenX#2439 for the help with Albanian translation
- Tytano#5336 for the help with Polish translation
- Edward205 for the help with Romanian translation
- Andro Sameh#6837 for the help with Egyptian Arabic translation
- you for your translation too ? (Contact me)

AC - Negativity [Spigot 1.7-1.16, Sponge, BungeeCord & Velocity] 1.9.7
It's an anti cheat !
-
SPACECOWPIE, Osqai, Creeper1724 and 10 others like this.
Recent Updates
- DKBans support, Arabic translation and fix ! Jan 19, 2021
- PingSpoof, fix false flag and bug Dec 6, 2020
- False flag fixed and some new options Sep 29, 2020
Recent Reviews
-
GFhasdgbhgv
- 5/5,
Its awesome work..
But i gotta say this "this ac literally not working..." "no control over cheaters" but its a huge time to make kinda plugin. Its a good job but im still trying wtih liquidbouncer this plugin gives no reaction against killaura, velocity, reach etc. -
dinoboss2001
- 5/5,
a good plugin is this or using another the premium versions of this plugin does not convince me mainly because it has 0 buyers and it seems clean according to my devs.
-
Author's Response
Hi,
I understand, and the premium version isn't in stable version, only beta yet ! But I'm very happy to see that u like my plugin :)
-
mstudio45
- 4/5,
Its works really great, but one problem is that i got kicked for speed when the server lags.
Can you fix it please? And the plugin is working so good! I like this plugin :)-
Author's Response
Hi, thanks you for your review !
For your issue, I'm currently working on it ! ;)
-
erayco_47
- 5/5,
Works great for my Spigot server, thank you for developing this plugin.
Also I was having some trouble with the permissions, If I don't have OP I cannot use the /report command to report a player for some reason any help about that would be awesome!-
Author's Response
Hi, thanks you for downloading and testing it ! (And also for good review :p)
I'm really happy to see that it works great for you !
For your issue, you need the "negativity.report" permission. For quick support, you can come on discord !
-
ZopentYT
- 5/5,
the best anti-cheat on spigot, bukkit, paper, sponge, any plugin platform :D thank you very much for giving your time and effort to us ;)
-
Author's Response
Hi, Thanks ! Even if I don't really agree, Thanks you for your message <3
I'm really happy to see that u like it x)
-
Bri4n
- 5/5,
Very good complement. Being Spanish I use the Spanish translation which contains errors compared to the English translation. I would be needing a .yml, .json or other file to modify the translation and be able to create it understandable and without spelling errors.
-
Author's Response
Hi, thanks you for your comment ! I know where you come from x)
For the translation, you can edit it here in your files (on "lang" folder), and also fix messages for everyone here: https://github.com/Elikill58/Negativity/tree/master/src/assets/negativity
-
Aiden_Leither
- 4/5,
Pretty good anti cheat but a few false positives sometimes, it just said my friend was using speed then flying when he was just sprint jumping. Also when he went down a ladder next to water it triggered Fast Ladder, here is a clip of him recreating that if you want to see it. https://vimeo.com/511904065
-
Author's Response
Hi, I'm happy to see that you like my plugin !
Thanks for the video, I easily see the issue, and it will be fixed in next update, while waiting for it, you can add a bypass item in "items" which is at begin of config (Wiki: https://github.com/Elikill58/Negativity/wiki/Configurations#items-bypass)
For more, you can come on discord and we will see :)
-
mcry36
- 5/5,
Brilliant plugin its almost instant. Testing the plugin with even minimal settings on cheats is detected almost instantly. Brilliant! :)
-
Author's Response
Hi,
I'm very happy to see that you like my plugin ! :)
-
Amazing_Avatar
- 5/5,
worked out of the box for me. the cheater was caught literally within minutes. I especially like the way it displays the certainty of someone having cheats. eg:
Player1 was caught using NoFall (probability 78%)-
Author's Response
Hi,
Thanks for good review ! I'm happy to see that you like it !
-
DozerCraft
- 4/5,
En un buen anticheat, pero me da demasiados falsos positivos, al hablar por el chat (chat) y simplemente hacer parkour (fly).
-
Author's Response
Hi,
Really ? I'm sad to hear that you get false flag. Can you show me and/or explain them on my discord ?