创建输出红石信号的块的最佳方法是什么

What would be the best method of creating a block which outputs a Redstone Signal

我想知道允许块有条件地发送特定数量的红石输出的最佳方法是什么。在查看其他提供红石输出的方块时,我注意到它们大多使用 getWeakPower() 方法。但是,我注意到这是一个已弃用的方法,我的 IDE 使用删除线格式化该方法。此外,我还发现了另一个名为 getStrongPower() 的方法(也已弃用)。最好重写这两种方法中的哪一种,或者是否有更好的方法来设置块的红石输出。

虽然这些块有 @Deprecated 注释,但 JavaDoc 注释指出 "Implementing/overriding is fine"。这些 getWeakPower()getStrongPower() 方法仅在 net.minecraft.block.Block class 中被标记为已弃用,因为它们不打算从块 class 访问,而是它们应该从 net.minecraft.block.BlockState class 访问,因为它将包含给定块实例的最新状态。

似乎大多数使用红石功能的方块都会覆盖 getWeakPower() 方法,通过 return 从方法中输入 0 到 15 之间的特定值来控制方块的红石输出。也可以单独控制每一侧的输出(仅一侧输出或每侧不同输出),方法是使用传递到方法中的 Direction 参数来确定 returned 值。

注意:您必须将 canProvidePower() 方法重写为 return true。否则,相邻的方块将不会检查该方块是否有红石输出,所需的功能将无法工作。