250388defe
this allows for simpler checks for if an advancement would be given to a player, and denying it (as the advancement grant event is non-cancelable)
24 Zeilen
1.2 KiB
Diff
24 Zeilen
1.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
|
Date: Fri, 19 Jan 2018 08:15:29 -0600
|
|
Subject: [PATCH] Add PlayerAdvancementCriterionGrantEvent
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
|
index f5f26c0327f0dae47badcc914fc89a4019c784a3..6487bf016e646ca772b667a2a81c85e82c027c05 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
|
@@ -226,6 +226,12 @@ public class PlayerAdvancements {
|
|
boolean flag1 = advancementprogress.isDone();
|
|
|
|
if (advancementprogress.grantProgress(criterionName)) {
|
|
+ // Paper start
|
|
+ if (!new com.destroystokyo.paper.event.player.PlayerAdvancementCriterionGrantEvent(this.player.getBukkitEntity(), advancement.toBukkit(), criterionName).callEvent()) {
|
|
+ advancementprogress.revokeProgress(criterionName);
|
|
+ return false;
|
|
+ }
|
|
+ // Paper end
|
|
this.unregisterListeners(advancement);
|
|
this.progressChanged.add(advancement);
|
|
flag = true;
|