diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index af60e5eec9..36395a98b0 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -76,11 +76,10 @@ jobs: 'https://cdn.modrinth.com/data/9s6osm5g/versions/izKINKFg/cloth-config-15.0.140-neoforge.jar' 'https://github.com/SuperKnux/HexMod/raw/refs/heads/indev/1.21.1/libs/paucal-0.7.1-noelle+1.21.1-neoforge.jar' 'https://cdn.modrinth.com/data/fin1PX4m/versions/FhE1RJsR/inline-neoforge-1.21.1-1.2.2.jar' - 'https://cdn.modrinth.com/data/jtmvUHXj/versions/Fb55Fgjz/accessories-neoforge-1.1.0-beta.53%2B1.21.1.jar' 'https://cdn.modrinth.com/data/nU0bVIaL/versions/BIogJv2D/Patchouli-1.21.1-93-NEOFORGE.jar' 'https://cdn.modrinth.com/data/lhGA9TYQ/versions/ZxYGwlk0/architectury-13.0.8-neoforge.jar' 'https://cdn.modrinth.com/data/40FYwb4z/versions/KsfI4QsR/caelus-neoforge-7.0.1%2B1.21.1.jar' - 'https://cdn.modrinth.com/data/ccKDOlHs/versions/NMCHU6DZ/owo-lib-neoforge-0.12.15.5-beta.1%2B1.21.jar' + 'https://cdn.modrinth.com/data/vvuO3ImH/versions/yohfFbgD/curios-neoforge-9.5.1%2B1.21.1.jar' runs-on: ubuntu-latest steps: - uses: actions/setup-java@v4 diff --git a/Common/build.gradle b/Common/build.gradle index 1f2de764ed..410f7d0098 100644 --- a/Common/build.gradle +++ b/Common/build.gradle @@ -24,8 +24,6 @@ repositories { } maven { url "https://maven.shedaniel.me/" } - // accessories - maven { url 'https://maven.wispforest.io/releases' } // EMI maven { url = "https://maven.terraformersmc.com/releases/" } } @@ -44,7 +42,6 @@ dependencies { // === OPTIONAL DEPS === modCompileOnly "dev.emi:emi-xplat-intermediary:${emiVersion}:api" - modCompileOnly "io.wispforest:accessories-common:$accessoriesVersion" // === OTHER STUFF === compileOnly "org.jetbrains:annotations:$jetbrainsAnnotationsVersion" diff --git a/Common/src/main/java/at/petrak/hexcasting/common/items/ItemLens.java b/Common/src/main/java/at/petrak/hexcasting/common/items/ItemLens.java index 5f9772ec4d..d882f67584 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/items/ItemLens.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/items/ItemLens.java @@ -9,11 +9,13 @@ import net.minecraft.core.dispenser.BlockSource; import net.minecraft.core.dispenser.OptionalDispenseItemBehavior; import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.EquipmentSlotGroup; import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.item.ArmorItem; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.component.ItemAttributeModifiers; import net.minecraft.world.level.block.DispenserBlock; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -28,6 +30,13 @@ public class ItemLens extends Item implements HexBaubleItem { // Wearable, public static final AttributeModifier SCRY_SIGHT = new AttributeModifier( HexAPI.modLoc("scrying_lens_sight"), 1.0, AttributeModifier.Operation.ADD_VALUE); + public static final ItemAttributeModifiers MODIFIERS = ItemAttributeModifiers.builder() + .add(HexAttributes.GRID_ZOOM, GRID_ZOOM, EquipmentSlotGroup.HAND) + .add(HexAttributes.GRID_ZOOM, GRID_ZOOM, EquipmentSlotGroup.HEAD) + .add(HexAttributes.SCRY_SIGHT, SCRY_SIGHT, EquipmentSlotGroup.HAND) + .add(HexAttributes.SCRY_SIGHT, SCRY_SIGHT, EquipmentSlotGroup.HEAD) + .build(); + public ItemLens(Properties pProperties) { super(pProperties); DispenserBlock.registerBehavior(this, new OptionalDispenseItemBehavior() { diff --git a/Common/src/main/java/at/petrak/hexcasting/common/lib/HexItems.java b/Common/src/main/java/at/petrak/hexcasting/common/lib/HexItems.java index 0bfe66b01c..92ce07c7b2 100644 --- a/Common/src/main/java/at/petrak/hexcasting/common/lib/HexItems.java +++ b/Common/src/main/java/at/petrak/hexcasting/common/lib/HexItems.java @@ -75,7 +75,7 @@ public static void registerItemCreativeTab(CreativeModeTab.Output r, CreativeMod public static final ItemLens SCRYING_LENS = make("lens", new ItemLens( IXplatAbstractions.INSTANCE.addEquipSlotFabric(EquipmentSlot.HEAD) - .stacksTo(1))); + .stacksTo(1).attributes(ItemLens.MODIFIERS))); public static final ItemAbacus ABACUS = make("abacus", new ItemAbacus(unstackable())); public static final ItemThoughtKnot THOUGHT_KNOT = make("thought_knot", new ItemThoughtKnot(unstackable())); diff --git a/Common/src/main/java/at/petrak/hexcasting/interop/HexInterop.java b/Common/src/main/java/at/petrak/hexcasting/interop/HexInterop.java index f0c878373b..6ecbc2d40f 100644 --- a/Common/src/main/java/at/petrak/hexcasting/interop/HexInterop.java +++ b/Common/src/main/java/at/petrak/hexcasting/interop/HexInterop.java @@ -20,7 +20,7 @@ public static final class Forge { } public static final class Fabric { - public static final String ACCESSORIES_API_ID = "accessories"; + public static final String TRINKETS_API_ID = "trinkets"; } public static void init() { diff --git a/Common/src/main/resources/hexplat.accesswidener b/Common/src/main/resources/hexplat.accesswidener index 613c5818a0..181ba7db3a 100644 --- a/Common/src/main/resources/hexplat.accesswidener +++ b/Common/src/main/resources/hexplat.accesswidener @@ -5,6 +5,6 @@ accessible field net/minecraft/client/renderer/RenderType$CompositeState texture accessible class net/minecraft/client/renderer/RenderStateShard$EmptyTextureStateShard accessible class net/minecraft/world/item/crafting/Ingredient$Value accessible method net/minecraft/world/item/crafting/Ingredient (Ljava/util/stream/Stream;)V -#accessible method net/minecraft/world/item/context/UseOnContext (Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/InteractionHand;Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/phys/BlockHitResult;)V -#accessible method net/minecraft/world/damagesource/DamageSources source (Lnet/minecraft/resources/ResourceKey;)Lnet/minecraft/world/damagesource/DamageSource; -#accessible method net/minecraft/world/damagesource/DamageSources source (Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/world/entity/Entity;)Lnet/minecraft/world/damagesource/DamageSource; +accessible method net/minecraft/world/item/context/UseOnContext (Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/InteractionHand;Lnet/minecraft/world/item/ItemStack;Lnet/minecraft/world/phys/BlockHitResult;)V +accessible method net/minecraft/world/damagesource/DamageSources source (Lnet/minecraft/resources/ResourceKey;)Lnet/minecraft/world/damagesource/DamageSource; +accessible method net/minecraft/world/damagesource/DamageSources source (Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/world/entity/Entity;)Lnet/minecraft/world/damagesource/DamageSource; diff --git a/Fabric/build.gradle b/Fabric/build.gradle index 1e077ed838..abb601e4b1 100644 --- a/Fabric/build.gradle +++ b/Fabric/build.gradle @@ -110,8 +110,6 @@ repositories { } // pehkui maven { url = "https://jitpack.io" } - // accessories - maven { url 'https://maven.wispforest.io/releases' } // If you have mod jar dependencies in ./libs, you can declare them as a repository like so: flatDir { @@ -132,7 +130,7 @@ dependencies { // dear mod devs, don't put the platform in the middle of your version code modImplementation "vazkii.patchouli:Patchouli:1.21-$patchouliVersion-FABRIC-SNAPSHOT" modImplementation "com.samsthenerd.inline:inline-fabric:$minecraftVersion-$inlineVersion" - modImplementation "io.wispforest:accessories-fabric:$accessoriesVersion" + modImplementation "dev.emi:trinkets:${trinketsVersion}" modImplementation "org.ladysnake.cardinal-components-api:cardinal-components-base:$cardinalComponentsVersion" // modImplementation "org.ladysnake.cardinal-components-api:cardinal-components-util:$cardinalComponentsVersion" diff --git a/Fabric/gradle.properties b/Fabric/gradle.properties index 1f90d104cf..43ea94066f 100644 --- a/Fabric/gradle.properties +++ b/Fabric/gradle.properties @@ -1,6 +1,6 @@ platform=fabric -fabricVersion=0.92.8+1.21.1 +fabricVersion=0.116.12+1.21.1 fabricLoaderVersion=0.14.21 fabricLanguageKotlinVersion=1.13.7+kotlin.2.2.21 @@ -12,7 +12,7 @@ serializationHooksVersion=0.4.99999 #entityReachVersion=2.3.0 #gravityApiVersion=1.0.6 -trinketsVersion=3.7.0 +trinketsVersion=3.10.0 modmenuVersion=7.0.1 diff --git a/Fabric/src/main/java/at/petrak/hexcasting/fabric/interop/accessories/AccessoriesApiInterop.java b/Fabric/src/main/java/at/petrak/hexcasting/fabric/interop/accessories/AccessoriesApiInterop.java deleted file mode 100644 index 2d89b7e612..0000000000 --- a/Fabric/src/main/java/at/petrak/hexcasting/fabric/interop/accessories/AccessoriesApiInterop.java +++ /dev/null @@ -1,62 +0,0 @@ -package at.petrak.hexcasting.fabric.interop.accessories; - -import at.petrak.hexcasting.api.misc.DiscoveryHandlers; -import at.petrak.hexcasting.common.items.HexBaubleItem; -import at.petrak.hexcasting.common.items.magic.ItemCreativeUnlocker; -import at.petrak.hexcasting.common.lib.HexItems; -import io.wispforest.accessories.api.AccessoriesAPI; -import io.wispforest.accessories.api.AccessoriesCapability; -import io.wispforest.accessories.api.Accessory; -import io.wispforest.accessories.api.attributes.AccessoryAttributeBuilder; -import io.wispforest.accessories.api.slot.SlotEntryReference; -import io.wispforest.accessories.api.slot.SlotReference; -import java.util.List; -import java.util.Optional; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.util.Tuple; -import net.minecraft.world.item.ItemStack; - -import static io.wispforest.accessories.api.client.AccessoriesRendererRegistry.registerRenderer; - -public class AccessoriesApiInterop { - public static void init() { - BuiltInRegistries.ITEM.stream().forEach(item -> { - if (item instanceof HexBaubleItem bauble) { - AccessoriesAPI.registerAccessory(item, new Accessory() { - @Override - public void getDynamicModifiers(ItemStack stack, SlotReference slot, AccessoryAttributeBuilder builder) { - bauble.getHexBaubleAttrs(stack).forEach(builder::addExclusive); - } - }); - } - }); - - - DiscoveryHandlers.addDebugItemDiscoverer((player, type) -> { - AccessoriesCapability slots = AccessoriesCapability.get(player); - if (slots != null) { - var stack2 = slots.getEquipped(stack -> ItemCreativeUnlocker.isDebug(stack, type)); - if (stack2 != null) return stack2.getFirst().stack(); - } - return ItemStack.EMPTY; - }); - - DiscoveryHandlers.addExtraEquipmentDiscoverer(player -> { - Optional optional = AccessoriesCapability.getOptionally(player); - if (optional.isPresent()) { - AccessoriesCapability component = optional.get(); - return component.getEquipped(i -> !i.isEmpty()).stream() - .map(SlotEntryReference::stack) - .toList(); - } - return List.of(); - }); - } - - @Environment(EnvType.CLIENT) - public static void clientInit() { - registerRenderer(HexItems.SCRYING_LENS, LensAccessoryRenderer::new); - } -} diff --git a/Fabric/src/main/java/at/petrak/hexcasting/fabric/interop/accessories/LensAccessoryRenderer.java b/Fabric/src/main/java/at/petrak/hexcasting/fabric/interop/trinkets/LensTrinketRenderer.java similarity index 62% rename from Fabric/src/main/java/at/petrak/hexcasting/fabric/interop/accessories/LensAccessoryRenderer.java rename to Fabric/src/main/java/at/petrak/hexcasting/fabric/interop/trinkets/LensTrinketRenderer.java index 2e80525fe5..8cdf397292 100644 --- a/Fabric/src/main/java/at/petrak/hexcasting/fabric/interop/accessories/LensAccessoryRenderer.java +++ b/Fabric/src/main/java/at/petrak/hexcasting/fabric/interop/trinkets/LensTrinketRenderer.java @@ -1,17 +1,17 @@ -package at.petrak.hexcasting.fabric.interop.accessories; +package at.petrak.hexcasting.fabric.interop.trinkets; import at.petrak.hexcasting.common.lib.HexItems; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.math.Axis; -import io.wispforest.accessories.api.client.AccessoryRenderer; -import io.wispforest.accessories.api.slot.SlotReference; +import dev.emi.trinkets.api.SlotReference; +import dev.emi.trinkets.api.client.TrinketRenderer; import net.minecraft.client.Minecraft; import net.minecraft.client.model.EntityModel; import net.minecraft.client.model.PlayerModel; +import net.minecraft.client.player.AbstractClientPlayer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; @@ -19,17 +19,18 @@ * @author WireSegal * Created at 9:50 AM on 7/25/22. */ -public class LensAccessoryRenderer implements AccessoryRenderer { +public class LensTrinketRenderer implements TrinketRenderer { @Override - @SuppressWarnings("unchecked") - public void render(ItemStack stack, SlotReference slotReference, PoseStack matrices, EntityModel model, MultiBufferSource multiBufferSource, int light, float v, float v1, float v2, float v3, float v4, float v5) { + public void render(ItemStack stack, SlotReference slotReference, EntityModel model, PoseStack matrices, MultiBufferSource multiBufferSource, int light, LivingEntity entity, float limbAngle, float limbDistance, float tickDelta, float animationProgress, float headYaw, float headPitch) { if (stack.is(HexItems.SCRYING_LENS) && - model instanceof PlayerModel playerModel && slotReference.entity() instanceof Player) { + model instanceof PlayerModel playerModel && entity instanceof AbstractClientPlayer player) { // from https://github.com/Creators-of-Create/Create/blob/ee33823ed0b5084af10ed131a1626ce71db4c07e/src/main/java/com/simibubi/create/compat/curios/GogglesCurioRenderer.java // Translate and rotate with our head matrices.pushPose(); + TrinketRenderer.followBodyRotations(entity, playerModel); + TrinketRenderer.translateToFace(matrices, playerModel, player, headYaw, headPitch); // Translate and scale to our head matrices.translate(0, 0, 0.3); diff --git a/Fabric/src/main/java/at/petrak/hexcasting/fabric/interop/trinkets/TrinketsInterop.java b/Fabric/src/main/java/at/petrak/hexcasting/fabric/interop/trinkets/TrinketsInterop.java new file mode 100644 index 0000000000..4bff15f353 --- /dev/null +++ b/Fabric/src/main/java/at/petrak/hexcasting/fabric/interop/trinkets/TrinketsInterop.java @@ -0,0 +1,66 @@ +package at.petrak.hexcasting.fabric.interop.trinkets; + +import at.petrak.hexcasting.api.misc.DiscoveryHandlers; +import at.petrak.hexcasting.common.items.HexBaubleItem; +import at.petrak.hexcasting.common.items.magic.ItemCreativeUnlocker; +import at.petrak.hexcasting.common.lib.HexItems; +import com.google.common.collect.Multimap; +import dev.emi.trinkets.api.SlotReference; +import dev.emi.trinkets.api.Trinket; +import dev.emi.trinkets.api.TrinketComponent; +import dev.emi.trinkets.api.TrinketsApi; +import java.util.List; +import java.util.Optional; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.core.Holder; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Tuple; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.ai.attributes.Attribute; +import net.minecraft.world.entity.ai.attributes.AttributeModifier; +import net.minecraft.world.item.ItemStack; + +import static dev.emi.trinkets.api.client.TrinketRendererRegistry.registerRenderer; + +public class TrinketsInterop { + public static void init() { + BuiltInRegistries.ITEM.stream().forEach(item -> { + if (item instanceof HexBaubleItem bauble) { + TrinketsApi.registerTrinket(item, new Trinket() { + @Override + public Multimap, AttributeModifier> getModifiers(ItemStack stack, SlotReference slot, LivingEntity entity, ResourceLocation slotIdentifier) { + return bauble.getHexBaubleAttrs(stack); + } + }); + } + }); + + + DiscoveryHandlers.addDebugItemDiscoverer((player, type) -> { + Optional slots = TrinketsApi.getTrinketComponent(player); + if (slots.isPresent()) { + var stack2 = slots.get().getEquipped(stack -> ItemCreativeUnlocker.isDebug(stack, type)); + if (stack2 != null) return stack2.getFirst().getB(); + } + return ItemStack.EMPTY; + }); + + DiscoveryHandlers.addExtraEquipmentDiscoverer(player -> { + Optional optional = TrinketsApi.getTrinketComponent(player); + if (optional.isPresent()) { + TrinketComponent component = optional.get(); + return component.getEquipped(i -> !i.isEmpty()).stream() + .map(Tuple::getB) + .toList(); + } + return List.of(); + }); + } + + @Environment(EnvType.CLIENT) + public static void clientInit() { + registerRenderer(HexItems.SCRYING_LENS, new LensTrinketRenderer()); + } +} diff --git a/Fabric/src/main/java/at/petrak/hexcasting/fabric/xplat/FabricClientXplatImpl.java b/Fabric/src/main/java/at/petrak/hexcasting/fabric/xplat/FabricClientXplatImpl.java index bd5048cdfe..1cc21331a5 100644 --- a/Fabric/src/main/java/at/petrak/hexcasting/fabric/xplat/FabricClientXplatImpl.java +++ b/Fabric/src/main/java/at/petrak/hexcasting/fabric/xplat/FabricClientXplatImpl.java @@ -3,7 +3,7 @@ import at.petrak.hexcasting.api.client.ClientCastingStack; import at.petrak.hexcasting.fabric.cc.HexCardinalComponents; import at.petrak.hexcasting.fabric.client.ExtendedTexture; -import at.petrak.hexcasting.fabric.interop.accessories.AccessoriesApiInterop; +import at.petrak.hexcasting.fabric.interop.trinkets.TrinketsInterop; import at.petrak.hexcasting.interop.HexInterop; import at.petrak.hexcasting.xplat.IClientXplatAbstractions; import at.petrak.hexcasting.xplat.IXplatAbstractions; @@ -44,8 +44,8 @@ public void setRenderLayer(Block block, RenderType type) { @Override public void initPlatformSpecific() { - if (IXplatAbstractions.INSTANCE.isModPresent(HexInterop.Fabric.ACCESSORIES_API_ID)) { - AccessoriesApiInterop.clientInit(); + if (IXplatAbstractions.INSTANCE.isModPresent(HexInterop.Fabric.TRINKETS_API_ID)) { + TrinketsInterop.clientInit(); } } diff --git a/Fabric/src/main/java/at/petrak/hexcasting/fabric/xplat/FabricRegister.java b/Fabric/src/main/java/at/petrak/hexcasting/fabric/xplat/FabricRegister.java index 18c9ff8e45..d9659ad79d 100644 --- a/Fabric/src/main/java/at/petrak/hexcasting/fabric/xplat/FabricRegister.java +++ b/Fabric/src/main/java/at/petrak/hexcasting/fabric/xplat/FabricRegister.java @@ -14,18 +14,10 @@ public class FabricRegister implements IXplatRegister { private final Registry register; - private final Map map; @SuppressWarnings("unchecked") public FabricRegister(ResourceKey> registryKey) { this.register = (Registry) BuiltInRegistries.REGISTRY.get(registryKey.location()); - this.map = new HashMap<>(); - } - - @SuppressWarnings("unchecked") - public FabricRegister(ResourceKey> registryKey, Map map) { - this.register = (Registry) BuiltInRegistries.REGISTRY.get(registryKey.location()); - this.map = map; } @@ -39,14 +31,12 @@ public Supplier register(String id, Supplier provider) { @Override public Holder registerHolder(String id, Supplier provider) { T value = provider.get(); - map.put(id, value); + Registry.register(register, modLoc(id), value); return register.wrapAsHolder(value); } @Override public void registerAll() { - map.forEach((string, value) -> - Registry.register(register, modLoc(string), value) - ); + // This is fabric. we register eagerly. } } diff --git a/Fabric/src/main/java/at/petrak/hexcasting/fabric/xplat/FabricXplatImpl.java b/Fabric/src/main/java/at/petrak/hexcasting/fabric/xplat/FabricXplatImpl.java index 5d18904532..da2040d71c 100644 --- a/Fabric/src/main/java/at/petrak/hexcasting/fabric/xplat/FabricXplatImpl.java +++ b/Fabric/src/main/java/at/petrak/hexcasting/fabric/xplat/FabricXplatImpl.java @@ -25,7 +25,7 @@ import at.petrak.hexcasting.common.recipe.ingredient.brainsweep.BrainsweepeeIngredientType; import at.petrak.hexcasting.common.recipe.ingredient.state.StateIngredientType; import at.petrak.hexcasting.fabric.cc.HexCardinalComponents; -import at.petrak.hexcasting.fabric.interop.accessories.AccessoriesApiInterop; +import at.petrak.hexcasting.fabric.interop.trinkets.TrinketsInterop; import at.petrak.hexcasting.fabric.recipe.FabricUnsealedIngredient; import at.petrak.hexcasting.interop.HexInterop; import at.petrak.hexcasting.interop.pehkui.PehkuiInterop; @@ -109,8 +109,8 @@ public boolean isModPresent(String id) { @Override public void initPlatformSpecific() { - if (this.isModPresent(HexInterop.Fabric.ACCESSORIES_API_ID)) { - AccessoriesApiInterop.init(); + if (this.isModPresent(HexInterop.Fabric.TRINKETS_API_ID)) { + TrinketsInterop.init(); } } diff --git a/Fabric/src/main/resources/data/trinkets/tags/items/head/face.json b/Fabric/src/main/resources/data/trinkets/tags/item/head/face.json similarity index 100% rename from Fabric/src/main/resources/data/trinkets/tags/items/head/face.json rename to Fabric/src/main/resources/data/trinkets/tags/item/head/face.json diff --git a/Fabric/src/main/resources/fabric.mod.json b/Fabric/src/main/resources/fabric.mod.json index 1f5ad84f67..e10288500a 100644 --- a/Fabric/src/main/resources/fabric.mod.json +++ b/Fabric/src/main/resources/fabric.mod.json @@ -62,7 +62,8 @@ }, "suggests": { "pehkui": ">=3.7.6", - "modmenu": ">=7.0.1" + "modmenu": ">=7.0.1", + "trinkets": ">=3.10.0" }, "custom": { "cardinal-components": [ diff --git a/Neoforge/build.gradle b/Neoforge/build.gradle index 9403d9e761..a703429fc3 100644 --- a/Neoforge/build.gradle +++ b/Neoforge/build.gradle @@ -77,10 +77,6 @@ repositories { } maven { url "https://maven.shedaniel.me/" } - // accessories - maven { url 'https://maven.wispforest.io/releases' } - // sinytra connector or something?? accessories needs it - maven { url 'https://maven.su5ed.dev/releases' } } dependencies { @@ -104,7 +100,7 @@ dependencies { modImplementation "com.illusivesoulworks.caelus:caelus-neoforge:$caelusVersion" modImplementation "com.samsthenerd.inline:inline-neoforge:1.21.1-1.2.2-74" // needed for inline to run - modRuntimeOnly("me.shedaniel.cloth:cloth-config-forge:$clothConfigVersion") + modRuntimeOnly("me.shedaniel.cloth:cloth-config-neoforge:$clothConfigVersion") modRuntimeOnly "com.samsthenerd.inline:inline-neoforge:$minecraftVersion-$inlineVersion" modRuntimeOnly "dev.architectury:architectury-neoforge:$architecturyVersion" @@ -113,16 +109,10 @@ dependencies { modCompileOnly "dev.emi:emi-neoforge:${emiVersion}:api" modRuntimeOnly "dev.emi:emi-neoforge:${emiVersion}" - modImplementation "io.wispforest:accessories-neoforge:$accessoriesVersion" modApi("com.github.Virtuoel:Pehkui:${pehkuiVersion}-1.21-neoforge") - + // "Required due to issues with JIJ dependency resolving in arch or something" - // https://github.com/wisp-forest/accessories - forgeRuntimeLibrary("io.wispforest:endec:0.1.8") - forgeRuntimeLibrary("io.wispforest.endec:gson:0.1.5") - forgeRuntimeLibrary("io.wispforest.endec:netty:0.1.4") - forgeRuntimeLibrary("io.wispforest.endec:jankson:0.1.5") forgeRuntimeLibrary("org.jetbrains.kotlin:kotlin-reflect:2.1.20") forgeRuntimeLibrary("org.jetbrains.kotlin:kotlin-stdlib:2.1.20") forgeRuntimeLibrary("org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.1.20") @@ -131,8 +121,6 @@ dependencies { forgeRuntimeLibrary("org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.10.2") forgeRuntimeLibrary("org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.8.1") forgeRuntimeLibrary("org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.8.1") - forgeRuntimeLibrary("blue.endless:jankson:1.2.2") - forgeRuntimeLibrary("blue.endless:jankson:0.1.5") } def generatedResources = project(":Common").file("src/generated/resources") diff --git a/Neoforge/src/main/resources/META-INF/neoforge.mods.toml b/Neoforge/src/main/resources/META-INF/neoforge.mods.toml index 6b5b68b202..460ef91cc1 100644 --- a/Neoforge/src/main/resources/META-INF/neoforge.mods.toml +++ b/Neoforge/src/main/resources/META-INF/neoforge.mods.toml @@ -21,47 +21,43 @@ config = "hexcasting_forge.mixins.json" [[dependencies.hexcasting]] modId = "neoforge" -mandatory = true versionRange = "[21,)" ordering = "NONE" side = "BOTH" [[dependencies.hexcasting]] modId = "minecraft" -mandatory = true versionRange = "[1.21.1,1.21.10)" ordering = "NONE" side = "BOTH" [[dependencies.hexcasting]] modId = "paucal" -mandatory = true versionRange = "[0.7.1,)" ordering = "NONE" side = "BOTH" [[dependencies.hexcasting]] modId = "patchouli" -mandatory = true versionRange = "[1.21-80,)" ordering = "NONE" side = "BOTH" [[dependencies.hexcasting]] modId = "caelus" -mandatory = true versionRange = "[7.0.1+1.21.1,)" ordering = "NONE" side = "BOTH" [[dependencies.hexcasting]] modId = "inline" -mandatory = true versionRange = "[1.21.1-1.2.2,)" ordering = "NONE" side = "BOTH" [[dependencies.hexcasting]] -modId = "accessories" -mandatory = false -versionRange = "[1.1.0-beta.16+1.21.1,)" \ No newline at end of file +modId = "curios" +type = "optional" +versionRange = "[9.5.1,)" +ordering = "NONE" +side = "BOTH" \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 770f7b5d25..66a9c4c872 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,7 +18,6 @@ fabric_loader_version=0.16.14 # haha not anymore it's from mavenLocal paucalVersion=0.7.1-noelle patchouliVersion=88 -accessoriesVersion=1.1.0-beta.16+1.21.1 emiVersion=1.1.18+1.21.1