|
@@ -39,6 +39,10 @@ public class PtpCommand implements CommandExecutor {
|
|
|
Player player = (Player) sender;
|
|
|
PlayerProfile profile = Users.getProfile(player);
|
|
|
|
|
|
+ if (args[0].equalsIgnoreCase("toggle")) {
|
|
|
+ return toggle(sender, args);
|
|
|
+ }
|
|
|
+
|
|
|
if (profile.getRecentlyHurt() + (Config.getInstance().getPTPCommandCooldown() * Misc.TIME_CONVERSION_FACTOR) > System.currentTimeMillis()) {
|
|
|
player.sendMessage(LocaleLoader.getString("Party.Teleport.Hurt", new Object[] { Config.getInstance().getPTPCommandCooldown() }));
|
|
|
return true;
|
|
@@ -62,17 +66,21 @@ public class PtpCommand implements CommandExecutor {
|
|
|
}
|
|
|
|
|
|
if (PartyManager.inSameParty(player, target)) {
|
|
|
- McMMOPartyTeleportEvent event = new McMMOPartyTeleportEvent(player, target, profile.getParty().getName());
|
|
|
- plugin.getServer().getPluginManager().callEvent(event);
|
|
|
-
|
|
|
- if (event.isCancelled()) {
|
|
|
- return true;
|
|
|
+ if (Users.getProfile(target).getPtpEnabled()) {
|
|
|
+ McMMOPartyTeleportEvent event = new McMMOPartyTeleportEvent(player, target, profile.getParty().getName());
|
|
|
+ plugin.getServer().getPluginManager().callEvent(event);
|
|
|
+
|
|
|
+ if (event.isCancelled()) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ player.teleport(target);
|
|
|
+ player.sendMessage(LocaleLoader.getString("Party.Teleport.Player", new Object[] { target.getName() }));
|
|
|
+ target.sendMessage(LocaleLoader.getString("Party.Teleport.Target", new Object[] { player.getName() }));
|
|
|
+ profile.setRecentlyHurt(System.currentTimeMillis());
|
|
|
+ } else {
|
|
|
+ player.sendMessage(LocaleLoader.getString("Party.Teleport.Disabled", new Object[] { target.getName() }));
|
|
|
}
|
|
|
-
|
|
|
- player.teleport(target);
|
|
|
- player.sendMessage(LocaleLoader.getString("Party.Teleport.Player", new Object[] { target.getName() }));
|
|
|
- target.sendMessage(LocaleLoader.getString("Party.Teleport.Target", new Object[] { player.getName() }));
|
|
|
- profile.setRecentlyHurt(System.currentTimeMillis());
|
|
|
}
|
|
|
else {
|
|
|
player.sendMessage(LocaleLoader.getString("Party.NotInYourParty", new Object[] { target.getName() }));
|
|
@@ -86,4 +94,19 @@ public class PtpCommand implements CommandExecutor {
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private boolean toggle(CommandSender sender, String[] args) {
|
|
|
+ Player player = (Player) sender;
|
|
|
+ PlayerProfile profile = Users.getProfile(player);
|
|
|
+
|
|
|
+ if (profile.getPtpEnabled()) {
|
|
|
+ sender.sendMessage(LocaleLoader.getString("Commands.ptp.Disabled"));
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ sender.sendMessage(LocaleLoader.getString("Commands.ptp.Enabled"));
|
|
|
+ }
|
|
|
+
|
|
|
+ profile.togglePtpUse();
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|