Do not skip PlayerInteractEvent.
This commit is contained in:
parent
0aad4e83ea
commit
2b5f9b69c1
|
@ -752,17 +752,13 @@ public abstract class ServerPlayNetHandlerMixin implements ServerPlayNetHandlerB
|
||||||
float f8 = f3 * f5;
|
float f8 = f3 * f5;
|
||||||
double d4 = (this.player.interactionManager.getGameType() == GameType.CREATIVE) ? 5.0 : 4.5;
|
double d4 = (this.player.interactionManager.getGameType() == GameType.CREATIVE) ? 5.0 : 4.5;
|
||||||
Vector3d vec3d2 = vec3d.add(f7 * d4, f6 * d4, f8 * d4);
|
Vector3d vec3d2 = vec3d.add(f7 * d4, f6 * d4, f8 * d4);
|
||||||
BlockRayTraceResult movingobjectposition = this.player.world.rayTraceBlocks(new RayTraceContext(vec3d, vec3d2, RayTraceContext.BlockMode.OUTLINE, RayTraceContext.FluidMode.NONE, this.player));
|
BlockRayTraceResult result = this.player.world.rayTraceBlocks(new RayTraceContext(vec3d, vec3d2, RayTraceContext.BlockMode.OUTLINE, RayTraceContext.FluidMode.NONE, this.player));
|
||||||
boolean cancelled;
|
boolean cancelled;
|
||||||
if (movingobjectposition == null || movingobjectposition.getType() != RayTraceResult.Type.BLOCK) {
|
if (result == null || result.getType() != RayTraceResult.Type.BLOCK) {
|
||||||
PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(this.player, Action.RIGHT_CLICK_AIR, itemstack, enumhand);
|
PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(this.player, Action.RIGHT_CLICK_AIR, itemstack, enumhand);
|
||||||
cancelled = (event.useItemInHand() == Event.Result.DENY);
|
cancelled = (event.useItemInHand() == Event.Result.DENY);
|
||||||
} else if (((PlayerInteractionManagerBridge) this.player.interactionManager).bridge$isFiredInteract()) {
|
|
||||||
((PlayerInteractionManagerBridge) this.player.interactionManager).bridge$setFiredInteract(false);
|
|
||||||
cancelled = ((PlayerInteractionManagerBridge) this.player.interactionManager).bridge$getInteractResult();
|
|
||||||
} else {
|
} else {
|
||||||
BlockRayTraceResult movingobjectpositionblock = movingobjectposition;
|
PlayerInteractEvent event2 = CraftEventFactory.callPlayerInteractEvent(this.player, Action.RIGHT_CLICK_BLOCK, result.getPos(), result.getFace(), itemstack, true, enumhand);
|
||||||
PlayerInteractEvent event2 = CraftEventFactory.callPlayerInteractEvent(this.player, Action.RIGHT_CLICK_BLOCK, movingobjectpositionblock.getPos(), movingobjectpositionblock.getFace(), itemstack, true, enumhand);
|
|
||||||
cancelled = (event2.useItemInHand() == Event.Result.DENY);
|
cancelled = (event2.useItemInHand() == Event.Result.DENY);
|
||||||
}
|
}
|
||||||
if (cancelled) {
|
if (cancelled) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user