The constructor ItemStack(Material, int) is undefined

Discussion in 'Plugin Development' started by GodzillaFlame42, Jul 7, 2018.

Thread Status:
Not open for further replies.
  1. I need help on how to fix this error and idk how, i am trying to make a gui punishment plugin. It showing for auto fix to remove Material.AIR and just keep 1 as an int and idk what that will do. pls help
    Code:
    package gui;
    
    import net.minecraft.server.v1_8_R3.Material;
    
    import org.bukkit.Bukkit;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.Inventory;
    import org.bukkit.inventory.ItemStack;
    
    public class PunishGUI {
    
        public static Inventory punishGUI = Bukkit.createInventory(null, 56, "");
     
        public PunishGUI() {
         
        }
     
        public static boolean openGUI(Player player) {
         
            punishGUI.setItem(0, new ItemStack(Material.AIR, 1));
            punishGUI.setItem(1, new ItemStack(Material.AIR, 1));
            punishGUI.setItem(2, new ItemStack(Material.AIR, 1));
            punishGUI.setItem(3, new ItemStack(Material.AIR, 1));
            punishGUI.setItem(4, new ItemStack(Material.AIR, 1));
            punishGUI.setItem(5, new ItemStack(Material.AIR, 1));
            punishGUI.setItem(6, new ItemStack(Material.AIR, 1));
            punishGUI.setItem(7, new ItemStack(Material.AIR, 1));
            punishGUI.setItem(8, new ItemStack(Material.AIR, 1));
         
            player.openInventory(punishGUI);
         
            return true;
        }
     
    }
    
     
  2. Offline

    Zombie_Striker

    @GodzillaFlame42
    Unless you purposefully have items in those slots that need to be cleared, setting them to air is pointless.

    The int represents the amount of items in that stack. You should be able to remove it without affecting anything (try closing and opening your IDE if it is still showing those errors), or you can keep them, as setting an amount for air won't do anything.
     
  3. @Zombie_Striker
    I did and now it is show this error in console

    Console:
    Code:
    [16:46:47 ERROR]: Error occurred while enabling GLEssentials v1.0 (Is it up to date?)
    java.lang.ExceptionInInitializerError
        at main.Main.onEnable(Main.java:19) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[craftbukkit.jar:git-Bukkit-b105298]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:332) [craftbukkit.jar:git-Bukkit-b105298]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:404) [craftbukkit.jar:git-Bukkit-b105298]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:341) [craftbukkit.jar:git-Bukkit-b105298]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:313) [craftbukkit.jar:git-Bukkit-b105298]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.reload(CraftServer.java:719) [craftbukkit.jar:git-Bukkit-b105298]
        at org.bukkit.Bukkit.reload(Bukkit.java:543) [craftbukkit.jar:git-Bukkit-b105298]
        at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:25) [craftbukkit.jar:git-Bukkit-b105298]
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:140) [craftbukkit.jar:git-Bukkit-b105298]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:619) [craftbukkit.jar:git-Bukkit-b105298]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchServerCommand(CraftServer.java:605) [craftbukkit.jar:git-Bukkit-b105298]
        at net.minecraft.server.v1_8_R3.DedicatedServer.aO(DedicatedServer.java:371) [craftbukkit.jar:git-Bukkit-b105298]
        at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:336) [craftbukkit.jar:git-Bukkit-b105298]
        at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:628) [craftbukkit.jar:git-Bukkit-b105298]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:536) [craftbukkit.jar:git-Bukkit-b105298]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
    Caused by: java.lang.IllegalArgumentException: Chests must have a size that is a multiple of 9!
        at org.apache.commons.lang.Validate.isTrue(Validate.java:136) ~[craftbukkit.jar:git-Bukkit-b105298]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.createInventory(CraftServer.java:1475) ~[craftbukkit.jar:git-Bukkit-b105298]
        at org.bukkit.Bukkit.createInventory(Bukkit.java:945) ~[craftbukkit.jar:git-Bukkit-b105298]
        at gui.PunishGUI.<clinit>(PunishGUI.java:9) ~[?:?]
        ... 17 more
    
    Code:
    Code:
    package gui;
    
    import org.bukkit.Bukkit;
    import org.bukkit.entity.Player;
    import org.bukkit.inventory.Inventory;
    
    public class PunishGUI {
    
        public static Inventory punishGUI = Bukkit.createInventory(null, 56, "hi");
       
        public PunishGUI() {
           
        }
       
        public static boolean openGUI(Player player) {
           
            player.openInventory(punishGUI);
           
           
            punishGUI.setItem(0, null);
            punishGUI.setItem(1, null);
            punishGUI.setItem(2, null);
            punishGUI.setItem(3, null);
            punishGUI.setItem(4, null);
            punishGUI.setItem(5, null);
            punishGUI.setItem(6, null);
            punishGUI.setItem(7, null);
            punishGUI.setItem(8, null);
            return true;
        }
       
    }
    
     
  4. Offline

    Zombie_Striker

    @GodzillaFlame42
    Didn't notice this before. Inventories must have slots in multiples of 9. Change 56 to 54 (9*6) or to 63 (7*9) if you need the extra spaces.
     
Thread Status:
Not open for further replies.

Share This Page