@@ -1,56 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Tom <cryptite@gmail.com>
|
||||
Date: Mon, 20 Sep 2021 08:52:20 -0500
|
||||
Subject: [PATCH] Add PlayerShieldDisableEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/event/player/PlayerShieldDisableEvent.java b/src/main/java/org/bukkit/event/player/PlayerShieldDisableEvent.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..93f55f13c0fdd100dc87b2acf0127eb518205f29
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/bukkit/event/player/PlayerShieldDisableEvent.java
|
||||
@@ -0,0 +1,44 @@
|
||||
+package org.bukkit.event.player;
|
||||
+
|
||||
+import org.bukkit.entity.Entity;
|
||||
+import org.bukkit.entity.Player;
|
||||
+import org.bukkit.event.Event;
|
||||
+import org.bukkit.event.HandlerList;
|
||||
+import org.jetbrains.annotations.NotNull;
|
||||
+import org.jetbrains.annotations.Nullable;
|
||||
+
|
||||
+/**
|
||||
+ * Thrown whenever a {@link Player} dies
|
||||
+ */
|
||||
+public class PlayerShieldDisableEvent extends Event {
|
||||
+ private static final HandlerList handlers = new HandlerList();
|
||||
+
|
||||
+ private final Player player;
|
||||
+ private final Entity damager;
|
||||
+
|
||||
+ public PlayerShieldDisableEvent(@NotNull final Player player, @Nullable final Entity damager) {
|
||||
+ this.player = player;
|
||||
+ this.damager = damager;
|
||||
+ }
|
||||
+
|
||||
+ @Nullable
|
||||
+ public Entity getDamager() {
|
||||
+ return damager;
|
||||
+ }
|
||||
+
|
||||
+ @NotNull
|
||||
+ public Player getPlayer() {
|
||||
+ return player;
|
||||
+ }
|
||||
+
|
||||
+ @NotNull
|
||||
+ @Override
|
||||
+ public HandlerList getHandlers() {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+
|
||||
+ @NotNull
|
||||
+ public static HandlerList getHandlerList() {
|
||||
+ return handlers;
|
||||
+ }
|
||||
+}
|
||||
@@ -1,93 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Tom <cryptite@gmail.com>
|
||||
Date: Mon, 20 Sep 2021 08:52:20 -0500
|
||||
Subject: [PATCH] Add PlayerShieldDisableEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 8a864238e154e2131834d013652746b7e7a78c97..75f19791993bd7918ce2775bff02dc7bae9e882d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -72,6 +72,7 @@ import net.minecraft.world.level.ServerLevelAccessor;
|
||||
import net.minecraft.world.level.material.Fluid;
|
||||
import net.minecraft.world.level.pathfinder.BlockPathTypes;
|
||||
import net.minecraft.world.level.storage.loot.LootContext;
|
||||
+import org.bukkit.Bukkit; // Paper
|
||||
import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||||
import org.bukkit.craftbukkit.entity.CraftLivingEntity;
|
||||
import org.bukkit.event.entity.CreatureSpawnEvent;
|
||||
@@ -81,6 +82,7 @@ import org.bukkit.event.entity.EntityTargetEvent;
|
||||
import org.bukkit.event.entity.EntityTransformEvent;
|
||||
import org.bukkit.event.entity.EntityUnleashEvent;
|
||||
import org.bukkit.event.entity.EntityUnleashEvent.UnleashReason;
|
||||
+import org.bukkit.event.player.PlayerShieldDisableEvent; // Paper
|
||||
// CraftBukkit end
|
||||
|
||||
public abstract class Mob extends LivingEntity {
|
||||
@@ -1590,6 +1592,11 @@ public abstract class Mob extends LivingEntity {
|
||||
if (this.random.nextFloat() < f) {
|
||||
player.getCooldowns().addCooldown(Items.SHIELD, 100);
|
||||
this.level.broadcastEntityEvent(player, (byte) 30);
|
||||
+
|
||||
+ // Paper start
|
||||
+ PlayerShieldDisableEvent event = new PlayerShieldDisableEvent((org.bukkit.entity.Player) player.getBukkitEntity(), getBukkitEntity());
|
||||
+ Bukkit.getPluginManager().callEvent(event);
|
||||
+ // Paper end
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index cea92f1dc663bf0648b2bd877d86ca380a517bc9..e731659630e2d6dd64b6d94fcd3fd3f2a61d04c4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -115,6 +115,7 @@ import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraft.world.scores.PlayerTeam;
|
||||
import net.minecraft.world.scores.Scoreboard;
|
||||
// CraftBukkit start
|
||||
+import org.bukkit.Bukkit; // Paper
|
||||
import org.bukkit.craftbukkit.entity.CraftHumanEntity;
|
||||
import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||||
import org.bukkit.craftbukkit.util.CraftVector;
|
||||
@@ -123,6 +124,7 @@ import org.bukkit.event.entity.CreatureSpawnEvent;
|
||||
import org.bukkit.event.entity.EntityCombustByEntityEvent;
|
||||
import org.bukkit.event.entity.EntityExhaustionEvent;
|
||||
import org.bukkit.event.player.PlayerDropItemEvent;
|
||||
+import org.bukkit.event.player.PlayerShieldDisableEvent; // Paper
|
||||
import org.bukkit.event.player.PlayerVelocityEvent;
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -936,7 +938,7 @@ public abstract class Player extends LivingEntity {
|
||||
protected void blockUsingShield(LivingEntity attacker) {
|
||||
super.blockUsingShield(attacker);
|
||||
if (attacker.getMainHandItem().getItem() instanceof AxeItem) {
|
||||
- this.disableShield(true);
|
||||
+ this.disableShield(true, attacker); // Paper
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1403,6 +1405,11 @@ public abstract class Player extends LivingEntity {
|
||||
}
|
||||
|
||||
public void disableShield(boolean sprinting) {
|
||||
+ disableShield(sprinting, null); // Paper
|
||||
+ }
|
||||
+
|
||||
+ // Paper start
|
||||
+ public void disableShield(boolean sprinting, LivingEntity attacker) {
|
||||
float f = 0.25F + (float) EnchantmentHelper.getBlockEfficiency(this) * 0.05F;
|
||||
|
||||
if (sprinting) {
|
||||
@@ -1413,9 +1420,12 @@ public abstract class Player extends LivingEntity {
|
||||
this.getCooldowns().addCooldown(Items.SHIELD, 100);
|
||||
this.stopUsingItem();
|
||||
this.level.broadcastEntityEvent(this, (byte) 30);
|
||||
- }
|
||||
|
||||
+ PlayerShieldDisableEvent event = new PlayerShieldDisableEvent((org.bukkit.entity.Player) getBukkitEntity(), attacker.getBukkitEntity());
|
||||
+ Bukkit.getPluginManager().callEvent(event);
|
||||
+ }
|
||||
}
|
||||
+ // Paper end
|
||||
|
||||
public void crit(Entity target) {}
|
||||
|
||||
Reference in New Issue
Block a user