From 2956355ce762c9413d26248e67830dafadce230f Mon Sep 17 00:00:00 2001 From: shedaniel Date: Fri, 14 May 2021 19:45:58 +0800 Subject: [PATCH] Update to 21w19a and require java 16 for compilation Signed-off-by: shedaniel --- .github/workflows/publish.yml | 4 +- .github/workflows/snapshot.yml | 4 +- build.gradle | 4 +- .../registry/BlockEntityRenderers.java | 6 +-- .../registry/DeferredRegister.java | 37 ++++++------------- .../registry/fabric/RegistriesImpl.java | 4 +- forge/gradle.properties | 2 +- .../registry/forge/RegistriesImpl.java | 6 +-- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle | 4 ++ testmod-common/build.gradle | 2 +- testmod-fabric/build.gradle | 4 +- testmod-forge/gradle.properties | 2 +- 14 files changed, 34 insertions(+), 49 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f59b91c4..e30a2eee 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -15,10 +15,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 - - name: Set up JDK 1.8 + - name: Set up JDK 16 uses: actions/setup-java@v1 with: - java-version: 1.8 + java-version: 16 - name: Upload to Maven run: ./gradlew publish curseforgePublish --stacktrace if: | diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml index e5689d22..30c7107f 100644 --- a/.github/workflows/snapshot.yml +++ b/.github/workflows/snapshot.yml @@ -15,10 +15,10 @@ jobs: steps: - uses: actions/checkout@v1 - - name: Set up JDK 1.8 + - name: Set up JDK 16 uses: actions/setup-java@v1 with: - java-version: 1.8 + java-version: 16 - name: Upload to Maven run: ./gradlew publish --stacktrace if: | diff --git a/build.gradle b/build.gradle index 9e2553af..135fd185 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { id "architectury-plugin" version "3.1-SNAPSHOT" - id "forgified-fabric-loom" version "0.6-SNAPSHOT" apply false + id "dev.architectury.loom" version "0.7.2-SNAPSHOT" apply false id "org.cadixdev.licenser" version "0.5.0" id "com.matthewprenger.cursegradle" version "1.4.0" apply false id "maven-publish" @@ -11,7 +11,7 @@ architectury { } subprojects { - apply plugin: "forgified-fabric-loom" + apply plugin: "dev.architectury.loom" loom { silentMojangMappingsLicense() diff --git a/common/src/main/java/me/shedaniel/architectury/registry/BlockEntityRenderers.java b/common/src/main/java/me/shedaniel/architectury/registry/BlockEntityRenderers.java index f7a1ba4e..8fd1c96d 100644 --- a/common/src/main/java/me/shedaniel/architectury/registry/BlockEntityRenderers.java +++ b/common/src/main/java/me/shedaniel/architectury/registry/BlockEntityRenderers.java @@ -34,12 +34,8 @@ import java.util.function.Function; public final class BlockEntityRenderers { private BlockEntityRenderers() {} - public static void registerRenderer(BlockEntityType type, Function> provider) { - registerRenderer(type, (BlockEntityRendererProvider.Context context) -> provider.apply(context.getBlockEntityRenderDispatcher())); - } - @ExpectPlatform - public static void registerRenderer(BlockEntityType type, BlockEntityRendererProvider provider) { + public static void registerRenderer(BlockEntityType type, BlockEntityRendererProvider provider) { throw new AssertionError(); } } diff --git a/common/src/main/java/me/shedaniel/architectury/registry/DeferredRegister.java b/common/src/main/java/me/shedaniel/architectury/registry/DeferredRegister.java index fc03cca4..e9aaed53 100644 --- a/common/src/main/java/me/shedaniel/architectury/registry/DeferredRegister.java +++ b/common/src/main/java/me/shedaniel/architectury/registry/DeferredRegister.java @@ -19,9 +19,9 @@ package me.shedaniel.architectury.registry; +import com.google.common.base.Suppliers; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.LazyLoadedValue; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; @@ -44,23 +44,8 @@ public class DeferredRegister { } public static DeferredRegister create(String modId, ResourceKey> key) { - LazyLoadedValue value = new LazyLoadedValue<>(() -> Registries.get(modId)); - return new DeferredRegister<>(value::get, key, Objects.requireNonNull(modId)); - } - - @Deprecated - public static DeferredRegister create(Registries registries, ResourceKey> key) { - return new DeferredRegister<>(() -> registries, key, null); - } - - @Deprecated - public static DeferredRegister create(Supplier registries, ResourceKey> key) { - return new DeferredRegister<>(registries, key, null); - } - - @Deprecated - public static DeferredRegister create(LazyLoadedValue registries, ResourceKey> key) { - return create(registries::get, key); + Supplier value = Suppliers.memoize(() -> Registries.get(modId)); + return new DeferredRegister<>(value, key, Objects.requireNonNull(modId)); } public RegistrySupplier register(String id, Supplier supplier) { @@ -96,27 +81,27 @@ public class DeferredRegister { private final ResourceLocation id; private final Supplier supplier; private RegistrySupplier value; - + public Entry(ResourceLocation id, Supplier supplier) { this.id = id; this.supplier = supplier; } - + @Override public ResourceLocation getRegistryId() { return key.location(); } - + @Override public ResourceLocation getId() { return id; } - + @Override public boolean isPresent() { return value != null && value.isPresent(); } - + @Override public R get() { if (isPresent()) { @@ -124,12 +109,12 @@ public class DeferredRegister { } throw new NullPointerException("Registry Object not present: " + this.id); } - + @Override public int hashCode() { return com.google.common.base.Objects.hashCode(getRegistryId(), getId()); } - + @Override public boolean equals(Object obj) { if (this == obj) return true; @@ -137,7 +122,7 @@ public class DeferredRegister { RegistrySupplier other = (RegistrySupplier) obj; return other.getRegistryId().equals(getRegistryId()) && other.getId().equals(getId()); } - + @Override public String toString() { return getRegistryId().toString() + "@" + id.toString(); diff --git a/fabric/src/main/java/me/shedaniel/architectury/registry/fabric/RegistriesImpl.java b/fabric/src/main/java/me/shedaniel/architectury/registry/fabric/RegistriesImpl.java index 89430e0e..a46887f3 100644 --- a/fabric/src/main/java/me/shedaniel/architectury/registry/fabric/RegistriesImpl.java +++ b/fabric/src/main/java/me/shedaniel/architectury/registry/fabric/RegistriesImpl.java @@ -20,6 +20,7 @@ package me.shedaniel.architectury.registry.fabric; import com.google.common.base.Objects; +import com.google.common.base.Suppliers; import me.shedaniel.architectury.core.RegistryEntry; import me.shedaniel.architectury.registry.Registries; import me.shedaniel.architectury.registry.Registry; @@ -32,7 +33,6 @@ import net.fabricmc.fabric.api.event.registry.RegistryAttribute; import net.minecraft.core.MappedRegistry; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.LazyLoadedValue; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -112,7 +112,7 @@ public class RegistriesImpl { @Override public @NotNull RegistrySupplier delegateSupplied(ResourceLocation id) { - LazyLoadedValue value = new LazyLoadedValue<>(() -> get(id)); + Supplier value = Suppliers.memoize(() -> get(id)); return new RegistrySupplier() { @Override public @NotNull ResourceLocation getRegistryId() { diff --git a/forge/gradle.properties b/forge/gradle.properties index 01c185b6..82425854 100644 --- a/forge/gradle.properties +++ b/forge/gradle.properties @@ -1 +1 @@ -loom.forge=true \ No newline at end of file +loom.platform=forge diff --git a/forge/src/main/java/me/shedaniel/architectury/registry/forge/RegistriesImpl.java b/forge/src/main/java/me/shedaniel/architectury/registry/forge/RegistriesImpl.java index e7414174..e46227f1 100644 --- a/forge/src/main/java/me/shedaniel/architectury/registry/forge/RegistriesImpl.java +++ b/forge/src/main/java/me/shedaniel/architectury/registry/forge/RegistriesImpl.java @@ -20,6 +20,7 @@ package me.shedaniel.architectury.registry.forge; import com.google.common.base.Objects; +import com.google.common.base.Suppliers; import com.google.common.collect.HashBasedTable; import com.google.common.collect.Table; import me.shedaniel.architectury.core.RegistryEntry; @@ -32,7 +33,6 @@ import me.shedaniel.architectury.registry.registries.RegistryOption; import me.shedaniel.architectury.registry.registries.StandardRegistryOption; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.LazyLoadedValue; import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.eventbus.api.SubscribeEvent; @@ -157,7 +157,7 @@ public class RegistriesImpl { @Override public @NotNull RegistrySupplier delegateSupplied(ResourceLocation id) { - LazyLoadedValue value = new LazyLoadedValue<>(() -> get(id)); + Supplier value = Suppliers.memoize(() -> get(id)); return new RegistrySupplier() { @Override public @NotNull ResourceLocation getRegistryId() { @@ -274,7 +274,7 @@ public class RegistriesImpl { @Override public @NotNull RegistrySupplier delegateSupplied(ResourceLocation id) { - LazyLoadedValue value = new LazyLoadedValue<>(() -> get(id)); + Supplier value = Suppliers.memoize(() -> get(id)); return new RegistrySupplier() { @Override public @NotNull ResourceLocation getRegistryId() { diff --git a/gradle.properties b/gradle.properties index 66d30fe7..60382123 100644 --- a/gradle.properties +++ b/gradle.properties @@ -12,7 +12,7 @@ base_version=2.0 maven_group=me.shedaniel fabric_loader_version=0.11.3 -fabric_api_version=0.34.0+1.17 +fabric_api_version=0.34.4+1.17 mod_menu_version=2.0.0-beta.4 #forge_version=36.0.42 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index da9702f9..e5338d37 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle b/settings.gradle index c67a5630..68e8d9ef 100644 --- a/settings.gradle +++ b/settings.gradle @@ -7,6 +7,10 @@ pluginManagement { } } +if (JavaVersion.current().ordinal() + 1 < 16) { + throw new IllegalStateException("Please run gradle with Java 16+!") +} + include("common") include("fabric") //include("forge") diff --git a/testmod-common/build.gradle b/testmod-common/build.gradle index 29b8d3e4..3184d07f 100644 --- a/testmod-common/build.gradle +++ b/testmod-common/build.gradle @@ -3,7 +3,7 @@ dependencies { mappings loom.officialMojangMappings() // We depend on fabric loader here to use the fabric @Environment annotations // Do NOT use other classes from fabric loader - modCompile "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" + modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" implementation project(":common") } diff --git a/testmod-fabric/build.gradle b/testmod-fabric/build.gradle index 7892b52a..74127e78 100644 --- a/testmod-fabric/build.gradle +++ b/testmod-fabric/build.gradle @@ -11,8 +11,8 @@ architectury { dependencies { minecraft "com.mojang:minecraft:${rootProject.architectury.minecraft}" mappings loom.officialMojangMappings() - modCompile "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" - modCompile "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}" + modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" + modApi "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}" implementation project(path: ":fabric", configuration: "dev") implementation(project(path: ":common")) { diff --git a/testmod-forge/gradle.properties b/testmod-forge/gradle.properties index 01c185b6..82425854 100644 --- a/testmod-forge/gradle.properties +++ b/testmod-forge/gradle.properties @@ -1 +1 @@ -loom.forge=true \ No newline at end of file +loom.platform=forge