use of net.minecraft.server.v1_10_R1 in project MyPet by xXKeyleXx.
the class PlatformHelper method applyTagToEntity.
@Override
public void applyTagToEntity(TagCompound tag, Entity bukkitEntity) {
net.minecraft.server.v1_10_R1.Entity entity = ((CraftEntity) bukkitEntity).getHandle();
NBTTagCompound vanillaNBT = (NBTTagCompound) ItemStackNBTConverter.compoundToVanillaCompound(tag);
// Just a temporary fix until I come up with a better solution
if (bukkitEntity instanceof Villager) {
EntityVillager villager = (EntityVillager) entity;
villager.setProfession(vanillaNBT.getInt("Profession"));
villager.riches = vanillaNBT.getInt("Riches");
ReflectionUtil.setFieldValue("bJ", villager, vanillaNBT.getInt("Career"));
ReflectionUtil.setFieldValue("bK", villager, vanillaNBT.getInt("CareerLevel"));
ReflectionUtil.setFieldValue("bG", villager, vanillaNBT.getBoolean("Willing"));
if (vanillaNBT.hasKeyOfType("Offers", 10)) {
NBTTagCompound nbttaglist = vanillaNBT.getCompound("Offers");
ReflectionUtil.setFieldValue("trades", villager, new MerchantRecipeList(nbttaglist));
}
NBTTagList invTag = vanillaNBT.getList("Inventory", 10);
for (int i = 0; i < invTag.size(); ++i) {
ItemStack itemstack = ItemStack.createStack(invTag.get(i));
if (itemstack != null) {
villager.inventory.a(itemstack);
}
}
villager.m(true);
if (villager.isBaby()) {
villager.goalSelector.a(8, new PathfinderGoalPlay(villager, 0.32D));
} else if (villager.getProfession() == 0) {
villager.goalSelector.a(6, new PathfinderGoalVillagerFarm(villager, 0.6D));
}
}
// can not be used in 1.10
// entity.f(vanillaNBT);
}
use of net.minecraft.server.v1_10_R1 in project acidisland by tastybento.
the class NMSHandler method getSpawnEgg.
/**
* Get spawn egg
* @param type
* @param amount
* @return
*/
@SuppressWarnings("deprecation")
public ItemStack getSpawnEgg(EntityType type, int amount) {
ItemStack item = new ItemStack(Material.MONSTER_EGG, amount);
net.minecraft.server.v1_10_R1.ItemStack stack = CraftItemStack.asNMSCopy(item);
NBTTagCompound tagCompound = stack.getTag();
if (tagCompound == null) {
tagCompound = new NBTTagCompound();
}
NBTTagCompound id = new NBTTagCompound();
id.setString("id", type.getName());
tagCompound.set("EntityTag", id);
stack.setTag(tagCompound);
return CraftItemStack.asBukkitCopy(stack);
}
use of net.minecraft.server.v1_10_R1 in project acidisland by tastybento.
the class NMSHandler method setBook.
@Override
public ItemStack setBook(Tag item) {
ItemStack chestItem = new ItemStack(Material.WRITTEN_BOOK);
// Bukkit.getLogger().info(item.toString());
if (((CompoundTag) item).getValue().containsKey("tag")) {
Map<String, Tag> contents = (Map<String, Tag>) ((CompoundTag) item).getValue().get("tag").getValue();
// BookMeta bookMeta = (BookMeta) chestItem.getItemMeta();
String author = "";
if (contents.containsKey("author")) {
author = ((StringTag) contents.get("author")).getValue();
}
// Bukkit.getLogger().info("Author: " + author);
// bookMeta.setAuthor(author);
String title = "";
if (contents.containsKey("title")) {
title = ((StringTag) contents.get("title")).getValue();
}
// Bukkit.getLogger().info("Title: " + title);
// bookMeta.setTitle(title);
List<String> lore = new ArrayList<String>();
if (contents.containsKey("display")) {
Map<String, Tag> display = (Map<String, Tag>) (contents.get("display")).getValue();
List<Tag> loreTag = ((ListTag) display.get("Lore")).getValue();
for (Tag s : loreTag) {
lore.add(((StringTag) s).getValue());
}
}
// Bukkit.getLogger().info("Lore: " + lore);
net.minecraft.server.v1_10_R1.ItemStack stack = CraftItemStack.asNMSCopy(chestItem);
// Pages
// Create the NMS Stack's NBT (item data)
NBTTagCompound tag = new NBTTagCompound();
// Set the book's title
tag.setString("title", title);
tag.setString("author", author);
if (contents.containsKey("pages")) {
NBTTagList pages = new NBTTagList();
List<Tag> pagesTag = ((ListTag) contents.get("pages")).getValue();
for (Tag s : pagesTag) {
pages.add(new NBTTagString(((StringTag) s).getValue()));
}
// Add the pages to the tag
tag.set("pages", pages);
}
// Apply the tag to the item
stack.setTag(tag);
chestItem = CraftItemStack.asCraftMirror(stack);
ItemMeta bookMeta = (ItemMeta) chestItem.getItemMeta();
bookMeta.setLore(lore);
chestItem.setItemMeta(bookMeta);
}
return chestItem;
}
Aggregations