Merge branch 'main' of https://gitea.codersquack.nl/NeoFlock/NeoComputers
This commit is contained in:
@@ -262,6 +262,9 @@ class CaseBlockEntity(blockPos: BlockPos, blockState: BlockState): NodeBlockEnti
|
||||
super.tickNode(level)
|
||||
if(!level.isClientSide) {
|
||||
if (isRunning()) {
|
||||
if(getMachineComponentsUsed() > getMachineComponentsTotal()) {
|
||||
crash("too many components")
|
||||
}
|
||||
if (!node.consumeEnergy(1)) {
|
||||
crash("out of energy")
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package org.neoflock.neocomputers.entity;
|
||||
|
||||
import net.minecraft.core.BlockPos
|
||||
import net.minecraft.network.FriendlyByteBuf
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
import net.minecraft.world.level.Level
|
||||
import net.minecraft.world.level.block.state.BlockState
|
||||
import org.neoflock.neocomputers.NeoComputers
|
||||
@@ -17,8 +19,17 @@ class ScreenEntity(blockPos: BlockPos, blockState: BlockState) :
|
||||
var bound = "screen/unbound"
|
||||
var render_on_block = false
|
||||
|
||||
val scrwidth: Short = 160
|
||||
val scrheight: Short = 50
|
||||
|
||||
private var cleanrenderer: () -> Unit = { }; // TODO: THIS SUCKS, FIND A BETTER WAY
|
||||
|
||||
override fun encodeScreenData(player: ServerPlayer, packet: FriendlyByteBuf) {
|
||||
super.encodeScreenData(player, packet)
|
||||
packet.writeShort(scrwidth.toInt())
|
||||
packet.writeShort(scrheight.toInt())
|
||||
}
|
||||
|
||||
override fun tickNode(level: Level) {
|
||||
super.tickNode(level)
|
||||
if (bound == "screen/unbound" && level.isClientSide) { // am i epstein or am i just retarded?
|
||||
@@ -38,13 +49,13 @@ class ScreenEntity(blockPos: BlockPos, blockState: BlockState) :
|
||||
if (level!!.isClientSide) {
|
||||
var buffer: MutableList<BufferRenderer.GPUChar> = mutableListOf()
|
||||
for(char in node.address.toString()) {
|
||||
buffer.add(BufferRenderer.GPUChar(char, 0xFFFF00, 0x0000FF))
|
||||
buffer.add(BufferRenderer.GPUChar(char))
|
||||
}
|
||||
for (i in 0..((40*20)-36)) {
|
||||
for (i in 0..((scrwidth*scrheight)-36)) {
|
||||
buffer.add(BufferRenderer.GPUChar(' '))
|
||||
}
|
||||
|
||||
var renderer: BufferRenderer = BufferRenderer(40, 20, ResourceLocation.fromNamespaceAndPath(NeoComputers.MODID, bound), buffer)
|
||||
var renderer: BufferRenderer = BufferRenderer(scrwidth.toInt(), scrheight.toInt(), ResourceLocation.fromNamespaceAndPath(NeoComputers.MODID, bound), buffer)
|
||||
renderer.drawBuffer()
|
||||
cleanrenderer = { renderer.clean() }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user