Advertisement
Guest User

Untitled

a guest
Nov 3rd, 2015
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.61 KB | None | 0 0
  1. package io.github.hsyyid.wilsonsmp.commands;
  2.  
  3. import io.github.hsyyid.wilsonsmp.utilities.DatabaseManager;
  4.  
  5. import net.minecraft.command.CommandException;
  6. import net.minecraft.command.ICommand;
  7. import net.minecraft.command.ICommandSender;
  8. import net.minecraft.entity.player.EntityPlayerMP;
  9. import net.minecraft.util.BlockPos;
  10. import net.minecraft.util.ChatComponentText;
  11. import net.minecraft.util.EnumChatFormatting;
  12.  
  13. import java.util.ArrayList;
  14. import java.util.List;
  15.  
  16. public class SpawnCommand implements ICommand
  17. {
  18.     private List<String> aliases;
  19.  
  20.     public SpawnCommand()
  21.     {
  22.         this.aliases = new ArrayList<>();
  23.         this.aliases.add("spawn");
  24.     }
  25.  
  26.     @Override
  27.     public int compareTo(Object o)
  28.     {
  29.         return 0;
  30.     }
  31.  
  32.     @Override
  33.     public String getName()
  34.     {
  35.         return "spawn";
  36.     }
  37.  
  38.     @Override
  39.     public String getCommandUsage(ICommandSender sender)
  40.     {
  41.         return "/spawn";
  42.     }
  43.  
  44.     @Override
  45.     public List getAliases()
  46.     {
  47.         return this.aliases;
  48.     }
  49.  
  50.     @Override
  51.     public void execute(ICommandSender sender, String[] args) throws CommandException
  52.     {
  53.         if (!(sender instanceof EntityPlayerMP))
  54.         {
  55.             sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Error! You cannot use /spawn if you're not a player!"));
  56.             return;
  57.         }
  58.  
  59.         EntityPlayerMP player = (EntityPlayerMP) sender;
  60.  
  61.         if (!player.worldObj.isRemote)
  62.         {
  63.             if (player.getPosition().getY() <= 60)
  64.             {
  65.                 sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "You need to be on the surface to do this."));
  66.                 return;
  67.             }
  68.  
  69.             int dimensionID = player.worldObj.provider.getDimensionId();
  70.             BlockPos spawnPos = DatabaseManager.getSpawn();
  71.             int spawnDimensionID = DatabaseManager.getSpawnID();
  72.  
  73.             if (spawnPos == null)
  74.             {
  75.                 sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Error! Spawn has not been set!"));
  76.                 return;
  77.             }
  78.            
  79.             sender.addChatMessage(new ChatComponentText(EnumChatFormatting.GREEN + "Teleporting to Spawn..."));
  80.  
  81.             if (dimensionID != spawnDimensionID)
  82.             {
  83.                 player.travelToDimension(spawnDimensionID);
  84.             }
  85.  
  86.             player.setLocationAndAngles(spawnPos.getX(), spawnPos.getY(), spawnPos.getZ(), player.cameraYaw, player.cameraPitch);
  87.             sender.addChatMessage(new ChatComponentText(EnumChatFormatting.GREEN + "Teleported to Spawn!"));
  88.         }
  89.     }
  90.  
  91.     @Override
  92.     public boolean canCommandSenderUse(ICommandSender sender)
  93.     {
  94.         return true;
  95.     }
  96.  
  97.     @Override
  98.     public List addTabCompletionOptions(ICommandSender sender, String[] args, BlockPos pos)
  99.     {
  100.         return null;
  101.     }
  102.  
  103.     @Override
  104.     public boolean isUsernameIndex(String[] args, int index)
  105.     {
  106.         return false;
  107.     }
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement