2019-08-06 00:35:40 +08:00
|
|
|
From d8089c4bf30144a196c0cea8306ef6d32899ce37 Mon Sep 17 00:00:00 2001
|
2017-11-11 12:46:55 +08:00
|
|
|
From: pkt77 <parkerkt77@gmail.com>
|
|
|
|
Date: Fri, 10 Nov 2017 23:46:34 -0500
|
|
|
|
Subject: [PATCH] Add PlayerArmorChangeEvent
|
|
|
|
|
|
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
2019-08-06 00:35:40 +08:00
|
|
|
index 46dfb3c498..74c1f7c447 100644
|
2017-11-11 12:46:55 +08:00
|
|
|
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
|
|
@@ -1,5 +1,6 @@
|
|
|
|
package net.minecraft.server;
|
|
|
|
|
|
|
|
+import com.destroystokyo.paper.event.player.PlayerArmorChangeEvent;
|
|
|
|
import com.google.common.base.Objects;
|
2019-04-28 07:23:53 +08:00
|
|
|
import com.google.common.collect.ImmutableList;
|
2017-11-11 12:46:55 +08:00
|
|
|
import com.google.common.collect.Maps;
|
2019-08-06 00:35:40 +08:00
|
|
|
@@ -2276,6 +2277,13 @@ public abstract class EntityLiving extends Entity {
|
2017-11-11 12:46:55 +08:00
|
|
|
ItemStack itemstack1 = this.getEquipment(enumitemslot);
|
|
|
|
|
|
|
|
if (!ItemStack.matches(itemstack1, itemstack)) {
|
|
|
|
+ // Paper start - PlayerArmorChangeEvent
|
2019-03-04 04:21:51 +08:00
|
|
|
+ if (this instanceof EntityPlayer && enumitemslot.getType() == EnumItemSlot.Function.ARMOR) {
|
2017-11-11 12:46:55 +08:00
|
|
|
+ final org.bukkit.inventory.ItemStack oldItem = CraftItemStack.asBukkitCopy(itemstack);
|
|
|
|
+ final org.bukkit.inventory.ItemStack newItem = CraftItemStack.asBukkitCopy(itemstack1);
|
|
|
|
+ new PlayerArmorChangeEvent((Player) this.getBukkitEntity(), PlayerArmorChangeEvent.SlotType.valueOf(enumitemslot.name()), oldItem, newItem).callEvent();
|
|
|
|
+ }
|
|
|
|
+ // Paper end
|
2019-04-28 07:23:53 +08:00
|
|
|
((WorldServer) this.world).getChunkProvider().broadcast(this, new PacketPlayOutEntityEquipment(this.getId(), enumitemslot, itemstack1));
|
2017-11-11 12:46:55 +08:00
|
|
|
if (!itemstack.isEmpty()) {
|
|
|
|
this.getAttributeMap().a(itemstack.a(enumitemslot));
|
2017-11-11 13:07:45 +08:00
|
|
|
diff --git a/src/main/java/net/minecraft/server/EnumItemSlot.java b/src/main/java/net/minecraft/server/EnumItemSlot.java
|
2019-07-20 12:01:24 +08:00
|
|
|
index 02a7ae6785..60b235f16f 100644
|
2017-11-11 13:07:45 +08:00
|
|
|
--- a/src/main/java/net/minecraft/server/EnumItemSlot.java
|
|
|
|
+++ b/src/main/java/net/minecraft/server/EnumItemSlot.java
|
2019-01-01 11:15:55 +08:00
|
|
|
@@ -16,6 +16,7 @@ public enum EnumItemSlot {
|
|
|
|
this.j = s;
|
2017-11-11 13:07:45 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
+ public EnumItemSlot.Function getType() { return this.a(); } // Paper - OBFHELPER
|
|
|
|
public EnumItemSlot.Function a() {
|
|
|
|
return this.g;
|
|
|
|
}
|
2017-11-11 12:46:55 +08:00
|
|
|
--
|
2019-06-26 03:18:50 +08:00
|
|
|
2.22.0
|
2017-11-11 12:46:55 +08:00
|
|
|
|