Posted June 16, 201312 yr 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?
June 16, 201312 yr 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.
June 16, 201312 yr 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.
June 17, 201312 yr Author 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 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.