diff --git a/src/main/java/org/ultramine/commands/basic/BasicCommands.java b/src/main/java/org/ultramine/commands/basic/BasicCommands.java index ba6593b..19014ea 100644 --- a/src/main/java/org/ultramine/commands/basic/BasicCommands.java +++ b/src/main/java/org/ultramine/commands/basic/BasicCommands.java @@ -3,6 +3,9 @@ import java.util.Map; import static net.minecraft.util.EnumChatFormatting.*; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.util.MathHelper; +import net.minecraft.world.storage.WorldInfo; import org.ultramine.commands.Command; import org.ultramine.commands.CommandContext; @@ -179,4 +182,44 @@ } ctx.sendMessage("command.fastwarp.success."+ctx.getAction()); } + + @Command( + name = "setspawn", + group = "admin", + permissions = {"command.setspawn"}, + syntax = {"", "<%radius>"} + ) + public static void setspawn(CommandContext ctx) + { + WarpLocation warp = WarpLocation.getFromPlayer(ctx.getSenderAsPlayer()); + if(ctx.contains("radius")) + warp.randomRadius = ctx.get("radius").asDouble(); + ctx.getServerData().setWarp("spawn", warp); + ctx.sendMessage("command.setspawn.success"); + } + + @Command( + name = "setlocalspawn", + group = "admin", + permissions = {"command.setlocalspawn"} + ) + public static void setlocalspawn(CommandContext ctx) + { + EntityPlayerMP player = ctx.getSenderAsPlayer(); + WorldInfo wi = player.worldObj.getWorldInfo(); + wi.setSpawnPosition(MathHelper.floor_double(player.posX), MathHelper.floor_double(player.posY), MathHelper.floor_double(player.posZ)); + ctx.sendMessage("command.setlocalspawn.success"); + } + + @Command( + name = "localspawn", + group = "admin", + permissions = {"command.localspawn"} + ) + public static void localspawn(CommandContext ctx) + { + EntityPlayerMP player = ctx.getSenderAsPlayer(); + WorldInfo wi = player.worldObj.getWorldInfo(); + Teleporter.tpNow(player, wi.getSpawnX(), wi.getSpawnY(), wi.getSpawnZ()); + } } diff --git a/src/main/resources/assets/ultramine/lang/en_US.lang b/src/main/resources/assets/ultramine/lang/en_US.lang index 32de08f..17d1efb 100644 --- a/src/main/resources/assets/ultramine/lang/en_US.lang +++ b/src/main/resources/assets/ultramine/lang/en_US.lang @@ -102,6 +102,17 @@ command.fastwarp.success.remove=Fastwarp removed command.fastwarp.use.description=Teleport to this point +command.setspawn.usage=/setspawn [randomradius] +command.setspawn.description=Set spawn point +command.setspawn.success=Spawn set + +command.setlocalspawn.usage=/setlocalspawn +command.setlocalspawn.description=Set local spawn of current world (vanilla logic) +command.setlocalspawn.success=Localspawn set + +command.localspawn.usage=/localspawn +command.localspawn.description=Teleport to local spawn of current world (vanilla logic) + #Technical commands command.id.usage=/id command.id.description=Displays information about specified item id