diff --git a/build.gradle b/build.gradle index a63b3de..0fe02f9 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ version = "2.0.3" archivesBaseName = rootProject.name + '-MC1.8.x' buildscript { - ext.kotlin_version = '1.0.0-beta-4589' + ext.kotlin_version = '1.0.0' repositories { mavenCentral() maven { diff --git a/src/main/kotlin/mods/betterfoliage/client/config/BlockMatcher.kt b/src/main/kotlin/mods/betterfoliage/client/config/BlockMatcher.kt index c9811bd..1e2f8cb 100644 --- a/src/main/kotlin/mods/betterfoliage/client/config/BlockMatcher.kt +++ b/src/main/kotlin/mods/betterfoliage/client/config/BlockMatcher.kt @@ -22,8 +22,8 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent */ class BlockMatcher(val domain: String, val path: String) : ConfigPropertyBase() { - val blackList = linkedListOf>() - val whiteList = linkedListOf>() + val blackList = mutableListOf>() + val whiteList = mutableListOf>() val blockIDs = hashSetOf() var blacklistProperty: Property? = null var whitelistProperty: Property? = null diff --git a/src/main/kotlin/mods/betterfoliage/client/render/EntityRisingSoulFX.kt b/src/main/kotlin/mods/betterfoliage/client/render/EntityRisingSoulFX.kt index 70acb50..4531826 100644 --- a/src/main/kotlin/mods/betterfoliage/client/render/EntityRisingSoulFX.kt +++ b/src/main/kotlin/mods/betterfoliage/client/render/EntityRisingSoulFX.kt @@ -19,7 +19,7 @@ import java.util.* class EntityRisingSoulFX(world: World, pos: BlockPos) : AbstractEntityFX(world, pos.x.toDouble() + 0.5, pos.y.toDouble() + 1.0, pos.z.toDouble() + 0.5) { - val particleTrail: Deque = linkedListOf() + val particleTrail: Deque = LinkedList() val initialPhase = rand.nextInt(64) init { diff --git a/src/main/kotlin/mods/betterfoliage/client/render/RenderLeaves.kt b/src/main/kotlin/mods/betterfoliage/client/render/RenderLeaves.kt index 6fc893b..c5f6bc8 100644 --- a/src/main/kotlin/mods/betterfoliage/client/render/RenderLeaves.kt +++ b/src/main/kotlin/mods/betterfoliage/client/render/RenderLeaves.kt @@ -25,7 +25,7 @@ class RenderLeaves : AbstractBlockRenderingHandler(BetterFoliageMod.MOD_ID) { val leavesModel = model { verticalRectangle(x1 = -0.5, z1 = 0.5, x2 = 0.5, z2 = -0.5, yBottom = -0.5 * 1.41, yTop = 0.5 * 1.41) - .setAoShader(edgeOrientedAuto(corner = cornerAo(Axis.Y))) + .setAoShader(edgeOrientedAuto(corner = cornerAoMaxGreen)) .setFlatShader(FlatOffset(Int3.zero)) .scale(Config.leaves.size) .toCross(UP).addAll() diff --git a/src/main/kotlin/mods/betterfoliage/client/texture/LeafGenerator.kt b/src/main/kotlin/mods/betterfoliage/client/texture/LeafGenerator.kt index 1ef79dd..778b7ad 100644 --- a/src/main/kotlin/mods/betterfoliage/client/texture/LeafGenerator.kt +++ b/src/main/kotlin/mods/betterfoliage/client/texture/LeafGenerator.kt @@ -21,7 +21,7 @@ class LeafGenerator(domain: String) : TextureGenerator(domain) { val leafType = params["type"] ?: "default" val handDrawnLoc = target.second.stripStart("textures/").stripStart("blocks/").let { - ResourceLocation(BetterFoliageMod.DOMAIN, "textures/blocks/${it.resourceDomain}/${it.resourcePath}") + ResourceLocation(BetterFoliageMod.DOMAIN, "${it.resourceDomain}/textures/blocks/${it.resourcePath}") } resourceManager[handDrawnLoc]?.loadImage()?.let { return it } diff --git a/src/main/kotlin/mods/betterfoliage/client/texture/TextureMatcher.kt b/src/main/kotlin/mods/betterfoliage/client/texture/TextureMatcher.kt index 7f2ef10..54ea3b4 100644 --- a/src/main/kotlin/mods/betterfoliage/client/texture/TextureMatcher.kt +++ b/src/main/kotlin/mods/betterfoliage/client/texture/TextureMatcher.kt @@ -17,7 +17,7 @@ class TextureMatcher() { } } - val mappings: MutableList = linkedListOf() + val mappings: MutableList = mutableListOf() fun getType(icon: TextureAtlasSprite): String? = mappings.filter { it.matches(icon) }.map { it.type }.firstOrNull() diff --git a/src/main/kotlin/mods/octarinecore/client/render/Model.kt b/src/main/kotlin/mods/octarinecore/client/render/Model.kt index 70ce98c..19da9f8 100644 --- a/src/main/kotlin/mods/octarinecore/client/render/Model.kt +++ b/src/main/kotlin/mods/octarinecore/client/render/Model.kt @@ -91,7 +91,7 @@ data class Quad(val v1: Vertex, val v2: Vertex, val v3: Vertex, val v4: Vertex) */ class Model() { constructor(other: List) : this() { quads.addAll(other) } - val quads = linkedListOf() + val quads = mutableListOf() fun Quad.add() = quads.add(this) fun Iterable.addAll() = forEach { quads.add(it) } diff --git a/src/main/kotlin/mods/octarinecore/client/render/ModelRenderer.kt b/src/main/kotlin/mods/octarinecore/client/render/ModelRenderer.kt index b75ff13..ed15625 100644 --- a/src/main/kotlin/mods/octarinecore/client/render/ModelRenderer.kt +++ b/src/main/kotlin/mods/octarinecore/client/render/ModelRenderer.kt @@ -74,8 +74,15 @@ open class ShadingContext { var aoEnabled = Minecraft.isAmbientOcclusionEnabled() val aoFaces = Array(6) { AoFaceData(forgeDirs[it]) } + val EnumFacing.aoMultiplier: Float get() = when(this) { + UP -> 1.0f + DOWN -> 0.5f + NORTH, SOUTH -> 0.8f + EAST, WEST -> 0.6f + } + fun updateShading(offset: Int3, predicate: (EnumFacing) -> Boolean = { true }) { - forgeDirs.forEach { if (predicate(it)) aoFaces[it.ordinal].update(offset) } + forgeDirs.forEach { if (predicate(it)) aoFaces[it.ordinal].update(offset, multiplier = it.aoMultiplier) } } fun aoShading(face: EnumFacing, corner1: EnumFacing, corner2: EnumFacing) = diff --git a/src/main/kotlin/mods/octarinecore/client/render/Shading.kt b/src/main/kotlin/mods/octarinecore/client/render/Shading.kt index e3e1e4b..7943aa7 100644 --- a/src/main/kotlin/mods/octarinecore/client/render/Shading.kt +++ b/src/main/kotlin/mods/octarinecore/client/render/Shading.kt @@ -57,14 +57,14 @@ class AoFaceData(val face: EnumFacing) { EAST -> listOf(topRight, topLeft, bottomLeft, bottomRight) } - fun update(offset: Int3, useBounds: Boolean = false) { + fun update(offset: Int3, useBounds: Boolean = false, multiplier: Float = 1.0f) { val ctx = blockContext val blockState = ctx.blockState(offset) val quadBounds: FloatArray = FloatArray(12) val flags = BitSet(3).apply { set(0) } ao.updateVertexBrightness(ctx.world, blockState.block, ctx.pos + offset, face, quadBounds, flags) - ordered.forEachIndexed { idx, aoData -> aoData.set(ao.vertexBrightness[idx], ao.vertexColorMultiplier[idx]) } + ordered.forEachIndexed { idx, aoData -> aoData.set(ao.vertexBrightness[idx], ao.vertexColorMultiplier[idx] * multiplier) } } operator fun get(dir1: EnumFacing, dir2: EnumFacing): AoData { diff --git a/src/main/kotlin/mods/octarinecore/client/resource/ModelDataInspector.kt b/src/main/kotlin/mods/octarinecore/client/resource/ModelDataInspector.kt index edf97c8..70ab715 100644 --- a/src/main/kotlin/mods/octarinecore/client/resource/ModelDataInspector.kt +++ b/src/main/kotlin/mods/octarinecore/client/resource/ModelDataInspector.kt @@ -53,7 +53,7 @@ abstract class ModelDataInspector { abstract class BlockTextureInspector : ModelDataInspector() { val state2Names = hashMapOf>() - val modelMappings = linkedListOfBoolean, Iterable>>() + val modelMappings = mutableListOfBoolean, Iterable>>() val stateMap = hashMapOf() fun match(textureNames: Iterable, predicate: (IBlockState, IModel)->Boolean) = diff --git a/src/main/kotlin/mods/octarinecore/client/resource/ResourceHandler.kt b/src/main/kotlin/mods/octarinecore/client/resource/ResourceHandler.kt index cbbc64c..ffb5a3d 100644 --- a/src/main/kotlin/mods/octarinecore/client/resource/ResourceHandler.kt +++ b/src/main/kotlin/mods/octarinecore/client/resource/ResourceHandler.kt @@ -34,7 +34,7 @@ interface IWorldLoadListener { fun onWorldLoad(world: World) } */ open class ResourceHandler(val modId: String) { - val resources = linkedListOf() + val resources = mutableListOf() open fun afterStitch() {} // ============================ diff --git a/src/main/kotlin/mods/octarinecore/client/resource/TextureGenerator.kt b/src/main/kotlin/mods/octarinecore/client/resource/TextureGenerator.kt index 308139d..2e74fa4 100644 --- a/src/main/kotlin/mods/octarinecore/client/resource/TextureGenerator.kt +++ b/src/main/kotlin/mods/octarinecore/client/resource/TextureGenerator.kt @@ -79,7 +79,7 @@ abstract class TextureGenerator(domain: String) : ParameterBasedGenerator(domain */ fun getMultisizeTexture(maxSize: Int, maskPath: (Int)->ResourceLocation): IResource? { var size = maxSize - val sizes = linkedListOf() + val sizes = mutableListOf() while(size > 2) { sizes.add(size); size /= 2 } return sizes.map { resourceManager[maskPath(it)] }.filterNotNull().firstOrNull() } diff --git a/src/main/kotlin/mods/octarinecore/common/config/DelegatingConfig.kt b/src/main/kotlin/mods/octarinecore/common/config/DelegatingConfig.kt index 3da3991..70056b9 100644 --- a/src/main/kotlin/mods/octarinecore/common/config/DelegatingConfig.kt +++ b/src/main/kotlin/mods/octarinecore/common/config/DelegatingConfig.kt @@ -38,7 +38,7 @@ abstract class DelegatingConfig(val modId: String, val langPrefix: String) { /** The [Configuration] backing this config object. */ var config: Configuration? = null - val rootGuiElements = linkedListOf() + val rootGuiElements = mutableListOf() /** Attach this config object to the given [Configuration] and update all properties. */ fun attach(config: Configuration) {