Gestion dans une classe à part des WorldBorder

This commit is contained in:
2015-02-17 02:40:58 -05:00
parent f7f093bc52
commit d1fec96e8e
7 changed files with 215 additions and 66 deletions

View File

@@ -3,11 +3,10 @@ package net.mc_pandacraft.java.plugin.pandacraftutils.modules.protection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import net.mc_pandacraft.java.plugin.pandacraftutils.PandacraftUtils;
import net.mc_pandacraft.java.plugin.pandacraftutils.config.ConfigManager;
import net.mc_pandacraft.java.plugin.pandacraftutils.config.ConfigManager.WorldBorderConfig;
import net.mc_pandacraft.java.plugin.pandacraftutils.config.elements.WorldBorderConfigEntry;
import net.mc_pandacraft.java.plugin.pandacraftutils.players.OnlinePlayer;
import net.mc_pandacraft.java.plugin.pandacraftutils.players.OnlinePlayerManager;
import net.mc_pandacraft.java.util.bukkit.protocol.ParticleEffect;
@@ -39,11 +38,8 @@ public class WorldBorderManager extends BukkitRunnable implements Listener {
Collection<OnlinePlayer> players = OnlinePlayerManager.getAll();
Map<String, WorldBorderConfig> configs = ConfigManager.getInstance().WorldBorder_config;
for (OnlinePlayer op : players) {
WorldBorderConfig config = configs.get(op.getPlayer().getWorld().getName());
WorldBorderConfigEntry config = ConfigManager.getInstance().worldBorderConfig.getEntry(op.getPlayer().getWorld());
if (config == null) continue;
@@ -68,7 +64,7 @@ public class WorldBorderManager extends BukkitRunnable implements Listener {
Location l = event.getTo();
WorldBorderConfig config = ConfigManager.getInstance().WorldBorder_config.get(l.getWorld().getName());
WorldBorderConfigEntry config = ConfigManager.getInstance().worldBorderConfig.getEntry(l.getWorld());
if (config == null) return;
@@ -93,7 +89,7 @@ public class WorldBorderManager extends BukkitRunnable implements Listener {
* @param config la configuration sur lequel confronter la position
* @return une nouvelle position si le joueur doit bouger, ou null si ce n'est pas nécessaire
*/
public Location checkPosition(Location l, WorldBorderConfig config) {
public Location checkPosition(Location l, WorldBorderConfigEntry config) {
// si le joueur ne dépasse pas la bordure
if (isInSquare(l, config)) return null;
@@ -121,7 +117,7 @@ public class WorldBorderManager extends BukkitRunnable implements Listener {
public boolean isInSquare(Location pLoc, WorldBorderConfig config) {
public boolean isInSquare(Location pLoc, WorldBorderConfigEntry config) {
if (Math.abs(config.X - pLoc.getX()) > config.radius)
return false;
if (Math.abs(config.Z - pLoc.getZ()) > config.radius)
@@ -135,7 +131,7 @@ public class WorldBorderManager extends BukkitRunnable implements Listener {
public void drawLimit(Player p, WorldBorderConfig config) {
public void drawLimit(Player p, WorldBorderConfigEntry config) {
List<Player> pls = new ArrayList<Player>(1);
pls.add(p);