Skip to content

Commit

Permalink
Update Upstream (Purpur), add some patches
Browse files Browse the repository at this point in the history
  • Loading branch information
SoSeDiK committed Oct 4, 2024
1 parent 263441f commit 2dc1180
Show file tree
Hide file tree
Showing 29 changed files with 497 additions and 84 deletions.
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent
plugins {
java
`maven-publish`
id("io.papermc.paperweight.patcher") version "1.7.1"
id("io.papermc.paperweight.patcher") version "1.7.3"
}

val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/"
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ version = 1.21.1-R0.1-SNAPSHOT
mcVersion = 1.21.1

# Upstream commit
purpurCommit = 20fa61eeea76be03377d9e17334dd64dd6537407
purpurCommit = 639bcbd780998ac87bfc167cf84101678bd20082

# Gradle
org.gradle.caching = true
Expand Down
4 changes: 2 additions & 2 deletions patches/api/0001-Rebrand.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Subject: [PATCH] Rebrand


diff --git a/src/main/java/io/papermc/paper/ServerBuildInfo.java b/src/main/java/io/papermc/paper/ServerBuildInfo.java
index 8c2c5ea14a839c8767bbf120ae5512f65475cbb0..5fbc41241695a40981708f249b58d92e517cadc0 100644
index 7196594e07af19a14c320d77df893978525fe386..afeb25389f2c5c3c76c99b9837e06ceb93abbc13 100644
--- a/src/main/java/io/papermc/paper/ServerBuildInfo.java
+++ b/src/main/java/io/papermc/paper/ServerBuildInfo.java
@@ -32,6 +32,13 @@ public interface ServerBuildInfo {
@@ -33,6 +33,13 @@ public interface ServerBuildInfo {
Key BRAND_PURPUR_ID = Key.key("purpurmc", "purpur");
// Purpur end

Expand Down
4 changes: 2 additions & 2 deletions patches/api/0003-Hide-irrelevant-compilation-warnings.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Subject: [PATCH] Hide irrelevant compilation warnings


diff --git a/build.gradle.kts b/build.gradle.kts
index b7d584c8b96eb7699e5df90ed04bf22ee256d571..7b0b17ff41aa336ee92636bc2844ba8697d399d4 100644
index f68a447f309bc9d45c275bbfee1c237f6fb0d680..88603c1035621c48ce0492e5df46b1cab426ffef 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -231,3 +231,12 @@ tasks.check {
@@ -233,3 +233,12 @@ tasks.check {
dependsOn(scanJarForOldGeneratedCode)
}
// Paper end
Expand Down
8 changes: 4 additions & 4 deletions patches/api/0006-More-Sound-API.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Subject: [PATCH] More Sound API


diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java
index a13c8ddd4a1222e7a16debb61769af3758502d7c..84a2e44fe8a6ff534230f7407b948e70d2dcb0cc 100644
index 0efd8bb70ebdb86372022c9e12ec89f229ab3b52..a350c87fb480e684e341df4f6b8de1c1421f6081 100644
--- a/src/main/java/org/bukkit/block/Block.java
+++ b/src/main/java/org/bukkit/block/Block.java
@@ -816,4 +816,29 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr
@@ -820,4 +820,29 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr
return this.getBlockData().getDestroySpeed(itemStack, considerEnchants);
}
// Paper end - destroy speed API
Expand Down Expand Up @@ -39,10 +39,10 @@ index a13c8ddd4a1222e7a16debb61769af3758502d7c..84a2e44fe8a6ff534230f7407b948e70
+ // Kiterino end - More Sound API
}
diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
index 2d12c70b0baa50504619c8e37881a11a56d7df2c..bb1d64df05e9c0727344e35176c00c28aa3cc1a6 100644
index b7d53973ac4e829a03821d59e0b3a28d6f6a4373..624cbc6fe7500192d7c2ffad3b44d6aa6b3bca99 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -1210,4 +1210,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
@@ -1223,4 +1223,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
*/
void setImmuneToFire(@Nullable Boolean fireImmune);
// Purpur end
Expand Down
4 changes: 2 additions & 2 deletions patches/api/0007-ItemStack-helper-methods.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack helper methods


diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index b6389b82b4eae033e1e770ae3967c88e950926ab..152dccfc9b445e11fa646d070a762d97bd7fdcfb 100644
index 44a26a768c11f60241010391211a19f6b589f23c..2a0839b0faf54b5a4824d8538035f1ec041563c8 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -1678,4 +1678,54 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -1695,4 +1695,54 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return random.nextInt(unbreaking + 1) > 0;
}
// Purpur end
Expand Down
4 changes: 2 additions & 2 deletions patches/api/0009-Red-tint-API.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Subject: [PATCH] Red tint API


diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 70a80a56ed6fcfd118ad4c51193dbe0c8c0250a8..2977ca0ff996c27810af20f984624ed5210671e7 100644
index bc8038b920d54e6526e34c194fae2c584cc7abda..901f36320444c8d39a63ac95b0b20b17498ed018 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3980,4 +3980,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -3992,4 +3992,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
sendDeathScreen(message);
}
// Purpur end
Expand Down
4 changes: 2 additions & 2 deletions patches/api/0010-Forced-panic-mode-API.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Subject: [PATCH] Forced panic mode API


diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
index 93145e96760d9e0a65fa1c0a210890bafc21d7b5..0c7f1481a0a69fc3d9823bf32582b4c5f488a595 100644
index 624cbc6fe7500192d7c2ffad3b44d6aa6b3bca99..82ca25a345d52f007d47e4fa29a843c38dbc6ae9 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -1241,4 +1241,20 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
@@ -1254,4 +1254,20 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
getWorld().playSound(this, sound, category, volume, pitch);
}
// Kiterino end - More Sound API
Expand Down
4 changes: 2 additions & 2 deletions patches/api/0011-Allow-setting-entity-s-rider.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Subject: [PATCH] Allow setting entity's rider


diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
index fcde6e194ededcb72fa7e0005154e8b6c0df2c6b..ae048744121bf1554a119acc7da472a45d4b577a 100644
index 82ca25a345d52f007d47e4fa29a843c38dbc6ae9..76e1faf78a1f60534e3d607c5d78086455a4d80a 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -1257,4 +1257,27 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
@@ -1270,4 +1270,27 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
*/
void setPanicTicks(int ticks);
// Kiterino end - Forced panic mode API
Expand Down
4 changes: 2 additions & 2 deletions patches/api/0015-Data-driven-items.patch
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ Displaying items to the client is done via Item Modifiers API in a later patch.
Vanilla /give command won't show new items in auto complete.

