Fix storage had no it's own entity type

This commit is contained in:
DBotThePony 2022-05-14 17:23:08 +07:00
parent 9a72ceeeb4
commit 2951f0f4e3
Signed by: DBot
GPG Key ID: DCC23B5715498507
3 changed files with 10 additions and 5 deletions

View File

@ -74,7 +74,7 @@ class MatterCableBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
}
class StorageCableBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
BlockEntity(MBlockEntities.MATTER_CABLE, p_155229_, p_155230_), IStorageGraphNode, GraphNodeListener {
BlockEntity(MBlockEntities.STORAGE_CABLE, p_155229_, p_155230_), IStorageGraphNode, GraphNodeListener {
private var valid = true
private val resolverNode = LazyOptional.of { this }
@ -111,12 +111,16 @@ class StorageCableBlockEntity(p_155229_: BlockPos, p_155230_: BlockState) :
override fun onNeighbour(node: Graph6Node<*>, direction: Direction) {
val newState = blockState.setValue(CableBlock.MAPPING_CONNECTION_PROP[direction.ordinal], true)
if (newState !== blockState) level!!.setBlock(blockPos, newState, Block.UPDATE_CLIENTS)
if (newState !== blockState && !SERVER_IS_DYING)
level!!.setBlock(blockPos, newState, Block.UPDATE_CLIENTS)
}
override fun onUnNeighbour(node: Graph6Node<*>, direction: Direction) {
val newState = blockState.setValue(CableBlock.MAPPING_CONNECTION_PROP[direction.ordinal], false)
if (newState !== blockState) level!!.setBlock(blockPos, newState, Block.UPDATE_CLIENTS)
if (newState !== blockState && !SERVER_IS_DYING)
level!!.setBlock(blockPos, newState, Block.UPDATE_CLIENTS)
}
override fun setRemoved() {

View File

@ -69,7 +69,7 @@ class StorageNetworkGraph(private val level: Level) : Abstract6Graph<IStorageGra
return
return discoverFull(
tile.level!! as ServerLevel,
tile.level as ServerLevel,
tile.blockPos,
node,
fun(_tile): Graph6Node<IStorageGraphNode>? {
@ -84,7 +84,7 @@ class StorageNetworkGraph(private val level: Level) : Abstract6Graph<IStorageGra
return false
return discover(
tile.level!! as ServerLevel,
tile.level as ServerLevel,
tile.blockPos,
node,
fun(_tile): Graph6Node<IStorageGraphNode>? {

View File

@ -23,6 +23,7 @@ object MBlockEntities {
val MATTER_DECOMPOSER: BlockEntityType<*> by registry.register(MNames.MATTER_DECOMPOSER) { BlockEntityType.Builder.of(::MatterDecomposerBlockEntity, MBlocks.MATTER_DECOMPOSER).build(null) }
val MATTER_CAPACITOR_BANK: BlockEntityType<*> by registry.register(MNames.MATTER_CAPACITOR_BANK) { BlockEntityType.Builder.of(::MatterCapacitorBankBlockEntity, MBlocks.MATTER_CAPACITOR_BANK).build(null) }
val MATTER_CABLE: BlockEntityType<*> by registry.register(MNames.MATTER_CABLE) { BlockEntityType.Builder.of(::MatterCableBlockEntity, MBlocks.MATTER_CABLE).build(null) }
val STORAGE_CABLE: BlockEntityType<*> by registry.register(MNames.STORAGE_CABLE) { BlockEntityType.Builder.of(::StorageCableBlockEntity, MBlocks.STORAGE_CABLE).build(null) }
val PATTERN_STORAGE: BlockEntityType<*> by registry.register(MNames.PATTERN_STORAGE) { BlockEntityType.Builder.of(::PatternStorageBlockEntity, MBlocks.PATTERN_STORAGE).build(null) }
val MATTER_SCANNER: BlockEntityType<*> by registry.register(MNames.MATTER_SCANNER) { BlockEntityType.Builder.of(::MatterScannerBlockEntity, MBlocks.MATTER_SCANNER).build(null) }
val MATTER_PANEL: BlockEntityType<*> by registry.register(MNames.MATTER_PANEL) { BlockEntityType.Builder.of(::MatterPanelBlockEntity, MBlocks.MATTER_PANEL).build(null) }