Posted May 5, 201312 yr Hello, I made a custom GUI that opens as soon as a my mob dies, but nothing happens. As soon as its dead, it just falls over and thats it. I've tested the GUI and it works if I open it with something else (onRightClick). This is the code: public void onLivingUpdate(EntityPlayer par3EntityPlayer) { if (this.dead = true) { ModLoader.openGUI(par3EntityPlayer, new GuiDefeatGiyga()); } } I tried using if (this.health <= 0) but that doesn't work either. Can somebody help me?
May 5, 201312 yr Author How come you think that onLivingUpdate takes a player parameter? Because the OpenGUI uses ModLoader.openGUI([b]par3EntityPlayer[/b]
May 5, 201312 yr Author You are one of a java expert. /irony off. Go learn java. I only need to know how to do this, I just use the function I've used for all my Gui's. So please, give a normal answer, or don't answer at all.
May 5, 201312 yr Author Ok. If you want to... 1) Don't use ModLoader. 2) if (this.dead = true) What? = is an assignment, not a comparison. Also == true would be redundant. Also the field "dead" doesn't exist 3) You probably mean isDead. isDead doesn't mean the entity is dead, but means the entity is no longer existent (that is not the same!). Check for the entity's health. 4) Don't open your Gui every tick. 5) You need to override onLivingUpdate() not add a method onLivingUpdate(EntityPlayer). I recommend using @Override to see when you fail to override properly. Thanks alot! My code now looks like this: @Override public void onLivingUpdate() { if (this.health == 0) { ModLoader.openGUI(attackingPlayer, new GuiDefeatGiyga()); } } Only "attackingPlayer" could be found in EntityLiving, is there any way I can set it to all Players (like on a MP server)? EDIT: The code doesn't really work. He's doesn't move anymore and when I hit him, his limbs do the damage animation really quikly in an endless loop.
May 5, 201312 yr Author You can get all the players by using playerEntityList in the ServerConfigurationManager. You can get that from the MinecraftServer. But you are still using ModLoader, so your mod will not work on a server anyways. Well, only the method is Modloader. I am using Forge 1.5.2.7.8.8 at the moment. But my entity is acting all weird, he won't move and loops the being hit animation really fast. Even when I kill him then, the GUI still does not pop-up. I have no idea why this is not working.
May 5, 201312 yr Author Using ModLoader methods will make your mod non-functional on servers. ModLoader does not exist on the server (even the FML wrapper). Without code we can't help. @Override public void onLivingUpdate() { if (this.health == 0) { Modloader.openGUI(attackingPlayer, new GuiDefeatGiyga()); } } This is all the code there is. I'm searching for a FML variant of openGUI but I can't find any.
May 5, 201312 yr Author If your whole Entity only consists of that, good luck at getting it to work I was trying to help you with your Entity not working properly thingy. To make your GUI forge-compatible you need to use packets. Ah, I see. Well here is the entire Entity: http://pastebin.com/FtwHZCmv
May 6, 201312 yr Author Ok, I'm gonna have to bump this, because I really want this to work. Is there really no way to show a gui on a death of a mob? I don't believe that.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.