@@ -99,14 +99,14 @@ object Pipelines {
9999 .supplyMat4(" projectionMatrix" ) { MatrixCache .projectionMatrix }
100100 .supplyVec2(" uvOffset" ) { it.transform.offset() ? : Transform .DEFAULT_OFFSET }
101101 .supplyVec2(" uvScale" ) { it.transform.scale() ? : Transform .DEFAULT_SCALE }
102- .supplyMat4s(" boneTransforms" ) { ctx -> ctx.instance.instanceOrNull<AnimatedObjectInstance >()?.transforms ? : AnimationController .NO_ANIMATION }
102+ .supplyMat4s(" boneTransforms" ) { ctx -> ctx.instance() .instanceOrNull<AnimatedObjectInstance >()?.transforms ? : AnimationController .NO_ANIMATION }
103103
104104 .supplyColorArray(" ColorModulator" ) { RenderSystem .getShaderColor() }
105105 .supplyFloatUniform(" FogStart" ) { RenderSystem .getShaderFogStart() }
106106 .supplyFloatUniform(" FogEnd" ) { RenderSystem .getShaderFogEnd() }
107107 .supplyColorArray(" FogColor" ) { RenderSystem .getShaderFogColor() }
108108
109- .supplyTexture(" diffuse" , 0 ) { it.instance.instanceOrNull<StatueInstance >()?.material?.let { GenerationsTextureLoader .getTextureOrNull(it) } ? : it.getTextureOrOther({ it.material.images().diffuse }) { ITextureLoader .instance().nuetralFallback } }
109+ .supplyTexture(" diffuse" , 0 ) { it.instance() .instanceOrNull<StatueInstance >()?.material?.let { GenerationsTextureLoader .getTextureOrNull(it) } ? : it.getTextureOrOther({ it.material.images().diffuse }) { ITextureLoader .instance().nuetralFallback } }
110110 .supplyTexture(" mask" , 1 ) { it.getTextureOrOther({ it.material.images().mask }) { ITextureLoader .instance().darkFallback } }
111111 .supplyTexture(" layer" , 2 ) { it.getTextureOrOther({ it.material.images().layer }) { ITextureLoader .instance().darkFallback } }
112112 .supplyTexture(" lightmap" , 3 ) { Minecraft .getInstance().gameRenderer.lightTexture() as ITexture }
@@ -121,11 +121,11 @@ object Pipelines {
121121 ctx.uniform().upload2i(light and 0xFFFF , light shr 16 and 0xFFFF )
122122 }
123123
124- .supplyVec3(" tint" ) { it.instance.instanceOrNull<CobblemonInstance >()?.tint?.takeIf { it != ZERO } ? : ONE }
124+ .supplyVec3(" tint" ) { it.instance() .instanceOrNull<CobblemonInstance >()?.tint?.takeIf { it != ZERO } ? : ONE }
125125
126126 .supplyInt(" frame" ) { pingpong(MinecraftClientGameProvider .getTimePassed()).toInt() }
127127
128- .supplyVec3(" baseColor1" ) { ctx -> ctx.instance.instanceOrNull<TintProvider >()?.tint ? : ctx.takeIf { ! it.isStatueMaterial }?.material?.values()?.baseColor1 ? : ONE }
128+ .supplyVec3(" baseColor1" ) { ctx -> ctx.instance() .instanceOrNull<TintProvider >()?.tint ? : ctx.takeIf { ! it.isStatueMaterial }?.material?.values()?.baseColor1 ? : ONE }
129129 .supplyVec3(" baseColor2" ) { ctx -> ctx.takeIf { ! it.isStatueMaterial }?.material?.values()?.baseColor2 ? : ONE }
130130 .supplyVec3(" baseColor3" ) { ctx -> ctx.takeIf { ! it.isStatueMaterial }?.material?.values()?.baseColor3 ? : ONE }
131131 .supplyVec3(" baseColor4" ) { ctx -> ctx.takeIf { ! it.isStatueMaterial }?.material?.values()?.baseColor4 ? : ONE }
@@ -146,10 +146,10 @@ object Pipelines {
146146 .supplyVec3(" Light1_Direction" ) { RenderSystem .shaderLightDirections[1 ] }
147147
148148 .supplyBooleanUniform(" useTera" ) {
149- val isActive = it.instance.instanceOrNull<CobblemonInstance >()?.teraActive ? : false
149+ val isActive = it.instance() .instanceOrNull<CobblemonInstance >()?.teraActive ? : false
150150 return @supplyBooleanUniform isActive
151151 }
152- .supplyVec3(" teraTint" ) { it.instance.instanceOrNull<CobblemonInstance >()?.teraTint?.takeIf { it != ZERO } ? : ONE }
152+ .supplyVec3(" teraTint" ) { it.instance() .instanceOrNull<CobblemonInstance >()?.teraTint?.takeIf { it != ZERO } ? : ONE }
153153
154154 .prePostDraw({ material ->
155155 if (material.cullType() != CullType .None ) {
@@ -178,26 +178,26 @@ fun pingpong(time: Double): Double = (sin(time * Math.PI * 2) * 7 + 7).toInt().t
178178
179179private fun Pipeline.Builder.supplyColorArray (name : String , function : (UniformUploadContext ) -> FloatArray ): Pipeline .Builder = this .supplyUniform(name) {
180180 val color = function.invoke(it)
181- it.uniform.upload4f(color[0 ], color[1 ], color[2 ], color[3 ])
181+ it.uniform() .upload4f(color[0 ], color[1 ], color[2 ], color[3 ])
182182}
183183
184- private fun Pipeline.Builder.supplyMat4s (name : String , function : (UniformUploadContext ) -> Array <Matrix4f >): Pipeline .Builder = this .supplyUniform(name) { it.uniform.uploadMat4fs(function.invoke(it)) }
185- private fun Pipeline.Builder.supplyMat4 (name : String , function : (UniformUploadContext ) -> Matrix4f ): Pipeline .Builder = this .supplyUniform(name) { it.uniform.uploadMat4f(function.invoke(it)) }
186- private fun Pipeline.Builder.supplyVec2 (name : String , function : (UniformUploadContext ) -> Vector2f ): Pipeline .Builder = this .supplyUniform(name) { it.uniform.uploadVec2f(function.invoke(it)) }
187- private fun Pipeline.Builder.supplyVec3 (name : String , function : (UniformUploadContext ) -> Vector3f ): Pipeline .Builder = this .supplyUniform(name) { it.uniform.uploadVec3f(function.invoke(it))}
188- private fun Pipeline.Builder.supplyFloatUniform (name : String , function : (UniformUploadContext ) -> Float ): Pipeline .Builder = this .supplyUniform(name) { it.uniform.uploadFloat(function.invoke(it)) }
184+ private fun Pipeline.Builder.supplyMat4s (name : String , function : (UniformUploadContext ) -> Array <Matrix4f >): Pipeline .Builder = this .supplyUniform(name) { it.uniform() .uploadMat4fs(function.invoke(it)) }
185+ private fun Pipeline.Builder.supplyMat4 (name : String , function : (UniformUploadContext ) -> Matrix4f ): Pipeline .Builder = this .supplyUniform(name) { it.uniform() .uploadMat4f(function.invoke(it)) }
186+ private fun Pipeline.Builder.supplyVec2 (name : String , function : (UniformUploadContext ) -> Vector2f ): Pipeline .Builder = this .supplyUniform(name) { it.uniform() .uploadVec2f(function.invoke(it)) }
187+ private fun Pipeline.Builder.supplyVec3 (name : String , function : (UniformUploadContext ) -> Vector3f ): Pipeline .Builder = this .supplyUniform(name) { it.uniform() .uploadVec3f(function.invoke(it))}
188+ private fun Pipeline.Builder.supplyFloatUniform (name : String , function : (UniformUploadContext ) -> Float ): Pipeline .Builder = this .supplyUniform(name) { it.uniform() .uploadFloat(function.invoke(it)) }
189189private fun Pipeline.Builder.supplyEnumUniform (name : String , value : Enum <* >): Pipeline .Builder = this .supplyInt(name) { value.ordinal }
190- private fun Pipeline.Builder.supplyInt (name : String , function : (UniformUploadContext ) -> Int ): Pipeline .Builder = this .also { this .supplyUniform(name) { it.uniform.uploadInt(function.invoke(it)) } }
190+ private fun Pipeline.Builder.supplyInt (name : String , function : (UniformUploadContext ) -> Int ): Pipeline .Builder = this .also { this .supplyUniform(name) { it.uniform() .uploadInt(function.invoke(it)) } }
191191public inline fun <reified T > Any?.instanceOrNull (): T ? = if (this is T ) this else null
192192
193193private val UniformUploadContext .isStatueMaterial: Boolean
194194 get() = statueMaterial != null
195195
196196private val UniformUploadContext .statueMaterial: String?
197- get() = this .instance.instanceOrNull<StatueInstance >()?.material?.takeIf { GenerationsTextureLoader .has(it) }
197+ get() = this .instance() .instanceOrNull<StatueInstance >()?.material?.takeIf { GenerationsTextureLoader .has(it) }
198198
199199private val UniformUploadContext .transform: Transform
200- get() = this .instance.instanceOrNull<AnimatedObjectInstance >()?.getTransform(this .material.materialName)?.takeIf { ! it.isUnit } ? : this .`object `().getTransform(this .instance.variant())
200+ get() = this .instance() .instanceOrNull<AnimatedObjectInstance >()?.getTransform(this .material.materialName)?.takeIf { ! it.isUnit } ? : this .`object `().getTransform(this .instance() .variant())
201201
202202
203203private fun UniformUploadContext.getTextureOrOther (function : (UniformUploadContext ) -> String? , supplier : () -> ITexture ): ITexture = GenerationsTextureLoader .getTexture(function.invoke(this ))?.takeUnless { texture -> texture == = GenerationsTextureLoader .MissingTextureProxy } ? : supplier.invoke()
@@ -209,7 +209,7 @@ private fun Pipeline.Builder.supplyTexture(name: String, slot: Int, function: (U
209209 it.uniform().uploadInt(slot)
210210}
211211
212- private fun Pipeline.Builder.supplyBooleanUniform (name : String , function : (UniformUploadContext ) -> Boolean ): Pipeline .Builder { return this .supplyUniform(name) { it.uniform.uploadBoolean(function.invoke(it)) } }
212+ private fun Pipeline.Builder.supplyBooleanUniform (name : String , function : (UniformUploadContext ) -> Boolean ): Pipeline .Builder { return this .supplyUniform(name) { it.uniform() .uploadBoolean(function.invoke(it)) } }
213213
214214fun read (manager : ResourceManager , name : ResourceLocation ): String {
215215 try {
0 commit comments