Jump to content

Custom sky texture for dimension[FIXED]


TurtyWurty

Recommended Posts

Hello people of the forge forums. Recently I came up with the idea of having the sky in my dimension be a custom texture instead of a solid color. Sadly it appears that this sounds much easier than it is. I have got to the point of having everything reconstructed, however I cannot for the life of me figure out how to draw a texture in place of where the solid color would be. Here is what I have so far:
 

package com.turtywurty.examplemod.client;
 
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import com.turtywurty.examplemod.ExampleMod;
 
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.FogRenderer;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.WorldVertexBufferUploader;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.renderer.vertex.VertexBuffer;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.client.world.DimensionRenderInfo;
import net.minecraft.client.world.DimensionRenderInfo.FogType;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Matrix4f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.ISkyRenderHandler;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
 
@Mod.EventBusSubscriber(modid = ExampleMod.MOD_ID, bus = Bus.MOD, value = Dist.CLIENT)
public class ClientEventBus {
 
    private static final ResourceLocation DIM_RENDER_INFO = new ResourceLocation(ExampleMod.MOD_ID, "example_dim");
    private static final ResourceLocation SUN_TEXTURES = new ResourceLocation("textures/environment/sun.png");
    private static final ResourceLocation MOON_PHASES_TEXTURES = new ResourceLocation(
            "textures/environment/moon_phases.png");
    private static final ResourceLocation SKY_TEXTURE = new ResourceLocation(ExampleMod.MOD_ID,
            "textures/environment/sky.png");
 
    @SubscribeEvent(priority = EventPriority.HIGHEST)
    public static void clientSetup(FMLClientSetupEvent event) {
        // public net.minecraft.client.world.DimensionRenderInfo field_239208_a_ #
        // field_239208_a_
        // public net.minecraft.client.renderer.Minecraft.getInstance().worldRenderer
        // field_175012_t # skyVBO
        // public net.minecraft.client.renderer.Minecraft.getInstance().worldRenderer
        // field_175014_r # skyVertexFormat
        // public net.minecraft.client.renderer.Minecraft.getInstance().worldRenderer
        // field_175013_s # starVBO
        // public net.minecraft.client.renderer.Minecraft.getInstance().worldRenderer
        // field_175011_u # sky2VBO
 
        DimensionRenderInfo.field_239208_a_.put(DIM_RENDER_INFO,
                // cloudHeight, alternate sky color, fog type, render sky, diffuse lighting
                new DimensionRenderInfo(128, true, FogType.NORMAL, true, false) {
 
                    @Override
                    // adjustSkyColor
                    public Vector3d func_230494_a_(Vector3d fogColor, float partialTicks) {
                        return fogColor;
                    }
 
                    @Override
                    // useThickFog
                    public boolean func_230493_a_(int posX, int posY) {
                        return false;
                    }
 
                    @Override
                    public ISkyRenderHandler getSkyRenderHandler() {
                        return new ISkyRenderHandler() {
                            
                            @SuppressWarnings({ "resource", "deprecation" })
                            @Override
                            public void render(int ticks, float partialTicks, MatrixStack matrixStack,
                                    ClientWorld world, Minecraft mc) {
                                RenderSystem.disableTexture();
                                Vector3d vector3d = world.getSkyColor(
                                        Minecraft.getInstance().gameRenderer.getActiveRenderInfo().getBlockPos(),
                                        partialTicks);
                                float f = (float) vector3d.x;
                                float f1 = (float) vector3d.y;
                                float f2 = (float) vector3d.z;
                                FogRenderer.applyFog();
                                BufferBuilder bufferbuilder = Tessellator.getInstance().getBuffer();
                                RenderSystem.depthMask(false);
                                RenderSystem.enableFog();
                                RenderSystem.color3f(f, f1, f2);
 
                                RenderSystem.enableTexture();
                                RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA,
                                        GlStateManager.DestFactor.ONE, GlStateManager.SourceFactor.ONE,
                                        GlStateManager.DestFactor.ZERO);
                                RenderSystem.color4f(0.8F, 0.8F, 0.8F, 0.2F);
                                Minecraft.getInstance().getTextureManager().bindTexture(SKY_TEXTURE);
                                bufferbuilder.begin(7, DefaultVertexFormats.POSITION);
 
                                for (int k = -384; k <= 384; k += 64) {
                                    for (int l = -384; l <= 384; l += 64) {
                                        float h = (float) k;
                                        float h1 = (float) (k + 64);
 
                                        bufferbuilder.pos((double) h, (double) 16, (double) l).tex(0.0F, 0.0F).endVertex();
                                        bufferbuilder.pos((double) h1, (double) 16, (double) l).tex(1.0F, 0.0F).endVertex();
                                        bufferbuilder.pos((double) h1, (double) 16, (double) (l + 64)).tex(1.0F, 1.0F).endVertex();
                                        bufferbuilder.pos((double) h, (double) 16, (double) (l + 64)).tex(0.0F, 1.0F).endVertex();
                                    }
                                }
                                bufferbuilder.finishDrawing();
                                WorldVertexBufferUploader.draw(bufferbuilder);
                                RenderSystem.disableTexture();
 
                                Minecraft.getInstance().worldRenderer.skyVBO.bindBuffer();
                                Minecraft.getInstance().worldRenderer.skyVertexFormat.setupBufferState(0L);
                                Minecraft.getInstance().worldRenderer.skyVBO.draw(matrixStack.getLast().getMatrix(), 7);
                                VertexBuffer.unbindBuffer();
                                Minecraft.getInstance().worldRenderer.skyVertexFormat.clearBufferState();
                                RenderSystem.disableFog();
                                RenderSystem.disableAlphaTest();
                                RenderSystem.enableBlend();
                                RenderSystem.defaultBlendFunc();
                                float[] afloat = world.func_239132_a_()
                                        .func_230492_a_(world.func_242415_f(partialTicks), partialTicks);
                                if (afloat != null) {
                                    RenderSystem.disableTexture();
                                    RenderSystem.shadeModel(7425);
                                    matrixStack.push();
                                    matrixStack.rotate(Vector3f.XP.rotationDegrees(90.0F));
                                    float f3 = MathHelper.sin(world.getCelestialAngleRadians(partialTicks)) < 0.0F
                                            ? 180.0F
                                            : 0.0F;
                                    matrixStack.rotate(Vector3f.ZP.rotationDegrees(f3));
                                    matrixStack.rotate(Vector3f.ZP.rotationDegrees(90.0F));
                                    float f4 = afloat[0];
                                    float f5 = afloat[1];
                                    float f6 = afloat[2];
                                    Matrix4f matrix4f = matrixStack.getLast().getMatrix();
                                    bufferbuilder.begin(6, DefaultVertexFormats.POSITION_COLOR);
                                    bufferbuilder.pos(matrix4f, 0.0F, 100.0F, 0.0F).color(f4, f5, f6, afloat[3])
                                            .endVertex();
 
                                    for (int j = 0; j <= 16; ++j) {
                                        float f7 = (float) j * ((float) Math.PI * 2F) / 16.0F;
                                        float f8 = MathHelper.sin(f7);
                                        float f9 = MathHelper.cos(f7);
                                        bufferbuilder.pos(matrix4f, f8 * 120.0F, f9 * 120.0F, -f9 * 40.0F * afloat[3])
                                                .color(afloat[0], afloat[1], afloat[2], 0.0F).endVertex();
                                    }
 
                                    bufferbuilder.finishDrawing();
                                    WorldVertexBufferUploader.draw(bufferbuilder);
                                    matrixStack.pop();
                                    RenderSystem.shadeModel(7424);
                                }
 
                                RenderSystem.enableTexture();
                                RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA,
                                        GlStateManager.DestFactor.ONE, GlStateManager.SourceFactor.ONE,
                                        GlStateManager.DestFactor.ZERO);
                                matrixStack.push();
                                float f11 = 1.0F - world.getRainStrength(partialTicks);
                                RenderSystem.color4f(1.0F, 1.0F, 1.0F, f11);
                                matrixStack.rotate(Vector3f.YP.rotationDegrees(-90.0F));
                                matrixStack.rotate(
                                        Vector3f.XP.rotationDegrees(world.func_242415_f(partialTicks) * 360.0F));
                                Matrix4f matrix4f1 = matrixStack.getLast().getMatrix();
                                float f12 = 30.0F;
                                Minecraft.getInstance().getTextureManager().bindTexture(SUN_TEXTURES);
                                bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX);
                                bufferbuilder.pos(matrix4f1, -f12, 100.0F, -f12).tex(0.0F, 0.0F).endVertex();
                                bufferbuilder.pos(matrix4f1, f12, 100.0F, -f12).tex(1.0F, 0.0F).endVertex();
                                bufferbuilder.pos(matrix4f1, f12, 100.0F, f12).tex(1.0F, 1.0F).endVertex();
                                bufferbuilder.pos(matrix4f1, -f12, 100.0F, f12).tex(0.0F, 1.0F).endVertex();
                                bufferbuilder.finishDrawing();
                                WorldVertexBufferUploader.draw(bufferbuilder);
                                f12 = 20.0F;
                                Minecraft.getInstance().getTextureManager().bindTexture(MOON_PHASES_TEXTURES);
                                int k = world.getMoonPhase();
                                int l = k % 4;
                                int i1 = k / 4 % 2;
                                float f13 = (float) (l + 0) / 4.0F;
                                float f14 = (float) (i1 + 0) / 2.0F;
                                float f15 = (float) (l + 1) / 4.0F;
                                float f16 = (float) (i1 + 1) / 2.0F;
                                bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX);
                                bufferbuilder.pos(matrix4f1, -f12, -100.0F, f12).tex(f15, f16).endVertex();
                                bufferbuilder.pos(matrix4f1, f12, -100.0F, f12).tex(f13, f16).endVertex();
                                bufferbuilder.pos(matrix4f1, f12, -100.0F, -f12).tex(f13, f14).endVertex();
                                bufferbuilder.pos(matrix4f1, -f12, -100.0F, -f12).tex(f15, f14).endVertex();
                                bufferbuilder.finishDrawing();
                                WorldVertexBufferUploader.draw(bufferbuilder);
                                RenderSystem.disableTexture();
                                float f10 = world.getStarBrightness(partialTicks) * f11;
                                if (f10 > 0.0F) {
                                    RenderSystem.color4f(f10, f10, f10, f10);
                                    Minecraft.getInstance().worldRenderer.starVBO.bindBuffer();
                                    Minecraft.getInstance().worldRenderer.skyVertexFormat.setupBufferState(0L);
                                    Minecraft.getInstance().worldRenderer.starVBO
                                            .draw(matrixStack.getLast().getMatrix(), 7);
                                    VertexBuffer.unbindBuffer();
                                    Minecraft.getInstance().worldRenderer.skyVertexFormat.clearBufferState();
                                }
 
                                RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F);
                                RenderSystem.disableBlend();
                                RenderSystem.enableAlphaTest();
                                RenderSystem.enableFog();
                                matrixStack.pop();
                                RenderSystem.disableTexture();
                                RenderSystem.color3f(0.0F, 0.0F, 0.0F);
                                double d0 = Minecraft.getInstance().player.getEyePosition(partialTicks).y
                                        - world.getWorldInfo().getVoidFogHeight();
                                if (d0 < 0.0D) {
                                    matrixStack.push();
                                    matrixStack.translate(0.0D, 12.0D, 0.0D);
                                    Minecraft.getInstance().worldRenderer.sky2VBO.bindBuffer();
                                    Minecraft.getInstance().worldRenderer.skyVertexFormat.setupBufferState(0L);
                                    Minecraft.getInstance().worldRenderer.sky2VBO
                                            .draw(matrixStack.getLast().getMatrix(), 7);
                                    VertexBuffer.unbindBuffer();
                                    Minecraft.getInstance().worldRenderer.skyVertexFormat.clearBufferState();
                                    matrixStack.pop();
                                }
 
                                if (world.func_239132_a_().func_239216_b_()) {
                                    RenderSystem.color3f(f * 0.2F + 0.04F, f1 * 0.2F + 0.04F, f2 * 0.6F + 0.1F);
                                } else {
                                    RenderSystem.color3f(f, f1, f2);
                                }
 
                                RenderSystem.enableTexture();
                                RenderSystem.depthMask(true);
                                RenderSystem.disableFog();
                            }
                        };
                    }
                });
    }
}

Any help with this would be highly appreciated, I have been trying this for days now. Thanks in advance!

Edited by TurtyWurty
Link to comment
Share on other sites

Ok I have a small update regarding this question, but now actually with more questions. So I have managed to draw the texture. The issue was that I used 

bufferbuilder.begin(7, DefaultVertexFormats.POSITION);

instead of 

bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX);

So it was basically ignoring the texture positions. It now looks like the attached image. The issue is that the texture is following the player. So basically I can only ever see that portion of the texture unless it goes behind some terrain or something. Here is my updated code:
 

package com.turtywurty.examplemod.client;

import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import com.turtywurty.examplemod.ExampleMod;

import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.FogRenderer;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.WorldVertexBufferUploader;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.client.renderer.vertex.VertexBuffer;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.client.world.DimensionRenderInfo;
import net.minecraft.client.world.DimensionRenderInfo.FogType;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.vector.Matrix4f;
import net.minecraft.util.math.vector.Vector3d;
import net.minecraft.util.math.vector.Vector3f;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.ISkyRenderHandler;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;

@Mod.EventBusSubscriber(modid = ExampleMod.MOD_ID, bus = Bus.MOD, value = Dist.CLIENT)
public class ClientEventBus {

	private static final ResourceLocation DIM_RENDER_INFO = new ResourceLocation(ExampleMod.MOD_ID, "example_dim");
	private static final ResourceLocation SUN_TEXTURES = new ResourceLocation("textures/environment/sun.png");
	private static final ResourceLocation MOON_PHASES_TEXTURES = new ResourceLocation(
			"textures/environment/moon_phases.png");
	private static final ResourceLocation SKY_TEXTURE = new ResourceLocation(ExampleMod.MOD_ID,
			"textures/environment/sky.png");

