change: big refactor for new name and organisation

This commit is contained in:
ZtereoHYPE 2022-10-13 12:55:01 +02:00
parent 2ec1c5f329
commit 707e0279a1
14 changed files with 49 additions and 151 deletions

View file

@ -1,97 +0,0 @@
//package codes.ztereohype.example;
//
//import codes.ztereohype.example.sky.Star;
//import com.mojang.blaze3d.vertex.*;
//import net.minecraft.util.RandomSource;
//import net.minecraft.world.level.levelgen.synth.ImprovedNoise;
//import org.openjdk.jmh.annotations.*;
//
//import java.util.ArrayList;
//import java.util.concurrent.TimeUnit;
//
//@State(Scope.Benchmark)
//public class StarUpdateBenchmark {,
// public ArrayList<Star> starList = new ArrayList<>();
// public BufferBuilder starBufferBuilder = Tesselator.getInstance().getBuilder();
//
// @Setup(Level.Trial)
// public void setUp() {
// starBufferBuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR);
// RandomSource randomSource = RandomSource.create(123L);
// ImprovedNoise noise = new ImprovedNoise(randomSource);
// starList.clear();
//
// for (int i = 0; i < 1700; ++i) {
// // -1..1
// float randX = randomSource.nextFloat() * 2.0F - 1.0F;
// float randY = randomSource.nextFloat() * 2.0F - 1.0F;
// float randZ = randomSource.nextFloat() * 2.0F - 1.0F;
//
// float twinkleSpeed = 0.03f + randomSource.nextFloat() * 0.04f;
//
// double[] starDerivatives = new double[] {0,0,0};
// float starValue = (float) noise.noiseWithDerivative(randX*3, randY*3, randZ*3, starDerivatives) * 0.5f + 0.5f;
//
// float maxDerivative = (float) Math.max(Math.abs(starDerivatives[0]), Math.max(Math.abs(starDerivatives[1]), Math.abs(starDerivatives[2]))); //kinda normal distr around 1?
// float temperature = maxDerivative * 8000;
//
// // 0.15..0.25 ???
// float starRadius = 0.15F + randomSource.nextFloat() * 0.15F;
// starRadius *= starValue;
//
// float squaredDistance = randX * randX + randY * randY + randZ * randZ;
//
// if (squaredDistance < 1.0 && squaredDistance > 0.01 && starRadius > 0.13) {
// starList.add(new Star(randX, randY, randZ, starRadius, temperature, twinkleSpeed));
// } else --i;
// }
// }
//
// @Warmup(iterations = 1)
// @Measurement(iterations = 15, time = 2000, timeUnit = TimeUnit.MILLISECONDS)
// @OutputTimeUnit(TimeUnit.MILLISECONDS)
// @Benchmark
// public void updateStars1() {
// starBufferBuilder.clear();
// for (Star star : starList) {
// star.tick(134);
// star.setVertices(starBufferBuilder);
// }
// }
//
// @Warmup(iterations = 1)
// @Measurement(iterations = 15, time = 2000, timeUnit = TimeUnit.MILLISECONDS)
// @OutputTimeUnit(TimeUnit.MILLISECONDS)
// @Benchmark
// public void updateStars2() {
// starBufferBuilder.clear();
// starList.stream().parallel().forEach(star -> star.tick(134));
// for (Star star : starList) {
// star.setVertices(starBufferBuilder);
// }
// }
//
// @Warmup(iterations = 1)
// @Measurement(iterations = 15, time = 2000, timeUnit = TimeUnit.MILLISECONDS)
// @OutputTimeUnit(TimeUnit.MILLISECONDS)
// @Benchmark
// public void updateStars3() {
// starBufferBuilder.clear();
// for (Star star : starList) {
// star.tick(134);
//// star.setVerticesTwo(starBufferBuilder);
// }
// }
//
// @Warmup(iterations = 1)
// @Measurement(iterations = 15, time = 2000, timeUnit = TimeUnit.MILLISECONDS)
// @OutputTimeUnit(TimeUnit.MILLISECONDS)
// @Benchmark
// public void updateStars4() {
// starBufferBuilder.clear();
// starList.stream().parallel().forEach(star -> star.tick(134));
// for (Star star : starList) {
//// star.setVerticesTwo(starBufferBuilder);
// }
// }
//}

