Minecraft Objects
Here some utility classes to handle Minecraft server and Craftbukkit objects using simple methods.
Item Object
The ItemObject is an utility class that allow to handle Bukkit and Minecraft items with simple methods across supported versions.
Create
Create Minecraft ItemStack using CompoundTag, so it allow to get from different formats.
// Create from compound
Object compound = ...;
Object item = ItemObject.newItem(compound);
// Create from SNBT (or json)
String snbt = "{id:\"minecraft:diamond_sword\"}";
Object item = ItemObject.newItem(TagCompound.newTag(snbt));
Convert
Convert items from Bukkit and Minecraft.
ItemStack item = ...;
// Convert to Minecraft ItemStack
Object mcItem = ItemObject.asNMSCopy(item);
// Convert to Bukkit ItemStack
ItemStack sameItem = ItemObject.asBukkitCopy(mcItem);
Edit
Edit various things of Bukkit and Minecraft ItemStack.
Object item = ItemObject.newItem(TagCompound.newTag("{id:\"minecraft:diamond_sword\"}"));
// Save into CompoundTag
Object compound = ItemObject.save(item);
// Get item tag as CompoundTag
Object tag = ItemObject.getCustomDataTag(item);
// Set item tag
ItemObject.setCustomDataTag(item, tag);
// Normal ItemStack or CraftItemStack
ItemStack item = ...;
// Get handle from CraftItemStack or convert Bukkit ItemStack to Minecraft ItemStack
Object mcItem = ItemObject.getHandle(item);
// Override handle of CraftItemStack or load Minecraft ItemStack into Bukkit ItemStack
ItemObject.setHandle(item, mcItem);
Entity Object
The EntityObject is an utility class that allow to handle Bukkit and Minecraft entities with simple methods across supported versions.
Convert
Convert entities from Bukkit and Minecraft.
Entity entity = ...;
// Convert to Minecraft Entity
Object mcEntity = EntityObject.getHandle(entity);
// Convert to Bukkit Entity
Entity sameEntity = EntityObject.getEntity(mcEntity);
Edit
Edit various things of Minecraft Entity.
Object entity = ...;
// Save into CompoundTag
Object compound = EntityObject.save(entity);
// Load CompoundTag into entity
EntityObject.load(entity, compound);
Block Object
The BlockObject is an utility class that allow to handle Bukkit and Minecraft blocks and tile entities with simple methods across supported versions.
Convert
Convert Bukkit Block into Minecraft BlockEntity (if it's aplicable).
Block block = ...;
// Convert to Minecraft BlockEntity
Object blockEntity = BlockObject.getTileEntity(block);
Edit
Edit various things of Minecraft BlockEntity.
Object tileEntity = ...;
// Save into CompoundTag
Object compound = BlockObject.save(tileEntity);
// Load CompoundTag into tileEntity
BlockObject.load(tileEntity, compound);