mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Add getPlayer to SkeletonHorseTrapEvent
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
From 4538053cf5be9c25af8a07ebe5ae6f7730d630a7 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Sat, 19 Oct 2019 02:35:24 -0500
|
||||
Subject: [PATCH] Add getPlayer to SkeletonHorseTrapEvent
|
||||
|
||||
---
|
||||
.../event/entity/SkeletonHorseTrapEvent.java | 24 +++++++++++++++++++
|
||||
1 file changed, 24 insertions(+)
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/event/entity/SkeletonHorseTrapEvent.java b/src/main/java/com/destroystokyo/paper/event/entity/SkeletonHorseTrapEvent.java
|
||||
index d79dbcd68..1ed3ea8fa 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/event/entity/SkeletonHorseTrapEvent.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/event/entity/SkeletonHorseTrapEvent.java
|
||||
@@ -1,20 +1,30 @@
|
||||
package com.destroystokyo.paper.event.entity;
|
||||
|
||||
+import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.SkeletonHorse;
|
||||
import org.bukkit.event.Cancellable;
|
||||
import org.bukkit.event.HandlerList;
|
||||
import org.bukkit.event.entity.EntityEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
+import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* Event called when a player gets close to a skeleton horse and triggers the lightning trap
|
||||
*/
|
||||
public class SkeletonHorseTrapEvent extends EntityEvent implements Cancellable {
|
||||
private static final HandlerList handlers = new HandlerList();
|
||||
+ private final Player player; // Purpur
|
||||
private boolean cancelled;
|
||||
|
||||
public SkeletonHorseTrapEvent(@NotNull SkeletonHorse horse) {
|
||||
+ // Purpur start
|
||||
+ this(horse, null);
|
||||
+ }
|
||||
+
|
||||
+ public SkeletonHorseTrapEvent(@NotNull SkeletonHorse horse, @Nullable Player player) {
|
||||
+ // Purpur end
|
||||
super(horse);
|
||||
+ this.player = player; // Purpur
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -23,6 +33,20 @@ public class SkeletonHorseTrapEvent extends EntityEvent implements Cancellable {
|
||||
return (SkeletonHorse) super.getEntity();
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ /**
|
||||
+ * Get the player that triggered this trap event
|
||||
+ * <p>
|
||||
+ * Null value if called by a plugin that does not support this feature
|
||||
+ *
|
||||
+ * @return Player that triggered event
|
||||
+ */
|
||||
+ @Nullable
|
||||
+ public Player getPlayer() {
|
||||
+ return player;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
public boolean isCancelled() {
|
||||
return cancelled;
|
||||
--
|
||||
2.23.0.rc1
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
From 88e8ca7cf1e15112a75edc51488a96eddf948014 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Sat, 19 Oct 2019 02:35:35 -0500
|
||||
Subject: [PATCH] Add getPlayer to SkeletonHorseTrapEvent
|
||||
|
||||
---
|
||||
.../java/net/minecraft/server/PathfinderGoalHorseTrap.java | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java b/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
|
||||
index f093744136..01f69e81ad 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
|
||||
@@ -2,7 +2,8 @@ package net.minecraft.server;
|
||||
|
||||
public class PathfinderGoalHorseTrap extends PathfinderGoal {
|
||||
|
||||
- private final EntityHorseSkeleton a;
|
||||
+ private final EntityHorseSkeleton a; public EntityHorseSkeleton getHorse() { return a; } // Purpur - OBFHELPER
|
||||
+ private EntityHuman player; // Purpur
|
||||
|
||||
public PathfinderGoalHorseTrap(EntityHorseSkeleton entityhorseskeleton) {
|
||||
this.a = entityhorseskeleton;
|
||||
@@ -10,12 +11,12 @@ public class PathfinderGoalHorseTrap extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
- return this.a.world.isPlayerNearby(this.a.locX, this.a.locY, this.a.locZ, 10.0D);
|
||||
+ return (player = getHorse().world.findNearbyPlayer(getHorse(), 10D)) != null; // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
public void e() {
|
||||
- if (!new com.destroystokyo.paper.event.entity.SkeletonHorseTrapEvent((org.bukkit.entity.SkeletonHorse) this.a.getBukkitEntity()).callEvent()) return; // Paper
|
||||
+ if (!new com.destroystokyo.paper.event.entity.SkeletonHorseTrapEvent((org.bukkit.entity.SkeletonHorse) this.a.getBukkitEntity(), (org.bukkit.entity.Player) player.getBukkitEntity()).callEvent()) return; // Paper // Purpur
|
||||
DifficultyDamageScaler difficultydamagescaler = this.a.world.getDamageScaler(new BlockPosition(this.a));
|
||||
|
||||
this.a.r(false);
|
||||
--
|
||||
2.23.0.rc1
|
||||
|
||||
Reference in New Issue
Block a user