diff --git a/common/src/main/java/draylar/identity/mixin/player/PlayerEntityTickMixin.java b/common/src/main/java/draylar/identity/mixin/player/PlayerEntityTickMixin.java index 9ea3d4c..d988b74 100644 --- a/common/src/main/java/draylar/identity/mixin/player/PlayerEntityTickMixin.java +++ b/common/src/main/java/draylar/identity/mixin/player/PlayerEntityTickMixin.java @@ -52,17 +52,21 @@ private void serverTick(CallbackInfo info) { PlayerAbilities.setCooldown(player, Math.max(0, data.getAbilityCooldown() - 1)); PlayerAbilities.sync(player); - // Sync flight abilities with identity state - boolean shouldAllowFlight = Identity.hasFlyingPermissions(player); - if (shouldAllowFlight != player.getAbilities().allowFlying) { - if (shouldAllowFlight) { - FlightHelper.grantFlightTo(player); - player.getAbilities().setFlySpeed(IdentityConfig.getInstance().flySpeed()); - } else { - FlightHelper.revokeFlight(player); - player.getAbilities().setFlySpeed(0.05f); + // Only sync flight state if the player is currently morphed + // to not conflict with other mods that may modify flight state + if (identity != null) { + // Sync flight abilities with identity state + boolean shouldAllowFlight = Identity.hasFlyingPermissions(player); + if (shouldAllowFlight != player.getAbilities().allowFlying) { + if (shouldAllowFlight) { + FlightHelper.grantFlightTo(player); + player.getAbilities().setFlySpeed(IdentityConfig.getInstance().flySpeed()); + } else { + FlightHelper.revokeFlight(player); + player.getAbilities().setFlySpeed(0.05f); + } + player.sendAbilitiesUpdate(); } - player.sendAbilitiesUpdate(); } // Validate villager profession bindings periodically diff --git a/fabric/build.gradle b/fabric/build.gradle index 83486f0..6e046c7 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -110,17 +110,22 @@ modrinth { } uploadFile = file("build/libs/${archivesBaseName}-${version}-fabric.jar") } -curseforge { - apiKey = System.getenv("CURSEFORGE_TOKEN") - - project { - id = "1238155" - changelog = rootProject.file("IdentityChangeLog.md") - releaseType = "release" // options: alpha, beta, release - addGameVersion "1.20.1" - addGameVersion "Fabric" - mainArtifact(file("build/libs/${archivesBaseName}-${version}-fabric.jar")) { - displayName = "Fabric-${version}" + +var curseforgeToken = System.getenv("CURSEFORGE_TOKEN") + +if (curseforgeToken) { + curseforge { + apiKey = curseforgeToken + + project { + id = "1238155" + changelog = rootProject.file("IdentityChangeLog.md") + releaseType = "release" // options: alpha, beta, release + addGameVersion "1.20.1" + addGameVersion "Fabric" + mainArtifact(file("build/libs/${archivesBaseName}-${version}-fabric.jar")) { + displayName = "Fabric-${version}" + } } } -} +} \ No newline at end of file diff --git a/forge/build.gradle b/forge/build.gradle index 12b9c2e..0387887 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -112,17 +112,23 @@ modrinth { } uploadFile = file("build/libs/${archivesBaseName}-${version}-forge.jar") } -curseforge { - apiKey = System.getenv("CURSEFORGE_TOKEN") - - project { - id = "1238155" - changelog = rootProject.file("IdentityChangeLog.md") - releaseType = "release" // options: alpha, beta, release - addGameVersion "1.20.1" - addGameVersion "Forge" - mainArtifact(file("build/libs/${archivesBaseName}-${version}-forge.jar")) { - displayName = "Forge-${version}" + + +var curseforgeToken = System.getenv("CURSEFORGE_TOKEN") + +if (curseforgeToken) { + curseforge { + apiKey = curseforgeToken + + project { + id = "1238155" + changelog = rootProject.file("IdentityChangeLog.md") + releaseType = "release" // options: alpha, beta, release + addGameVersion "1.20.1" + addGameVersion "Forge" + mainArtifact(file("build/libs/${archivesBaseName}-${version}-forge.jar")) { + displayName = "Forge-${version}" + } } } -} +} \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index a25a297..84144b7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,6 @@ +# Done to increase the memory available to gradle. +org.gradle.jvmargs=-Xmx4G + # Base Versions minecraft_version=1.20.1 archives_base_name=identity