diff --git a/api/src/main/java/net/momirealms/customcrops/api/core/world/CustomCropsBlockStateImpl.java b/api/src/main/java/net/momirealms/customcrops/api/core/world/CustomCropsBlockStateImpl.java index c3dbc72..b63ee7d 100644 --- a/api/src/main/java/net/momirealms/customcrops/api/core/world/CustomCropsBlockStateImpl.java +++ b/api/src/main/java/net/momirealms/customcrops/api/core/world/CustomCropsBlockStateImpl.java @@ -20,6 +20,7 @@ package net.momirealms.customcrops.api.core.world; import com.flowpowered.nbt.CompoundMap; import com.flowpowered.nbt.CompoundTag; import com.flowpowered.nbt.Tag; +import com.flowpowered.nbt.stream.NBTInputStream; import net.momirealms.customcrops.api.core.SynchronizedCompoundMap; import net.momirealms.customcrops.api.core.block.CustomCropsBlock; import net.momirealms.customcrops.api.util.TagUtils; @@ -85,6 +86,7 @@ public class CustomCropsBlockStateImpl implements CustomCropsBlockState { return compoundMap.equals(that.compoundMap); } + // Due to the defects of flownbt itself, hash efficiency is very low @Override public int hashCode() { Tag id = compoundMap.get("id"); diff --git a/api/src/main/java/net/momirealms/customcrops/api/util/TagUtils.java b/api/src/main/java/net/momirealms/customcrops/api/util/TagUtils.java index 55d6a80..985bd00 100644 --- a/api/src/main/java/net/momirealms/customcrops/api/util/TagUtils.java +++ b/api/src/main/java/net/momirealms/customcrops/api/util/TagUtils.java @@ -59,6 +59,8 @@ public class TagUtils { } } + // There is a problem with this method, which comes from flownbt itself + // This method cannot perform a deep copy of a compound nested in a list. public static CompoundMap deepClone(CompoundMap initial) { CompoundMap clone = new CompoundMap(); for (Tag tag : initial) { diff --git a/compatibility-nexo-r1/build.gradle.kts b/compatibility-nexo-r1/build.gradle.kts index ee1e2d1..f778f71 100644 --- a/compatibility-nexo-r1/build.gradle.kts +++ b/compatibility-nexo-r1/build.gradle.kts @@ -8,12 +8,12 @@ dependencies { compileOnly(project(":api")) compileOnly(project(":common")) compileOnly("io.papermc.paper:paper-api:1.20.4-R0.1-SNAPSHOT") - compileOnly("com.nexomc:nexo:0.1.0-dev.0") + compileOnly("com.nexomc:nexo:0.1.0-dev.6") } tasks.withType { options.encoding = "UTF-8" - options.release.set(17) + options.release.set(21) } java { diff --git a/gradle.properties b/gradle.properties index 01dd42f..d203d04 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ # Project settings # Rule: [major update].[feature update].[bug fix] -project_version=3.6.21 +project_version=3.6.22 config_version=42 project_group=net.momirealms diff --git a/plugin/build.gradle.kts b/plugin/build.gradle.kts index d6cd4c4..59f12d5 100644 --- a/plugin/build.gradle.kts +++ b/plugin/build.gradle.kts @@ -22,11 +22,6 @@ dependencies { } implementation(project(":common")) implementation(project(":compatibility")) - implementation(project(":compatibility-oraxen-r1")) - implementation(project(":compatibility-oraxen-r2")) - implementation(project(":compatibility-nexo-r1")) - implementation(project(":compatibility-itemsadder-r1")) - implementation(project(":compatibility-crucible-r1")) implementation(project(":compatibility-asp-r1")) implementation("net.kyori:adventure-api:${rootProject.properties["adventure_bundle_version"]}") @@ -51,6 +46,11 @@ dependencies { tasks { shadowJar { + from(project(":compatibility-nexo-r1").tasks.jar.get().archiveFile) + from(project(":compatibility-oraxen-r1").tasks.jar.get().archiveFile) + from(project(":compatibility-oraxen-r2").tasks.jar.get().archiveFile) + from(project(":compatibility-itemsadder-r1").tasks.jar.get().archiveFile) + from(project(":compatibility-crucible-r1").tasks.jar.get().archiveFile) archiveFileName = "CustomCrops-${rootProject.properties["project_version"]}.jar" destinationDirectory.set(file("$rootDir/target")) relocate("net.kyori", "net.momirealms.customcrops.libraries") diff --git a/settings.gradle.kts b/settings.gradle.kts index f78569d..0d12ecc 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -8,4 +8,4 @@ include(":compatibility-oraxen-r1") include(":compatibility-oraxen-r2") include(":compatibility-nexo-r1") include(":compatibility-itemsadder-r1") -include(":compatibility-crucible-r1") +include(":compatibility-crucible-r1") \ No newline at end of file