Add indigo support to custom block textures

This commit is contained in:
Linnea Gräf
2024-08-10 01:59:34 +02:00
parent 1606188d9a
commit 3c7e6b6177
22 changed files with 692 additions and 49 deletions

View File

@@ -33,6 +33,7 @@ import kotlinx.coroutines.plus
import kotlinx.serialization.json.Json
import kotlinx.serialization.json.decodeFromStream
import kotlin.coroutines.EmptyCoroutineContext
import net.minecraft.client.render.chunk.SectionBuilder
import net.minecraft.command.CommandRegistryAccess
import net.minecraft.util.Identifier
import moe.nea.firmament.commands.registerFirmamentCommand
@@ -112,6 +113,8 @@ object Firmament {
ClientTickEvents.END_CLIENT_TICK.register(ClientTickEvents.EndTick { instance ->
TickEvent.publish(TickEvent(tick++))
})
// TODO: remove me
Class.forName(SectionBuilder::class.java.name)
IDataHolder.registerEvents()
RepoManager.initialize()
SBData.init()

View File

@@ -157,7 +157,10 @@ object CustomBlockTextures {
currentIslandReplacements = replacements
if (lastReplacements != replacements) {
MC.nextTick {
MC.worldRenderer.reload()
MC.worldRenderer.chunks?.chunks?.forEach {
// false schedules rebuilds outside a 27 block radius to happen async
it.scheduleRebuild(false)
}
}
}
}
@@ -259,6 +262,10 @@ object CustomBlockTextures {
return BakedReplacements(map.mapValues { LocationReplacements(it.value) })
}
@JvmStatic
fun patchIndigo(orig: BakedModel, pos: BlockPos, state: BlockState): BakedModel {
return getReplacementModel(state, pos) ?: orig
}
@Subscribe
fun onStart(event: FinalizeResourceManagerEvent) {