Jump to content

Recommended Posts

Posted

Hi guys,

like the title says I want to open a GUI when you rightclick my mob. I know the methods and so but Player#openGUI does only feature the arguments @Mod, World, int, int, int (I suppose the ints are coordinates) so I don't know what to do here. Second problem is that I want the Inventory in the GUI to be persistant over all worlds and blocks just like the enderchest. Here is what I have so far:

package de.gmx.worldsbegin.entity;

import de.gmx.worldsbegin.MobsterHunterMinedomUnite;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.scoreboard.ScorePlayerTeam;
import net.minecraft.util.ChunkCoordinates;
import net.minecraft.world.World;

public class EntityMHVillager extends EntityLiving{
private String name;

public EntityMHVillager(World par1World) {
	super(par1World);
}

@Override
protected boolean isAIEnabled() {
	return true;
}

@Override
public boolean interact(EntityPlayer player) {
	// I know that I have to do something here... but what?
	return true;
}

@Override
public int getMaxHealth() {
	return 10;
}
}

Not much huh?

Posted

There are four ints.

 

@Mod, int, World, x, y, z

 

The second param is the ID of the gui being opened.

 

player.openGui(DragonEconomyBase.instance, YourModBase.MOB_INTERACT_GUI_ID, world, 0, 0, 0);

 

Then you need a gui handler and probably a packet handler too.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

Use an EntityInteractEvent handler.  Verify that the mob you just interacted with is the desired mob, then trigger the GUI. You can do so with FMLClientHandler.getClient().openGui(...), or whatever it's actually called.

Posted

You don't need all that fancy stuff, I found out. I was just a bit stumbled by all the code I found http://www.minecraftforge.net/wiki/Containers_and_GUIs. Then I realized that you use the Container on both, CLIENT and SERVER and I was released from the code-ghosts that haunted me ;D

All works fine. As it is MY mob I just use the method interact and it now works fine. Only thing that does not work yet is placing items inot the GUI. They just get thrown out when I click on the slot but I am very much convinced that I can get it working myself. Thanks for the help

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

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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