Advertisement
Guest User

Untitled

a guest
Nov 25th, 2018
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.92 KB | None | 0 0
  1. package nl.thedutchmc.givepet.commands;
  2.  
  3. import java.util.UUID;
  4.  
  5. public class transferpet implements CommandExecutor {
  6.  
  7. UUID senderUUID;
  8. String Target;
  9. String MobType;
  10. Player playerTarget;
  11. String senderID;
  12.  
  13. public void tellConsole(String message){
  14. Bukkit.getConsoleSender().sendMessage("[GivePet][DEBUG] " + message);
  15. }
  16.  
  17. @Override
  18. public boolean onCommand(CommandSender sender, Command cmd, String s, String[] args) {
  19.  
  20.  
  21.  
  22. //check if sender is a player
  23. if(!(sender instanceof Player)) {
  24. sender.sendMessage(ChatColor.RED + "This command is only for players!");
  25. return true;
  26. }
  27.  
  28. /*if(sender instanceof Player) {
  29. senderUUID = ((Player) sender).getUniqueId();
  30. return true;
  31. }*/
  32.  
  33.  
  34. senderUUID = ((Player) sender).getUniqueId();
  35.  
  36. Player p = (Player) sender;
  37.  
  38. String senderName = sender.toString().toLowerCase();
  39.  
  40.  
  41.  
  42. if(args.length == 2) {
  43. Target = args[0];
  44. MobType = args[1];
  45. } else {
  46. p.sendMessage(ChatColor.RED + "Missing arguments!");
  47. tellConsole("Missing Argument");
  48. return true;
  49. }
  50.  
  51. if(args.length == 0) {
  52. p.sendMessage(ChatColor.RED + "Invalid arguments!");
  53. tellConsole("Invalid argument");
  54. return true;
  55. } else if(args.length >= 3) {
  56. p.sendMessage(ChatColor.RED + "Too many arguments!");
  57. tellConsole("Too many arguments");
  58. return true;
  59. }
  60.  
  61. //get uuid for Target & sender
  62. playerTarget = Bukkit.getServer().getPlayer(Target);
  63. String uuid = playerTarget.getUniqueId().toString();
  64.  
  65. senderID = senderUUID.toString();
  66.  
  67. if(Target.equals(playerTarget)) {
  68. p.sendMessage(ChatColor.RED + "Can't transfer pet to yourself!");
  69. }
  70.  
  71. //Change entitydata and sent confirmation to play
  72. if(MobType.equalsIgnoreCase("wolf")) {
  73. Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "execute as " + senderName + " " + "execute if entity @e[type=wolf,nbt={OwnerUUID:"+senderID+"},sort=nearest] run data merge entity @e[type=minecraft:wolf,sort=nearest,nbt={OwnerUUID:"+ senderID +",limit=1] {OwnerUUID:" + uuid + "}");
  74. //Bukkit.dispatchCommand(sender, "execute if entity @e[type=wolf,nbt={OwnerUUID:" + uuid + "}] run data merge entity @e[type=minecraft:wolf,sort=nearest,nbt={CollarColor:0b},limit=1] {OwnerUUID:" + uuid + "}");
  75. tellConsole("Wolf Transfered to " + Target);
  76. tellConsole("UUID: " + uuid);
  77. tellConsole("SenderUUID " + senderID);
  78. tellConsole("Command run: execute if entity @e[type=wolf,nbt={OwnerUUID:"+senderID+"},sort=nearest] run data merge entity @e[type=minecraft:wolf,sort=nearest,nbt={CollarColor:0b},limit=1] {OwnerUUID:" + uuid + "}");
  79. p.sendMessage(ChatColor.GREEN + "Pet Transfered to " + Target + " with UUID: " + uuid + "!");
  80. } //else if(MobType.equalsIgnoreCase("cat")) {
  81. /*todo*///Bukkit.dispatchCommand(sender, "data merge entity @e[type=minecraft:wolf,sort=nearest,nbt={CollarColor:0b},limit=1] {OwnerUUID:" + uuid + "}");
  82. // tellConsole("[DEBUG] Cat Transfered to " + Target);
  83. // p.sendMessage(ChatColor.GREEN + "Cat Transfered to " + Target + " with UUID: " + uuid + "!");
  84. /*}*/ else if(MobType.equalsIgnoreCase("parrot")) {
  85. Bukkit.dispatchCommand(sender, "execute if entity @e[type=parrot,sort=nearest,limit=1,nbt={OwnerUUID:" + senderID + "}] run data merge entity @e[type=parrot,sort=nearest,limit=1,nbt={OwnerUUID:"+senderID+"}] {OwnerUUID:" + uuid + "}");
  86. tellConsole("[DEBUG] Parrot Transfered to " + Target);
  87. tellConsole("UUID: " + uuid);
  88. tellConsole("SenderUUID " + senderID);
  89. tellConsole("Command run: execute if entity @e[type=parrot,sort=nearest,limit=1,nbt={OwnerUUID:" + senderID + "}] run data merge entity @e[type=parrot,sort=nearest,limit=1,nbt={OwnerUUID:"+senderID+"}] {OwnerUUID:" + uuid + "}");
  90. p.sendMessage(ChatColor.GREEN + "Parrot Transfered to " + Target + " with UUID: " + uuid + "!");
  91. } else {
  92. p.sendMessage(ChatColor.RED + "Invalid mob type! Can only be wolf, cat or parrot!");
  93. }
  94. return false;
  95. }
  96.  
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement