Add and wire up Herbalism AFK exploit toggle

This commit is contained in:
nossr50 2019-06-13 18:12:10 -07:00
parent b4e612b15b
commit 43600ef800
5 changed files with 46 additions and 4 deletions

View File

@ -87,4 +87,20 @@ public class ConfigExploitPrevention {
public boolean isPreventAcrobaticsAbuse() { public boolean isPreventAcrobaticsAbuse() {
return getConfigSectionExploitAcrobatics().isPreventAcrobaticsAbuse(); return getConfigSectionExploitAcrobatics().isPreventAcrobaticsAbuse();
} }
public ConfigSectionExploitHerbalism getConfigSectionExploitHerbalism() {
return configSectionExploitSkills.getConfigSectionExploitHerbalism();
}
public ConfigSectionExploitMining getConfigSectionExploitMining() {
return configSectionExploitSkills.getConfigSectionExploitMining();
}
public boolean isPreventCobblestoneStoneGeneratorXP() {
return configSectionExploitSkills.isPreventCobblestoneStoneGeneratorXP();
}
public boolean isPreventVehicleAutoFarming() {
return configSectionExploitSkills.isPreventVehicleAutoFarming();
}
} }

View File

@ -0,0 +1,18 @@
package com.gmail.nossr50.config.hocon.antiexploit;
import ninja.leaping.configurate.objectmapping.Setting;
import ninja.leaping.configurate.objectmapping.serialize.ConfigSerializable;
@ConfigSerializable
public class ConfigSectionExploitHerbalism {
private static final boolean VEHICLE_XP_PREVENT_DEFAULT = true;
@Setting(value = "Prevent-Vehicle-Autofarming", comment = "This setting will prevent players from automating Herbalism XP via vehicles such as minecarts." +
"\nDefault value: "+VEHICLE_XP_PREVENT_DEFAULT)
private boolean preventVehicleAutoFarming = VEHICLE_XP_PREVENT_DEFAULT;
public boolean isPreventVehicleAutoFarming() {
return preventVehicleAutoFarming;
}
}

View File

@ -14,6 +14,9 @@ public class ConfigSectionExploitSkills {
@Setting(value = "Mining", comment = "Exploit settings related to Mining") @Setting(value = "Mining", comment = "Exploit settings related to Mining")
private ConfigSectionExploitMining configSectionExploitMining = new ConfigSectionExploitMining(); private ConfigSectionExploitMining configSectionExploitMining = new ConfigSectionExploitMining();
@Setting(value = "Herbalism", comment = "Exploit settings related to Herbalism.")
private ConfigSectionExploitHerbalism configSectionExploitHerbalism = new ConfigSectionExploitHerbalism();
public ConfigSectionExploitAcrobatics getConfigSectionExploitAcrobatics() { public ConfigSectionExploitAcrobatics getConfigSectionExploitAcrobatics() {
return configSectionExploitAcrobatics; return configSectionExploitAcrobatics;
} }
@ -22,6 +25,10 @@ public class ConfigSectionExploitSkills {
return configSectionExploitFishing; return configSectionExploitFishing;
} }
public ConfigSectionExploitHerbalism getConfigSectionExploitHerbalism() {
return configSectionExploitHerbalism;
}
public ConfigSectionExploitMining getConfigSectionExploitMining() { public ConfigSectionExploitMining getConfigSectionExploitMining() {
return configSectionExploitMining; return configSectionExploitMining;
} }
@ -30,6 +37,10 @@ public class ConfigSectionExploitSkills {
return configSectionExploitMining.isPreventCobblestoneStoneGeneratorXP(); return configSectionExploitMining.isPreventCobblestoneStoneGeneratorXP();
} }
public boolean isPreventVehicleAutoFarming() {
return configSectionExploitHerbalism.isPreventVehicleAutoFarming();
}
public long getFishingRodSpamMilliseconds() { public long getFishingRodSpamMilliseconds() {
return configSectionExploitFishing.getFishingRodSpamMilliseconds(); return configSectionExploitFishing.getFishingRodSpamMilliseconds();
} }

View File

@ -7,12 +7,10 @@ import com.gmail.nossr50.datatypes.skills.properties.MaxBonusLevel;
import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.util.random.InvalidStaticChance; import com.gmail.nossr50.util.random.InvalidStaticChance;
import com.google.common.reflect.TypeToken; import com.google.common.reflect.TypeToken;
import ninja.leaping.configurate.ValueType;
import ninja.leaping.configurate.commented.CommentedConfigurationNode; import ninja.leaping.configurate.commented.CommentedConfigurationNode;
import ninja.leaping.configurate.objectmapping.ObjectMappingException; import ninja.leaping.configurate.objectmapping.ObjectMappingException;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator;
/** /**
* Hacky way to do this until I rewrite the skill system fully * Hacky way to do this until I rewrite the skill system fully

View File

@ -1,6 +1,5 @@
package com.gmail.nossr50.skills.herbalism; package com.gmail.nossr50.skills.herbalism;
import com.gmail.nossr50.config.MainConfig;
import com.gmail.nossr50.config.treasure.HerbalismTreasureConfig; import com.gmail.nossr50.config.treasure.HerbalismTreasureConfig;
import com.gmail.nossr50.core.MetadataConstants; import com.gmail.nossr50.core.MetadataConstants;
import com.gmail.nossr50.datatypes.experience.XPGainReason; import com.gmail.nossr50.datatypes.experience.XPGainReason;
@ -37,7 +36,7 @@ public class HerbalismManager extends SkillManager {
} }
public boolean canBlockCheck() { public boolean canBlockCheck() {
return !(MainConfig.getInstance().getHerbalismPreventAFK() && getPlayer().isInsideVehicle()); return !(mcMMO.getConfigManager().getConfigExploitPrevention().isPreventVehicleAutoFarming() && getPlayer().isInsideVehicle());
} }
public boolean canGreenThumbBlock(BlockState blockState) { public boolean canGreenThumbBlock(BlockState blockState) {