Ник владельца

Версия Minecraft
1.7.10
212
8
29
@SideOnly(Side.CLIENT)
   public void func_77624_a(ItemStack var1, EntityPlayer var2, List var3, boolean var4){
      if(var1.getDisplayName() != null && var1.getDisplayName().тут что то должно быть("owner")) {
         var3.add("Владелец: " + var1.getDisplayName(). и тут тоже("owner"));
 
Решение
WhiteWaeeior написал(а):
Код:
public void onCreated(ItemStack itemstack, World world, EntityPlayer entityplayer) {
          if(itemstack != null)
          itemstack.getItem().setUnlocalizedName(entityplayer.getDisplayName());


          }

Вроде бы вот так

> setUnlocalizedName - вот сто процентов не так.


Thunder написал(а):
При попадении к игроку в первый раз сохранять в нбт его имя и отображать его в методе addInformation -> Можно в onUpdate предмета сделать проверку есть ли у этого айтема владелец, если нету то записать имя в нбт

В точку.
Код:
if (!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound();
if (!stack.stackTagCompound.hasKey("Owner")) stack.stackTagCompound.setString("Owner", player.getCommandSenderName);

// В addInformation...
212
8
29
WhiteWaeeior написал(а):
Код:
public void onCreated(ItemStack itemstack, World world, EntityPlayer entityplayer) {
          if(itemstack != null)
          itemstack.getItem().setUnlocalizedName(entityplayer.getDisplayName());


          }

Вроде бы вот так

Почти так, но я имел ввиду что бы в описании предмета писало ник владельца.
 

Eifel

Модератор
1,624
79
609
При попадении к игроку в первый раз сохранять в нбт его имя и отображать его в методе addInformation -> Можно в onUpdate предмета сделать проверку есть ли у этого айтема владелец, если нету то записать имя в нбт
 
1,976
68
220
WhiteWaeeior написал(а):
Код:
public void onCreated(ItemStack itemstack, World world, EntityPlayer entityplayer) {
          if(itemstack != null)
          itemstack.getItem().setUnlocalizedName(entityplayer.getDisplayName());


          }

Вроде бы вот так

> setUnlocalizedName - вот сто процентов не так.


Thunder написал(а):
При попадении к игроку в первый раз сохранять в нбт его имя и отображать его в методе addInformation -> Можно в onUpdate предмета сделать проверку есть ли у этого айтема владелец, если нету то записать имя в нбт

В точку.
Код:
if (!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound();
if (!stack.stackTagCompound.hasKey("Owner")) stack.stackTagCompound.setString("Owner", player.getCommandSenderName);

// В addInformation 
list.add(StatCollector.translateToLocal(stack.getUnlocalizedName() + ".owner" + ": " + stack.stackTagCompound.getString("Owner")));
Ну или как-то так ;D
 
212
8
29
AlexSocol написал(а):
WhiteWaeeior написал(а):
Код:
public void onCreated(ItemStack itemstack, World world, EntityPlayer entityplayer) {
          if(itemstack != null)
          itemstack.getItem().setUnlocalizedName(entityplayer.getDisplayName());


          }

Вроде бы вот так

> setUnlocalizedName - вот сто процентов не так.


Thunder написал(а):
При попадении к игроку в первый раз сохранять в нбт его имя и отображать его в методе addInformation -> Можно в onUpdate предмета сделать проверку есть ли у этого айтема владелец, если нету то записать имя в нбт

В точку.
Код:
if (!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound();
if (!stack.containsKey("Owner")) stack.stackTagCompound.setString("Owner", player.getCommandSenderName);

// В addInformation 
list.add(StatCollector.translateToLocal(stack.getUnlocalizedName() + ".owner" + ": " + stack.stackTagCompound.getString("Owner")));
Ну или как-то так ;D
stack.containsKey Ошибку выдает ;C
 
7,099
324
1,510
Сверху