Родитель и хозяин предмета

Версия Minecraft
1.7.10

deleted.user

Мошенник
321
43
Всем привет. Возник такой вопрос - как сделать так, что бы при получении любого предмета или блока путем крафта например, у того игрока который его первый возьмет в руки высвечивался ник этого игрока? Понимаю, что здесь не обойдется без нбт, но для меня это в общем и целом сложно. И по возможности, как можно отследить, каким образом был получен предмет? То есть путем крафта, подбора, etc
 

Icosider

Kotliner
Администратор
3,603
99
664
random написал(а):
у того игрока который его первый возьмет в руки высвечивался ник этого игрока?
При клике мыши добавляй в нбт UUID хозяина. Потом проверяй, если нбт тег уже есть, то больше не изменять. По поводу записи:
Код:
NBTTagCompound tag = new NBTTagCompound();
tag.setString("owner", player.getUniqId().toString());
Ещё нужно заносить в сам тег в itemstack:
Код:
tag.setTag("MyCategoryOwner", tag);//По моему не обязательно
stack.setTagCompound(tag);
Чтение:
Код:
tag.getString("owner");
или
Код:
NBTTagCompound tag = stack.getTagCompound().getCompoundTag("MyCategoryOwner");
И пора бы уже выучить нбт...
 
1,015
9
102
Ivasik написал(а):
random написал(а):
у того игрока который его первый возьмет в руки высвечивался ник этого игрока?
При клике мыши добавляй в нбт UUID хозяина. Потом проверяй, если нбт тег уже есть, то больше не изменять. По поводу записи:
Код:
NBTTagCompound tag = new NBTTagCompound();
tag.setString("owner", player.getUniqId().toString());
Ещё нужно заносить в сам тег в itemstack:
Код:
tag.setTag("MyCategoryOwner", tag);//По моему не обязательно
stack.setTagCompound(tag);
Чтение:
Код:
tag.getString("owner");
или
Код:
NBTTagCompound tag = stack.getTagCompound().getCompoundTag("MyCategoryOwner");
И пора бы уже выучить нбт...
Зачем в таг вкладывать таг? Вот так же можно:

Код:
stack.getTagCompound().setString(...);
stack.getTagCompound().getString(...);
 

Icosider

Kotliner
Администратор
3,603
99
664
Minebot написал(а):
Ivasik написал(а):
random написал(а):
у того игрока который его первый возьмет в руки высвечивался ник этого игрока?
При клике мыши добавляй в нбт UUID хозяина. Потом проверяй, если нбт тег уже есть, то больше не изменять. По поводу записи:
Код:
NBTTagCompound tag = new NBTTagCompound();
tag.setString("owner", player.getUniqId().toString());
Ещё нужно заносить в сам тег в itemstack:
Код:
tag.setTag("MyCategoryOwner", tag);//По моему не обязательно
stack.setTagCompound(tag);
Чтение:
Код:
tag.getString("owner");
или
Код:
NBTTagCompound tag = stack.getTagCompound().getCompoundTag("MyCategoryOwner");
И пора бы уже выучить нбт...
Зачем в таг вкладывать таг? Вот так же можно:

Код:
stack.getTagCompound().setString(...);
stack.getTagCompound().getString(...);

Категория-_-
 
2,505
81
397
Minebot написал(а):
Зачем в таг вкладывать таг? Вот так же можно:
Можно, но можешь испортить чужие моды, или они испортят твой. Пройдено на собственном опыте. Поэтому лучше сразу добавлять всю свою хрень в отдельный тег, чтобы потом не было проблем.
 

Icosider

Kotliner
Администратор
3,603
99
664
Dahaka написал(а):
Minebot написал(а):
Зачем в таг вкладывать таг? Вот так же можно:
Можно, но можешь испортить чужие моды, или они испортят твой. Пройдено на собственном опыте. Поэтому лучше сразу добавлять всю свою хрень в отдельный тег, чтобы потом не было проблем.

Кстати странно что он называется тег, ведь это категория, могли бы уж cat(сокращение category) назвать. Типа setToCat or setToCategory("blablabal", tag);
 
Сверху