Jump to content

[1.9] [UNSOLVED] Let entities be thrown into my block


Bektor

Recommended Posts

Hi,

 

I'm wondering how a entity can get thrown or moved into (I'm not quite sure if these words are really correct there, but no idea what to use instead)

my block when it comes to near to it. (for anyone who knows Thaumcraft 4, the hungry nodes do something similiar)

 

I already looked into the code of the xp orbs, because the player can collect them, but I wasn't able to understand it...

 

So I'm asking now here. ;)

 

Thx in advance.

Bektor

Developer of Primeval Forest.

Link to comment
Share on other sites

I've already got the check for the entities. So I've got a array list with all nearby entities.

But from the rest I've got no idea. I've got no clue how I can get the entitiy to be moved to my block.

 

I can of course add just some random values to the motion values of the entity, but then it will not get moved to my block in every situation, because of

random values. And to do it with a switch statement for the directions isn't that good because it requires the same code with just one different value for each direction and

a lot of testing to find values which are working --> so nothing I can work with.

 

 

 

But I know that Mojang does some multiplications and divisions and substracts and adds values for a reason I don't know.

Really, never look into Mojang's code, just a huge question mark is the result.

 

 

Developer of Primeval Forest.

Link to comment
Share on other sites

EntityMotion += (BlockPos - EntityPos) * 0.1f; //simple and arbitrary.

 

Hooray vectors!

 

Breakdown:

(BlockPos - EntityPos)

results in a vector from Entity to Block, with a magnitude of the total distance.

* 0.1f

results in a vector 1/10th this distance, still pointing from Entity to Block.

EntityMotion +=

add this directed vector to the Entity's motion, pushing it towards the Block.

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.

Link to comment
Share on other sites

EntityMotion += (BlockPos - EntityPos) * 0.1f; //simple and arbitrary.

 

Hooray vectors!

 

Breakdown:

(BlockPos - EntityPos)

results in a vector from Entity to Block, with a magnitude of the total distance.

* 0.1f

results in a vector 1/10th this distance, still pointing from Entity to Block.

EntityMotion +=

add this directed vector to the Entity's motion, pushing it towards the Block.

 

Vectors are why I want operator overloading in Java.

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.