View file

@ -3,7 +3,7 @@ package codes.ztereohype.example;
import codes.ztereohype.example.sky.SkyManager;
import net.fabricmc.api.ModInitializer;
public class ExampleMod implements ModInitializer {
public class NicerSkies implements ModInitializer {
public static boolean toggle = true;
public static SkyManager skyManager = new SkyManager();

View file

@ -1,4 +1,4 @@
package codes.ztereohype.example;
package codes.ztereohype.example.core;
import java.awt.*;
import java.util.Map;

View file

@ -1,6 +1,6 @@
package codes.ztereohype.example.mixin;
import codes.ztereohype.example.ExampleMod;
import codes.ztereohype.example.NicerSkies;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.BufferBuilder;
import com.mojang.blaze3d.vertex.PoseStack;
@ -29,16 +29,16 @@ public abstract class MixinStarRendering {
@Inject(at = @At("HEAD"), method = "createStars", cancellable = true)
private void generateStars(CallbackInfo ci) {
ExampleMod.skyManager.generateSky(321L);
NicerSkies.skyManager.generateSky(321L);
starBuffer = new VertexBuffer();
ExampleMod.skyManager.tick(ticks, starBuffer);
NicerSkies.skyManager.tick(ticks, starBuffer);
ci.cancel();
}
@Inject(at = @At("HEAD"), method = "tick")
private void tickStars(CallbackInfo ci) {
if (this.level.getStarBrightness(0) < 0.0F) return;
ExampleMod.skyManager.tick(ticks, starBuffer);
NicerSkies.skyManager.tick(ticks, starBuffer);
}
@ModifyArg(
@ -58,6 +58,6 @@ public abstract class MixinStarRendering {
private void drawSkybox(PoseStack poseStack, Matrix4f projectionMatrix, float partialTick, Camera camera, boolean bl, Runnable skyFogSetup, CallbackInfo ci, FogType fogType, Vec3 vec3, float f, float g, float h, BufferBuilder bufferBuilder, ShaderInstance shaderInstance, float[] fs, float i, Matrix4f matrix4f2, float k, int r, int s, int m, float t, float o, float p, float q) {
// todo: the star brightness limits skybox's + skyboxes render during rain which is off.
RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, level.getStarBrightness(0));
ExampleMod.skyManager.getSkybox().render(poseStack, projectionMatrix);
NicerSkies.skyManager.getSkybox().render(poseStack, projectionMatrix);
}
}

View file

@ -1,6 +1,6 @@
package codes.ztereohype.example.mixin.debug;
import codes.ztereohype.example.ExampleMod;
import codes.ztereohype.example.NicerSkies;
import net.minecraft.client.KeyboardHandler;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
@ -13,8 +13,8 @@ public class MixinKeyboardHandler {
private void printKey(long windowPointer, int key, int scanCode, int action, int modifiers, CallbackInfo ci) {
// \ key, keydown action
if (key == 92 && action == 1) {
ExampleMod.skyManager.generateSky(321L);
ExampleMod.toggle = !ExampleMod.toggle;
NicerSkies.skyManager.generateSky(321L);
NicerSkies.toggle = !NicerSkies.toggle;
}
}
}

View file

@ -1,9 +1,8 @@
package codes.ztereohype.example.sky;
import codes.ztereohype.example.Gradient;
import codes.ztereohype.example.core.Gradient;
import codes.ztereohype.example.sky.nebula.NebulaSkyboxPainter;
import codes.ztereohype.example.sky.nebula.Skybox;
import codes.ztereohype.example.sky.nebula.StarSkyboxPainter;
import codes.ztereohype.example.sky.star.Starbox;
import com.mojang.blaze3d.vertex.VertexBuffer;
import lombok.Getter;

View file

@ -1,6 +1,6 @@
package codes.ztereohype.example.sky.nebula;
import codes.ztereohype.example.Gradient;
import codes.ztereohype.example.core.Gradient;
import net.minecraft.util.FastColor;
import net.minecraft.util.Mth;
import net.minecraft.world.level.levelgen.synth.PerlinNoise;

View file

@ -106,22 +106,22 @@ public class Skybox {
skyboxBuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX);
// +z face
skyboxBuilder.vertex(-100F, -100F, 100F).uv(0.25f, 0.25f).endVertex();
skyboxBuilder.vertex(-100F, 100F, 100F).uv(0.25f, 0.5f).endVertex();
skyboxBuilder.vertex(100F, 100F, 100F).uv(0.5f, 0.5f).endVertex();
skyboxBuilder.vertex(100F, -100F, 100F).uv(0.5f, 0.25f).endVertex();
skyboxBuilder.vertex(-80F, -80F, 80F).uv(0.25f, 0.25f).endVertex();
skyboxBuilder.vertex(-80F, 80F, 80F).uv(0.25f, 0.5f).endVertex();
skyboxBuilder.vertex(80F, 80F, 80F).uv(0.5f, 0.5f).endVertex();
skyboxBuilder.vertex(80F, -80F, 80F).uv(0.5f, 0.25f).endVertex();
// -z face
skyboxBuilder.vertex(-100F, -100F, -100F).uv(0.75f, 0.25f).endVertex();
skyboxBuilder.vertex(100F, -100F, -100F).uv(1f, 0.25f).endVertex();
skyboxBuilder.vertex(100F, 100F, -100F).uv(1f, 0.5f).endVertex();
skyboxBuilder.vertex(-100F, 100F, -100F).uv(0.75f, 0.5f).endVertex();
skyboxBuilder.vertex(-80F, -80F, -80F).uv(0.75f, 0.25f).endVertex();
skyboxBuilder.vertex(80F, -80F, -80F).uv(1f, 0.25f).endVertex();
skyboxBuilder.vertex(80F, 80F, -80F).uv(1f, 0.5f).endVertex();
skyboxBuilder.vertex(-80F, 80F, -80F).uv(0.75f, 0.5f).endVertex();
// bottom face
skyboxBuilder.vertex(-100F, -100F, -100F).uv(0.5f, 0.5f).endVertex();
skyboxBuilder.vertex(-100F, -100F, 100F).uv(0.5f, 0.75f).endVertex();
skyboxBuilder.vertex(100F, -100F, 100F).uv(0.75f, 0.75f).endVertex();
skyboxBuilder.vertex(100F, -100F, -100F).uv(0.75f, 0.5f).endVertex();
skyboxBuilder.vertex(-80F, -80F, -80F).uv(0.5f, 0.5f).endVertex();
skyboxBuilder.vertex(-80F, -80F, 80F).uv(0.5f, 0.75f).endVertex();
skyboxBuilder.vertex(80F, -80F, 80F).uv(0.75f, 0.75f).endVertex();
skyboxBuilder.vertex(80F, -80F, -80F).uv(0.75f, 0.5f).endVertex();
// skyboxBuilder.vertex(-1F, -1F, -1F).uv(0f, 0f).endVertex();
// skyboxBuilder.vertex(-1F, -1F, 1F).uv(0f, 1f).endVertex();
@ -129,22 +129,22 @@ public class Skybox {
// skyboxBuilder.vertex(1F, -1F, -1F).uv(1f, 0f).endVertex();
// top face
skyboxBuilder.vertex(-100F, 100F, -100F).uv(0.5f, 0f).endVertex();
skyboxBuilder.vertex(100F, 100F, -100F).uv(0.75f, 0f).endVertex();
skyboxBuilder.vertex(100F, 100F, 100F).uv(0.75f, 0.25f).endVertex();
skyboxBuilder.vertex(-100F, 100F, 100F).uv(0.5f, 0.25f).endVertex();
skyboxBuilder.vertex(-80F, 80F, -80F).uv(0.5f, 0f).endVertex();
skyboxBuilder.vertex(80F, 80F, -80F).uv(0.75f, 0f).endVertex();
skyboxBuilder.vertex(80F, 80F, 80F).uv(0.75f, 0.25f).endVertex();
skyboxBuilder.vertex(-80F, 80F, 80F).uv(0.5f, 0.25f).endVertex();
// +x face
skyboxBuilder.vertex(100F, -100F, -100F).uv(0.5f, 0.25f).endVertex();
skyboxBuilder.vertex(100F, -100F, 100F).uv(0.75f, 0.25f).endVertex();
skyboxBuilder.vertex(100F, 100F, 100F).uv(0.75f, 0.5f).endVertex();
skyboxBuilder.vertex(100F, 100F, -100F).uv(0.5f, 0.5f).endVertex();
skyboxBuilder.vertex(80F, -80F, -80F).uv(0.5f, 0.25f).endVertex();
skyboxBuilder.vertex(80F, -80F, 80F).uv(0.75f, 0.25f).endVertex();
skyboxBuilder.vertex(80F, 80F, 80F).uv(0.75f, 0.5f).endVertex();
skyboxBuilder.vertex(80F, 80F, -80F).uv(0.5f, 0.5f).endVertex();
// -x face
skyboxBuilder.vertex(-100F, -100F, -100F).uv(0f, 0.25f).endVertex();
skyboxBuilder.vertex(-100F, 100F, -100F).uv(0f, 0.5f).endVertex();
skyboxBuilder.vertex(-100F, 100F, 100F).uv(0.25f, 0.5f).endVertex();
skyboxBuilder.vertex(-100F, -100F, 100F).uv(0.25f, 0.25f).endVertex();
skyboxBuilder.vertex(-80F, -80F, -80F).uv(0f, 0.25f).endVertex();
skyboxBuilder.vertex(-80F, 80F, -80F).uv(0f, 0.5f).endVertex();
skyboxBuilder.vertex(-80F, 80F, 80F).uv(0.25f, 0.5f).endVertex();
skyboxBuilder.vertex(-80F, -80F, 80F).uv(0.25f, 0.25f).endVertex();
skyboxBuffer.bind();
skyboxBuffer.upload(skyboxBuilder.end());

View file

@ -1,6 +1,6 @@
package codes.ztereohype.example.sky.nebula;
import codes.ztereohype.example.Gradient;
import codes.ztereohype.example.core.Gradient;
import net.minecraft.util.FastColor;
import net.minecraft.util.Mth;
import net.minecraft.world.level.levelgen.synth.PerlinNoise;

View file

@ -1,6 +1,6 @@
package codes.ztereohype.example.sky.star;
import codes.ztereohype.example.Gradient;
import codes.ztereohype.example.core.Gradient;
import com.mojang.blaze3d.vertex.*;
import net.minecraft.util.RandomSource;
import net.minecraft.world.level.levelgen.synth.ImprovedNoise;

View file

Before

Width:  |  Height:  |  Size: 453 B

After

Width:  |  Height:  |  Size: 453 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 104 KiB

After

Width:  |  Height:  |  Size: 104 KiB

Before After
Before After

View file

@ -1,33 +1,29 @@
{
"schemaVersion": 1,
"id": "modid",
"version": "${version}",
"name": "Example Mod",
"description": "This is an example description! Tell everyone what your mod is about!",
"id": "nicer-skies",
"version": "0.1.0",
"name": "Nicer Skies",
"description": "This is a mod that improves the minecraft skies a little whilst keeping the behaviours vanilla and compatible.",
"authors": [
"Me!"
"ZtereoHYPE"
],
"contact": {
"homepage": "https://fabricmc.net/",
"sources": "https://github.com/FabricMC/fabric-example-mod"
"sources": "https://github.com/ZtereoHYPE/nicer-skies"
},
"license": "CC0-1.0",
"icon": "assets/modid/icon.png",
"environment": "*",
"license": "LGPLv3",
"icon": "assets/nicer_skies/icon.png",
"environment": "client",
"entrypoints": {
"main": [
"codes.ztereohype.example.ExampleMod"
"codes.ztereohype.example.NicerSkies"
]
},
"mixins": [
"modid.mixins.json"
"nicer_skies.mixins.json"
],
"depends": {
"fabricloader": ">=0.14.6",
"minecraft": "~1.19",
"java": ">=17"
},
"suggests": {
"another-mod": "*"
}
}