Jump to content

[SOLVED] [1.18.2] How do you control the light level in biomes nowadays?


Recommended Posts

Posted (edited)

Previously, in 1.12.2, we use to have WorldProvider.generateLightBrightnessTable(), but things have changed with WorldGen a lot since then! How do I go about controlling the lightness in a world or biome in 1.18.2?

Edit 1: Changing has_skylight to false in the DimensionType Json gave okay results. Perhaps a custom Dimension Type class will solve this?

EDIT 2 SOLUTION: See my answer below; TLDR DimensionType.fillBrightnessRamp() & DimensionType.brightnessRamp access modifier.

Edited by NamelessDev
New info
Posted

It still exists it just moved. It is in DimensionSpecialEffects.

I have never used it myself, but the navigation is something like.

		ClientLevel level = ...;
		DimensionSpecialEffects dse = DimensionSpecialEffects.forType(level.dimensionType());
		dse.forceBrightLightmap();

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.com  You should also read the support forum sticky post.

Posted

Each dimension type is meant to represent a new dimension.

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.com  You should also read the support forum sticky post.

Posted

Sorry, the code I posted is the getter. There isn't a setter, so you would have to use an access transformer to modify the private field.

  • Like 1

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.com  You should also read the support forum sticky post.

Posted (edited)
3 hours ago, warjort said:

It still exists it just moved. It is in DimensionSpecialEffects.

I have never used it myself, but the navigation is something like.

		ClientLevel level = ...;
		DimensionSpecialEffects dse = DimensionSpecialEffects.forType(level.dimensionType());
		dse.forceBrightLightmap();

Hey Warjort, thanks for the answer but this field is simply a boolean. For clarity, below was the code from the past that actually let me give the lightness of the dimension a value.
 


	@Override
	protected void generateLightBrightnessTable()
	{
		float f = 0F;
		
		for (int i = 0; i <= 15; i++)
		{
			float f1 = 1F - i / 15F;
			float temp = (((1F - f1) / (f1 * 3F + 1F) * (1F - f) + f) / 5f) + 0.01f;
			lightBrightnessTable[i] = temp;
		}
	}

 

Edited by NamelessDev
Posted

Solved. Using an access modifer to change what is clearly the original function: 

DimensionType


   private static float[] fillBrightnessRamp(float pLight) {
      float[] afloat = new float[16];

      for(int i = 0; i <= 15; ++i) {
         float f = (float)i / 15.0F;
         float f1 = f / (4.0F - 3.0F * f);
         afloat = Mth.lerp(pLight, f1, 1.0F);
      }

      return afloat;
   }

  • NamelessDev changed the title to [SOLVED] [1.18.2] How do you control the light level in biomes nowadays?
Posted

Sorry, you mentioned "skylight=false". So I assumed you were looking for the flags that control the the always bright nether and no daytime end.

Boilerplate:

If you don't post your logs/debug.log we can't help you. For curseforge you need to enable the forge debug.log in its minecraft settings. You should also post your crash report if you have one.

If there is no error in the log file and you don't have a crash report then post the launcher_log.txt from the minecraft folder. Again for curseforge this will be in your curseforge/minecraft/Install

Large files should be posted to a file sharing site like https://gist.github.com  You should also read the support forum sticky post.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I tried do download the essential mod to my mod pack but i didnt work. I paly on 1.21 and it should work. I use neoforge for my modding. The weird things is my friend somehow added the mod to his modpack and many others that I somehow can´t. Is there anything i can do? 
    • Thanks, I've now installed a slightly newer version and the server is at least starting up now.
    • i have the same issue. Found 1 Create mod class dependency(ies) in createdeco-1.3.3-1.19.2.jar, which are missing from the current create-1.19.2-0.5.1.i.jar Found 11 Create mod class dependency(ies) in createaddition-fabric+1.19.2-20230723a.jar, which are missing from the current create-1.19.2-0.5.1.i.jar Detailed walkthrough of mods which rely on missing Create mod classes: Mod: createaddition-fabric+1.19.2-20230723a.jar Missing classes of create: com/simibubi/create/compat/jei/category/sequencedAssembly/JeiSequencedAssemblySubCategory com/simibubi/create/compat/recipeViewerCommon/SequencedAssemblySubCategoryType com/simibubi/create/compat/rei/CreateREI com/simibubi/create/compat/rei/EmptyBackground com/simibubi/create/compat/rei/ItemIcon com/simibubi/create/compat/rei/category/CreateRecipeCategory com/simibubi/create/compat/rei/category/WidgetUtil com/simibubi/create/compat/rei/category/animations/AnimatedBlazeBurner com/simibubi/create/compat/rei/category/animations/AnimatedKinetics com/simibubi/create/compat/rei/category/sequencedAssembly/ReiSequencedAssemblySubCategory com/simibubi/create/compat/rei/display/CreateDisplay Mod: createdeco-1.3.3-1.19.2.jar Missing classes of create: com/simibubi/create/content/kinetics/fan/SplashingRecipe
    • The crash points to moonlight lib - try other builds or make a test without this mod and the mods requiring it
    • Do you have shaders enabled? There is an issue with the mod simpleclouds - remove this mod or disable shaders, if enabled  
  • Topics

×
×
  • Create New...

Important Information

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