Skip to content

Commit ca9ff73

Browse files
committed
Port block config
1 parent fd34f1b commit ca9ff73

7 files changed

Lines changed: 47 additions & 66 deletions

File tree

src/main/java/net/frozenblock/configurableeverything/block/util/BlockConfigUtil.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@ import net.frozenblock.lib.block.sound.api.BlockSoundTypeOverwrites
88
object BlockConfigUtil {
99

1010
fun init() {
11-
val config = BlockConfig.get()
1211
if (!MainConfig.block.get()) return
13-
for (overwrite in config.soundGroupOverwrites.value) {
12+
for (overwrite in BlockConfig.soundGroupOverwrites.get()) {
1413
BlockSoundTypeOverwrites.addBlock(
1514
overwrite.blockId,
1615
overwrite.soundOverwrite.immutable(),

src/main/java/net/frozenblock/configurableeverything/block/util/SoundGroupOverwriteUtils.kt

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,14 @@ package net.frozenblock.configurableeverything.block.util;
22

33
import com.mojang.serialization.Codec
44
import com.mojang.serialization.codecs.RecordCodecBuilder
5+
import io.netty.buffer.ByteBuf
6+
import net.frozenblock.lib.block.sound.api.SoundTypeCodecs
57
import net.frozenblock.lib.block.sound.impl.overwrite.HolderSetBlockSoundTypeOverwrite
68
import net.minecraft.core.HolderSet
79
import net.minecraft.core.registries.BuiltInRegistries
10+
import net.minecraft.network.RegistryFriendlyByteBuf
11+
import net.minecraft.network.codec.ByteBufCodecs
12+
import net.minecraft.network.codec.StreamCodec
813
import net.minecraft.resources.Identifier
914
import net.minecraft.sounds.SoundEvent
1015
import net.minecraft.world.level.block.Block
@@ -26,6 +31,13 @@ data class MutableBlockSoundGroupOverwrite(
2631
MutableSoundType.CODEC.fieldOf("sound_type").forGetter(MutableBlockSoundGroupOverwrite::soundOverwrite)
2732
).apply(instance) { id, soundType -> MutableBlockSoundGroupOverwrite(id, soundType) { true } }
2833
}
34+
35+
@JvmField
36+
val STREAM_CODEC: StreamCodec<RegistryFriendlyByteBuf, MutableBlockSoundGroupOverwrite> = StreamCodec.composite(
37+
Identifier.STREAM_CODEC, MutableBlockSoundGroupOverwrite::blockId,
38+
MutableSoundType.STREAM_CODEC, MutableBlockSoundGroupOverwrite::soundOverwrite,
39+
{ id, soundOverwrite -> MutableBlockSoundGroupOverwrite(id, soundOverwrite) { true } }
40+
)
2941
}
3042

3143
fun immutable(): HolderSetBlockSoundTypeOverwrite? {
@@ -62,12 +74,17 @@ data class MutableSoundType(
6274
).apply(instance, ::MutableSoundType)
6375
}
6476

65-
//@JvmField
66-
//val STREAM_CODEC: StreamCodec<RegistryFriendlyByteBuf, MutableSoundType> = StreamCodec.composite(
67-
// ByteBufCodecs.FLOAT, MutableSoundType::volume,
68-
// ByteBufCodecs.FLOAT, MutableSoundType::pitch,
69-
// SoundTypeCodecs.SOUND_TYPE
70-
//)
77+
@JvmField
78+
val STREAM_CODEC: StreamCodec<RegistryFriendlyByteBuf, MutableSoundType> = StreamCodec.composite(
79+
ByteBufCodecs.FLOAT, MutableSoundType::volume,
80+
ByteBufCodecs.FLOAT, MutableSoundType::pitch,
81+
SoundTypeCodecs.SOUND_EVENT_STREAM_CODEC, MutableSoundType::breakSound,
82+
SoundTypeCodecs.SOUND_EVENT_STREAM_CODEC, MutableSoundType::stepSound,
83+
SoundTypeCodecs.SOUND_EVENT_STREAM_CODEC, MutableSoundType::placeSound,
84+
SoundTypeCodecs.SOUND_EVENT_STREAM_CODEC, MutableSoundType::hitSound,
85+
SoundTypeCodecs.SOUND_EVENT_STREAM_CODEC, MutableSoundType::fallSound,
86+
::MutableSoundType
87+
)
7188
}
7289

7390
fun immutable(): SoundType

src/main/java/net/frozenblock/configurableeverything/config/BlockConfig.kt

Lines changed: 8 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,19 @@ import net.frozenblock.lib.config.api.entry.TypedEntryType
1212
import net.frozenblock.lib.config.api.instance.xjs.XjsConfig
1313
import net.frozenblock.lib.config.api.registry.ConfigRegistry
1414
import net.frozenblock.lib.config.api.sync.SyncBehavior
15+
import net.frozenblock.lib.config.v2.entry.ConfigEntry
16+
import net.frozenblock.lib.config.v2.entry.EntryType
1517
import net.minecraft.sounds.SoundEvents
1618

17-
private val SOUND_GROUP_OVERWRITES: TypedEntryType<MutableList<MutableBlockSoundGroupOverwrite>> = ConfigRegistry.register(
18-
TypedEntryType(
19-
MOD_ID,
20-
MutableBlockSoundGroupOverwrite.CODEC.mutListOf()
21-
)
19+
private val SOUND_GROUP_OVERWRITES: EntryType<MutableBlockSoundGroupOverwrite> = EntryType.create(
20+
MutableBlockSoundGroupOverwrite.CODEC,
21+
MutableBlockSoundGroupOverwrite.STREAM_CODEC,
2222
)
2323

24-
data class BlockConfig(
24+
object BlockConfig : CEConfig("block") {
2525
@JvmField
26-
// UNSYNCABLE
27-
var soundGroupOverwrites: TypedEntry<MutableList<MutableBlockSoundGroupOverwrite>> = TypedEntry.create(
28-
SOUND_GROUP_OVERWRITES,
26+
var soundGroupOverwrites: ConfigEntry<MutableList<MutableBlockSoundGroupOverwrite>> = this.unsyncableEntry("soundGroupOverwrites",
27+
SOUND_GROUP_OVERWRITES.asList(),
2928
mutableListOf(
3029
MutableBlockSoundGroupOverwrite(
3130
vanillaId("grass_block"),
@@ -41,18 +40,4 @@ data class BlockConfig(
4140
) { true }
4241
)
4342
)
44-
) {
45-
companion object : CESimpleConfig<BlockConfig>(
46-
BlockConfig::class,
47-
"block"
48-
) {
49-
50-
init {
51-
ConfigRegistry.register(this)
52-
}
53-
54-
@JvmStatic
55-
@JvmOverloads
56-
fun get(real: Boolean = false): BlockConfig = if (real) this.instance() else this.config()
57-
}
5843
}

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

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,47 +11,37 @@ import net.fabricmc.api.Environment
1111
import net.frozenblock.configurableeverything.block.util.MutableBlockSoundGroupOverwrite
1212
import net.frozenblock.configurableeverything.block.util.MutableSoundType
1313
import net.frozenblock.configurableeverything.config.BlockConfig
14-
import net.frozenblock.configurableeverything.util.id
1514
import net.frozenblock.configurableeverything.util.text
1615
import net.frozenblock.configurableeverything.util.tooltip
1716
import net.frozenblock.configurableeverything.util.vanillaId
1817
import net.frozenblock.lib.config.api.client.gui.EntryBuilder
18+
import net.frozenblock.lib.config.api.client.gui.SimpleEntryBuilder
19+
import net.frozenblock.lib.config.api.client.gui.configEntryList
1920
import net.frozenblock.lib.config.api.client.gui.multiElementEntry
2021
import net.frozenblock.lib.config.api.client.gui.typedEntryList
2122
import net.minecraft.core.registries.BuiltInRegistries
2223
import net.minecraft.resources.Identifier
2324
import net.minecraft.sounds.SoundEvent
2425
import net.minecraft.sounds.SoundEvents
25-
/*
26-
private val configInstance = BlockConfig
2726

2827
private inline val mainToggleReq: Requirement
2928
get() = Requirement.isTrue(MainConfigGui.INSTANCE!!.block)
3029

3130
object BlockConfigGui {
3231
fun setupEntries(category: ConfigCategory, entryBuilder: ConfigEntryBuilder) {
33-
val config = configInstance.instance()
34-
val syncConfig = configInstance.configWithSync()
35-
val defaultConfig = configInstance.defaultInstance()
36-
37-
category.addEntry(soundGroupOverwrites(entryBuilder, config, syncConfig, defaultConfig))
32+
category.addEntry(soundGroupOverwrites(entryBuilder))
3833
}
3934
}
4035

4136
private fun soundGroupOverwrites(
4237
entryBuilder: ConfigEntryBuilder,
43-
config: BlockConfig,
44-
syncConfig: BlockConfig,
45-
defaultConfig: BlockConfig
4638
): AbstractConfigListEntry<*> {
47-
return typedEntryList(
39+
return configEntryList(
4840
entryBuilder,
4941
text("sound_group_overwrites"),
50-
syncConfig::soundGroupOverwrites,
51-
{ defaultConfig.soundGroupOverwrites },
42+
BlockConfig.soundGroupOverwrites,
5243
false,
5344
tooltip("sound_group_overwrites"),
54-
{ newValue -> config.soundGroupOverwrites = newValue},
5545
{ element: MutableBlockSoundGroupOverwrite?, _ ->
5646
val defaultOverwrite = MutableBlockSoundGroupOverwrite(
5747
vanillaId("grass_block"),
@@ -72,7 +62,7 @@ private fun soundGroupOverwrites(
7262
overwrite,
7363
true,
7464

75-
EntryBuilder(text("sound_group_overwrites.id"), overwrite.blockId.toString(),
65+
SimpleEntryBuilder(text("sound_group_overwrites.id"), overwrite.blockId.toString(),
7666
"",
7767
{ newValue -> overwrite.blockId = Identifier.parse(newValue) },
7868
tooltip("sound_group_overwrites.id")
@@ -83,43 +73,43 @@ private fun soundGroupOverwrites(
8373
soundOverwrite,
8474
true,
8575

86-
EntryBuilder(text("sound_group_overwrites.volume"), soundOverwrite.volume,
76+
SimpleEntryBuilder(text("sound_group_overwrites.volume"), soundOverwrite.volume,
8777
1F,
8878
{ newValue -> soundOverwrite.volume = newValue },
8979
tooltip("sound_group_overwrites.volume")
9080
).build(entryBuilder),
9181

92-
EntryBuilder(text("sound_group_overwrites.pitch"), soundOverwrite.pitch,
82+
SimpleEntryBuilder(text("sound_group_overwrites.pitch"), soundOverwrite.pitch,
9383
1F,
9484
{ newValue -> soundOverwrite.pitch = newValue },
9585
tooltip("sound_group_overwrites.pitch")
9686
).build(entryBuilder),
9787

98-
EntryBuilder(text("sound_group_overwrites.break_sound"), soundId(soundOverwrite.breakSound),
88+
SimpleEntryBuilder(text("sound_group_overwrites.break_sound"), soundId(soundOverwrite.breakSound),
9989
"",
10090
{ newValue -> sound(newValue)?.also { soundOverwrite.breakSound = it } },
10191
tooltip("sound_group_overwrites.break_sound")
10292
).build(entryBuilder),
10393

104-
EntryBuilder(text("sound_group_overwrites.step_sound"), soundId(soundOverwrite.stepSound),
94+
SimpleEntryBuilder(text("sound_group_overwrites.step_sound"), soundId(soundOverwrite.stepSound),
10595
"",
10696
{ newValue -> sound(newValue)?.also { soundOverwrite.stepSound = it } },
10797
tooltip("sound_group_overwrites.step_sound")
10898
).build(entryBuilder),
10999

110-
EntryBuilder(text("sound_group_overwrites.place_sound"), soundId(soundOverwrite.placeSound),
100+
SimpleEntryBuilder(text("sound_group_overwrites.place_sound"), soundId(soundOverwrite.placeSound),
111101
"",
112102
{ newValue -> sound(newValue)?.also { soundOverwrite.placeSound = it } },
113103
tooltip("sound_group_overwrites.place_sound")
114104
).build(entryBuilder),
115105

116-
EntryBuilder(text("sound_group_overwrites.hit_sound"), soundId(soundOverwrite.hitSound),
106+
SimpleEntryBuilder(text("sound_group_overwrites.hit_sound"), soundId(soundOverwrite.hitSound),
117107
"",
118108
{ newValue -> sound(newValue)?.also { soundOverwrite.hitSound = it } },
119109
tooltip("sound_group_overwrites.hit_sound")
120110
).build(entryBuilder),
121111

122-
EntryBuilder(text("sound_group_overwrites.fall_sound"), soundId(soundOverwrite.fallSound),
112+
SimpleEntryBuilder(text("sound_group_overwrites.fall_sound"), soundId(soundOverwrite.fallSound),
123113
"",
124114
{ newValue -> sound(newValue)?.also { soundOverwrite.fallSound = it } },
125115
tooltip("sound_group_overwrites.fall_sound")
@@ -140,4 +130,3 @@ private fun soundId(sound: SoundEvent?): String? {
140130
private fun sound(id: String): SoundEvent? {
141131
return BuiltInRegistries.SOUND_EVENT.getValue(Identifier.parse(id))
142132
}
143-
*/

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import net.fabricmc.api.Environment
66
import net.frozenblock.configurableeverything.config.*
77
import net.frozenblock.configurableeverything.config.gui.BiomeConfigGui
88
import net.frozenblock.configurableeverything.config.gui.BiomePlacementConfigGui
9+
import net.frozenblock.configurableeverything.config.gui.BlockConfigGui
910
import net.frozenblock.configurableeverything.config.gui.DataFixerConfigGui
1011
import net.frozenblock.configurableeverything.config.gui.FluidConfigGui
1112
import net.frozenblock.configurableeverything.config.gui.GameConfigGui
@@ -69,7 +70,7 @@ object ConfigurableEverythingConfigGui {
6970
BiomePlacementConfigGui.setupEntries(biomePlacement, entryBuilder)
7071

7172
val block = configBuilder.getOrCreateCategory(text("block"))
72-
//BlockConfigGui.setupEntries(block, entryBuilder)
73+
BlockConfigGui.setupEntries(block, entryBuilder)
7374

7475
val datafixer = configBuilder.getOrCreateCategory(text("datafixer"))
7576
DataFixerConfigGui.setupEntries(datafixer, entryBuilder)

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
@@ -39,11 +39,6 @@ sealed class StableConfigV1Data<T : Any, C>(override val config: Config<T>): Con
3939
*/
4040
@Suppress("unused", "ClassName")
4141
sealed class ConfigV1Data<T : Any, C>(open val config: Config<T>?) where C : ConfigWrapper<T> {
42-
data object BLOCK : StableConfigV1Data<BlockConfig, BlockWrapper>(BlockConfig) {
43-
override fun modify(modification: (BlockWrapper) -> Unit) {
44-
ConfigRegistry.register(BlockConfig, ConfigModification { modification(BlockWrapper(it)) })
45-
}
46-
}
4742
data object ENTITY : StableConfigV1Data<EntityConfig, EntityWrapper>(EntityConfig) {
4843
override fun modify(modification: (EntityWrapper) -> Unit) {
4944
ConfigRegistry.register(EntityConfig, ConfigModification { modification(EntityWrapper(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
@@ -15,11 +15,6 @@ import net.frozenblock.configurableeverything.util.setValue
1515
import net.frozenblock.lib.worldgen.surface.api.FrozenDimensionBoundRuleSource
1616
import net.minecraft.resources.Identifier
1717

18-
class BlockWrapper internal constructor(config: BlockConfig) : ConfigWrapper<BlockConfig>(config) {
19-
20-
var soundGroupOverwrites: MutableList<MutableBlockSoundGroupOverwrite> by config.soundGroupOverwrites
21-
}
22-
2318
class EntityWrapper internal constructor(config: EntityConfig) : ConfigWrapper<EntityConfig>(config) {
2419

2520
var entityAttributeAmplifiers: MutableList<EntityAttributeAmplifier> by config.entityAttributeAmplifiers

0 commit comments

Comments
 (0)