Stránka 1 z 1

NullPointerException - tvorba pluginu

Napsal: 30 led 2016, 23:33
od kamikatze
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

Re: NullPointerException - tvorba pluginu

Napsal: 31 led 2016, 00:05
od Hanakocz
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

Re: NullPointerException - tvorba pluginu

Napsal: 31 led 2016, 00:14
od Mike8748
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"));

Re: NullPointerException - tvorba pluginu

Napsal: 31 led 2016, 00:36
od Hanakocz
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.