@@ -55,19 +55,23 @@ private void canCollideCheck(IBlockState state, boolean hitIfLiquid, CallbackInf
55
55
56
56
@ Inject (method = "addCollisionBoxToList(Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/AxisAlignedBB;Ljava/util/List;Lnet/minecraft/entity/Entity;Z)V" ,
57
57
at = @ At ("HEAD" ))
58
- private void in (IBlockState state , World world , BlockPos pos , AxisAlignedBB entityBox , List <AxisAlignedBB > collidingBoxes , @ Nullable Entity entity , boolean isActualState , CallbackInfo ci ) {
59
- Block block = (Block ) (Object ) (this );
60
- bbEvent = new BoundingBoxEvent (block , pos , block .getCollisionBoundingBox (state , world , pos ), collidingBoxes , entity );
61
- ClientAPI .EVENT_BUS .post (bbEvent );
58
+ private void addCollisionBox (IBlockState state , World world , BlockPos pos , AxisAlignedBB entityBox , List <AxisAlignedBB > collidingBoxes , @ Nullable Entity entity , boolean isActualState , CallbackInfo ci ) {
59
+ synchronized (this ) {
60
+ Block block = (Block ) (Object ) (this );
61
+ bbEvent = new BoundingBoxEvent (block , pos , block .getCollisionBoundingBox (state , world , pos ), collidingBoxes , entity );
62
+ ClientAPI .EVENT_BUS .post (bbEvent );
63
+ }
62
64
}
63
65
64
66
@ Redirect (method = "addCollisionBoxToList(Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/AxisAlignedBB;Ljava/util/List;Lnet/minecraft/entity/Entity;Z)V" ,
65
67
at = @ At (value = "INVOKE" , target = "Lnet/minecraft/block/state/IBlockState;getCollisionBoundingBox(Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/util/math/AxisAlignedBB;" ))
66
68
private AxisAlignedBB getBB (IBlockState state , IBlockAccess world , BlockPos pos ) {
67
- AxisAlignedBB bb = (bbEvent == null ) ?
68
- state .getCollisionBoundingBox (world , pos ):
69
- bbEvent .getBoundingBox ();
70
- bbEvent = null ;
71
- return bb ;
69
+ synchronized (this ) {
70
+ AxisAlignedBB bb = (bbEvent == null ) ?
71
+ state .getCollisionBoundingBox (world , pos ) :
72
+ bbEvent .getBoundingBox ();
73
+ bbEvent = null ;
74
+ return bb ;
75
+ }
72
76
}
73
77
}
0 commit comments