	@SubscribeEvent(priority = EventPriority.HIGHEST)
	public static void clientSetup(FMLClientSetupEvent event) {
		// public net.minecraft.client.world.DimensionRenderInfo field_239208_a_ #
		// field_239208_a_
		// public net.minecraft.client.renderer.Minecraft.getInstance().worldRenderer
		// field_175012_t # skyVBO
		// public net.minecraft.client.renderer.Minecraft.getInstance().worldRenderer
		// field_175014_r # skyVertexFormat
		// public net.minecraft.client.renderer.Minecraft.getInstance().worldRenderer
		// field_175013_s # starVBO
		// public net.minecraft.client.renderer.Minecraft.getInstance().worldRenderer
		// field_175011_u # sky2VBO

		DimensionRenderInfo.field_239208_a_.put(DIM_RENDER_INFO,
				// cloudHeight, alternate sky color, fog type, render sky, diffuse lighting
				new DimensionRenderInfo(128, true, FogType.NORMAL, true, false) {

					@Override
					// adjustSkyColor
					public Vector3d func_230494_a_(Vector3d fogColor, float partialTicks) {
						return fogColor;
					}

					@Override
					// useThickFog
					public boolean func_230493_a_(int posX, int posY) {
						return false;
					}

					@Override
					public ISkyRenderHandler getSkyRenderHandler() {
						return new ISkyRenderHandler() {

							@SuppressWarnings({ "resource", "deprecation" })
							@Override
							public void render(int ticks, float partialTicks, MatrixStack matrixStack,
									ClientWorld world, Minecraft mc) {
								RenderSystem.disableTexture();
								Vector3d vector3d = world.getSkyColor(
										Minecraft.getInstance().gameRenderer.getActiveRenderInfo().getBlockPos(),
										partialTicks);
								float f = (float) vector3d.x;
								float f1 = (float) vector3d.y;
								float f2 = (float) vector3d.z;
								FogRenderer.applyFog();
								BufferBuilder bufferbuilder = Tessellator.getInstance().getBuffer();
								RenderSystem.depthMask(false);
								RenderSystem.enableFog();
								RenderSystem.color3f(f, f1, f2);

								Minecraft.getInstance().worldRenderer.skyVBO.bindBuffer();
								Minecraft.getInstance().worldRenderer.skyVertexFormat.setupBufferState(0L);
								Minecraft.getInstance().worldRenderer.skyVBO.draw(matrixStack.getLast().getMatrix(), 7);
								VertexBuffer.unbindBuffer();
								Minecraft.getInstance().worldRenderer.skyVertexFormat.clearBufferState();
								RenderSystem.disableFog();
								RenderSystem.disableAlphaTest();
								RenderSystem.enableBlend();
								RenderSystem.defaultBlendFunc();
								float[] afloat = world.func_239132_a_()
										.func_230492_a_(world.func_242415_f(partialTicks), partialTicks);
								if (afloat != null) {
									RenderSystem.disableTexture();
									RenderSystem.shadeModel(7425);
									matrixStack.push();
									matrixStack.rotate(Vector3f.XP.rotationDegrees(90.0F));
									float f3 = MathHelper.sin(world.getCelestialAngleRadians(partialTicks)) < 0.0F
											? 180.0F
											: 0.0F;
									matrixStack.rotate(Vector3f.ZP.rotationDegrees(f3));
									matrixStack.rotate(Vector3f.ZP.rotationDegrees(90.0F));
									float f4 = afloat[0];
									float f5 = afloat[1];
									float f6 = afloat[2];
									Matrix4f matrix4f = matrixStack.getLast().getMatrix();
									bufferbuilder.begin(6, DefaultVertexFormats.POSITION_COLOR);
									bufferbuilder.pos(matrix4f, 0.0F, 100.0F, 0.0F).color(f4, f5, f6, afloat[3])
											.endVertex();

									for (int j = 0; j <= 16; ++j) {
										float f7 = (float) j * ((float) Math.PI * 2F) / 16.0F;
										float f8 = MathHelper.sin(f7);
										float f9 = MathHelper.cos(f7);
										bufferbuilder.pos(matrix4f, f8 * 120.0F, f9 * 120.0F, -f9 * 40.0F * afloat[3])
												.color(afloat[0], afloat[1], afloat[2], 0.0F).endVertex();
									}

									bufferbuilder.finishDrawing();
									WorldVertexBufferUploader.draw(bufferbuilder);
									matrixStack.pop();
									RenderSystem.shadeModel(7424);
								}

								RenderSystem.enableTexture();
								RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA,
										GlStateManager.DestFactor.ONE, GlStateManager.SourceFactor.ONE,
										GlStateManager.DestFactor.ZERO);
								matrixStack.push();
								float f11 = 1.0F - world.getRainStrength(partialTicks);
								RenderSystem.color4f(1.0F, 1.0F, 1.0F, f11);
								matrixStack.rotate(Vector3f.YP.rotationDegrees(-90.0F));
								matrixStack.rotate(
										Vector3f.XP.rotationDegrees(world.func_242415_f(partialTicks) * 360.0F));
								Matrix4f matrix4f1 = matrixStack.getLast().getMatrix();
								float f12 = 30.0F;
								Minecraft.getInstance().getTextureManager().bindTexture(SUN_TEXTURES);
								bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX);
								bufferbuilder.pos(matrix4f1, -f12, 100.0F, -f12).tex(0.0F, 0.0F).endVertex();
								bufferbuilder.pos(matrix4f1, f12, 100.0F, -f12).tex(1.0F, 0.0F).endVertex();
								bufferbuilder.pos(matrix4f1, f12, 100.0F, f12).tex(1.0F, 1.0F).endVertex();
								bufferbuilder.pos(matrix4f1, -f12, 100.0F, f12).tex(0.0F, 1.0F).endVertex();
								bufferbuilder.finishDrawing();
								WorldVertexBufferUploader.draw(bufferbuilder);
								f12 = 20.0F;
								Minecraft.getInstance().getTextureManager().bindTexture(MOON_PHASES_TEXTURES);
								int k = world.getMoonPhase();
								int l = k % 4;
								int i1 = k / 4 % 2;
								float f13 = (float) (l + 0) / 4.0F;
								float f14 = (float) (i1 + 0) / 2.0F;
								float f15 = (float) (l + 1) / 4.0F;
								float f16 = (float) (i1 + 1) / 2.0F;
								bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX);
								bufferbuilder.pos(matrix4f1, -f12, -100.0F, f12).tex(f15, f16).endVertex();
								bufferbuilder.pos(matrix4f1, f12, -100.0F, f12).tex(f13, f16).endVertex();
								bufferbuilder.pos(matrix4f1, f12, -100.0F, -f12).tex(f13, f14).endVertex();
								bufferbuilder.pos(matrix4f1, -f12, -100.0F, -f12).tex(f15, f14).endVertex();
								bufferbuilder.finishDrawing();
								WorldVertexBufferUploader.draw(bufferbuilder);
								RenderSystem.disableTexture();
								float f10 = world.getStarBrightness(partialTicks) * f11;
								if (f10 > 0.0F) {
									RenderSystem.color4f(f10, f10, f10, f10);
									Minecraft.getInstance().worldRenderer.starVBO.bindBuffer();
									Minecraft.getInstance().worldRenderer.skyVertexFormat.setupBufferState(0L);
									Minecraft.getInstance().worldRenderer.starVBO
											.draw(matrixStack.getLast().getMatrix(), 7);
									VertexBuffer.unbindBuffer();
									Minecraft.getInstance().worldRenderer.skyVertexFormat.clearBufferState();
								}

								RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F);
								RenderSystem.disableBlend();
								RenderSystem.enableAlphaTest();
								RenderSystem.enableFog();
  							    matrixStack.pop();
								RenderSystem.disableTexture();
								RenderSystem.color3f(0.0F, 0.0F, 0.0F);
								double d0 = Minecraft.getInstance().player.getEyePosition(partialTicks).y
										- world.getWorldInfo().getVoidFogHeight();
								if (d0 < 0.0D) {
									matrixStack.push();
									matrixStack.translate(0.0D, 12.0D, 0.0D);
									Minecraft.getInstance().worldRenderer.sky2VBO.bindBuffer();
									Minecraft.getInstance().worldRenderer.skyVertexFormat.setupBufferState(0L);
									Minecraft.getInstance().worldRenderer.sky2VBO
											.draw(matrixStack.getLast().getMatrix(), 7);
									VertexBuffer.unbindBuffer();
									Minecraft.getInstance().worldRenderer.skyVertexFormat.clearBufferState();
									matrixStack.pop();
								}

								if (world.func_239132_a_().func_239216_b_()) {
									RenderSystem.color3f(f * 0.2F + 0.04F, f1 * 0.2F + 0.04F, f2 * 0.6F + 0.1F);
								} else {
									RenderSystem.color3f(f, f1, f2);
								}
								
								Minecraft.getInstance().worldRenderer.skyVBO.bindBuffer();
								Minecraft.getInstance().worldRenderer.skyVertexFormat.setupBufferState(0L);
								Minecraft.getInstance().worldRenderer.skyVBO.draw(matrixStack.getLast().getMatrix(), 7);
								VertexBuffer.unbindBuffer();
								Minecraft.getInstance().worldRenderer.skyVertexFormat.clearBufferState();
								
								RenderSystem.enableTexture();
								RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA,
										GlStateManager.DestFactor.ONE, GlStateManager.SourceFactor.ONE,
										GlStateManager.DestFactor.ZERO);
								RenderSystem.color4f(0.8F, 0.8F, 0.8F, 0.2F);
								Minecraft.getInstance().getTextureManager().bindTexture(SKY_TEXTURE);
								bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX);
								bufferbuilder.pos(64, 16, 64).tex(0.0F, 0.0F).endVertex();
								bufferbuilder.pos(-64, 16, 64).tex(1.0F, 0.0F).endVertex();
								bufferbuilder.pos(-64, 16, -64).tex(1.0F, 1.0F).endVertex();
								bufferbuilder.pos(64, 16, -64).tex(0.0F, 1.0F).endVertex();
								bufferbuilder.finishDrawing();
								WorldVertexBufferUploader.draw(bufferbuilder);
								RenderSystem.disableTexture();

