Jump to content

[1.14.4] Spawn an Entity onItemRightClick


Cerandior

Recommended Posts

I can't seem to find a way to do this.

I wanted to spawn a zombie when you right click the item, but I don't know how can I get an instance of a ZombieEntity to spawn in world

 

I tried this:

ZombieEntity zombie = new ZombieEntity(worldIn);

But my IDE won't let me use this. I checked the ZombieEntity class and all it takes in its constructor is the world, so I am not quite sure why I can't do this.

Thank you.

Link to comment
Share on other sites

Hello Cerandior,

 

What exactly is your IDE complaining about?

This is what you should have to do (At least for 1.12)

  -> Override Item#onItemRightClick this will give you access to the World
  -> Use World#isRemote to check if you are on Server Side
  -> Create a new Instance of ZombieEntity
  -> Call ZombieEntity#setPosition

  -> Call World#spawnEntity(Entity)

 

Nice Greetings

TechMage

Edited by TechMage_DE
EntityZombie -> ZombieEntity
Link to comment
Share on other sites

1 hour ago, TechMage_DE said:

Hello Cerandior,

 

What exactly is your IDE complaining about?

This is what you should have to do (At least for 1.12)

  -> Override Item#onItemRightClick this will give you access to the World
  -> Use World#isRemote to check if you are on Server Side
  -> Create a new Instance of ZombieEntity
  -> Call ZombieEntity#setPosition

  -> Call World#spawnEntity(Entity)

 

Nice Greetings

TechMage

 

That is what I tried as well, but I get an "unreachable statement" error. Never happened to me before. No idea what is going on.

Screenshot of the error: https://prnt.sc/oxrq57

Edited by Cerandior
Link to comment
Share on other sites

Take a look at the first line in your method:

return super.onItemRightClick(worldIn, playerIn, handIn);

This is a return statement, which means that the method is ended here and all statements after can't be reached (Exactly what your IDE is telling you)

You have to remove this statement and add your return statement at the end of the method.

There you want to return a new ActionResult using ActionResult#newResult

 

Nice Greetings

TechMage

  • Thanks 1
Link to comment
Share on other sites

10 minutes ago, TechMage_DE said:

Take a look at the first line in your method:


return super.onItemRightClick(worldIn, playerIn, handIn);

This is a return statement, which means that the method is ended here and all statements after can't be reached (Exactly what your IDE is telling you)

You have to remove this statement and add your return statement at the end of the method.

There you want to return a new ActionResult using ActionResult#newResult

 

Nice Greetings

TechMage

That's a big oof from me. Been in front of the screen for a while now, maybe that's a sign I should back off.
Thought onItemRightClick was void and didn't even look at the return right in my face.

Sorry for wasting your time.

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.