mirror of
https://github.com/MassiveCraft/Factions.git
synced 2024-11-27 12:46:09 +01:00
Store and lookup from UUID
This commit is contained in:
parent
d16d4c4fe5
commit
255549099f
@ -3,7 +3,6 @@ package com.massivecraft.factions;
|
||||
import com.massivecraft.factions.cmd.CmdAutoHelp;
|
||||
import com.massivecraft.factions.cmd.FCmdRoot;
|
||||
import com.massivecraft.factions.integration.Econ;
|
||||
import com.massivecraft.factions.integration.EssentialsFeatures;
|
||||
import com.massivecraft.factions.integration.Worldguard;
|
||||
import com.massivecraft.factions.listeners.*;
|
||||
import com.massivecraft.factions.struct.ChatMode;
|
||||
@ -98,7 +97,6 @@ public class P extends MPlugin {
|
||||
this.cmdAutoHelp = new CmdAutoHelp();
|
||||
this.getBaseCommands().add(cmdBase);
|
||||
|
||||
EssentialsFeatures.setup();
|
||||
Econ.setup();
|
||||
|
||||
if (Conf.worldGuardChecking || Conf.worldGuardBuildPriority) {
|
||||
@ -143,7 +141,6 @@ public class P extends MPlugin {
|
||||
Board.save();
|
||||
Conf.save();
|
||||
}
|
||||
EssentialsFeatures.unhookChat();
|
||||
if (AutoLeaveTask != null) {
|
||||
this.getServer().getScheduler().cancelTask(AutoLeaveTask);
|
||||
AutoLeaveTask = null;
|
||||
|
@ -1,7 +1,6 @@
|
||||
package com.massivecraft.factions.cmd;
|
||||
|
||||
import com.massivecraft.factions.*;
|
||||
import com.massivecraft.factions.integration.EssentialsFeatures;
|
||||
import com.massivecraft.factions.struct.Permission;
|
||||
import com.massivecraft.factions.struct.Relation;
|
||||
import com.massivecraft.factions.struct.Role;
|
||||
@ -108,10 +107,6 @@ public class CmdHome extends FCommand {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// if Essentials teleport handling is enabled and available, pass the teleport off to it (for delay and cooldown)
|
||||
if (EssentialsFeatures.handleTeleport(me, myFaction.getHome())) return;
|
||||
|
||||
// if economy is enabled, they're not on the bypass list, and this command has a cost set, make 'em pay
|
||||
if (!payForCommand(Conf.econCostHome, "to teleport to your faction home", "for teleporting to your faction home"))
|
||||
return;
|
||||
|
@ -1,86 +0,0 @@
|
||||
package com.massivecraft.factions.integration;
|
||||
|
||||
import com.earth2me.essentials.IEssentials;
|
||||
import com.earth2me.essentials.Teleport;
|
||||
import com.earth2me.essentials.Trade;
|
||||
import com.earth2me.essentials.chat.EssentialsChat;
|
||||
import com.massivecraft.factions.Conf;
|
||||
import com.massivecraft.factions.P;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
|
||||
/*
|
||||
* This Essentials integration handler is for newer 3.x.x versions of Essentials which don't have "IEssentialsChatListener"
|
||||
* If an older version is detected in the setup() method below, handling is passed off to EssentialsOldVersionFeatures
|
||||
*/
|
||||
|
||||
// silence deprecation warnings with this old interface
|
||||
@SuppressWarnings("deprecation")
|
||||
public class EssentialsFeatures {
|
||||
private static EssentialsChat essChat;
|
||||
private static IEssentials essentials;
|
||||
|
||||
public static void setup() {
|
||||
// integrate main essentials plugin
|
||||
// TODO: this is the old Essentials method not supported in 3.0... probably needs to eventually be moved to EssentialsOldVersionFeatures and new method implemented
|
||||
if (essentials == null) {
|
||||
Plugin ess = Bukkit.getPluginManager().getPlugin("Essentials");
|
||||
if (ess != null && ess.isEnabled())
|
||||
essentials = (IEssentials) ess;
|
||||
}
|
||||
|
||||
// integrate chat
|
||||
if (essChat != null) return;
|
||||
|
||||
Plugin test = Bukkit.getServer().getPluginManager().getPlugin("EssentialsChat");
|
||||
if (test == null || !test.isEnabled()) return;
|
||||
|
||||
essChat = (EssentialsChat) test;
|
||||
|
||||
// try newer Essentials 3.x integration method
|
||||
try {
|
||||
Class.forName("com.earth2me.essentials.chat.EssentialsLocalChatEvent");
|
||||
integrateChat(essChat);
|
||||
} catch (ClassNotFoundException ex) {
|
||||
}
|
||||
}
|
||||
|
||||
public static void unhookChat() {
|
||||
if (essChat == null) return;
|
||||
}
|
||||
|
||||
|
||||
// return false if feature is disabled or Essentials isn't available
|
||||
public static boolean handleTeleport(Player player, Location loc) {
|
||||
if (!Conf.homesTeleportCommandEssentialsIntegration || essentials == null) return false;
|
||||
|
||||
Teleport teleport = (Teleport) essentials.getUser(player).getTeleport();
|
||||
Trade trade = new Trade(Conf.econCostHome, essentials);
|
||||
try {
|
||||
teleport.teleport(loc, trade);
|
||||
} catch (Exception e) {
|
||||
player.sendMessage(ChatColor.RED.toString() + e.getMessage());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
public static void integrateChat(EssentialsChat instance) {
|
||||
essChat = instance;
|
||||
try {
|
||||
P.p.log("Found and will integrate chat with newer " + essChat.getDescription().getFullName());
|
||||
|
||||
// curly braces used to be accepted by the format string EssentialsChat but no longer are, so... deal with chatTagReplaceString which might need updating
|
||||
if (Conf.chatTagReplaceString.contains("{")) {
|
||||
Conf.chatTagReplaceString = Conf.chatTagReplaceString.replace("{", "[").replace("}", "]");
|
||||
P.p.log("NOTE: as of Essentials 2.8+, we've had to switch the default chat replacement tag from \"{FACTION}\" to \"[FACTION]\". This has automatically been updated for you.");
|
||||
}
|
||||
} catch (NoSuchMethodError ex) {
|
||||
essChat = null;
|
||||
}
|
||||
}
|
||||
}
|
@ -7,7 +7,10 @@ import java.util.List;
|
||||
|
||||
public class PlayerEntity extends Entity {
|
||||
public Player getPlayer() {
|
||||
return Bukkit.getPlayerExact(this.getId());
|
||||
for (Player player : Bukkit.getServer().getOnlinePlayers()) {
|
||||
if (player.getUniqueId().toString().equals(this.getId())) return player;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean isOnline() {
|
||||
|
@ -25,7 +25,7 @@ public abstract class PlayerEntityCollection<E extends Entity> extends EntityCol
|
||||
}
|
||||
|
||||
public E get(Player player) {
|
||||
return this.get(player.getName());
|
||||
return this.get(player.getUniqueId().toString());
|
||||
}
|
||||
|
||||
public Set<E> getOnline() {
|
||||
|
Loading…
Reference in New Issue
Block a user