diff options
| author | Linnea Gräf <nea@nea.moe> | 2025-10-14 23:45:30 +0200 |
|---|---|---|
| committer | Linnea Gräf <nea@nea.moe> | 2025-10-14 23:45:30 +0200 |
| commit | 2ed4f2d23f70ab6da46edf504371cb6b238c802e (patch) | |
| tree | 7d1b49f8263924a5e13d509c45e72aa1f0316c6e | |
| parent | 765a38ecc0f855229722354866eaf561a9a6123c (diff) | |
| download | Firmament-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.kts | 13 | ||||
| -rw-r--r-- | gradle/libs.versions.toml | 12 | ||||
| -rw-r--r-- | src/compat/citresewn/java/ConditionDirectAccessHelper.kt | 59 | ||||
| -rw-r--r-- | src/compat/citresewn/java/moe/nea/firmament/mixins/compat/citresewn/MixinConditionComponents.java | 123 | ||||
| -rw-r--r-- | src/compat/configured/java/BaseConfigNode.kt | 40 | ||||
| -rw-r--r-- | src/compat/configured/java/ConfigCategory.kt | 48 | ||||
| -rw-r--r-- | src/compat/configured/java/ConfigNode.kt | 39 | ||||
| -rw-r--r-- | src/compat/configured/java/ConfigValue.kt | 72 | ||||
| -rw-r--r-- | src/compat/configured/java/ConfigValueNode.kt | 37 | ||||
| -rw-r--r-- | src/compat/configured/java/ConfiguredCompat.kt | 30 | ||||
| -rw-r--r-- | src/compat/configured/java/ConfiguredConfigScreenProvider.kt | 22 | ||||
| -rw-r--r-- | src/compat/explosiveEnhancement/java/ExplosiveEnhancementSpawner.kt | 17 | ||||
| -rw-r--r-- | src/main/kotlin/features/fixes/CompatibliltyFeatures.kt | 39 | ||||
| -rw-r--r-- | src/main/resources/fabric.mod.json | 5 | ||||
| -rw-r--r-- | translations/en_us.json | 2 | ||||
| -rw-r--r-- | translations/languages/zh_cn.json | 2 |
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": "启用模型覆盖/条件", |
