From 2549ab810fa3b2287e83f6b7ac91d69d6b1f2707 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Thu, 31 Dec 2020 07:24:50 +0300 Subject: [PATCH] Client sky option --- .../ru/betterend/client/BetterEndClient.java | 1 + .../ru/betterend/client/ClientOptions.java | 20 +++++++++++++++++++ .../java/ru/betterend/config/Configs.java | 2 ++ .../mixin/client/WorldRendererMixin.java | 6 +++--- 4 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 src/main/java/ru/betterend/client/ClientOptions.java diff --git a/src/main/java/ru/betterend/client/BetterEndClient.java b/src/main/java/ru/betterend/client/BetterEndClient.java index a7956ef6..e9e2881f 100644 --- a/src/main/java/ru/betterend/client/BetterEndClient.java +++ b/src/main/java/ru/betterend/client/BetterEndClient.java @@ -23,6 +23,7 @@ public class BetterEndClient implements ClientModInitializer { EndParticles.register(); EndEntitiesRenders.register(); EndModelProviders.register(); + ClientOptions.init(); if (BetterEnd.isDevEnvironment()) { TranslationHelper.printMissingNames(); diff --git a/src/main/java/ru/betterend/client/ClientOptions.java b/src/main/java/ru/betterend/client/ClientOptions.java new file mode 100644 index 00000000..29bcd595 --- /dev/null +++ b/src/main/java/ru/betterend/client/ClientOptions.java @@ -0,0 +1,20 @@ +package ru.betterend.client; + +import ru.betterend.config.Configs; + +public class ClientOptions { + private static boolean customSky; + + public static void init() { + setCustomSky(Configs.CLENT_CONFIG.getBooleanRoot("customSky", true)); + Configs.CLENT_CONFIG.saveChanges(); + } + + public static boolean isCustomSky() { + return customSky; + } + + public static void setCustomSky(boolean customSky) { + ClientOptions.customSky = customSky; + } +} diff --git a/src/main/java/ru/betterend/config/Configs.java b/src/main/java/ru/betterend/config/Configs.java index 20028f10..7274b0c5 100644 --- a/src/main/java/ru/betterend/config/Configs.java +++ b/src/main/java/ru/betterend/config/Configs.java @@ -6,6 +6,7 @@ public class Configs { public static final PathConfig ITEM_CONFIG = new PathConfig("items"); public static final IdConfig BIOME_CONFIG = new EntryConfig("biomes"); public static final PathConfig GENERATOR_CONFIG = new PathConfig("generator"); + public static final PathConfig CLENT_CONFIG = new PathConfig("client"); public static void saveConfigs() { ENTITY_CONFIG.saveChanges(); @@ -13,5 +14,6 @@ public class Configs { BIOME_CONFIG.saveChanges(); ITEM_CONFIG.saveChanges(); GENERATOR_CONFIG.saveChanges(); + CLENT_CONFIG.saveChanges(); } } diff --git a/src/main/java/ru/betterend/mixin/client/WorldRendererMixin.java b/src/main/java/ru/betterend/mixin/client/WorldRendererMixin.java index ea68a311..abbed813 100644 --- a/src/main/java/ru/betterend/mixin/client/WorldRendererMixin.java +++ b/src/main/java/ru/betterend/mixin/client/WorldRendererMixin.java @@ -30,6 +30,7 @@ import net.minecraft.client.world.ClientWorld; import net.minecraft.util.Identifier; import net.minecraft.util.math.Quaternion; import ru.betterend.BetterEnd; +import ru.betterend.client.ClientOptions; import ru.betterend.util.BackgroundInfo; import ru.betterend.util.MHelper; @@ -83,7 +84,7 @@ public class WorldRendererMixin { @Inject(method = "renderSky", at = @At("HEAD"), cancellable = true) private void renderBetterEndSky(MatrixStack matrices, float tickDelta, CallbackInfo info) { - if (client.world.getSkyProperties().getSkyType() == SkyProperties.SkyType.END) { + if (ClientOptions.isCustomSky() && client.world.getSkyProperties().getSkyType() == SkyProperties.SkyType.END) { time = (ticks % 360000) * 0.001F; BackgroundRenderer.setFogBlack(); @@ -324,8 +325,7 @@ public class WorldRendererMixin { private void makeCylinder(BufferBuilder buffer, int segments, double height, double radius) { buffer.begin(7, VertexFormats.POSITION_TEXTURE); - for (int i = 0; i < segments; i ++) - { + for (int i = 0; i < segments; i ++) { double a1 = (double) i * Math.PI * 2.0 / (double) segments; double a2 = (double) (i + 1) * Math.PI * 2.0 / (double) segments; double px1 = Math.sin(a1) * radius;