diff --git a/src/main/java/de/melanx/skyblockbuilder/config/common/PermissionsConfig.java b/src/main/java/de/melanx/skyblockbuilder/config/common/PermissionsConfig.java index 4be04ca..405f54b 100644 --- a/src/main/java/de/melanx/skyblockbuilder/config/common/PermissionsConfig.java +++ b/src/main/java/de/melanx/skyblockbuilder/config/common/PermissionsConfig.java @@ -20,6 +20,9 @@ public class PermissionsConfig { public static class Teleports { + @Config("Should fall damage be removed when teleporting? [default: false]") + public static boolean noFallDamage = false; + @Config("Should players be able to teleport to spawn? [default: true]") public static boolean spawn = true; diff --git a/src/main/java/de/melanx/skyblockbuilder/util/WorldUtil.java b/src/main/java/de/melanx/skyblockbuilder/util/WorldUtil.java index 7666dbb..5755b76 100644 --- a/src/main/java/de/melanx/skyblockbuilder/util/WorldUtil.java +++ b/src/main/java/de/melanx/skyblockbuilder/util/WorldUtil.java @@ -44,6 +44,9 @@ public static void teleportToIsland(ServerPlayer player, Team team) { TemplatesConfig.Spawn spawn = validPosition(level, team); player.teleportTo(level, spawn.pos().getX() + 0.5, spawn.pos().getY() + 0.2, spawn.pos().getZ() + 0.5, spawn.direction().getYRot(), 0); player.setRespawnPosition(level.dimension(), spawn.pos(), spawn.direction().getYRot(), true, false); + if (PermissionsConfig.Teleports.noFallDamage) { + player.fallDistance = 0; + } } public static boolean isSkyblock(Level level) {