Jump to content

Right Click to post Client side chat


mattyixiriva

Recommended Posts

I'm just trying to make a single object post text in chat on the client side only. So basically I want to have my mod "Item" to post "Hello World!" in the players chat window when I right click. I've tried a ton of tutorials for using "EvenHandlers" or "onItemRightClick" and I've no clue how to get them to work. 

public class ItemFoxTail extends Item 
{
	public ItemFoxTail() 
	{
		setCreativeTab(CreativeTabs.MISC);
		setUnlocalizedName(Reference.FoxTech_Items.FOX_TAIL.getUnlocalizedName());
		setRegistryName(Reference.FoxTech_Items.FOX_TAIL.getRegistryName());
		setMaxStackSize(1);
	}
	
		
}

That's the basics of my item I have at the moment.
public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player)

^ is what I was trying to use but kept getting errors in Eclipse.

 

Screenshot_1.png

Edited by mattyixiriva
Cause I can

width=240 height=240http://i.imgur.com/C2FlJXb.png[/img]

 

 

Hey! o/

Link to comment
Share on other sites

It looks like you are trying to override a method outside of the correct scope (correct word?). It should be inside the class, but outside of the constructor.

 

Also, use your IDE to override methods. It will automatically use the correct method signature.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

You can't use the Minecraft class inside common code, use the EntityPlayer parameter or else your mod will crash the server.

Edited by larsgerrits

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

10 minutes ago, larsgerrits said:

You can't use the Minecraft class inside common code, use the EntityPlayer parameter or else your mod will crash the server.

I figured it out what I ended up doing is using this code.
 

@Override
	public ActionResult onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn)
	{
		if (worldIn.isRemote)
		{
			Minecraft.getMinecraft().player.sendChatMessage("Hello fellow Foxes!!");
		}
		//Minecraft.getMinecraft().player.sendChatMessage("Hello fellow Foxes!!");
		return new ActionResult(EnumActionResult.PASS, playerIn.getHeldItem(handIn));
	}		

 

width=240 height=240http://i.imgur.com/C2FlJXb.png[/img]

 

 

Hey! o/

Link to comment
Share on other sites

This will make the code run on the client only. But that will still crash the server as it still tries to load the Minecraft class on the server side. Using the EntityPlayer parameter will fix this.

  • Like 1

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

Instead of Minecraft.getMinecraft().player, use playerIn.

  • Like 1

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

@Override
	public ActionResult onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn)
	{
		if (worldIn.isRemote)
		{
			playerIn.sendMessage(new ITextComponent("HELLO!"));
		}
		return new ActionResult(EnumActionResult.PASS, playerIn.getHeldItem(handIn));
	}

"Cannot instantiate the type ITextComponent" Why is this a topic I seem to not be able to find online anywhere :/

width=240 height=240http://i.imgur.com/C2FlJXb.png[/img]

 

 

Hey! o/

Link to comment
Share on other sites

I'm using that because for some reason I can't get ITextComponent to work, probably cause I'm not well informed on the subject. I can't find any explanation or examples.

For the server part. When I run a server from Eclipse it won't launch. I can run a Client fine and have the mod work just how I need it.

width=240 height=240http://i.imgur.com/C2FlJXb.png[/img]

 

 

Hey! o/

Link to comment
Share on other sites

Caused by: java.lang.ClassNotFoundException: com.matthewrivas.foxtech.ServerProxy

Sounds obvious to me. It can't find your ServerProxy, did you check your spelling in @SidedProxy?

Edited by larsgerrits

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

Yup it's spelled correctly.

@SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.SERVER_PROXY_CLASS)
	public static CommonProxy proxy;

 

public static final String CLIENT_PROXY_CLASS = "com.matthewrivas.foxtech.proxy.ClientProxy";
	public static final String SERVER_PROXY_CLASS = "com.matthewrivas.foxtech.ServerProxy";

width=240 height=240http://i.imgur.com/C2FlJXb.png[/img]

 

 

Hey! o/

Link to comment
Share on other sites

public static final String CLIENT_PROXY_CLASS = "com.matthewrivas.foxtech.proxy.ClientProxy";
public static final String SERVER_PROXY_CLASS = "com.matthewrivas.foxtech.ServerProxy";

Your ClientProxy is inside the proxy package and ServerProxy not? Your variable should be the same as the package declaration of the ServerrProxy

Edited by larsgerrits

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

package com.matthewrivas.foxtech.proxy;

So your ServerProxy does exist in the proxy package? That also put it inside the String you pass into the @SidedProxy.

Edited by larsgerrits

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Link to comment
Share on other sites

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.