aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2025-10-14 23:45:30 +0200
committerLinnea Gräf <nea@nea.moe>2025-10-14 23:45:30 +0200
commit2ed4f2d23f70ab6da46edf504371cb6b238c802e (patch)
tree7d1b49f8263924a5e13d509c45e72aa1f0316c6e
parent765a38ecc0f855229722354866eaf561a9a6123c (diff)
downloadFirmament-2ed4f2d23f70ab6da46edf504371cb6b238c802e.tar.gz
Firmament-2ed4f2d23f70ab6da46edf504371cb6b238c802e.tar.bz2
Firmament-2ed4f2d23f70ab6da46edf504371cb6b238c802e.zip
fix: delete old integrations for cit resewn, configured, explosive enhancements
-rw-r--r--build.gradle.kts13
-rw-r--r--gradle/libs.versions.toml12
-rw-r--r--src/compat/citresewn/java/ConditionDirectAccessHelper.kt59
-rw-r--r--src/compat/citresewn/java/moe/nea/firmament/mixins/compat/citresewn/MixinConditionComponents.java123
-rw-r--r--src/compat/configured/java/BaseConfigNode.kt40
-rw-r--r--src/compat/configured/java/ConfigCategory.kt48
-rw-r--r--src/compat/configured/java/ConfigNode.kt39
-rw-r--r--src/compat/configured/java/ConfigValue.kt72
-rw-r--r--src/compat/configured/java/ConfigValueNode.kt37
-rw-r--r--src/compat/configured/java/ConfiguredCompat.kt30
-rw-r--r--src/compat/configured/java/ConfiguredConfigScreenProvider.kt22
-rw-r--r--src/compat/explosiveEnhancement/java/ExplosiveEnhancementSpawner.kt17
-rw-r--r--src/main/kotlin/features/fixes/CompatibliltyFeatures.kt39
-rw-r--r--src/main/resources/fabric.mod.json5
-rw-r--r--translations/en_us.json2
-rw-r--r--translations/languages/zh_cn.json2
16 files changed, 0 insertions, 560 deletions
diff --git a/build.gradle.kts b/build.gradle.kts
index 78d680e..3d7a2a6 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -196,15 +196,8 @@ val gameTestSourceSet by sourceSets.named("gametest") {
configurations.named(runtimeClasspathConfigurationName).extendsFrom(configurations.testRuntimeClasspath)
}
-val configuredSourceSet = createIsolatedSourceSet(
- "configured",
- isEnabled = false
-) // Wait for update (also low prio, because configured sucks)
val sodiumSourceSet = createIsolatedSourceSet("sodium")
-val citResewnSourceSet = createIsolatedSourceSet("citresewn", isEnabled = false) // TODO: Wait for update
val yaclSourceSet = createIsolatedSourceSet("yacl")
-val explosiveEnhancementSourceSet =
- createIsolatedSourceSet("explosiveEnhancement", isEnabled = false) // TODO: wait for their port
val wildfireGenderSourceSet = createIsolatedSourceSet("wildfireGender")
val jadeSourceSet = createIsolatedSourceSet("jade")
val modmenuSourceSet = createIsolatedSourceSet("modmenu")
@@ -228,7 +221,6 @@ dependencies {
modImplementation(libs.basicMath)
include(libs.basicMath)
(modmenuSourceSet.modImplementationConfigurationName)(libs.modmenu)
- (explosiveEnhancementSourceSet.modImplementationConfigurationName)(libs.explosiveenhancement)
modImplementation(libs.hypixelmodapi)
include(libs.hypixelmodapi.fabric)
compileOnly(projects.javaplugin)
@@ -252,15 +244,10 @@ dependencies {
(wildfireGenderSourceSet.modImplementationConfigurationName)(libs.femalegender)
(wildfireGenderSourceSet.implementationConfigurationName)(customTexturesSourceSet.output)
- (configuredSourceSet.modImplementationConfigurationName)(libs.configured)
(sodiumSourceSet.modImplementationConfigurationName)(libs.sodium)
(sodiumSourceSet.implementationConfigurationName)(customTexturesSourceSet.output)
(jadeSourceSet.modImplementationConfigurationName)(libs.jade)
- (citResewnSourceSet.modImplementationConfigurationName)(
- innerJarsOf("citresewn", dependencies.create(libs.citresewn.get()))
- )
- (citResewnSourceSet.modImplementationConfigurationName)(libs.citresewn)
(yaclSourceSet.modImplementationConfigurationName)(libs.yacl)
// Actual dependencies
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index d914e66..554333e 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -42,15 +42,10 @@ femalegender = "4.3.4+1.21.7"
shadow = "8.3.8"
-# Update from https://modrinth.com/mod/explosive-enhancement/versions?l=fabric
-explosiveenhancement = "1.2.3-1.21.0"
# Update from https://modrinth.com/mod/not-enough-animations/versions?l=fabric
notenoughanimations = "JTLkasT1"
-# Update from https://modrinth.com/mod/cit-resewn/versions?l=fabric lmao yeah sure
-citresewn = "1.2.0+1.21"
-
# Update from https://modrinth.com/mod/jade/versions?l=fabric
jade = "19.0.4+fabric"
@@ -77,9 +72,6 @@ moulconfig = "4.1.0-beta"
# Update from https://repo.nea.moe/#/releases/moe/nea/mc-auto-translations/moe.nea.mc-auto-translations.gradle.plugin
mcAutoTranslations = "0.3.0"
-# Update from https://www.curseforge.com/minecraft/mc-mods/configured/files/all?page=1&pageSize=20
-configured = "6023970"
-
# Update from https://modrinth.com/mod/hypixel-mod-api/versions?l=fabric
hypixelmodapi = "1.0.1"
hypixelmodapi_fabric = "1.0.1+build.1+mc1.21"
@@ -120,12 +112,10 @@ mixinextras = { module = "io.github.llamalad7:mixinextras-fabric", version.ref =
jarvis_api = { module = "moe.nea.jarvis:jarvis-api", version.ref = "jarvis" }
jarvis_fabric = { module = "moe.nea.jarvis:jarvis-fabric", version.ref = "jarvis" }
nealisp = { module = "moe.nea:nealisp", version.ref = "nealisp" }
-explosiveenhancement = { module = "maven.modrinth:explosive-enhancement", version.ref = "explosiveenhancement" }
manninghamMills = { module = "me.shedaniel:mm", version.ref = "manninghamMills" }
aaronhmapi = { module = "net.azureaaron:hm-api", version = "1.0.0+1.21" }
hypixelmodapi = { module = "net.hypixel:mod-api", version.ref = "hypixelmodapi" }
hypixelmodapi_fabric = { module = "maven.modrinth:hypixel-mod-api", version.ref = "hypixelmodapi_fabric" }
-configured = { module = "curse.maven:configured-457570", version.ref = "configured" }
# Runtime:
notenoughanimations = { module = "maven.modrinth:not-enough-animations", version.ref = "notenoughanimations" }
hotswap = { module = "virtual.github.hotswapagent:hotswap-agent", version.ref = "hotswap_agent" }
@@ -136,7 +126,6 @@ qolify = { module = "maven.modrinth:qolify", version.ref = "qolify" }
ncr = { module = "maven.modrinth:no-chat-reports", version.ref = "ncr" }
sodium = { module = "maven.modrinth:sodium", version.ref = "sodium" }
freecammod = { module = "maven.modrinth:freecam", version.ref = "freecammod" }
-citresewn = { module = "maven.modrinth:cit-resewn", version.ref = "citresewn" }
femalegender = { module = "maven.modrinth:female-gender", version.ref = "femalegender" }
jade = { module = "maven.modrinth:jade", version.ref = "jade" }
yacl = { module = "dev.isxander:yet-another-config-lib", version.ref = "yacl" }
@@ -159,7 +148,6 @@ runtime_optional = [
# "sodium",
# "qolify",
# "ncr",
- # "citresewn",
]
[plugins]
diff --git a/src/compat/citresewn/java/ConditionDirectAccessHelper.kt b/src/compat/citresewn/java/ConditionDirectAccessHelper.kt
deleted file mode 100644
index af97a40..0000000
--- a/src/compat/citresewn/java/ConditionDirectAccessHelper.kt
+++ /dev/null
@@ -1,59 +0,0 @@
-package moe.nea.firmament.compat.citresewn
-
-import java.lang.invoke.MethodHandles
-import java.util.function.BiPredicate
-import java.util.function.Function
-import shcm.shsupercm.fabric.citresewn.defaults.cit.conditions.ConditionNBT
-
-object ConditionNBTMixin {
- class Helper<StringMatcher> {
- // TODO: make lambdametafactory work by way of modifying the actual modifiers
-
- val stringMatcherType = ConditionNBT::class.java.getDeclaredField("matchString").type
-
- val accessMatcher = run {
- val matchStringF = ConditionNBT::class.java.getDeclaredField("matchString");
- matchStringF.isAccessible = true
- val l = MethodHandles.privateLookupIn(ConditionNBT::class.java, MethodHandles.lookup())
-// val mt = MethodType.methodType(stringMatcherType, ConditionNBT::class.java)
-// val callsite = LambdaMetafactory.metafactory(
-// l, "apply",
-// MethodType.methodType(Function::class.java),
-// MethodType.methodType(java.lang.Object::class.java, java.lang.Object::class.java),
-// l.unreflectGetter(matchStringF),
-// mt
-// )
- val getter = l.unreflectGetter(matchStringF)
- Function<ConditionNBT, StringMatcher> { getter.invoke(it) as StringMatcher }
- }
- val directCaller = run {
- val matchM = stringMatcherType.getDeclaredMethod("matches", String::class.java);
- matchM.isAccessible = true
- val l = MethodHandles.privateLookupIn(ConditionNBT::class.java, MethodHandles.lookup())
-// val mt = MethodType.methodType(java.lang.Boolean.TYPE, stringMatcherType, String::class.java)
-// val callsite = LambdaMetafactory.metafactory(
-// l, "test",
-// MethodType.methodType(BiPredicate::class.java),
-// mt,
-// l.unreflect(matchM),
-// mt
-// )
- val func = l.unreflect(matchM)
- BiPredicate<StringMatcher, String> { a, b -> func.invoke(a, b) as Boolean }
- }
-
- fun test(condition: ConditionNBT, text: String): Boolean {
- return directCaller.test(accessMatcher.apply(condition), text) as Boolean
- }
- }
-
- val helper = Helper<Any>()
-
- @JvmStatic
- fun invokeDirectConditionNBTStringMatch(
- nbt: ConditionNBT,
- text: String,
- ): Boolean {
- return helper.test(nbt, text)
- }
-}
diff --git a/src/compat/citresewn/java/moe/nea/firmament/mixins/compat/citresewn/MixinConditionComponents.java b/src/compat/citresewn/java/moe/nea/firmament/mixins/compat/citresewn/MixinConditionComponents.java
deleted file mode 100644
index 0743d40..0000000
--- a/src/compat/citresewn/java/moe/nea/firmament/mixins/compat/citresewn/MixinConditionComponents.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package moe.nea.firmament.mixins.compat.citresewn;
-
-import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
-import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
-import com.llamalad7.mixinextras.sugar.Local;
-import com.llamalad7.mixinextras.sugar.ref.LocalRef;
-import com.mojang.serialization.Codec;
-import com.mojang.serialization.DataResult;
-import com.mojang.serialization.DynamicOps;
-import moe.nea.firmament.compat.citresewn.ConditionNBTMixin;
-import moe.nea.firmament.features.texturepack.CustomSkyBlockTextures;
-import net.minecraft.component.ComponentType;
-import net.minecraft.component.DataComponentTypes;
-import net.minecraft.component.type.NbtComponent;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Pseudo;
-import org.spongepowered.asm.mixin.Shadow;
-import org.spongepowered.asm.mixin.Unique;
-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.CallbackInfoReturnable;
-import shcm.shsupercm.fabric.citresewn.CITResewn;
-import shcm.shsupercm.fabric.citresewn.cit.CITContext;
-import shcm.shsupercm.fabric.citresewn.defaults.cit.conditions.ConditionComponents;
-import shcm.shsupercm.fabric.citresewn.defaults.cit.conditions.ConditionNBT;
-import shcm.shsupercm.fabric.citresewn.pack.format.PropertyGroup;
-import shcm.shsupercm.fabric.citresewn.pack.format.PropertyKey;
-import shcm.shsupercm.fabric.citresewn.pack.format.PropertyValue;
-
-// People are complaining but this really is not my place to fix things
-
-@Mixin(ConditionComponents.class)
-@Pseudo
-public class MixinConditionComponents {
- @Shadow
- private ComponentType<?> componentType;
-
- @Shadow(remap = false)
- private ConditionNBT fallbackNBTCheck;
- @Unique
- private String[] pathCheck;
- @Unique
- private int loreInt = -1;
-
- @Inject(method = "load", at = @At("HEAD"), remap = false)
- public void addExtraAttributeSupport(PropertyKey key, PropertyValue value, PropertyGroup properties, CallbackInfo ci,
- @Local(argsOnly = true) LocalRef<PropertyKey> keyRef,
- @Local(argsOnly = true) LocalRef<PropertyValue> valueRef) {
- if (!CustomSkyBlockTextures.TConfig.INSTANCE.getEnableLegacyCIT()) return;
- if (!"nbt".equals(key.path())) return;
- if (!value.keyMetadata().startsWith("ExtraAttributes.")) return;
- keyRef.set(new PropertyKey(key.namespace(), "component"));
- valueRef.set(new PropertyValue(
- "minecraft:custom_data" + value.keyMetadata().substring("ExtraAttributes".length()),
- value.value(),
- value.separator(),
- value.position(),
- value.propertiesIdentifier(),
- value.packName()
- ));
- CITResewn.logWarnLoading(properties.messageWithDescriptorOf("NBT condition is not supported since 1.21. THIS IS A FIRMAMENT SPECIAL FEATURE ALLOWING YOU TO CONTINUE TO USE nbt.ExtraAttributes.* PROPERTIES FOR A LIMITED TIME! UPDATE YOUR .PROPERTIES FILES OR SWITCH TO FIRMAMENT CIT (https://github.com/FirmamentMC/CitToFirm)",
- value.position()));
- }
-
- @Inject(method = "load",
- at = @At(value = "INVOKE", remap = false, target = "Lshcm/shsupercm/fabric/citresewn/defaults/cit/conditions/ConditionNBT;loadNbtCondition(Lshcm/shsupercm/fabric/citresewn/pack/format/PropertyValue;Lshcm/shsupercm/fabric/citresewn/pack/format/PropertyGroup;[Ljava/lang/String;Ljava/lang/String;)V"),
- remap = false)
- private void onLoadSavePath(PropertyKey key, PropertyValue value, PropertyGroup properties, CallbackInfo ci,
- @Local String[] path) {
- this.pathCheck = path;
- this.loreInt = -1;
- }
-
- @Unique
- private boolean matchStringDirect(String directString, CITContext context) {
- return ConditionNBTMixin.invokeDirectConditionNBTStringMatch(fallbackNBTCheck, directString);
- }
-
- @WrapOperation(method = "test", at = @At(value = "INVOKE", target = "Lcom/mojang/serialization/Codec;encodeStart(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;"), remap = false)
- DataResult fastPathUnsafeNbtComponent(
- Codec instance,
- DynamicOps dynamicOps,
- Object o,
- Operation<DataResult> original) {
- if (o instanceof NbtComponent nbtComponent) {
- return DataResult.success(nbtComponent.getNbt());
- }
- return original.call(instance, dynamicOps, o);
- }
-
- @Inject(method = "test", at = @At("HEAD"), cancellable = true, remap = false)
- void fastPathDisplayName(CITContext context, CallbackInfoReturnable<Boolean> cir) {
- if (this.componentType == DataComponentTypes.CUSTOM_NAME && pathCheck.length == 0) {
- var displayName = context.stack.getComponents().get(DataComponentTypes.CUSTOM_NAME);
- if (displayName != null) {
- cir.setReturnValue(matchStringDirect((displayName.getString()), context));
- }
- }
- if (this.componentType == DataComponentTypes.LORE && pathCheck.length == 1) {
- var lore = context.stack.getComponents().get(DataComponentTypes.LORE);
- if (lore != null) {
- var loreLines = lore.lines();
- if (pathCheck[0].equals("*")) {
- for (var loreLine : loreLines) {
- if (matchStringDirect((loreLine.getString()), context)) {
- cir.setReturnValue(true);
- return;
- }
- }
- cir.setReturnValue(false);
- } else {
- if (loreInt < 0)
- loreInt = Integer.parseInt(pathCheck[0]);
- cir.setReturnValue(0 <= loreInt && loreInt < loreLines.size() &&
- matchStringDirect((loreLines.get(loreInt).getString()), context));
- }
- }
- }
- }
-
-
-}
diff --git a/src/compat/configured/java/BaseConfigNode.kt b/src/compat/configured/java/BaseConfigNode.kt
deleted file mode 100644
index afe0375..0000000
--- a/src/compat/configured/java/BaseConfigNode.kt
+++ /dev/null
@@ -1,40 +0,0 @@
-package moe.nea.firmament.compat.configured
-
-import com.mrcrayfish.configured.api.IConfigEntry
-import com.mrcrayfish.configured.api.IConfigValue
-import net.minecraft.text.Text
-import moe.nea.firmament.gui.config.AllConfigsGui
-import moe.nea.firmament.gui.config.ManagedConfig
-
-object BaseConfigNode : IConfigEntry {
- override fun getChildren(): List<IConfigEntry> {
- return ManagedConfig.allManagedConfigs.getAll().map {
- ConfigNode(it) // TODO: fix add categories here
- }
- }
-
- override fun isRoot(): Boolean {
- return true
- }
-
- override fun isLeaf(): Boolean {
- return false
- }
-
- override fun getValue(): IConfigValue<*>? {
- return null
- }
-
- override fun getEntryName(): String {
- return "Firmament"
- }
-
- override fun getTooltip(): Text? {
- return null
- }
-
- override fun getTranslationKey(): String? {
- return null
- }
-
-}
diff --git a/src/compat/configured/java/ConfigCategory.kt b/src/compat/configured/java/ConfigCategory.kt
deleted file mode 100644
index 4e33b8b..0000000
--- a/src/compat/configured/java/ConfigCategory.kt
+++ /dev/null
@@ -1,48 +0,0 @@
-package moe.nea.firmament.compat.configured
-
-import com.mrcrayfish.configured.api.ConfigType
-import com.mrcrayfish.configured.api.IConfigEntry
-import com.mrcrayfish.configured.api.IModConfig
-import com.mrcrayfish.configured.util.ConfigHelper
-import java.nio.file.Path
-import java.util.function.Consumer
-import moe.nea.firmament.Firmament
-import moe.nea.firmament.gui.config.ManagedConfig
-
-class ConfigCategory(
- val category: ManagedConfig
-) : BaseConfig() {
-
- override fun getRoot(): IConfigEntry {
- return ConfigNode(category)
- }
-
- override fun getTranslationKey(): String? {
- return category.translationKey
- }
-}
-
-abstract class BaseConfig : IModConfig {
- override fun update(p0: IConfigEntry) {
- ConfigHelper.getChangedValues(p0).forEach {
- it as ConfigValue
- it.saveValue()
- }
- }
-
- override fun getType(): ConfigType {
- return ConfigType.CLIENT
- }
-
- override fun getFileName(): String {
- return ""
- }
-
- override fun getModId(): String {
- return Firmament.MOD_ID
- }
-
- override fun loadWorldConfig(p0: Path?, p1: Consumer<IModConfig>?) {
- }
-
-}
diff --git a/src/compat/configured/java/ConfigNode.kt b/src/compat/configured/java/ConfigNode.kt
deleted file mode 100644
index 16e54a6..0000000
--- a/src/compat/configured/java/ConfigNode.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package moe.nea.firmament.compat.configured
-
-import com.mrcrayfish.configured.api.IConfigEntry
-import com.mrcrayfish.configured.api.IConfigValue
-import net.minecraft.text.Text
-import moe.nea.firmament.gui.config.ManagedConfig
-
-class ConfigNode(val config: ManagedConfig) : IConfigEntry {
- override fun getChildren(): List<IConfigEntry> {
- return config.allOptions.map {
- ConfigValueNode(it.value)
- }
- }
-
- override fun isRoot(): Boolean {
- return false
- }
-
- override fun isLeaf(): Boolean {
- return false
- }
-
- override fun getValue(): IConfigValue<*>? {
- return null
- }
-
- override fun getEntryName(): String {
- return config.translationKey
- }
-
- override fun getTooltip(): Text? {
- return null
- }
-
- override fun getTranslationKey(): String {
- return config.translationKey
- }
-
-}
diff --git a/src/compat/configured/java/ConfigValue.kt b/src/compat/configured/java/ConfigValue.kt
deleted file mode 100644
index e16c51c..0000000
--- a/src/compat/configured/java/ConfigValue.kt
+++ /dev/null
@@ -1,72 +0,0 @@
-package moe.nea.firmament.compat.configured
-
-import com.mrcrayfish.configured.api.IConfigValue
-import net.minecraft.text.Text
-import moe.nea.firmament.gui.config.ManagedOption
-
-class ConfigValue<T: Any>(val option: ManagedOption<T>) : IConfigValue<T> {
- var value = option.get()
- var initialValue = option.get()
-
- override fun get(): T {
- return value
- }
-
- override fun set(p0: T) {
- this.value = p0
- }
-
- override fun getDefault(): T {
- return option.default()
- }
-
- override fun isDefault(): Boolean {
- // TODO: should this be an option in handlers?
- return option == option.default()
- }
-
- override fun isChanged(): Boolean {
- return value != initialValue
- }
-
- override fun restore() {
- this.value = option.default()
- }
-
- override fun getComment(): Text? {
- return null
- }
-
- override fun getTranslationKey(): String? {
- return option.rawLabelText
- }
-
- override fun getValidationHint(): Text? {
- return null
- }
-
- override fun getName(): String {
- return ""
- }
-
- override fun cleanCache() {
-
- }
-
- override fun requiresWorldRestart(): Boolean {
- return false
- }
-
- override fun requiresGameRestart(): Boolean {
- return false
- }
-
- override fun isValid(p0: T): Boolean {
- // TODO: should this be validated?
- return true
- }
-
- fun saveValue() {
- option.set(value)
- }
-}
diff --git a/src/compat/configured/java/ConfigValueNode.kt b/src/compat/configured/java/ConfigValueNode.kt
deleted file mode 100644
index df59739..0000000
--- a/src/compat/configured/java/ConfigValueNode.kt
+++ /dev/null
@@ -1,37 +0,0 @@
-package moe.nea.firmament.compat.configured
-
-import com.mrcrayfish.configured.api.IConfigEntry
-import com.mrcrayfish.configured.api.IConfigValue
-import net.minecraft.text.Text
-import moe.nea.firmament.gui.config.ManagedOption
-
-class ConfigValueNode(val option: ManagedOption<*>) : IConfigEntry {
- override fun getChildren(): List<IConfigEntry> {
- return listOf()
- }
-
- override fun isRoot(): Boolean {
- return false
- }
-
- override fun isLeaf(): Boolean {
- return true
- }
-
- val value = ConfigValue(option)
- override fun getValue(): IConfigValue<*>? {
- return value
- }
-
- override fun getEntryName(): String {
- return option.propertyName
- }
-
- override fun getTooltip(): Text? {
- return null
- }
-
- override fun getTranslationKey(): String? {
- return option.rawLabelText
- }
-}
diff --git a/src/compat/configured/java/ConfiguredCompat.kt b/src/compat/configured/java/ConfiguredCompat.kt
deleted file mode 100644
index 8e8b022..0000000
--- a/src/compat/configured/java/ConfiguredCompat.kt
+++ /dev/null
@@ -1,30 +0,0 @@
-package moe.nea.firmament.compat.configured
-
-import com.mrcrayfish.configured.api.IConfigEntry
-import com.mrcrayfish.configured.api.IModConfig
-import com.mrcrayfish.configured.api.IModConfigProvider
-import com.mrcrayfish.configured.api.ModContext
-import moe.nea.firmament.Firmament
-import moe.nea.firmament.gui.config.AllConfigsGui
-import moe.nea.firmament.gui.config.ManagedConfig
-
-/**
- * Registered in `fabric.mod.json` at `custom.configured.providers`
- */
-class ConfiguredCompat : IModConfigProvider {
- override fun getConfigurationsForMod(modContext: ModContext): Set<IModConfig> {
- if (modContext.modId != Firmament.MOD_ID) return emptySet()
- return buildSet {
- add(object : BaseConfig() {
- override fun getRoot(): IConfigEntry {
- return BaseConfigNode
- }
-
- override fun getTranslationKey(): String? {
- return "firmament.config.all-configs"
- }
- })
- ManagedConfig.allManagedConfigs.getAll().mapTo(this) { ConfigCategory(it) }
- }
- }
-}
diff --git a/src/compat/configured/java/ConfiguredConfigScreenProvider.kt b/src/compat/configured/java/ConfiguredConfigScreenProvider.kt
deleted file mode 100644
index c0095bf..0000000
--- a/src/compat/configured/java/ConfiguredConfigScreenProvider.kt
+++ /dev/null
@@ -1,22 +0,0 @@
-package moe.nea.firmament.compat.configured
-
-import com.google.auto.service.AutoService
-import com.mrcrayfish.configured.integration.CatalogueConfigFactory
-import net.fabricmc.loader.api.FabricLoader
-import net.minecraft.client.gui.screen.Screen
-import moe.nea.firmament.Firmament
-import moe.nea.firmament.gui.config.FirmamentConfigScreenProvider
-
-@AutoService(FirmamentConfigScreenProvider::class)
-class ConfiguredConfigScreenProvider : FirmamentConfigScreenProvider {
- override val key: String
- get() = "configured"
- override val isEnabled: Boolean
- get() = FabricLoader.getInstance().isModLoaded("configured")
-
- override fun open(parent: Screen?): Screen {
- return CatalogueConfigFactory.createConfigScreen(
- parent,
- FabricLoader.getInstance().getModContainer(Firmament.MOD_ID).get())
- }
-}
diff --git a/src/compat/explosiveEnhancement/java/ExplosiveEnhancementSpawner.kt b/src/compat/explosiveEnhancement/java/ExplosiveEnhancementSpawner.kt
deleted file mode 100644
index caf16a5..0000000
--- a/src/compat/explosiveEnhancement/java/ExplosiveEnhancementSpawner.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-package moe.nea.firmament.compat.explosiveenhancement
-
-import com.google.auto.service.AutoService
-import net.superkat.explosiveenhancement.api.ExplosiveApi
-import net.minecraft.util.math.Vec3d
-import moe.nea.firmament.features.fixes.CompatibliltyFeatures
-import moe.nea.firmament.features.fixes.CompatibliltyFeatures.TConfig
-import moe.nea.firmament.util.MC
-import moe.nea.firmament.util.compatloader.CompatLoader
-
-@AutoService(CompatibliltyFeatures.ExplosiveApiWrapper::class)
-@CompatLoader.RequireMod("explosiveenhancement")
-class ExplosiveEnhancementSpawner : CompatibliltyFeatures.ExplosiveApiWrapper {
- override fun spawnParticle(vec3d: Vec3d, power: Float) {
- ExplosiveApi.spawnParticles(MC.world, vec3d.x, vec3d.y, vec3d.z, TConfig.explosionSize / 10F)
- }
-}
diff --git a/src/main/kotlin/features/fixes/CompatibliltyFeatures.kt b/src/main/kotlin/features/fixes/CompatibliltyFeatures.kt
deleted file mode 100644
index 55592c5..0000000
--- a/src/main/kotlin/features/fixes/CompatibliltyFeatures.kt
+++ /dev/null
@@ -1,39 +0,0 @@
-package moe.nea.firmament.features.fixes
-
-import net.minecraft.particle.ParticleTypes
-import net.minecraft.util.math.Vec3d
-import moe.nea.firmament.annotations.Subscribe
-import moe.nea.firmament.events.ParticleSpawnEvent
-import moe.nea.firmament.util.compatloader.CompatLoader
-import moe.nea.firmament.util.data.Config
-import moe.nea.firmament.util.data.ManagedConfig
-
-object CompatibliltyFeatures {
- val identifier: String
- get() = "compatibility"
-
- @Config
- object TConfig : ManagedConfig(identifier, Category.INTEGRATIONS) {
- val enhancedExplosions by toggle("explosion-enabled") { false }
- val explosionSize by integer("explosion-power", 10, 50) { 1 }
- }
-
- interface ExplosiveApiWrapper {
- fun spawnParticle(vec3d: Vec3d, power: Float)
-
- companion object : CompatLoader<ExplosiveApiWrapper>(ExplosiveApiWrapper::class.java)
- }
-
- private val explosiveApiWrapper = ExplosiveApiWrapper.singleInstance
-
- @Subscribe
- fun onExplosion(it: ParticleSpawnEvent) {
- if (TConfig.enhancedExplosions &&
- it.particleEffect.type == ParticleTypes.EXPLOSION_EMITTER &&
- explosiveApiWrapper != null
- ) {
- it.cancel()
- explosiveApiWrapper.spawnParticle(it.position, 2F)
- }
- }
-}
diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json
index 115778f..ce8f0bd 100644
--- a/src/main/resources/fabric.mod.json
+++ b/src/main/resources/fabric.mod.json
@@ -56,11 +56,6 @@
"minecraft": ">=${minecraft_version}"
},
"custom": {
- "configured": {
- "providers": [
- "moe.nea.firmament.compat.configured.ConfiguredCompat"
- ]
- },
"modmenu": {
"links": {
"modmenu.discord": "https://discord.gg/64pFP94AWA"
diff --git a/translations/en_us.json b/translations/en_us.json
index b833923..5d5efbf 100644
--- a/translations/en_us.json
+++ b/translations/en_us.json
@@ -110,8 +110,6 @@
"firmament.config.custom-skyblock-textures.cache-forever.description": "Disables clearing the cache entirely. Since you will be sent new item stacks from the server if something changes, this should not cause issues.",
"firmament.config.custom-skyblock-textures.enabled": "Enable Custom Item Textures",
"firmament.config.custom-skyblock-textures.enabled.description": "Allow replacing items for texture packs. Turning this off does not disable custom predicates",
- "firmament.config.custom-skyblock-textures.legacy-cit": "Enable legacy CIT Resewn compat",
- "firmament.config.custom-skyblock-textures.legacy-cit.description": "Allow CIT resewn texture packs written for 1.20.4 to be loaded on newer versions.",
"firmament.config.custom-skyblock-textures.legacy-minecraft-path-support": "Enable Legacy Paths",
"firmament.config.custom-skyblock-textures.legacy-minecraft-path-support.description": "Allow texture packs to load textures from some legacy paths. I.e.: Allows loading 1.21.0 armor textures on 1.21.4.",
"firmament.config.custom-skyblock-textures.model-overrides": "Enable model overrides/predicates",
diff --git a/translations/languages/zh_cn.json b/translations/languages/zh_cn.json
index 303cf0c..3612ea4 100644
--- a/translations/languages/zh_cn.json
+++ b/translations/languages/zh_cn.json
@@ -105,8 +105,6 @@
"firmament.config.custom-skyblock-textures.cache-forever.description": "完全不清除缓存。若物品数据变化,服务器会向你发送新的物品数据,大概不会有问题。",
"firmament.config.custom-skyblock-textures.enabled": "启用自定义物品纹理",
"firmament.config.custom-skyblock-textures.enabled.description": "允许为纹理包替换物品。关闭此选项不会禁用自定义纹理匹配",
- "firmament.config.custom-skyblock-textures.legacy-cit": "启用旧版CIT Resewn兼容性",
- "firmament.config.custom-skyblock-textures.legacy-cit.description": "允许在更新版本上加载为 1.20.4 编写的CIT resewn纹理包。",
"firmament.config.custom-skyblock-textures.legacy-minecraft-path-support": "启用旧版纹理包路径",
"firmament.config.custom-skyblock-textures.legacy-minecraft-path-support.description": "允许纹理包以旧版的方式加载纹理。例如:允许在 1.21.4 上加载 1.21.0 的盔甲纹理。",
"firmament.config.custom-skyblock-textures.model-overrides": "启用模型覆盖/条件",