Текстурка для моба

EnotoStalker

Каменная лига
Сообщения
10
Лучшие ответы
0
Симпатии
0
#1
Версия Minecraft
1.7.10
Подтверждение
Я максимально подробно описал проблему, включая исходный код файлов, краш лог, изображения и другую информацию, которая может помочь пользователям форума решить мой вопрос!
Ребят, как сделать так чтобы текстура собственного моба была разной, не однообразной.
Чтобы мобы спавнились с разными текстурами.
 
Краш-лог:
package com.enot.enotmod;

import net.minecraft.client.model.ModelBiped;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderBiped;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;

public class RenderEnotModEntity extends RenderBiped {

	private static final ResourceLocation textureLocation = new ResourceLocation("enotmod:textures/entity/zombie_1");

	public RenderEnotModEntity(ModelBiped model, float shadowSize)	
	{
	    super(model, shadowSize);	
	}

	@Override
	protected ResourceLocation getEntityTexture(Entity par1Entity)	
	{
	    return textureLocation;	
	}

}

Agravaine

Команда форума
Сообщения
4,600
Лучшие ответы
198
Симпатии
655
#2
Java:
@Override
    protected ResourceLocation getEntityTexture(Entity entity)   
    {
        Random random = new Random(entity.getEntityId());
        return new ResourceLocation("enotmod:textures/entity/zombie_") + random.nextInt(5) + ".png"; // 5 - максимальное число текстур: zombie_0, zombie_1, zombie_2 и тд.
    }
 

EnotoStalker

Каменная лига
Сообщения
10
Лучшие ответы
0
Симпатии
0
#3
@Override protected ResourceLocation getEntityTexture(Entity entity) { Random random = new Random(entity.getEntityId()); return new ResourceLocation("enotmod:textures/entity/zombie_") + random.nextInt(5) + ".png"; // 5 - максимальное число текстур: zombie_0, zombie_1, zombie_2 и тд. }

Не подходит.
 

Agravaine

Команда форума
Сообщения
4,600
Лучшие ответы
198
Симпатии
655
#4
А что тебе надо тогда?
 

Agravaine

Команда форума
Сообщения
4,600
Лучшие ответы
198
Симпатии
655
#6
Что конкретно у тебя не пашет? Я не ванга.
У меня все работает.
Скинь лог хотя бы.
 

EnotoStalker

Каменная лига
Сообщения
10
Лучшие ответы
0
Симпатии
0
#7
Что конкретно у тебя не пашет? Я не ванга.
У меня все работает.
Скинь лог хотя бы.
код должен быть таким ?


Java:
package com.enot.enotmod;


import net.minecraft.client.model.ModelBiped;

import net.minecraft.client.renderer.entity.Render;

import net.minecraft.client.renderer.entity.RenderBiped;

import net.minecraft.entity.Entity;

import net.minecraft.util.ResourceLocation;


public class RenderEnotModEntity extends RenderBiped {



    public RenderEnotModEntity(ModelBiped model, float shadowSize)   

    {

        super(model, shadowSize);   

    }


    @Override

    protected ResourceLocation getEntityTexture(Entity entity) 

    {

        Random random = new Random(entity.getEntityId());

        return new ResourceLocation("enotmod:textures/entity/zombie_") + random.nextInt(5) + ".png"; // 5 - максимальное число текстур: zombie_0, zombie_1, zombie_2 и тд.

    }


}
 

Agravaine

Команда форума
Сообщения
4,600
Лучшие ответы
198
Симпатии
655
#8
Да.
Текстуры должны лежать в /assets/enotmod/textures/entity/, пять текстур zombie_0.png zombie_1.png zombie_2.png и тд.
 

EnotoStalker

Каменная лига
Сообщения
10
Лучшие ответы
0
Симпатии
0
#9
Да.
Текстуры должны лежать в /assets/enotmod/textures/entity/, пять текстур zombie_0.png zombie_1.png zombie_2.png и тд.
1.jpg
импорт получается, но я хз какой именно делать импорт. после любого импорта выходит такая хрень. 2.jpg
 

Agravaine

Команда форума
Сообщения
4,600
Лучшие ответы
198
Симпатии
655
#10
Первый Random импортируй.
А вот там замени на это(там скобку я перепутал): return new ResourceLocation("enotmod:textures/entity/zombie_" + random.nextInt(5) + ".png");
 

EnotoStalker

Каменная лига
Сообщения
10
Лучшие ответы
0
Симпатии
0
#11
Первый Random импортируй.
А вот там замени на это(там скобку я перепутал): return new ResourceLocation("enotmod:textures/entity/zombie_" + random.nextInt(5) + ".png");

Всё работает , спасибо тебе. Удачи )
 

Doc

Золотая лига
Сообщения
2,343
Лучшие ответы
126
Симпатии
302
#12
Мне кажется, или текстура будет каждый тик разная?
И каждый раз будет делаться новый объект.
 

Agravaine

Команда форума
Сообщения
4,600
Лучшие ответы
198
Симпатии
655
#13
Мне кажется, или текстура будет каждый тик разная?
Для этого у рандома есть сид, я передал entityId, а он всегда одинаковый. Текстура будет всегда одинаковая для каждого моба.
И каждый раз будет делаться новый объект.
Да, можно хранить айди текстуры в энтити. Но я подумал что топикстартер не смогет)) Вот и дал ему готовое решение, пусть и не самое оптимальное.
 
Сверху