diff --git a/src/main/java/io/papermc/paper/registry/event/RegistryEvents.java b/src/main/java/io/papermc/paper/registry/event/RegistryEvents.java
index b32ae215e976bcfcdd86b03037de61b3d896f57c..7b12d1fcf5a2f5d4a043f934611fc8247939127c 100644
index 1c8e77c7243cfedef6c4d1491cf98e6ec8f1690f..777727f9e8541638f2ed42b26c0793a28d13d896 100644
--- a/src/main/java/io/papermc/paper/registry/event/RegistryEvents.java
+++ b/src/main/java/io/papermc/paper/registry/event/RegistryEvents.java
@@ -18,6 +18,7 @@ public final class RegistryEvents {
@@ -20,6 +20,7 @@ public final class RegistryEvents {

public static final RegistryEventProvider<GameEvent, GameEventRegistryEntry.Builder> GAME_EVENT = create(RegistryKey.GAME_EVENT);
public static final RegistryEventProvider<Enchantment, EnchantmentRegistryEntry.Builder> ENCHANTMENT = create(RegistryKey.ENCHANTMENT);
Expand Down
8 changes: 4 additions & 4 deletions patches/api/0018-Material-injector-helper-methods.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,21 +5,21 @@ Subject: [PATCH] Material injector helper methods


diff --git a/src/main/java/io/papermc/paper/plugin/bootstrap/BootstrapContext.java b/src/main/java/io/papermc/paper/plugin/bootstrap/BootstrapContext.java
index c319f3bbfabdd39ee571c59d7bfc144c58232abc..9f733c13d8b689e4b626926729051e6adceb6d5f 100644
index 577a9d5aeae55a3b8452b6d873b51b30384c1fea..3f8d4259c73182d0bcfaaabfc78dc917c1b2366b 100644
--- a/src/main/java/io/papermc/paper/plugin/bootstrap/BootstrapContext.java
+++ b/src/main/java/io/papermc/paper/plugin/bootstrap/BootstrapContext.java
@@ -22,4 +22,15 @@ public interface BootstrapContext extends PluginProviderContext, LifecycleEventO
@@ -23,4 +23,15 @@ public interface BootstrapContext extends PluginProviderContext, LifecycleEventO
* @return the lifecycle event manager
*/
@NotNull LifecycleEventManager<BootstrapContext> getLifecycleManager();
LifecycleEventManager<BootstrapContext> getLifecycleManager();
+
+ // Kiterino start - Material injector helper methods
+ /**
+ * Inject materials in the class
+ *
+ * @param materialsClass class with public static final Material instances
+ */
+ default void injectMaterials(@NotNull Class<?> materialsClass) {
+ default void injectMaterials(Class<?> materialsClass) {
+ me.sosedik.kiterino.util.KiterinoBootstrapMaterialInjector.injectMaterials(materialsClass);
+ }
+ // Kiterino end - Material injector helper methods
Expand Down
4 changes: 2 additions & 2 deletions patches/api/0019-Data-driven-mob-effects.patch
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ Displaying effects to the client is done on the plugin's side.
Vanilla /effect command won't show new effects in auto complete.

diff --git a/src/main/java/io/papermc/paper/registry/event/RegistryEvents.java b/src/main/java/io/papermc/paper/registry/event/RegistryEvents.java
index 7b12d1fcf5a2f5d4a043f934611fc8247939127c..8eb4d1371a90c41fffd8e7ef3b960294abd40ba1 100644
index 777727f9e8541638f2ed42b26c0793a28d13d896..b057cac19491370282d9ba42e64f3c810b18ce97 100644
--- a/src/main/java/io/papermc/paper/registry/event/RegistryEvents.java
+++ b/src/main/java/io/papermc/paper/registry/event/RegistryEvents.java
@@ -19,6 +19,7 @@ public final class RegistryEvents {
@@ -21,6 +21,7 @@ public final class RegistryEvents {
public static final RegistryEventProvider<GameEvent, GameEventRegistryEntry.Builder> GAME_EVENT = create(RegistryKey.GAME_EVENT);
public static final RegistryEventProvider<Enchantment, EnchantmentRegistryEntry.Builder> ENCHANTMENT = create(RegistryKey.ENCHANTMENT);
public static final RegistryEventProvider<org.bukkit.inventory.ItemType, me.sosedik.kiterino.registry.data.ItemRegistryEntity.Builder> ITEM = create(RegistryKey.ITEM); // Kiterino - Data-driven items
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ Subject: [PATCH] Temporary solution for respawn events parity until Paper PR


diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerPostRespawnEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerPostRespawnEvent.java
index 16961aac061e78fb84029f8435ab5f7c493b1362..c8e081b49f3f0f5e8ce21f01eaa8c78149af9798 100644
index e82446ec3d706c47ac9a544f70d0c19b658665d5..7273fb2c51ae1158483a52311872d0b7decfddb4 100644
--- a/src/main/java/com/destroystokyo/paper/event/player/PlayerPostRespawnEvent.java
+++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerPostRespawnEvent.java
@@ -16,13 +16,34 @@ public class PlayerPostRespawnEvent extends PlayerEvent {
@@ -17,14 +17,35 @@ public class PlayerPostRespawnEvent extends PlayerEvent {

private final Location respawnedLocation;
private final boolean isBedSpawn;
Expand All @@ -21,30 +21,34 @@ index 16961aac061e78fb84029f8435ab5f7c493b1362..c8e081b49f3f0f5e8ce21f01eaa8c781

@ApiStatus.Internal
+ @Deprecated // Kiterino - Parity for respawn events
public PlayerPostRespawnEvent(@NotNull final Player respawnPlayer, @NotNull final Location respawnedLocation, final boolean isBedSpawn) {
+ // Kiterino start - Parity for respawn events
+ this(respawnPlayer, respawnedLocation, isBedSpawn, false, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.PLUGIN, com.google.common.collect.ImmutableSet.builder());
+ }
+
+ @ApiStatus.Internal
+ public PlayerPostRespawnEvent(@NotNull final Player respawnPlayer, @NotNull final Location respawnedLocation, final boolean isBedSpawn, final boolean isAnchorSpawn, @NotNull final org.bukkit.event.player.PlayerRespawnEvent.RespawnReason respawnReason, @NotNull final com.google.common.collect.ImmutableSet.Builder<org.bukkit.event.player.PlayerRespawnEvent.RespawnFlag> respawnFlags) {
+ // Paper end
super(respawnPlayer);
this.respawnedLocation = respawnedLocation;
this.isBedSpawn = isBedSpawn;
+ this.isAnchorSpawn = isAnchorSpawn;
+ this.respawnReason = respawnReason;
+ // Paper start
+ if (this.isBedSpawn) { respawnFlags.add(org.bukkit.event.player.PlayerRespawnEvent.RespawnFlag.BED_SPAWN); }
+ if (this.isAnchorSpawn) { respawnFlags.add(org.bukkit.event.player.PlayerRespawnEvent.RespawnFlag.ANCHOR_SPAWN); }
+ this.respawnFlags = respawnFlags.build();
+ // Paper end
public PlayerPostRespawnEvent(final Player respawnPlayer, final Location respawnedLocation, final boolean isBedSpawn) {
- super(respawnPlayer);
- this.respawnedLocation = respawnedLocation;
- this.isBedSpawn = isBedSpawn;
+ // Kiterino start - Parity for respawn events
+ this(respawnPlayer, respawnedLocation, isBedSpawn, false, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.PLUGIN, com.google.common.collect.ImmutableSet.builder());
}
+ // Kiterino end - Parity for respawn events

+ @ApiStatus.Internal
+ public PlayerPostRespawnEvent(final Player respawnPlayer, final Location respawnedLocation, final boolean isBedSpawn, final boolean isAnchorSpawn, final org.bukkit.event.player.PlayerRespawnEvent.RespawnReason respawnReason, final com.google.common.collect.ImmutableSet.Builder<org.bukkit.event.player.PlayerRespawnEvent.RespawnFlag> respawnFlags) {
+ // Paper end
+ super(respawnPlayer);
+ this.respawnedLocation = respawnedLocation;
+ this.isBedSpawn = isBedSpawn;
+ this.isAnchorSpawn = isAnchorSpawn;
+ this.respawnReason = respawnReason;
+ // Paper start
+ if (this.isBedSpawn) { respawnFlags.add(org.bukkit.event.player.PlayerRespawnEvent.RespawnFlag.BED_SPAWN); }
+ if (this.isAnchorSpawn) { respawnFlags.add(org.bukkit.event.player.PlayerRespawnEvent.RespawnFlag.ANCHOR_SPAWN); }
+ this.respawnFlags = respawnFlags.build();
+ // Paper end
+ }
+ // Kiterino end - Parity for respawn events
+
/**
* Returns the location of the respawned player
@@ -43,6 +64,37 @@ public class PlayerPostRespawnEvent extends PlayerEvent {
*
@@ -43,6 +64,35 @@ public class PlayerPostRespawnEvent extends PlayerEvent {
return this.isBedSpawn;
}

Expand All @@ -63,7 +67,6 @@ index 16961aac061e78fb84029f8435ab5f7c493b1362..c8e081b49f3f0f5e8ce21f01eaa8c781
+ *
+ * @return the reason the event was called.
+ */
+ @NotNull
+ public org.bukkit.event.player.PlayerRespawnEvent.RespawnReason getRespawnReason() {
+ return respawnReason;
+ }
Expand All @@ -73,12 +76,11 @@ index 16961aac061e78fb84029f8435ab5f7c493b1362..c8e081b49f3f0f5e8ce21f01eaa8c781
+ *
+ * @return an immutable set of the flags that apply to this respawn
+ */
+ @NotNull
+ public java.util.Set<org.bukkit.event.player.PlayerRespawnEvent.RespawnFlag> getRespawnFlags() {
+ return respawnFlags;
+ }
+ // Kiterino end - Parity for respawn events
+
@Override
@NotNull
public HandlerList getHandlers() {
return HANDLER_LIST;
4 changes: 2 additions & 2 deletions patches/api/0025-Allow-resending-entity-metadata.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Subject: [PATCH] Allow resending entity metadata


diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java
index e3d666cf6271a67df63d7bd2606ae6b9aac0bed8..6e00b1729245be9ceed4cd5ae07ef7c118fef9c0 100644
index 76e1faf78a1f60534e3d607c5d78086455a4d80a..6ae57e5006dabc7c253cd0ce1386fe2bd08e2ba1 100644
--- a/src/main/java/org/bukkit/entity/Entity.java
+++ b/src/main/java/org/bukkit/entity/Entity.java
@@ -1280,4 +1280,13 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
@@ -1293,4 +1293,13 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent
*/
boolean setRider(@Nullable Player rider, boolean dismount);
// Kiterino end - Allow setting entity's rider
Expand Down
4 changes: 2 additions & 2 deletions patches/api/0027-Send-ItemStack-API.patch
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Subject: [PATCH] Send ItemStack API


diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 2977ca0ff996c27810af20f984624ed5210671e7..9b3858e4f2dfadf4472c5ba2d999ea60dc9fdd22 100644
index 901f36320444c8d39a63ac95b0b20b17498ed018..6696e2ac1716486b3917662f021ad4d3c736869b 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -3989,4 +3989,23 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -4001,4 +4001,23 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
void sendRedTint(double percentage);
// Kiterino end - Red tint API
Expand Down
24 changes: 24 additions & 0 deletions patches/api/0032-Anger-nearby-piglins-API.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: SoSeDiK <[email protected]>
Date: Sat, 28 Sep 2024 01:03:13 +0300
Subject: [PATCH] Anger nearby piglins API


diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 6696e2ac1716486b3917662f021ad4d3c736869b..af53f2540a54c2c92974cdc7974768e31ee7aff0 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -4020,4 +4020,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
sendItem(me.sosedik.kiterino.inventory.InventorySlotHelper.CURSOR, item);
}
// Kiterino end - Send ItemStack API
+
+ // Kiterino start - Anger nearby piglins API
+ /**
+ * Triggers piglins angrying AI
+ *
+ * @param blockOpen whether the cause of anger is an opened block
+ */
+ void angerNearbyPiglins(boolean blockOpen);
+ // Kiterino end - Anger nearby piglins API
}
25 changes: 25 additions & 0 deletions patches/api/0033-Open-ender-chest-API.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: SoSeDiK <[email protected]>
Date: Sat, 28 Sep 2024 01:17:04 +0300
Subject: [PATCH] Open ender chest API


diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index af53f2540a54c2c92974cdc7974768e31ee7aff0..8edb5cc7533a18fd937ff6f05edc947c6c8b7fc7 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -4029,4 +4029,14 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
void angerNearbyPiglins(boolean blockOpen);
// Kiterino end - Anger nearby piglins API
+
+ // Kiterino start - Open ender chest API
+ /**
+ * Opens ender chest for the player
+ *
+ * @param enderChest ender chest
+ * @return whether the chest was opened
+ */
+ boolean openEnderChest(@NotNull org.bukkit.block.EnderChest enderChest);
+ // Kiterino end - Open ender chest API
}
Loading

0 comments on commit 2dc1180

Please sign in to comment.