Mod-Coding [NullPointerException..]

Status
Für weitere Antworten geschlossen.

xZombeyZz

Mitglied
17 Apr. 2014
4
0
145
26
Hey,

vielleicht sind ja ein paar Java-Devs unter euch die mir eventuell weiterhelfen können.
Ich Code gerade einen PvP-Client und ich suche jetzt schon seid 3 Stunden nach dem Fehler.
Es kommt immer eine NullPointerException, wenn ich ein Mod einschalten möchte, in diesem
Beispiel die 1.7 Animation.. Eine NullPointerException kommt immer wenn man auf etwas zugreifen
möchte das Null ist. Hab schon alles mögliche versucht, ich weiß einfach nicht weiter..
Gecoded mit Eclipse und dem 1.8 Minecraft-Moder-Pack.

EntityPlayerSP-Klasse:

public void onUpdate() {
if (this.worldObj.isBlockLoaded(new BlockPos(this.posX, 0.0D, this.posZ))) {
for (Module m : ModuleManager.activeModule) {
if (m.getState()) {
m.onUpdate();
...
}
}

BlockHit-Klasse:

package de.EinsAchtSieben.Client.Module.Mods;
import de.EinsAchtSieben.Client.Module.Module;
import net.minecraft.item.ItemSword;
public class BlockHit extends Module {
public BlockHit() {
super("BlockHit");

}
boolean toggle = false;
public void onUpdate()
{
if (this.toggle)
{
mc.gameSettings.keyBindUseItem.pressed = false;
this.toggle = false;
}
if (((mc.thePlayer.getHeldItem().getItem() instanceof ItemSword)) && <- Zeile 22. aus der Fehler Meldung.
(mc.thePlayer.isSwingInProgress))
{
mc.gameSettings.keyBindUseItem.pressed = true;
this.toggle = true;

}
}
}

Fehler:

Stacktrace:
at de.EinsAchtSieben.Client.Module.Mods.BlockHit.onUpdate(BlockHit.java:22) <- Zeile des Fehlers.
at net.minecraft.client.entity.EntityPlayerSP.onUpdate(EntityPlayerSP.java:141) <- Zeile des Fehlers.
at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:1885)
at net.minecraft.world.World.updateEntity(World.java:1854)

-- Entity being ticked --
Details:
Entity Type: null (net.minecraft.client.entity.EntityPlayerSP) <- Fehler
Entity ID: 138
Entity Name: Player917
Entity's Exact location: 521,91, 68,00, 259,67
Entity's Block location: 521,00,68,00,259,00 - World: (521,68,259), Chunk: (at 9,4,3 in 32,16; contains blocks 512,0,256 to 527,255,271), Region: (1,0; contains chunks 32,0 to 63,31, blocks 512,0,0 to 1023,255,511)
Entity's Momentum: 0,00, -0,08, 0,00
Entity's Rider: ~~ERROR~~ NullPointerException: null <- Fehler
Entity's Vehicle: ~~ERROR~~ NullPointerException: null <- Fehler
 
Ich glaube das passiert wenn der Spieler nichts inder Hand hält, dann ist getHeldItem null.
Einfach bevor man schaut ob das ein Schwert ist erstmal schauen ob das nicht null ist, also der Spieler überhaupt irgendetwas in der Hand hält.


(Ach und ich glaube das ist eher schon ein Hacked Client ;D)
 
if (((mc.thePlayer.getHeldItem().getItem() instanceof ItemSword mit dieser Zeile wird abgefragt ob er ItemSword in der Hand hält wenn nicht dann passiert auch nichts..

Ich denke der Fehler liegt eher an etwas anderem und gar nicht mal am Blockhit bei anderen Modulen die ich gecoded habe wo ich etwas mit if(mc.theplayer) { Abfrage kommt auch dieser Fehler aber nur wenn ich das Abfrage, aber ich muss das abfragen :c

natürlich kann ich ein Try - Catch einbauen, dann kommt keine Fehlermeldung, aber es funktioniert halt nicht und das ist nicht Sinn der Sache ^^
 
Das meinte ich nicht, es kann einfach sein dass das Item (also mc.thePlayer.getHeldItem()) null ist wenn der Spieler nichts in der Hand hält. Das musst du erst prüfen bevor du thePlayer.getHeldItem() oder methoden davon benutzt.
 
if(mc.thePlayer.getHeldItem().getItem() != null) { hab ich gemacht.. jetzt kommt der Fehler:
In Zeile 21 kann einfach gar nichts abfragen mit mc.thePlayer vielleicht wegen der EntityPlayerSP-Klasse?

Stacktrace:

at de.EinsAchtSieben.Client.Module.Mods.BlockHit.onUpdate(BlockHit.java:21)
at net.minecraft.client.entity.EntityPlayerSP.onUpdate(EntityPlayerSP.java:141)
at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:1885)
at net.minecraft.world.World.updateEntity(World.java:1854)

auch wenn ich if(mc.thePlayer.getHeldItem() != null) {
mache es liegt irgendwie an den if-Abfragen zu mc.theplayer..
 
Vielleicht hab ich das etwas komisch geschrieben. Ich meinte dass der ItemStack, also getHeldItem() null sein kann, was bedeutet, dass bei getHeldItem().getItem() dann natürlich einen Fehler kommt. Prüfe also eher ob getHeldItem() null ist.
Und das mc.thePlayer null ist kann ich mir eig nicht vorstellen so lange du nicht irgendwas echt komisches da machst xD
 
-- Entity being ticked --
Details:
Entity Type: null (net.minecraft.client.entity.EntityPlayerSP) <- Fehler
Entity ID: 138
Entity Name: Player917
Entity's Exact location: 521,91, 68,00, 259,67
Entity's Block location: 521,00,68,00,259,00 - World: (521,68,259), Chunk: (at 9,4,3 in 32,16; contains blocks 512,0,256 to 527,255,271), Region: (1,0; contains chunks 32,0 to 63,31, blocks 512,0,0 to 1023,255,511)
Entity's Momentum: 0,00, -0,08, 0,00
Entity's Rider: ~~ERROR~~ NullPointerException: null <- Fehler
Entity's Vehicle: ~~ERROR~~ NullPointerException: null <- Fehler

Doch, ich denke, dass mc.thePlayer was damit zu tuen hat.. schau mal "Entity-Type = null" das darf nicht sein.. und mit dem Entity Rider und Vehile.. irgendwie bekommt er es net hin das zusammen zu machen kp aber irgendwie so ^^
 
Erstmal ist das HeldItem immer null wenn der Spieler nichts in der Hand hat und es mc.thePlayer ist sicher nicht null :D (Ich denke mal du aktiviert das Module wenn die Welt geladen ist? :D)

Oh und Vehicle und Riding entity sind immer null wenn man gerade nicht in etwas drinnen sitzt (Boot, Minecart, Pferd, ..) oder ein anderes Entity auf einem drauf sitzt.
 
Zuletzt bearbeitet:
Was für eine Scheiße.. ich bekomme es einfach nicht gefixt.. diese Welt ist echt traurig, wenn man für jeden kleinen Fehler seine Zeit zum Fixen verschwenden muss.. naja vielen Dank für deine Hilfsbereitschaft, aber es ist die Zeit gekommen aufzugeben und sich anderen Projekten zu widmen. Ich finde einfach nicht den Fehler so lange ich auch darüber nachdenke :)
 
Was für eine Scheiße.. ich bekomme es einfach nicht gefixt.. diese Welt ist echt traurig, wenn man für jeden kleinen Fehler seine Zeit zum Fixen verschwenden muss.. naja vielen Dank für deine Hilfsbereitschaft, aber es ist die Zeit gekommen aufzugeben und sich anderen Projekten zu widmen. Ich finde einfach nicht den Fehler so lange ich auch darüber nachdenke :)
Eine NullPointerException passiert dann wenn du etwas abfragen willst was null ist. (null != 0)

Und du kannst dir die Fehlermeldung auch durchlesen ne?
 
Hey,

vielleicht sind ja ein paar Java-Devs unter euch die mir eventuell weiterhelfen können.
Ich Code gerade einen PvP-Client und ich suche jetzt schon seid 3 Stunden nach dem Fehler.
Es kommt immer eine NullPointerException, wenn ich ein Mod einschalten möchte, in diesem
Beispiel die 1.7 Animation.. Eine NullPointerException kommt immer wenn man auf etwas zugreifen
möchte das Null ist. Hab schon alles mögliche versucht, ich weiß einfach nicht weiter..
Gecoded mit Eclipse und dem 1.8 Minecraft-Moder-Pack.

EntityPlayerSP-Klasse:

public void onUpdate() {
if (this.worldObj.isBlockLoaded(new BlockPos(this.posX, 0.0D, this.posZ))) {
for (Module m : ModuleManager.activeModule) {
if (m.getState()) {
m.onUpdate();
...
}
}

BlockHit-Klasse:

package de.EinsAchtSieben.Client.Module.Mods;
import de.EinsAchtSieben.Client.Module.Module;
import net.minecraft.item.ItemSword;
public class BlockHit extends Module {
public BlockHit() {
super("BlockHit");

}
boolean toggle = false;
public void onUpdate()
{
if (this.toggle)
{
mc.gameSettings.keyBindUseItem.pressed = false;
this.toggle = false;
}
if (((mc.thePlayer.getHeldItem().getItem() instanceof ItemSword)) && <- Zeile 22. aus der Fehler Meldung.
(mc.thePlayer.isSwingInProgress))
{
mc.gameSettings.keyBindUseItem.pressed = true;
this.toggle = true;

}
}
}

Fehler:

Stacktrace:
at de.EinsAchtSieben.Client.Module.Mods.BlockHit.onUpdate(BlockHit.java:22) <- Zeile des Fehlers.
at net.minecraft.client.entity.EntityPlayerSP.onUpdate(EntityPlayerSP.java:141) <- Zeile des Fehlers.
at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:1885)
at net.minecraft.world.World.updateEntity(World.java:1854)

-- Entity being ticked --
Details:
Entity Type: null (net.minecraft.client.entity.EntityPlayerSP) <- Fehler
Entity ID: 138
Entity Name: Player917
Entity's Exact location: 521,91, 68,00, 259,67
Entity's Block location: 521,00,68,00,259,00 - World: (521,68,259), Chunk: (at 9,4,3 in 32,16; contains blocks 512,0,256 to 527,255,271), Region: (1,0; contains chunks 32,0 to 63,31, blocks 512,0,0 to 1023,255,511)
Entity's Momentum: 0,00, -0,08, 0,00
Entity's Rider: ~~ERROR~~ NullPointerException: null <- Fehler
Entity's Vehicle: ~~ERROR~~ NullPointerException: null <- Fehler
Mach 'nen try-catch rum mit der Exception 'NullPointer'
 
Wie meinst du das? Hab den Spieler einfach mit mc.thePlayer() aufgerufen und dies halt mit Minecraft mc; also ganz normal..
 
Ist er in einer Welt, im Ladebildschirm etc..?
Kann es sein, dass mc null ist?
 
Code:
mc.thePlayer.getHeldItem().getItem()
Gib dir vor der Abfrage doch einfach mal folgendes an den Spieler (dich) aus:
Code:
(mc == null ? "mc = null; " : "mc = init; " + (mc.thePlayer == null ? "thePlayer = null; " : "thePlayer = init; " + (mc.thePlayer.getHeldItem() == null ? ....)))
Verstehst du, was ich meine? Die Zeilen danach kannst einfach auskommentieren, denn dann siehst du, wo der Fehler liegt. Damit wärst du schonmal ein ganzes Stück weiter.
 
Jo, mc ist gleich null :c Was kann man da tuen? Wo liegt das Problem? Der Spieler ist im Singleplayer.

omg gefixt wie schlecht bin ich den haha danke an alle :)

Minecraft mc; klar das das null ist wenn man sich das nicht holt mit Minecaft.getMinecraft(); :P
 
Jo, mc ist gleich null :c Was kann man da tuen? Wo liegt das Problem? Der Spieler ist im Singleplayer.

omg gefixt wie schlecht bin ich den haha danke an alle :)

Minecraft mc; klar das das null ist wenn man sich das nicht holt mit Minecaft.getMinecraft(); :p
:D Schön dass ich helfen konnte, hab nämlich keinen Plan von der Forge API
 
Status
Für weitere Antworten geschlossen.

Soziale Medien

  • X
  • TikTok

Über uns

  • GommeHD.net ist einer der größten Minecraft-Server der Welt. Dir gefällt unser Server? Dann unterstütze uns durch einen Kauf im Shop!
  • Shop