sk9zist :l
Исправился
- 981
- 18
- 158
Нужно отрисовать на координатах моего блока окружность с кастомной текстурой так, чтобы она не растягивалась и не искажалась в принципе, как ее отрисовывать?
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
Так мне нужна привязка к блоку, и чтобы изображение было статичным.рендер снежка
GLStateManager.translate(x, y, z) и дальше твой рендер. push и pop matrix не забудь.Окей. Просто всё, что я знаю на счёт этого всего, так это то - что TileEntity нужно создавать в классе блока для него. (Но тайл энтити только если нужна анимированная картинка)Так рендер то останется таким же. Чтобы привязать в блоку, просто бери координаты этого блока и рисуй там.GLStateManager.translate(x, y, z)
А как получить координаты моего блока в эвенте:GLStateManager.translate(x, y, z)
?RenderWorldLastEvent
Ну, можешь попробовать создать лист с коордами блоков и по нему рендеритьА как получить координаты моего блока в эвенте:
Посмотри рендер снежка
Я ж в начале сказал, окружность мне нада. А как текстурка прилепить? Я указал ResourceLocation на textures/gui/0.png (или в какую папку надо пихать текстуры такого типа)Рисуешь квадрат с текстурой или любое другое что взбредёт в голову
Квадрат есть квадрат, я сказал врубить альфу для того, чтобы прозрачные детали не были белыми. Просто лепишь тектуру круга. Для прилепления текстуры пишешь это:Я ж в начале сказал, окружность мне нада. А как текстурка прилепить? Я указал ResourceLocation на textures/gui/0.png (или в какую папку надо пихать текстуры такого типа)
//В классе:
private ResourceLocation texture = new ResourceLocation(Main.MODID, "yourfolderwithtexture/yourtexture.png");
/*
Первый аргумент - id твоего мода, его желательно хранить в константе во избежание последующего геморроя. Второй аргумент - текстура, путь начинается с assets/твойmodid/. Допустим, надо загрузить текстуру круга (circle.png) в папке "custom" для мода с modid "test". Пишешь так: new ResourceLocation("test", "custom/circle.png");
Грубо говоря, часть "assets/modid/" подставляется автоматически, её писать не надо.
*/
//Далее, перед самим рендером пишешь это:
Minecraft.getMinecraft().getTextureManager().bindTexture(texture); //Аргументом является ResourceLocation.
Это точно 1.12?renderEngine
Ошибся, исправил. Сори. Я просто пишу под 1.7.10.Это точно 1.12?
Я примерно так и написал уже.Прилепление текстуры:
Только тут надо static делать.private ResourceLocation texture =
private static ResourceLocation texture = new ResourceLocation(Main.MODID + ":textures/gui/0.png");
Можно просто текстуру круга забиндить? А я рисовал окружность тесселятором...Просто лепишь тектуру круга.
GlStateManager.pushMatrix();
GlStateManager.enableAlpha();
GlStateManager.translate(-7, 72, 10);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
GlStateManager.disableAlpha();
GlStateManager.popMatrix();
Ну да. И почему у тебя текстура находится в папке текстур графического интерфейса?Только тут надо static делать.
А что ты ожидаешь от того, что просто сместишь матрицу и забиндишь текстуру? Надо рисовать квадрат с текстурой через тесселятор или напрямую через GL (для настоящих ценителей).Но текстура не рендериться. Её нет просто на координатах -7 72 10. Как быть?
Так я ж говорю. Я не знаю куда пихать кастомные текстуры, которые надо в мире рендерить (в какую папку). Я просто от себя какую-то папку написал и туда текстуру засунул, указал.в папке текстур графического интерфейса?
":textures/0.png"
Неа..Просто вот так нельзя наверное?
private static ResourceLocation texture = new ResourceLocation(Main.MODID + ":textures/my/0.png");
А ты квадрат рисуешь с текстурой?Но всё равно в мире не видно.
Да уже и квадрат пробовал.квадрат рисуешь с текстурой?
@SubscribeEvent
public static void WorldLastEvent(RenderWorldLastEvent e)
{
GlStateManager.pushMatrix();
GlStateManager.enableAlpha();
GlStateManager.translate(-7, 72, 10);
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
GlStateManager.disableAlpha();
GlStateManager.popMatrix();
}
GlStateManager.pushMatrix();
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
GlStateManager.enableAlpha();
GlStateManager.translate(-7, 72, 10);
GlStateManager.disableAlpha();
GlStateManager.popMatrix();