mirror of
				https://github.com/mcMMO-Dev/mcMMO.git
				synced 2025-10-31 01:03:44 +01:00 
			
		
		
		
	You can now enable Party Friendly Fire
This commit is contained in:
		| @@ -79,6 +79,7 @@ Version 2.1.0 | |||||||
|  = (MySQL) When converting from MySQL to flatfile mcMMO will now properly include all users in the conversion process |  = (MySQL) When converting from MySQL to flatfile mcMMO will now properly include all users in the conversion process | ||||||
|  = (Commands) '/mcMMO help' no longer displays the other/special commands category to players lacking permissions |  = (Commands) '/mcMMO help' no longer displays the other/special commands category to players lacking permissions | ||||||
|  + (Party) Parties can now have size limits (configurable in config.yml), party size is unlimited by default |  + (Party) Parties can now have size limits (configurable in config.yml), party size is unlimited by default | ||||||
|  |  + (Party) You can now turn on Friendly Fire for parties in config.yml | ||||||
|  ! (Deaths) Fixed the bug where mob names would be replaced by hearts |  ! (Deaths) Fixed the bug where mob names would be replaced by hearts | ||||||
|  ! (Experience) The XP values of fish are now based on their rarity and have been drastically changed |  ! (Experience) The XP values of fish are now based on their rarity and have been drastically changed | ||||||
|  ! (Experience) Skills now start at level 1 (configurable in advanced.yml) |  ! (Experience) Skills now start at level 1 (configurable in advanced.yml) | ||||||
|   | |||||||
| @@ -409,6 +409,7 @@ public class Config extends AutoUpdateConfigLoader { | |||||||
|     public boolean getLargeFireworks() { return config.getBoolean("Particles.LargeFireworks", true); } |     public boolean getLargeFireworks() { return config.getBoolean("Particles.LargeFireworks", true); } | ||||||
|  |  | ||||||
|     /* PARTY SETTINGS */ |     /* PARTY SETTINGS */ | ||||||
|  |     public boolean getPartyFriendlyFire() { return config.getBoolean("Party.FriendlyFire", false);} | ||||||
|     public int getPartyMaxSize() {return config.getInt("Party.MaxSize", -1); } |     public int getPartyMaxSize() {return config.getInt("Party.MaxSize", -1); } | ||||||
|     public int getAutoPartyKickInterval() { return config.getInt("Party.AutoKick_Interval", 12); } |     public int getAutoPartyKickInterval() { return config.getInt("Party.AutoKick_Interval", 12); } | ||||||
|     public int getAutoPartyKickTime() { return config.getInt("Party.Old_Party_Member_Cutoff", 7); } |     public int getAutoPartyKickTime() { return config.getInt("Party.Old_Party_Member_Cutoff", 7); } | ||||||
|   | |||||||
| @@ -1,6 +1,7 @@ | |||||||
| package com.gmail.nossr50.listeners; | package com.gmail.nossr50.listeners; | ||||||
|  |  | ||||||
| import com.gmail.nossr50.config.AdvancedConfig; | import com.gmail.nossr50.config.AdvancedConfig; | ||||||
|  | import com.gmail.nossr50.config.Config; | ||||||
| import com.gmail.nossr50.datatypes.meta.OldName; | import com.gmail.nossr50.datatypes.meta.OldName; | ||||||
| import com.gmail.nossr50.datatypes.player.McMMOPlayer; | import com.gmail.nossr50.datatypes.player.McMMOPlayer; | ||||||
| import com.gmail.nossr50.datatypes.skills.SubSkillType; | import com.gmail.nossr50.datatypes.skills.SubSkillType; | ||||||
| @@ -150,6 +151,8 @@ public class EntityListener implements Listener { | |||||||
|                 Player defendingPlayer = (Player) defender; |                 Player defendingPlayer = (Player) defender; | ||||||
|                 Player attackingPlayer = (Player) attacker; |                 Player attackingPlayer = (Player) attacker; | ||||||
|                 if (event.getDamage(DamageModifier.ABSORPTION) > 0) { |                 if (event.getDamage(DamageModifier.ABSORPTION) > 0) { | ||||||
|  |                     //If friendly fire is off don't allow players to hurt one another | ||||||
|  |                     if(!Config.getInstance().getPartyFriendlyFire()) | ||||||
|                         if ((PartyManager.inSameParty(defendingPlayer, attackingPlayer) || PartyManager.areAllies(defendingPlayer, attackingPlayer)) && !(Permissions.friendlyFire(attackingPlayer) && Permissions.friendlyFire(defendingPlayer))) { |                         if ((PartyManager.inSameParty(defendingPlayer, attackingPlayer) || PartyManager.areAllies(defendingPlayer, attackingPlayer)) && !(Permissions.friendlyFire(attackingPlayer) && Permissions.friendlyFire(defendingPlayer))) { | ||||||
|                             event.setCancelled(true); |                             event.setCancelled(true); | ||||||
|                             return; |                             return; | ||||||
| @@ -219,6 +222,8 @@ public class EntityListener implements Listener { | |||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|  |  | ||||||
|  |             //Party Friendly Fire | ||||||
|  |             if(!Config.getInstance().getPartyFriendlyFire()) | ||||||
|                 if ((PartyManager.inSameParty(defendingPlayer, attackingPlayer) || PartyManager.areAllies(defendingPlayer, attackingPlayer)) && !(Permissions.friendlyFire(attackingPlayer) && Permissions.friendlyFire(defendingPlayer))) { |                 if ((PartyManager.inSameParty(defendingPlayer, attackingPlayer) || PartyManager.areAllies(defendingPlayer, attackingPlayer)) && !(Permissions.friendlyFire(attackingPlayer) && Permissions.friendlyFire(defendingPlayer))) { | ||||||
|                     event.setCancelled(true); |                     event.setCancelled(true); | ||||||
|                     return; |                     return; | ||||||
|   | |||||||
| @@ -453,7 +453,7 @@ public final class CombatUtils { | |||||||
|         XPGainReason xpGainReason; |         XPGainReason xpGainReason; | ||||||
|  |  | ||||||
|         if (target instanceof Player) { |         if (target instanceof Player) { | ||||||
|             if (!ExperienceConfig.getInstance().getExperienceGainsPlayerVersusPlayerEnabled()) { |             if (!ExperienceConfig.getInstance().getExperienceGainsPlayerVersusPlayerEnabled() || PartyManager.inSameParty(mcMMOPlayer.getPlayer(), (Player) target)) { | ||||||
|                 return; |                 return; | ||||||
|             } |             } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -237,6 +237,8 @@ Items: | |||||||
| #  Settings for Parties | #  Settings for Parties | ||||||
| ### | ### | ||||||
| Party: | Party: | ||||||
|  |     # Enable Hurting other players in the same party | ||||||
|  |     FriendlyFire: false | ||||||
|     # Maximum size for a party, -1 for infinite |     # Maximum size for a party, -1 for infinite | ||||||
|     MaxSize: -1 |     MaxSize: -1 | ||||||
|     # Amount of time (in hours) to wait between automatically kicking old party members |     # Amount of time (in hours) to wait between automatically kicking old party members | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 nossr50
					nossr50