follow advice and fix tiny thnigs
This commit is contained in:
@@ -15,6 +15,7 @@ import net.minecraft.world.entity.player.Inventory
|
|||||||
import net.minecraft.world.entity.player.Player
|
import net.minecraft.world.entity.player.Player
|
||||||
import net.minecraft.world.inventory.AbstractContainerMenu
|
import net.minecraft.world.inventory.AbstractContainerMenu
|
||||||
import net.minecraft.world.item.ItemStack
|
import net.minecraft.world.item.ItemStack
|
||||||
|
import net.minecraft.world.item.context.BlockPlaceContext
|
||||||
import net.minecraft.world.level.Level
|
import net.minecraft.world.level.Level
|
||||||
import net.minecraft.world.level.block.Block
|
import net.minecraft.world.level.block.Block
|
||||||
import net.minecraft.world.level.block.EntityBlock
|
import net.minecraft.world.level.block.EntityBlock
|
||||||
@@ -81,22 +82,8 @@ class ScreenBlock() : NodeBlock() {
|
|||||||
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block?, BlockState?>) {
|
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block?, BlockState?>) {
|
||||||
builder.add(FACING)
|
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 {
|
override fun getStateForPlacement(context: BlockPlaceContext): BlockState? {
|
||||||
val vec = placer.lookAngle
|
return super.getStateForPlacement(context)!!.setValue(FACING, context.nearestLookingDirection.opposite)
|
||||||
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
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -19,15 +19,16 @@ class ScreenEntity(blockPos: BlockPos, blockState: BlockState) :
|
|||||||
|
|
||||||
private var cleanrenderer: () -> Unit = { }; // TODO: THIS SUCKS, FIND A BETTER WAY
|
private var cleanrenderer: () -> Unit = { }; // TODO: THIS SUCKS, FIND A BETTER WAY
|
||||||
|
|
||||||
override fun setChanged() {
|
override fun tickNode(level: Level) {
|
||||||
super.setChanged()
|
super.tickNode(level)
|
||||||
if (bound == "screen/unbound") {
|
if (bound == "screen/unbound" && level.isClientSide) { // am i epstein or am i just retarded?
|
||||||
createscreenstuffs()
|
createscreenstuffs()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun setRemoved() {
|
override fun setRemoved() {
|
||||||
super.setRemoved()
|
super.setRemoved()
|
||||||
|
bound = "screen/unbound" // ensure no missing texture is displayed
|
||||||
cleanrenderer()
|
cleanrenderer()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user