-
Автор темы
- #1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
baza - expensive
Как создавать анимированный (gif) backmenu (MainMenuScreen) - minecraft 1.16.5
как отрендерить саму gif, или можно её разбить на кадры и отрендерить кадры?
p.s - прочекал много видосов по java понимаю что как, но не имею знаний в minecraft api(топиш какой метод(его значеие) класс, и понятия кода внутри этого класса и тд).
очень интересно как работает рендеринг и как овладеть преимуществами написания render coding
код:
вот это как я понимаю основа которая рендерит чисто картинку - image:
как отрендерить gif?
Как создавать анимированный (gif) backmenu (MainMenuScreen) - minecraft 1.16.5
как отрендерить саму gif, или можно её разбить на кадры и отрендерить кадры?
p.s - прочекал много видосов по java понимаю что как, но не имею знаний в minecraft api(топиш какой метод(его значеие) класс, и понятия кода внутри этого класса и тд).
очень интересно как работает рендеринг и как овладеть преимуществами написания render coding
код:
Java:
public void render(MatrixStack matrixStack, int mouseX, int mouseY, float partialTicks) {
if (ClientUtil.legitMode) {
if (this.firstRenderTime == 0L && this.showFadeInAnimation) {
this.firstRenderTime = Util.milliTime();
}
float f = this.showFadeInAnimation ? (float) (Util.milliTime() - this.firstRenderTime) / 1000.0F : 1.0F;
GlStateManager.disableDepthTest();
fill(matrixStack, 0, 0, this.width, this.height, -1);
this.panorama.render(partialTicks, MathHelper.clamp(f, 0.0F, 1.0F));
int i = 274;
int j = this.width / 2 - 137;
int k = 30;
this.minecraft.getTextureManager().bindTexture(PANORAMA_OVERLAY_TEXTURES);
RenderSystem.enableBlend();
RenderSystem.blendFunc(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA);
RenderSystem.color4f(1.0F, 1.0F, 1.0F, this.showFadeInAnimation ? (float) MathHelper.ceil(MathHelper.clamp(f, 0.0F, 1.0F)) : 1.0F);
blit(matrixStack, 0, 0, this.width, this.height, 0.0F, 0.0F, 16, 128, 16, 128);
float f1 = this.showFadeInAnimation ? MathHelper.clamp(f - 1.0F, 0.0F, 1.0F) : 1.0F;
int l = MathHelper.ceil(f1 * 255.0F) << 24;
if ((l & -67108864) != 0) {
this.minecraft.getTextureManager().bindTexture(MINECRAFT_TITLE_TEXTURES);
RenderSystem.color4f(1.0F, 1.0F, 1.0F, f1);
if (this.showTitleWronglySpelled) {
this.blitBlackOutline(j, 30, (p_lambda$render$10_2_, p_lambda$render$10_3_) ->
{
this.blit(matrixStack, p_lambda$render$10_2_ + 0, p_lambda$render$10_3_, 0, 0, 99, 44);
this.blit(matrixStack, p_lambda$render$10_2_ + 99, p_lambda$render$10_3_, 129, 0, 27, 44);
this.blit(matrixStack, p_lambda$render$10_2_ + 99 + 26, p_lambda$render$10_3_, 126, 0, 3, 44);
this.blit(matrixStack, p_lambda$render$10_2_ + 99 + 26 + 3, p_lambda$render$10_3_, 99, 0, 26, 44);
this.blit(matrixStack, p_lambda$render$10_2_ + 155, p_lambda$render$10_3_, 0, 45, 155, 44);
});
} else {
this.blitBlackOutline(j, 30, (p_lambda$render$11_2_, p_lambda$render$11_3_) ->
{
this.blit(matrixStack, p_lambda$render$11_2_ + 0, p_lambda$render$11_3_, 0, 0, 155, 44);
this.blit(matrixStack, p_lambda$render$11_2_ + 155, p_lambda$render$11_3_, 0, 45, 155, 44);
});
}
this.minecraft.getTextureManager().bindTexture(MINECRAFT_TITLE_EDITION);
blit(matrixStack, j + 88, 67, 0.0F, 0.0F, 98, 14, 128, 16);
if (Reflector.ForgeHooksClient_renderMainMenu.exists()) {
Reflector.callVoid(Reflector.ForgeHooksClient_renderMainMenu, this, matrixStack, this.font, this.width, this.height, l);
}
if (this.splashText != null) {
RenderSystem.pushMatrix();
RenderSystem.translatef((float) (this.width / 2 + 90), 70.0F, 0.0F);
RenderSystem.rotatef(-20.0F, 0.0F, 0.0F, 1.0F);
float f2 = 1.8F - MathHelper.abs(MathHelper.sin((float) (Util.milliTime() % 1000L) / 1000.0F * ((float) Math.PI * 2F)) * 0.1F);
f2 = f2 * 100.0F / (float) (this.font.getStringWidth(this.splashText) + 32);
RenderSystem.scalef(f2, f2, f2);
drawCenteredString(matrixStack, this.font, this.splashText, 0, -8, 16776960 | l);
RenderSystem.popMatrix();
}
String s = "Minecraft " + SharedConstants.getVersion().getName();
if (this.minecraft.isDemo()) {
s = s + " Demo";
} else {
s = s + ("release".equalsIgnoreCase(this.minecraft.getVersionType()) ? "" : "/" + this.minecraft.getVersionType());
}
if (this.minecraft.isModdedClient()) {
s = s + I18n.format("menu.modded");
}
if (Reflector.BrandingControl.exists()) {
if (Reflector.BrandingControl_forEachLine.exists()) {
BiConsumer<Integer, String> biconsumer = (p_lambda$render$12_3_, p_lambda$render$12_4_) ->
{
drawString(matrixStack, this.font, p_lambda$render$12_4_, 2, this.height - (10 + p_lambda$render$12_3_ * (9 + 1)), 16777215 | l);
};
Reflector.call(Reflector.BrandingControl_forEachLine, true, true, biconsumer);
}
if (Reflector.BrandingControl_forEachAboveCopyrightLine.exists()) {
BiConsumer<Integer, String> biconsumer1 = (p_lambda$render$13_3_, p_lambda$render$13_4_) ->
{
drawString(matrixStack, this.font, p_lambda$render$13_4_, this.width - this.font.getStringWidth(p_lambda$render$13_4_), this.height - (10 + (p_lambda$render$13_3_ + 1) * (9 + 1)), 16777215 | l);
};
Reflector.call(Reflector.BrandingControl_forEachAboveCopyrightLine, biconsumer1);
}
} else {
drawString(matrixStack, this.font, s, 2, this.height - 10, 16777215 | l);
}
drawString(matrixStack, this.font, "Copyright Mojang AB. Do not distribute!", this.widthCopyrightRest, this.height - 10, 16777215 | l);
if (mouseX > this.widthCopyrightRest && mouseX < this.widthCopyrightRest + this.widthCopyright && mouseY > this.height - 10 && mouseY < this.height) {
fill(matrixStack, this.widthCopyrightRest, this.height - 1, this.widthCopyrightRest + this.widthCopyright, this.height, 16777215 | l);
}
for (Widget widget : this.buttons) {
widget.setAlpha(f1);
}
if (this.areRealmsNotificationsEnabled() && f1 >= 1.0F) {
this.realmsNotification.render(matrixStack, mouseX, mouseY, partialTicks);
}
super.render(matrixStack, mouseX, mouseY, partialTicks);
}
return;
}
float widthPerc = (float) mc.getMainWindow().scaledWidth() / 960;
float heigthPerc = (float) mc.getMainWindow().scaledHeight() / 505;
Vec2i fixed = ScaleMath.getMouse((int) mouseX, (int) mouseY);
mouseX = fixed.getX();
mouseY = fixed.getY();
mc.gameRenderer.setupOverlayRendering(2);
RenderUtil.Render2D.drawImage(new ResourceLocation("pizda/images/backmenu.png"), 0, 0, mc.getMainWindow().scaledWidth(), mc.getMainWindow().scaledHeight(), -1);
super.render(matrixStack, mouseX, mouseY, partialTicks);
RenderUtil.Render2D.drawImage(new ResourceLocation("pizda/images/expensive.png"), (mc.getMainWindow().scaledWidth() / 2f) - (317.5f / 2) * widthPerc, mc.getMainWindow().scaledHeight() / 2f - 125,317.5f * widthPerc,50.5f * heigthPerc, -1);
Fonts.msLight[11].drawString(matrixStack,"all rights reserved 2024.",mc.getMainWindow().scaledWidth() / 2f - Fonts.msLight[11].getWidth("all rights reserved 2024.") / 2f, (mc.getMainWindow().scaledHeight()) / 1.1f, ColorUtil.rgba(200,200,200,100));
BloomHelper.draw(15, 2, false);
mc.gameRenderer.setupOverlayRendering();
}
Java:
float widthPerc = (float) mc.getMainWindow().scaledWidth() / 960;
float heigthPerc = (float) mc.getMainWindow().scaledHeight() / 505;
Vec2i fixed = ScaleMath.getMouse((int) mouseX, (int) mouseY);
mouseX = fixed.getX();
mouseY = fixed.getY();
mc.gameRenderer.setupOverlayRendering(2);
RenderUtil.Render2D.drawImage(new ResourceLocation("pizda/images/backmenu.png"), 0, 0, mc.getMainWindow().scaledWidth(), mc.getMainWindow().scaledHeight(), -1);
super.render(matrixStack, mouseX, mouseY, partialTicks);
RenderUtil.Render2D.drawImage(new ResourceLocation("pizda/images/expensive.png"), (mc.getMainWindow().scaledWidth() / 2f) - (317.5f / 2) * widthPerc, mc.getMainWindow().scaledHeight() / 2f - 125,317.5f * widthPerc,50.5f * heigthPerc, -1);
Fonts.msLight[11].drawString(matrixStack,"all rights reserved 2024.",mc.getMainWindow().scaledWidth() / 2f - Fonts.msLight[11].getWidth("all rights reserved 2024.") / 2f, (mc.getMainWindow().scaledHeight()) / 1.1f, ColorUtil.rgba(200,200,200,100));
BloomHelper.draw(15, 2, false);
mc.gameRenderer.setupOverlayRendering();
}
Последнее редактирование: