Server teleport bug

Discussion in 'Plugin Development' started by PlayinCOD2132, Mar 1, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    PlayinCOD2132

    Hello, I'm trying to make a plugin so that you can use a compass and it'll open this GUI. Which it does perfectly, but the only issue I have with this is when I exit out of the GUI and head in my inventory and I click on the slots it thinks I'm clicking on the server icons. Anyway to fix this?
    VIDEO OF BUG:


    My Main.java
    Code:
    package me.stripa.HCC;
     
    import java.util.logging.Logger;
     
    import me.stripa.HCC.HCC;
     
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerDropItemEvent;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.java.JavaPlugin;
     
    public class HCC extends JavaPlugin implements Listener{
    public final Logger logger = Logger.getLogger("Minecraft");
    public static HCC plugin;
     
    @Override
     
    public void onDisable()
    {
    PluginDescriptionFile pdfFile = this.getDescription();
    this.logger.info(pdfFile.getName() + " Has been disabled! ");
    }
    @Override
    public void onEnable() {
    getServer().getPluginManager().registerEvents(this, this);
    PluginDescriptionFile pdfFile = this.getDescription();
    this.logger.info(pdfFile.getName() + " Version " + pdfFile.getVersion() + " Has been enabled! ");
    }
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
    Player player = (Player) sender;
    {
    }
    }
    @EventHandler
    public void onDrop(PlayerDropItemEvent event) {
    event.setCancelled(true);
    }
    }
    My GameKit.java
    Code:
    package me.playincod3142.hub;
     
    import java.util.ArrayList;
    import java.util.List;
    import java.util.logging.Logger;
    import org.bukkit.Bukkit;
    import org.bukkit.Material;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.plugin.Plugin;
    import org.bukkit.scheduler.BukkitScheduler;
     
    public class GameKit
    {
    public static ItemStack getCustomItemStack(Material material, String name, int amount)
    {
    ItemStack i = new ItemStack(material, amount);
    ItemMeta im = i.getItemMeta();
    im.setDisplayName(name);
    i.setItemMeta(im);
    return i;
    }
     
    public static ItemStack getCustomItemStack(Material material, String name, List<String> lore, int amount)
    {
    ItemStack i = new ItemStack(material, amount);
    ItemMeta im = i.getItemMeta();
    im.setLore(lore);
    im.setDisplayName(name);
    i.setItemMeta(im);
    return i;
    }
     
    public static ItemStack getCustomItemStack(Material material, String name, String lore, int amount)
    {
    ItemStack i = new ItemStack(material, amount);
    ItemMeta im = i.getItemMeta();
    List Llore = getSingleStringAsList(lore);
    im.setLore(Llore);
    im.setDisplayName(name);
    i.setItemMeta(im);
    return i;
    }
     
    public static ItemStack getCustomItemStack(Material material, String name) {
    ItemStack i = new ItemStack(material, 1);
    ItemMeta im = i.getItemMeta();
    im.setDisplayName(name);
    i.setItemMeta(im);
    return i;
    }
     
    public static ItemStack getCustomItemStack(Material material) {
    ItemStack i = new ItemStack(material, 1);
    return i;
    }
     
    public static void sendMessageToPlayers(ArrayList<Player> players, String message)
    {
    for (Player p : players)
    p.sendMessage(message);
    }
     
    public static void scheduleDelayedTask(int ticks, Runnable myFunc, Plugin p)
    {
    Bukkit.getScheduler().scheduleSyncDelayedTask(p, myFunc, ticks);
    }
     
    public static void scheduleRepeatingTask(int ticks, Runnable myFunc, Plugin p)
    {
    Bukkit.getScheduler().scheduleSyncRepeatingTask(p, myFunc, 0L, ticks);
    }
     
    public static Inventory getNewSimpleInventory(int size, String title) {
    return Bukkit.createInventory(null, size, title);
    }
     
    public static void setItemLore(ItemStack item, List<String> list) {
    ItemMeta im = item.getItemMeta();
    im.setLore(list);
    item.setItemMeta(im);
    }
     
    public static List<String> getSingleStringAsList(String string) {
    List list = new ArrayList();
    list.add(string);
    return list;
    }
     
    public static void sendToLog(String message) {
    Bukkit.getLogger().info(message);
    }
     
    public static ItemStack getCustomItemStack(Material material, String name, String lore, int amount, short meta)
    {
    ItemStack i = new ItemStack(material, amount, meta);
    ItemMeta im = i.getItemMeta();
    List Llore = getSingleStringAsList(lore);
    im.setLore(Llore);
    im.setDisplayName(name);
    i.setItemMeta(im);
    return i;
    }
     
    public static boolean invContains(Inventory inv, String name) {
    for (int i = 0; i < inv.getSize(); i++) {
    if (inv.getItem(i).getType() != null)
    {
    if (inv.getItem(i).getItemMeta().getDisplayName()
    .contains(name)) {
    return true;
    }
    }
    }
    return false;
    }
    }
     
  2. Offline

    Ambamore2000

    Sorry, but I'm not 100% getting you.
     
  3. Offline

    97WaterPolo

    Player.closeInventory(); and then player.updateInventory(); I guessing?
     
  4. Offline

    PlayinCOD2132

    I put a video of it on top.
     
  5. Offline

    97WaterPolo

  6. Offline

    Ambamore2000

    :\ I can't see where you are teleporting to, so I don't know where to start looking. ;P
     
  7. Offline

    PlayinCOD2132

    Okay so if Creative is slot 0, and when I shift click my compass to the top left corner it takes me to creative.
    Sorry I don't know any way to help you understand. :(
     
Thread Status:
Not open for further replies.

Share This Page