Skip to content

Commit

Permalink
Performance improvement on PlayerJoin
Browse files Browse the repository at this point in the history
  • Loading branch information
rlf committed Dec 13, 2014
1 parent 43b08ad commit 66b4b14
Show file tree
Hide file tree
Showing 7 changed files with 123 additions and 1,008 deletions.
764 changes: 0 additions & 764 deletions src/main/java/us/talabrek/ultimateskyblock/IslandCommand.java

This file was deleted.

1 change: 0 additions & 1 deletion src/main/java/us/talabrek/ultimateskyblock/PlayerInfo.java
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,6 @@ public void createPlayerConfig(final String player) {

public FileConfiguration getPlayerConfig(final String player) {
if (playerData == null) {
uSkyBlock.log(Level.INFO, "Reloading player data!");
reloadPlayerConfig(player);
}
return playerData;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package us.talabrek.ultimateskyblock;
package us.talabrek.ultimateskyblock.event;

import org.bukkit.ChatColor;
import org.bukkit.Material;
Expand All @@ -16,6 +16,7 @@
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.inventory.ItemStack;
import us.talabrek.ultimateskyblock.*;

import java.util.Random;
import java.util.logging.Level;
Expand All @@ -31,40 +32,14 @@ public PlayerEvents(uSkyBlock plugin) {

@EventHandler(priority = EventPriority.NORMAL)
public void onPlayerJoin(final PlayerJoinEvent event) {
loadPlayerData(event.getPlayer());
}

private void loadPlayerData(Player player) {
final PlayerInfo pi = loadPlayerAndIsland(player.getName());
WorldGuardHandler.protectIsland(player, player.getName(), pi);
plugin.addActivePlayer(player.getName(), pi);
uSkyBlock.log(Level.INFO, "Loaded player file for " + player.getName());
}

private PlayerInfo loadPlayerAndIsland(String playerName) {
final PlayerInfo pi = new PlayerInfo(playerName);
FileConfiguration islandConfig = plugin.getIslandConfig(pi.locationForParty());
if (islandConfig == null || !islandConfig.contains("general.level")) {
uSkyBlock.log(Level.INFO, "Creating new Island-config File");
plugin.createIslandConfig(pi.locationForParty(), playerName);
if (plugin.isSkyWorld(event.getPlayer().getWorld())) {
plugin.loadPlayerData(event.getPlayer());
}
plugin.clearIslandConfig(pi.locationForParty(), playerName);
return pi;
}

@EventHandler(priority = EventPriority.NORMAL)
public void onPlayerQuit(final PlayerQuitEvent event) {
Player player = event.getPlayer();
if (plugin.isSkyWorld(player.getWorld())) {
unloadPlayerData(player);
}
}

private void unloadPlayerData(Player player) {
if (plugin.hasIsland(player.getName()) && !plugin.checkForOnlineMembers(player)) {
plugin.removeIslandConfig(plugin.getActivePlayers().get(player.getName()).locationForParty());
}
plugin.removeActivePlayer(player.getName());
plugin.unloadPlayerData(event.getPlayer());
}

@EventHandler(priority = EventPriority.NORMAL)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package us.talabrek.ultimateskyblock.island;

/**
* Responsible for island creation, locating locations, purging, clearing etc.
*/
public class IslandLogic {
}
Loading

0 comments on commit 66b4b14

Please sign in to comment.