From 23dc91fb554280ddfabda892f6315e9210cb7818 Mon Sep 17 00:00:00 2001 From: YuRaNnNzZZ Date: Mon, 26 Jun 2023 09:58:51 +0300 Subject: [PATCH] use vanilla water/lava textures for cobblegen --- .../mc/otm/registry/MBlockColors.kt | 33 +++++++++++ .../dbotthepony/mc/otm/registry/MRegistry.kt | 1 + .../models/block/cobblestone_generator.json | 55 ++++++++---------- .../textures/block/lava_still.png | Bin 6540 -> 0 bytes .../textures/block/lava_still.png.mcmeta | 45 -------------- .../textures/block/water_still.png | Bin 5409 -> 0 bytes .../textures/block/water_still.png.mcmeta | 5 -- 7 files changed, 59 insertions(+), 80 deletions(-) create mode 100644 src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockColors.kt delete mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/lava_still.png delete mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/lava_still.png.mcmeta delete mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/water_still.png delete mode 100644 src/main/resources/assets/overdrive_that_matters/textures/block/water_still.png.mcmeta diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockColors.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockColors.kt new file mode 100644 index 000000000..648c9a94d --- /dev/null +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MBlockColors.kt @@ -0,0 +1,33 @@ +package ru.dbotthepony.mc.otm.registry + +import net.minecraft.client.renderer.BiomeColors +import net.minecraft.core.BlockPos +import net.minecraft.world.item.ItemStack +import net.minecraft.world.level.BlockAndTintGetter +import net.minecraft.world.level.block.state.BlockState +import net.minecraftforge.client.event.RegisterColorHandlersEvent +import net.minecraftforge.eventbus.api.IEventBus + +object MBlockColors { + private const val DEFAULT_WATER_TINT: Int = 0x3F76E4; + + private fun registerBlockColors(event: RegisterColorHandlersEvent.Block) { + event.register({ state: BlockState?, light: BlockAndTintGetter?, pos: BlockPos?, index: Int -> + if (index == 0) { + if (light == null || pos == null) DEFAULT_WATER_TINT + BiomeColors.getAverageWaterColor(light!!, pos!!) + } else -1 + }, MBlocks.COBBLESTONE_GENERATOR) + } + + private fun registerItemColors(event: RegisterColorHandlersEvent.Item) { + event.register({ stack: ItemStack?, index: Int -> + if (index == 0) DEFAULT_WATER_TINT else -1 + }, MBlocks.COBBLESTONE_GENERATOR) + } + + internal fun register(bus: IEventBus) { + bus.addListener(this::registerBlockColors) + bus.addListener(this::registerItemColors) + } +} diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt index de5c7a32d..391200982 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/registry/MRegistry.kt @@ -223,6 +223,7 @@ object MRegistry { LootModifiers.register(bus) MItemFunctionTypes.register(bus) MLootItemConditions.register(bus) + MBlockColors.register(bus) MRecipes.register(bus) diff --git a/src/main/resources/assets/overdrive_that_matters/models/block/cobblestone_generator.json b/src/main/resources/assets/overdrive_that_matters/models/block/cobblestone_generator.json index f296349d7..1e9f62a3c 100644 --- a/src/main/resources/assets/overdrive_that_matters/models/block/cobblestone_generator.json +++ b/src/main/resources/assets/overdrive_that_matters/models/block/cobblestone_generator.json @@ -4,9 +4,9 @@ "texture_size": [32, 64], "textures": { "0": "overdrive_that_matters:block/cobblestone_generator", - "1": "overdrive_that_matters:block/lava_still", - "2": "overdrive_that_matters:block/water_still", - "particle": "overdrive_that_matters:block/cobblestone_generator" + "particle": "overdrive_that_matters:block/cobblestone_generator", + "lava": "block/lava_still", + "water": "block/water_still" }, "elements": [ { @@ -42,19 +42,6 @@ "up": {"uv": [0, 6.25, 7, 7], "rotation": 90, "texture": "#0"} } }, - { - "name": "water", - "from": [12, 6, 1.1], - "to": [14.9, 14.9, 14.9], - "faces": { - "north": {"uv": [6.5, 7, 7.5, 9], "texture": "#2"}, - "east": {"uv": [0, 7, 6.5, 9], "texture": "#2"}, - "south": {"uv": [14, 7, 15, 9], "texture": "#2"}, - "west": {"uv": [7.5, 7, 14, 9], "texture": "#2"}, - "up": {"uv": [7.5, 7, 6.5, 3.75], "texture": "#2"}, - "down": {"uv": [8.5, 3.75, 7.5, 7], "texture": "#2"} - } - }, { "from": [15, 6, 1], "to": [12, 15, 15], @@ -75,20 +62,6 @@ "up": {"uv": [0, 6.25, 7, 7], "rotation": 270, "texture": "#0"} } }, - { - "name": "lava", - "from": [1.1, 6, 1.1], - "to": [4, 14.9, 14.9], - "faces": { - "north": {"uv": [6.5, 4, 7.5, 6], "texture": "#1"}, - "east": {"uv": [0, 4, 6.5, 6], "texture": "#1"}, - "south": {"uv": [14, 4, 15, 6], "texture": "#1"}, - "west": {"uv": [7.5, 4, 14, 6], "texture": "#1"}, - "up": {"uv": [7.5, 4, 6.5, 0.75], "texture": "#1"}, - "down": {"uv": [8.5, 0.75, 7.5, 4], "texture": "#1"} - }, - "forge_data": { "block_light": 15, "sky_light": 15 } - }, { "from": [4, 6, 1], "to": [1, 15, 15], @@ -98,6 +71,28 @@ "south": {"uv": [8.5, 4, 7, 6.25], "texture": "#0"}, "up": {"uv": [0, 6.25, 7, 7], "rotation": 90, "texture": "#0"} } + }, + { + "name": "lava", + "from": [1.1, 6, 1.1], + "to": [4, 14.9, 14.9], + "faces": { + "north": {"uv": [12, 1, 15, 10], "texture": "#lava"}, + "south": {"uv": [1, 1, 4, 10], "texture": "#lava"}, + "west": {"uv": [1, 1, 15, 10], "texture": "#lava"}, + "up": {"uv": [4, 15, 1, 1], "texture": "#lava"} + } + }, + { + "name": "water", + "from": [12, 6, 1.1], + "to": [14.9, 14.9, 14.9], + "faces": { + "north": {"uv": [1, 1, 4, 10], "texture": "#water", "tintindex": 0}, + "east": {"uv": [1, 1, 15, 10], "texture": "#water", "tintindex": 0}, + "south": {"uv": [12, 1, 15, 10], "texture": "#water", "tintindex": 0}, + "up": {"uv": [15, 15, 12, 1], "texture": "#water", "tintindex": 0} + } } ], "display": { diff --git a/src/main/resources/assets/overdrive_that_matters/textures/block/lava_still.png b/src/main/resources/assets/overdrive_that_matters/textures/block/lava_still.png deleted file mode 100644 index e62298cefbcc9c06013871e8d1564113a566615b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6540 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