From a8ca4b1e351a6ddd381d00534154ae52d12330bf Mon Sep 17 00:00:00 2001 From: mewhenthe Date: Thu, 23 Apr 2026 10:14:27 +0200 Subject: [PATCH] follow advice and fix tiny thnigs --- .../neocomputers/block/ScreenBlock.kt | 19 +++---------------- .../neocomputers/entity/ScreenEntity.kt | 7 ++++--- 2 files changed, 7 insertions(+), 19 deletions(-) diff --git a/src/main/kotlin/org/neoflock/neocomputers/block/ScreenBlock.kt b/src/main/kotlin/org/neoflock/neocomputers/block/ScreenBlock.kt index 66afd4e..4238179 100644 --- a/src/main/kotlin/org/neoflock/neocomputers/block/ScreenBlock.kt +++ b/src/main/kotlin/org/neoflock/neocomputers/block/ScreenBlock.kt @@ -15,6 +15,7 @@ import net.minecraft.world.entity.player.Inventory import net.minecraft.world.entity.player.Player import net.minecraft.world.inventory.AbstractContainerMenu import net.minecraft.world.item.ItemStack +import net.minecraft.world.item.context.BlockPlaceContext import net.minecraft.world.level.Level import net.minecraft.world.level.block.Block import net.minecraft.world.level.block.EntityBlock @@ -81,22 +82,8 @@ class ScreenBlock() : NodeBlock() { override fun createBlockStateDefinition(builder: StateDefinition.Builder) { builder.add(FACING) } - override fun setPlacedBy(level: Level, pos: BlockPos, state: BlockState, placer: LivingEntity?, stack: ItemStack) { - super.setPlacedBy(level, pos, state, placer, stack) -// state.setValue(state.) - level.setBlockAndUpdate(pos, state.setValue(FACING, lookingdir(placer!!))) - } - private fun lookingdir(placer: LivingEntity): Direction { - val vec = placer.lookAngle - NeoComputers.LOGGER.info(vec.toString()) - val biggest = max(max(abs(vec.x), abs(vec.y)), abs(vec.z)) - when(biggest) { - abs(vec.x) -> if(vec.x < 0) return Direction.EAST else return Direction.WEST - abs(vec.y) -> if(vec.y < 0) return Direction.UP else return Direction.DOWN - abs(vec.z) -> if(vec.z < 0) return Direction.SOUTH else return Direction.NORTH - } - NeoComputers.LOGGER.warn("Failed to obtain looking direction!") - return Direction.NORTH // wtf + override fun getStateForPlacement(context: BlockPlaceContext): BlockState? { + return super.getStateForPlacement(context)!!.setValue(FACING, context.nearestLookingDirection.opposite) } } \ No newline at end of file diff --git a/src/main/kotlin/org/neoflock/neocomputers/entity/ScreenEntity.kt b/src/main/kotlin/org/neoflock/neocomputers/entity/ScreenEntity.kt index bed3d98..7694124 100644 --- a/src/main/kotlin/org/neoflock/neocomputers/entity/ScreenEntity.kt +++ b/src/main/kotlin/org/neoflock/neocomputers/entity/ScreenEntity.kt @@ -19,15 +19,16 @@ class ScreenEntity(blockPos: BlockPos, blockState: BlockState) : private var cleanrenderer: () -> Unit = { }; // TODO: THIS SUCKS, FIND A BETTER WAY - override fun setChanged() { - super.setChanged() - if (bound == "screen/unbound") { + override fun tickNode(level: Level) { + super.tickNode(level) + if (bound == "screen/unbound" && level.isClientSide) { // am i epstein or am i just retarded? createscreenstuffs() } } override fun setRemoved() { super.setRemoved() + bound = "screen/unbound" // ensure no missing texture is displayed cleanrenderer() }