我想知道让块有条件地发送特定数量的Redstone输出的最佳方法是什么。查看提供Redstone输出的其他块时,我注意到它们主要使用getWeakPower()
方法。但是,我注意到这是一个不推荐使用的方法,我的IDE用删除线格式化了该方法。此外,我还发现了另一个名为getStrongPower()
的方法(也已弃用)。最好重写这两种方法中的哪一种,或者有一种更好的方法来设置块的Redstone输出。
尽管这些块具有@Deprecated
批注,但是JavaDoc注释指出“实现/覆盖是可以的”。这些getWeakPower()
和getStrongPower()
方法仅在net.minecraft.block.Block
类中被标记为已弃用,因为它们不是要从Block类访问的,而是应该从net.minecraft.block.BlockState
类访问的,因此包含给定块实例的最新状态。
[似乎大多数使用Redstone功能的块都覆盖了getWeakPower()
方法,通过从该方法返回从0到15的特定值来控制该块的Redstone输出。通过使用传递给方法的Direction
参数来确定返回值,也可以分别控制每一侧的输出(仅一侧的输出或每一侧的不同输出)。
注意:您必须重写canProvidePower()方法以返回true。否则,相邻的块将不会检查该块的Redstone输出,并且所需的功能将无法正常工作。