From d272d601128bd5095b31ddaaefa6414a9c2aaaea Mon Sep 17 00:00:00 2001 From: nossr50 Date: Thu, 14 Mar 2019 16:47:02 -0700 Subject: [PATCH] Anti-Exploit config pt 1 --- Changelog.txt | 6 ++++++ pom.xml | 2 +- .../config/hocon/antiexploit/AntiExploit.java | 20 +++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/Changelog.txt b/Changelog.txt index 54dc8206f..9331ce9a9 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -15,13 +15,19 @@ Version 2.2.0 All config nodes now include a comment with the default value of the node to use as reference Expanded settings relating to purging users who have not leveled or users who had not logged in for many months + NOTE: Not every config key that was renamed will be listed here + Fixed a bug where players who started at level 1 would not be purged from the DB for being "powerless" Settings related to Player Leveling are now found in "player_leveling.conf" Player Leveling's "TruncateSkills" renamed -> "Reduce-Player-Skills-Above-Cap" Player Leveling's "StartingLevel" renamed -> "Player-Starting-Level" + Retro mode setting's "Enable" renamed -> "Use-Retro-Mode" Added new toggles for enabling level caps (previously this was done by setting the value above 0) + World Blacklist settings can now be found in "world_blacklist.conf" + World Blacklist now includes examples + Scoreboard settings can now be found in "scoreboard.conf" Scoreboard's "Allow_Keep" setting was removed because it was doing something permissions should be doing instead, and I don't see why such a thing even needs a permission! Scoreboard's "Power_Level_Tags" renamed -> "Display-Power-Levels-Below-Player-Names" diff --git a/pom.xml b/pom.xml index 558b18ef1..c1663a51a 100755 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 com.gmail.nossr50.mcMMO mcMMO - 2.1.28 + 2.2.0-SNAPSHOT mcMMO https://github.com/mcMMO-Dev/mcMMO diff --git a/src/main/java/com/gmail/nossr50/config/hocon/antiexploit/AntiExploit.java b/src/main/java/com/gmail/nossr50/config/hocon/antiexploit/AntiExploit.java index 1c501e1dc..9ea19c2a9 100644 --- a/src/main/java/com/gmail/nossr50/config/hocon/antiexploit/AntiExploit.java +++ b/src/main/java/com/gmail/nossr50/config/hocon/antiexploit/AntiExploit.java @@ -1,12 +1,32 @@ package com.gmail.nossr50.config.hocon.antiexploit; +import ninja.leaping.configurate.objectmapping.Setting; import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable; @ConfigSerializable public class AntiExploit { + private static final boolean ENDERMEN_ENDERMITE_DEFAULT = true; + private static final boolean PISTONS_MARK_BLOCKS_DEFAULT = true; + public static final boolean SPAWNED_MOBS_DEFAULT = true; /* * CONFIG NODES */ + @Setting(value = "Endermen-Endermite-Fix", + comment = "Removes XP from Endermen that target endermite, this is a common exploit in The End because of how rapidly they can spawn." + + "\nIt is recommended that you leave this on as it allows players to easily gain massive amounts of combat XP" + + "\nDefault value: "+ENDERMEN_ENDERMITE_DEFAULT) + private boolean endermenEndermiteFix = ENDERMEN_ENDERMITE_DEFAULT; + + @Setting(value = "Pistons-Mark-Blocks-As-Unnatural", + comment = "Unnatural blocks give no XP." + + "This helps prevent complex automated stone farms that enable auto clickers to gain XP passively.") + private boolean pistonsMarkBlocksUnnatural = PISTONS_MARK_BLOCKS_DEFAULT; + + @Setting(value = "Spawned-Mobs-Give-No-XP", + comment = "Spawned mobs will not give players combat XP." + + "\nThis includes mobs spawned from a nether portal, mob spawner, or eggs." + + "\nThis will not include mobs spawned from commands, typically.") + private boolean spawnedMobsGiveNoXP = SPAWNED_MOBS_DEFAULT; }