Code Patterns

Copy-paste examples for common plugin tasks. Commands, events, ECS, GUI, and more.

← Back to Patterns
inventory

Inventory Management

Add, remove, and manage items in player inventory using ItemStack and ItemContainer.

Example Code

java
// Get player inventory
Inventory inventory = player.getInventory();

// Create items
ItemStack stone = new ItemStack("Stone", 64);
ItemStack sword = new ItemStack("Weapon_Sword_Iron", 1, 100.0, 100.0, null); // with durability

// Add custom metadata
BsonDocument metadata = new BsonDocument();
metadata.append("enchant", new BsonString("fire"));
ItemStack enchantedSword = new ItemStack("Weapon_Sword_Iron", 1, metadata);

// Add to inventory
ItemContainer storage = inventory.getStorage();
storage.addItemStack(stone);
storage.addItemStackToSlot((short) 0, sword); // specific slot

// Remove from inventory
storage.removeItemStack(stone);
storage.removeItemStackFromSlot((short) 0);

// Get other containers
ItemContainer hotbar = inventory.getHotbar();
ItemContainer armor = inventory.getArmor();
ItemContainer backpack = inventory.getBackpack();

// Combined containers
ItemContainer everything = inventory.getCombinedEverything();

Common Mistakes

Using wrong container type. Forgetting to check if slot is available.