diff --git a/build.gradle b/build.gradle index 1acba2f4..878781d4 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,12 @@ +buildscript { + configurations.classpath { + resolutionStrategy.cacheChangingModulesFor 0, 'seconds' + } +} + plugins { - id "architectury-plugin" version "3.3-SNAPSHOT" - id "dev.architectury.loom" version "0.7.4-SNAPSHOT" apply false - id "io.github.juuxel.loom-quiltflower" version "1.1.1" apply false + 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 "com.matthewprenger.cursegradle" version "1.4.0" apply false id "maven-publish" @@ -13,11 +18,9 @@ architectury { subprojects { apply plugin: "dev.architectury.loom" - apply plugin: "io.github.juuxel.loom-quiltflower" loom { silentMojangMappingsLicense() - useFabricMixin = true } dependencies { diff --git a/common/build.gradle b/common/build.gradle index 85171517..8228872a 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -1,5 +1,5 @@ loom { - accessWidener = file("src/main/resources/architectury.accessWidener") + accessWidenerPath = file("src/main/resources/architectury.accessWidener") } dependencies { @@ -14,21 +14,23 @@ architectury { afterEvaluate { remapJar { - remapAccessWidener.set false + remapAccessWidener = false } } +configurations { + dev +} + +artifacts { + dev(jar) +} + publishing { publications { mavenCommon(MavenPublication) { artifactId = rootProject.archivesBaseName - artifact(remapJar) - afterEvaluate { - artifact(remapSourcesJar.output) { - builtBy remapSourcesJar - classifier "sources" - } - } + from components.java } } diff --git a/common/src/main/java/dev/architectury/registry/block/BlockPropertiesExtension.java b/common/src/main/java/dev/architectury/registry/block/BlockPropertiesExtension.java index 839bb51c..b869d981 100644 --- a/common/src/main/java/dev/architectury/registry/block/BlockPropertiesExtension.java +++ b/common/src/main/java/dev/architectury/registry/block/BlockPropertiesExtension.java @@ -20,9 +20,11 @@ package dev.architectury.registry.block; public interface BlockPropertiesExtension { + @Deprecated default BlockProperties tool(ToolType type) { return tool(type, 0); } + @Deprecated BlockProperties tool(ToolType type, int level); } \ No newline at end of file diff --git a/common/src/main/resources/architectury-common.mixins.json b/common/src/main/resources/architectury-common.mixins.json index b96191b8..618fbf85 100644 --- a/common/src/main/resources/architectury-common.mixins.json +++ b/common/src/main/resources/architectury-common.mixins.json @@ -7,7 +7,6 @@ ], "mixins": [ "FluidTagsAccessor", - "MixinFallingBlockEntity", "MixinLightningBolt" ], "injectors": { diff --git a/fabric/build.gradle b/fabric/build.gradle index 3e651aba..b1ee45af 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -4,7 +4,7 @@ plugins { } loom { - accessWidener = file("src/main/resources/architectury.accessWidener") + accessWidenerPath = file("src/main/resources/architectury.accessWidener") } configurations { @@ -30,10 +30,10 @@ dependencies { modImplementation "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}" modCompileOnly("com.terraformersmc:modmenu:${rootProject.mod_menu_version}") { transitive false } - implementation(project(path: ":common")) { + implementation(project(path: ":common", configuration: "dev")) { transitive = false } - developmentFabric(project(path: ":common")) { + developmentFabric(project(path: ":common", configuration: "dev")) { transitive = false } shadowCommon(project(path: ":common", configuration: "transformProductionFabric")) { diff --git a/fabric/src/main/java/dev/architectury/mixin/fabric/MixinFallingBlockEntity.java b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinFallingBlockEntity.java new file mode 100644 index 00000000..9996d401 --- /dev/null +++ b/fabric/src/main/java/dev/architectury/mixin/fabric/MixinFallingBlockEntity.java @@ -0,0 +1,33 @@ +package dev.architectury.mixin.fabric; + +import dev.architectury.event.events.common.BlockEvent; +import net.minecraft.core.BlockPos; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.item.FallingBlockEntity; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import org.spongepowered.asm.mixin.injection.callback.LocalCapture; + +@Mixin(FallingBlockEntity.class) +public abstract class MixinFallingBlockEntity extends Entity { + public MixinFallingBlockEntity(EntityType entityType, Level level) { + super(entityType, level); + } + + @Shadow + private BlockState blockState; + + @Inject(method = "tick", at = @At(value = "INVOKE", + target = "Lnet/minecraft/world/level/block/Fallable;onLand(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/entity/item/FallingBlockEntity;)V"), + locals = LocalCapture.CAPTURE_FAILHARD) + public void handleLand(CallbackInfo ci, Block block, BlockPos blockPos2, boolean bl, boolean bl2, BlockState blockState) { + BlockEvent.FALLING_LAND.invoker().onLand(this.level, blockPos2, this.blockState, blockState, (FallingBlockEntity) (Object) this); + } +} diff --git a/fabric/src/main/resources/architectury.mixins.json b/fabric/src/main/resources/architectury.mixins.json index a1b2af17..59818fa9 100644 --- a/fabric/src/main/resources/architectury.mixins.json +++ b/fabric/src/main/resources/architectury.mixins.json @@ -33,6 +33,7 @@ "MixinDedicatedServer", "MixinEntity", "MixinExplosion", + "MixinFallingBlockEntity", "MixinFarmBlock", "MixinFurnaceResultSlot", "MixinInventory", diff --git a/forge/build.gradle b/forge/build.gradle index 6b954e84..2a4d0dcd 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -4,7 +4,10 @@ plugins { } loom { -// mixinConfigs = ["architectury.mixins.json", "architectury-common.mixins.json"] + forge { + mixinConfig "architectury.mixins.json" + mixinConfig "architectury-common.mixins.json" + } } configurations { @@ -24,10 +27,10 @@ architectury { dependencies { forge "net.minecraftforge:forge:${rootProject.architectury.minecraft}-${rootProject.forge_version}" - implementation(project(path: ":common")) { + implementation(project(path: ":common", configuration: "dev")) { transitive = false } - developmentForge(project(path: ":common")) { + developmentForge(project(path: ":common", configuration: "dev")) { transitive = false } shadowCommon(project(path: ":common", configuration: "transformProductionForge")) { diff --git a/forge/src/main/java/dev/architectury/event/forge/EventHandlerImplCommon.java b/forge/src/main/java/dev/architectury/event/forge/EventHandlerImplCommon.java index c2863cf2..f20aa3fe 100644 --- a/forge/src/main/java/dev/architectury/event/forge/EventHandlerImplCommon.java +++ b/forge/src/main/java/dev/architectury/event/forge/EventHandlerImplCommon.java @@ -410,10 +410,9 @@ public class EventHandlerImplCommon { @SubscribeEvent(priority = EventPriority.HIGH) public static void event(ChunkDataEvent.Load event) { LevelAccessor level = event.getChunk().getWorldForge(); - // TODO Fix when mixin is back -// if (!(level instanceof ServerLevel)) { -// level = ((WorldEventAttachment) event).architectury$getAttachedLevel(); -// } + if (!(level instanceof ServerLevel)) { + level = ((WorldEventAttachment) event).architectury$getAttachedLevel(); + } ChunkEvent.LOAD_DATA.invoker().load(event.getChunk(), level instanceof ServerLevel ? (ServerLevel) level : null, event.getData()); } diff --git a/forge/src/main/java/dev/architectury/mixin/forge/MixinBlockEntity.java b/forge/src/main/java/dev/architectury/mixin/forge/MixinBlockEntity.java index 2d935cee..bc47afac 100644 --- a/forge/src/main/java/dev/architectury/mixin/forge/MixinBlockEntity.java +++ b/forge/src/main/java/dev/architectury/mixin/forge/MixinBlockEntity.java @@ -19,7 +19,6 @@ package dev.architectury.mixin.forge; -/* import dev.architectury.extensions.BlockEntityExtension; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; @@ -51,4 +50,3 @@ public abstract class MixinBlockEntity { } } } -*/ diff --git a/forge/src/main/java/dev/architectury/mixin/forge/MixinBlockEntityExtension.java b/forge/src/main/java/dev/architectury/mixin/forge/MixinBlockEntityExtension.java index fd540ac1..c0592aa1 100644 --- a/forge/src/main/java/dev/architectury/mixin/forge/MixinBlockEntityExtension.java +++ b/forge/src/main/java/dev/architectury/mixin/forge/MixinBlockEntityExtension.java @@ -19,24 +19,26 @@ package dev.architectury.mixin.forge; -/*import dev.architectury.extensions.BlockEntityExtension; +import dev.architectury.extensions.BlockEntityExtension; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.Connection; import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; import net.minecraft.world.level.block.entity.BlockEntity; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraftforge.common.extensions.IForgeTileEntity; +import net.minecraftforge.common.extensions.IForgeBlockEntity; import org.spongepowered.asm.mixin.Mixin; @Mixin(BlockEntityExtension.class) -public interface MixinBlockEntityExtension extends IForgeTileEntity { +public interface MixinBlockEntityExtension extends IForgeBlockEntity { @Override - default void handleUpdateTag(BlockState state, CompoundTag tag) { - ((BlockEntityExtension) this).loadClientData(state, tag); + default void handleUpdateTag(CompoundTag tag) { + var entity = (BlockEntity) this; + if (entity.hasLevel()) { + ((BlockEntityExtension) this).loadClientData(entity.getBlockState(), tag); + } } @Override default void onDataPacket(Connection connection, ClientboundBlockEntityDataPacket packet) { - ((BlockEntityExtension) this).loadClientData(((BlockEntity) this).getBlockState(), packet.getTag()); + handleUpdateTag(packet.getTag()); } -}*/ +} diff --git a/forge/src/main/java/dev/architectury/mixin/forge/MixinChunkSerializer.java b/forge/src/main/java/dev/architectury/mixin/forge/MixinChunkSerializer.java index 0c09676b..929fccf3 100644 --- a/forge/src/main/java/dev/architectury/mixin/forge/MixinChunkSerializer.java +++ b/forge/src/main/java/dev/architectury/mixin/forge/MixinChunkSerializer.java @@ -19,7 +19,6 @@ package dev.architectury.mixin.forge; -/* import dev.architectury.event.forge.EventHandlerImplCommon; import net.minecraft.nbt.CompoundTag; import net.minecraft.server.level.ServerLevel; @@ -64,4 +63,3 @@ public class MixinChunkSerializer { return event; } } -*/ diff --git a/forge/src/main/java/dev/architectury/mixin/forge/MixinClientLevel.java b/forge/src/main/java/dev/architectury/mixin/forge/MixinClientLevel.java index f7996dca..65689598 100644 --- a/forge/src/main/java/dev/architectury/mixin/forge/MixinClientLevel.java +++ b/forge/src/main/java/dev/architectury/mixin/forge/MixinClientLevel.java @@ -19,7 +19,6 @@ package dev.architectury.mixin.forge; -/* import dev.architectury.event.events.client.ClientTickEvent; import net.minecraft.client.multiplayer.ClientLevel; import net.minecraft.resources.ResourceKey; @@ -44,7 +43,7 @@ public abstract class MixinClientLevel extends Level { private void tickEntities(CallbackInfo ci) { ProfilerFiller profiler = getProfiler(); profiler.push("architecturyClientLevelPreTick"); - ClientTickEvent.CLIENT_WORLD_PRE.invoker().tick((ClientLevel) (Object) this); + ClientTickEvent.CLIENT_LEVEL_PRE.invoker().tick((ClientLevel) (Object) this); profiler.pop(); } @@ -52,8 +51,7 @@ public abstract class MixinClientLevel extends Level { private void tickEntitiesPost(CallbackInfo ci) { ProfilerFiller profiler = getProfiler(); profiler.push("architecturyClientLevelPostTick"); - ClientTickEvent.CLIENT_WORLD_POST.invoker().tick((ClientLevel) (Object) this); + ClientTickEvent.CLIENT_LEVEL_POST.invoker().tick((ClientLevel) (Object) this); profiler.pop(); } } -*/ diff --git a/common/src/main/java/dev/architectury/mixin/MixinFallingBlockEntity.java b/forge/src/main/java/dev/architectury/mixin/forge/MixinFallingBlockEntity.java similarity index 95% rename from common/src/main/java/dev/architectury/mixin/MixinFallingBlockEntity.java rename to forge/src/main/java/dev/architectury/mixin/forge/MixinFallingBlockEntity.java index c93f8bf8..3de96f3d 100644 --- a/common/src/main/java/dev/architectury/mixin/MixinFallingBlockEntity.java +++ b/forge/src/main/java/dev/architectury/mixin/forge/MixinFallingBlockEntity.java @@ -17,7 +17,7 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -package dev.architectury.mixin; +package dev.architectury.mixin.forge; import dev.architectury.event.events.common.BlockEvent; import net.minecraft.core.BlockPos; @@ -46,7 +46,7 @@ public abstract class MixinFallingBlockEntity extends Entity { @Inject(method = "tick", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/Fallable;onLand(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/entity/item/FallingBlockEntity;)V"), locals = LocalCapture.CAPTURE_FAILHARD) - public void handleLand(CallbackInfo ci, Block block, BlockPos blockPos2, boolean bl, boolean bl2, BlockState blockState) { + public void handleLand(CallbackInfo ci, Block block, BlockPos blockPos2, boolean bl, boolean bl2, double d, BlockState blockState) { BlockEvent.FALLING_LAND.invoker().onLand(this.level, blockPos2, this.blockState, blockState, (FallingBlockEntity) (Object) this); } } diff --git a/forge/src/main/java/dev/architectury/mixin/forge/MixinItemExtension.java b/forge/src/main/java/dev/architectury/mixin/forge/MixinItemExtension.java index ea38c59c..5a54fa7a 100644 --- a/forge/src/main/java/dev/architectury/mixin/forge/MixinItemExtension.java +++ b/forge/src/main/java/dev/architectury/mixin/forge/MixinItemExtension.java @@ -19,7 +19,6 @@ package dev.architectury.mixin.forge; -/* import dev.architectury.extensions.ItemExtension; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.player.Player; @@ -42,4 +41,3 @@ public interface MixinItemExtension extends IForgeItem { return ((ItemExtension) this).getCustomEquipmentSlot(stack); } } -*/ diff --git a/forge/src/main/java/dev/architectury/mixin/forge/MixinRegistryEntry.java b/forge/src/main/java/dev/architectury/mixin/forge/MixinRegistryEntry.java index 3d8e85b8..a2f7bac5 100644 --- a/forge/src/main/java/dev/architectury/mixin/forge/MixinRegistryEntry.java +++ b/forge/src/main/java/dev/architectury/mixin/forge/MixinRegistryEntry.java @@ -19,11 +19,9 @@ package dev.architectury.mixin.forge; -/* import dev.architectury.core.RegistryEntry; import org.spongepowered.asm.mixin.Mixin; @Mixin(RegistryEntry.class) public class MixinRegistryEntry { } -*/ diff --git a/forge/src/main/java/dev/architectury/mixin/forge/MixinWorldEvent.java b/forge/src/main/java/dev/architectury/mixin/forge/MixinWorldEvent.java index 7d0698c9..7f245285 100644 --- a/forge/src/main/java/dev/architectury/mixin/forge/MixinWorldEvent.java +++ b/forge/src/main/java/dev/architectury/mixin/forge/MixinWorldEvent.java @@ -19,7 +19,6 @@ package dev.architectury.mixin.forge; -/* import dev.architectury.event.forge.EventHandlerImplCommon; import net.minecraft.world.level.LevelAccessor; import net.minecraftforge.event.world.WorldEvent; @@ -43,4 +42,3 @@ public class MixinWorldEvent implements EventHandlerImplCommon.WorldEventAttachm this.level = new WeakReference<>(level); } } -*/ diff --git a/forge/src/main/java/dev/architectury/mixin/forge/ParticleEngineAccessor.java b/forge/src/main/java/dev/architectury/mixin/forge/ParticleEngineAccessor.java deleted file mode 100644 index 15df1b1b..00000000 --- a/forge/src/main/java/dev/architectury/mixin/forge/ParticleEngineAccessor.java +++ /dev/null @@ -1,42 +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.mixin.forge; - -/* -import net.minecraft.client.particle.ParticleEngine; -import net.minecraft.client.renderer.texture.TextureAtlas; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -import java.util.List; - -@Mixin(ParticleEngine.class) -public interface ParticleEngineAccessor { - @Accessor - TextureAtlas getTextureAtlas(); - - @Mixin(targets = "net/minecraft/client/particle/ParticleEngine$MutableSpriteSet") - interface MutableSpriteSetAccessor { - @Accessor - List getSprites(); - } -} -*/ diff --git a/forge/src/main/java/dev/architectury/plugin/forge/ArchitecturyMixinPlugin.java b/forge/src/main/java/dev/architectury/plugin/forge/ArchitecturyMixinPlugin.java index c34051ff..39709cf2 100644 --- a/forge/src/main/java/dev/architectury/plugin/forge/ArchitecturyMixinPlugin.java +++ b/forge/src/main/java/dev/architectury/plugin/forge/ArchitecturyMixinPlugin.java @@ -19,7 +19,6 @@ package dev.architectury.plugin.forge; -/* import org.objectweb.asm.Opcodes; import org.objectweb.asm.tree.AbstractInsnNode; import org.objectweb.asm.tree.ClassNode; @@ -62,7 +61,7 @@ public class ArchitecturyMixinPlugin implements IMixinConfigPlugin { public void preApply(String targetClassName, ClassNode targetClass, String mixinClassName, IMixinInfo mixinInfo) { // Inject our own sugar switch (mixinClassName) { - case "me.shedaniel.architectury.mixin.forge.MixinRegistryEntry": + case "dev.architectury.mixin.forge.MixinRegistryEntry": targetClass.superName = "net/minecraftforge/registries/ForgeRegistryEntry"; for (MethodNode method : targetClass.methods) { if (Objects.equals(method.name, "")) { @@ -87,4 +86,3 @@ public class ArchitecturyMixinPlugin implements IMixinConfigPlugin { } } -*/ diff --git a/forge/src/main/java/dev/architectury/registry/block/forge/BlockPropertiesImpl.java b/forge/src/main/java/dev/architectury/registry/block/forge/BlockPropertiesImpl.java index 13844813..4f735dba 100644 --- a/forge/src/main/java/dev/architectury/registry/block/forge/BlockPropertiesImpl.java +++ b/forge/src/main/java/dev/architectury/registry/block/forge/BlockPropertiesImpl.java @@ -66,9 +66,8 @@ public class BlockPropertiesImpl { } @Override + @Deprecated public BlockProperties tool(ToolType type, int level) { - harvestTool(net.minecraftforge.common.ToolType.get(type.forgeName)); - harvestLevel(level); return this; } } diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml index e53a223c..368f8ff3 100644 --- a/forge/src/main/resources/META-INF/mods.toml +++ b/forge/src/main/resources/META-INF/mods.toml @@ -17,6 +17,6 @@ license = "LGPL-3" [[dependencies.architectury]] modId = "minecraft" mandatory = true -versionRange = "[1.16.2,)" +versionRange = "[1.17.1,)" ordering = "NONE" side = "BOTH" diff --git a/forge/src/main/resources/architectury.mixins.json b/forge/src/main/resources/architectury.mixins.json index 13c87181..a7c4c430 100644 --- a/forge/src/main/resources/architectury.mixins.json +++ b/forge/src/main/resources/architectury.mixins.json @@ -1,28 +1,20 @@ { "required": true, - "package": "me.shedaniel.architectury.mixin.forge", + "package": "dev.architectury.mixin.forge", "plugin": "dev.architectury.plugin.forge.ArchitecturyMixinPlugin", "compatibilityLevel": "JAVA_16", "minVersion": "0.8", "client": [ - "dev.architectury.architectury.mixin.forge.MixinClientLevel", - "dev.architectury.architectury.mixin.forge.ParticleEngineAccessor", - "ParticleEngineAccessor$MutableSpriteSetAccessor" + "MixinClientLevel" ], "mixins": [ - "dev.architectury.architectury.mixin.forge.BiomeGenerationSettingsBuilderAccessor", - "dev.architectury.architectury.mixin.forge.GameRulesAccessor", - "GameRulesAccessor$BooleanValue", - "GameRulesAccessor$BooleanValueSimple", - "GameRulesAccessor$IntegerValue", - "GameRulesAccessor$IntegerValueSimple", - "dev.architectury.architectury.mixin.forge.MixinBlockEntity", - "dev.architectury.architectury.mixin.forge.MixinBlockEntityExtension", - "dev.architectury.architectury.mixin.forge.MixinChunkSerializer", - "dev.architectury.architectury.mixin.forge.MixinItemExtension", - "dev.architectury.architectury.mixin.forge.MixinRegistryEntry", - "dev.architectury.architectury.mixin.forge.MixinWorldEvent", - "dev.architectury.architectury.mixin.forge.MobSpawnSettingsBuilderAccessor" + "MixinBlockEntity", + "MixinBlockEntityExtension", + "MixinChunkSerializer", + "MixinFallingBlockEntity", + "MixinItemExtension", + "MixinRegistryEntry", + "MixinWorldEvent" ], "injectors": { "defaultRequire": 1 diff --git a/gradle.properties b/gradle.properties index c0d8332e..404496d0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,4 +16,4 @@ fabric_loader_version=0.11.6 fabric_api_version=0.34.9+1.17 mod_menu_version=2.0.0-beta.7 -forge_version=37.0.13 +forge_version=37.0.69 diff --git a/testmod-common/build.gradle b/testmod-common/build.gradle index c696eabe..dffa3f59 100644 --- a/testmod-common/build.gradle +++ b/testmod-common/build.gradle @@ -8,3 +8,11 @@ dependencies { architectury { common() } + +configurations { + dev +} + +artifacts { + dev(jar) +} diff --git a/testmod-fabric/build.gradle b/testmod-fabric/build.gradle index 69ac61d8..79a5813b 100644 --- a/testmod-fabric/build.gradle +++ b/testmod-fabric/build.gradle @@ -3,6 +3,10 @@ plugins { id "com.matthewprenger.cursegradle" } +loom { + mixin { useLegacyMixinAp = true } +} + architectury { platformSetupLoomIde() fabric() @@ -13,16 +17,16 @@ dependencies { modImplementation "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}" implementation project(path: ":fabric", configuration: "dev") - implementation(project(path: ":common")) { + implementation(project(path: ":common", configuration: "dev")) { transitive = false } - developmentFabric(project(path: ":common")) { + developmentFabric(project(path: ":common", configuration: "dev")) { transitive = false } - implementation(project(path: ":testmod-common")) { + implementation(project(path: ":testmod-common", configuration: "dev")) { transitive = false } - developmentFabric(project(path: ":testmod-common")) { + developmentFabric(project(path: ":testmod-common", configuration: "dev")) { transitive = false } } diff --git a/testmod-common/src/main/resources/assets/architectury_test/particles/test_particle.json b/testmod-fabric/src/main/resources/assets/architectury_test/particles/test_particle.json similarity index 100% rename from testmod-common/src/main/resources/assets/architectury_test/particles/test_particle.json rename to testmod-fabric/src/main/resources/assets/architectury_test/particles/test_particle.json diff --git a/testmod-forge/build.gradle b/testmod-forge/build.gradle index 21bac55b..d71a7742 100644 --- a/testmod-forge/build.gradle +++ b/testmod-forge/build.gradle @@ -4,10 +4,14 @@ plugins { } loom { -// mixinConfig "architectury.mixins.json" + forge { + mixinConfig "architectury.mixins.json" - localMods { - it.add(project(":forge").sourceSets.main) + localMods { + forge { + it.add(project(":forge").sourceSets.main) + } + } } } @@ -20,16 +24,16 @@ dependencies { forge "net.minecraftforge:forge:${gradle.rootProject.architectury.minecraft}-${rootProject.forge_version}" implementation project(path: ":forge", configuration: "dev") - implementation(project(path: ":common")) { + implementation(project(path: ":common", configuration: "dev")) { transitive = false } - developmentForge(project(path: ":common")) { + developmentForge(project(path: ":common", configuration: "dev")) { transitive = false } - implementation(project(path: ":testmod-common")) { + implementation(project(path: ":testmod-common", configuration: "dev")) { transitive = false } - developmentForge(project(path: ":testmod-common")) { + developmentForge(project(path: ":testmod-common", configuration: "dev")) { transitive = false } } diff --git a/testmod-forge/src/main/resources/assets/architectury_test/particles/test_particle.json b/testmod-forge/src/main/resources/assets/architectury_test/particles/test_particle.json new file mode 100644 index 00000000..7a73a41b --- /dev/null +++ b/testmod-forge/src/main/resources/assets/architectury_test/particles/test_particle.json @@ -0,0 +1,2 @@ +{ +} \ No newline at end of file