-
[1.12.2] Custom armor rotates different than player with small arms
And I can advise the author of the topic to see what methods the IDE offers from ModelBiped and ModelRenderer. Perhaps there are methods that will add support for changing the movement of the hand.
-
[1.12.2] Custom armor rotates different than player with small arms
I also made a armor with custom model, but the texture is very incorrectly displayed. In order not to create new threads, I'll ask my question here.
-
Custom Sign with custom Font
There is no registration in the minecraft init class method, there is just a new object created by the FomtRenderer indicating the path. Similarly, I create a new object in ClientProxy, and call it in the render.
-
Custom Sign with custom Font
Sorry, I don't know what you mean.
-
Custom Sign with custom Font
On top of the letter "B" should be a black square, if it was my texture. @SideOnly(Side.CLIENT) public class SovTileEntitySignRender extends TileEntitySpecialRenderer<TileEntitySovSign> { private static final ResourceLocation SIGN_TEXTURE = new ResourceLocation("soviet:textures/entity/walltile_1.png"); private final SovSignModel model = new SovSignModel(); Minecraft mc = Minecraft.getMinecraft(); public FontRenderer getFR() { FontRenderer fr = new FontRenderer(mc.gameSettings, new ResourceLocation("soviet:textures/font/soviet_font.png"), mc.renderEngine, true); return fr; } public void render(TileEntitySovSign te, double x, double y, double z, float partialTicks, int destroyStage, float alpha) { Block block = te.getBlockType(); GlStateManager.pushMatrix(); float f = 0.6666667F; if (block == Blocks.STANDING_SIGN) { GlStateManager.translate((float)x + 0.5F, (float)y + 0.5F, (float)z + 0.5F); float f1 = (float)(te.getBlockMetadata() * 360) / 16.0F; GlStateManager.rotate(-f1, 0.0F, 1.0F, 0.0F); } else { int k = te.getBlockMetadata(); float f2 = 0.0F; if (k == 2) { f2 = 180.0F; } if (k == 4) { f2 = 90.0F; } if (k == 5) { f2 = -90.0F; } GlStateManager.translate((float)x + 0.5F, (float)y + 0.5F, (float)z + 0.5F); GlStateManager.rotate(-f2, 0.0F, 1.0F, 0.0F); GlStateManager.translate(0.0F, -0.3125F, -0.4375F); } if (destroyStage >= 0) { this.bindTexture(DESTROY_STAGES[destroyStage]); GlStateManager.matrixMode(5890); GlStateManager.pushMatrix(); GlStateManager.scale(4.0F, 2.0F, 1.0F); GlStateManager.translate(0.0625F, 0.0625F, 0.0625F); GlStateManager.matrixMode(5888); } else { this.bindTexture(SIGN_TEXTURE); } GlStateManager.enableRescaleNormal(); GlStateManager.pushMatrix(); GlStateManager.scale(0.6666667F, -0.6666667F, -0.6666667F); model.bone.render(0.0625F); model.bone2.render(0.0625F); GlStateManager.popMatrix(); FontRenderer fr = this.getFR(); float f3 = 0.010416667F; GlStateManager.translate(0.0F, 0.33333334F, 0.046666667F); GlStateManager.scale(0.010416667F, -0.010416667F, 0.010416667F); GlStateManager.glNormal3f(0.0F, 0.0F, -0.010416667F); GlStateManager.depthMask(false); int i = 0; if (destroyStage < 0) { for (int j = 0; j < te.signText.length; ++j) { if (te.signText[j] != null) { ITextComponent itextcomponent = te.signText[j]; List<ITextComponent> list = GuiUtilRenderComponents.splitText(itextcomponent, 40, fr, false, true); String s = list != null && !list.isEmpty() ? ((ITextComponent)list.get(0)).getFormattedText() : ""; if (j == te.lineBeingEdited) { s = "[" + s + "]"; fr.drawString(s, -fr.getStringWidth(s) / 2, j * 10 - te.signText.length * 8, 0); } else { fr.drawString(s, -fr.getStringWidth(s) / 2, j * 10 - te.signText.length * 8, 0xc90014); } } } } GlStateManager.depthMask(true); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.popMatrix(); if (destroyStage >= 0) { GlStateManager.matrixMode(5890); GlStateManager.popMatrix(); GlStateManager.matrixMode(5888); } } }
-
Custom Sign with custom Font
Understood, it was necessary to do this in the render. But for some reason it still does not load my picture
-
Custom Sign with custom Font
Thank you, I almost understood. When I create a new object like this: Minecraft mc = Minecraft.getMinecraft(); FontRenderer fr = new FontRenderer(mc.gameSettings, new ResourceLocation("soviet:textures/font/soviet_font.png"), mc.renderEngine, false); I get null in locationTexture in mc.renderEngine. This is strange, because the path is correct.
-
Custom Sign with custom Font
But I need my own font, and not the same as in vanilla. You said that I need to register Fontrenderer. How do I need to do this?
-
Custom Sign with custom Font
Well, the fonts are contained in the game as a png image. And processed by Fontrenderer.I mean, if I don't need to create my class Fontrenderer. So how can I register it correctly?
-
Custom Sign with custom Font
Thanks. And how do I properly register my picture with chars?
-
Custom Sign with custom Font
Hi. I'm making my sign. In General it is quite successful, I made it, but the only thing that I can't do it - I want to upload your own image with fonts. But why is it still loaded in vanilla. Do I need to register as my FontRenderer? If necessary, how to do it? My FontRenderer public class SovFontRenderer extends FontRenderer { public SovFontRenderer(GameSettings gameSettingsIn, ResourceLocation location, TextureManager textureManagerIn, boolean unicode) { super(gameSettingsIn, location, textureManagerIn, unicode); } } This is part code TESR GlStateManager.popMatrix(); Minecraft mc = Minecraft.getMinecraft(); SovFontRenderer fontrenderer = new SovFontRenderer(mc.gameSettings, new ResourceLocation("soviet:textures/font/soviet_font.png"), mc.renderEngine, true); float f3 = 0.010416667F; GlStateManager.translate(0.0F, 0.33333334F, 0.046666667F); GlStateManager.scale(0.010416667F, -0.010416667F, 0.010416667F); GlStateManager.glNormal3f(0.0F, 0.0F, -0.010416667F); GlStateManager.depthMask(false); int i = 0; if (destroyStage < 0) { for (int j = 0; j < te.signText.length; ++j) { if (te.signText[j] != null) { ITextComponent itextcomponent = te.signText[j]; List<ITextComponent> list = GuiUtilRenderComponents.splitText(itextcomponent, 90, fontrenderer, false, true); String s = list != null && !list.isEmpty() ? ((ITextComponent)list.get(0)).getFormattedText() : ""; if (j == te.lineBeingEdited) { s = "[" + s + "]"; fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, j * 10 - te.signText.length * 6, 0); } else { fontrenderer.drawString(s, -fontrenderer.getStringWidth(s) / 2, j * 10 - te.signText.length * 6, 0); } } } } GlStateManager.depthMask(true); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.popMatrix();
-
AnimationTESR help for using!
I solved it. In my JSON there just wasn't enough points during the animation
-
AnimationTESR help for using!
I found a bug! I was looking at the wrong JSON file! But I have still nothing works, not moving. I understand AnimationTESR just makes blockstate change depending on time? Is the intermediate animation done automatically?
-
AnimationTESR help for using!
Thanks..Yes, everything is the same as everywhere. Here is a problem that for some reason writes to me when I put the block that clip "open" is not found though it exists. I don't understand why he can't find it. ?. So if I click on the block itself, "closing\opening", as the debug shows me in my TileEntity is working.
-
AnimationTESR help for using!
Do you know if I need a java entity model for this animation or not? You are a Forge developer, maybe you know)
IPS spam blocked by CleanTalk.