Correcting a bug with the new Enderman Endermite farm exploit fix and making it toggleable for servers that wish to allow it!

This commit is contained in:
nossr50
2019-01-31 14:40:37 -08:00
parent 4c63eee6d5
commit d609b45e68
4 changed files with 13 additions and 3 deletions

View File

@ -141,6 +141,9 @@ public class ExperienceConfig extends AutoUpdateConfigLoader {
* FORMULA SETTINGS
*/
/* EXPLOIT TOGGLES */
public boolean isEndermanEndermiteFarmingPrevented() { return config.getBoolean("ExploitFix.EndermanEndermiteFarms", true); }
/* Curve settings */
public FormulaType getFormulaType() { return FormulaType.getFormulaType(config.getString("Experience_Formula.Curve")); }
public boolean getCumulativeCurveEnabled() { return config.getBoolean("Experience_Formula.Cumulative_Curve", false); }

View File

@ -3,6 +3,7 @@ package com.gmail.nossr50.listeners;
import com.gmail.nossr50.config.AdvancedConfig;
import com.gmail.nossr50.config.Config;
import com.gmail.nossr50.config.WorldBlacklist;
import com.gmail.nossr50.config.experience.ExperienceConfig;
import com.gmail.nossr50.datatypes.meta.OldName;
import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.gmail.nossr50.datatypes.skills.SubSkillType;
@ -56,11 +57,14 @@ public class EntityListener implements Listener {
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onEntityTargetEntity(EntityTargetLivingEntityEvent event)
{
if(!ExperienceConfig.getInstance().isEndermanEndermiteFarmingPrevented())
return;
//Prevent entities from giving XP if they target endermite
if(event.getTarget() instanceof Endermite)
{
if(event.getTarget().getMetadata(mcMMO.entityMetadataKey) == null || event.getTarget().getMetadata(mcMMO.entityMetadataKey).size() <= 0)
event.getTarget().setMetadata(mcMMO.entityMetadataKey, mcMMO.metadataValue);
if(event.getEntity().getMetadata(mcMMO.entityMetadataKey) == null || event.getEntity().getMetadata(mcMMO.entityMetadataKey).size() <= 0)
event.getEntity().setMetadata(mcMMO.entityMetadataKey, mcMMO.metadataValue);
}
}

View File

@ -22,6 +22,8 @@
# Splits the boss bar into 6 segments
#SOLID
# The bar is one solid piece
ExploitFix:
EndermanEndermiteFarms: true
Experience_Bars:
# Turn this to false if you wanna disable XP bars
Enable: true