Skip to content

Commit c5dd3cc

Browse files
authored
Merge branch 'v1' into state-v2-and-actually-use-glrenderer
2 parents 02d97bf + 92a8599 commit c5dd3cc

File tree

10 files changed

+113
-47
lines changed

10 files changed

+113
-47
lines changed

bootstrap/root.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ preprocess {
2020
val fabric12104 = createNode("bootstrap-1.21.4-fabric", 1_21_04, "yarn")
2121
val fabric12105 = createNode("bootstrap-1.21.5-fabric", 1_21_05, "yarn")
2222
val fabric12108 = createNode("bootstrap-1.21.8-fabric", 1_21_08, "yarn")
23+
val fabric12110 = createNode("bootstrap-1.21.10-fabric", 1_21_10, "yarn")
24+
val fabric12111 = createNode("bootstrap-1.21.11-fabric", 1_21_11, "yarn")
2325

2426
forge11202.link(forge10809)
2527
forge11605.link(forge11202)
@@ -28,6 +30,8 @@ preprocess {
2830
fabric12104.link(fabric12101)
2931
fabric12105.link(fabric12104)
3032
fabric12108.link(fabric12105)
33+
fabric12110.link(fabric12108)
34+
fabric12111.link(fabric12110)
3135

3236
strictExtraMappings.set(true)
3337
}

minecraft/src/main/java/org/polyfrost/oneconfig/internal/mixin/compat/moulconfig/Accessor_GuiOptionEditorDropdown.java

Lines changed: 0 additions & 27 deletions
This file was deleted.

minecraft/src/main/java/org/polyfrost/oneconfig/internal/mixin/compat/moulconfig/Mixin_ConfigProcessorDriver.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import io.github.notenoughupdates.moulconfig.processor.ConfigStructureReader;
55
import io.github.notenoughupdates.moulconfig.processor.MoulConfigProcessor;
66
import org.polyfrost.oneconfig.internal.compat.MoulConfigCompat;
7+
import org.polyfrost.oneconfig.internal.utils.MoulConfigProcessorAccessor;
78
import org.polyfrost.oneconfig.relocator.annotations.MoulConfig;
89
import org.polyfrost.oneconfig.relocator.annotations.RelocatedMixin;
910
import org.spongepowered.asm.mixin.Final;
@@ -28,10 +29,10 @@ public class Mixin_ConfigProcessorDriver {
2829

2930
@Inject(at = @At("TAIL"), method = "processConfig")
3031
public void processorEndConfig(CallbackInfo ci) {
31-
if (reader instanceof MoulConfigProcessor<?> && reader instanceof Accessor_MoulConfigProcessor) {
32+
if (reader instanceof MoulConfigProcessor<?> && reader instanceof MoulConfigProcessorAccessor) {
3233
MoulConfigCompat.parseMoulconfig(
3334
(MoulConfigProcessor<?>) reader,
34-
((Accessor_MoulConfigProcessor<?>) reader).oneconfig$getConfig());
35+
((MoulConfigProcessorAccessor<?>) reader).oneconfig$getConfig());
3536
}
3637
}
3738
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package org.polyfrost.oneconfig.internal.mixin.compat.moulconfig;
2+
3+
import io.github.notenoughupdates.moulconfig.gui.editors.GuiOptionEditorDropdown;
4+
import org.polyfrost.oneconfig.internal.utils.MoulConfigGuiOptionEditorDropdownAccessor;
5+
import org.polyfrost.oneconfig.relocator.annotations.MoulConfig;
6+
import org.polyfrost.oneconfig.relocator.annotations.RelocatedMixin;
7+
import org.spongepowered.asm.mixin.Mixin;
8+
import org.spongepowered.asm.mixin.Pseudo;
9+
import org.spongepowered.asm.mixin.Shadow;
10+
11+
@Pseudo
12+
@MoulConfig
13+
//#if MC==1.8.9||MC>=1.21.4
14+
@RelocatedMixin
15+
//#endif
16+
@Mixin(value = GuiOptionEditorDropdown.class, remap = false)
17+
public class Mixin_GuiOptionEditorDropdown implements MoulConfigGuiOptionEditorDropdownAccessor {
18+
19+
@Shadow
20+
private String[] values;
21+
@Shadow
22+
private boolean useOrdinal;
23+
@Shadow
24+
private Enum<?>[] constants;
25+
26+
public String[] oneconfig$values() {
27+
return this.values;
28+
}
29+
30+
public boolean oneconfig$useOrdinal() {
31+
return this.useOrdinal;
32+
}
33+
34+
public Enum<?>[] oneconfig$constants() {
35+
return this.constants;
36+
}
37+
38+
}

minecraft/src/main/java/org/polyfrost/oneconfig/internal/mixin/compat/moulconfig/Accessor_MoulConfigProcessor.java renamed to minecraft/src/main/java/org/polyfrost/oneconfig/internal/mixin/compat/moulconfig/Mixin_MoulConfigProcessor.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,28 @@
22

33
import io.github.notenoughupdates.moulconfig.Config;
44
import io.github.notenoughupdates.moulconfig.processor.MoulConfigProcessor;
5+
import org.polyfrost.oneconfig.internal.utils.MoulConfigProcessorAccessor;
56
import org.polyfrost.oneconfig.relocator.annotations.MoulConfig;
67
import org.polyfrost.oneconfig.relocator.annotations.RelocatedMixin;
8+
import org.spongepowered.asm.mixin.Final;
79
import org.spongepowered.asm.mixin.Mixin;
810
import org.spongepowered.asm.mixin.Pseudo;
9-
import org.spongepowered.asm.mixin.gen.Accessor;
11+
import org.spongepowered.asm.mixin.Shadow;
1012

1113
@Pseudo
1214
@MoulConfig
1315
//#if MC==1.8.9||MC>=1.21.4
1416
@RelocatedMixin
1517
//#endif
1618
@Mixin(value = MoulConfigProcessor.class, remap = false)
17-
public interface Accessor_MoulConfigProcessor<T extends Config> {
19+
public class Mixin_MoulConfigProcessor<T extends Config> implements MoulConfigProcessorAccessor<T> {
1820

19-
@Accessor("configBaseObject")
20-
T oneconfig$getConfig();
21+
@Final
22+
@Shadow
23+
private T configBaseObject;
24+
25+
public T oneconfig$getConfig() {
26+
return this.configBaseObject;
27+
}
2128

2229
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package org.polyfrost.oneconfig.internal.utils;
2+
3+
import org.polyfrost.oneconfig.relocator.annotations.MoulConfig;
4+
5+
@MoulConfig
6+
public interface MoulConfigGuiOptionEditorDropdownAccessor {
7+
8+
String[] oneconfig$values();
9+
10+
boolean oneconfig$useOrdinal();
11+
12+
Enum<?>[] oneconfig$constants();
13+
14+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package org.polyfrost.oneconfig.internal.utils;
2+
3+
import io.github.notenoughupdates.moulconfig.Config;
4+
import org.polyfrost.oneconfig.relocator.annotations.MoulConfig;
5+
6+
@MoulConfig
7+
public interface MoulConfigProcessorAccessor<T extends Config> {
8+
9+
T oneconfig$getConfig();
10+
11+
}

minecraft/src/main/kotlin/org/polyfrost/oneconfig/internal/compat/MoulConfigCompat.kt

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,52 @@ package org.polyfrost.oneconfig.internal.compat
33
import dev.deftu.omnicore.api.client.getIconResource
44
import dev.deftu.omnicore.api.client.getIconResourcePath
55
import io.github.notenoughupdates.moulconfig.ChromaColour
6-
import io.github.notenoughupdates.moulconfig.gui.editors.*
6+
import io.github.notenoughupdates.moulconfig.gui.editors.GuiOptionEditorAccordion
7+
import io.github.notenoughupdates.moulconfig.gui.editors.GuiOptionEditorBoolean
8+
import io.github.notenoughupdates.moulconfig.gui.editors.GuiOptionEditorButton
9+
import io.github.notenoughupdates.moulconfig.gui.editors.GuiOptionEditorColour
10+
import io.github.notenoughupdates.moulconfig.gui.editors.GuiOptionEditorDraggableList
11+
import io.github.notenoughupdates.moulconfig.gui.editors.GuiOptionEditorInfoText
12+
import io.github.notenoughupdates.moulconfig.gui.editors.GuiOptionEditorText
713
import io.github.notenoughupdates.moulconfig.processor.MoulConfigProcessor
814
import io.github.notenoughupdates.moulconfig.processor.ProcessedCategory
915
import io.github.notenoughupdates.moulconfig.processor.ProcessedOption
1016
import org.polyfrost.oneconfig.api.config.v1.ConfigManager
1117
import org.polyfrost.oneconfig.api.config.v1.Tree
1218
import org.polyfrost.oneconfig.api.config.v1.Visualizer
13-
import org.polyfrost.oneconfig.api.config.v1.Visualizer.*
14-
import org.polyfrost.oneconfig.api.config.v1.dsl.*
19+
import org.polyfrost.oneconfig.api.config.v1.Visualizer.ButtonVisualizer
20+
import org.polyfrost.oneconfig.api.config.v1.Visualizer.ColorVisualizer
21+
import org.polyfrost.oneconfig.api.config.v1.Visualizer.DropdownVisualizer
22+
import org.polyfrost.oneconfig.api.config.v1.Visualizer.SliderVisualizer
23+
import org.polyfrost.oneconfig.api.config.v1.Visualizer.SwitchVisualizer
24+
import org.polyfrost.oneconfig.api.config.v1.Visualizer.TextVisualizer
25+
import org.polyfrost.oneconfig.api.config.v1.dsl.category
26+
import org.polyfrost.oneconfig.api.config.v1.dsl.icon
27+
import org.polyfrost.oneconfig.api.config.v1.dsl.noCache
28+
import org.polyfrost.oneconfig.api.config.v1.dsl.saveFunction
29+
import org.polyfrost.oneconfig.api.config.v1.dsl.subcategory
1530
import org.polyfrost.oneconfig.internal.DynamicPolyImage
16-
import org.polyfrost.oneconfig.internal.mixin.compat.moulconfig.Accessor_GuiOptionEditorDropdown
31+
import org.polyfrost.oneconfig.internal.utils.MoulConfigGuiOptionEditorDropdownAccessor
1732
import org.polyfrost.polyui.color.PolyColor
1833
import java.lang.reflect.Type
19-
import java.util.UUID
34+
import java.util.*
2035
import kotlin.reflect.KClass
2136
import kotlin.time.Duration.Companion.milliseconds
2237
import kotlin.time.Duration.Companion.nanoseconds
2338
import io.github.notenoughupdates.moulconfig.Config as MoulConfig
2439
import org.polyfrost.oneconfig.relocator.annotations.MoulConfig as Moulconfig
2540

2641
@Moulconfig
27-
object MoulConfigCompat {
42+
data object MoulConfigCompat {
2843

2944
@JvmStatic
3045
fun parseMoulconfig(processor: MoulConfigProcessor<*>, config: MoulConfig) {
31-
CompatLoader.markFirstModAsSkip()
32-
ConfigManager.active().register(parseConfigTree(config, processor.allCategories.values))
46+
runCatching {
47+
CompatLoader.markFirstModAsSkip()
48+
ConfigManager.active().register(parseConfigTree(config, processor.allCategories.values))
49+
}.onFailure {
50+
println("Failed to load moulconfig compat for $this due to $it")
51+
}
3352
}
3453

3554
fun parseConfigTree(config: MoulConfig, children: Iterable<ProcessedCategory>): Tree = Tree.tree().apply {
@@ -126,10 +145,9 @@ object MoulConfigCompat {
126145
ColorVisualizer::class.java
127146
}
128147

129-
is Accessor_GuiOptionEditorDropdown -> {
148+
is MoulConfigGuiOptionEditorDropdownAccessor -> {
130149
fun getIndex(): Int {
131-
val selectedObject: Any? = children.get()
132-
if (selectedObject == null) return -1
150+
val selectedObject: Any = children.get() ?: return -1
133151

134152
return if (editor.`oneconfig$useOrdinal`()) {
135153
selectedObject as Int

modules/dependencies/legacy/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import org.polyfrost.gradle.provideIncludedDependencies
22

33
plugins {
4-
id("gg.essential.loom")
4+
id("dev.deftu.gradle.loom")
55
}
66

77
repositories {

settings.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,8 @@ listOf(
131131
"1.21.4-fabric",
132132
"1.21.5-fabric",
133133
"1.21.8-fabric",
134-
// "1.21.10-fabric",
135-
// "1.21.11-fabric",
134+
"1.21.10-fabric",
135+
"1.21.11-fabric",
136136
).contains(version)) {
137137
include(bootstrapProj)
138138
project(bootstrapProj).apply {

0 commit comments

Comments
 (0)