Skip to content

Commit

Permalink
Random rotations for vents and sponges
Browse files Browse the repository at this point in the history
  • Loading branch information
MysticKoko committed Nov 29, 2023
1 parent 511eb77 commit 271a911
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,44 @@ package dev.hybridlabs.aquatic.client.render.block.entity

import dev.hybridlabs.aquatic.block.entity.HydrothermalVentBlockEntity
import dev.hybridlabs.aquatic.client.model.block.entity.HydrothermalVentBlockEntityModel
import net.minecraft.client.render.VertexConsumer
import net.minecraft.client.render.VertexConsumerProvider
import net.minecraft.client.render.block.entity.BlockEntityRendererFactory.Context
import net.minecraft.client.util.math.MatrixStack
import net.minecraft.util.math.MathHelper
import net.minecraft.util.math.RotationAxis
import net.minecraft.util.math.random.Random
import software.bernie.geckolib.cache.`object`.BakedGeoModel
import software.bernie.geckolib.renderer.GeoBlockRenderer

class HydrothermalVentBlockEntityRenderer(context: Context) : GeoBlockRenderer<HydrothermalVentBlockEntity>(HydrothermalVentBlockEntityModel())
class HydrothermalVentBlockEntityRenderer(context: Context) : GeoBlockRenderer<HydrothermalVentBlockEntity>(HydrothermalVentBlockEntityModel()) {
private val random = Random.create()

override fun preRender(
matrices: MatrixStack,
blockEntity: HydrothermalVentBlockEntity,
model: BakedGeoModel,
consumerProvider: VertexConsumerProvider?,
consumer: VertexConsumer?,
isReRender: Boolean,
partialTick: Float,
packedLight: Int,
packedOverlay: Int,
red: Float,
green: Float,
blue: Float,
alpha: Float
) {
val pos = blockEntity.pos

// random rotation
val hashCode = MathHelper.hashCode(pos.x, 0, pos.z)
random.setSeed(hashCode)
matrices.translate(0.5, 0.0, 0.5)
matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(random.nextFloat() * 360.0f))
matrices.translate(-0.5, 0.0, -0.5)

// super
super.preRender(matrices, blockEntity, model, consumerProvider, consumer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,44 @@ package dev.hybridlabs.aquatic.client.render.block.entity

import dev.hybridlabs.aquatic.block.entity.TubeSpongeBlockEntity
import dev.hybridlabs.aquatic.client.model.block.entity.TubeSpongeBlockEntityModel
import net.minecraft.client.render.VertexConsumer
import net.minecraft.client.render.VertexConsumerProvider
import net.minecraft.client.render.block.entity.BlockEntityRendererFactory.Context
import net.minecraft.client.util.math.MatrixStack
import net.minecraft.util.math.MathHelper
import net.minecraft.util.math.RotationAxis
import net.minecraft.util.math.random.Random
import software.bernie.geckolib.cache.`object`.BakedGeoModel
import software.bernie.geckolib.renderer.GeoBlockRenderer

class TubeSpongeBlockEntityRenderer(context: Context) : GeoBlockRenderer<TubeSpongeBlockEntity>(TubeSpongeBlockEntityModel()) {
private val random = Random.create()

}
override fun preRender(
matrices: MatrixStack,
blockEntity: TubeSpongeBlockEntity,
model: BakedGeoModel,
consumerProvider: VertexConsumerProvider?,
consumer: VertexConsumer?,
isReRender: Boolean,
partialTick: Float,
packedLight: Int,
packedOverlay: Int,
red: Float,
green: Float,
blue: Float,
alpha: Float
) {
val pos = blockEntity.pos

// random rotation
val hashCode = MathHelper.hashCode(pos.x, 0, pos.z)
random.setSeed(hashCode)
matrices.translate(0.5, 0.0, 0.5)
matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(random.nextFloat() * 360.0f))
matrices.translate(-0.5, 0.0, -0.5)

// super
super.preRender(matrices, blockEntity, model, consumerProvider, consumer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha)
}
}

0 comments on commit 271a911

Please sign in to comment.