diff --git a/common/build.gradle b/common/build.gradle index 548f5957..935e7ae0 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(rootProject.forgeEnabled.toBoolean()) } -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 f24c4de7..e278195e 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 @@ -23,15 +23,20 @@ import dev.architectury.injectables.annotations.ExpectPlatform; import net.minecraft.world.entity.Entity; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.EntityCollisionContext; +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 30002d25..7ce51d4d 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 biomeCategory Lnet/minecraft/world/level/biome/Biome$BiomeCategory; @@ -35,11 +35,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 c2ad49d7..aa67564c 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 29f5310b..e825f946 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 @@ -25,10 +25,6 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.level.entity.EntityInLevelCallback; public class EntityHooksImpl { - public static String getEncodeId(Entity entity) { - return entity.getEncodeId(); - } - public static EntityInLevelCallback wrapEntityInLevelCallback(Entity entity, EntityInLevelCallback callback) { if (callback == EntityInLevelCallback.NULL) return callback; if (callback == null) return callback; 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 f2487478..b1ea44b9 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; @@ -102,3 +102,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 c44fc997..adda1388 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 deleted file mode 100644 index 39e6ee88..00000000 --- a/forge/src/main/java/dev/architectury/hooks/level/entity/forge/EntityHooksImpl.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * This file is part of architectury. - * Copyright (C) 2020, 2021 architectury - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -package dev.architectury.hooks.level.entity.forge; - -import net.minecraft.world.entity.Entity; - -public class EntityHooksImpl { - public static String getEncodeId(Entity entity) { - return entity.getEncodeId(); - } -} 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 76784a7d..026b4acf 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,7 +11,7 @@ cf_type=release archives_base_name=architectury archives_base_name_snapshot=architectury-snapshot -base_version=3.1 +base_version=3.2 maven_group=dev.architectury fabric_loader_version=0.12.5 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e750102e..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.3-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 51e939ee..94d51010 100644 --- a/testmod-common/build.gradle +++ b/testmod-common/build.gradle @@ -8,11 +8,3 @@ dependencies { architectury { common(rootProject.forgeEnabled.toBoolean()) } - -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 } }