diff --git a/src/jmh/java/codes/ztereohype/example/StarUpdateBenchmark.java b/src/jmh/java/codes/ztereohype/example/StarUpdateBenchmark.java deleted file mode 100644 index b7dfca7..0000000 --- a/src/jmh/java/codes/ztereohype/example/StarUpdateBenchmark.java +++ /dev/null @@ -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 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); -// } -// } -//} diff --git a/src/main/java/codes/ztereohype/example/ExampleMod.java b/src/main/java/codes/ztereohype/example/NicerSkies.java similarity index 84% rename from src/main/java/codes/ztereohype/example/ExampleMod.java rename to src/main/java/codes/ztereohype/example/NicerSkies.java index fed669f..a86bf85 100644 --- a/src/main/java/codes/ztereohype/example/ExampleMod.java +++ b/src/main/java/codes/ztereohype/example/NicerSkies.java @@ -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(); diff --git a/src/main/java/codes/ztereohype/example/Gradient.java b/src/main/java/codes/ztereohype/example/core/Gradient.java similarity index 97% rename from src/main/java/codes/ztereohype/example/Gradient.java rename to src/main/java/codes/ztereohype/example/core/Gradient.java index 23d87f0..612476a 100644 --- a/src/main/java/codes/ztereohype/example/Gradient.java +++ b/src/main/java/codes/ztereohype/example/core/Gradient.java @@ -1,4 +1,4 @@ -package codes.ztereohype.example; +package codes.ztereohype.example.core; import java.awt.*; import java.util.Map; diff --git a/src/main/java/codes/ztereohype/example/mixin/MixinStarRendering.java b/src/main/java/codes/ztereohype/example/mixin/MixinStarRendering.java index 16c1c7f..cfefd59 100644 --- a/src/main/java/codes/ztereohype/example/mixin/MixinStarRendering.java +++ b/src/main/java/codes/ztereohype/example/mixin/MixinStarRendering.java @@ -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); } } diff --git a/src/main/java/codes/ztereohype/example/mixin/debug/MixinKeyboardHandler.java b/src/main/java/codes/ztereohype/example/mixin/debug/MixinKeyboardHandler.java index d4f1007..fd97279 100644 --- a/src/main/java/codes/ztereohype/example/mixin/debug/MixinKeyboardHandler.java +++ b/src/main/java/codes/ztereohype/example/mixin/debug/MixinKeyboardHandler.java @@ -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; } } } diff --git a/src/main/java/codes/ztereohype/example/sky/SkyManager.java b/src/main/java/codes/ztereohype/example/sky/SkyManager.java index 5cdfbce..a40ccf6 100644 --- a/src/main/java/codes/ztereohype/example/sky/SkyManager.java +++ b/src/main/java/codes/ztereohype/example/sky/SkyManager.java @@ -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; diff --git a/src/main/java/codes/ztereohype/example/sky/nebula/NebulaSkyboxPainter.java b/src/main/java/codes/ztereohype/example/sky/nebula/NebulaSkyboxPainter.java index 0ae0dba..05bd020 100644 --- a/src/main/java/codes/ztereohype/example/sky/nebula/NebulaSkyboxPainter.java +++ b/src/main/java/codes/ztereohype/example/sky/nebula/NebulaSkyboxPainter.java @@ -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; diff --git a/src/main/java/codes/ztereohype/example/sky/nebula/Skybox.java b/src/main/java/codes/ztereohype/example/sky/nebula/Skybox.java index 88d37ff..d8bf3fa 100644 --- a/src/main/java/codes/ztereohype/example/sky/nebula/Skybox.java +++ b/src/main/java/codes/ztereohype/example/sky/nebula/Skybox.java @@ -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()); diff --git a/src/main/java/codes/ztereohype/example/sky/nebula/StarSkyboxPainter.java b/src/main/java/codes/ztereohype/example/sky/nebula/StarSkyboxPainter.java index 908eb32..1e0fea2 100644 --- a/src/main/java/codes/ztereohype/example/sky/nebula/StarSkyboxPainter.java +++ b/src/main/java/codes/ztereohype/example/sky/nebula/StarSkyboxPainter.java @@ -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; diff --git a/src/main/java/codes/ztereohype/example/sky/star/Starbox.java b/src/main/java/codes/ztereohype/example/sky/star/Starbox.java index 5f8c022..eac0319 100644 --- a/src/main/java/codes/ztereohype/example/sky/star/Starbox.java +++ b/src/main/java/codes/ztereohype/example/sky/star/Starbox.java @@ -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; diff --git a/src/main/resources/assets/modid/icon.png b/src/main/resources/assets/nicer_skies/icon.png similarity index 100% rename from src/main/resources/assets/modid/icon.png rename to src/main/resources/assets/nicer_skies/icon.png diff --git a/src/main/resources/assets/modid/textures/monkey.png b/src/main/resources/assets/nicer_skies/textures/monkey.png similarity index 100% rename from src/main/resources/assets/modid/textures/monkey.png rename to src/main/resources/assets/nicer_skies/textures/monkey.png diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index c5e0f55..36dfc46 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -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": "*" } } diff --git a/src/main/resources/modid.mixins.json b/src/main/resources/nicer_skies.mixins.json similarity index 100% rename from src/main/resources/modid.mixins.json rename to src/main/resources/nicer_skies.mixins.json