Skip to content

Commit 4010c2d

Browse files
committed
Port gravity config
1 parent 90fdb52 commit 4010c2d

8 files changed

Lines changed: 50 additions & 69 deletions

File tree

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,23 @@
11
package net.frozenblock.configurableeverything.config
22

33
import net.frozenblock.configurableeverything.gravity.util.DimensionGravityBelt
4-
import net.frozenblock.configurableeverything.util.*
5-
import net.frozenblock.configurableeverything.util.MOD_ID
6-
import net.frozenblock.lib.config.api.entry.TypedEntry
7-
import net.frozenblock.lib.config.api.entry.TypedEntryType
8-
import net.frozenblock.lib.config.api.instance.xjs.XjsConfig
9-
import net.frozenblock.lib.config.api.registry.ConfigRegistry
4+
import net.frozenblock.configurableeverything.util.CEConfig
5+
import net.frozenblock.lib.config.v2.entry.ConfigEntry
6+
import net.frozenblock.lib.config.v2.entry.EntryType
107
import net.frozenblock.lib.gravity.api.GravityBelt
118
import net.frozenblock.lib.gravity.api.functions.AbsoluteGravityFunction
129
import net.minecraft.world.level.Level
1310
import net.minecraft.world.phys.Vec3
1411

15-
private val DIMENSION_GRAVITY_BELT_LIST: TypedEntryType<MutableList<DimensionGravityBelt>> = ConfigRegistry.register(
16-
TypedEntryType(
17-
MOD_ID,
18-
DimensionGravityBelt.CODEC.mutListOf()
19-
)
12+
private val DIMENSION_GRAVITY_BELT_LIST: EntryType<DimensionGravityBelt> = EntryType.create(
13+
DimensionGravityBelt.CODEC,
14+
DimensionGravityBelt.STREAM_CODEC,
2015
)
2116

22-
data class GravityConfig(
17+
object GravityConfig : CEConfig("gravity") {
2318
@JvmField
24-
var gravityBelts: TypedEntry<MutableList<DimensionGravityBelt>> = TypedEntry.create(
25-
DIMENSION_GRAVITY_BELT_LIST,
19+
var gravityBelts: ConfigEntry<MutableList<DimensionGravityBelt>> = this.entry("gravityBelts",
20+
DIMENSION_GRAVITY_BELT_LIST.asList(),
2621
mutableListOf(
2722
DimensionGravityBelt(
2823
Level.OVERWORLD,
@@ -32,19 +27,5 @@ data class GravityConfig(
3227
)
3328
)
3429
)
35-
),
36-
) {
37-
companion object : CESimpleConfig<GravityConfig>(
38-
GravityConfig::class,
39-
"gravity"
40-
) {
41-
42-
init {
43-
ConfigRegistry.register(this)
44-
}
45-
46-
@JvmStatic
47-
@JvmOverloads
48-
fun get(real: Boolean = false): GravityConfig = if (real) this.instance() else this.config()
49-
}
30+
)
5031
}

src/main/java/net/frozenblock/configurableeverything/config/gui/GameConfigGui.kt

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,10 @@ import me.shedaniel.clothconfig2.api.Requirement
88
import net.fabricmc.api.EnvType
99
import net.fabricmc.api.Environment
1010
import net.frozenblock.configurableeverything.config.GameConfig
11-
import net.frozenblock.configurableeverything.util.id
1211
import net.frozenblock.configurableeverything.util.text
1312
import net.frozenblock.configurableeverything.util.tooltip
14-
import net.frozenblock.lib.config.api.client.gui.EntryBuilder
15-
/*
13+
import net.frozenblock.lib.config.api.client.gui.SimpleEntryBuilder
14+
1615
object GameConfigGui {
1716

1817
private inline val mainToggleReq: Requirement
@@ -22,15 +21,15 @@ object GameConfigGui {
2221
val config = GameConfig.get(real = true)
2322
val defaultConfig = GameConfig.defaultInstance()
2423

25-
category.addEntry(EntryBuilder(text("window_title"), config.windowTitle,
24+
category.addEntry(SimpleEntryBuilder(text("window_title"), config.windowTitle,
2625
defaultConfig.windowTitle,
2726
{ newValue -> config.windowTitle = newValue },
2827
tooltip("window_title"),
2928
true,
3029
requirement = mainToggleReq
3130
).build(entryBuilder))
3231

33-
category.addEntry(EntryBuilder(text("version_series"), config.versionSeries,
32+
category.addEntry(SimpleEntryBuilder(text("version_series"), config.versionSeries,
3433
defaultConfig.versionSeries,
3534
{ newValue -> config.versionSeries = newValue },
3635
tooltip("version_series"),
@@ -40,4 +39,3 @@ object GameConfigGui {
4039
}
4140

4241
}
43-
*/

src/main/java/net/frozenblock/configurableeverything/config/gui/MixinsConfigGui.kt

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,120 +10,120 @@ import net.frozenblock.configurableeverything.config.MixinsConfig
1010
import net.frozenblock.configurableeverything.util.id
1111
import net.frozenblock.configurableeverything.util.text
1212
import net.frozenblock.lib.config.api.client.gui.EntryBuilder
13-
/*
13+
import net.frozenblock.lib.config.api.client.gui.SimpleEntryBuilder
14+
1415
@Environment(EnvType.CLIENT)
1516
object MixinsConfigGui {
1617
fun setupEntries(category: ConfigCategory, entryBuilder: ConfigEntryBuilder) {
1718
val config = MixinsConfig.get()
1819
val defaultConfig = MixinsConfig.defaultInstance()
1920

20-
category.addEntry(EntryBuilder(text("biome_placement"), config.biome_placement,
21+
category.addEntry(SimpleEntryBuilder(text("biome_placement"), config.biome_placement,
2122
defaultConfig.biome_placement,
2223
{ newValue -> config.biome_placement = newValue },
2324
requiresRestart = true
2425
).build(entryBuilder))
2526

26-
category.addEntry(EntryBuilder(text("datafixer"), config.datafixer,
27+
category.addEntry(SimpleEntryBuilder(text("datafixer"), config.datafixer,
2728
defaultConfig.datafixer,
2829
{ newValue -> config.datafixer = newValue },
2930
requiresRestart = true
3031
).build(entryBuilder))
3132

32-
category.addEntry(EntryBuilder(text("datapack"), config.datapack,
33+
category.addEntry(SimpleEntryBuilder(text("datapack"), config.datapack,
3334
defaultConfig.datapack,
3435
{ newValue -> config.datapack = newValue },
3536
requiresRestart = true
3637
).build(entryBuilder))
3738

38-
category.addEntry(EntryBuilder(text("entity"), config.entity,
39+
category.addEntry(SimpleEntryBuilder(text("entity"), config.entity,
3940
defaultConfig.entity,
4041
{ newValue -> config.entity = newValue },
4142
requiresRestart = true
4243
).build(entryBuilder))
4344

44-
category.addEntry(EntryBuilder(text("entity_zombie"), config.entity_zombie,
45+
category.addEntry(SimpleEntryBuilder(text("entity_zombie"), config.entity_zombie,
4546
defaultConfig.entity_zombie,
4647
{ newValue -> config.entity_zombie = newValue },
4748
requiresRestart = true
4849
).build(entryBuilder))
4950

50-
category.addEntry(EntryBuilder(text("fluid"), config.fluid,
51+
category.addEntry(SimpleEntryBuilder(text("fluid"), config.fluid,
5152
defaultConfig.fluid,
5253
{ newValue -> config.fluid = newValue },
5354
requiresRestart = true
5455
).build(entryBuilder))
5556

56-
category.addEntry(EntryBuilder(text("game"), config.game,
57+
category.addEntry(SimpleEntryBuilder(text("game"), config.game,
5758
defaultConfig.game,
5859
{ newValue -> config.game = newValue },
5960
requiresRestart = true
6061
).build(entryBuilder))
6162

62-
category.addEntry(EntryBuilder(text("game_client"), config.game_client,
63+
category.addEntry(SimpleEntryBuilder(text("game_client"), config.game_client,
6364
defaultConfig.game_client,
6465
{ newValue -> config.game_client = newValue },
6566
requiresRestart = true
6667
).build(entryBuilder))
6768

68-
category.addEntry(EntryBuilder(text("item"), config.item,
69+
category.addEntry(SimpleEntryBuilder(text("item"), config.item,
6970
defaultConfig.item,
7071
{ newValue -> config.item = newValue},
7172
requiresRestart = true
7273
).build(entryBuilder))
7374

74-
category.addEntry(EntryBuilder(text("loot"), config.loot,
75+
category.addEntry(SimpleEntryBuilder(text("loot"), config.loot,
7576
defaultConfig.loot,
7677
{ newValue -> config.loot = newValue},
7778
requiresRestart = true
7879
).build(entryBuilder))
7980

80-
category.addEntry(EntryBuilder(text("screenshake"), config.screenshake,
81+
category.addEntry(SimpleEntryBuilder(text("screenshake"), config.screenshake,
8182
defaultConfig.screenshake,
8283
{ newValue -> config.screenshake = newValue },
8384
requiresRestart = true
8485
).build(entryBuilder))
8586

86-
category.addEntry(EntryBuilder(text("screenshake_client"), config.screenshake_client,
87+
category.addEntry(SimpleEntryBuilder(text("screenshake_client"), config.screenshake_client,
8788
defaultConfig.screenshake_client,
8889
{ newValue -> config.screenshake_client = newValue },
8990
requiresRestart = true
9091
).build(entryBuilder))
9192

92-
category.addEntry(EntryBuilder(text("sculk_spreading"), config.sculk_spreading,
93+
category.addEntry(SimpleEntryBuilder(text("sculk_spreading"), config.sculk_spreading,
9394
defaultConfig.sculk_spreading,
9495
{ newValue -> config.sculk_spreading = newValue},
9596
requiresRestart = true
9697
).build(entryBuilder))
9798

98-
category.addEntry(EntryBuilder(text("splash_text"), config.splash_text,
99+
category.addEntry(SimpleEntryBuilder(text("splash_text"), config.splash_text,
99100
defaultConfig.splash_text,
100101
{ newValue -> config.splash_text = newValue },
101102
requiresRestart = true
102103
).build(entryBuilder))
103104

104-
category.addEntry(EntryBuilder(text("structure"), config.structure,
105+
category.addEntry(SimpleEntryBuilder(text("structure"), config.structure,
105106
defaultConfig.structure,
106107
{ newValue -> config.structure = newValue},
107108
requiresRestart = true
108109
).build(entryBuilder))
109110

110-
category.addEntry(EntryBuilder(text("tag"), config.tag,
111+
category.addEntry(SimpleEntryBuilder(text("tag"), config.tag,
111112
defaultConfig.tag,
112113
{ newValue -> config.tag = newValue },
113114
requiresRestart = true
114115
).build(entryBuilder))
115116

116-
category.addEntry(EntryBuilder(text("world"), config.world,
117+
category.addEntry(SimpleEntryBuilder(text("world"), config.world,
117118
defaultConfig.world,
118119
{ newValue -> config.world = newValue },
119120
requiresRestart = true
120121
).build(entryBuilder))
121122

122-
category.addEntry(EntryBuilder(text("world_client"), config.world_client,
123+
category.addEntry(SimpleEntryBuilder(text("world_client"), config.world_client,
123124
defaultConfig.world_client,
124125
{ newValue -> config.world_client = newValue },
125126
requiresRestart = true
126127
).build(entryBuilder))
127128
}
128129
}
129-
*/

src/main/java/net/frozenblock/configurableeverything/config/gui/main/ConfigurableEverythingConfigGui.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ import net.fabricmc.api.EnvType
55
import net.fabricmc.api.Environment
66
import net.frozenblock.configurableeverything.config.*
77
import net.frozenblock.configurableeverything.config.gui.FluidConfigGui
8+
import net.frozenblock.configurableeverything.config.gui.GameConfigGui
89
import net.frozenblock.configurableeverything.config.gui.MainConfigGui
10+
import net.frozenblock.configurableeverything.config.gui.MixinsConfigGui
911
import net.frozenblock.configurableeverything.config.gui.WorldConfigGui
1012
import net.frozenblock.configurableeverything.util.text
1113
import net.minecraft.client.gui.screens.Screen
@@ -70,13 +72,13 @@ object ConfigurableEverythingConfigGui {
7072
FluidConfigGui.setupEntries(fluid, entryBuilder)
7173

7274
val game = configBuilder.getOrCreateCategory(text("game"))
73-
//GameConfigGui.setupEntries(game, entryBuilder)
75+
GameConfigGui.setupEntries(game, entryBuilder)
7476

7577
val item = configBuilder.getOrCreateCategory(text("item"))
7678
//ItemConfigGui.setupEntries(item, entryBuilder)
7779

7880
val mixins = configBuilder.getOrCreateCategory(text("mixins"))
79-
//MixinsConfigGui.setupEntries(mixins, entryBuilder)
81+
MixinsConfigGui.setupEntries(mixins, entryBuilder)
8082

8183
val recipe = configBuilder.getOrCreateCategory(text("recipe"))
8284
//RecipeConfigGui.setupEntries(recipe, entryBuilder)

src/main/java/net/frozenblock/configurableeverything/gravity/util/DimensionGravityBelt.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@ package net.frozenblock.configurableeverything.gravity.util
22

33
import com.mojang.serialization.Codec
44
import com.mojang.serialization.codecs.RecordCodecBuilder
5+
import io.netty.buffer.ByteBuf
56
import net.frozenblock.configurableeverything.util.mutListOf
67
import net.frozenblock.lib.gravity.api.GravityBelt
78
import net.frozenblock.lib.gravity.api.functions.AbsoluteGravityFunction
89
import net.minecraft.core.registries.Registries
10+
import net.minecraft.network.codec.ByteBufCodecs
11+
import net.minecraft.network.codec.StreamCodec
912
import net.minecraft.resources.ResourceKey
1013
import net.minecraft.world.level.Level
1114

@@ -24,5 +27,13 @@ data class DimensionGravityBelt(
2427
AbsoluteGravityFunction.BELT_CODEC.mutListOf().fieldOf("gravityBelts").forGetter(DimensionGravityBelt::gravityBelts)
2528
).apply(instance, ::DimensionGravityBelt)
2629
}
30+
31+
@JvmField
32+
val STREAM_CODEC: StreamCodec<ByteBuf, DimensionGravityBelt> = StreamCodec.composite(
33+
ResourceKey.streamCodec(Registries.DIMENSION), DimensionGravityBelt::dimension,
34+
ByteBufCodecs.list<ByteBuf, GravityBelt<AbsoluteGravityFunction>>()
35+
.apply(AbsoluteGravityFunction.BELT_STREAM_CODEC), DimensionGravityBelt::gravityBelts,
36+
::DimensionGravityBelt
37+
)
2738
}
2839
}

