Добавление моделей блокам и предметам

Добавление моделей блокам и предметам

Нет прав для скачивания

Eifel

Модератор
1,623
78
608
Отлично) Но появилось одно замечание. В начале каждой части так же стоило бы добавить, в виде некоторого вступления, о чем в ней пойдет речь. А то содержание уезжает вверх, а потом не понятно, о чем читаешь в той или иной части.
 

Eifel

Модератор
1,623
78
608
Хмм. Думаю было бы наглядней показать пример на повороте меча так, чтоб игрок держал его как меч. А то сейчас вот так:
2018-08-09_21.00.01.png
А еще описать, что означают вот эти все аргументы в ItemTransformVec3f thirdPerson = new ItemTransformVec3f(new Vector3f(0f,0,0), new Vector3f(0.005f, 0.15f, 0.04f), new Vector3f(0.55f, 0.55f, 0.55f)); и ему подобных.
 
1,417
44
594
Норм:
YNLWgmHmpwM.jpg
 
1,417
44
594
Все вроде по туториалу, добавил лишь момент свечения:

Java:
public class BloodGlowStoneModelBakedModel implements IBakedModel {
    List<BakedQuad> bakedQuads;
    TextureAtlasSprite textureParticle;
    VertexFormat format;
    IModelState state;

    public BloodGlowStoneModelBakedModel(List<BakedQuad> bakedQuads, TextureAtlasSprite textureParticle, VertexFormat format, IModelState state){
        this.bakedQuads = bakedQuads;
        this.textureParticle = textureParticle;
        this.format = format;
        this.state = state;
    }

    @Override
    public List<BakedQuad> getQuads(@Nullable IBlockState state, @Nullable EnumFacing side, long rand) {
        return bakedQuads;
    }

    @Override
    public boolean isAmbientOcclusion() {
        return true;
    }

    @Override
    public boolean isGui3d() {
        return true;
    }

    @Override
    public boolean isBuiltInRenderer() {
        return false;
    }

    @Override
    public TextureAtlasSprite getParticleTexture() {
        return textureParticle;
    }

    @Override
    public ItemOverrideList getOverrides() {
        return ItemOverrideList.NONE;
    }
    ItemTransformVec3f firstperson_righthand = new ItemTransformVec3f(new Vector3f(0,45,0), new Vector3f(0, 0, 0), new Vector3f(0.40f, 0.40f, 0.40f));
    //От первого лица в левой руке
    ItemTransformVec3f firstperson_lefthand = new ItemTransformVec3f(new Vector3f(0,225,0), new Vector3f(0, 0, 0), new Vector3f(0.40f, 0.40f, 0.40f));
    //От третьего лица
    ItemTransformVec3f thirdperson_righthand = new ItemTransformVec3f(new Vector3f(75,45,0), new Vector3f(0, 0.15f, 0), new Vector3f(0.375f, 0.375f, 0.375f));
    //На голове
    ItemTransformVec3f fixed = new ItemTransformVec3f(new Vector3f(0,0,0), new Vector3f(0, 0, 0), new Vector3f(0.5f, 0.5f, 0.5f));
    //В виде предмета в мире(EntityItem)
    ItemTransformVec3f ground = new ItemTransformVec3f(new Vector3f(0,0,0), new Vector3f(0, 0.15f, 0), new Vector3f(0.25f, 0.25f, 0.25f));
    //В графическом интерфейсе
    ItemTransformVec3f gui = new ItemTransformVec3f(new Vector3f(30,225,0), new Vector3f(0, 0, 0), new Vector3f(0.625f, 0.625f, 0.625f));
    //Общая транфсормация
    ItemCameraTransforms itemCameraTransforms = new ItemCameraTransforms(thirdperson_righthand, thirdperson_righthand, firstperson_lefthand, firstperson_righthand, ItemTransformVec3f.DEFAULT, gui, ground, fixed);

    @Override
    public ItemCameraTransforms getItemCameraTransforms() {
        return itemCameraTransforms;
    }

}
В других местах мало что трогал
 
Последнее редактирование:
Говоришь в IDE все работает? может проблема в оптифайне если он есть, такое тоже иногда встречается. А если нет поможет только отладка, попеременное удаление кода :|
 
5,018
47
783
Я ему про это говорил еще когда мы сервер делали. Он пропустил мимо ушей...
 
С оптифайном ничего нельзя поделать, он просто есть, и он просто всем мешает.
 
3,005
192
592
С оптифайном ничего нельзя поделать
Типо, если хочу блоки с кастомной моделью, то лучше не делать?
Ибо оптифайн все ломает.
Или это только в некоторых случаях?
 
2,505
81
397
Да, проблема была в оптифайне. Но блин, что за бред?
А может ты шейдеры включил? Там с шейдерами другой формат вершин.
А вообще можно взять декомпильнутые исходники оптифайна, глянуть и как-нибудь схитрить. В свободном доступе они есть. Но вот только они идут сразу вместе с измененными классами майна. Для удобства могу предложить сгенерировать diff между двумя папками (ванильным майном и оптифайном).
 
3,005
192
592
Соррь за некропостинг, но..
Где можно получить как-либо координаты, на какой позиции стоит блок в момент рендера ((+ мир, хотя мир можно брать по идеи из игрока) или просто стейт?
Что бы в дальнейшем исходя из позиции и стейта изменять текстуру?
@iconst_0
 
Сверху