Texte filtern

Diskutiere Texte filtern im Java Basics - Anfänger-Themen Bereich.
mihe7

mihe7

Mir sagt das ganze Minecraft-Zeug leider gar nichts. Bekommst Du eine Exception? Vielleicht ist ja in dem Fall eine andere Variable statt getText() abzufragen.
 
L

Lasnik

Ja ich bekomme eine CrashException. Ich probier mich mal ein bisschen durch
 
mihe7

mihe7

Da sollte ein Stacktrace dabei sein, anhand dessen Du siehst, wo genau ein Problem auftritt.
 
L

Lasnik

Ich bin noch ein ziemlicher Noob... Was ist Stacktrace und wo finde ich es?
 
L

Lasnik

Okay, im game steht "Internal Exception: net.minecraft.util.crash.CrashEception: Firing Wurst Event" und in der Konsole steht "java.lang.NullPointerException"
Kann man darauf irgendwelche Rückschlüsse ziehen?
 
L

Lasnik

Es gibt eine riesige Menge an Infos aus. Das einzig vielversprechende war folgendes:
Internal Exception: java.lang.ClassCastException: net.minecraft.server.network.ServerPlayNetworkHandler cannot be cast to net.minecraft.network.listener.ClientPlayPacketListener
 
L

Lasnik

Hier dadrüber, aber ja, und dort ist so eine Liste mit ungefähr 20 Dingen
 
mihe7

mihe7

Kopier doch mal den ganzen Stacktrace hier rein (mach aber ein [code]...[/code] außenrum).
 
L

Lasnik

Code:
[22:45:48] [Server thread/INFO]: [Player927: Changed title display times for Player927]
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]: java.lang.NullPointerException
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at net.wurstclient.hacks.MinerwareHack.onReceivedPacket(MinerwareHack.java:77)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at net.wurstclient.events.PacketInputListener$PacketInputEvent.fire(PacketInputListener.java:40)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at net.wurstclient.event.EventManager.fire(EventManager.java:55)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at net.minecraft.network.ClientConnection.handler$zdn000$onChannelRead0(ClientConnection.java:536)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at net.minecraft.network.ClientConnection.channelRead0(ClientConnection.java:131)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at net.minecraft.network.ClientConnection.channelRead0(ClientConnection.java:373)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at io.netty.channel.local.LocalChannel.readInbound(LocalChannel.java:304)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at io.netty.channel.local.LocalChannel.finishPeerRead0(LocalChannel.java:446)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at io.netty.channel.local.LocalChannel.access$400(LocalChannel.java:51)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at io.netty.channel.local.LocalChannel$5.run(LocalChannel.java:404)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at io.netty.channel.DefaultEventLoop.run(DefaultEventLoop.java:54)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
[22:45:48] [Netty Local Client IO #3/INFO]: [STDERR]:  at java.lang.Thread.run(Thread.java:745)
[22:45:48] [Server thread/INFO]: Player927 lost connection: Internal Exception: java.lang.ClassCastException: net.minecraft.server.network.ServerPlayNetworkHandler cannot be cast to net.minecraft.network.listener.ClientPlayPacketListener
[22:45:48] [Server thread/INFO]: Player927 left the game
[22:45:48] [Server thread/INFO]: Stopping singleplayer server as player logged out
[22:45:48] [Server thread/INFO]: Stopping server
 
L

Lasnik

Ich habe den Crash gefixt bekommen, indem ich getestet habe, ob die Aktion der Timer ist. Es funktioniert überall, außer auf dem Server, auf dem ich es brauche.
Code:
@Override
public void onReceivedPacket(PacketInputEvent event)
{
  Packet<?> packet = event.getPacket();
  if(packet instanceof TitleS2CPacket)
  {
   TitleS2CPacket title = (TitleS2CPacket)packet;
   Action action = title.getAction();
  
   if(!(action == TitleS2CPacket.Action.TIMES)) {
   String txt = title.getText().asString();
   }
  }
Auf dem Server wird mir eine Lehre Antwort ausgegeben, es macht Sinn, da es irgendwie zwei Texte in einem sind, also:
Normalerweise wird ohne die .asSting() Funktion folgendes ausgegeben:
Code:
TextComponent{text='AUSGABETEXT', siblings=[], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}
Auf dem Server allerdings:
Code:
 TextComponent{text='', siblings=[TextComponent{text='AUSGABETEXT', siblings=[], style=Style{hasParent=true, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}], style=Style{hasParent=false, color=null, bold=null, italic=null, underlined=null, obfuscated=null, clickEvent=null, hoverEvent=null, insertion=null}}
 
J

JustNobody

Also du zeigst es doch selbst in Deinem Post: wenn Text leer ist, dann kannst du die die Siblings ansehen, ob diese eine TextComponent enthalten wessen Text Attribut du dann nutzen könntest....
 
L

Lasnik

Könntest du bitte ein Beispiel geben, wie das in Java aussehen würde?
Wie greift man z.B. auf die siblings und dann auf den TextComponent zu?
 
J

JustNobody

Also die API kenne ich nicht, aber die Info hast du ja selbst als eine Ausgabe gekostet. Der habe ich es entnommen...

Also schau doch einmal, was die IDE dir an Methoden anbietet. Ein getSibling oder so wird es evtl. geben.

Auf dem Ergenmis kann man prüfen, ob es null ist oder nicht und man kann instanceof Text opponent prüfen ... so es ein TextComponent ist erfolgt ein Cast und der Zugriff auf das Element ....

Das sind 08/15 Dinge, die du dir aneignen solltest. Es ist in meinen Augen kontraproduktiv Java auf die von dir gewählte Methode zu wählen, wenn es hier so wenig Doku und so viele Stolpersteine gibt ...
 
Thema: 

Texte filtern

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben