NullPointerException - tvorba pluginu

Technická podpora k herním serverům Minecraft a Tekkit
Message
Autor
kamikatze
Příspěvky: 176
Registrován: 24 zář 2014, 16:33
Reputation: 0

NullPointerException - tvorba pluginu

#1 Příspěvekod kamikatze » 30 led 2016, 23:33

Server: 82.208.17.22:27081

Dobrý den,
dělám si plugin, zatím to je na začátku a mám zde problém se soubory, soubor jsem si definoval v hlavní třídě, jenže nevím, jak zjistit obsah souboru v jiné třídě, zde je kod:

Error:
http://pastebin.com/JMJ2tu6f

hlavní třída:
http://pastebin.com/YVkQZFwE

Join.java
http://pastebin.com/s0xFiaCi

31. řádek

Kód: Vybrat vše

        mecmeta.setDisplayName(ChatColor.GRAY
                + this.kitscfg.getString("Start.mec.jmeno"));


Předem děkuji za pomoc

Uživatelský avatar
Hanakocz
Příspěvky: 3228
Věk: 34
Registrován: 25 črc 2013, 20:53
Reputation: 7
Kontaktovat uživatele:

Re: NullPointerException - tvorba pluginu

#2 Příspěvekod Hanakocz » 31 led 2016, 00:05

Chybí ti instanciování toho meče v erpg

Trochu jak mám já kód, kterej se týká něčeho jinýho, ale abys tušil, o co jde...vyřezaná classa z mýho projektu:
[code=java file=DwarfBaubles.java]package com.hanakocz.dwarfworld.baubles;

import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;

public final class DwarfBaubles {

public static Item DwarfNauglamir;

public static final void init()
{
GameRegistry.registerItem(DwarfNauglamir = new DwarfNauglamir("DwarfNauglamir"), "DwarfNauglamir");

}

}
[/code]

A pak se na to odkazuju:

[code=java file=DwarfBoss.java]
protected void dropRareDrop(int par1)
{
this.dropItem(DwarfBaubles.DwarfNauglamir, 1);
}[/code]

Pokud bych řádek public static Item DwarfNauglamir; odstranil, tak se přesně stane NPE
Industry 2.0 -> 1.7.10 GregTech6 server. Pro připojení stačí napsat.
Člen ligy pro aktualizaci serverů na novější verze a rozšíření modovaného MC.
Discord FH : http://discord.fakaheda.eu/ (sem psát pokud chcete poradit s MC mody akutně)

Mike8748
Příspěvky: 823
Registrován: 30 bře 2014, 10:05
Reputation: 28

Re: NullPointerException - tvorba pluginu

#3 Příspěvekod Mike8748 » 31 led 2016, 00:14

s mečem nic není, Hanakocz kecá.

chyba je v tom že se tam odkazuješ na this.kitscfg (uvnitř třídy Join) ale tu hodnotu nikde nenastavuješ (kromě výchozí hodnoty null).
to samozdřejmě vede k uvedné NPE (Caused by: java.lang.NullPointerException)

v třídě Join potřebujes konstruktor, přes který do třídy předáš buď instanci pluginu, nebo přímo hodnotu pro kitscfg z pluginu.
v konstruktoru danou hodnotu uložíš a pak teprve ji můžeš použít.

do třídy Join přidej konstruktor

Kód: Vybrat vše

public Join(EvolvedRPG plugin) { this.plugin = plugin; }


a

Kód: Vybrat vše

+ this.kitscfg.getString("Start.mec.jmeno"));

potom nahraď

Kód: Vybrat vše

+ this.plugin.kitscfg.getString("Start.mec.jmeno"));

Uživatelský avatar
Hanakocz
Příspěvky: 3228
Věk: 34
Registrován: 25 črc 2013, 20:53
Reputation: 7
Kontaktovat uživatele:

Re: NullPointerException - tvorba pluginu

#4 Příspěvekod Hanakocz » 31 led 2016, 00:36

Hanakoooo tohle nejsou mody.

O to přece nejde, co to je nebo není. Jde o to, že to musíš mít správně zavedené, aby se na to šlo odkazovat z jiné classy.
Industry 2.0 -> 1.7.10 GregTech6 server. Pro připojení stačí napsat.
Člen ligy pro aktualizaci serverů na novější verze a rozšíření modovaného MC.
Discord FH : http://discord.fakaheda.eu/ (sem psát pokud chcete poradit s MC mody akutně)


Zpět na „Minecraft, Tekkit“

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 31 hostů