Development Assistance Error and Hideinventory

Discussion in 'Plugin Help/Development/Requests' started by xX1yeahXx, Feb 20, 2015.

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

    xX1yeahXx

    Hey,
    i have two problems.
    First, I don't find the error:
    Code:
    [15:30:41 INFO]: [Lobby] Plugin aktiviert!
    [15:30:41 ERROR]: Error occurred while enabling Lobby v1.1 (Is it up to date?)
    java.lang.NoSuchMethodError: Hide.HideMethoden.<init>(LListeners/Main;)V
    at Listeners.Main.onEnable(Main.java:48) ~[?:?]
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:316) ~[s
    pigot1649.jar:git-Spigot-1649]
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader
    .java:332) [spigot1649.jar:git-Spigot-1649]
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManage
    r.java:417) [spigot1649.jar:git-Spigot-1649]
    at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugin(CraftServer.jav
    a:476) [spigot1649.jar:git-Spigot-1649]
    at org.bukkit.craftbukkit.v1_7_R4.CraftServer.enablePlugins(CraftServer.
    java:394) [spigot1649.jar:git-Spigot-1649]
    at net.minecraft.server.v1_7_R4.MinecraftServer.n(MinecraftServer.java:3
    60) [spigot1649.jar:git-Spigot-1649]
    at net.minecraft.server.v1_7_R4.MinecraftServer.g(MinecraftServer.java:3
    34) [spigot1649.jar:git-Spigot-1649]
    at net.minecraft.server.v1_7_R4.MinecraftServer.a(MinecraftServer.java:2
    90) [spigot1649.jar:git-Spigot-1649]
    at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.jav
    a:210) [spigot1649.jar:git-Spigot-1649]
    at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java
    :458) [spigot1649.jar:git-Spigot-1649]
    at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:6
    28) [spigot1649.jar:git-Spigot-1649]
    
    Classes:

    Main:
    Code:
    package me.yeah.de;
    
    import java.util.ArrayList;
    
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
    
    import Hide.HideMethoden;
    
    public class Main extends JavaPlugin {
    
        public ArrayList<String> hidden1 = new ArrayList<String>(); //Spieler
        public ArrayList<String> hidden2 = new ArrayList<String>(); //Premiums
        public ArrayList<String> hidden3 = new ArrayList<String>(); //YTer
        public ArrayList<String> hidden4 = new ArrayList<String>(); //Team
    
        public void onEnable(){
    
    System.out.println("[LobbyPlugin] aktiviert!");
    getEvents();
        }
        public void onDisable(){
    
    System.out.println("[LobbyPlugin] deaktiviert!");
        }
        public void getEvents(){
    PluginManager pm = this.getServer().getPluginManager();
    pm.registerEvents(new Navigation(this), this);
    pm.registerEvents(new JoinListener(this), this);
    pm.registerEvents(new HideMethoden(this), this);
    //pm.registerEvents(new ItemHider(this), this);
        }
        }
    
    Hide:
    Show Spoiler

    Code:
    package Hide;
    
    import org.bukkit.Bukkit;
    import org.bukkit.Material;
    import org.bukkit.Sound;
    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.inventory.InventoryClickEvent;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.event.player.PlayerMoveEvent;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.inventory.meta.SkullMeta;
    import org.bukkit.util.Vector;
    
    import me.yeah.de.Main;
    
    public class HideMethoden implements Listener{
    
        public Main plugin;
        public HideMethoden(Main main) {
    this.plugin = main;
        }
    
    
    
    public void openHideInv(Player p){
    Inventory inv = Bukkit.createInventory(null, 9*5, "§6Spieler verstecken");
    //=======================================================================
    ItemStack allon = new ItemStack(Material.SKULL_ITEM, 1, (short) 3);
    SkullMeta allonmeta = (SkullMeta) allon.getItemMeta();
    allonmeta.setDisplayName("Spieler");
    allon.setItemMeta(allonmeta);
    allonmeta.setOwner(p.getName());
    //=======================================================================
    ItemStack vipon = new ItemStack(Material.GOLDEN_APPLE, 1);
    ItemMeta viponmeta = vipon.getItemMeta();
    viponmeta.setDisplayName("§6Premium");
    vipon.setItemMeta(viponmeta);
    //=======================================================================
    ItemStack YTon = new ItemStack(Material.NAME_TAG, 1);
    ItemMeta ytonmeta = YTon.getItemMeta();
    ytonmeta.setDisplayName("§5Youtuber");
    YTon.setItemMeta(ytonmeta);
    //=======================================================================
    ItemStack adminon = new ItemStack(Material.EMERALD, 1);
    ItemMeta adminonmeta = adminon.getItemMeta();
    adminonmeta.setDisplayName("§aTeam");
    adminon.setItemMeta(adminonmeta);
    //=======================================================================
    //=======================================================================
    ItemStack allwool = new ItemStack(Material.STAINED_CLAY, 1, (byte) 5);
    ItemMeta allwoolmeta = allwool.getItemMeta();
    allwoolmeta.setDisplayName("§aSpieler Sichtbar");
    allwool.setItemMeta(allwoolmeta);
    //=======================================================================
    ItemStack vipwool = new ItemStack(Material.STAINED_CLAY, 1, (byte) 5);
    ItemMeta vipwoolmeta = vipwool.getItemMeta();
    vipwoolmeta.setDisplayName("§aPremium Sichtbar");
    vipwool.setItemMeta(vipwoolmeta);
    //=======================================================================
    ItemStack YTwool = new ItemStack(Material.STAINED_CLAY, 1, (byte) 5);
    ItemMeta ytwoolmeta = YTwool.getItemMeta();
    ytwoolmeta.setDisplayName("§aYoutuber Sichtbar");
    YTwool.setItemMeta(ytwoolmeta);
    //=======================================================================
    ItemStack adminwool = new ItemStack(Material.STAINED_CLAY, 1, (byte) 5);
    ItemMeta adminwoolmeta = adminwool.getItemMeta();
    adminwoolmeta.setDisplayName("§aTeam Sichtbar");
    adminwool.setItemMeta(adminwoolmeta);
    //=======================================================================
    inv.setItem(10, allon);
    inv.setItem(12, vipon);
    inv.setItem(14, YTon);
    inv.setItem(16, adminon);
    inv.setItem(28, allwool);
    inv.setItem(30, vipwool);
    inv.setItem(32, YTwool);
    inv.setItem(34, adminwool);
    
    p.openInventory(inv);
    
    
    
        }
    
    @EventHandler
    public void onMove(PlayerMoveEvent e){
    Player p = e.getPlayer();
    if(p.getLocation().getBlock().getType() == Material.IRON_PLATE){
    if(p.getLocation().subtract(0.0D, 1.0D, 0.0D).getBlock().getType() == Material.REDSTONE_BLOCK){
    Vector v = p.getLocation().getDirection().multiply(6.1D).setY(1.5D);
    p.setVelocity(v);
    p.playSound(p.getLocation(), Sound.GHAST_FIREBALL, 100, 1);
    }
    }
    }
    
    @EventHandler
    public void onInteract(PlayerInteractEvent e){
    Player p = e.getPlayer();
    
    if(e.getAction() == Action.RIGHT_CLICK_AIR || e.getAction() == Action.RIGHT_CLICK_BLOCK){
    try{
    if(e.getItem().getItemMeta().getDisplayName().equalsIgnoreCase("§6Spieler verstecken")){
    openHideInv(p);
    }
    } catch(Exception ex){
    
    }
    }
    }
    
    @SuppressWarnings("deprecation")
    @EventHandler
    public void onClick(InventoryClickEvent e){
    Player p = (Player) e.getWhoClicked();
    
    
    if(e.getInventory().getName().equalsIgnoreCase("§6Spieler verstecken")){
    if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§aSpieler Sichtbar")){
    ItemStack stack = new ItemStack(Material.STAINED_CLAY);
    stack.getData().setData((byte) 14);
    e.getCurrentItem().setDurability((short) (p.getItemInHand().getDurability() + 14));
    ItemMeta im = e.getCurrentItem().getItemMeta();
    im.setDisplayName("§cSpieler Unsichtbar");
    e.getCurrentItem().setItemMeta(im);
    
    }
    
    
    if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§aPremium Sichtbar")){
    ItemStack stack1 = new ItemStack(Material.STAINED_CLAY);
    stack1.getData().setData((byte) 14);
    e.getCurrentItem().setDurability((short) (p.getItemInHand().getDurability() + 14));
    ItemMeta im1 = e.getCurrentItem().getItemMeta();
    im1.setDisplayName("§cPremium Unsichtbar");
    e.getCurrentItem().setItemMeta(im1);
    
    }
    
    
    if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§aYoutuber Sichtbar")){
    ItemStack stack2 = new ItemStack(Material.STAINED_CLAY);
    stack2.getData().setData((byte) 14);
    e.getCurrentItem().setDurability((short) (p.getItemInHand().getDurability() + 14));
    ItemMeta im2 = e.getCurrentItem().getItemMeta();
    im2.setDisplayName("§cYoutuber Unsichtbar");
    e.getCurrentItem().setItemMeta(im2);
    
    }
    
    
    
    if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§aTeam Sichtbar")){
    ItemStack stack3 = new ItemStack(Material.STAINED_CLAY);
    stack3.getData().setData((byte) 14);
    e.getCurrentItem().setDurability((short) (p.getItemInHand().getDurability() + 14));
    ItemMeta im3 = e.getCurrentItem().getItemMeta();
    im3.setDisplayName("§cTeam Unsichtbar");
    e.getCurrentItem().setItemMeta(im3);
    
    }
    
    
    
    if(e.getSlot() == 10 || e.getSlot() == 12 || e.getSlot() == 14 || e.getSlot() == 16 || e.getSlot() == 28 || e.getSlot() == 30 || e.getSlot() == 32 || e.getSlot() == 34){
    try{
    e.setCancelled(true);
    
    } catch (Exception ex) {
    }
    
    if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§aSpieler Sichtbar")){
    for(Player players : Bukkit.getOnlinePlayers()){
    if(p.hasPermission("lobby.hide.player")){
    if(!plugin.hidden1.contains(p.getName())){
    plugin.hidden1.add(p.getName());
    }
    if(plugin.hidden2.contains(p.getName())){
    plugin.hidden2.remove(p.getName());
    }
    if(plugin.hidden3.contains(p.getName())){
    plugin.hidden3.remove(p.getName());
    }
    if(plugin.hidden4.contains(p.getName())){
    plugin.hidden4.remove(p.getName());
    }
    p.showPlayer(players);
    } else {
    p.hidePlayer(players);
    }
    }
    }
    
    ItemStack stick = new ItemStack(Material.STAINED_CLAY, 1, (byte) 14);
    ItemMeta metastick = stick.getItemMeta();
    metastick.setDisplayName("§cSpieler verstecken");
    stick.setItemMeta(metastick);
    //inv.setItem(28, stick);
    }
    
    
    if(e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§aPremium Sichtbar")){
    for(Player players : Bukkit.getOnlinePlayers()){
    if(p.hasPermission("lobby.hide.player")){
    if(!plugin.hidden2.contains(p.getName())){
    plugin.hidden2.add(p.getName());
    }
    if(plugin.hidden1.contains(p.getName())){
    plugin.hidden1.remove(p.getName());
    }
    if(plugin.hidden3.contains(p.getName())){
    plugin.hidden3.remove(p.getName());
    }
    if(plugin.hidden4.contains(p.getName())){
    plugin.hidden4.remove(p.getName());
    }
    p.showPlayer(players);
    } else {
    p.hidePlayer(players);
    }
    }
    }
    }
    }
    
    
    
    
    @SuppressWarnings("deprecation")
    @EventHandler
    public void onJoin(PlayerJoinEvent e){
    Player p = e.getPlayer();
    for(Player players : Bukkit.getOnlinePlayers()){
    
    if(plugin.hidden1.contains(players.getName())){
    players.hidePlayer(p);
    return;
    }
    if(plugin.hidden2.contains(players.getName())){
    if(p.hasPermission("lobby.visible")){
    players.showPlayer(p);
    } else {
    players.hidePlayer(p);
    }
    return;
    }
    if(!plugin.hidden1.contains(players.getName()) & !plugin.hidden2.contains(players.getName())){
    players.showPlayer(p);
    }
    
    }
    
    }
    
    
    
    
    
    }
    


    plugin.yml:
    Code:
    name: LobbyPlugin
    author: 1yeah
    main: me.yeah.de.Main
    version: 0.1
    
    My second question:
    I want to have a HideInventory.
    In the inventory you can hide/show different groups (players, vips, yter, and admins).
    But I don't know how I should make that.
    I want to work with ArrayLists and Permissions(for the groups).
    If you can explain that detailed to me, I would be happy :)
    Thanks for your help!

    (I am from Germany and have no very good Enlish skills. Sorry :D )

    //Edit The Problem with the error is fixed!
     
    Last edited: Feb 20, 2015
  2. Offline

    timtower Administrator Administrator Moderator

  3. @xX1yeahXx Please mark the thread as Solved.

    Thread tools > Edit thread > Prefix > Solved
     
  4. Offline

    xX1yeahXx

    @timtower It is an inventory where you have some options to hide different groups of players. (You can't see them)
    http://puu.sh/g5fBo/cec2d312d2.png
    Spieler verstecken = Hide Player (German)
    I hope you understand my plan.

    @bwfcwalshy
    Why solved?
    I also have a second question with the hide system
     
  5. @xX1yeahXx Sorry I didn't notice there were two questions.

    If you want to show different groups you could store the players in that group by looping through the players and checking their permissions.
    Then if you wanted to show everyone in that group in a GUI for example you could loop through the list and add a new ItemStack with the display name of there player name and add it to the GUI.
     
Thread Status:
Not open for further replies.

Share This Page