А что это или кто это?svk написал(а):Посмотри код тровейбла Там 3 строки всего-лишь.
Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ);
Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);
MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31);
Какой ещё партикл? Вставляй там, где нужно тебеnikita488 написал(а):Нашел это:
Теперь вопросы: это нужно в партикл вставить?Код:Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31);
У меня луч это партикл, я спавню его через предмет так:svk написал(а):Какой ещё партикл? Вставляй там, где нужно тебеnikita488 написал(а):Нашел это:
Теперь вопросы: это нужно в партикл вставить?Код:Vec3 vec3 = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); Vec3 vec31 = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); MovingObjectPosition movingobjectposition = this.worldObj.rayTraceBlocks(vec3, vec31);
movingobjectposition будет содержать координаты конечного блока.
Minecraft.getMinecraft().effectRenderer.addEffect(new EntityBeamFX(world, начальльнаяX, начальльнаяY, начальльнаяZ, конечнаяX, конечнаяY, конечнаяZ, r, g, b, age));
Minecraft.getMinecraft().effectRenderer.addEffect(new EntityBeamFX(world, x, y, z, movingobjectposition.blockX, movingobjectposition.blockY, movingobjectposition.blockZ, r, g, b, age));
Ах да, чё это я, лол... Как ты райтрейсом это делать то будешьAgravaine написал(а):Сканируешь область и ищешь свои блоки.
Я вот с чанками никогда не работал :C Как и откуда можно получить ближайшие чанки? =)Oldestkon написал(а):Не слушай svk.
Если тебе надо проложить лучи ко всем остальным ТАЙЛАМ, то всё очень хорошо. Берёшь ближайшие N чанков, в каждом из них есть список тайлов, по которому ты пробегаешься, там чекаешь тайл на instanceof и строишь луч, если надо. Координаты из тайла получить легко
Chunk chunk;
int chunkX = conductor.xCoord / 16;
int chunkZ = conductor.zCoord / 16;
for (int nearChunkX = chunkX - 2; nearChunkX < chunkX + 2; nearChunkX++)
{
for (int nearChunkZ = chunkZ - 2; nearChunkZ < chunkZ + 2; nearChunkZ++)
{
chunk = world.getChunkFromChunkCoords(nearChunkX, nearChunkZ);
for (Object tileEntity : chunk.chunkTileEntityMap.values())
{
TileEntity receiver = (TileEntity) tileEntity;
if (receiver instanceof TileEntityNode && ((TileEntityNode) receiver).getEnergyStorage() != null)
{
EntityBeamFX beam = new EntityBeamFX(world, node.xCoord + 0.5, node.yCoord + 0.5, node.zCoord + 0.5, receiver.xCoord + 0.5, receiver.yCoord + 0.5, receiver.zCoord + 0.5, 1.0F, 1.0F, 1.0F, 8);
Minecraft.getMinecraft().effectRenderer.addEffect(beam);
}
}
}
}