6 Commits

Author SHA1 Message Date
cdf5cd5d95 Version 1.3.0-beta1 (Fabric) (#17)
* [1.3.0-beta1] Update to 1.21.11

* Fix deploy workflow
2025-12-10 18:21:53 +13:00
80d34ab146 Update README (#16)
* Update README

* Remove new release

* 1.21.0 => 1.21

* Improve wording
2025-12-10 11:13:01 +13:00
0e4c5e1036 Fix issue with refmap naming (#14)
* Fix issue with refmap naming

* Update README
2025-06-20 14:42:20 +12:00
99f504b9ca docs: fix release tag link for v1.2.1 2024-12-16 13:40:40 +13:00
ac040b84cd fix: update to loom 1.7 to fix forge crashing on launch (#12)
This commit also releases Weather Changer v1.2.1
2024-12-16 13:28:39 +13:00
37645401e3 docs: add version 1.2.0 to README 2024-10-21 19:28:44 +13:00
21 changed files with 56 additions and 103 deletions

View File

@@ -43,8 +43,8 @@ jobs:
- name: Create Release
run: |
mkdir dist
mv build/fabric/build/libs/*.jar dist
mv build/forge/build/libs/*.jar dist
shopt -s nullglob
mv build/{fabric,forge}/build/libs/*.jar dist/
pushd dist
shasum -a 256 * > checksums.txt
@@ -59,4 +59,8 @@ jobs:
--generate-notes
)
if [[ "$channel" == "alpha" || "$channel" == "beta" ]]; then
release_args+=( --prerelease )
fi
gh release create "${release_args[@]}" ./dist/*

Binary file not shown.

View File

@@ -28,59 +28,38 @@ Supports forge and fabric, requires the [Fabric API](https://modrinth.com/mod/P7
The command alias `/cweather` may also be used as a shortcut.
### Keybindings
To set the keybindings you can do so in the minecraft keybinding settings.
If you would like to set the keybindings, you can do so in the minecraft keybinding settings.
| Description | Default |
|----------------------------------------------------------------------------------|---------|
| Disable the client weather (weather will display the server weather like normal) | Unbound |
| Set the client weather mod to clear | Unbound |
| Set the client weather mod to rain | Unbound |
| Set the client weather mod to thunder | Unbound |
For supported mod loaders and minecraft versions see [release history](#release-history)
| Set the client weather mod to thunder | Unbound |
<!-- modrinth_exclude.start -->
## Download
You can download the mod from any of the platforms below.
**Modrinth (_recommended_)**: https://modrinth.com/mod/weather-changer <br>
**Curseforge**: https://www.curseforge.com/minecraft/mc-mods/weather-changer <br>
**Modrinth**: https://modrinth.com/mod/weather-changer <br>
**GitHub Releases:** https://github.com/Lucaslah/WeatherChanger/releases <br>
<!-- modrinth_exclude.end -->
## Release History
| Version | MC Version | Mod loaders | Git Tag | Supported |
|---------|---------------|---------------|------------------------------------------------------------------------|-----------|
| v1.1.0 | 1.21 | fabric | [1.1.0](https://github.com/Lucaslah/WeatherChanger/releases/tag/1.1.0) | Yes |
| v1.0.1 | 1.20.1-1.20.6 | fabric, forge | [1.0.1](https://github.com/Lucaslah/WeatherChanger/releases/tag/1.0.1) | Yes |
| v1.0.0 | 1.20.1-1.20.4 | fabric, forge | [1.0.0](https://github.com/Lucaslah/WeatherChanger/releases/tag/1.0.0) | No |
## Supported Versions
### Pre-release (v0) versions
| Version | MC Version | Mod loaders | Git Tag | Supported |
|---------|---------------|-------------|------------------------------------------------------------------------|-----------|
| v0.3.0 | 1.20.1-1.20.4 | fabric | [0.3.0](https://github.com/Lucaslah/WeatherChanger/releases/tag/0.3.0) | No |
| v0.2.0 | 1.19.3 | fabric | [0.2.0](https://github.com/Lucaslah/WeatherChanger/releases/tag/0.2.0) | No |
| v0.1.0 | 1.19.1-1.19.2 | fabric | [0.1.0](https://github.com/Lucaslah/WeatherChanger/releases/tag/0.1.0) | No |
Supported versions may receive bug fixes,
older Minecraft versions may work with older
Weather Changer versions, but are not supported.
## Minecraft Versions
| Version | Status |
|---------|---------------------------------|
| 1.21 | Supported |
| 1.20.6 | Supported |
| 1.20.5 | Supported |
| 1.20.4 | Supported |
| 1.20.3 | Supported |
| 1.20.2 | Supported |
| 1.20.1 | Supported |
| 1.20 | Not Supported (available in v0) |
| 1.19.4 | Not Supported (available in v0) |
| 1.19.3 | Not Supported (available in v0) |
| 1.19.2 | Not Supported (available in v0) |
| 1.19.1 | Not Supported (available in v0) |
See the [GitHub releases](https://github.com/Lucaslah/WeatherChanger/releases) page for full release history.
*Older versions may be added on request*
| Weather Changer Version | Minecraft Version | Mod loaders | Latest Release |
|-------------------------|-------------------|---------------|------------------------------------------------------------------------------------|
| v1.3.x | 1.21.11 | Fabric, Forge | [1.3.0-beta1](https://github.com/Lucaslah/WeatherChanger/releases/tag/1.3.0-beta1) |
| v1.2.x | 1.21-1.21.10 | Fabric, Forge | [1.2.2](https://github.com/Lucaslah/WeatherChanger/releases/tag/1.2.2) |
------------------------------------------
*Licensed under the [GNU Lesser General Public License v3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html) license.*

View File

@@ -3,11 +3,10 @@ import net.fabricmc.loom.task.RemapSourcesJarTask
plugins {
id("architectury-plugin") version "3.4.+"
id ("dev.architectury.loom") version "1.6.+" apply false
id("dev.architectury.loom") version "1.13.+" apply false
}
architectury {
injectInjectables = false
minecraft = properties["minecraft_version"].toString()
}
@@ -23,7 +22,7 @@ subprojects {
tasks.withType<JavaCompile> {
options.encoding = "UTF-8"
options.release.set(17)
options.release.set(21)
}
tasks.withType<Jar> {

View File

@@ -1,4 +1,5 @@
architectury {
injectInjectables = false
common(rootProject.property("enabled_platforms").toString().split(","))
}

View File

@@ -10,8 +10,10 @@ public abstract class Key {
public KeyBinding keybind;
public MinecraftClient mc = MinecraftClient.getInstance();
public Key(@NotNull String name) {
keybind = new KeyBinding(this.getDisplayName(), this.getKeyType(), this.getKey(), this.getCategory());
private static final KeyBinding.Category CATEGORY = KeyBinding.Category.create(Identifier.of("weatherchanger"));
public Key() {
keybind = new KeyBinding(this.getDisplayName(), this.getKeyType(), this.getKey(), CATEGORY);
}
public abstract void onPress(@NotNull MinecraftClient client);
@@ -20,6 +22,5 @@ public abstract class Key {
public abstract boolean isEnabled();
public abstract String getDisplayName();
public abstract InputUtil.Type getKeyType();
public abstract String getCategory();
public abstract int getKey();
}

View File

@@ -12,10 +12,6 @@ import net.minecraft.util.Identifier;
import org.jetbrains.annotations.NotNull;
public class ToggleClearKey extends Key {
public ToggleClearKey() {
super("ToggleClearKey");
}
@Override
public void onPress(@NotNull MinecraftClient client) {
WeatherChanger.setMode(WcMode.CLEAR);
@@ -48,11 +44,6 @@ public class ToggleClearKey extends Key {
return InputUtil.Type.KEYSYM;
}
@Override
public String getCategory() {
return "Weather Changer";
}
@Override
public int getKey() {
return -1;

View File

@@ -12,10 +12,6 @@ import net.minecraft.util.Identifier;
import org.jetbrains.annotations.NotNull;
public class ToggleOffKey extends Key {
public ToggleOffKey() {
super("ToggleOffKey");
}
@Override
public void onPress(@NotNull MinecraftClient client) {
WeatherChanger.setMode(WcMode.OFF);
@@ -48,11 +44,6 @@ public class ToggleOffKey extends Key {
return InputUtil.Type.KEYSYM;
}
@Override
public String getCategory() {
return "Weather Changer";
}
@Override
public int getKey() {
return -1;

View File

@@ -12,10 +12,6 @@ import net.minecraft.util.Identifier;
import org.jetbrains.annotations.NotNull;
public class ToggleRainKey extends Key {
public ToggleRainKey() {
super("ToggleRainKey");
}
@Override
public void onPress(@NotNull MinecraftClient client) {
WeatherChanger.setMode(WcMode.RAIN);
@@ -48,11 +44,6 @@ public class ToggleRainKey extends Key {
return InputUtil.Type.KEYSYM;
}
@Override
public String getCategory() {
return "Weather Changer";
}
@Override
public int getKey() {
return -1;

View File

@@ -12,10 +12,6 @@ import net.minecraft.util.Identifier;
import org.jetbrains.annotations.NotNull;
public class ToggleThunderKey extends Key {
public ToggleThunderKey() {
super("ToggleThunderKey");
}
@Override
public void onPress(@NotNull MinecraftClient client) {
WeatherChanger.setMode(WcMode.THUNDER);
@@ -48,11 +44,6 @@ public class ToggleThunderKey extends Key {
return InputUtil.Type.KEYSYM;
}
@Override
public String getCategory() {
return "Weather Changer";
}
@Override
public int getKey() {
return -1;

View File

@@ -20,11 +20,11 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(World.class)
public class WorldMixin {
@Shadow
protected float rainGradientPrev;
protected float lastRainGradient;
@Shadow
protected float rainGradient;
@Shadow
protected float thunderGradientPrev;
protected float lastThunderGradient;
@Shadow
protected float thunderGradient;
@@ -32,12 +32,12 @@ public class WorldMixin {
@Unique
private float weatherChanger$getRainGradientOg(float delta) {
return MathHelper.lerp(delta, this.rainGradientPrev, this.rainGradient);
return MathHelper.lerp(delta, this.lastRainGradient, this.rainGradient);
}
@Unique
private float weatherChanger$getThunderGradientOg(float delta) {
return MathHelper.lerp(delta, this.thunderGradientPrev, this.thunderGradient) * this.weatherChanger$getRainGradientOg(delta);
return MathHelper.lerp(delta, this.lastThunderGradient, this.thunderGradient) * this.weatherChanger$getRainGradientOg(delta);
}
@Unique
@@ -54,7 +54,7 @@ public class WorldMixin {
} else if (mode == WcMode.RAIN || mode == WcMode.THUNDER) {
callback.setReturnValue(1F);
} else {
callback.setReturnValue(MathHelper.lerp(delta, this.rainGradientPrev, this.rainGradient));
callback.setReturnValue(MathHelper.lerp(delta, this.lastRainGradient, this.rainGradient));
}
callback.cancel();
@@ -69,7 +69,7 @@ public class WorldMixin {
} else if (mode == WcMode.THUNDER) {
callback.setReturnValue(1F);
} else {
callback.setReturnValue(MathHelper.lerp(delta, this.thunderGradientPrev, this.thunderGradient) * MathHelper.lerp(delta, this.rainGradientPrev, this.rainGradient));
callback.setReturnValue(MathHelper.lerp(delta, this.lastThunderGradient, this.thunderGradient) * MathHelper.lerp(delta, this.lastRainGradient, this.rainGradient));
}
callback.cancel();
@@ -83,7 +83,6 @@ public class WorldMixin {
@Inject(method = "isThundering", at = @At("HEAD"), cancellable = true)
public void isThundering(CallbackInfoReturnable<Boolean> callback) {
if (this.weatherChanger$getDimension().hasSkyLight() && !(this.weatherChanger$getDimension().hasCeiling())) {
callback.setReturnValue((double)this.weatherChanger$getThunderGradientOg(1.0F) > 0.9);
} else {

View File

@@ -1,4 +1,5 @@
{
"key.category.minecraft.weatherchanger": "Weather Changer",
"commands.weatherchanger.set.off": "Set client weather to: Off",
"commands.weatherchanger.set.clear": "Set client weather to: Clear",
"commands.weatherchanger.set.rain": "Set client weather to: Rain",

View File

@@ -10,5 +10,6 @@
],
"injectors": {
"defaultRequire": 1
}
},
"refmap": "weatherchanger-common-common-refmap.json"
}

View File

@@ -55,6 +55,8 @@ tasks {
rename { "assets/weatherchanger/icon.png" }
}
rename("common-common-refmap.json", "weatherchanger-common-common-refmap.json")
dependsOn(":common:transformProductionFabric")
from({

View File

@@ -62,6 +62,8 @@ tasks {
rename { "icon.png" }
}
rename("common-common-refmap.json", "weatherchanger-common-common-refmap.json")
dependsOn(":common:transformProductionForge")
from({

View File

@@ -5,15 +5,15 @@ org.gradle.jvmargs=-Xmx2G
kotlin.code.style=official
# Minecraft Properties
minecraft_version=1.21
minecraft_version=1.21.11
minecraft_base=1.21
yarn_mappings=1.21+build.7
yarn_mappings=1.21.11+build.1
# Architectury Properties
enabled_platforms=fabric,forge
# Mod Properties
mod_version = 1.2.0
mod_version = 1.3.0-beta1
mod_id = weatherchanger
maven_group = me.lucaslah.weatherchanger
archives_base_name = weather-changer
@@ -23,8 +23,8 @@ archives_base_name = weather-changer
release_channel=release
# Fabric
fabric.loader_version=0.15.11
fabric.version=0.100.1+1.21
fabric.loader_version=0.18.2
fabric.version=0.139.4+1.21.11
# Forge
forge.version=1.21-51.0.21

Binary file not shown.

View File

@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME

2
gradlew vendored
View File

@@ -55,7 +55,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.

20
gradlew.bat vendored
View File

@@ -43,11 +43,11 @@ set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
@@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail

View File

@@ -38,4 +38,4 @@ gradleEnterprise {
include("common")
include("fabric")
include("forge")
//include("forge")