Custom Inventory Won't Open

Discussion in 'Plugin Development' started by Simon76800, Jan 4, 2015.

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

    bobthefish

    no problem
     
  2. Offline

    Tecno_Wizard

    @Simon76800, you still have to cancel the event with that code.
     
  3. Offline

    Simon76800

    i did, but this exception came out

    [17:37:39] [Server thread/ERROR]: Could not pass event PlayerInteractEntityEvent to RPG v2015.1.5.1
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:294) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:1073) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.PacketPlayInUseEntity.a(SourceFile:55) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.PacketPlayInUseEntity.handle(SourceFile:10) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:157) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.ServerConnection.c(SourceFile:134) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:667) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:258) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:558) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    Caused by: java.lang.IllegalArgumentException: Plugin cannot be null
    at org.apache.commons.lang.Validate.notNull(Validate.java:203) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.validate(CraftScheduler.java:391) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:120) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftScheduler.runTaskLater(CraftScheduler.java:104) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at org.bukkit.scheduler.BukkitRunnable.runTaskLater(BukkitRunnable.java:64) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at com.simon76800.rpg.EventListener.onInteract(EventListener.java:85) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_45]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_45]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_45]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_45]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:292) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    ... 13 more
     
  4. Offline

    xMakerx

    @Simon76800

    Check line 85 of EventListener, Plugin is null.
     
  5. Offline

    Simon76800

    thanks for telling me! but when i try to intialize plugin it says it's already intialized
     
  6. Offline

    xMakerx

    @Simon76800

    Can you give me the code for the event listener so I can help you more?
     
  7. Offline

    Simon76800

    Code:
    public class EventListener implements Listener {
        private RPGPlugin plugin;
        private Inventory pricesInventory;
        private Inventory productsInventory;
        private String testMerchantName = ChatColor.LIGHT_PURPLE + "Test Merchant";
    
        {
            pricesInventory = Bukkit.createInventory(null, 54);
            productsInventory = Bukkit.createInventory(null, 54, testMerchantName);
            pricesInventory.addItem(new ItemStack(Material.EMERALD, 3));
            productsInventory.addItem(new ItemStack(Material.DIAMOND_AXE, 1));
        }
    Code:
    @EventHandler(priority = EventPriority.NORMAL)
        public void onInteract(PlayerInteractEntityEvent event) {
            if (event.getRightClicked() instanceof Villager) {
                event.setCancelled(true);
                if (Merchant.isMerchant((Villager) event.getRightClicked())) {
                    Merchant merchant = Merchant.merchants.get((Villager) event
                            .getRightClicked());
                    final Player player = event.getPlayer();
                    if (merchant == null) {
                        return;
                    }
                    if (Merchant.getIdentifier(merchant).equals(
                            "spawnCity_testMerchant")) {
                        event.setCancelled(true);
                        @SuppressWarnings("unused")
                        BukkitRunnable openGUI = (BukkitRunnable) new BukkitRunnable(){
                            public void run(){
                                player.openInventory(productsInventory);
                            }
                        }.runTaskLater(this.plugin, 1L);
                    }
                }
            }
        }
     
  8. Offline

    xMakerx

    You never set plugin in a constructor. Do this:

    Code:
    public EventListener(RPGPlugin plugin) {
    this.plugin = plugin;
    }
     
  9. Offline

    Simon76800

    Thanks!.... but now I got an event exception, and the other events are still working...

    [08:25:16] [Server thread/ERROR]: Could not pass event PlayerInteractEntityEvent to RPG v2015.1.13
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:294) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:1073) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.PacketPlayInUseEntity.a(SourceFile:55) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.PacketPlayInUseEntity.handle(SourceFile:10) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:157) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.ServerConnection.c(SourceFile:134) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:667) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:258) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:558) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    Caused by: java.lang.ClassCastException: org.bukkit.craftbukkit.v1_7_R4.scheduler.CraftTask cannot be cast to org.bukkit.scheduler.BukkitRunnable
    at com.simon76800.rpg.EventListener.onInteract(EventListener.java:85) ~[?:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_45]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_45]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_45]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_45]
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:292) ~[craftbukkit.jar:git-Bukkit-1.7.9-R0.2-12-g5ac44d3-b3100jnks]
    ... 13 more
     
Thread Status:
Not open for further replies.

Share This Page