diff --git a/src/main/java/org/ultramine/commands/basic/BasicCommands.java b/src/main/java/org/ultramine/commands/basic/BasicCommands.java index ee64ac0..15c33ac 100644 --- a/src/main/java/org/ultramine/commands/basic/BasicCommands.java +++ b/src/main/java/org/ultramine/commands/basic/BasicCommands.java @@ -14,6 +14,7 @@ import org.ultramine.commands.Command; import org.ultramine.commands.CommandContext; +import org.ultramine.server.ConfigurationHandler; import org.ultramine.server.Teleporter; import org.ultramine.server.data.player.PlayerData; import org.ultramine.server.util.InventoryUtil; @@ -41,6 +42,8 @@ PlayerData data = ctx.contains("dst") ? ctx.get("dst").asPlayerData() : ctx.getSenderAsPlayer().getData(); WarpLocation home = data.core().getHome(ctx.contains("name") ? ctx.get("name").asString() : "home"); ctx.check(home != null, "command.home.fail.notset"); + if(home.dimension != target.dimension && !ConfigurationHandler.getServerConfig().settings.teleportation.interWorldHome) + ctx.checkSenderPermission("ability.admin.ignoreInterworldHome", "command.home.fail.interworld"); Teleporter.tpLater(target, home); } @@ -113,6 +116,8 @@ EntityPlayerMP target = ctx.contains("player") ? ctx.get("player").asPlayer() : ctx.getSenderAsPlayer(); WarpLocation warp = ctx.getServerData().getWarp(ctx.get("name").asString()); ctx.check(warp != null, "command.warp.fail"); + if(warp.dimension != target.dimension && !ConfigurationHandler.getServerConfig().settings.teleportation.interWorldWarp) + ctx.checkSenderPermission("ability.admin.ignoreInterworldHome", "command.warp.fail.interworld"); Teleporter.tpLater(target, warp); } diff --git a/src/main/java/org/ultramine/server/UltramineServerConfig.java b/src/main/java/org/ultramine/server/UltramineServerConfig.java index 7a89438..3c69400 100644 --- a/src/main/java/org/ultramine/server/UltramineServerConfig.java +++ b/src/main/java/org/ultramine/server/UltramineServerConfig.java @@ -86,6 +86,8 @@ { public int cooldown = 60; public int delay = 5; + public boolean interWorldHome = true; + public boolean interWorldWarp = true; } public static class MessagesConf diff --git a/src/main/resources/assets/ultramine/lang/en_US.lang b/src/main/resources/assets/ultramine/lang/en_US.lang index fdc6489..f001ccb 100644 --- a/src/main/resources/assets/ultramine/lang/en_US.lang +++ b/src/main/resources/assets/ultramine/lang/en_US.lang @@ -72,6 +72,7 @@ command.home.fail.notset=Home is not set command.home.multi.fail=You don't have permissions to use multiple homes command.home.other.fail=You don't have permissions to use homes of other players +command.home.fail.interworld=Interdimensional teleportation to home is disabled command.sethome.usage=/sethome [name] command.sethome.description=Sets your /home teleportation point @@ -91,6 +92,7 @@ command.warp.description=Teleports you to specified warp point command.warp.fail=Warp not found command.warp.noperm.other=You don't have permissions to teleport other players +command.warp.fail.interworld=Interdimensional teleportation to warp is disabled command.setwarp.usage=/setwarp [randomradius] command.setwarp.description=Sets new warp ar current location diff --git a/src/main/resources/assets/ultramine/lang/ru_RU.lang b/src/main/resources/assets/ultramine/lang/ru_RU.lang index 8536a45..d0365f0 100644 --- a/src/main/resources/assets/ultramine/lang/ru_RU.lang +++ b/src/main/resources/assets/ultramine/lang/ru_RU.lang @@ -72,6 +72,7 @@ command.home.fail.notset=Точка дома не установлена command.home.multi.fail=У вас нет прав на использование множества домов command.home.other.fail=У нас нет прав на искользование домов других игроков +command.home.fail.interworld=Телепортация в дом между мирами отключена command.sethome.usage=/sethome [название] command.sethome.description=Утанавливает точку телепортации /home @@ -91,6 +92,7 @@ command.warp.description=Телепортирует вас на указанный варп command.warp.fail=Варп не найден command.warp.noperm.other=У вас нет прав на телепортацию других игроков +command.warp.fail.interworld=Телепортация на варп между мирами отключена command.setwarp.usage=/setwarp <название> [случайный радиус] command.setwarp.description=Устанавливает новый варп на текущих координатах