mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-22 21:26:45 +01:00
Resolves #116
This commit is contained in:
parent
cde14f8686
commit
85b58b7623
@ -113,6 +113,7 @@ import com.intellectualcrafters.plot.util.PlayerFunctions;
|
|||||||
import com.intellectualcrafters.plot.util.PlotHelper;
|
import com.intellectualcrafters.plot.util.PlotHelper;
|
||||||
import com.intellectualcrafters.plot.util.SendChunk;
|
import com.intellectualcrafters.plot.util.SendChunk;
|
||||||
import com.intellectualcrafters.plot.util.SetBlockFast;
|
import com.intellectualcrafters.plot.util.SetBlockFast;
|
||||||
|
import com.intellectualcrafters.plot.util.TaskManager;
|
||||||
import com.intellectualcrafters.plot.util.UUIDHandler;
|
import com.intellectualcrafters.plot.util.UUIDHandler;
|
||||||
import com.intellectualcrafters.plot.uuid.DefaultUUIDWrapper;
|
import com.intellectualcrafters.plot.uuid.DefaultUUIDWrapper;
|
||||||
import com.intellectualcrafters.plot.uuid.OfflineUUIDWrapper;
|
import com.intellectualcrafters.plot.uuid.OfflineUUIDWrapper;
|
||||||
@ -587,8 +588,36 @@ public class PlotMain extends JavaPlugin implements Listener {
|
|||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
player.teleport(location);
|
if (Settings.TELEPORT_DELAY == 0 || hasPermission(player, "plots.teleport.delay.bypass")) {
|
||||||
PlayerFunctions.sendMessage(player, C.TELEPORTED_TO_PLOT);
|
PlayerFunctions.sendMessage(player, C.TELEPORTED_TO_PLOT);
|
||||||
|
player.teleport(location);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
PlayerFunctions.sendMessage(player, C.TELEPORT_IN_SECONDS, Settings.TELEPORT_DELAY + "");
|
||||||
|
Location loc = player.getLocation();
|
||||||
|
final World world = player.getWorld();
|
||||||
|
final int x = loc.getBlockX();
|
||||||
|
final int z = loc.getBlockZ();
|
||||||
|
TaskManager.runTaskLater(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (!player.isOnline()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Location loc = player.getLocation();
|
||||||
|
if (!loc.getWorld().equals(world)) {
|
||||||
|
PlayerFunctions.sendMessage(player, C.TELEPORT_FAILED);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (loc.getBlockX() != x || loc.getBlockZ() != z) {
|
||||||
|
PlayerFunctions.sendMessage(player, C.TELEPORT_FAILED);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
PlayerFunctions.sendMessage(player, C.TELEPORTED_TO_PLOT);
|
||||||
|
player.teleport(location);
|
||||||
|
}
|
||||||
|
}, Settings.TELEPORT_DELAY * 20);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
return !event.isCancelled();
|
return !event.isCancelled();
|
||||||
}
|
}
|
||||||
@ -796,6 +825,7 @@ public class PlotMain extends JavaPlugin implements Listener {
|
|||||||
final int config_ver = 1;
|
final int config_ver = 1;
|
||||||
config.set("version", config_ver);
|
config.set("version", config_ver);
|
||||||
final Map<String, Object> options = new HashMap<>();
|
final Map<String, Object> options = new HashMap<>();
|
||||||
|
options.put("teleport.delay", 0);
|
||||||
options.put("auto_update", false);
|
options.put("auto_update", false);
|
||||||
options.put("clusters.enabled", Settings.ENABLE_CLUSTERS);
|
options.put("clusters.enabled", Settings.ENABLE_CLUSTERS);
|
||||||
options.put("plotme-alias", Settings.USE_PLOTME_ALIAS);
|
options.put("plotme-alias", Settings.USE_PLOTME_ALIAS);
|
||||||
@ -834,6 +864,7 @@ public class PlotMain extends JavaPlugin implements Listener {
|
|||||||
if (Settings.DEBUG) {
|
if (Settings.DEBUG) {
|
||||||
sendConsoleSenderMessage(C.PREFIX.s() + "&6Debug Mode Enabled (Default). Edit the config to turn this off.");
|
sendConsoleSenderMessage(C.PREFIX.s() + "&6Debug Mode Enabled (Default). Edit the config to turn this off.");
|
||||||
}
|
}
|
||||||
|
Settings.TELEPORT_DELAY = config.getInt("teleport.delay");
|
||||||
Settings.CONSOLE_COLOR = config.getBoolean("console.color");
|
Settings.CONSOLE_COLOR = config.getBoolean("console.color");
|
||||||
Settings.TELEPORT_ON_LOGIN = config.getBoolean("teleport.on_login");
|
Settings.TELEPORT_ON_LOGIN = config.getBoolean("teleport.on_login");
|
||||||
Settings.USE_PLOTME_ALIAS = config.getBoolean("plotme-alias");
|
Settings.USE_PLOTME_ALIAS = config.getBoolean("plotme-alias");
|
||||||
|
@ -260,6 +260,8 @@ public enum C {
|
|||||||
*/
|
*/
|
||||||
TELEPORTED_TO_PLOT("&6You have been teleported"),
|
TELEPORTED_TO_PLOT("&6You have been teleported"),
|
||||||
TELEPORTED_TO_ROAD("&cYou got teleported to the road"),
|
TELEPORTED_TO_ROAD("&cYou got teleported to the road"),
|
||||||
|
TELEPORT_IN_SECONDS("&6Teleporting in %s seconds. Do not move..."),
|
||||||
|
TELEPORT_FAILED("&cTeleportation cancelled due to movement"),
|
||||||
/*
|
/*
|
||||||
* Set Block
|
* Set Block
|
||||||
*/
|
*/
|
||||||
@ -504,7 +506,11 @@ public enum C {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void saveTranslations() {
|
public static void saveTranslations() {
|
||||||
manager.saveAll(defaultFile).saveFile(defaultFile);
|
try {
|
||||||
|
manager.saveAll(defaultFile).saveFile(defaultFile);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -113,7 +113,11 @@ public class Settings {
|
|||||||
* Have colored console messages?
|
* Have colored console messages?
|
||||||
*/
|
*/
|
||||||
public static boolean CONSOLE_COLOR = true;
|
public static boolean CONSOLE_COLOR = true;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The delay (in seconds) before teleportation commences
|
||||||
|
*/
|
||||||
|
public static int TELEPORT_DELAY;
|
||||||
/**
|
/**
|
||||||
* Auto clear enabled
|
* Auto clear enabled
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user