/** * Retrieves a read/write structure for ItemStack. * <p> * This modifier will automatically marshal between the Bukkit ItemStack and the * internal Minecraft ItemStack. * @return A modifier for ItemStack fields. */ public StructureModifier<ItemStack> getItemModifier() { // Convert to and from the Bukkit wrapper return structureModifier.withType( MinecraftReflection.getItemStackClass(), BukkitConverters.getItemStackConverter()); }
/** * Retrieves a read/write structure for lists of ItemStacks. * <p> * This modifier will automatically marshal between the Bukkit ItemStack and the * internal Minecraft ItemStack. * @return A modifier for ItemStack list fields. */ public StructureModifier<List<ItemStack>> getItemListModifier() { // Convert to and from the Bukkit wrapper return structureModifier.withType( List.class, BukkitConverters.getListConverter(BukkitConverters.getItemStackConverter()) ); }
private static Object getItem(Object handle) { return new StructureModifier<>(handle.getClass()) .withTarget(handle) .withType(MinecraftReflection.getItemStackClass(), BukkitConverters.getItemStackConverter()) .read(0); }
ImmutableMap.<Class<?>, EquivalentConverter<Object>>builder(). put(MinecraftReflection.getDataWatcherClass(), (EquivalentConverter) getDataWatcherConverter()). put(MinecraftReflection.getItemStackClass(), (EquivalentConverter) getItemStackConverter()). put(MinecraftReflection.getNBTBaseClass(), (EquivalentConverter) getNbtConverter()). put(MinecraftReflection.getNBTCompoundClass(), (EquivalentConverter) getNbtConverter()).
return ((WrappedChatComponent) wrapped).getHandle(); } else if (wrapped instanceof ItemStack) { return BukkitConverters.getItemStackConverter().getGeneric((ItemStack) wrapped); } else if (wrapped instanceof WrappedBlockData) { return BukkitConverters.getWrappedBlockDataConverter().getGeneric((WrappedBlockData) wrapped);
return WrappedChatComponent.fromHandle(value); } else if (is(MinecraftReflection.getItemStackClass(), value)) { return BukkitConverters.getItemStackConverter().getSpecific(value); } else if (is(MinecraftReflection.getIBlockDataClass(), value)) { return BukkitConverters.getWrappedBlockDataConverter().getSpecific(value);