mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-26 07:06:45 +01:00
Merge pull request #2356 from riking/logout-method
This will allow for BungeeCord compat when the sending server knows about the move. It will NOT work if the proxy processes the transfer.
This commit is contained in:
commit
f93deeceb6
2
pom.xml
2
pom.xml
@ -136,7 +136,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.bukkit</groupId>
|
<groupId>org.bukkit</groupId>
|
||||||
<artifactId>bukkit</artifactId>
|
<artifactId>bukkit</artifactId>
|
||||||
<version>1.7.10-R0.1-SNAPSHOT</version>
|
<version>1.7.9-R0.2</version>
|
||||||
<type>jar</type>
|
<type>jar</type>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
@ -5,6 +5,9 @@ import java.util.Map;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import com.gmail.nossr50.runnables.skills.BleedTimerTask;
|
||||||
|
import com.gmail.nossr50.util.player.UserManager;
|
||||||
|
import com.gmail.nossr50.util.scoreboards.ScoreboardManager;
|
||||||
import org.bukkit.GameMode;
|
import org.bukkit.GameMode;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
@ -585,10 +588,6 @@ public class McMMOPlayer {
|
|||||||
party.addOnlineMember(this.getPlayer());
|
party.addOnlineMember(this.getPlayer());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void logoutParty() {
|
|
||||||
party.removeOnlineMember(this.getPlayer());
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getItemShareModifier() {
|
public int getItemShareModifier() {
|
||||||
if (itemShareModifier < 10) {
|
if (itemShareModifier < 10) {
|
||||||
setItemShareModifier(10);
|
setItemShareModifier(10);
|
||||||
@ -879,4 +878,28 @@ public class McMMOPlayer {
|
|||||||
public FixedMetadataValue getPlayerMetadata() {
|
public FixedMetadataValue getPlayerMetadata() {
|
||||||
return playerMetadata;
|
return playerMetadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This method is called by PlayerQuitEvent to tear down the mcMMOPlayer.
|
||||||
|
*
|
||||||
|
* @param syncSave if true, data is saved synchronously
|
||||||
|
*/
|
||||||
|
public void logout(boolean syncSave) {
|
||||||
|
Player thisPlayer = getPlayer();
|
||||||
|
resetAbilityMode();
|
||||||
|
BleedTimerTask.bleedOut(thisPlayer);
|
||||||
|
|
||||||
|
if (syncSave) {
|
||||||
|
getProfile().save();
|
||||||
|
} else {
|
||||||
|
getProfile().scheduleAsyncSave();
|
||||||
|
}
|
||||||
|
|
||||||
|
UserManager.remove(thisPlayer);
|
||||||
|
ScoreboardManager.teardownPlayer(thisPlayer);
|
||||||
|
|
||||||
|
if (inParty()) {
|
||||||
|
party.removeOnlineMember(thisPlayer);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,6 @@ import com.gmail.nossr50.datatypes.skills.SkillType;
|
|||||||
import com.gmail.nossr50.locale.LocaleLoader;
|
import com.gmail.nossr50.locale.LocaleLoader;
|
||||||
import com.gmail.nossr50.party.ShareHandler;
|
import com.gmail.nossr50.party.ShareHandler;
|
||||||
import com.gmail.nossr50.runnables.player.PlayerProfileLoadingTask;
|
import com.gmail.nossr50.runnables.player.PlayerProfileLoadingTask;
|
||||||
import com.gmail.nossr50.runnables.skills.BleedTimerTask;
|
|
||||||
import com.gmail.nossr50.skills.fishing.FishingManager;
|
import com.gmail.nossr50.skills.fishing.FishingManager;
|
||||||
import com.gmail.nossr50.skills.herbalism.HerbalismManager;
|
import com.gmail.nossr50.skills.herbalism.HerbalismManager;
|
||||||
import com.gmail.nossr50.skills.mining.MiningManager;
|
import com.gmail.nossr50.skills.mining.MiningManager;
|
||||||
@ -62,7 +61,6 @@ import com.gmail.nossr50.util.MobHealthbarUtils;
|
|||||||
import com.gmail.nossr50.util.Motd;
|
import com.gmail.nossr50.util.Motd;
|
||||||
import com.gmail.nossr50.util.Permissions;
|
import com.gmail.nossr50.util.Permissions;
|
||||||
import com.gmail.nossr50.util.player.UserManager;
|
import com.gmail.nossr50.util.player.UserManager;
|
||||||
import com.gmail.nossr50.util.scoreboards.ScoreboardManager;
|
|
||||||
import com.gmail.nossr50.util.skills.SkillUtils;
|
import com.gmail.nossr50.util.skills.SkillUtils;
|
||||||
|
|
||||||
public class PlayerListener implements Listener {
|
public class PlayerListener implements Listener {
|
||||||
@ -361,16 +359,7 @@ public class PlayerListener implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
McMMOPlayer mcMMOPlayer = UserManager.getPlayer(player);
|
||||||
|
mcMMOPlayer.logout(false);
|
||||||
mcMMOPlayer.resetAbilityMode();
|
|
||||||
BleedTimerTask.bleedOut(player);
|
|
||||||
mcMMOPlayer.getProfile().scheduleAsyncSave();
|
|
||||||
UserManager.remove(player);
|
|
||||||
ScoreboardManager.teardownPlayer(player);
|
|
||||||
|
|
||||||
if (mcMMOPlayer.inParty()) {
|
|
||||||
mcMMOPlayer.logoutParty();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user