Переменные

Версия Minecraft
1.6.4
73
1
Какой-то непонятный краш вылезает, когда я вызываю переменную типа int зарегистрированную в одном классе в другом. Именно, когда в гуи пытаюсь пихнуть (переменная money). 
Код: 
Код:
  protected void drawGuiContainerForegroundLayer(int par1, int par2) 
   {
      GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
      GL11.glDisable(2896);
      this.drawString(Minecraft.getMinecraft().fontRenderer, "Монеток: " + this.player.money, 120, 4, 0xFFFF00);
   }

Помогите пожалуйста.
 
Решение
Ты создал переменную которая ни на что не ссылается и пытаешься получить деньги:
public PlayerInfo player;
...
player.money -> player = null
Если сделать вот так, то теперь все будет работать:
public PlayerInfo player;
...
player = new PlayerInfo(...);(Или какой-то другой способ его инициализировать, например через конструктор гуи)
player.money -> player != null и все гуд
73
1
MJaroslav написал(а):
A) Зачем в коде кириллица?
Б) Для чего тебе это GL11.glDisable(2896);? Копипаст деобрусцированного кода?
В) Я уже взломал твой ПК и скопировал с него твой краш (сарказм).
 Не, с готово класса копировал) Я сам без понятия зачем вообще нужна эта строчка.
 
1,200
37
237
denuvo написал(а):
MJaroslav написал(а):
A) Зачем в коде кириллица?
Б) Для чего тебе это GL11.glDisable(2896);? Копипаст деобрусцированного кода?
В) Я уже взломал твой ПК и скопировал с него твой краш (сарказм).
 Не, с готово класса копировал) Я сам без понятия зачем вообще нужна эта строчка.
1447517678161168989.png
 
73
1
MJaroslav написал(а):
A) Зачем в коде кириллица?
Б) Для чего тебе это GL11.glDisable(2896);? Копипаст деобрусцированного кода?
В) Я уже взломал твой ПК и скопировал с него твой краш (сарказм).

Код:
2017-10-23 00:13:32 [INFO] [STDOUT] java.lang.NullPointerException
2017-10-23 00:13:32 [INFO] [STDOUT] at ru.denuvo.client.gui.GuiInventoryMagick.drawGuiContainerForegroundLayer(GuiInventoryMagick.java:83)
2017-10-23 00:13:32 [INFO] [STDOUT] at net.minecraft.client.gui.inventory.GuiContainer.drawScreen(GuiContainer.java:150)
2017-10-23 00:13:32 [INFO] [STDOUT] at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1036)
2017-10-23 00:13:32 [INFO] [STDOUT] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:946)
2017-10-23 00:13:32 [INFO] [STDOUT] at net.minecraft.client.Minecraft.run(Minecraft.java:838)
2017-10-23 00:13:32 [INFO] [STDOUT] at net.minecraft.client.main.Main.main(Main.java:93)
2017-10-23 00:13:32 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2017-10-23 00:13:32 [INFO] [STDOUT] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
2017-10-23 00:13:32 [INFO] [STDOUT] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
2017-10-23 00:13:32 [INFO] [STDOUT] at java.lang.reflect.Method.invoke(Unknown Source)
2017-10-23 00:13:32 [INFO] [STDOUT] at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
2017-10-23 00:13:32 [INFO] [STDOUT] at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
Это краш, просто кидает на этот класс, эту строчку:
Код:
this.drawString(Minecraft.getMinecraft().fontRenderer, "Монеток: " + this.player.money, 120, 4, 0xFFFF00);


CoomingSoon написал(а):
Краш давай. int нуль не кидает, он имеют дефолтное значение - 0.

Краш ниже


timaxa007 написал(а):
2896 = 0xB50 = GL11.GL_LIGHTING;
player.money - у EntityPlayer нету такой переменной.

А причём тут переменная у EntityPlayer, это я создал в своём классе PlayerInfo переменную money. 
Далее в классе с гуи:
Код:
public PlayerInfo player;
 
И уже обращаюсь к player
 

timaxa007

Модератор
5,831
409
672
denuvo написал(а):
А причём тут переменная у EntityPlayer
Потому-что не известно, нам что ты используешь.

denuvo написал(а):
Код:
public PlayerInfo player;
В краше говориться о Null'е. Чему равно player? Возможно он null.


MJaroslav написал(а):
/Обижен за удаление пикчи, но заслуженно ¯\_(ツ)_/¯/
Я не видел в этом не какого смысла.
 
73
1
MJaroslav написал(а):
Дело в this.player.money, как выше описал timaxa007.

/Обижен за удаление пикчи, но заслуженно ¯\_(ツ)_/¯/

На будущее, краши заливай на pastebin.com

Дело не в этом. Player тут ни причём, я хоть на что поменяю, хоть guimoney. я же не к EntityPlayer обращаюсь.
 
5,018
47
783
Вроде бы это наследуемый метод, не? Там свои аргументы, а ты отсебятину налепил
 

Eifel

Модератор
1,623
78
608
Ты создал переменную которая ни на что не ссылается и пытаешься получить деньги:
public PlayerInfo player;
...
player.money -> player = null
Если сделать вот так, то теперь все будет работать:
public PlayerInfo player;
...
player = new PlayerInfo(...);(Или какой-то другой способ его инициализировать, например через конструктор гуи)
player.money -> player != null и все гуд
 
73
1
Thunder написал(а):
Ты создал переменную которая ни на что не ссылается и пытаешься получить деньги:
public PlayerInfo player;
...
player.money -> player = null
Если сделать вот так, то теперь все будет работать:
public PlayerInfo player;
...
player = new PlayerInfo(...);(Или какой-то другой способ его инициализировать, например через конструктор гуи)
player.money -> player != null и все гуд
Собсна вот так-то я сразу сделал, до того как на форму написал.
Код:
public PlayerInfo player;
А вот так попробую, отпишусь
Код:
player.money -> player != null
 
Сверху