diff --git a/src/main/java/org/auioc/mcmod/arnicalib/utils/game/EntityUtils.java b/src/main/java/org/auioc/mcmod/arnicalib/utils/game/EntityUtils.java index 2a7a58ba..23df478f 100644 --- a/src/main/java/org/auioc/mcmod/arnicalib/utils/game/EntityUtils.java +++ b/src/main/java/org/auioc/mcmod/arnicalib/utils/game/EntityUtils.java @@ -5,6 +5,7 @@ import java.util.function.Predicate; import javax.annotation.Nullable; import net.minecraft.core.Vec3i; +import net.minecraft.resources.ResourceKey; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntitySelector; import net.minecraft.world.entity.LivingEntity; @@ -31,6 +32,14 @@ public static void teleportTo(Entity entity, Vec3 pos) { entity.teleportTo(pos.x, pos.y, pos.z); } + public static void teleportTo(Entity entity, ResourceKey dim, Vec3 pos) { + entity.changeDimension(LevelUtils.getLevel(dim), LevelUtils.createSimpleTeleporter(pos)); + } + + public static void teleportTo(Entity entity, ResourceKey dim, Vec3i pos) { + entity.changeDimension(LevelUtils.getLevel(dim), LevelUtils.createSimpleTeleporter(pos)); + } + // #endregion Teleport /*================================================================================================================*/ diff --git a/src/main/java/org/auioc/mcmod/arnicalib/utils/game/LevelUtils.java b/src/main/java/org/auioc/mcmod/arnicalib/utils/game/LevelUtils.java index bf1596f7..85e15def 100644 --- a/src/main/java/org/auioc/mcmod/arnicalib/utils/game/LevelUtils.java +++ b/src/main/java/org/auioc/mcmod/arnicalib/utils/game/LevelUtils.java @@ -48,6 +48,10 @@ static ITeleporter createSimpleTeleporter(Vec3i pos) { return createSimpleTeleporter(Vec3.atCenterOf(pos), false); } + static ITeleporter createSimpleTeleporter(Vec3 pos) { + return createSimpleTeleporter(pos, false); + } + static ITeleporter createSimpleTeleporter(double x, double y, double z) { return createSimpleTeleporter(new Vec3(x, y, z), false); }