Помогите NBT для спавнера

Fenix78563

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
Blc_Dragon
Доброго времени суток, форумчане.

пытаюсь добавить спавнеру в инвентаре NBT Tag EntityId

Java:
net.minecraft.server.v1_10_R1.ItemStack stack = CraftItemStack.asNMSCopy(item);
NBTTagCompound tag = stack.getTag(); //Create the NMS Stack's NBT (item data)
tag.setString("EntityId", monster);stack.setTag(tag);
item = CraftItemStack.asCraftMirror(stack);
return item;
Однако код не пашет. Ни ошибок ничего.

Сначала пытался сделать код независимым от версии и было так:
Java:
Object nmsStack = getCraftbukkitClass("inventory.CraftItemStack").getMethod("asNMSCopy", ItemStack.class).invoke(null, item);
Object tag = (Boolean)nmsStack.getClass().getMethod("hasTag").invoke(nmsStack) ? nmsStack.getClass().getMethod("getTag").invoke(nmsStack) : getNmsClass("NBTTagCompound").newInstance();
Object nested = getNmsClass("NBTTagCompound").newInstance();
nested.getClass().getMethod("setString", String.class, String.class).invoke(nested, "EntityId", monster);
tag.getClass().getMethod("set", String.class, getNmsClass("NBTBase")).invoke(tag, "SpawnData", nested);
nmsStack.getClass().getMethod("setTag", getNmsClass("NBTTagCompound")).invoke(nmsStack, tag);
item = (ItemStack) getCraftbukkitClass("inventory.CraftItemStack").getMethod("asBukkitCopy", getNmsClass("ItemStack")).invoke(null, nmsStack);
Но он делал все ту же свинью, и я решил сначала проверить на более простом, но он, как я сказал выше, не пашет(делает свинку). Где подстава?
 
Последнее редактирование:
Тут есть свои плюсы и минусы, рефлексия раза в 3 тормознее будет.
 
Тут есть свои плюсы и минусы, рефлексия раза в 3 тормознее будет.
зато мультиверсия.

И проблема в том что таг не ставится. (вместо коровы\курицы и т.д все еще дефолтная свинюха)
 
Назад
Верх