mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-22 13:16:45 +01:00
You can now enable Party Friendly Fire
This commit is contained in:
parent
11c8374f6c
commit
76ddcc4cf0
@ -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,10 +151,12 @@ 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 ((PartyManager.inSameParty(defendingPlayer, attackingPlayer) || PartyManager.areAllies(defendingPlayer, attackingPlayer)) && !(Permissions.friendlyFire(attackingPlayer) && Permissions.friendlyFire(defendingPlayer))) {
|
//If friendly fire is off don't allow players to hurt one another
|
||||||
event.setCancelled(true);
|
if(!Config.getInstance().getPartyFriendlyFire())
|
||||||
return;
|
if ((PartyManager.inSameParty(defendingPlayer, attackingPlayer) || PartyManager.areAllies(defendingPlayer, attackingPlayer)) && !(Permissions.friendlyFire(attackingPlayer) && Permissions.friendlyFire(defendingPlayer))) {
|
||||||
}
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@ -219,10 +222,12 @@ public class EntityListener implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((PartyManager.inSameParty(defendingPlayer, attackingPlayer) || PartyManager.areAllies(defendingPlayer, attackingPlayer)) && !(Permissions.friendlyFire(attackingPlayer) && Permissions.friendlyFire(defendingPlayer))) {
|
//Party Friendly Fire
|
||||||
event.setCancelled(true);
|
if(!Config.getInstance().getPartyFriendlyFire())
|
||||||
return;
|
if ((PartyManager.inSameParty(defendingPlayer, attackingPlayer) || PartyManager.areAllies(defendingPlayer, attackingPlayer)) && !(Permissions.friendlyFire(attackingPlayer) && Permissions.friendlyFire(defendingPlayer))) {
|
||||||
}
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CombatUtils.processCombatAttack(event, attacker, target);
|
CombatUtils.processCombatAttack(event, attacker, target);
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user