Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

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?

  • Author

How come you think that onLivingUpdate takes a player parameter?

Because the OpenGUI uses

ModLoader.openGUI([b]par3EntityPlayer[/b]

 

  • 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.

  • 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.

  • 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.

  • 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.

  • Author

If your whole Entity only consists of that, good luck at getting it to work :P

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

 

  • 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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.