Here my code: Code:java package me.summc.fastchest; import java.util.logging.Logger; import org.bukkit.Bukkit;import org.bukkit.ChatColor;import org.bukkit.Material;import org.bukkit.entity.Player;import org.bukkit.event.EventHandler;import org.bukkit.event.EventPriority;import org.bukkit.event.Listener;import org.bukkit.event.block.Action;import org.bukkit.event.player.PlayerInteractEvent;import org.bukkit.inventory.ItemStack;import org.bukkit.inventory.ShapedRecipe;import org.bukkit.inventory.meta.ItemMeta;import org.bukkit.plugin.java.JavaPlugin; public class Main extends JavaPlugin implements Listener{ Logger log; public void onEnable(){ getServer().getPluginManager().registerEvents(this, this); this.log = getLogger(); this.log.info("Fastchest plugin Enabled!"); } @EventHandler(priority=EventPriority.NORMAL) public void onInventoryClick(PlayerInteractEvent e){ Player p = e.getPlayer(); String Name = ChatColor.BLUE + "Backpack"; ItemStack backpack = new ItemStack(Material.CHEST, 1); ItemMeta im = backpack.getItemMeta(); im.setDisplayName(Name); backpack.setItemMeta(im); ShapedRecipe Backpack = new ShapedRecipe(backpack); Backpack.shape(new String[]{"LLL","SES","LLL"}).setIngredient('L', Material.LEATHER).setIngredient('E', Material.ENDER_CHEST).setIngredient('S', Material.STRING); Bukkit.getServer().addRecipe(Backpack); if (p.hasPermission("fastchest.use")){ if ((e.getAction() == Action.LEFT_CLICK_AIR)) { if (p.getInventory().getItemInHand().getItemMeta() == Backpack){ p.openInventory(p.getEnderChest()); } } } else { p.sendMessage("You not allowed to do this!"); } } public void onDisable(){ this.log = getLogger(); this.log.info("Fastchest plugin Disabled!"); }} Why "p.getInventory().getItemInHand().getItemMeta() == Backpack" dosen't work? And how to make enderchest just show 9 slot? <Edit by mrCookieSlime: Merged posts and removed fast bump.>
sum_17427 You're trying to compare an ItemMeta to a ShapedRecipe.. Of course it doesn't work. Edit: As for the enderchest, I don't think you can make it 9 slots. You can however create a normal chest inventory with 9 slots. http://jd.bukkit.org/rb/doxygen/db/...Bukkit.html#a3bffce53d542f05f47fbb8e144ace29b
sum_17427 Well first of all, learn the importance of properly named variables (and Java naming conventions in general). I don't quite understand what you're trying to do, but can't you just check if the item in hand is equal to the backpack ItemStack? Code: if(p.getInventory().getItemInHand().equals(backpack)) { // stuff }
ChipDev He wants an ender chest with 9 slots, which is not possible. You can however open a normal chest with custom slots, but you cannot define the type of the inventory.