lethinh Posted April 16, 2018 Posted April 16, 2018 I'm currently working on a block that its tile entity can automatically hit the mob. My problem is when I use the Vec3d dot product check if the entity is in the block tile entity hitbox, I realized that the block tile entity won't hit if the mob goes nearer the block. Here is my code: Spoiler Vec3d targetVec = target.getPositionVector(); Vec3d playerVec = player.getPositionVector(); Vec3d dir1 = targetVec.subtract(playerVec).normalize(); Vec3d dir2 = player.getLookVec().normalize(); double dot = dir1.dotProduct(dir2); boolean isInHitbox = dot >= 0.8D; // If it is smaller then the mob is behind the block or not in the hitbox I would greatly appreciated your help! Thanks in advance. Quote
lethinh Posted April 16, 2018 Author Posted April 16, 2018 And btw, it seems like if the mob goes nearer (for about 2 blocks or nearer), the tile entity won't hit the mob Quote
Draco18s Posted April 16, 2018 Posted April 16, 2018 10 hours ago, lethinh said: I use the Vec3d dot product check if the entity is in the block tile entity hitbox Dot product is not the correct tool here. You want it within range, use a distance check. Quote 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.
jabelar Posted April 16, 2018 Posted April 16, 2018 Dot product is mathematical concept that finds the component of one vector that lies along another vector. It is useful for determining if two vectors are mostly in the same direction. Quote Check out my tutorials here: http://jabelarminecraft.blogspot.com/
Recommended Posts
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.