src/main/java/net/frozenblock/configurableeverything/gravity/util/GravityConfigUtil.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@ import net.minecraft.world.level.Level
1414
internal object GravityConfigUtil {
1515

1616
internal fun init() = runBlocking {
17-
val config = GravityConfig.get()
1817
if (!MainConfig.gravity.get()) return@runBlocking
1918

20-
val dimensionGravityBelts = config.gravityBelts.value
19+
val dimensionGravityBelts = GravityConfig.gravityBelts.get()
2120
for (dimensionGravityBelt in dimensionGravityBelts) { launch {
2221
val dimension: ResourceKey<Level> = dimensionGravityBelt.dimension
2322
val gravityBelts: List<GravityBelt<AbsoluteGravityFunction>> = dimensionGravityBelt.gravityBelts

src/main/java/net/frozenblock/configurableeverything/scripting/util/api/ConfigData.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,6 @@ sealed class ConfigV1Data<T : Any, C>(open val config: Config<T>?) where C : Con
6464
ConfigRegistry.register(EntityConfig, ConfigModification { modification(EntityWrapper(it)) })
6565
}
6666
}
67-
data object GRAVITY : StableConfigV1Data<GravityConfig, GravityWrapper>(GravityConfig) {
68-
override fun modify(modification: (GravityWrapper) -> Unit) {
69-
ConfigRegistry.register(GravityConfig, ConfigModification { modification(GravityWrapper(it)) })
70-
}
71-
}
7267
data object ITEM : StableConfigV1Data<ItemConfig, ItemWrapper>(ItemConfig) {
7368
override fun modify(modification: (ItemWrapper) -> Unit) {
7469
ConfigRegistry.register(ItemConfig, ConfigModification { modification(ItemWrapper(it)) })

src/main/java/net/frozenblock/configurableeverything/scripting/util/api/wrappers.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,6 @@ class EntityWrapper internal constructor(config: EntityConfig) : ConfigWrapper<E
6464
var skeleton: EntityConfig.SkeletonConfig by config::skeleton
6565
}
6666

67-
class GravityWrapper internal constructor(config: GravityConfig) : ConfigWrapper<GravityConfig>(config) {
68-
69-
var gravityBelts: MutableList<DimensionGravityBelt> by config.gravityBelts
70-
}
71-
7267
class ItemWrapper internal constructor(config: ItemConfig) : ConfigWrapper<ItemConfig>(config) {
7368

7469
var reachOverrideds: MutableList<ItemReachOverride> by config.reachOverrides

0 commit comments

Comments
 (0)