Merge branch 'kotlin-1.8' into kotlin-1.8.8
This commit is contained in:
@@ -27,7 +27,7 @@ open class ColumnTextures(val matcher: BlockMatcher) : BlockTextureInspector<Col
|
||||
matchClassAndModel(matcher, "block/column_side", listOf("end", "end", "side"))
|
||||
matchClassAndModel(matcher, "block/cube_column", listOf("end", "end", "side"))
|
||||
}
|
||||
override fun processTextures(textures: List<TextureAtlasSprite>, atlas: TextureMap) =
|
||||
override fun processTextures(state: IBlockState, textures: List<TextureAtlasSprite>, atlas: TextureMap) =
|
||||
ColumnInfo(textures[0], textures[1], textures[2])
|
||||
}
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import mods.octarinecore.random
|
||||
import net.minecraft.client.Minecraft
|
||||
import net.minecraft.client.renderer.WorldRenderer
|
||||
import net.minecraft.util.BlockPos
|
||||
import net.minecraft.util.EnumFacing.*
|
||||
import net.minecraft.util.MathHelper
|
||||
import net.minecraft.world.World
|
||||
import net.minecraftforge.common.MinecraftForge
|
||||
@@ -42,7 +43,7 @@ AbstractEntityFX(world, pos.x.toDouble() + 0.5, pos.y.toDouble(), pos.z.toDouble
|
||||
particleScale = Config.fallingLeaves.size.toFloat() * 0.1f
|
||||
|
||||
val state = world.getBlockState(pos)
|
||||
LeafRegistry[world.getBlockState(pos)]?.let {
|
||||
LeafRegistry[state, world, pos, DOWN]?.let {
|
||||
particleIcon = it.particleTextures[rand.nextInt(1024)]
|
||||
calculateParticleColor(it.averageColor, state.block.colorMultiplier(world, pos))
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package mods.betterfoliage.client.render
|
||||
import mods.betterfoliage.BetterFoliageMod
|
||||
import mods.betterfoliage.client.Client
|
||||
import mods.betterfoliage.client.config.Config
|
||||
import mods.betterfoliage.client.integration.OptifineCTM
|
||||
import mods.betterfoliage.client.integration.ShadersModIntegration
|
||||
import mods.betterfoliage.client.texture.GrassRegistry
|
||||
import mods.octarinecore.client.render.*
|
||||
@@ -55,6 +56,8 @@ class RenderGrass : AbstractBlockRenderingHandler(BetterFoliageMod.MOD_ID) {
|
||||
val connectedGrass = isConnected && Config.connectedGrass.enabled && (!isSnowed || Config.connectedGrass.snowEnabled)
|
||||
|
||||
val grassInfo = GrassRegistry[ctx.blockState(Int3.zero)] ?: return renderWorldBlockBase(ctx, dispatcher, renderer, layer)
|
||||
val grassTopTexture = OptifineCTM.override(grassInfo.grassTopTexture, ctx, UP)
|
||||
|
||||
val blockColor = ctx.blockData(Int3.zero, 0).color
|
||||
|
||||
if (connectedGrass) {
|
||||
@@ -67,7 +70,7 @@ class RenderGrass : AbstractBlockRenderingHandler(BetterFoliageMod.MOD_ID) {
|
||||
fullCube,
|
||||
Rotation.identity,
|
||||
ctx.blockCenter,
|
||||
icon = { ctx, qi, q -> grassInfo.grassTopTexture },
|
||||
icon = { ctx, qi, q -> grassTopTexture },
|
||||
rotateUV = { 2 },
|
||||
postProcess = { ctx, qi, q, vi, v ->
|
||||
if (isSnowed) { if(!ctx.aoEnabled) setGrey(1.4f) }
|
||||
|
||||
@@ -2,6 +2,7 @@ package mods.betterfoliage.client.render
|
||||
|
||||
import mods.betterfoliage.BetterFoliageMod
|
||||
import mods.betterfoliage.client.config.Config
|
||||
import mods.betterfoliage.client.integration.OptifineCTM
|
||||
import mods.betterfoliage.client.integration.ShadersModIntegration
|
||||
import mods.betterfoliage.client.texture.LeafRegistry
|
||||
import mods.octarinecore.PI2
|
||||
@@ -15,9 +16,8 @@ import net.minecraft.block.material.Material
|
||||
import net.minecraft.client.renderer.BlockRendererDispatcher
|
||||
import net.minecraft.client.renderer.WorldRenderer
|
||||
import net.minecraft.util.EnumFacing
|
||||
import net.minecraft.util.EnumFacing.UP
|
||||
import net.minecraft.util.EnumFacing.*
|
||||
import net.minecraft.util.EnumWorldBlockLayer
|
||||
import net.minecraft.util.EnumFacing.Axis
|
||||
import java.lang.Math.cos
|
||||
import java.lang.Math.sin
|
||||
|
||||
@@ -49,7 +49,7 @@ class RenderLeaves : AbstractBlockRenderingHandler(BetterFoliageMod.MOD_ID) {
|
||||
it == Material.snow || it == Material.craftedSnow
|
||||
}
|
||||
renderWorldBlockBase(ctx, dispatcher, renderer, null)
|
||||
val leafInfo = LeafRegistry[ctx.blockState(Int3.zero)] ?: return true
|
||||
val leafInfo = LeafRegistry[ctx, DOWN] ?: return false
|
||||
val blockColor = ctx.blockData(Int3.zero, 0).color
|
||||
|
||||
modelRenderer.updateShading(Int3.zero, allFaces)
|
||||
|
||||
@@ -2,16 +2,17 @@ package mods.betterfoliage.client.render
|
||||
|
||||
import mods.betterfoliage.BetterFoliageMod
|
||||
import mods.betterfoliage.client.config.Config
|
||||
import mods.betterfoliage.client.integration.OptifineCTM
|
||||
import mods.octarinecore.client.render.BlockContext
|
||||
import mods.octarinecore.client.render.Quad
|
||||
import mods.octarinecore.client.render.ShadingContext
|
||||
import mods.octarinecore.client.resource.BlockTextureInspector
|
||||
import mods.octarinecore.client.render.blockContext
|
||||
import mods.octarinecore.common.Int3
|
||||
import mods.octarinecore.common.rotate
|
||||
import mods.octarinecore.tryDefault
|
||||
import net.minecraft.block.BlockLog
|
||||
import net.minecraft.block.state.IBlockState
|
||||
import net.minecraft.client.renderer.texture.TextureAtlasSprite
|
||||
import net.minecraft.client.renderer.texture.TextureMap
|
||||
import net.minecraft.util.EnumFacing.Axis
|
||||
import net.minecraft.util.EnumFacing.*
|
||||
|
||||
class RenderLog : AbstractRenderColumn(BetterFoliageMod.MOD_ID) {
|
||||
|
||||
@@ -21,7 +22,8 @@ class RenderLog : AbstractRenderColumn(BetterFoliageMod.MOD_ID) {
|
||||
Config.blocks.logs.matchesID(ctx.block)
|
||||
|
||||
override var axisFunc = { state: IBlockState ->
|
||||
when (state.getValue(BlockLog.LOG_AXIS).toString()) {
|
||||
val axis = tryDefault("none") { state.getValue(BlockLog.LOG_AXIS).toString() }
|
||||
when (axis) {
|
||||
"x" -> Axis.X
|
||||
"z" -> Axis.Z
|
||||
else -> Axis.Y
|
||||
@@ -40,12 +42,20 @@ class RenderLog : AbstractRenderColumn(BetterFoliageMod.MOD_ID) {
|
||||
override val radiusSmall: Double get() = Config.roundLogs.radiusSmall
|
||||
|
||||
override val downTexture = { ctx: ShadingContext, idx: Int, quad: Quad ->
|
||||
columnTextures[ctx.blockData(Int3.zero).state]?.bottomTexture
|
||||
columnTextures[ctx.blockData(Int3.zero).state]?.bottomTexture?.let { base ->
|
||||
OptifineCTM.override(base, blockContext, DOWN.rotate(ctx.rotation))
|
||||
}
|
||||
}
|
||||
|
||||
override val sideTexture = { ctx: ShadingContext, idx: Int, quad: Quad ->
|
||||
columnTextures[ctx.blockData(Int3.zero).state]?.sideTexture
|
||||
columnTextures[ctx.blockData(Int3.zero).state]?.sideTexture?.let { base ->
|
||||
OptifineCTM.override(base, blockContext, (if ((idx and 1) == 0) SOUTH else EAST).rotate(ctx.rotation))
|
||||
}
|
||||
}
|
||||
|
||||
override val upTexture = { ctx: ShadingContext, idx: Int, quad: Quad ->
|
||||
columnTextures[ctx.blockData(Int3.zero).state]?.topTexture
|
||||
columnTextures[ctx.blockData(Int3.zero).state]?.topTexture?.let { base ->
|
||||
OptifineCTM.override(base, blockContext, UP.rotate(ctx.rotation))
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user