Topic category: Plugins and third-party tools
This plugin allows you to render objects on the sky and world
Download:
https://mcreator.net/plugin/93491/custom-fog-plugin-forge-1182-1192
Source code repository:
https://github.com/Sumeshi2/World-Renderer
Event triggers:
World Renderer currently adds 5 event triggers (It is 6 if the version is for 1.14.4 / 1.15.2 / 1.16.5 / 1.17.1)
- "Render world"
- "Render sky"
- "Render fog"
- "Compute fog color"
- "Compute fog density" (Forge 1.15.2 / 1.16.5 / 1.17.1)
- "Compute FOV"
Event trigger "Render world":
It is possible to render objects on the world. You can use these procedures
- "Render entity"
Event trigger "Render sky":
It is possible to render objects on the sky. You can use these procedures
- "Render abyss"
- "Render deep sky"
- "Render moon"
- "Render regular polygon"
- "Render sky box"
- "Render stars"
- "Render sun"
- "Render sunlights"
- "Render texture"
Event Trigger "Render Fog":
- "Set fog distance": It can set fog distances of a start and an end
- "Set fog shape": It can set a fog shape to a sphere or a cylinder (Forge 1.18.2 / 1.19.2 / 1.19.4 / 1.20.1)
Event Trigger "Compute Fog Density" (Forge 1.14.4 / 1.15.2 / 1.16.5 / 1.17.1):
If you want to change fog density, use it (Forge 1.15.2 / 1.16.5 / 1.17.1)
Event Trigger "Compute Fog Color":
It can set fog color. The transparency cannot be changed
Event Trigger "Compute FOV":
FOV value can be changed
Regardless of the dimension, suntime, or nighttime, these event triggers are always triggered. If your modding need these distinctions, you will need to use the condition like the following
"Clear all rendered objects":
If you want to remove the vanilla sky, before you render objects, use the procedure. On event trigger "Render world", It should not use because even blocks and entities will be removed
"Rotate pose":
Rotation will be needed to define for some procedures
""Set texture":
Some procedures need to define texture. If necessary, you will need to use the procedure. If using your texture, You will need to import the texture as the type "Other"
""Set color":
Only if Forge 1.18.2, 1.19.2, 1.19.4 1.20.1, you will need to use the procedure to set a color. Not required for other versions
"Render abyss":
This procedure can render an abyss on the bottom of the sky. It should be used on the event "Render sky"
- "constant": The vanilla abyss is usually rendered when player is at Y=62 or below. However, if this option is enabled, the condition will be ignored and the abyss is always rendered
"Render deep sky":
This procedure can render an deep sky on the top of the sky. It should be used on the event "Render sky"
If you want to use the vanilla sky color, use a procedure "Get sky color" in this way. The following is a comparison without and with deep sky
"Render entity":
This procedure can render an entity on the world. It can only be used on the event "Render world"
- "entity": It is entity to render
- "x/y/z": It defines a world position to render
- "yaw/pitch/roll": It defines a rotation of an entity model
- "size": It is a value which defines a size of an entity model. If the value is 2, the size of a model will be twice
- "brightness": It is the brightness of an entity to render. It is defined from values of sky and block lights
Only if it is in Forge 1.18.2 / 1.19.2 / 1.19.4 / 1.20.1, It is possible to change the color
"Render moon":
This procedure can render a moon on the sky. It cannot change the angles. It should be used on the event "Render sky"
- "constant": it defines whether or not a moon disappears if it rains. If it is enabled, The moon will be always rendered
- "moon phase": If you enable it, moon phases will be used like the vanilla moon. Besides, you will need to use a texture such as the following
It is an example of setting a texture and a color. You will need to import your texture as "Other" and input a mod ID and a texture name
"Render regular polygon":
This procedure can render a regular polygon on the sky. It should be used on the event "Render sky"
- "pose": It defines the rotation of a regular polygon with a new variable "pose"
- "mode": It can change the appearance of a regular polygon to render
- "vertex": It defines the numbers of regular polygon vertices
- "constant": it defines whether or not a regular polygon disappears if it rains. If it is enabled, The regular polygon will be always rendered
The following is an example
"Render sky box":
This procedure can render a sky box on the sky. It should be used on the event "Render sky"
- "mode": It defines how to map a texture
- "SIX_FACES": Different textures can be used for each face. You will need to use the texture like in the above image
- "ONE_FACE": With one texture, a sky box is rendered
- "END_SKY": Like "ONE_FACE", but texture orientation is a little different
- "constant": it defines whether or not a sky box disappears if there are boss mobs in the world. If it is enabled, The sky box will be always rendered
The following is an example
"Render stars":
This procedure can render stars on the sky. It cannot change the angles. It should be used on the event "Render sky"
- "amount": It is the numbers of stars to render
- "seed": It is a seed value which is used for the random numbers to define star positions
- "constant": it defines whether or not stars disappear if it rains. If it is enabled, The stars will be always rendered
The following is an example
You can use a vanilla star color like in the above image
"Render sun":
This procedure can render a sun on the sky. It cannot change the angles. It should be used on the event "Render sky"
- "constant": it defines whether or not a sun disappears if it rains. If it is enabled, The sun will be always rendered
The following is an example
"Render sunlights":
This procedure can render sunlights on the sky. It cannot change the angles. It should be used on the event "Render sky"
The following is an example
Other than the time that is sunrise and sunset, note that the procedure "Get sunlight color" return a transparent color
"Render texture":
This procedure can render a texture on the sky. It should be used on the event "Render sky"
- "pose": It defines rotation of a texture to render
- "size": It defines a size
- "constant": it defines whether or not a texture disappears if it rains. If it is enabled, The texture will be always rendered
The following is an example
Wait, I'm not sure if we understood each other. Basically, what I want is to have my custom sun and my custom sky for both day and night in my custom dimension. I want my own moon and a different custom sky as well.
Rendering complete vanilla sky requires deep sky, sunlight, stars, and abyss besides the sun and moon. Other than the stars, you can use other procedure templates. Here is the order to render
Deep sky > Sunlights > Sun > Moon > Stars > Abyss
Okay, and then how do I go about having my custom daytime sky and the other one for nighttime?
Could you tell me your daytime and nighttime skies specifically?
Those are the names you want.
I apologize, I misunderstood. So basically, during the day, it's orange with clouds and no stars, and during the evening, it's all black with stars.
Oh yes, I forgot, for my daytime texture, it's a six-sided texture.
I'm not sure if this is the right approach for you. Event triggers "Render Sky" are triggered in the player's dimension regardless of day or night. Use condition as the following to separate dimensions, day and night
So, if your sky, it will be the following
So, the textures work, but my sun doesn't appear.
And my moon doesn't appear either.
As previously stated, You will need to add procedures to suit your needs
Okay, great! Everything is working. Thank you so much for your patience. Seriously, thank you a thousand times.
Please ask me if you have any questions :)
Here I am again, I had a question, sorry for bothering you again, but I read that apparently it's not possible to change the color of the fog because I would have wanted to set it to orange.