diff --git a/build.gradle b/build.gradle index 878781d4..d00cd5b4 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { plugins { id "architectury-plugin" version "3.4-SNAPSHOT" id "dev.architectury.loom" version "0.10.0-SNAPSHOT" apply false - id "org.cadixdev.licenser" version "0.5.0" + id "org.cadixdev.licenser" version "0.6.1" id "com.matthewprenger.cursegradle" version "1.4.0" apply false id "maven-publish" } diff --git a/common/build.gradle b/common/build.gradle index 8228872a..a82d03c1 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -1,5 +1,5 @@ loom { - accessWidenerPath = file("src/main/resources/architectury.accessWidener") + accessWidenerPath = file("src/main/resources/architectury-common.accessWidener") } dependencies { @@ -12,20 +12,6 @@ architectury { common() } -afterEvaluate { - remapJar { - remapAccessWidener = false - } -} - -configurations { - dev -} - -artifacts { - dev(jar) -} - publishing { publications { mavenCommon(MavenPublication) { diff --git a/common/src/main/java/dev/architectury/hooks/LevelResourceHooks.java b/common/src/main/java/dev/architectury/hooks/LevelResourceHooks.java index 6a89f836..e8799c82 100644 --- a/common/src/main/java/dev/architectury/hooks/LevelResourceHooks.java +++ b/common/src/main/java/dev/architectury/hooks/LevelResourceHooks.java @@ -20,11 +20,17 @@ package dev.architectury.hooks; import net.minecraft.world.level.storage.LevelResource; +import org.jetbrains.annotations.ApiStatus; public class LevelResourceHooks { private LevelResourceHooks() { } + /** + * @deprecated Use the constructor directly. + */ + @Deprecated + @ApiStatus.ScheduledForRemoval public static LevelResource create(String id) { return new LevelResource(id); } diff --git a/common/src/main/java/dev/architectury/hooks/block/BlockEntityHooks.java b/common/src/main/java/dev/architectury/hooks/block/BlockEntityHooks.java index 7494ef00..810cbcc8 100644 --- a/common/src/main/java/dev/architectury/hooks/block/BlockEntityHooks.java +++ b/common/src/main/java/dev/architectury/hooks/block/BlockEntityHooks.java @@ -27,6 +27,7 @@ import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; import java.util.Set; @@ -35,6 +36,11 @@ public class BlockEntityHooks { private BlockEntityHooks() { } + /** + * @deprecated Use the Builder from vanilla directly. + */ + @Deprecated + @ApiStatus.ScheduledForRemoval public static TypeBuilder builder(Constructor constructor, Block... blocks) { return new TypeBuilder<>(constructor, ImmutableSet.copyOf(blocks)); } diff --git a/common/src/main/java/dev/architectury/hooks/level/ExplosionHooks.java b/common/src/main/java/dev/architectury/hooks/level/ExplosionHooks.java index 6b04542b..e0e6009d 100644 --- a/common/src/main/java/dev/architectury/hooks/level/ExplosionHooks.java +++ b/common/src/main/java/dev/architectury/hooks/level/ExplosionHooks.java @@ -23,6 +23,7 @@ import dev.architectury.injectables.annotations.ExpectPlatform; import net.minecraft.world.entity.Entity; import net.minecraft.world.level.Explosion; import net.minecraft.world.phys.Vec3; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; public final class ExplosionHooks { @@ -34,19 +35,31 @@ public final class ExplosionHooks { throw new AssertionError(); } + /** + * @deprecated Use the field directly. + */ @Nullable - @ExpectPlatform + @Deprecated + @ApiStatus.ScheduledForRemoval public static Entity getSource(Explosion explosion) { - throw new AssertionError(); + return explosion.source; } - @ExpectPlatform + /** + * @deprecated Use the field directly. + */ + @Deprecated + @ApiStatus.ScheduledForRemoval public static float getRadius(Explosion explosion) { - throw new AssertionError(); + return explosion.radius; } - @ExpectPlatform + /** + * @deprecated Use the field directly. + */ + @Deprecated + @ApiStatus.ScheduledForRemoval public static void setRadius(Explosion explosion, float radius) { - throw new AssertionError(); + explosion.radius = radius; } } diff --git a/common/src/main/java/dev/architectury/hooks/level/entity/EntityHooks.java b/common/src/main/java/dev/architectury/hooks/level/entity/EntityHooks.java index 63a00054..0bc97a60 100644 --- a/common/src/main/java/dev/architectury/hooks/level/entity/EntityHooks.java +++ b/common/src/main/java/dev/architectury/hooks/level/entity/EntityHooks.java @@ -22,15 +22,20 @@ package dev.architectury.hooks.level.entity; import dev.architectury.injectables.annotations.ExpectPlatform; import net.minecraft.world.entity.Entity; import net.minecraft.world.phys.shapes.CollisionContext; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; public final class EntityHooks { private EntityHooks() { } - @ExpectPlatform + /** + * @deprecated Use the field directly. + */ + @Deprecated + @ApiStatus.ScheduledForRemoval public static String getEncodeId(Entity entity) { - throw new AssertionError(); + return entity.getEncodeId(); } @Nullable diff --git a/common/src/main/java/dev/architectury/hooks/level/entity/PlayerHooks.java b/common/src/main/java/dev/architectury/hooks/level/entity/PlayerHooks.java index f57b1eb2..cb1a3466 100644 --- a/common/src/main/java/dev/architectury/hooks/level/entity/PlayerHooks.java +++ b/common/src/main/java/dev/architectury/hooks/level/entity/PlayerHooks.java @@ -21,6 +21,8 @@ package dev.architectury.hooks.level.entity; import dev.architectury.injectables.annotations.ExpectPlatform; import net.minecraft.world.entity.player.Player; +import org.jetbrains.annotations.ApiStatus; +import org.jetbrains.annotations.Nullable; public final class PlayerHooks { private PlayerHooks() { @@ -31,8 +33,12 @@ public final class PlayerHooks { throw new AssertionError(); } - @ExpectPlatform + /** + * @deprecated Use the method directly. + */ + @Deprecated + @ApiStatus.ScheduledForRemoval public static void closeContainer(Player player) { - throw new AssertionError(); + player.closeContainer(); } } diff --git a/common/src/main/resources/architectury.accessWidener b/common/src/main/resources/architectury-common.accessWidener similarity index 85% rename from common/src/main/resources/architectury.accessWidener rename to common/src/main/resources/architectury-common.accessWidener index ec2ed9b7..0a16a223 100644 --- a/common/src/main/resources/architectury.accessWidener +++ b/common/src/main/resources/architectury-common.accessWidener @@ -1,4 +1,4 @@ -accessWidener v1 named +accessWidener v2 named accessible method net/minecraft/world/level/block/state/BlockBehaviour$Properties (Lnet/minecraft/world/level/material/Material;Ljava/util/function/Function;)V accessible field net/minecraft/world/level/biome/Biome climateSettings Lnet/minecraft/world/level/biome/Biome$ClimateSettings; accessible field net/minecraft/world/level/biome/Biome depth F @@ -39,11 +39,17 @@ accessible field net/minecraft/world/level/biome/BiomeSpecialEffects ambientAddi mutable field net/minecraft/world/level/biome/BiomeSpecialEffects ambientAdditionsSettings Ljava/util/Optional; accessible field net/minecraft/world/level/biome/BiomeSpecialEffects backgroundMusic Ljava/util/Optional; mutable field net/minecraft/world/level/biome/BiomeSpecialEffects backgroundMusic Ljava/util/Optional; -accessible method net/minecraft/world/level/storage/LevelResource (Ljava/lang/String;)V -accessible class net/minecraft/world/level/block/entity/BlockEntityType$BlockEntitySupplier +transitive-accessible method net/minecraft/world/entity/Entity getEncodeId ()Ljava/lang/String; +transitive-accessible method net/minecraft/world/level/storage/LevelResource (Ljava/lang/String;)V +transitive-accessible class net/minecraft/world/level/block/entity/BlockEntityType$BlockEntitySupplier accessible field net/minecraft/world/item/AxeItem STRIPPABLES Ljava/util/Map; mutable field net/minecraft/world/item/AxeItem STRIPPABLES Ljava/util/Map; accessible field net/minecraft/world/item/ShovelItem FLATTENABLES Ljava/util/Map; mutable field net/minecraft/world/item/ShovelItem FLATTENABLES Ljava/util/Map; accessible field net/minecraft/world/item/HoeItem TILLABLES Ljava/util/Map; mutable field net/minecraft/world/item/HoeItem TILLABLES Ljava/util/Map; +transitive-accessible field net/minecraft/world/level/Explosion source Lnet/minecraft/world/entity/Entity; +transitive-mutable field net/minecraft/world/level/Explosion source Lnet/minecraft/world/entity/Entity; +transitive-accessible field net/minecraft/world/level/Explosion radius F +transitive-mutable field net/minecraft/world/level/Explosion radius F +transitive-accessible method net/minecraft/world/entity/player/Player closeContainer ()V diff --git a/common/src/main/resources/architectury.common.json b/common/src/main/resources/architectury.common.json new file mode 100644 index 00000000..ec48b539 --- /dev/null +++ b/common/src/main/resources/architectury.common.json @@ -0,0 +1,3 @@ +{ + "accessWidener": "architectury-common.accessWidener" +} \ No newline at end of file diff --git a/fabric/build.gradle b/fabric/build.gradle index 1ae4b8f9..157d2ca1 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -18,11 +18,6 @@ configurations { compileClasspath.extendsFrom common runtimeClasspath.extendsFrom common developmentFabric.extendsFrom common - dev -} - -artifacts { - dev(jar) } repositories { @@ -34,7 +29,7 @@ dependencies { modImplementation "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}" modCompileOnly("com.terraformersmc:modmenu:${rootProject.mod_menu_version}") { transitive false } - common(project(path: ":common", configuration: "dev")) { transitive false } + common(project(path: ":common", configuration: "namedElements")) { transitive false } shadowCommon(project(path: ":common", configuration: "transformProductionFabric")) { transitive false } } @@ -46,6 +41,9 @@ processResources { } shadowJar { + exclude "architectury-common.accessWidener" + exclude "architectury.common.json" + configurations = [project.configurations.shadowCommon] classifier "dev-shadow" } diff --git a/fabric/src/main/java/dev/architectury/hooks/level/entity/fabric/EntityHooksImpl.java b/fabric/src/main/java/dev/architectury/hooks/level/entity/fabric/EntityHooksImpl.java index 69d2460d..896ae3b1 100644 --- a/fabric/src/main/java/dev/architectury/hooks/level/entity/fabric/EntityHooksImpl.java +++ b/fabric/src/main/java/dev/architectury/hooks/level/entity/fabric/EntityHooksImpl.java @@ -28,10 +28,6 @@ import net.minecraft.world.phys.shapes.EntityCollisionContext; import org.jetbrains.annotations.Nullable; public class EntityHooksImpl { - public static String getEncodeId(Entity entity) { - return entity.getEncodeId(); - } - @Nullable public static Entity fromCollision(CollisionContext ctx) { return ctx instanceof EntityCollisionContext ? ((EntityCollisionContext) ctx).getEntity().orElse(null) : null; diff --git a/fabric/src/main/java/dev/architectury/hooks/level/entity/fabric/PlayerHooksImpl.java b/fabric/src/main/java/dev/architectury/hooks/level/entity/fabric/PlayerHooksImpl.java index b64cb8db..c83f70d8 100644 --- a/fabric/src/main/java/dev/architectury/hooks/level/entity/fabric/PlayerHooksImpl.java +++ b/fabric/src/main/java/dev/architectury/hooks/level/entity/fabric/PlayerHooksImpl.java @@ -25,8 +25,4 @@ public class PlayerHooksImpl { public static boolean isFake(Player player) { return false; } - - public static void closeContainer(Player player) { - player.closeContainer(); - } } diff --git a/fabric/src/main/java/dev/architectury/hooks/level/fabric/ExplosionHooksImpl.java b/fabric/src/main/java/dev/architectury/hooks/level/fabric/ExplosionHooksImpl.java index ef4c913b..311140ad 100644 --- a/fabric/src/main/java/dev/architectury/hooks/level/fabric/ExplosionHooksImpl.java +++ b/fabric/src/main/java/dev/architectury/hooks/level/fabric/ExplosionHooksImpl.java @@ -19,7 +19,6 @@ package dev.architectury.hooks.level.fabric; -import net.minecraft.world.entity.Entity; import net.minecraft.world.level.Explosion; import net.minecraft.world.phys.Vec3; @@ -28,25 +27,7 @@ public class ExplosionHooksImpl { return ((ExplosionExtensions) explosion).architectury_getPosition(); } - public static Entity getSource(Explosion explosion) { - return ((ExplosionExtensions) explosion).architectury_getSource(); - } - - public static float getRadius(Explosion explosion) { - return ((ExplosionExtensions) explosion).architectury_getRadius(); - } - - public static void setRadius(Explosion explosion, float radius) { - ((ExplosionExtensions) explosion).architectury_setRadius(radius); - } - public interface ExplosionExtensions { Vec3 architectury_getPosition(); - - Entity architectury_getSource(); - - float architectury_getRadius(); - - void architectury_setRadius(float v); } } diff --git a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinExplosion.java b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinExplosion.java index ab0cf2aa..348dbe93 100644 --- a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinExplosion.java +++ b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinExplosion.java @@ -50,14 +50,6 @@ public class MixinExplosion implements ExplosionHooksImpl.ExplosionExtensions { @Shadow @Final private double z; - @Shadow - @Final - @Nullable - private Entity source; - @Shadow - @Final - @Mutable - private float radius; @Unique Vec3 position; @@ -74,19 +66,4 @@ public class MixinExplosion implements ExplosionHooksImpl.ExplosionExtensions { } return position; } - - @Override - public Entity architectury_getSource() { - return source; - } - - @Override - public float architectury_getRadius() { - return radius; - } - - @Override - public void architectury_setRadius(float v) { - radius = v; - } } diff --git a/fabric/src/main/resources/architectury.accessWidener b/fabric/src/main/resources/architectury.accessWidener index 460ef8d5..ff41b2ff 100644 --- a/fabric/src/main/resources/architectury.accessWidener +++ b/fabric/src/main/resources/architectury.accessWidener @@ -1,4 +1,4 @@ -accessWidener v1 named +accessWidener v2 named accessible method net/minecraft/client/gui/screens/Screen addRenderableWidget (Lnet/minecraft/client/gui/components/events/GuiEventListener;)Lnet/minecraft/client/gui/components/events/GuiEventListener; accessible method net/minecraft/client/gui/screens/Screen addRenderableOnly (Lnet/minecraft/client/gui/components/Widget;)Lnet/minecraft/client/gui/components/Widget; accessible method net/minecraft/client/gui/screens/Screen addWidget (Lnet/minecraft/client/gui/components/events/GuiEventListener;)Lnet/minecraft/client/gui/components/events/GuiEventListener; @@ -52,7 +52,6 @@ mutable field net/minecraft/world/level/block/state/BlockBehaviour$Properties dy accessible method net/minecraft/world/entity/Entity getEncodeId ()Ljava/lang/String; accessible field net/minecraft/server/packs/repository/PackRepository sources Ljava/util/Set; mutable field net/minecraft/server/packs/repository/PackRepository sources Ljava/util/Set; -accessible field net/minecraft/world/item/DyeColor textureDiffuseColor I accessible method net/minecraft/world/entity/player/Player closeContainer ()V accessible method net/minecraft/advancements/CriteriaTriggers register (Lnet/minecraft/advancements/CriterionTrigger;)Lnet/minecraft/advancements/CriterionTrigger; accessible method net/minecraft/world/inventory/MenuType (Lnet/minecraft/world/inventory/MenuType$MenuSupplier;)V @@ -107,3 +106,7 @@ accessible field net/minecraft/world/item/HoeItem TILLABLES Ljava/util/Map; mutable field net/minecraft/world/item/HoeItem TILLABLES Ljava/util/Map; accessible method net/minecraft/client/renderer/item/ItemProperties registerGeneric (Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/client/renderer/item/ClampedItemPropertyFunction;)Lnet/minecraft/client/renderer/item/ClampedItemPropertyFunction; accessible method net/minecraft/client/renderer/item/ItemProperties register (Lnet/minecraft/world/item/Item;Lnet/minecraft/resources/ResourceLocation;Lnet/minecraft/client/renderer/item/ClampedItemPropertyFunction;)V +accessible field net/minecraft/world/level/Explosion source Lnet/minecraft/world/entity/Entity; +mutable field net/minecraft/world/level/Explosion source Lnet/minecraft/world/entity/Entity; +accessible field net/minecraft/world/level/Explosion radius F +mutable field net/minecraft/world/level/Explosion radius F diff --git a/forge/build.gradle b/forge/build.gradle index b53619e5..48a6bbf5 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -21,17 +21,12 @@ configurations { compileClasspath.extendsFrom common runtimeClasspath.extendsFrom common developmentForge.extendsFrom common - dev -} - -artifacts { - dev(jar) } dependencies { forge "net.minecraftforge:forge:${rootProject.architectury.minecraft}-${rootProject.forge_version}" - common(project(path: ":common", configuration: "dev")) { transitive false } + common(project(path: ":common", configuration: "namedElements")) { transitive false } shadowCommon(project(path: ":common", configuration: "transformProductionForge")) { transitive false } } @@ -45,6 +40,7 @@ processResources { shadowJar { exclude "fabric.mod.json" exclude "architectury-common.accessWidener" + exclude "architectury.common.json" configurations = [project.configurations.shadowCommon] classifier "dev-shadow" diff --git a/forge/src/main/java/dev/architectury/hooks/level/entity/forge/EntityHooksImpl.java b/forge/src/main/java/dev/architectury/hooks/level/entity/forge/EntityHooksImpl.java index 46646169..876be002 100644 --- a/forge/src/main/java/dev/architectury/hooks/level/entity/forge/EntityHooksImpl.java +++ b/forge/src/main/java/dev/architectury/hooks/level/entity/forge/EntityHooksImpl.java @@ -25,10 +25,6 @@ import net.minecraft.world.phys.shapes.EntityCollisionContext; import org.jetbrains.annotations.Nullable; public class EntityHooksImpl { - public static String getEncodeId(Entity entity) { - return entity.getEncodeId(); - } - @Nullable public static Entity fromCollision(CollisionContext ctx) { return ctx instanceof EntityCollisionContext ? ((EntityCollisionContext) ctx).getEntity().orElse(null) : null; diff --git a/forge/src/main/java/dev/architectury/hooks/level/entity/forge/PlayerHooksImpl.java b/forge/src/main/java/dev/architectury/hooks/level/entity/forge/PlayerHooksImpl.java index 637ed954..8b87e524 100644 --- a/forge/src/main/java/dev/architectury/hooks/level/entity/forge/PlayerHooksImpl.java +++ b/forge/src/main/java/dev/architectury/hooks/level/entity/forge/PlayerHooksImpl.java @@ -26,8 +26,4 @@ public class PlayerHooksImpl { public static boolean isFake(Player playerEntity) { return playerEntity instanceof FakePlayer; } - - public static void closeContainer(Player playerEntity) { - playerEntity.closeContainer(); - } } diff --git a/forge/src/main/java/dev/architectury/hooks/level/forge/ExplosionHooksImpl.java b/forge/src/main/java/dev/architectury/hooks/level/forge/ExplosionHooksImpl.java index 723091a3..8c7c0663 100644 --- a/forge/src/main/java/dev/architectury/hooks/level/forge/ExplosionHooksImpl.java +++ b/forge/src/main/java/dev/architectury/hooks/level/forge/ExplosionHooksImpl.java @@ -19,7 +19,6 @@ package dev.architectury.hooks.level.forge; -import net.minecraft.world.entity.Entity; import net.minecraft.world.level.Explosion; import net.minecraft.world.phys.Vec3; @@ -27,16 +26,4 @@ public class ExplosionHooksImpl { public static Vec3 getPosition(Explosion explosion) { return explosion.getPosition(); } - - public static Entity getSource(Explosion explosion) { - return explosion.getExploder(); - } - - public static float getRadius(Explosion explosion) { - return explosion.radius; - } - - public static void setRadius(Explosion explosion, float v) { - explosion.radius = v; - } } diff --git a/gradle.properties b/gradle.properties index 8b665f21..bafde4bd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ cf_type=release archives_base_name=architectury archives_base_name_snapshot=architectury-snapshot -base_version=2.7 +base_version=2.8 maven_group=dev.architectury fabric_loader_version=0.11.6 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0f80bbf5..84d1f85f 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-7.0.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/testmod-common/build.gradle b/testmod-common/build.gradle index dffa3f59..c696eabe 100644 --- a/testmod-common/build.gradle +++ b/testmod-common/build.gradle @@ -8,11 +8,3 @@ dependencies { architectury { common() } - -configurations { - dev -} - -artifacts { - dev(jar) -} diff --git a/testmod-fabric/build.gradle b/testmod-fabric/build.gradle index 5179c899..af36ec69 100644 --- a/testmod-fabric/build.gradle +++ b/testmod-fabric/build.gradle @@ -23,7 +23,7 @@ dependencies { modImplementation "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" modImplementation "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}" - implementation project(path: ":fabric", configuration: "dev") - common(project(path: ":common", configuration: "dev")) { transitive = false } - common(project(path: ":testmod-common", configuration: "dev")) { transitive false } + implementation project(path: ":fabric", configuration: "namedElements") + common(project(path: ":common", configuration: "namedElements")) { transitive false } + common(project(path: ":testmod-common", configuration: "namedElements")) { transitive false } } diff --git a/testmod-forge/build.gradle b/testmod-forge/build.gradle index 8b0fa5d0..b5fcb979 100644 --- a/testmod-forge/build.gradle +++ b/testmod-forge/build.gradle @@ -30,7 +30,7 @@ configurations { dependencies { forge "net.minecraftforge:forge:${gradle.rootProject.architectury.minecraft}-${rootProject.forge_version}" - implementation project(path: ":forge", configuration: "dev") - common(project(path: ":common", configuration: "dev")) { transitive false } - common(project(path: ":testmod-common", configuration: "dev")) { transitive false } + implementation project(path: ":forge", configuration: "namedElements") + common(project(path: ":common", configuration: "namedElements")) { transitive false } + common(project(path: ":testmod-common", configuration: "namedElements")) { transitive false } }