Поворот кастомного блока относительно игрока

Всем привет! Собственно вопрос такой, как сделать так чтобы,при установки блока в игре он поворачивался к тебе лицевой стороной(как сундук например) Буду очень благодарен если вы меня тыкните носом в этот метод!:rolleyes:
 
Код:
  @Override
    public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float var8) {
        //int blockMeta = tileEntity.getBlockMetadata();
        ResourceLocation textures = new ResourceLocation(""имя мода"", "textures/model/ваша текстура.png");
        GL11.glPushMatrix();
        GL11.glTranslatef((float)x + 0.5F,(float) y + 1.5F, (float) z + 0.5F);
        //GL11.glScalef(0.0625F, 0.0625F, 0.0625F);
        GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
        Minecraft.getMinecraft().renderEngine.bindTexture(textures);
        //int blockMeta = tileEntity.getBlockMetadata();
        switch (tileEntity.blockMetadata) {
            case 0:
                GL11.glRotatef(-90F, 1F, 0F, 0F);
                break;
            case 1:
                GL11.glRotatef(90F, 1F, 0F, 0F);
                break;
            case 2:
                GL11.glRotatef(180F, 0F, 1F, 0F);
                break;
            case 4:
                GL11.glRotatef(90F, 0F, 1F, 0F);
                break;
            case 5:
                GL11.glRotatef(-90F, 0F, 1F, 0F);
                break;
        }
        model.renderModel(0.0625F);
        GL11.glPopMatrix();
    }

Это код рендера 3D модели,но ты можешь отсюда взять этот метод,мне лень разбираться но по моему начинается с switch (tileEntity.blockMetadata) { 
Если не прав поправьте
 
нет так, надо смотреть код дерева, печи или "стола для крафта" (BlockWorkbench).
туторы от 1.52 и 1.64 подойдут, так как блок простой и тебе лишь надо отобразить лицевую сторону.
А вот для продолговатых(сложных) блоков, как например шпала(труба), там много мороки.
хотя... трубу можно использовать как предложил Хирург, ей пофиг как ты её поставил, её отрисовка зависит от рядом стоящих блоков.
 
Agravaine написал(а):
При поставке задается метадата блоку относительно взгляда игрока, а по метадате и стороне уже задается текстура.
А метода чтоли такого нету, который бы облегчил мне задачу!???
 
В гайде у него не получилось настроить стороны, и я даже заметил, что у него не правильно текстуры поставились. как поправить, чтобы всё таки передняя часть появлялась со стороны где стоит персонаж? Перерыл ванильную печку всю, но так что-то у меня не показывает перёд вообще...

Код:
    public SteelOven(boolean isActive) {
        super(Material.iron);
        this.isActive = isActive;
    
    @SideOnly(Side.CLIENT)
    public IIcon getIcon(int side, int meta){
        return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : (side != meta ? this.blockIcon : this.iconFront));
    }
        
    @SideOnly(Side.CLIENT)
    public void registerBlockIcons(IIconRegister iconRegister) {
        this.blockIcon = iconRegister.registerIcon("factorio:steeloven_side");
        this.iconFront = iconRegister.registerIcon(this.isActive ? "factorio:steeloven_front_on" : "factorio:steeloven_front_off");
        this.iconTop = iconRegister.registerIcon("factorio:steeloven_top");
    }

Как сделать чтобы перёд появлялся там где персонаж?
 
В том то и пробема что блок со своей моделью
 
ну так у него же ест своя ориентация в пространстве?
[merge_posts_bbcode]Добавлено: 08.04.2015 15:03:59[/merge_posts_bbcode]

то, можно его поставить так, чтобы был передом к игроку, не важно, какая у него модель.
 
Ну сделал я через swith и case каким то говноспособом, еле выровнял (проверял через консоль и принтлн)
В итоге сервер шлет какие то ошибки но не крашит( что это значит?):
Код:
[22:06:03] [Server thread/ERROR] [FML]: A TileEntity type ru.lightway.blocks.tileentity.TileEntityAmbry has throw an exception trying to write state. It will not persist. Report this to the mod author
java.lang.RuntimeException: class ru.lightway.blocks.tileentity.TileEntityAmbry is missing a mapping! This is a bug!
    at net.minecraft.tileentity.TileEntity.writeToNBT(TileEntity.java:96) ~[TileEntity.class:?]
    at net.minecraft.world.chunk.storage.AnvilChunkLoader.writeChunkToNBT(AnvilChunkLoader.java:395) [AnvilChunkLoader.class:?]
    at net.minecraft.world.chunk.storage.AnvilChunkLoader.saveChunk(AnvilChunkLoader.java:204) [AnvilChunkLoader.class:?]
    at net.minecraft.world.gen.ChunkProviderServer.safeSaveChunk(ChunkProviderServer.java:287) [ChunkProviderServer.class:?]
    at net.minecraft.world.gen.ChunkProviderServer.saveChunks(ChunkProviderServer.java:340) [ChunkProviderServer.class:?]
    at net.minecraft.world.WorldServer.saveAllChunks(WorldServer.java:863) [WorldServer.class:?]
    at net.minecraft.server.MinecraftServer.saveAllWorlds(MinecraftServer.java:370) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:636) [MinecraftServer.class:?]
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [IntegratedServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?]
 
нет!:rolleyes:Ахахаха точно сервер то о нем и не знает! Блин Прости за тупой вопрос А как регать?
[merge_posts_bbcode]Добавлено: 10.04.2015 00:12:51[/merge_posts_bbcode]

И кстати я сделал без метадаты поворот
 
Код:
GameRegistry.registerTileEntity(TileEntityAmbry.class, "TileEntityAmbry");
 
А ентити лучше до или после блока регать?
 
После.
[merge_posts_bbcode]Добавлено: 09.04.2015 23:17:51[/merge_posts_bbcode]

Хотя вроде разницы нет.
 
Назад
Сверху