Objetos de Minecraft
Aquí algunas classes útiles para manejar objetos de Minecraft y objetos de CraftBukkit utilizando métodos simples.
Objeto de item
El class ItemObject
sirve para manejar items de Bukkit y Minecraft utilizando métodos simples compatibles con varias versiones.
Crear
Crear un ItemStack
de Minecraft utilizando un NBTTagCompound
, también mediante otros formatos.
// Crear utilizando un compound
Object compound = ...;
Object item = ItemObject.newItem(compound);
// Crear utilizando un SNBT (o json)
String snbt = "{id:\"minecraft:diamond_sword\"}";
Object item = ItemObject.newItem(TagCompound.newTag(snbt));
Convertir
Convertir items de Bukkit y Minecraft.
ItemStack item = ...;
// Convertir en un ItemStack de Minecraft
Object mcItem = ItemObject.asNMSCopy(item);
// Convertir en un ItemStack de Bukkit
ItemStack sameItem = ItemObject.asBukkitCopy(mcItem);
Editar
Editar varias cosas de los ItemStack
de Bukkit y Minecraft.
Object item = ItemObject.newItem(TagCompound.newTag("{id:\"minecraft:diamond_sword\"}"));
// Guardar los datos del item en un NBTTagCompound
Object compound = ItemObject.save(item);
// Obtener el tag del item como un NBTTagCompound
Object tag = ItemObject.getCustomDataTag(item);
// Reemplazar el tag del item
ItemObject.setCustomDataTag(item, tag);
// Cualquier ItemStack o CraftItemStack
ItemStack item = ...;
// Obtener el ItemStack manejado por un CraftItemStack
// O convertir el ItemStack de Bukkit en un ItemStack de Minecraft
Object mcItem = ItemObject.getHandle(item);
// Reemplazar el ItemStack manejado por el CraftItemStack
// O cargar el ItemStack de Minecraft dentro del ItemStack de Bukkit
ItemObject.setHandle(item, mcItem);
Objeto de entidad
El class EntityObject
sirve para manejar entidades de Bukkit y Minecraft utilizando métodos simples compatibles con varias versiones.
Convertir
Convertir entidades de Bukkit y Minecraft.
Entity entity = ...;
// Convertir en un Entity de Minecraft
Object mcEntity = EntityObject.getHandle(entity);
// Convertir en un Entity de Bukkit
Entity sameEntity = EntityObject.getEntity(mcEntity);
Editar
Editar varias cosas de los Entity
de Minecraft.
Object entity = ...;
// Guardar los datos de la entidad en un NBTTagCompound
Object compound = EntityObject.save(entity);
// Cargar los datos en una entidad utilizando un NBTTagCompound
EntityObject.load(entity, compound);
Objeto de bloque
El class BlockObject
sirve para manejar bloques de Bukkit y Minecraft utilizando métodos simples compatibles con varias versiones.
Convertir
Convertir cualquier Block
de Bukkit en un TileEntity
de Minecraft (solo si es aplicable).
Block block = ...;
// Convertir en un TileEntity de Minecraft
Object mcTileEntity = BlockObject.getTileEntity(block);
Editar
Editar varias cosas de los TileEntity
de Minecraft.
Object tileEntity = ...;
// Guardar los datos del TileEntity en un NBTTagCompound
Object compound = BlockObject.save(tileEntity);
// Cargar los datos en un TileEntity utilizando un NBTTagCompound
BlockObject.load(tileEntity, compound);