Fix compile issue

This commit is contained in:
Shaun Bennett 2015-10-18 12:42:56 -04:00
parent 177e482dbc
commit 0a3f942575
1 changed files with 154 additions and 109 deletions

View File

@ -2,6 +2,7 @@ package mineplex.game.clans.clans;
import java.util.HashSet; import java.util.HashSet;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.UUID;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Location; import org.bukkit.Location;
@ -38,12 +39,15 @@ import mineplex.core.common.util.F;
import mineplex.core.common.util.NautHashMap; import mineplex.core.common.util.NautHashMap;
import mineplex.core.common.util.UtilPlayer; import mineplex.core.common.util.UtilPlayer;
import mineplex.core.common.util.UtilServer; import mineplex.core.common.util.UtilServer;
import mineplex.core.common.util.UtilWorld;
import mineplex.core.creature.Creature; import mineplex.core.creature.Creature;
import mineplex.core.creature.event.CreatureSpawnCustomEvent; import mineplex.core.creature.event.CreatureSpawnCustomEvent;
import mineplex.core.disguise.DisguiseManager; import mineplex.core.disguise.DisguiseManager;
import mineplex.core.donation.DonationManager; import mineplex.core.donation.DonationManager;
import mineplex.core.energy.Energy; import mineplex.core.energy.Energy;
import mineplex.core.explosion.Explosion; import mineplex.core.explosion.Explosion;
import mineplex.core.gui.SimpleGuiItem;
import mineplex.core.hologram.HologramManager;
import mineplex.core.movement.Movement; import mineplex.core.movement.Movement;
import mineplex.core.npc.NpcManager; import mineplex.core.npc.NpcManager;
import mineplex.core.packethandler.PacketHandler; import mineplex.core.packethandler.PacketHandler;
@ -63,6 +67,7 @@ import mineplex.game.clans.clans.event.ClansPlayerDeathEvent;
import mineplex.game.clans.clans.loot.LootManager; import mineplex.game.clans.clans.loot.LootManager;
import mineplex.game.clans.clans.map.ItemMapManager; import mineplex.game.clans.clans.map.ItemMapManager;
import mineplex.game.clans.clans.murder.MurderManager; import mineplex.game.clans.clans.murder.MurderManager;
import mineplex.game.clans.clans.observer.ObserverManager;
import mineplex.game.clans.clans.redis.ClanDeleteCommandHandler; import mineplex.game.clans.clans.redis.ClanDeleteCommandHandler;
import mineplex.game.clans.clans.redis.ClanLoadCommandHandler; import mineplex.game.clans.clans.redis.ClanLoadCommandHandler;
import mineplex.game.clans.clans.regions.ClansRegions; import mineplex.game.clans.clans.regions.ClansRegions;
@ -99,7 +104,11 @@ import mineplex.minecraft.game.core.condition.ConditionManager;
import mineplex.minecraft.game.core.damage.DamageManager; import mineplex.minecraft.game.core.damage.DamageManager;
import mineplex.minecraft.game.core.fire.Fire; import mineplex.minecraft.game.core.fire.Fire;
import mineplex.minecraft.game.core.mechanics.Weapon; import mineplex.minecraft.game.core.mechanics.Weapon;
import mineplex.serverdata.Region;
import mineplex.serverdata.commands.ServerCommandManager; import mineplex.serverdata.commands.ServerCommandManager;
import mineplex.serverdata.redis.RedisDataRepository;
import mineplex.serverdata.servers.ConnectionData;
import mineplex.serverdata.servers.ServerManager;
public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelation public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelation
{ {
@ -110,7 +119,7 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
public static ClansManager getInstance() { return _instance; } public static ClansManager getInstance() { return _instance; }
private String _serverName; private String _serverName;
private CoreClientManager _clientManager; private CoreClientManager _clientManager;
private CombatManager _combatManager; private CombatManager _combatManager;
private ClansUtility _clanUtility; private ClansUtility _clanUtility;
@ -125,10 +134,13 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
private Teleport _teleport; private Teleport _teleport;
private ConditionManager _condition; private ConditionManager _condition;
private ClassCombatShop _classShop; private ClassCombatShop _classShop;
private HologramManager _hologramManager;
private GearManager _gearManager;
private LootManager _lootManager;
private ClassManager _classManager; private ClassManager _classManager;
public ClassManager getClassManager() { return _classManager; } public ClassManager getClassManager() { return _classManager; }
private WarManager _warManager; private WarManager _warManager;
private ProjectileManager _projectileManager; private ProjectileManager _projectileManager;
private WorldEventManager _worldEvent; private WorldEventManager _worldEvent;
@ -138,7 +150,7 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
private NpcManager _npcManager; private NpcManager _npcManager;
private Explosion _explosion; private Explosion _explosion;
private GoldManager _goldManager; private GoldManager _goldManager;
private int _inviteExpire = 2; private int _inviteExpire = 2;
private int _nameMin = 3; private int _nameMin = 3;
private int _nameMax = 10; private int _nameMax = 10;
@ -147,38 +159,41 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
//Clans //Clans
private NautHashMap<String, ClanInfo> _clanMap = new NautHashMap<String, ClanInfo>(); private NautHashMap<String, ClanInfo> _clanMap = new NautHashMap<String, ClanInfo>();
private NautHashMap<String, ClanInfo> _clanMemberMap = new NautHashMap<String, ClanInfo>(); // private NautHashMap<String, ClanInfo> _clanMemberNameMap = new NautHashMap<String, ClanInfo>();
private NautHashMap<UUID, ClanInfo> _clanMemberUuidMap = new NautHashMap<UUID, ClanInfo>();
private NautHashMap<String, ClanTerritory> _claimMap = new NautHashMap<String, ClanTerritory>(); private NautHashMap<String, ClanTerritory> _claimMap = new NautHashMap<String, ClanTerritory>();
private NautHashMap<String, Long> _unclaimMap = new NautHashMap<String, Long>(); private NautHashMap<String, Long> _unclaimMap = new NautHashMap<String, Long>();
// Spawn area // Spawn area
public String[] denyClan = new String[] { public String[] denyClan = new String[] {
"neut", "neutral", "sethome", "promote", "demote", "admin", "help", "create", "disband", "delete", "invite", "join", "kick", "ally", "trust", "claim", "unclaim", "territory", "home"}; "neut", "neutral", "sethome", "promote", "demote", "admin", "help", "create", "disband", "delete", "invite", "join", "kick", "ally", "trust", "claim", "unclaim", "territory", "home"};
public ClansManager(JavaPlugin plugin, String serverName, CoreClientManager clientManager, DonationManager donationManager, BlockRestore blockRestore, Teleport teleport, Chat chat, GearManager gearManager, String webServerAddress) public ClansManager(JavaPlugin plugin, String serverName, CoreClientManager clientManager, DonationManager donationManager, BlockRestore blockRestore, Teleport teleport, Chat chat, GearManager gearManager, HologramManager hologramManager, String webServerAddress)
{ {
super("Clans Manager", plugin); super("Clans Manager", plugin);
_instance = this; _instance = this;
_serverName = serverName; _serverName = serverName;
_clientManager = clientManager; _clientManager = clientManager;
_combatManager = new CombatManager(plugin); _combatManager = new CombatManager(plugin);
_hologramManager = hologramManager;
_chat = chat; _chat = chat;
_blockRestore = blockRestore; _blockRestore = blockRestore;
_teleport = teleport; _teleport = teleport;
_warManager = new WarManager(plugin, this); _warManager = new WarManager(plugin, this);
_goldManager = new GoldManager(this, _clientManager, donationManager); _goldManager = new GoldManager(this, _clientManager, donationManager);
LootManager lootManager = new LootManager(gearManager, _goldManager); _gearManager = gearManager;
_lootManager = new LootManager(gearManager, _goldManager);
PacketHandler packetHandler = new PacketHandler(plugin); PacketHandler packetHandler = new PacketHandler(plugin);
_disguiseManager = new DisguiseManager(plugin, packetHandler); _disguiseManager = new DisguiseManager(plugin, packetHandler);
Creature creature = new Creature(plugin); Creature creature = new Creature(plugin);
_npcManager = new NpcManager(plugin, creature); _npcManager = new NpcManager(plugin, creature);
_condition = new SkillConditionManager(plugin); _condition = new SkillConditionManager(plugin);
DamageManager damageManager = new DamageManager(plugin, _combatManager, _npcManager, _disguiseManager, _condition); DamageManager damageManager = new DamageManager(plugin, _combatManager, _npcManager, _disguiseManager, _condition);
_worldEvent = new WorldEventManager(plugin, this, damageManager, lootManager, blockRestore); _worldEvent = new WorldEventManager(plugin, this, damageManager, _lootManager, blockRestore);
_scoreboard = new ClansScoreboardManager(plugin, this, _warManager, _worldEvent, clientManager, donationManager); _scoreboard = new ClansScoreboardManager(plugin, this, _warManager, _worldEvent, clientManager, donationManager);
new MurderManager(plugin, this); new MurderManager(plugin, this);
@ -196,56 +211,57 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
_explosion = new Explosion(plugin, blockRestore); _explosion = new Explosion(plugin, blockRestore);
new ClansLoginManager(getPlugin(), clientManager, _serverName); new ClansLoginManager(getPlugin(), clientManager, _serverName);
Energy energy = new Energy(plugin); Energy energy = new Energy(plugin);
// TODO: Re-enable customtagfix with NCP update? // TODO: Re-enable customtagfix with NCP update?
//new CustomTagFix(plugin, packetHandler); //new CustomTagFix(plugin, packetHandler);
new Field(plugin, creature, _condition, this, energy, serverName); new Field(plugin, creature, _condition, this, energy, serverName);
// Required managers to be initialized // Required managers to be initialized
new Spawn(plugin, this); new Spawn(plugin, this);
new NPCManager(this); new NPCManager(this);
new LoggingManager(plugin, this); new LoggingManager(plugin, this);
new ObserverManager(plugin, _condition, this);
new Weapon(plugin, energy); new Weapon(plugin, energy);
new Gameplay(plugin, this, blockRestore, damageManager); new Gameplay(plugin, this, blockRestore, damageManager);
_projectileManager = new ProjectileManager(plugin); _projectileManager = new ProjectileManager(plugin);
Fire fire = new Fire(plugin, _condition, damageManager); Fire fire = new Fire(plugin, _condition, damageManager);
HashSet<String> itemIgnore = new HashSet<String>(); HashSet<String> itemIgnore = new HashSet<String>();
itemIgnore.add("Proximity Explosive"); itemIgnore.add("Proximity Explosive");
itemIgnore.add("Proximity Zapper"); itemIgnore.add("Proximity Zapper");
ItemFactory itemFactory = new ItemFactory(plugin, blockRestore, _condition, damageManager, energy, fire, _projectileManager, webServerAddress, itemIgnore); ItemFactory itemFactory = new ItemFactory(plugin, blockRestore, _condition, damageManager, energy, fire, _projectileManager, webServerAddress, itemIgnore);
SkillFactory skillManager = new SkillFactory(plugin, damageManager, this, _combatManager, _condition, _projectileManager, _disguiseManager, blockRestore, fire, new Movement(plugin), teleport, energy, webServerAddress); SkillFactory skillManager = new SkillFactory(plugin, damageManager, this, _combatManager, _condition, _projectileManager, _disguiseManager, blockRestore, fire, new Movement(plugin), teleport, energy, webServerAddress);
skillManager.RemoveSkill("Dwarf Toss", "Block Toss"); skillManager.RemoveSkill("Dwarf Toss", "Block Toss");
skillManager.removeSkill("Whirlwind Axe"); skillManager.removeSkill("Whirlwind Axe");
skillManager.removeSkill("Shield Smash"); skillManager.removeSkill("Shield Smash");
_classManager = new ClassManager(plugin, _clientManager, donationManager, skillManager, itemFactory, webServerAddress); _classManager = new ClassManager(plugin, _clientManager, donationManager, skillManager, itemFactory, webServerAddress);
// Register redis based server commands // Register redis based server commands
ServerCommandManager.getInstance().registerCommandType(ClanDeleteCommand.class, new ClanDeleteCommandHandler()); ServerCommandManager.getInstance().registerCommandType(ClanDeleteCommand.class, new ClanDeleteCommandHandler());
ServerCommandManager.getInstance().registerCommandType(ClanLoadCommand.class, new ClanLoadCommandHandler()); ServerCommandManager.getInstance().registerCommandType(ClanLoadCommand.class, new ClanLoadCommandHandler());
StatsManager statsManager = new StatsManager(plugin, _clientManager); StatsManager statsManager = new StatsManager(plugin, _clientManager);
AchievementManager achievementManager = new AchievementManager(statsManager, _clientManager, donationManager); AchievementManager achievementManager = new AchievementManager(statsManager, _clientManager, donationManager);
ClassShopManager shopManager = new ClassShopManager(plugin, _classManager, skillManager, itemFactory, achievementManager, _clientManager); ClassShopManager shopManager = new ClassShopManager(plugin, _classManager, skillManager, itemFactory, achievementManager, _clientManager);
_classShop = new ClassCombatShop(shopManager, _clientManager, donationManager, true, "Class Shop"); _classShop = new ClassCombatShop(shopManager, _clientManager, donationManager, true, "Class Shop");
ClanEnergyManager clanEnergyManager = new ClanEnergyManager(plugin, this, clientManager, donationManager); ClanEnergyManager clanEnergyManager = new ClanEnergyManager(plugin, this, clientManager, donationManager);
for (ClanToken token : _clanDataAccess.getRepository().retrieveClans()) for (ClanToken token : _clanDataAccess.getRepository().retrieveClans())
{ {
loadClan(token); loadClan(token);
} }
//RedisDataRepository(ConnectionData writeConn, ConnectionData readConn, Region region, Class<T> elementType, String elementLabel) //RedisDataRepository(ConnectionData writeConn, ConnectionData readConn, Region region, Class<T> elementType, String elementLabel)
// Initialize default region factions and territory (spawn/fields/borderlands) // Initialize default region factions and territory (spawn/fields/borderlands)
_clanRegions = new ClansRegions(plugin, this); _clanRegions = new ClansRegions(plugin, this);
_clanRegions.initializeRegions(); _clanRegions.initializeRegions();
} }
@Override @Override
public void addCommands() public void addCommands()
{ {
@ -256,29 +272,32 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
addCommand(new ClanManagementCommand(this)); addCommand(new ClanManagementCommand(this));
addCommand(new MapCommand(this)); addCommand(new MapCommand(this));
} }
public void loadClan(ClanToken clanToken) public void loadClan(ClanToken clanToken)
{ {
ClanInfo clan = new ClanInfo(this, clanToken); ClanInfo clan = new ClanInfo(this, clanToken);
_clanMap.put(clanToken.Name, clan); _clanMap.put(clanToken.Name, clan);
for (ClanMemberToken memberToken : clanToken.Members) for (ClanMemberToken memberToken : clanToken.Members)
_clanMemberMap.put(memberToken.Name, clan); {
_clanMemberUuidMap.put(memberToken.PlayerUUID, clan);
// _clanMemberMap.put(memberToken.Name, clan);
}
for (ClanTerritoryToken territoryToken : clanToken.Territories) for (ClanTerritoryToken territoryToken : clanToken.Territories)
_claimMap.put(territoryToken.Chunk, new ClanTerritory(territoryToken)); _claimMap.put(territoryToken.Chunk, new ClanTerritory(territoryToken));
} }
public DisguiseManager getDisguiseManager() public DisguiseManager getDisguiseManager()
{ {
return _disguiseManager; return _disguiseManager;
} }
public NpcManager getNPCManager() public NpcManager getNPCManager()
{ {
return _npcManager; return _npcManager;
} }
public ClansRegions getClanRegions() public ClansRegions getClanRegions()
{ {
return _clanRegions; return _clanRegions;
@ -304,34 +323,34 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
return _clanMap; return _clanMap;
} }
public NautHashMap<String, ClanInfo> getClanMemberMap() public NautHashMap<UUID, ClanInfo> getClanMemberUuidMap()
{ {
return _clanMemberMap; return _clanMemberUuidMap;
} }
public static boolean isClaimable(Location location) public static boolean isClaimable(Location location)
{ {
int x = Math.abs(location.getBlockX()); int x = Math.abs(location.getBlockX());
int z = Math.abs(location.getBlockZ()); int z = Math.abs(location.getBlockZ());
return (x <= CLAIMABLE_RADIUS && z <= CLAIMABLE_RADIUS) return (x <= CLAIMABLE_RADIUS && z <= CLAIMABLE_RADIUS)
&& !Spawn.getInstance().isInSpawn(location); && !Spawn.getInstance().isInSpawn(location);
} }
public boolean isFields(Location location) public boolean isFields(Location location)
{ {
return getClanUtility().isSpecial(location, "Fields"); return getClanUtility().isSpecial(location, "Fields");
} }
public boolean canUnclaimChunk(ClanInfo stealer, ClanInfo owner) public boolean canUnclaimChunk(ClanInfo stealer, ClanInfo owner)
{ {
return owner.getClaims() > owner.getClaimsMax() return owner.getClaims() > owner.getClaimsMax()
&& !owner.isAdmin() && !owner.isAlly(stealer); && !owner.isAdmin() && !owner.isAlly(stealer);
} }
public ClanInfo getClan(Player player) public ClanInfo getClan(Player player)
{ {
return _clanMemberMap.get(player.getName()); return _clanMemberUuidMap.get(player.getUniqueId());
} }
public ClanInfo getEnemy(ClanInfo clanInfo) public ClanInfo getEnemy(ClanInfo clanInfo)
@ -347,14 +366,14 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
public boolean isInClan(Player player) public boolean isInClan(Player player)
{ {
return _clanMemberMap.containsKey(player.getName()); return _clanMemberUuidMap.containsKey(player.getUniqueId());
} }
public ClanInfo getClan(String clan) public ClanInfo getClan(String clan)
{ {
return _clanMap.get(clan); return _clanMap.get(clan);
} }
/** /**
* @param clanName * @param clanName
* @return true, if a Clan with matching {@code clanName} exists, false otherwise. * @return true, if a Clan with matching {@code clanName} exists, false otherwise.
@ -371,19 +390,19 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
public long lastPower = System.currentTimeMillis(); public long lastPower = System.currentTimeMillis();
@EventHandler @EventHandler
public void savePlayerActiveBuild(PlayerQuitEvent event) public void savePlayerActiveBuild(PlayerQuitEvent event)
{ {
if (_classManager.Get(event.getPlayer()) != null && _classManager.Get(event.getPlayer()).GetGameClass() != null) if (_classManager.Get(event.getPlayer()) != null && _classManager.Get(event.getPlayer()).GetGameClass() != null)
{ {
CustomBuildToken activeBuild = _classManager.Get(event.getPlayer()).GetActiveCustomBuild(_classManager.Get(event.getPlayer()).GetGameClass()); CustomBuildToken activeBuild = _classManager.Get(event.getPlayer()).GetActiveCustomBuild(_classManager.Get(event.getPlayer()).GetGameClass());
if (activeBuild == null) if (activeBuild == null)
return; return;
activeBuild.PlayerName = event.getPlayer().getName(); activeBuild.PlayerName = event.getPlayer().getName();
// 0 is set aside for active build so we just dupe build to this row whenever we update it. // 0 is set aside for active build so we just dupe build to this row whenever we update it.
activeBuild.CustomBuildNumber = 0; activeBuild.CustomBuildNumber = 0;
_classManager.GetRepository().SaveCustomBuild(activeBuild); _classManager.GetRepository().SaveCustomBuild(activeBuild);
@ -400,14 +419,14 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
event.setCancelled(true); event.setCancelled(true);
} }
} }
@EventHandler(priority = EventPriority.HIGHEST) @EventHandler(priority = EventPriority.HIGHEST)
public void BlockCreatureSpawn(CreatureSpawnCustomEvent event) public void BlockCreatureSpawn(CreatureSpawnCustomEvent event)
{ {
ClanInfo clan = _clanUtility.getOwner(event.GetLocation()); ClanInfo clan = _clanUtility.getOwner(event.GetLocation());
if (clan != null && !clan.isAdmin() if (clan != null && !clan.isAdmin()
&& !clan.getName().equals("Spawn") && event.getReason() != SpawnReason.CUSTOM) && !clan.getName().equals("Spawn") && event.getReason() != SpawnReason.CUSTOM)
{ {
event.setCancelled(true); event.setCancelled(true);
} }
@ -423,7 +442,7 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
public void join(PlayerJoinEvent event) public void join(PlayerJoinEvent event)
{ {
Player player = event.getPlayer(); Player player = event.getPlayer();
ClanInfo clanInfo = getClanMemberMap().get(player.getName()); ClanInfo clanInfo = _clanMemberUuidMap.get(player.getUniqueId());
if (clanInfo != null) if (clanInfo != null)
{ {
clanInfo.playerOnline(player); clanInfo.playerOnline(player);
@ -449,38 +468,38 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
public void quit(PlayerQuitEvent event) public void quit(PlayerQuitEvent event)
{ {
Player player = event.getPlayer(); Player player = event.getPlayer();
ClanInfo clanInfo = getClanMemberMap().get(player.getName()); ClanInfo clanInfo = getClanMemberUuidMap().get(player.getUniqueId());
if (clanInfo != null) if (clanInfo != null)
{ {
clanInfo.playerOffline(player); clanInfo.playerOffline(player);
} }
} }
@EventHandler @EventHandler
public void handlePlayerChat(AsyncPlayerChatEvent event) public void handlePlayerChat(AsyncPlayerChatEvent event)
{ {
if (event.isCancelled()) if (event.isCancelled())
return; return;
ClientClan client = Get(event.getPlayer()); ClientClan client = Get(event.getPlayer());
if (client == null) if (client == null)
return; return;
ClanInfo clan = _clanUtility.getClanByPlayer(event.getPlayer()); ClanInfo clan = _clanUtility.getClanByPlayer(event.getPlayer());
if (client.isClanChat() && clan != null) if (client.isClanChat() && clan != null)
{ {
event.setFormat(C.cAqua + "%1$s " + C.cDAqua + "%2$s"); event.setFormat(C.cAqua + "%1$s " + C.cDAqua + "%2$s");
event.getRecipients().clear(); event.getRecipients().clear();
for (String cur : clan.getMembers().keySet()) for (ClansPlayer cur : clan.getMembers().values())
{ {
Player player = UtilPlayer.searchOnline(null, cur, false); Player player = UtilPlayer.searchExact(cur.getUuid());
if (player == null) if (player == null)
continue; continue;
event.getRecipients().add(player); event.getRecipients().add(player);
} }
} }
@ -488,25 +507,25 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
{ {
event.setFormat(C.cDGreen + clan.getName() + " " + C.cDGreen + "%1$s " + C.cGreen + "%2$s"); event.setFormat(C.cDGreen + clan.getName() + " " + C.cDGreen + "%1$s " + C.cGreen + "%2$s");
event.getRecipients().clear(); event.getRecipients().clear();
for (String cur : clan.getMembers().keySet()) for (ClansPlayer cur : clan.getMembers().values())
{ {
Player player = UtilPlayer.searchOnline(null, cur, false); Player player = UtilPlayer.searchExact(cur.getUuid());
if (player == null) if (player == null)
continue; continue;
event.getRecipients().add(player); event.getRecipients().add(player);
} }
for (String allyName : clan.getAllyMap().keySet()) for (String allyName : clan.getAllyMap().keySet())
{ {
ClanInfo ally = _clanUtility.getClanByClanName(allyName); ClanInfo ally = _clanUtility.getClanByClanName(allyName);
if (ally == null) continue; if (ally == null) continue;
for (String playerName : ally.getMembers().keySet()) for (ClansPlayer cur : ally.getMembers().values())
{ {
Player player = UtilPlayer.searchOnline(null, playerName, false); Player player = UtilPlayer.searchExact(cur.getUuid());
if (player == null) if (player == null)
continue; continue;
@ -517,7 +536,7 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
} }
else else
{ {
if (clan == null) if (clan == null)
{ {
event.setFormat(C.cYellow + "%1$s " + C.cWhite + "%2$s"); event.setFormat(C.cYellow + "%1$s " + C.cWhite + "%2$s");
return; return;
@ -556,7 +575,7 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
{ {
messageClan(clan, C.cAqua + caller.getName() + " " + C.cDAqua + message); messageClan(clan, C.cAqua + caller.getName() + " " + C.cDAqua + message);
} }
public void chatAlly(ClanInfo clan, Player caller, String message) public void chatAlly(ClanInfo clan, Player caller, String message)
{ {
String sendMessage = C.cDGreen + clan.getName() + " " + C.cDGreen + caller.getName() + " " + C.cGreen + message; String sendMessage = C.cDGreen + clan.getName() + " " + C.cDGreen + caller.getName() + " " + C.cGreen + message;
@ -572,22 +591,22 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
} }
} }
public int getNameMin() public int getNameMin()
{ {
return _nameMin; return _nameMin;
} }
public int getNameMax() public int getNameMax()
{ {
return _nameMax; return _nameMax;
} }
public long getReclaimTime() public long getReclaimTime()
{ {
return _reclaimTime; return _reclaimTime;
} }
public boolean canHurt(Player a, Player b) public boolean canHurt(Player a, Player b)
{ {
if (a.equals(b)) if (a.equals(b))
return false; return false;
@ -595,34 +614,45 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
return _clanUtility.canHurt(a, b); return _clanUtility.canHurt(a, b);
} }
public boolean canHurt(String a, String b) public boolean canHurt(String a, String b)
{ {
if (a.equals(b)) if (a.equals(b))
return false; return false;
return _clanUtility.canHurt(UtilPlayer.searchExact(a), UtilPlayer.searchExact(b)); return _clanUtility.canHurt(UtilPlayer.searchExact(a), UtilPlayer.searchExact(b));
} }
public boolean isSafe(Player a) public boolean isSafe(Player a)
{ {
return _clanUtility.isSafe(a); return _clanUtility.isSafe(a);
} }
public ClanRelation getRelation(String playerA, String playerB) // public ClanRelation getRelation(String playerA, String playerB)
// {
// return getClanUtility().rel(_clanMemberMap.get(playerA), _clanMemberMap.get(playerB));
// }
public ClanRelation getRelation(Player playerA, Player playerB)
{ {
return getClanUtility().rel(_clanMemberMap.get(playerA), _clanMemberMap.get(playerB)); return getRelation(playerA.getUniqueId(), playerB.getUniqueId());
} }
public ClanRelation getRelation(UUID playerA, UUID playerB)
{
return getClanUtility().rel(getClanMemberUuidMap().get(playerA), getClanMemberUuidMap().get(playerB));
}
public long getOnlineTime() public long getOnlineTime()
{ {
return _onlineTime; return _onlineTime;
} }
public CombatManager getCombatManager() public CombatManager getCombatManager()
{ {
return _combatManager; return _combatManager;
} }
public ClansUtility getClanUtility() public ClansUtility getClanUtility()
{ {
return _clanUtility; return _clanUtility;
@ -663,12 +693,12 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
{ {
return _clanAdmin; return _clanAdmin;
} }
public ClansGame getClanGame() public ClansGame getClanGame()
{ {
return _clanGame; return _clanGame;
} }
public ClansBlocks getClanBlocks() public ClansBlocks getClanBlocks()
{ {
return _clanBlocks; return _clanBlocks;
@ -709,6 +739,21 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
return _worldEvent; return _worldEvent;
} }
public HologramManager getHologramManager()
{
return _hologramManager;
}
public GearManager getGearManager()
{
return _gearManager;
}
public LootManager getLootManager()
{
return _lootManager;
}
public Chat getChat() public Chat getChat()
{ {
return _chat; return _chat;
@ -735,7 +780,7 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
_goldManager.onDisable(); _goldManager.onDisable();
} }
// @EventHandler // @EventHandler
public void itemBreak(PlayerItemBreakEvent event) public void itemBreak(PlayerItemBreakEvent event)
{ {
Bukkit.broadcastMessage("Item Break: " + event.getPlayer()); Bukkit.broadcastMessage("Item Break: " + event.getPlayer());
@ -744,7 +789,7 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
} }
// @EventHandler // @EventHandler
public void blockBreak(BlockBreakEvent event) public void blockBreak(BlockBreakEvent event)
{ {
Bukkit.broadcastMessage("dur: " + event.getPlayer().getItemInHand().getDurability()); Bukkit.broadcastMessage("dur: " + event.getPlayer().getItemInHand().getDurability());
@ -764,34 +809,13 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
e.printStackTrace(); e.printStackTrace();
} }
catch (IllegalAccessException e) catch (IllegalAccessException e)
{ {
e.printStackTrace(); e.printStackTrace();
} }
Bukkit.broadcastMessage("name: " + item.getName() + " max dur: " + item.getMaxDurability()); Bukkit.broadcastMessage("name: " + item.getName() + " max dur: " + item.getMaxDurability());
} }
@EventHandler(priority = EventPriority.HIGH)
public void handleClansDeath(PlayerDeathEvent event)
{
PlayerClan playerClan;
PlayerClan killerClan = null;
Player player = event.getEntity();
ClanInfo pClan = _clanMemberMap.get(player.getName());
playerClan = new PlayerClan(player, pClan);
if (player.getKiller() != null)
{
Player killer = player.getKiller();
ClanInfo kClan = _clanMemberMap.get(killer.getName());
killerClan = new PlayerClan(killer, kClan);
}
ClansPlayerDeathEvent clansPlayerDeathEvent = new ClansPlayerDeathEvent(event, playerClan, killerClan);
Bukkit.getServer().getPluginManager().callEvent(clansPlayerDeathEvent);
}
@EventHandler(priority = EventPriority.HIGHEST) @EventHandler(priority = EventPriority.HIGHEST)
public void onJoin(PlayerLoginEvent event) public void onJoin(PlayerLoginEvent event)
{ {
@ -803,4 +827,25 @@ public class ClansManager extends MiniClientPlugin<ClientClan> implements IRelat
event.setKickMessage("Only Media+ can join this server!"); event.setKickMessage("Only Media+ can join this server!");
} }
} }
@EventHandler(priority = EventPriority.HIGH)
public void handleClansDeath(PlayerDeathEvent event)
{
PlayerClan playerClan;
PlayerClan killerClan = null;
Player player = event.getEntity();
ClanInfo pClan = _clanMemberUuidMap.get(player.getUniqueId());
playerClan = new PlayerClan(player, pClan);
if (player.getKiller() != null)
{
Player killer = player.getKiller();
ClanInfo kClan = _clanMemberUuidMap.get(killer.getUniqueId());
killerClan = new PlayerClan(killer, kClan);
}
ClansPlayerDeathEvent clansPlayerDeathEvent = new ClansPlayerDeathEvent(event, playerClan, killerClan);
Bukkit.getServer().getPluginManager().callEvent(clansPlayerDeathEvent);
}
} }