								RenderSystem.enableTexture();
								RenderSystem.depthMask(true);
								RenderSystem.disableFog();
							}
						};
					}
				});
	}
}

 Any help with this would be highly appreciated. Because I cannot for the life of me figure this one out.

2021-01-02_15.02.51.png

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • tried "gradlew build" in terminal, it did create the mod jar, trying to run it from Eclipse crashes still.    
    • Close the topic, found it: mc.player.inventoryMenu.clicked()
    • so, basically, i'm trying to make a mod via Eclipse, so i downloaded "forge-1.20.1-47.2.1-mdk". after decompiling* then opening it in the said IDE (Eclipse) and Running the project, i get this error. shortened : Exception in thread "main" com.electronwill.nightconfig.core.io.ParsingException: Invalid bare key: ${mod_id} entire error : pastebin i'm mostly new to forge, so yea.  
    • my server is crashing for some reason I don't understand i have mods on the server   ---- Minecraft Crash Report ---- WARNING: coremods are present:   CorePlugin (smooth-font-mod-1_12_2.jar)   TransformLoader (DynamicSurroundings-1.12.2-3.6.1.0.jar)   LoadingPlugin (Bloodmoon_MC1.12.2_1.5.3.jar)   LoadingPlugin (resourceloader-mc1.12.1-1.5.3.jar)   XaeroWorldMapPlugin (WorldMap-v1.29.3-for-Forge-1.12.2.jar)   Aqua Acrobatics Transformer (AquaAcrobatics-v1.2.2-1.12.2.jar)   AppleCore (AppleCore-mc1.12.2-3.2.0.jar)   ItemPatchingLoader (ItemPhysic_Full_1.4.37_mc1.12.2.jar)   XaeroMinimapPlugin (Minimap-v22.16.2-for-Forge-1.12.2.jar)   llibrary (llibrary-core-1.0.11-1.12.2.jar)   AstralCore (astralsorcery-1.12.2-1.10.27.jar)   ForgelinPlugin (forgelin-1.8.4.jar)   PhosphorFMLLoadingPlugin (phosphor_forge_mc1.12.2_0.2.7_universal.jar)   BetterFoliageLoader (betterfoliage-mc1.12-2.3.3.jar)   CreativePatchingLoader (CreativeCore_v1.10.65_mc1.12.2.jar)   Inventory Tweaks Coremod (InventoryTweaks_1.12.2_1.64dev.151.jar)   SurgeLoadingPlugin (surge-1.12.2-2.0.79.jar) Contact their authors BEFORE contacting forge // Hi. I'm Minecraft, and I'm a crashaholic. Time: 9/30/23 1:22 PM Description: Exception in server tick loop java.lang.NullPointerException: Exception in server tick loop     at net.minecraft.world.WorldEntitySpawner.func_77191_a(WorldEntitySpawner.java:297)     at net.minecraft.world.gen.ChunkGeneratorOverworld.func_185931_b(ChunkGeneratorOverworld.java:466)     at net.minecraft.world.chunk.Chunk.func_186034_a(Chunk.java:1019)     at net.minecraft.world.chunk.Chunk.func_186030_a(Chunk.java:999)     at net.minecraft.world.gen.ChunkProviderServer.func_186025_d(ChunkProviderServer.java:157)     at net.minecraft.server.MinecraftServer.func_71222_d(MinecraftServer.java:344)     at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:314)     at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:270)     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486)     at java.lang.Thread.run(Thread.java:748) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details:     Minecraft Version: 1.12.2     Operating System: Linux (amd64) version 4.19.0-22-amd64     Java Version: 1.8.0_312, Oracle Corporation     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation     Memory: 3256290592 bytes (3105 MB) / 3777495040 bytes (3602 MB) up to 3817865216 bytes (3641 MB)     JVM Flags: 1 total; -Xmx4096M     IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95     FML: MCP 9.42 Powered by Forge 14.23.5.2860 86 mods loaded, 86 mods active     States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored     | State  | ID                   | Version              | Source                                        | Signature                                |     |:------ |:-------------------- |:-------------------- |:--------------------------------------------- |:---------------------------------------- |     | LCHIJA | minecraft            | 1.12.2               | minecraft.jar                                 | None                                     |     | LCHIJA | mcp                  | 9.42                 | minecraft.jar                                 | None                                     |     | LCHIJA | FML                  | 8.0.99.99            | server.jar                                    | e3c3d50c7c986df74c645c0ac54639741c90a557 |     | LCHIJA | forge                | 14.23.5.2860         | server.jar                                    | e3c3d50c7c986df74c645c0ac54639741c90a557 |     | LCHIJA | creativecoredummy    | 1.0.0                | minecraft.jar                                 | None                                     |     | LCHIJA | itemphysic           | 1.4.0                | minecraft.jar                                 | None                                     |     | LCHIJA | xaerominimap_core    | 1.12.2-1.0           | minecraft.jar                                 | None                                     |     | LCHIJA | smoothfontcore       | mc1.12.2-2.0-alpha-7 | minecraft.jar                                 | None                                     |     | LCHIJA | xaeroworldmap_core   | 1.12.2-1.0           | minecraft.jar                                 | None                                     |     | LCHIJA | aether_legacy        | 1.5.3.2              | aether-1.12.2-v1.5.3.2.jar                    | None                                     |     | LCHIJA | applecore            | 3.2.0                | AppleCore-mc1.12.2-3.2.0.jar                  | None                                     |     | LCHIJA | crafttweaker         | 4.1.20               | CraftTweaker2-1.12-4.1.20.682.jar             | None                                     |     | LCHIJA | jei                  | 4.16.1.1001          | jei_1.12.2-4.16.1.1001.jar                    | None                                     |     | LCHIJA | appleskin            | 1.0.14               | AppleSkin_mc1.12_1.0.14.jar                   | None                                     |     | LCHIJA | aquaacrobatics       | 1.1.6                | AquaAcrobatics-v1.2.2-1.12.2.jar              | None                                     |     | LCHIJA | baubles              | 1.5.2                | Baubles_1.12_1.5.2.jar                        | None                                     |     | LCHIJA | astralsorcery        | 1.10.27              | astralsorcery-1.12.2-1.10.27.jar              | a0f0b759d895c15ceb3e3bcb5f3c2db7c582edf0 |     | LCHIJA | guideapi             | 1.12-2.1.8-63        | guide-api-1.12-2.1.8-63.jar                   | None                                     |     | LCHIJA | bloodmagic           | 1.12.2-2.4.3-105     | BloodMagic-1.12.2-2.4.3-105.jar               | None                                     |     | LCHIJA | bloodmoon            | 1.5.3                | Bloodmoon_MC1.12.2_1.5.3.jar                  | d72e0dd57935b3e9476212aea0c0df352dd76291 |     | LCHIJA | bookshelf            | 2.3.590              | Bookshelf_1.12.2_2.3.590.jar                  | d476d1b22b218a10d845928d1665d45fce301b27 |     | LCHIJA | botania              | r1.10-364            | Botania-r1.10-364.4.jar                       | None                                     |     | LCHIJA | crafttweakerjei      | 2.0.3                | CraftTweaker2-1.12-4.1.20.682.jar             | None                                     |     | LCHIJA | creativecore         | 1.10.0               | CreativeCore_v1.10.65_mc1.12.2.jar            | None                                     |     | LCHIJA | gamestages           | 2.0.123              | GameStages-1.12.2-2.0.123.jar                 | d476d1b22b218a10d845928d1665d45fce301b27 |     | LCHIJA | dimstages            | 2.0.23               | DimensionStages-1.12.2-2.0.23.jar             | d476d1b22b218a10d845928d1665d45fce301b27 |     | LCHIJA | durability101        | 0.0.4                | durability101-forge-1.12-0.0.4.jar            | None                                     |     | LCHIJA | orelib               | 3.6.0.1              | orelib-1.12.2-3.6.0.1.jar                     | 7a2128d395ad96ceb9d9030fbd41d035b435753a |     | LCHIJA | dsurround            | 3.6.1.0              | DynamicSurroundings-1.12.2-3.6.1.0.jar        | 7a2128d395ad96ceb9d9030fbd41d035b435753a |     | LCHIJA | ebwizardry           | 4.3.9                | electroblobswizardry-4.3.9.jar                | None                                     |     | LCHIJA | eplus                | 5.0.178              | EnchantingPlus_1.12.2_5.0.178.jar             | d476d1b22b218a10d845928d1665d45fce301b27 |     | LCHIJA | endreborn            | 0.3.5                | EndReborn_1.12.2_III0.3.6.jar                 | None                                     |     | LCHIJA | waila                | 1.8.26               | Hwyla_1.8.26_B41_1.12.2.jar                   | None                                     |     | LCHIJA | mtlib                | 3.0.7                | mtlib-3.0.7.jar                               | None                                     |     | LCHIJA | extrabotany          | 60                   | extrabotany-r1.1-60-beta-hotfix.jar           | None                                     |     | LCHIJA | fencejumper          | 1.0.1                | Fence_Jumper_Mod_1.12.2.jar                   | None                                     |     | LCHIJA | forbidden_arcanus    | 1.12.2-1.1.4         | forbidden_arcanus_1.12.2_1.1.4.jar            | None                                     |     | LCHIJA | forgelin             | 1.8.4                | forgelin-1.8.4.jar                            | None                                     |     | LCHIJA | ftblib               | 5.4.7.2              | FTBLib-5.4.7.2.jar                            | None                                     |     | LCHIJA | itemfilters          | 1.0.4.2              | ItemFilters-1.0.4.2.jar                       | None                                     |     | LCHIJA | ftbquests            | 1202.9.0.14          | FTBQuests-1.12.2-1202.9.0.14.jar              | None                                     |     | LCHIJA | gamestagebooks       | 1.12.2-1.0.2         | gamestagebooks-1.12.2-1.0.2-universal.jar     | None                                     |     | LCHIJA | geckolib3            | 3.0.30               | geckolib-forge-1.12.2-3.0.31.jar              | None                                     |     | LCHIJA | initialinventory     | 2.0.2                | initialinventory-3_0_0.jar                    | None                                     |     | LCHIJA | inventorytweaks      | 1.64+dev.151.822d839 | InventoryTweaks_1.12.2_1.64dev.151.jar        | 55d2cd4f5f0961410bf7b91ef6c6bf00a766dcbe |     | LCHIJA | ironbackpacks        | 1.12.2-3.0.8-12      | ironbackpacks-1.12.2-3.0.8-12.jar             | None                                     |     | LCHIJA | ironchest            | 1.12.2-7.0.67.844    | ironchest_1.12.2_7.0.72.847.jar               | None                                     |     | LCHIJA | ironfurnaces         | 1.3.5                | ironfurnaces-1.3.5.jar                        | None                                     |     | LCHIJA | itemstages           | 2.0.49               | ItemStages-1.12.2-2.0.49.jar                  | d476d1b22b218a10d845928d1665d45fce301b27 |     | LCHIJA | libraryex            | 1.2.2                | LibraryEx-1.12.2-1.2.2.jar                    | None                                     |     | LCHIJA | lost_aether          | 1.0.2                | lost-aether-content-1.12.2-1.0.2.jar          | None                                     |     | LCHIJA | magical_void_books   | 1.0.0                | MagicalVoidBooks_1.12.2_1.0.1.jar             | None                                     |     | LCHIJA | xaerominimap         | 22.16.2              | Minimap-v22.16.2-for-Forge-1.12.2.jar         | None                                     |     | LCHIJA | mobsunscreen         | @version@            | mobsunscreen-1.12.2-3.1.5.jar                 | None                                     |     | LCHIJA | llibrary             | 1.7.20               | llibrary_1.7.20_1.12.2.jar                    | b9f30a813bee3b9dd5652c460310cfcd54f6b7ec |     | LCHIJA | mowziesmobs          | 1.5.8                | mowziesmobs_1.12.2_1.5.8.jar                  | None                                     |     | LCHIJA | patchouli            | 1.0-23.6             | patchouli-1.0-23.6.jar                        | None                                     |     | LCHIJA | naturesaura          | 18.1                 | naturesaura-18.1.jar                          | None                                     |     | LCHIJA | naturescompass       | 1.8.5                | NaturesCompass_1.12.2_1.8.5.jar               | None                                     |     | LCHIJA | netherex             | 2.2.5                | NetherEx-1.12.2-2.2.5.jar                     | None                                     |     | LCHIJA | nutrition            | 4.9.0                | nutrition-1.12.2-4.9.0.jar                    | None                                     |     | LCHIJA | orestages            | 2.0.37               | OreStages-1.12.2-2.0.37.jar                   | d476d1b22b218a10d845928d1665d45fce301b27 |     | LCHIJA | puddles              | 1.1                  | Puddles_1.12.2_1.1.jar                        | None                                     |     | LCHIJA | qsilkspawners        | 1.0.0                | qsilkspawners_1.0.0.jar                       | None                                     |     | LCHIJA | rallyhealth          | 1.0.0                | RallyHealth_1.0.jar                           | None                                     |     | LCHIJA | realisticarmortiers  | 1.1.1                | realisticarmortiers-1.12.2-1.1.1.jar          | None                                     |     | LCHIJA | recipestages         | 1.1.3                | RecipeStages-1.1.3.8.jar                      | None                                     |     | LCHIJA | additionalstructures | 2.5.0                | rexs-additionalstructures-1.12.xv.2.5.0.jar   | None                                     |     | LCHIJA | sit                  | v1.1.1               | sit_1.12.x_v1.1.1.jar                         | None                                     |     | LCHIJA | skilltree            | 1.2.3.0              | skilltree-1.2.3.0.jar                         | None                                     |     | LCHIJA | surge                | 2.0.79               | surge-1.12.2-2.0.79.jar                       | d476d1b22b218a10d845928d1665d45fce301b27 |     | LCHIJA | twilightforest       | 3.11.1021            | twilightforest_1.12.2_3.11.1021_universal.jar | None                                     |     | LCHIJA | tfspellpack          | 1.1.0                | tfspellpack-1.1.0-mc1.12.2.jar                | None                                     |     | LCHIJA | titlechanger         | 1.1.4                | titlechanger-1.1.4.jar                        | None                                     |     | LCHIJA | tombmanygraves       | 1.12-4.2.0           | TombManyGraves_1.12_4.2.0.jar                 | None                                     |     | LCHIJA | totemic              | 1.12.2-0.11.7        | Totemic-1.12.2-0.11.7.jar                     | None                                     |     | LCHIJA | toughasnails         | 3.1.0.140            | ToughAsNails_1.12.2_3.1.0.140_universal.jar   | None                                     |     | LCHIJA | wawla                | 2.6.275              | Wawla_1.12.2_2.6.275.jar                      | d476d1b22b218a10d845928d1665d45fce301b27 |     | LCHIJA | winterwonderland     | 1.2.2                | WinterWonderLand_1.12_1.2.2.jar               | None                                     |     | LCHIJA | xaeroworldmap        | 1.29.3               | WorldMap-v1.29.3-for-Forge-1.12.2.jar         | None                                     |     | LCHIJA | xpfromharvest        | 1.2.0                | xpfromharvest-1.12.2-1.2.0.jar                | None                                     |     | LCHIJA | zenstages            | 0.5.0-null           | zenstages-0.5.0.jar                           | None                                     |     | LCHIJA | rtg                  | 6.1.0.0-snapshot.1   | RTG-1.12.2-6.1.0.0-snapshot.1.jar             | None                                     |     | LCHIJA | phosphor-lighting    | 1.12.2-0.2.7         | phosphor_forge_mc1.12.2_0.2.7_universal.jar   | None                                     |     | LCHIJA | betteranimalsplus    | 9.0.1                | betteranimalsplus_1.12.2_9.0.1.jar            | None                                     |     | LCHIJA | solcarrot            | 1.8.4                | solcarrot-1.12.2-1.8.4.jar                    | None                                     |     Loaded coremods (and transformers):  CorePlugin (smooth-font-mod-1_12_2.jar)   bre.smoothfont.asm.Transformer TransformLoader (DynamicSurroundings-1.12.2-3.6.1.0.jar)    LoadingPlugin (Bloodmoon_MC1.12.2_1.5.3.jar)   lumien.bloodmoon.asm.ClassTransformer LoadingPlugin (resourceloader-mc1.12.1-1.5.3.jar)   lumien.resourceloader.asm.ClassTransformer XaeroWorldMapPlugin (WorldMap-v1.29.3-for-Forge-1.12.2.jar)   xaero.map.core.transformer.ChunkTransformer   xaero.map.core.transformer.NetHandlerPlayClientTransformer   xaero.map.core.transformer.EntityPlayerTransformer   xaero.map.core.transformer.AbstractClientPlayerTransformer   xaero.map.core.transformer.WorldClientTransformer   xaero.map.core.transformer.PlayerListTransformer   xaero.map.core.transformer.SaveFormatTransformer   xaero.map.core.transformer.BiomeColorHelperTransformer   xaero.map.core.transformer.MinecraftTransformer Aqua Acrobatics Transformer (AquaAcrobatics-v1.2.2-1.12.2.jar)    AppleCore (AppleCore-mc1.12.2-3.2.0.jar)   squeek.applecore.asm.TransformerModuleHandler ItemPatchingLoader (ItemPhysic_Full_1.4.37_mc1.12.2.jar)   com.creativemd.itemphysic.ItemTransformer XaeroMinimapPlugin (Minimap-v22.16.2-for-Forge-1.12.2.jar)   xaero.common.core.transformer.ChunkTransformer   xaero.common.core.transformer.NetHandlerPlayClientTransformer   xaero.common.core.transformer.EntityPlayerTransformer   xaero.common.core.transformer.AbstractClientPlayerTransformer   xaero.common.core.transformer.WorldClientTransformer   xaero.common.core.transformer.EntityPlayerSPTransformer   xaero.common.core.transformer.PlayerListTransformer   xaero.common.core.transformer.SaveFormatTransformer   xaero.common.core.transformer.GuiIngameForgeTransformer   xaero.common.core.transformer.GuiBossOverlayTransformer   xaero.common.core.transformer.ModelRendererTransformer llibrary (llibrary-core-1.0.11-1.12.2.jar)   net.ilexiconn.llibrary.server.core.plugin.LLibraryTransformer   net.ilexiconn.llibrary.server.core.patcher.LLibraryRuntimePatcher AstralCore (astralsorcery-1.12.2-1.10.27.jar)    ForgelinPlugin (forgelin-1.8.4.jar)    PhosphorFMLLoadingPlugin (phosphor_forge_mc1.12.2_0.2.7_universal.jar)    BetterFoliageLoader (betterfoliage-mc1.12-2.3.3.jar)   mods.betterfoliage.loader.BetterFoliageTransformer CreativePatchingLoader (CreativeCore_v1.10.65_mc1.12.2.jar)    Inventory Tweaks Coremod (InventoryTweaks_1.12.2_1.64dev.151.jar)   invtweaks.forge.asm.ContainerTransformer SurgeLoadingPlugin (surge-1.12.2-2.0.79.jar)        Profiler Position: N/A (disabled)     Player Count: 0 / 20; []     Is Modded: Definitely; Server brand changed to 'fml,forge'     Type: Dedicated Server (map_server.txt)
    • Was working fine last night with the same mods but now I am getting this: The game crashed whilst rendering overlay Error: java.lang.ExceptionInInitializerError: null https://pastebin.com/rEpcDEFM
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.