文章为了记录mod开发过程中通过阅读源码或者AI辅助实现的一些功能点
- 播放声音
1
| user.playSound(SoundEvents.ENTITY_ENDER_DRAGON_AMBIENT);
|
- 设置不受重力影响
1
| user.setNoGravity(!user.hasNoGravity());
|
- 传送到视线位置, 视线距离受参数影响
1 2 3 4
| Vec3d start = user.getCameraPosVec(1.0F); Vec3d end = start.add(user.getRotationVec(1.0F).multiply(20) HitResult result = world.raycast(new RaycastContext(start, e user.setPosition(result.getPos().add(0, 0.5, 0));
|
- 探测周围生物
1 2 3 4 5
| Box box = user.getBoundingBox().expand(10); List<Entity> nearbyEntities = user.getWorld().getEntitiesByClass(Entity.class, box, entity -> true); for (Entity entity : nearbyEntities) { System.out.println("Found entity: " + entity.getType()); }
|