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

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

Bektor

Developer of Primeval Forest.

##### Share on other sites

You could technically just check entities near the block and apply a velocity vector to them whose magnitude varies with distance.

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

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

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

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

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

Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.

×   Pasted as rich text.   Restore formatting

Only 75 emoji are allowed.

×   Your previous content has been restored.   Clear editor

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

• ### Posts

• I think I just solved it, I took a break and did some C++ in Unreal - and it kind of dawned upon me that I'm doing this wrong (duh) and should essentially treat BlockState like a struct, where you don't directly manipulate properties. Maybe I'm overthinking it and this isn't really the case, but this works; if (!level.getBlockState(pos).getValue(COLOR_SET)) { BlockState newState = state.setValue(LANTERNCOLOR, this.getBlockColor()); newState = newState.setValue(COLOR_SET, true); level.setBlock(pos, newState, 2); } Just looking at that and it's a bit of a facepalm, makes sense. Edit: This may be solved, but I'm still open to suggestions if there's a better way of doing this. Alternatively how to dynamically change the color of a particle so I don't have to create one particle for every color.
• EntityViewRenderEvent does not seem to exist in 1.20.1
• oh but isn't minecraft forge the launcher not the api
• I created my own modpack just for mainly entities right now and im having issues with only a handful of the mobs. is there a way someone could help go over my work and check whats wrong? its a file

• ### Who's Online (See full list)

×

• #### Activity

×
• Create New...