Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.AdamGrzegorz.TeleportWand;
- import java.util.ArrayList;
- import java.util.Arrays;
- import org.bukkit.Bukkit;
- import org.bukkit.Location;
- import org.bukkit.Material;
- import org.bukkit.World;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.enchantments.Enchantment;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.player.PlayerInteractEvent;
- import org.bukkit.event.player.PlayerMoveEvent;
- import org.bukkit.inventory.ItemStack;
- import org.bukkit.inventory.ShapedRecipe;
- import org.bukkit.inventory.meta.ItemMeta;
- import org.bukkit.plugin.java.JavaPlugin;
- public class TeleportWand extends JavaPlugin
- implements Listener
- {
- ArrayList<Player> teleport = new ArrayList<Player>();
- public static TeleportWand instance;
- public int craftingSlot_1;
- public int craftingSlot_2;
- public int craftingSlot_3;
- public int craftingSlot_4;
- public int craftingSlot_5;
- public int craftingSlot_6;
- public int craftingSlot_7;
- public int craftingSlot_8;
- public int craftingSlot_9;
- public ItemStack rod = stworzItem(Material.BLAZE_ROD, 1, getConfig().getString("Item.Nazwa").replace("&", "§"));
- @EventHandler
- public void onPlayerMove(PlayerMoveEvent event)
- {
- Location from = event.getFrom();
- Location to = event.getTo();
- if ((from.getBlockX() != to.getBlockX()) || (from.getBlockY() != to.getBlockY()) || (from.getBlockZ() != to.getBlockZ()) || (from.getWorld() != to.getWorld())) {
- Player player = event.getPlayer();
- if (this.teleport.contains(player)) {
- this.teleport.remove(player);
- player.sendMessage(getConfig().getString("Wiadomosci.TeleportacjaAnulowana").replace("&", "§"));
- player.getInventory().addItem(rod);
- }
- }
- }
- @SuppressWarnings("deprecation") //Blokada bledow zwiazanych ze starymi funkcjami :U
- @EventHandler
- public void PI(PlayerInteractEvent evt)
- {
- final Player p = evt.getPlayer();
- int id = p.getItemInHand().getTypeId();
- if ((evt.getAction() == Action.RIGHT_CLICK_AIR) && (id == 369)) {
- ItemStack i = new ItemStack(Material.BLAZE_ROD, evt.getPlayer().getItemInHand().getAmount());
- final ItemMeta im = i.getItemMeta();
- im.addEnchant(Enchantment.LOOT_BONUS_BLOCKS, 10, true);
- im.setDisplayName(getConfig().getString("Item.Nazwa").replace("&", "§"));
- i.setItemMeta(im);
- if (evt.getPlayer().getItemInHand().equals(this.rod)) {
- if(!p.getInventory().contains(rod, 2)){
- p.sendMessage(getConfig().getString("Wiadomosci.ZaczekajSekund").replace("&", "§"));
- p.getInventory().remove(rod);
- p.updateInventory();
- this.teleport.add(p);
- getServer().getScheduler().runTaskLater(this, new Runnable() {
- public void run() {
- World w = Bukkit.getServer().getWorld(TeleportWand.this.getConfig().getString("Inne.tploc.world"));
- double x = TeleportWand.this.getConfig().getDouble("Inne.tploc.x");
- double y = TeleportWand.this.getConfig().getDouble("Inne.tploc.y");
- double z = TeleportWand.this.getConfig().getDouble("Inne.tploc.z");
- if (TeleportWand.this.teleport.contains(p)) {
- TeleportWand.this.teleport.remove(p);
- p.teleport(new Location(w, x, y, z));
- p.sendMessage(getConfig().getString("Wiadomosci.TeleportacjaUdana").replace("&", "§"));
- }
- }
- }
- , 200L);
- }
- }else{
- p.sendMessage(getConfig().getString("Wiadomosci.MaszWiecejRozdzek").replace("&", "§"));
- }
- }
- }
- public void onEnable() {
- ShapedRecipe TeleportWand = new ShapedRecipe(this.rod).shape(new String[] {
- " A ",
- " B ",
- " C " })
- .setIngredient('A', Material.GOLD_BLOCK)
- .setIngredient('B', Material.GOLD_BLOCK)
- .setIngredient('C', Material.GOLD_BLOCK);
- Bukkit.getServer().getPluginManager().registerEvents(this, this);
- getServer().addRecipe(TeleportWand);
- Bukkit.getServer().getLogger().info("[TeleportWand] Plugin by AdamGrzegorz " + getDescription().getVersion());
- saveDefaultConfig();
- }
- public void onDisable() {
- }
- private ItemStack stworzItem(Material mat, int in, String name)
- {
- ItemStack i = new ItemStack(mat, in);
- ItemMeta im = i.getItemMeta();
- im.addEnchant(Enchantment.LOOT_BONUS_BLOCKS, 10, true);
- im.setDisplayName(name);
- im.setLore(Arrays.asList(new String[] { getConfig().getString("Item.Opis").replace("&", "§") }));
- i.setItemMeta(im);
- return i;
- }
- public boolean onCommand(CommandSender sender, Command cmd, String commandlabel1, String[] args) {
- Player p = (Player)sender;
- if (cmd.getName().equalsIgnoreCase("tpwandsetspawn")) {
- if (!sender.hasPermission("tpwand.setspawn")) {
- sender.sendMessage(getConfig().getString("Wiadomosci.Perm").replace("&", "§"));
- return true;
- }
- getConfig().set("Item.Nazwa", "&e&lRozdzka Teleportujaca!");
- getConfig().set("Item.Opis", "&7Pozwala teleportowac sie w ustawione miejsce!");
- getConfig().set("Wiadomosci.TeleportacjaUdana", "&aZostales przeteleportowany!");
- getConfig().set("Wiadomosci.MaszWiecejRozdzek", "&cMozesz miec maksymalnie 1 rozdzke w ekwipunku!");
- getConfig().set("Wiadomosci.UstawionySpawn", "&aPomyslnie ustawiles spawn rozdzki teleportujacej!");
- getConfig().set("Wiadomosci.Perm", "&cNie masz do tego uprawnien!");
- getConfig().set("Wiadomosci.ZaczekajSekund", "&aPoczekaj 10 sekund :)");
- getConfig().set("Wiadomosci.TeleportacjaAnulowana", "&cRuszyles sie! Teleportacja anulowana...");
- getConfig().set("Inne.tploc.world", p.getLocation().getWorld().getName());
- getConfig().set("Inne.tploc.x", Double.valueOf(p.getLocation().getX()));
- getConfig().set("Inne.tploc.y", Double.valueOf(p.getLocation().getY()));
- getConfig().set("Inne.tploc.z", Double.valueOf(p.getLocation().getZ()));
- saveConfig();
- sender.sendMessage(getConfig().getString("Wiadomosci.UstawionySpawn").replace("&", "§"));
- return true;
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment