Posted July 9, 20178 yr I'm making a Turret block that needs to make sure it can see its targets before doing anything else. Right now I'm scanning a 163 area for all instances of MobEntity, and I am trying to use RayTraceResult to test if each MobEntity is in view. This doesn't work but hopefully it will serve to explain what I'm trying to do. This is my TileEntityTurret update method: Spoiler @Override public void update() { if (!world.isRemote) { List mobs = getWorld().getEntitiesWithinAABB(EntityMob.class, this.getRenderBoundingBox().expand(range, range, range)); Iterator iterator = mobs.iterator(); EntityMob entityMob; while (iterator.hasNext()) { entityMob = (EntityMob) iterator.next(); RayTraceResult rayTrace = world.rayTraceBlocks(this.getRenderBoundingBox().getCenter(),entityMob.getPositionVector()); if(rayTrace != null && rayTrace.typeOfHit == RayTraceResult.Type.ENTITY){ sendMessage(entityMob.getName() + "Hit"); //Do stuff... EXTERMINATE! } } } } Is there something that I'm missing or is there a better way of doing this?
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.