e
This commit is contained in:
parent
35e0bc65da
commit
d5f1d3cde0
@ -1,6 +1,7 @@
|
|||||||
package ru.dbotthepony.mc.otm.block.entity.cable
|
package ru.dbotthepony.mc.otm.block.entity.cable
|
||||||
|
|
||||||
import net.minecraft.core.BlockPos
|
import net.minecraft.core.BlockPos
|
||||||
|
import net.minecraft.core.Direction
|
||||||
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.state.BlockState
|
import net.minecraft.world.level.block.state.BlockState
|
||||||
@ -53,17 +54,11 @@ class EnergyCableBlockEntity(blockPos: BlockPos, blockState: BlockState) : Matte
|
|||||||
}
|
}
|
||||||
|
|
||||||
ru.dbotthepony.mc.otm.onceServer {
|
ru.dbotthepony.mc.otm.onceServer {
|
||||||
val newState = blockState.setValue(CableBlock.MAPPING_CONNECTION_PROP[blockRotation.side2Dir(side)]!!, true)
|
updateBlockState(blockRotation.side2Dir(side), true)
|
||||||
|
|
||||||
if (newState !== blockState)
|
|
||||||
level?.setBlock(blockPos, newState, Block.UPDATE_CLIENTS)
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ru.dbotthepony.mc.otm.onceServer {
|
ru.dbotthepony.mc.otm.onceServer {
|
||||||
val newState = blockState.setValue(CableBlock.MAPPING_CONNECTION_PROP[blockRotation.side2Dir(side)]!!, false)
|
updateBlockState(blockRotation.side2Dir(side), false)
|
||||||
|
|
||||||
if (newState !== blockState)
|
|
||||||
level?.setBlock(blockPos, newState, Block.UPDATE_CLIENTS)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -98,22 +93,23 @@ class EnergyCableBlockEntity(blockPos: BlockPos, blockState: BlockState) : Matte
|
|||||||
|
|
||||||
override fun onNeighbour(link: Link) {
|
override fun onNeighbour(link: Link) {
|
||||||
if (link is DirectionLink) {
|
if (link is DirectionLink) {
|
||||||
val newState = blockState.setValue(CableBlock.MAPPING_CONNECTION_PROP[link.direction]!!, true)
|
updateBlockState(link.direction, true)
|
||||||
|
|
||||||
if (newState !== blockState && SERVER_IS_LIVE)
|
|
||||||
level?.setBlock(blockPos, newState, Block.UPDATE_CLIENTS)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onUnNeighbour(link: Link) {
|
override fun onUnNeighbour(link: Link) {
|
||||||
if (link is DirectionLink) {
|
if (link is DirectionLink) {
|
||||||
val newState = blockState.setValue(CableBlock.MAPPING_CONNECTION_PROP[link.direction]!!, false)
|
updateBlockState(link.direction, false)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun updateBlockState(side: Direction, status: Boolean) {
|
||||||
|
val newState = blockState.setValue(CableBlock.MAPPING_CONNECTION_PROP[side]!!, status)
|
||||||
|
|
||||||
if (newState !== blockState && SERVER_IS_LIVE)
|
if (newState !== blockState && SERVER_IS_LIVE)
|
||||||
level?.setBlock(blockPos, newState, Block.UPDATE_CLIENTS)
|
level?.setBlock(blockPos, newState, Block.UPDATE_CLIENTS)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override val blockRotation: BlockRotation
|
override val blockRotation: BlockRotation
|
||||||
get() = BlockRotation.NORTH
|
get() = BlockRotation.NORTH
|
||||||
|
Loading…
Reference in New Issue
Block a user