@@ -29,23 +29,21 @@ public class PrecomputedData {
2929 /**
3030 * byte layout
3131 *
32- * 0 1 2 3 4 5 6 7
32+ * 7 6 5 4 3 2 1 0
3333 * | | | | | | | |
3434 * unused canWalkOn maybe canWalkThrough maybe fullyPassable maybe completed
3535 */
3636
37- private static final byte COMPLETED_MASK = (byte ) 0x01 ;
38- private static final byte FULLY_PASSABLE_MAYBE_MASK = (byte ) 0x02 ;
39- private static final byte FULLY_PASSABLE_MASK = (byte ) 0x04 ;
40- private static final byte CAN_WALK_THROUGH_MAYBE_MASK = (byte ) 0x08 ;
41- private static final byte CAN_WALK_THROUGH_MASK = (byte ) 0x10 ;
42- private static final byte CAN_WALK_ON_MAYBE_MASK = (byte ) 0x20 ;
43- private static final byte CAN_WALK_ON_MASK = (byte ) 0x40 ;
44-
45- private static final byte zero = (byte ) 0 ;
37+ private static final byte COMPLETED_MASK = (byte ) 1 << 0 ;
38+ private static final byte FULLY_PASSABLE_MAYBE_MASK = (byte ) 1 << 1 ;
39+ private static final byte FULLY_PASSABLE_MASK = (byte ) 1 << 2 ;
40+ private static final byte CAN_WALK_THROUGH_MAYBE_MASK = (byte ) 1 << 3 ;
41+ private static final byte CAN_WALK_THROUGH_MASK = (byte ) 1 << 4 ;
42+ private static final byte CAN_WALK_ON_MAYBE_MASK = (byte ) 1 << 5 ;
43+ private static final byte CAN_WALK_ON_MASK = (byte ) 1 << 6 ;
4644
4745 private int fillData (int id , BlockState state ) {
48- byte blockData = zero ;
46+ byte blockData = 0 ;
4947
5048 Ternary canWalkOnState = MovementHelper .canWalkOnBlockState (state );
5149 switch (canWalkOnState ) {
@@ -75,44 +73,44 @@ public boolean canWalkOn(BlockStateInterface bsi, int x, int y, int z, BlockStat
7573 int id = Block .BLOCK_STATE_REGISTRY .getId (state );
7674 int blockData = data [id ];
7775
78- if ((blockData & COMPLETED_MASK ) == zero ) { // we need to fill in the data
76+ if ((blockData & COMPLETED_MASK ) == 0 ) { // we need to fill in the data
7977 blockData = fillData (id , state );
8078 }
8179
82- if ((blockData & CAN_WALK_ON_MAYBE_MASK ) != zero ) {
80+ if ((blockData & CAN_WALK_ON_MAYBE_MASK ) != 0 ) {
8381 return MovementHelper .canWalkOnPosition (bsi , x , y , z , state );
8482 } else {
85- return (blockData & CAN_WALK_ON_MASK ) != zero ;
83+ return (blockData & CAN_WALK_ON_MASK ) != 0 ;
8684 }
8785 }
8886
8987 public boolean canWalkThrough (BlockStateInterface bsi , int x , int y , int z , BlockState state ) {
9088 int id = Block .BLOCK_STATE_REGISTRY .getId (state );
9189 int blockData = data [id ];
9290
93- if ((blockData & COMPLETED_MASK ) == zero ) { // we need to fill in the data
91+ if ((blockData & COMPLETED_MASK ) == 0 ) { // we need to fill in the data
9492 blockData = fillData (id , state );
9593 }
9694
97- if ((blockData & CAN_WALK_THROUGH_MAYBE_MASK ) != zero ) {
95+ if ((blockData & CAN_WALK_THROUGH_MAYBE_MASK ) != 0 ) {
9896 return MovementHelper .canWalkThroughPosition (bsi , x , y , z , state );
9997 } else {
100- return (blockData & CAN_WALK_THROUGH_MASK ) != zero ;
98+ return (blockData & CAN_WALK_THROUGH_MASK ) != 0 ;
10199 }
102100 }
103101
104102 public boolean fullyPassable (BlockStateInterface bsi , int x , int y , int z , BlockState state ) {
105103 int id = Block .BLOCK_STATE_REGISTRY .getId (state );
106104 int blockData = data [id ];
107105
108- if ((blockData & COMPLETED_MASK ) == zero ) { // we need to fill in the data
106+ if ((blockData & COMPLETED_MASK ) == 0 ) { // we need to fill in the data
109107 blockData = fillData (id , state );
110108 }
111109
112- if ((blockData & FULLY_PASSABLE_MAYBE_MASK ) != zero ) {
110+ if ((blockData & FULLY_PASSABLE_MAYBE_MASK ) != 0 ) {
113111 return MovementHelper .fullyPassablePosition (bsi , x , y , z , state );
114112 } else {
115- return (blockData & FULLY_PASSABLE_MASK ) != zero ;
113+ return (blockData & FULLY_PASSABLE_MASK ) != 0 ;
116114 }
117115 }
118116}
0 commit comments