mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-02 13:07:06 +01:00
058d7c1aa3
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 13eb4146 SPIGOT-5217, SPIGOT-6183: Add RespawnReason to PlayerRespawnEvent CraftBukkit Changes: 5ee3419b7 SPIGOT-5217, SPIGOT-6183: Add RespawnReason to PlayerRespawnEvent Spigot Changes: 514cf03a Rebuild patches and add RespawnReason.PLUGIN to Player#respawn
65 lines
3.5 KiB
Diff
65 lines
3.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jedediah Smith <jedediah@silencegreys.com>
|
|
Date: Sat, 2 Apr 2016 05:09:16 -0400
|
|
Subject: [PATCH] Add PlayerUseUnknownEntityEvent
|
|
|
|
== AT ==
|
|
public net.minecraft.network.protocol.game.ServerboundInteractPacket$ActionType
|
|
|
|
diff --git a/src/main/java/net/minecraft/network/protocol/game/ServerboundInteractPacket.java b/src/main/java/net/minecraft/network/protocol/game/ServerboundInteractPacket.java
|
|
index a5d57cc862036012d83b090bb1b3ccf4115a88b3..21068f766b75c414d5818073b7dca083d8ff4409 100644
|
|
--- a/src/main/java/net/minecraft/network/protocol/game/ServerboundInteractPacket.java
|
|
+++ b/src/main/java/net/minecraft/network/protocol/game/ServerboundInteractPacket.java
|
|
@@ -10,8 +10,8 @@ import net.minecraft.world.entity.Entity;
|
|
import net.minecraft.world.phys.Vec3;
|
|
|
|
public class ServerboundInteractPacket implements Packet<ServerGamePacketListener> {
|
|
- private final int entityId;
|
|
- private final ServerboundInteractPacket.Action action;
|
|
+ private final int entityId; public final int getEntityId() { return this.entityId; } // Paper - add accessor
|
|
+ private final ServerboundInteractPacket.Action action; public final ServerboundInteractPacket.ActionType getActionType() { return this.action.getType(); } // Paper - add accessor
|
|
private final boolean usingSecondaryAction;
|
|
static final ServerboundInteractPacket.Action ATTACK_ACTION = new ServerboundInteractPacket.Action() {
|
|
@Override
|
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
index 19733418e80d49f65290ba898caf71aa3b0e5334..e4becdbb95f0309b9173722762836037dc38b33d 100644
|
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
@@ -2535,8 +2535,37 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
|
});
|
|
}
|
|
}
|
|
+ // Paper start - fire event
|
|
+ else {
|
|
+ packet.dispatch(new net.minecraft.network.protocol.game.ServerboundInteractPacket.Handler() {
|
|
+ @Override
|
|
+ public void onInteraction(net.minecraft.world.InteractionHand hand) {
|
|
+ ServerGamePacketListenerImpl.this.callPlayerUseUnknownEntityEvent(packet, hand);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void onInteraction(net.minecraft.world.InteractionHand hand, net.minecraft.world.phys.Vec3 pos) {
|
|
+ ServerGamePacketListenerImpl.this.callPlayerUseUnknownEntityEvent(packet, hand);
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void onAttack() {
|
|
+ ServerGamePacketListenerImpl.this.callPlayerUseUnknownEntityEvent(packet, net.minecraft.world.InteractionHand.MAIN_HAND);
|
|
+ }
|
|
+ });
|
|
+ }
|
|
+
|
|
+ }
|
|
|
|
+ private void callPlayerUseUnknownEntityEvent(ServerboundInteractPacket packet, InteractionHand hand) {
|
|
+ this.cserver.getPluginManager().callEvent(new com.destroystokyo.paper.event.player.PlayerUseUnknownEntityEvent(
|
|
+ this.getCraftPlayer(),
|
|
+ packet.getEntityId(),
|
|
+ packet.getActionType() == ServerboundInteractPacket.ActionType.ATTACK,
|
|
+ hand == InteractionHand.MAIN_HAND ? EquipmentSlot.HAND : EquipmentSlot.OFF_HAND
|
|
+ ));
|
|
}
|
|
+ // Paper end
|
|
|
|
@Override
|
|
public void handleClientCommand(ServerboundClientCommandPacket packet) {
|