mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-11-04 02:53:43 +01:00 
			
		
		
		
	add ExploitFix.PreventArmorStandInteraction to prevent combat abilities going off on armor stands
This commit is contained in:
		@@ -1,3 +1,9 @@
 | 
			
		||||
Version 2.1.232
 | 
			
		||||
    Added new setting to experience.yml 'ExploitFix.PreventArmorStandInteraction' can be turned to false to enable mcMMO abilities on armor stands again
 | 
			
		||||
 | 
			
		||||
    NOTES:
 | 
			
		||||
    The new setting simply prevents mcMMO abilities from activating when attacking an armor stand, this prevents some exploits
 | 
			
		||||
 | 
			
		||||
Version 2.1.231
 | 
			
		||||
    Fixed a bug preventing parties from being made without passwords (Thanks Momshroom)
 | 
			
		||||
    Updated korean locale (thanks mangchi57)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								pom.xml
									
									
									
									
									
								
							@@ -2,7 +2,7 @@
 | 
			
		||||
    <modelVersion>4.0.0</modelVersion>
 | 
			
		||||
    <groupId>com.gmail.nossr50.mcMMO</groupId>
 | 
			
		||||
    <artifactId>mcMMO</artifactId>
 | 
			
		||||
    <version>2.1.231</version>
 | 
			
		||||
    <version>2.1.232-SNAPSHOT</version>
 | 
			
		||||
    <name>mcMMO</name>
 | 
			
		||||
    <url>https://github.com/mcMMO-Dev/mcMMO</url>
 | 
			
		||||
    <scm>
 | 
			
		||||
 
 | 
			
		||||
@@ -177,6 +177,10 @@ public class ExperienceConfig extends BukkitConfig {
 | 
			
		||||
        return config.getBoolean("ExploitFix.PreventPluginNPCInteraction", true);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public boolean isArmorStandInteractionPrevented() {
 | 
			
		||||
        return config.getBoolean("ExploitFix.PreventArmorStandInteraction", true);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public boolean isFishingExploitingPrevented() {
 | 
			
		||||
        return config.getBoolean("ExploitFix.Fishing", true);
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -300,6 +300,10 @@ public final class CombatUtils {
 | 
			
		||||
        Entity painSource = event.getDamager();
 | 
			
		||||
        EntityType entityType = painSource.getType();
 | 
			
		||||
 | 
			
		||||
        if (target instanceof ArmorStand) {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (target instanceof Player player) {
 | 
			
		||||
            if(ExperienceConfig.getInstance().isNPCInteractionPrevented()) {
 | 
			
		||||
                if (Misc.isNPCEntityExcludingVillagers(target)) {
 | 
			
		||||
 
 | 
			
		||||
@@ -39,6 +39,7 @@ ExploitFix:
 | 
			
		||||
    TreeFellerReducedXP: true
 | 
			
		||||
    PistonCheating: true
 | 
			
		||||
    SnowGolemExcavation: true
 | 
			
		||||
    PreventArmorStandInteraction: true
 | 
			
		||||
    # This include NPCs from stuff like Citizens, this is not a setting for Vanilla Minecraft Villagers (Which can be considered NPCs)
 | 
			
		||||
    # mcMMO normally doesn't process attacks against an Entity if it is an NPC from another plugin
 | 
			
		||||
    # Of course, mcMMO doesn't know for sure whether something is an NPC, it checks a few known things, see our source code to see how
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user