Improve upon the teleport mixin again. Lazy destination plz :)
This commit is contained in:
parent
8babb5b502
commit
62b0e8f8b3
@ -22,13 +22,13 @@ import com.massivecraft.mcore.integration.vault.VaultFeatures;
|
||||
import com.massivecraft.mcore.mcorecmd.CmdMCore;
|
||||
import com.massivecraft.mcore.mcorecmd.CmdMCoreMStore;
|
||||
import com.massivecraft.mcore.mcorecmd.CmdMCoreUsys;
|
||||
import com.massivecraft.mcore.mixin.ScheduledTeleportEngine;
|
||||
import com.massivecraft.mcore.mixin.SenderIdMixinDefault;
|
||||
import com.massivecraft.mcore.mixin.TeleportMixinCauseEngine;
|
||||
import com.massivecraft.mcore.ps.PS;
|
||||
import com.massivecraft.mcore.ps.PSAdapter;
|
||||
import com.massivecraft.mcore.store.Coll;
|
||||
import com.massivecraft.mcore.store.ExamineThread;
|
||||
import com.massivecraft.mcore.teleport.ScheduledTeleportEngine;
|
||||
import com.massivecraft.mcore.util.PlayerUtil;
|
||||
import com.massivecraft.mcore.util.TimeDiffUtil;
|
||||
import com.massivecraft.mcore.util.TimeUnit;
|
||||
|
@ -6,7 +6,6 @@ import java.util.Set;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||
import org.bukkit.permissions.Permissible;
|
||||
@ -14,6 +13,8 @@ import org.bukkit.permissions.Permissible;
|
||||
import com.massivecraft.mcore.Predictate;
|
||||
import com.massivecraft.mcore.event.MCorePlayerLeaveEvent;
|
||||
import com.massivecraft.mcore.ps.PS;
|
||||
import com.massivecraft.mcore.store.SenderEntity;
|
||||
import com.massivecraft.mcore.teleport.PSGetter;
|
||||
|
||||
public class Mixin
|
||||
{
|
||||
@ -279,38 +280,274 @@ public class Mixin
|
||||
return getTeleportMixin().isCausedByMixin(event);
|
||||
}
|
||||
|
||||
public static void teleport(Player teleportee, PS destinationPs) throws TeleporterException
|
||||
// CommandSender & PS
|
||||
public static void teleport(CommandSender teleportee, PS to) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, destinationPs);
|
||||
getTeleportMixin().teleport(teleportee, to);
|
||||
}
|
||||
public static void teleport(Player teleportee, PS destinationPs, String destinationDesc) throws TeleporterException
|
||||
public static void teleport(CommandSender teleportee, PS to, String desc) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, destinationPs, destinationDesc);
|
||||
getTeleportMixin().teleport(teleportee, to, desc);
|
||||
}
|
||||
public static void teleport(Player teleportee, PS destinationPs, String destinationDesc, Permissible delayPermissible) throws TeleporterException
|
||||
public static void teleport(CommandSender teleportee, PS to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, destinationPs, destinationDesc, delayPermissible);
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delayPermissible);
|
||||
}
|
||||
public static void teleport(Player teleportee, PS destinationPs, String destinationDesc, int delaySeconds) throws TeleporterException
|
||||
public static void teleport(CommandSender teleportee, PS to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, destinationPs, destinationDesc, delaySeconds);
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
public static void teleport(String teleporteeId, PS destinationPs) throws TeleporterException
|
||||
// CommandSender & CommandSender
|
||||
public static void teleport(CommandSender teleportee, CommandSender to) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleporteeId, destinationPs);
|
||||
getTeleportMixin().teleport(teleportee, to);
|
||||
}
|
||||
public static void teleport(String teleporteeId, PS destinationPs, String destinationDesc) throws TeleporterException
|
||||
public static void teleport(CommandSender teleportee, CommandSender to, String desc) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleporteeId, destinationPs, destinationDesc);
|
||||
getTeleportMixin().teleport(teleportee, to, desc);
|
||||
}
|
||||
public static void teleport(String teleporteeId, PS destinationPs, String destinationDesc, Permissible delayPermissible) throws TeleporterException
|
||||
public static void teleport(CommandSender teleportee, CommandSender to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleporteeId, destinationPs, destinationDesc, delayPermissible);
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delayPermissible);
|
||||
}
|
||||
public static void teleport(String teleporteeId, PS destinationPs, String destinationDesc, int delaySeconds) throws TeleporterException
|
||||
public static void teleport(CommandSender teleportee, CommandSender to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleporteeId, destinationPs, destinationDesc, delaySeconds);
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// CommandSender & SenderEntity
|
||||
public static void teleport(CommandSender teleportee, SenderEntity<?> to) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to);
|
||||
}
|
||||
public static void teleport(CommandSender teleportee, SenderEntity<?> to, String desc) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc);
|
||||
}
|
||||
public static void teleport(CommandSender teleportee, SenderEntity<?> to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delayPermissible);
|
||||
}
|
||||
public static void teleport(CommandSender teleportee, SenderEntity<?> to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// CommandSender & String
|
||||
public static void teleport(CommandSender teleportee, String to) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to);
|
||||
}
|
||||
public static void teleport(CommandSender teleportee, String to, String desc) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc);
|
||||
}
|
||||
public static void teleport(CommandSender teleportee, String to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delayPermissible);
|
||||
}
|
||||
public static void teleport(CommandSender teleportee, String to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// CommandSender & PSGetter
|
||||
public static void teleport(CommandSender teleportee, PSGetter to) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to);
|
||||
}
|
||||
public static void teleport(CommandSender teleportee, PSGetter to, String desc) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc);
|
||||
}
|
||||
public static void teleport(CommandSender teleportee, PSGetter to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delayPermissible);
|
||||
}
|
||||
public static void teleport(CommandSender teleportee, PSGetter to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// SenderEntity & PS
|
||||
public static void teleport(SenderEntity<?> teleportee, PS to) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to);
|
||||
}
|
||||
public static void teleport(SenderEntity<?> teleportee, PS to, String desc) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc);
|
||||
}
|
||||
public static void teleport(SenderEntity<?> teleportee, PS to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delayPermissible);
|
||||
}
|
||||
public static void teleport(SenderEntity<?> teleportee, PS to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// SenderEntity & CommandSender
|
||||
public static void teleport(SenderEntity<?> teleportee, CommandSender to) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to);
|
||||
}
|
||||
public static void teleport(SenderEntity<?> teleportee, CommandSender to, String desc) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc);
|
||||
}
|
||||
public static void teleport(SenderEntity<?> teleportee, CommandSender to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delayPermissible);
|
||||
}
|
||||
public static void teleport(SenderEntity<?> teleportee, CommandSender to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// SenderEntity & SenderEntity
|
||||
public static void teleport(SenderEntity<?> teleportee, SenderEntity<?> to) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to);
|
||||
}
|
||||
public static void teleport(SenderEntity<?> teleportee, SenderEntity<?> to, String desc) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc);
|
||||
}
|
||||
public static void teleport(SenderEntity<?> teleportee, SenderEntity<?> to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delayPermissible);
|
||||
}
|
||||
public static void teleport(SenderEntity<?> teleportee, SenderEntity<?> to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// SenderEntity & String
|
||||
public static void teleport(SenderEntity<?> teleportee, String to) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to);
|
||||
}
|
||||
public static void teleport(SenderEntity<?> teleportee, String to, String desc) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc);
|
||||
}
|
||||
public static void teleport(SenderEntity<?> teleportee, String to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delayPermissible);
|
||||
}
|
||||
public static void teleport(SenderEntity<?> teleportee, String to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// SenderEntity & PSGetter
|
||||
public static void teleport(SenderEntity<?> teleportee, PSGetter to) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to);
|
||||
}
|
||||
public static void teleport(SenderEntity<?> teleportee, PSGetter to, String desc) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc);
|
||||
}
|
||||
public static void teleport(SenderEntity<?> teleportee, PSGetter to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delayPermissible);
|
||||
}
|
||||
public static void teleport(SenderEntity<?> teleportee, PSGetter to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// String & PS
|
||||
public static void teleport(String teleportee, PS to) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to);
|
||||
}
|
||||
public static void teleport(String teleportee, PS to, String desc) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc);
|
||||
}
|
||||
public static void teleport(String teleportee, PS to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delayPermissible);
|
||||
}
|
||||
public static void teleport(String teleportee, PS to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// String & CommandSender
|
||||
public static void teleport(String teleportee, CommandSender to) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to);
|
||||
}
|
||||
public static void teleport(String teleportee, CommandSender to, String desc) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc);
|
||||
}
|
||||
public static void teleport(String teleportee, CommandSender to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delayPermissible);
|
||||
}
|
||||
public static void teleport(String teleportee, CommandSender to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// String & SenderEntity
|
||||
public static void teleport(String teleportee, SenderEntity<?> to) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to);
|
||||
}
|
||||
public static void teleport(String teleportee, SenderEntity<?> to, String desc) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc);
|
||||
}
|
||||
public static void teleport(String teleportee, SenderEntity<?> to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delayPermissible);
|
||||
}
|
||||
public static void teleport(String teleportee, SenderEntity<?> to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// String & String
|
||||
public static void teleport(String teleportee, String to) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to);
|
||||
}
|
||||
public static void teleport(String teleportee, String to, String desc) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc);
|
||||
}
|
||||
public static void teleport(String teleportee, String to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delayPermissible);
|
||||
}
|
||||
public static void teleport(String teleportee, String to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// String & PSGetter
|
||||
public static void teleport(String teleportee, PSGetter to) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to);
|
||||
}
|
||||
public static void teleport(String teleportee, PSGetter to, String desc) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc);
|
||||
}
|
||||
public static void teleport(String teleportee, PSGetter to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delayPermissible);
|
||||
}
|
||||
public static void teleport(String teleportee, PSGetter to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
getTeleportMixin().teleport(teleportee, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
|
@ -1,10 +1,12 @@
|
||||
package com.massivecraft.mcore.mixin;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||
import org.bukkit.permissions.Permissible;
|
||||
|
||||
import com.massivecraft.mcore.ps.PS;
|
||||
import com.massivecraft.mcore.store.SenderEntity;
|
||||
import com.massivecraft.mcore.teleport.PSGetter;
|
||||
|
||||
public interface TeleportMixin
|
||||
{
|
||||
@ -14,28 +16,126 @@ public interface TeleportMixin
|
||||
|
||||
public boolean isCausedByMixin(PlayerTeleportEvent event);
|
||||
|
||||
// -------------------------------------------- //
|
||||
// PLAYER
|
||||
// -------------------------------------------- //
|
||||
|
||||
public void teleport(Player teleportee, PS to) throws TeleporterException;
|
||||
|
||||
public void teleport(Player teleportee, PS to, String desc) throws TeleporterException;
|
||||
|
||||
public void teleport(Player teleportee, PS to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
|
||||
public void teleport(Player teleportee, PS to, String desc, int delaySeconds) throws TeleporterException;
|
||||
// PERMUTATION
|
||||
//
|
||||
// # teleportee
|
||||
// CommandSender
|
||||
// SenderEntity
|
||||
// String
|
||||
//
|
||||
// # to
|
||||
// PS
|
||||
// CommandSender
|
||||
// SenderEntity
|
||||
// String
|
||||
// PSGetter
|
||||
|
||||
// -------------------------------------------- //
|
||||
// PLAYER ID
|
||||
// COMMAND SENDER
|
||||
// -------------------------------------------- //
|
||||
|
||||
public void teleport(String teleporteeId, PS to) throws TeleporterException;
|
||||
// CommandSender & PS
|
||||
public void teleport(CommandSender teleportee, PS to) throws TeleporterException;
|
||||
public void teleport(CommandSender teleportee, PS to, String desc) throws TeleporterException;
|
||||
public void teleport(CommandSender teleportee, PS to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
public void teleport(CommandSender teleportee, PS to, String desc, int delaySeconds) throws TeleporterException;
|
||||
|
||||
public void teleport(String teleporteeId, PS to, String desc) throws TeleporterException;
|
||||
// CommandSender & CommandSender
|
||||
public void teleport(CommandSender teleportee, CommandSender to) throws TeleporterException;
|
||||
public void teleport(CommandSender teleportee, CommandSender to, String desc) throws TeleporterException;
|
||||
public void teleport(CommandSender teleportee, CommandSender to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
public void teleport(CommandSender teleportee, CommandSender to, String desc, int delaySeconds) throws TeleporterException;
|
||||
|
||||
public void teleport(String teleporteeId, PS to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
// CommandSender & SenderEntity
|
||||
public void teleport(CommandSender teleportee, SenderEntity<?> to) throws TeleporterException;
|
||||
public void teleport(CommandSender teleportee, SenderEntity<?> to, String desc) throws TeleporterException;
|
||||
public void teleport(CommandSender teleportee, SenderEntity<?> to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
public void teleport(CommandSender teleportee, SenderEntity<?> to, String desc, int delaySeconds) throws TeleporterException;
|
||||
|
||||
// CommandSender & String
|
||||
public void teleport(CommandSender teleportee, String to) throws TeleporterException;
|
||||
public void teleport(CommandSender teleportee, String to, String desc) throws TeleporterException;
|
||||
public void teleport(CommandSender teleportee, String to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
public void teleport(CommandSender teleportee, String to, String desc, int delaySeconds) throws TeleporterException;
|
||||
|
||||
// CommandSender & PSGetter
|
||||
public void teleport(CommandSender teleportee, PSGetter to) throws TeleporterException;
|
||||
public void teleport(CommandSender teleportee, PSGetter to, String desc) throws TeleporterException;
|
||||
public void teleport(CommandSender teleportee, PSGetter to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
public void teleport(CommandSender teleportee, PSGetter to, String desc, int delaySeconds) throws TeleporterException;
|
||||
|
||||
//// SenderEntity
|
||||
|
||||
// -------------------------------------------- //
|
||||
// SENDER ENTITY
|
||||
// -------------------------------------------- //
|
||||
|
||||
// SenderEntity & PS
|
||||
public void teleport(SenderEntity<?> teleportee, PS to) throws TeleporterException;
|
||||
public void teleport(SenderEntity<?> teleportee, PS to, String desc) throws TeleporterException;
|
||||
public void teleport(SenderEntity<?> teleportee, PS to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
public void teleport(SenderEntity<?> teleportee, PS to, String desc, int delaySeconds) throws TeleporterException;
|
||||
|
||||
// SenderEntity & CommandSender
|
||||
public void teleport(SenderEntity<?> teleportee, CommandSender to) throws TeleporterException;
|
||||
public void teleport(SenderEntity<?> teleportee, CommandSender to, String desc) throws TeleporterException;
|
||||
public void teleport(SenderEntity<?> teleportee, CommandSender to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
public void teleport(SenderEntity<?> teleportee, CommandSender to, String desc, int delaySeconds) throws TeleporterException;
|
||||
|
||||
// SenderEntity & SenderEntity
|
||||
public void teleport(SenderEntity<?> teleportee, SenderEntity<?> to) throws TeleporterException;
|
||||
public void teleport(SenderEntity<?> teleportee, SenderEntity<?> to, String desc) throws TeleporterException;
|
||||
public void teleport(SenderEntity<?> teleportee, SenderEntity<?> to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
public void teleport(SenderEntity<?> teleportee, SenderEntity<?> to, String desc, int delaySeconds) throws TeleporterException;
|
||||
|
||||
// SenderEntity & String
|
||||
public void teleport(SenderEntity<?> teleportee, String to) throws TeleporterException;
|
||||
public void teleport(SenderEntity<?> teleportee, String to, String desc) throws TeleporterException;
|
||||
public void teleport(SenderEntity<?> teleportee, String to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
public void teleport(SenderEntity<?> teleportee, String to, String desc, int delaySeconds) throws TeleporterException;
|
||||
|
||||
// SenderEntity & PSGetter
|
||||
public void teleport(SenderEntity<?> teleportee, PSGetter to) throws TeleporterException;
|
||||
public void teleport(SenderEntity<?> teleportee, PSGetter to, String desc) throws TeleporterException;
|
||||
public void teleport(SenderEntity<?> teleportee, PSGetter to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
public void teleport(SenderEntity<?> teleportee, PSGetter to, String desc, int delaySeconds) throws TeleporterException;
|
||||
|
||||
//// String
|
||||
|
||||
// -------------------------------------------- //
|
||||
// STRING
|
||||
// -------------------------------------------- //
|
||||
|
||||
// String & PS
|
||||
public void teleport(String teleportee, PS to) throws TeleporterException;
|
||||
public void teleport(String teleportee, PS to, String desc) throws TeleporterException;
|
||||
public void teleport(String teleportee, PS to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
public void teleport(String teleportee, PS to, String desc, int delaySeconds) throws TeleporterException;
|
||||
|
||||
// String & CommandSender
|
||||
public void teleport(String teleportee, CommandSender to) throws TeleporterException;
|
||||
public void teleport(String teleportee, CommandSender to, String desc) throws TeleporterException;
|
||||
public void teleport(String teleportee, CommandSender to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
public void teleport(String teleportee, CommandSender to, String desc, int delaySeconds) throws TeleporterException;
|
||||
|
||||
// String & SenderEntity
|
||||
public void teleport(String teleportee, SenderEntity<?> to) throws TeleporterException;
|
||||
public void teleport(String teleportee, SenderEntity<?> to, String desc) throws TeleporterException;
|
||||
public void teleport(String teleportee, SenderEntity<?> to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
public void teleport(String teleportee, SenderEntity<?> to, String desc, int delaySeconds) throws TeleporterException;
|
||||
|
||||
// String & String
|
||||
public void teleport(String teleportee, String to) throws TeleporterException;
|
||||
public void teleport(String teleportee, String to, String desc) throws TeleporterException;
|
||||
public void teleport(String teleportee, String to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
public void teleport(String teleportee, String to, String desc, int delaySeconds) throws TeleporterException;
|
||||
|
||||
// String & PSGetter
|
||||
public void teleport(String teleportee, PSGetter to) throws TeleporterException;
|
||||
public void teleport(String teleportee, PSGetter to, String desc) throws TeleporterException;
|
||||
public void teleport(String teleportee, PSGetter to, String desc, Permissible delayPermissible) throws TeleporterException;
|
||||
public void teleport(String teleportee, PSGetter to, String desc, int delaySeconds) throws TeleporterException;
|
||||
// This very last method is is the core logic.
|
||||
// Everything else is implemented in the abstract.
|
||||
|
||||
// The only one not covered in abstract
|
||||
public void teleport(String teleporteeId, PS to, String desc, int delaySeconds) throws TeleporterException;
|
||||
}
|
||||
|
@ -1,71 +1,19 @@
|
||||
package com.massivecraft.mcore.mixin;
|
||||
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||
import org.bukkit.permissions.Permissible;
|
||||
|
||||
import com.massivecraft.mcore.MCoreConf;
|
||||
import com.massivecraft.mcore.ps.PS;
|
||||
import com.massivecraft.mcore.store.SenderEntity;
|
||||
import com.massivecraft.mcore.teleport.PSGetter;
|
||||
import com.massivecraft.mcore.teleport.PSGetterPS;
|
||||
import com.massivecraft.mcore.teleport.PSGetterPlayer;
|
||||
import com.massivecraft.mcore.util.SenderUtil;
|
||||
|
||||
public abstract class TeleportMixinAbstract implements TeleportMixin
|
||||
{
|
||||
// -------------------------------------------- //
|
||||
// OVERRIDE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public boolean isCausedByMixin(PlayerTeleportEvent event)
|
||||
{
|
||||
return TeleportMixinCauseEngine.get().isCausedByTeleportMixin(event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(Player teleportee, PS to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(Player teleportee, PS to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(Player teleportee, PS to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
int delaySeconds = getTpdelay(delayPermissible);
|
||||
this.teleport(teleportee, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(Player teleportee, PS to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
this.teleport(SenderUtil.getSenderId(teleportee), to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// ----
|
||||
|
||||
@Override
|
||||
public void teleport(String teleporteeId, PS to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleporteeId, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(String teleporteeId, PS to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleporteeId, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(String teleporteeId, PS to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
int delaySeconds = getTpdelay(delayPermissible);
|
||||
this.teleport(teleporteeId, to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// UTIL
|
||||
// -------------------------------------------- //
|
||||
@ -75,4 +23,395 @@ public abstract class TeleportMixinAbstract implements TeleportMixin
|
||||
return MCoreConf.get().getTpdelay(delayPermissible);
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// CHECK
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public boolean isCausedByMixin(PlayerTeleportEvent event)
|
||||
{
|
||||
return TeleportMixinCauseEngine.get().isCausedByTeleportMixin(event);
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// COMMAND SENDER
|
||||
// -------------------------------------------- //
|
||||
|
||||
// CommandSender & PS
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, PS to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, PS to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, PS to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, getTpdelay(delayPermissible));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, PS to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
this.teleport(SenderUtil.getSenderId(teleportee), to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// CommandSender & CommandSender
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, CommandSender to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, CommandSender to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, CommandSender to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, getTpdelay(delayPermissible));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, CommandSender to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
this.teleport(SenderUtil.getSenderId(teleportee), to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// CommandSender & SenderEntity
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, SenderEntity<?> to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, SenderEntity<?> to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, SenderEntity<?> to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, getTpdelay(delayPermissible));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, SenderEntity<?> to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
this.teleport(SenderUtil.getSenderId(teleportee), to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// CommandSender & String
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, String to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, String to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, String to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, getTpdelay(delayPermissible));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, String to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
this.teleport(SenderUtil.getSenderId(teleportee), to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// CommandSender & PSGetter
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, PSGetter to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, PSGetter to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, PSGetter to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, getTpdelay(delayPermissible));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(CommandSender teleportee, PSGetter to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
this.teleport(SenderUtil.getSenderId(teleportee), to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// SENDER ENTITY
|
||||
// -------------------------------------------- //
|
||||
|
||||
// SenderEntity & PS
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, PS to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, PS to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, PS to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, getTpdelay(delayPermissible));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, PS to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee.getId(), to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// SenderEntity & CommandSender
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, CommandSender to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, CommandSender to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, CommandSender to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, getTpdelay(delayPermissible));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, CommandSender to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee.getId(), to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// SenderEntity & SenderEntity
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, SenderEntity<?> to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, SenderEntity<?> to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, SenderEntity<?> to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, getTpdelay(delayPermissible));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, SenderEntity<?> to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee.getId(), to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// SenderEntity & String
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, String to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, String to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, String to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, getTpdelay(delayPermissible));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, String to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee.getId(), to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// SenderEntity & PSGetter
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, PSGetter to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, PSGetter to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, PSGetter to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, getTpdelay(delayPermissible));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(SenderEntity<?> teleportee, PSGetter to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee.getId(), to, desc, delaySeconds);
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// STRING
|
||||
// -------------------------------------------- //
|
||||
|
||||
// String & PS
|
||||
@Override
|
||||
public void teleport(String teleportee, PS to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(String teleportee, PS to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(String teleportee, PS to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, getTpdelay(delayPermissible));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(String teleportee, PS to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, PSGetterPS.valueOf(to), desc, delaySeconds);
|
||||
}
|
||||
|
||||
// String & CommandSender
|
||||
@Override
|
||||
public void teleport(String teleportee, CommandSender to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(String teleportee, CommandSender to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(String teleportee, CommandSender to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, getTpdelay(delayPermissible));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(String teleportee, CommandSender to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, PSGetterPlayer.valueOf(to), desc, delaySeconds);
|
||||
}
|
||||
|
||||
// String & SenderEntity
|
||||
@Override
|
||||
public void teleport(String teleportee, SenderEntity<?> to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(String teleportee, SenderEntity<?> to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(String teleportee, SenderEntity<?> to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, getTpdelay(delayPermissible));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(String teleportee, SenderEntity<?> to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, PSGetterPlayer.valueOf(to), desc, delaySeconds);
|
||||
}
|
||||
|
||||
// String & String
|
||||
@Override
|
||||
public void teleport(String teleportee, String to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(String teleportee, String to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(String teleportee, String to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, getTpdelay(delayPermissible));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(String teleportee, String to, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, PSGetterPlayer.valueOf(to), desc, delaySeconds);
|
||||
}
|
||||
|
||||
// String & PSGetter
|
||||
@Override
|
||||
public void teleport(String teleportee, PSGetter to) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(String teleportee, PSGetter to, String desc) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void teleport(String teleportee, PSGetter to, String desc, Permissible delayPermissible) throws TeleporterException
|
||||
{
|
||||
this.teleport(teleportee, to, desc, getTpdelay(delayPermissible));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -7,6 +7,8 @@ import org.bukkit.util.Vector;
|
||||
|
||||
import com.massivecraft.mcore.event.MCorePlayerPSTeleportEvent;
|
||||
import com.massivecraft.mcore.ps.PS;
|
||||
import com.massivecraft.mcore.teleport.PSGetter;
|
||||
import com.massivecraft.mcore.teleport.ScheduledTeleport;
|
||||
import com.massivecraft.mcore.util.SenderUtil;
|
||||
import com.massivecraft.mcore.util.Txt;
|
||||
|
||||
@ -69,7 +71,7 @@ public class TeleportMixinDefault extends TeleportMixinAbstract
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public void teleport(String teleporteeId, PS to, String desc, int delaySeconds) throws TeleporterException
|
||||
public void teleport(String teleporteeId, PSGetter toGetter, String desc, int delaySeconds) throws TeleporterException
|
||||
{
|
||||
if (!SenderUtil.isPlayerId(teleporteeId)) throw new TeleporterException(Txt.parse("<white>%s <b>is not a player.", Mixin.getDisplayName(teleporteeId)));
|
||||
|
||||
@ -85,12 +87,15 @@ public class TeleportMixinDefault extends TeleportMixinAbstract
|
||||
Mixin.msg(teleporteeId, "<i>Teleporting in <h>"+delaySeconds+"s <i>unless you move.");
|
||||
}
|
||||
|
||||
new ScheduledTeleport(teleporteeId, to, desc, delaySeconds).schedule();
|
||||
new ScheduledTeleport(teleporteeId, toGetter, desc, delaySeconds).schedule();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Without delay AKA "now"/"at once"
|
||||
|
||||
// Resolve the getter
|
||||
PS to = toGetter.getPS();
|
||||
|
||||
// Run event
|
||||
MCorePlayerPSTeleportEvent event = new MCorePlayerPSTeleportEvent(teleporteeId, Mixin.getSenderPs(teleporteeId), to, desc);
|
||||
event.run();
|
||||
|
10
src/com/massivecraft/mcore/teleport/PSGetter.java
Normal file
10
src/com/massivecraft/mcore/teleport/PSGetter.java
Normal file
@ -0,0 +1,10 @@
|
||||
package com.massivecraft.mcore.teleport;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.massivecraft.mcore.ps.PS;
|
||||
|
||||
public interface PSGetter extends Serializable
|
||||
{
|
||||
public PS getPS();
|
||||
}
|
11
src/com/massivecraft/mcore/teleport/PSGetterAbstract.java
Normal file
11
src/com/massivecraft/mcore/teleport/PSGetterAbstract.java
Normal file
@ -0,0 +1,11 @@
|
||||
package com.massivecraft.mcore.teleport;
|
||||
|
||||
public abstract class PSGetterAbstract implements PSGetter
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public boolean hasPS()
|
||||
{
|
||||
return this.getPS() != null;
|
||||
}
|
||||
}
|
43
src/com/massivecraft/mcore/teleport/PSGetterPS.java
Normal file
43
src/com/massivecraft/mcore/teleport/PSGetterPS.java
Normal file
@ -0,0 +1,43 @@
|
||||
package com.massivecraft.mcore.teleport;
|
||||
|
||||
import com.massivecraft.mcore.ps.PS;
|
||||
|
||||
public final class PSGetterPS extends PSGetterAbstract
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// -------------------------------------------- //
|
||||
// FIELDS
|
||||
// -------------------------------------------- //
|
||||
|
||||
private final PS ps;
|
||||
|
||||
// -------------------------------------------- //
|
||||
// CONSTRUCT
|
||||
// -------------------------------------------- //
|
||||
|
||||
private PSGetterPS(PS ps)
|
||||
{
|
||||
this.ps = ps;
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// VALUE OF
|
||||
// -------------------------------------------- //
|
||||
|
||||
public static PSGetterPS valueOf(PS ps)
|
||||
{
|
||||
return new PSGetterPS(ps);
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// OVERRIDE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public PS getPS()
|
||||
{
|
||||
return this.ps;
|
||||
}
|
||||
|
||||
}
|
59
src/com/massivecraft/mcore/teleport/PSGetterPlayer.java
Normal file
59
src/com/massivecraft/mcore/teleport/PSGetterPlayer.java
Normal file
@ -0,0 +1,59 @@
|
||||
package com.massivecraft.mcore.teleport;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import com.massivecraft.mcore.mixin.Mixin;
|
||||
import com.massivecraft.mcore.ps.PS;
|
||||
import com.massivecraft.mcore.store.SenderEntity;
|
||||
import com.massivecraft.mcore.util.SenderUtil;
|
||||
|
||||
public final class PSGetterPlayer extends PSGetterAbstract
|
||||
{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// -------------------------------------------- //
|
||||
// FIELDS
|
||||
// -------------------------------------------- //
|
||||
|
||||
private final String senderId;
|
||||
public String getSenderId() { return this.senderId; }
|
||||
|
||||
// -------------------------------------------- //
|
||||
// CONSTRUCT
|
||||
// -------------------------------------------- //
|
||||
|
||||
private PSGetterPlayer(String senderId)
|
||||
{
|
||||
this.senderId = senderId;
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// VALUE OF
|
||||
// -------------------------------------------- //
|
||||
|
||||
public static PSGetterPlayer valueOf(CommandSender player)
|
||||
{
|
||||
return new PSGetterPlayer(SenderUtil.getSenderId(player));
|
||||
}
|
||||
|
||||
public static PSGetterPlayer valueOf(SenderEntity<?> playerEntity)
|
||||
{
|
||||
return new PSGetterPlayer(playerEntity.getId());
|
||||
}
|
||||
|
||||
public static PSGetterPlayer valueOf(String playerId)
|
||||
{
|
||||
return new PSGetterPlayer(playerId);
|
||||
}
|
||||
|
||||
// -------------------------------------------- //
|
||||
// OVERRIDE
|
||||
// -------------------------------------------- //
|
||||
|
||||
@Override
|
||||
public PS getPS()
|
||||
{
|
||||
return Mixin.getSenderPs(this.senderId);
|
||||
}
|
||||
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
package com.massivecraft.mcore.mixin;
|
||||
package com.massivecraft.mcore.teleport;
|
||||
|
||||
import com.massivecraft.mcore.ps.PS;
|
||||
import com.massivecraft.mcore.mixin.Mixin;
|
||||
import com.massivecraft.mcore.mixin.TeleporterException;
|
||||
|
||||
public class ScheduledTeleport implements Runnable
|
||||
{
|
||||
@ -11,8 +12,8 @@ public class ScheduledTeleport implements Runnable
|
||||
private final String teleporteeId;
|
||||
public String getTeleporteeId() { return this.teleporteeId; }
|
||||
|
||||
private final PS destinationPs;
|
||||
public PS getDestinationPs() { return this.destinationPs; }
|
||||
private final PSGetter destinationGetter;
|
||||
public PSGetter getDestinationGetter() { return this.destinationGetter; }
|
||||
|
||||
private final String destinationDesc;
|
||||
public String getDestinationDesc() { return this.destinationDesc; }
|
||||
@ -29,10 +30,10 @@ public class ScheduledTeleport implements Runnable
|
||||
// CONSTRUCT
|
||||
// -------------------------------------------- //
|
||||
|
||||
public ScheduledTeleport(String teleporteeId, PS destinationPs, String destinationDesc, int delaySeconds)
|
||||
public ScheduledTeleport(String teleporteeId, PSGetter destinationGetter, String destinationDesc, int delaySeconds)
|
||||
{
|
||||
this.teleporteeId = teleporteeId;
|
||||
this.destinationPs = destinationPs;
|
||||
this.destinationGetter = destinationGetter;
|
||||
this.destinationDesc = destinationDesc;
|
||||
this.delaySeconds = delaySeconds;
|
||||
this.dueMillis = 0;
|
||||
@ -68,7 +69,7 @@ public class ScheduledTeleport implements Runnable
|
||||
|
||||
try
|
||||
{
|
||||
Mixin.teleport(this.getTeleporteeId(), this.getDestinationPs(), this.getDestinationDesc());
|
||||
Mixin.teleport(this.getTeleporteeId(), this.getDestinationGetter(), this.getDestinationDesc());
|
||||
}
|
||||
catch (TeleporterException e)
|
||||
{
|
@ -1,4 +1,4 @@
|
||||
package com.massivecraft.mcore.mixin;
|
||||
package com.massivecraft.mcore.teleport;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
@ -10,6 +10,7 @@ import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
|
||||
import com.massivecraft.mcore.MCore;
|
||||
import com.massivecraft.mcore.mixin.Mixin;
|
||||
import com.massivecraft.mcore.util.MUtil;
|
||||
import com.massivecraft.mcore.util.SenderUtil;
|
||||
|
Loading…
Reference in New Issue
Block a user