Отображение жидкости в блоке конейнере

Версия Minecraft
1.7.10
1,417
44
594
Подскажите, пожалуйста, как сделать так, что бы в блоке-контейнере отображался цвет жидкости, налитой в нем. 
Вру, можете подсказать, как с помощью тессолятора(Вообще на нем не работал), сделать отображение цвета "Чего-то на подобии жидкости". Хочу через нбт создать две переменные, где Первая - зависит от цвета, Вторая - количество.
Подскажите?
 
1,976
68
220
1. Берём текстуру твоей (или не твоей) жижи:
IIcon i = FluidRegistry.getFluid("somefluidname").getFlowingIcon();

2. Вызываем инстанс тесселятора и рисуем квадрат где и как угодно:
Код:
	Tessellator tessellator = Tessellator.instance;
	tessellator.startDrawingQuads();
	// xyz - координаты вершин; uv - координаты  текстуры. Проще всего получить из i.get[Max/Min][U/V]
	tessellator.addVertexWithUV(x, y, z, u, v);
	tessellator.addVertexWithUV(x, y, z, u, v);
	tessellator.addVertexWithUV(x, y, z, u, v);
	tessellator.addVertexWithUV(x, y, z, u, v);
	tessellator.draw();
3. Профит.


P.S. Если своей жижи нет - либо создай, либо просто нарисуй текстуру и загрузи через
Minecraft.getMinecraft().renderEngine.bindTexture(new ResourceLocation("modid", "путь"));
 
5,020
47
784
Тоже мне надо это. Вопрос, где это все использовать? Тесселятор вот этот
 
1,417
44
594
Maxik001 написал(а):
Тоже мне надо это. Вопрос, где это все использовать? Тесселятор вот этот

Да, чет сам не понял. Сделал этот метод, постарался его вызвать при пкм по блоку, но что-то не выходит) Надеюсь добрый Тимаха появится и поможет нам примером :D
 
1,057
50
234
Maxik001 написал(а):
Тоже мне надо это. Вопрос, где это все использовать? Тесселятор вот этот

ну так в рендере блока, не?
 
1,417
44
594
Не очень понял.
Я пишу вот такой вариант:
Код:
public void render(TileEntitySphere tile, double x, double y, double z, float f) { 
    Tessellator tessellator = Tessellator.instance;
    tessellator.startDrawingQuads();
    Minecraft.getMinecraft().renderEngine.bindTexture(texture); 
    tessellator.addVertexWithUV(11, 20, 31, 0.3, 0.1);
    tessellator.addVertexWithUV(11, 21, 31, 0.3, 0);
    tessellator.addVertexWithUV(10, 20, 31, 0.2, 0);
    tessellator.addVertexWithUV(10, 21, 31, 0.2, 0.1);
    tessellator.draw();
GL11.glPushMatrix(); 
....
GL11.glPopMatrix(); 
}
Не очень понимаю, как координаты работают на нестандартной модельке. Подскажите?
 

CumingSoon

Местный стендапер
1,634
12
269
JustAGod написал(а):
Я так прикинул. Если весь майн работает в одном потоке(новая для меня инфа) то чо вы вообще паритесь? Рисуйте где хотите! Вообще все равно. Можно например в getRenderBoundingBox рисовать.

Там не один поток. Вроде бы, отдельный на таймер и рендер. А может и нет, надо б удостовериться.
Рисовать стоит далеко не везде, поскольку в определенных местах применяются специальные трансформации. Это может не то чтобы исказить модель, а даже просто её не нарисовать.
 
Сверху