AdamGrzegorz

zxd

Dec 27th, 2014
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.27 KB | None | 0 0
  1. package me.AdamGrzegorz.TeleportWand;
  2.  
  3.  
  4. import java.util.ArrayList;
  5. import java.util.Arrays;
  6.  
  7. import org.bukkit.Bukkit;
  8. import org.bukkit.Location;
  9. import org.bukkit.Material;
  10. import org.bukkit.World;
  11. import org.bukkit.command.Command;
  12. import org.bukkit.command.CommandSender;
  13. import org.bukkit.enchantments.Enchantment;
  14. import org.bukkit.entity.Player;
  15. import org.bukkit.event.EventHandler;
  16. import org.bukkit.event.Listener;
  17. import org.bukkit.event.block.Action;
  18. import org.bukkit.event.player.PlayerInteractEvent;
  19. import org.bukkit.event.player.PlayerMoveEvent;
  20. import org.bukkit.inventory.ItemStack;
  21. import org.bukkit.inventory.ShapedRecipe;
  22. import org.bukkit.inventory.meta.ItemMeta;
  23. import org.bukkit.plugin.java.JavaPlugin;
  24.  
  25. public class TeleportWand extends JavaPlugin
  26. implements Listener
  27. {
  28. ArrayList<Player> teleport = new ArrayList<Player>();
  29. public static TeleportWand instance;
  30. public int craftingSlot_1;
  31. public int craftingSlot_2;
  32. public int craftingSlot_3;
  33. public int craftingSlot_4;
  34. public int craftingSlot_5;
  35. public int craftingSlot_6;
  36. public int craftingSlot_7;
  37. public int craftingSlot_8;
  38. public int craftingSlot_9;
  39.  
  40. public ItemStack rod = stworzItem(Material.BLAZE_ROD, 1, getConfig().getString("Item.Nazwa").replace("&", "§"));
  41.  
  42.  
  43. @EventHandler
  44. public void onPlayerMove(PlayerMoveEvent event)
  45. {
  46. Location from = event.getFrom();
  47. Location to = event.getTo();
  48. if ((from.getBlockX() != to.getBlockX()) || (from.getBlockY() != to.getBlockY()) || (from.getBlockZ() != to.getBlockZ()) || (from.getWorld() != to.getWorld())) {
  49. Player player = event.getPlayer();
  50. if (this.teleport.contains(player)) {
  51. this.teleport.remove(player);
  52. player.sendMessage(getConfig().getString("Wiadomosci.TeleportacjaAnulowana").replace("&", "§"));
  53. player.getInventory().addItem(rod);
  54. }
  55. }
  56. }
  57.  
  58. @SuppressWarnings("deprecation") //Blokada bledow zwiazanych ze starymi funkcjami :U
  59. @EventHandler
  60. public void PI(PlayerInteractEvent evt)
  61. {
  62. final Player p = evt.getPlayer();
  63. int id = p.getItemInHand().getTypeId();
  64. if ((evt.getAction() == Action.RIGHT_CLICK_AIR) && (id == 369)) {
  65. ItemStack i = new ItemStack(Material.BLAZE_ROD, evt.getPlayer().getItemInHand().getAmount());
  66. final ItemMeta im = i.getItemMeta();
  67. im.addEnchant(Enchantment.LOOT_BONUS_BLOCKS, 10, true);
  68. im.setDisplayName(getConfig().getString("Item.Nazwa").replace("&", "§"));
  69. i.setItemMeta(im);
  70. if (evt.getPlayer().getItemInHand().equals(this.rod)) {
  71. if(!p.getInventory().contains(rod, 2)){
  72. p.sendMessage(getConfig().getString("Wiadomosci.ZaczekajSekund").replace("&", "§"));
  73. p.getInventory().remove(rod);
  74. p.updateInventory();
  75. this.teleport.add(p);
  76. getServer().getScheduler().runTaskLater(this, new Runnable() {
  77. public void run() {
  78. World w = Bukkit.getServer().getWorld(TeleportWand.this.getConfig().getString("Inne.tploc.world"));
  79. double x = TeleportWand.this.getConfig().getDouble("Inne.tploc.x");
  80. double y = TeleportWand.this.getConfig().getDouble("Inne.tploc.y");
  81. double z = TeleportWand.this.getConfig().getDouble("Inne.tploc.z");
  82. if (TeleportWand.this.teleport.contains(p)) {
  83. TeleportWand.this.teleport.remove(p);
  84. p.teleport(new Location(w, x, y, z));
  85. p.sendMessage(getConfig().getString("Wiadomosci.TeleportacjaUdana").replace("&", "§"));
  86.  
  87. }
  88. }
  89.  
  90. }
  91. , 200L);
  92. }
  93. }else{
  94. p.sendMessage(getConfig().getString("Wiadomosci.MaszWiecejRozdzek").replace("&", "§"));
  95. }
  96. }
  97.  
  98. }
  99.  
  100. public void onEnable() {
  101. ShapedRecipe TeleportWand = new ShapedRecipe(this.rod).shape(new String[] {
  102. " A ",
  103. " B ",
  104. " C " })
  105. .setIngredient('A', Material.GOLD_BLOCK)
  106. .setIngredient('B', Material.GOLD_BLOCK)
  107. .setIngredient('C', Material.GOLD_BLOCK);
  108. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  109. getServer().addRecipe(TeleportWand);
  110. Bukkit.getServer().getLogger().info("[TeleportWand] Plugin by AdamGrzegorz " + getDescription().getVersion());
  111. saveDefaultConfig();
  112.  
  113. }
  114.  
  115.  
  116. public void onDisable() {
  117. }
  118.  
  119. private ItemStack stworzItem(Material mat, int in, String name)
  120. {
  121. ItemStack i = new ItemStack(mat, in);
  122. ItemMeta im = i.getItemMeta();
  123. im.addEnchant(Enchantment.LOOT_BONUS_BLOCKS, 10, true);
  124. im.setDisplayName(name);
  125. im.setLore(Arrays.asList(new String[] { getConfig().getString("Item.Opis").replace("&", "§") }));
  126. i.setItemMeta(im);
  127. return i;
  128. }
  129. public boolean onCommand(CommandSender sender, Command cmd, String commandlabel1, String[] args) {
  130. Player p = (Player)sender;
  131.  
  132. if (cmd.getName().equalsIgnoreCase("tpwandsetspawn")) {
  133. if (!sender.hasPermission("tpwand.setspawn")) {
  134. sender.sendMessage(getConfig().getString("Wiadomosci.Perm").replace("&", "§"));
  135. return true;
  136. }
  137. getConfig().set("Item.Nazwa", "&e&lRozdzka Teleportujaca!");
  138. getConfig().set("Item.Opis", "&7Pozwala teleportowac sie w ustawione miejsce!");
  139. getConfig().set("Wiadomosci.TeleportacjaUdana", "&aZostales przeteleportowany!");
  140. getConfig().set("Wiadomosci.MaszWiecejRozdzek", "&cMozesz miec maksymalnie 1 rozdzke w ekwipunku!");
  141. getConfig().set("Wiadomosci.UstawionySpawn", "&aPomyslnie ustawiles spawn rozdzki teleportujacej!");
  142. getConfig().set("Wiadomosci.Perm", "&cNie masz do tego uprawnien!");
  143. getConfig().set("Wiadomosci.ZaczekajSekund", "&aPoczekaj 10 sekund :)");
  144. getConfig().set("Wiadomosci.TeleportacjaAnulowana", "&cRuszyles sie! Teleportacja anulowana...");
  145. getConfig().set("Inne.tploc.world", p.getLocation().getWorld().getName());
  146. getConfig().set("Inne.tploc.x", Double.valueOf(p.getLocation().getX()));
  147. getConfig().set("Inne.tploc.y", Double.valueOf(p.getLocation().getY()));
  148. getConfig().set("Inne.tploc.z", Double.valueOf(p.getLocation().getZ()));
  149. saveConfig();
  150. sender.sendMessage(getConfig().getString("Wiadomosci.UstawionySpawn").replace("&", "§"));
  151. return true;
  152. }
  153. return true;
  154. }
  155. }
Advertisement
Add Comment
Please, Sign In to add comment