forked from Upstream/mmocore
Moved close script to party module listener
This commit is contained in:
parent
8c0d8da483
commit
46ea648414
@ -33,8 +33,6 @@ import net.Indyuce.mmocore.experience.droptable.ExperienceTable;
|
|||||||
import net.Indyuce.mmocore.guild.provided.Guild;
|
import net.Indyuce.mmocore.guild.provided.Guild;
|
||||||
import net.Indyuce.mmocore.loot.chest.particle.SmallParticleEffect;
|
import net.Indyuce.mmocore.loot.chest.particle.SmallParticleEffect;
|
||||||
import net.Indyuce.mmocore.party.AbstractParty;
|
import net.Indyuce.mmocore.party.AbstractParty;
|
||||||
import net.Indyuce.mmocore.party.provided.MMOCorePartyModule;
|
|
||||||
import net.Indyuce.mmocore.party.provided.Party;
|
|
||||||
import net.Indyuce.mmocore.player.ClassDataContainer;
|
import net.Indyuce.mmocore.player.ClassDataContainer;
|
||||||
import net.Indyuce.mmocore.player.CombatHandler;
|
import net.Indyuce.mmocore.player.CombatHandler;
|
||||||
import net.Indyuce.mmocore.player.Unlockable;
|
import net.Indyuce.mmocore.player.Unlockable;
|
||||||
@ -142,11 +140,8 @@ public class PlayerData extends OfflinePlayerData implements Closable, Experienc
|
|||||||
this.mmoData = mmoData;
|
this.mmoData = mmoData;
|
||||||
questData = new PlayerQuests(this);
|
questData = new PlayerQuests(this);
|
||||||
playerStats = new PlayerStats(this);
|
playerStats = new PlayerStats(this);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update all references after /mmocore reload so there can be garbage
|
* Update all references after /mmocore reload so there can be garbage
|
||||||
* collection with old plugin objects like class or skill instances.
|
* collection with old plugin objects like class or skill instances.
|
||||||
@ -372,13 +367,6 @@ public class PlayerData extends OfflinePlayerData implements Closable, Experienc
|
|||||||
@Override
|
@Override
|
||||||
public void close() {
|
public void close() {
|
||||||
|
|
||||||
// Remove from party if it is MMO Party Module
|
|
||||||
if (MMOCore.plugin.partyModule instanceof MMOCorePartyModule) {
|
|
||||||
AbstractParty party = getParty();
|
|
||||||
if (party != null && party instanceof Party)
|
|
||||||
((Party) party).removeMember(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Close combat handler
|
// Close combat handler
|
||||||
combat.close();
|
combat.close();
|
||||||
|
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
package net.Indyuce.mmocore.party.provided;
|
package net.Indyuce.mmocore.party.provided;
|
||||||
|
|
||||||
import net.Indyuce.mmocore.MMOCore;
|
import net.Indyuce.mmocore.MMOCore;
|
||||||
|
import net.Indyuce.mmocore.api.event.social.PartyChatEvent;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.manager.ConfigManager;
|
import net.Indyuce.mmocore.manager.ConfigManager;
|
||||||
import net.Indyuce.mmocore.api.event.social.PartyChatEvent;
|
import net.Indyuce.mmocore.party.AbstractParty;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
import org.bukkit.event.player.AsyncPlayerChatEvent;
|
||||||
|
import org.bukkit.event.player.PlayerQuitEvent;
|
||||||
|
|
||||||
public class PartyListener implements Listener {
|
public class PartyListener implements Listener {
|
||||||
private final MMOCorePartyModule module;
|
private final MMOCorePartyModule module;
|
||||||
@ -18,7 +20,7 @@ public class PartyListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.LOW)
|
@EventHandler(priority = EventPriority.LOW)
|
||||||
public void a(AsyncPlayerChatEvent event) {
|
public void partyChat(AsyncPlayerChatEvent event) {
|
||||||
if (!event.getMessage().startsWith(MMOCore.plugin.configManager.partyChatPrefix))
|
if (!event.getMessage().startsWith(MMOCore.plugin.configManager.partyChatPrefix))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -39,4 +41,12 @@ public class PartyListener implements Listener {
|
|||||||
party.getOnlineMembers().forEach(member -> format.send(member.getPlayer()));
|
party.getOnlineMembers().forEach(member -> format.send(member.getPlayer()));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@EventHandler(priority = EventPriority.LOW)
|
||||||
|
public void leavePartyOnQuit(PlayerQuitEvent event) {
|
||||||
|
final PlayerData playerData = PlayerData.get(event.getPlayer());
|
||||||
|
final AbstractParty party = playerData.getParty();
|
||||||
|
if (party != null)
|
||||||
|
((Party) party).removeMember(playerData);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user