From 7b15ce92527ce7e8b89b5a841c1c9b0cdb56cbc4 Mon Sep 17 00:00:00 2001 From: Corosauce Date: Sun, 3 Dec 2023 17:06:09 +0000 Subject: [PATCH] Fix dedicated server crash trying to spawn snowstorms --- build.gradle | 2 +- gradle.properties | 2 +- ....1-1.3.0.jar => coroutil-1.20.1-1.3.1.jar} | Bin 106984 -> 108172 bytes src/main/java/weather2/ServerTickHandler.java | 7 +++++++ .../command/CommandWeather2Client.java | 11 ++--------- .../weather2/config/ConfigLTOverrides.java | 10 ---------- .../java/weather2/config/ConfigParticle.java | 5 ++++- .../storm/WeatherObjectParticleStorm.java | 7 ++----- 8 files changed, 17 insertions(+), 27 deletions(-) rename libs/{coroutil-1.20.1-1.3.0.jar => coroutil-1.20.1-1.3.1.jar} (81%) delete mode 100644 src/main/java/weather2/config/ConfigLTOverrides.java diff --git a/build.gradle b/build.gradle index 661a79ef..eb49696c 100644 --- a/build.gradle +++ b/build.gradle @@ -187,7 +187,7 @@ dependencies { // then special handling is done to allow a setup of a vanilla dependency without the use of an external repository. minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" - implementation fg.deobf('com.corosus.coroutil:coroutil:1.20.1-1.3.0') + implementation fg.deobf('com.corosus.coroutil:coroutil:1.20.1-1.3.1') //implementation fg.deobf('com.corosus.enderio:EnderIO:1.20.1-6.0.21-alpha') //implementation fg.deobf('com.corosus.pipez:pipez:1.20.1-1.1.5') //implementation fg.deobf('oculus:oculus:mc1.20.1-1.6.9') diff --git a/gradle.properties b/gradle.properties index f9f151a2..7cacf0a6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -54,7 +54,7 @@ mod_name=Weather2 # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=All Rights Reserved # The mod version. See https://semver.org/ -mod_version=1.20.1-2.7.17 +mod_version=1.20.1-2.8.0 # The group ID for the mod. It is only important when publishing as an artifact to a Maven repository. # This should match the base package used for the mod sources. # See https://maven.apache.org/guides/mini/guide-naming-conventions.html diff --git a/libs/coroutil-1.20.1-1.3.0.jar b/libs/coroutil-1.20.1-1.3.1.jar similarity index 81% rename from libs/coroutil-1.20.1-1.3.0.jar rename to libs/coroutil-1.20.1-1.3.1.jar index 3330009728a3be43b1a40d809c73cb285d836457..f02bc8e5135983047c5fb26b475ad4483d49f1f6 100644 GIT binary patch delta 13892 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 delta 12810 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 O1_iYo2>Evf)c*svf#Jvi diff --git a/src/main/java/weather2/ServerTickHandler.java b/src/main/java/weather2/ServerTickHandler.java index 57ff550a..ca4c4495 100644 --- a/src/main/java/weather2/ServerTickHandler.java +++ b/src/main/java/weather2/ServerTickHandler.java @@ -70,6 +70,13 @@ public static void tickServer(TickEvent.ServerTickEvent event) { @SubscribeEvent public static void tickServer(TickEvent.LevelTickEvent event) { + //System.out.println("tick ConfigMisc.Aesthetic_Only_Mode: " + ConfigMisc.Aesthetic_Only_Mode); + //System.out.println("tick ConfigMisc.overcastMode: " + ConfigMisc.overcastMode); + + //TODO: TEMPPPPPPPPPPPP + //ConfigMisc.Aesthetic_Only_Mode = true; + //ConfigMisc.overcastMode = true; + if (event.level.dimension() == Level.OVERWORLD && event.phase == TickEvent.Phase.END && !event.level.isClientSide()) { if (ConfigMisc.Aesthetic_Only_Mode) { if (!ConfigMisc.overcastMode) { diff --git a/src/main/java/weather2/command/CommandWeather2Client.java b/src/main/java/weather2/command/CommandWeather2Client.java index 64ea3d51..91ad8536 100644 --- a/src/main/java/weather2/command/CommandWeather2Client.java +++ b/src/main/java/weather2/command/CommandWeather2Client.java @@ -37,13 +37,11 @@ public static void register(final CommandDispatcher dispatch float value = FloatArgumentType.getFloat(c, "value"); ConfigParticle.Particle_effect_rate = value; c.getSource().sendSuccess(() -> Component.literal("Set weather2 particle effect rate to " + value), true); - //why 2? sometimes it doesnt take, wtf lol - ConfigMod.forceSaveAllFilesFromRuntimeSettings(); ConfigMod.forceSaveAllFilesFromRuntimeSettings(); return Command.SINGLE_SUCCESS; })) ) - .then(literal("particle_reset_frequency") + /*.then(literal("particle_reset_frequency") .then(argument("seconds", IntegerArgumentType.integer(0, 20*60*24)).executes(c -> { int value = IntegerArgumentType.getInteger(c, "seconds"); ConfigDebug.Particle_Reset_Frequency = value * 20; @@ -52,14 +50,13 @@ public static void register(final CommandDispatcher dispatch ConfigMod.forceSaveAllFilesFromRuntimeSettings(); return Command.SINGLE_SUCCESS; })) - ) + )*/ .then(literal("particle_vanilla_precipitation") .then(argument("value", BoolArgumentType.bool()).executes(c -> { boolean value = BoolArgumentType.getBool(c, "value"); ConfigParticle.Particle_vanilla_precipitation = value; c.getSource().sendSuccess(() -> Component.literal("Set weather2 to use vanilla particles?: " + value), true); ConfigMod.forceSaveAllFilesFromRuntimeSettings(); - ConfigMod.forceSaveAllFilesFromRuntimeSettings(); return Command.SINGLE_SUCCESS; })) ) @@ -68,7 +65,6 @@ public static void register(final CommandDispatcher dispatch ConfigParticle.Particle_engine_weather2 = true; c.getSource().sendSuccess(() -> Component.literal("Set particle engine to weather2"), true); ConfigMod.forceSaveAllFilesFromRuntimeSettings(); - ConfigMod.forceSaveAllFilesFromRuntimeSettings(); return Command.SINGLE_SUCCESS; })) .then(literal("vanilla").executes(c -> { @@ -76,7 +72,6 @@ public static void register(final CommandDispatcher dispatch ClientTickHandler.particleManagerExtended().clearParticles(); c.getSource().sendSuccess(() -> Component.literal("Set particle engine to vanilla"), true); ConfigMod.forceSaveAllFilesFromRuntimeSettings(); - ConfigMod.forceSaveAllFilesFromRuntimeSettings(); return Command.SINGLE_SUCCESS; })) ) @@ -139,7 +134,6 @@ public static void register(final CommandDispatcher dispatch ConfigDebug.Particle_engine_render = value; c.getSource().sendSuccess(() -> Component.literal("ConfigParticle.Particle_engine_render: " + value), true); ConfigMod.forceSaveAllFilesFromRuntimeSettings(); - ConfigMod.forceSaveAllFilesFromRuntimeSettings(); return Command.SINGLE_SUCCESS; })) ) @@ -149,7 +143,6 @@ public static void register(final CommandDispatcher dispatch ConfigDebug.Particle_engine_tick = value; c.getSource().sendSuccess(() -> Component.literal("ConfigParticle.Particle_engine_tick: " + value), true); ConfigMod.forceSaveAllFilesFromRuntimeSettings(); - ConfigMod.forceSaveAllFilesFromRuntimeSettings(); return Command.SINGLE_SUCCESS; })) ) diff --git a/src/main/java/weather2/config/ConfigLTOverrides.java b/src/main/java/weather2/config/ConfigLTOverrides.java deleted file mode 100644 index d25a7b8e..00000000 --- a/src/main/java/weather2/config/ConfigLTOverrides.java +++ /dev/null @@ -1,10 +0,0 @@ -package weather2.config; - -public class ConfigLTOverrides { - - /*public static boolean stormProgression = false; - public static boolean vanillaRainOverride = false; - - public static boolean windSpeedOverride = true;*/ - -} diff --git a/src/main/java/weather2/config/ConfigParticle.java b/src/main/java/weather2/config/ConfigParticle.java index 05d5b55f..54d2960e 100644 --- a/src/main/java/weather2/config/ConfigParticle.java +++ b/src/main/java/weather2/config/ConfigParticle.java @@ -24,16 +24,19 @@ public class ConfigParticle implements IConfigCategory { public static boolean Particle_Rain_GroundSplash = true; public static boolean Particle_Rain_DownfallSheet = false; public static boolean Particle_VanillaAndWeatherOnly = false;*/ + + @ConfigComment("Adjust amount of precipitation based particles, works as a multiplier") public static double Precipitation_Particle_effect_rate = 0.7D; //public static double Sandstorm_Particle_Debris_effect_rate = 0.6D; //public static double Sandstorm_Particle_Dust_effect_rate = 0.6D; + @ConfigComment("Adjust amount of all weather2 based particles, works as a multiplier") public static double Particle_effect_rate = 1D; @ConfigComment("If true, uses vanilla rain/snow non particle precipitation") public static boolean Particle_vanilla_precipitation = false; - @ConfigComment("If set to false, particles are spawned in using the vanilla particle renderer, may cause issues") + @ConfigComment("If set to false, particles are spawned in using the vanilla particle renderer, may cause issues, performance seems worse") public static boolean Particle_engine_weather2 = true; @ConfigComment("Extra flying block particles to spawn when the tornado rips up a block") diff --git a/src/main/java/weather2/weathersystem/storm/WeatherObjectParticleStorm.java b/src/main/java/weather2/weathersystem/storm/WeatherObjectParticleStorm.java index c1d669a2..c535e6cd 100644 --- a/src/main/java/weather2/weathersystem/storm/WeatherObjectParticleStorm.java +++ b/src/main/java/weather2/weathersystem/storm/WeatherObjectParticleStorm.java @@ -1,9 +1,9 @@ package weather2.weathersystem.storm; import com.corosus.coroutil.util.CoroUtilBlock; +import com.corosus.coroutil.util.CoroUtilCompatibility; import net.minecraft.core.BlockPos; import net.minecraft.core.Holder; -import net.minecraft.core.registries.Registries; import net.minecraft.world.level.Level; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.Biomes; @@ -12,12 +12,9 @@ import net.minecraft.world.phys.Vec3; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.registries.ForgeRegistries; import weather2.WeatherBlocks; -import weather2.client.SceneEnhancer; import weather2.config.ConfigSand; import weather2.config.ConfigSnow; -import weather2.datatypes.PrecipitationType; import weather2.util.CachedNBTTagCompound; import weather2.util.WeatherUtilBlock; import weather2.weathersystem.WeatherManager; @@ -76,7 +73,7 @@ public static boolean isColdForStorm(Level world, Holder biome, boolean f //return biome.getPrecipitation() == Biome.Precipitation.SNOW; //adjusted to this way to make it work with serene seasons boolean canPrecip = biome.get().getPrecipitationAt(pos) == Biome.Precipitation.RAIN || biome.get().getPrecipitationAt(pos) == Biome.Precipitation.SNOW; - return canPrecip && SceneEnhancer.shouldSnowHere(world, biome.get(), pos); + return canPrecip && CoroUtilCompatibility.coldEnoughToSnow(biome.get(), pos, world); } public static boolean isDesert(Holder biome, boolean forSpawn) {