diff --git a/patches/0004-Add-more-Player-API.patch b/patches/0004-Add-more-Player-API.patch new file mode 100644 index 000000000..a85c42d8f --- /dev/null +++ b/patches/0004-Add-more-Player-API.patch @@ -0,0 +1,157 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: LemonCaramel +Date: Fri, 6 Aug 2021 20:08:04 +0900 +Subject: [PATCH] Add more Player API + + +diff --git a/build.gradle.kts b/build.gradle.kts +index e8be7692a9637313dde844d9cd4a3a3d108ebb6d..11a00baaa4522c8d773e00b154c13594db73b62d 100644 +--- a/build.gradle.kts ++++ b/build.gradle.kts +@@ -56,6 +56,7 @@ dependencies { + implementation("org.ow2.asm:asm-commons:9.5") + // Paper end + api("com.mojang:brigadier:1.2.9") // Daydream - Add Brigadier Command API ++ api("com.mojang:authlib:6.0.52") // Daydream - Add more Player API (Mojang Authlib; keep in sync with major MC versions) + + api("org.apache.maven:maven-resolver-provider:3.9.6") // Paper - make API dependency for Paper Plugins + compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18") +diff --git a/src/main/java/io/papermc/paper/event/player/AbstractChatEvent.java b/src/main/java/io/papermc/paper/event/player/AbstractChatEvent.java +index ed8e885f226b02b9875b23ae2294a9056d2e8b29..b8f6ebd8198accab13fb7f98608ff52d1916b271 100644 +--- a/src/main/java/io/papermc/paper/event/player/AbstractChatEvent.java ++++ b/src/main/java/io/papermc/paper/event/player/AbstractChatEvent.java +@@ -25,6 +25,38 @@ public abstract class AbstractChatEvent extends PlayerEvent implements Cancellab + private ChatRenderer renderer; + private Component message; + private boolean cancelled = false; ++ // Daydream start - Add more Player API (Improve Chat System) ++ private net.kyori.adventure.chat.ChatType chatType = null; ++ ++ /** ++ * Get the player message wrapper. ++ * ++ * @return player message wrapper ++ */ ++ @NotNull ++ public moe.caramel.daydream.network.chat.PlayerMessage playerMessage() { ++ return (moe.caramel.daydream.network.chat.PlayerMessage) signedMessage; ++ } ++ ++ /** ++ * 채팅 포맷을 가져옵니다. ++ * ++ * @return 채팅 포맷 ++ */ ++ @org.jetbrains.annotations.Nullable ++ public net.kyori.adventure.chat.ChatType chatType() { ++ return chatType; ++ } ++ ++ /** ++ * 채팅 포맷을 설정합니다. ++ * ++ * @param chatType 채팅 포맷 ++ */ ++ public void chatType(@NotNull net.kyori.adventure.chat.ChatType chatType) { ++ this.chatType = chatType; ++ } ++ // Daydream end - Add more Player API (Improve Chat System) + + AbstractChatEvent(final boolean async, final @NotNull Player player, final @NotNull Set viewers, final @NotNull ChatRenderer renderer, final @NotNull Component message, final @NotNull Component originalMessage, final @NotNull SignedMessage signedMessage) { + super(player, async); +diff --git a/src/main/java/io/papermc/paper/event/player/ChatEvent.java b/src/main/java/io/papermc/paper/event/player/ChatEvent.java +index af025704e978dc0b11be277ab4646da77eb3a60b..5e8a57811b1a5655bf03351b40266bac9fa00698 100644 +--- a/src/main/java/io/papermc/paper/event/player/ChatEvent.java ++++ b/src/main/java/io/papermc/paper/event/player/ChatEvent.java +@@ -29,6 +29,13 @@ public final class ChatEvent extends AbstractChatEvent { + super(false, player, viewers, renderer, message, originalMessage, signedMessage); + } + ++ // Daydream start - Add more Player API (Improve Chat System) ++ @Override ++ public @NotNull moe.caramel.daydream.network.chat.PlayerMessage playerMessage() { ++ throw new UnsupportedOperationException("Async Only"); ++ } ++ // Daydream end - Add more Player API (Improve Chat System) ++ + @NotNull + @Override + public HandlerList getHandlers() { +diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java +index 815631a6157b87a9ead270fe0b11ac3892a3fbf4..1a36a7fc15de261cd268baed018de9bb03cdc4b3 100644 +--- a/src/main/java/org/bukkit/entity/Player.java ++++ b/src/main/java/org/bukkit/entity/Player.java +@@ -1846,6 +1846,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM + */ + public void setAllowFlight(boolean flight); + ++ // Daydream start - Add more Player API ++ /** ++ * FOV 크기를 가져옵니다. ++ * ++ * @return FOV 크기 (기본 값: {@code 1.0f}) ++ */ ++ public float getFovScale(); ++ ++ /** ++ * FOV 크기를 설정합니다. ++ * ++ * @param fov FOV 크기 ++ */ ++ public void setFovScale(final float fov); ++ // Daydream end - Add more Player API ++ + // Paper start - flying fall damage + /** + * Allows you to enable fall damage while {@link #getAllowFlight()} is {@code true} +@@ -3219,6 +3235,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM + } + // Paper end + ++ // Daydream start - Add more Player API (Expose Game Profile) ++ /** ++ * Gets this player's game profile. ++ * ++ * @return player's game profile object ++ */ ++ @NotNull ++ com.mojang.authlib.GameProfile getProfile(); ++ // Daydream end - Add more Player API (Expose Game Profile) ++ + // Paper start - Player Profile API + /** + * Gets a copy of this players profile +diff --git a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java +index f8b69b52ec8efa103e4e78e1b5c6a015e73d2a75..e276c5eae73f3d3c3f246b83f1d0ebce7fd2bccd 100644 +--- a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java ++++ b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java +@@ -283,6 +283,29 @@ public class AsyncPlayerPreLoginEvent extends Event { + } + // Paper end + ++ // Daydream start - Add more Player API (Initial locale) ++ private java.util.Locale initialLocale; ++ ++ /** ++ * 플레이어의 초기 언어를 가져옵니다. ++ * ++ * @return 플레이어의 초기 언어 ++ */ ++ @org.jetbrains.annotations.Nullable ++ public java.util.Locale initialLocale() { ++ return initialLocale; ++ } ++ ++ /** ++ * 플레이어의 초기 언어를 설정합니다. ++ * ++ * @param initialLocale 플레이어의 초기 언어 ++ */ ++ public void initialLocale(final @org.jetbrains.annotations.Nullable java.util.Locale initialLocale) { ++ this.initialLocale = initialLocale; ++ } ++ // Daydream end - Add more Player API (Initial locale) ++ + @NotNull + @Override + public HandlerList getHandlers() { diff --git a/patches/0004-Expose-Player-GameProfile.patch b/patches/0004-Expose-Player-GameProfile.patch deleted file mode 100644 index 193d67a31..000000000 --- a/patches/0004-Expose-Player-GameProfile.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: LemonCaramel -Date: Fri, 6 Aug 2021 20:08:04 +0900 -Subject: [PATCH] Expose Player GameProfile - - -diff --git a/build.gradle.kts b/build.gradle.kts -index e8be7692a9637313dde844d9cd4a3a3d108ebb6d..60bfd8d069b0b9488b4d5d42962ef360bd56a189 100644 ---- a/build.gradle.kts -+++ b/build.gradle.kts -@@ -56,6 +56,7 @@ dependencies { - implementation("org.ow2.asm:asm-commons:9.5") - // Paper end - api("com.mojang:brigadier:1.2.9") // Daydream - Add Brigadier Command API -+ api("com.mojang:authlib:6.0.52") // Daydream - Mojang Authlib (keep in sync with major MC versions) - - api("org.apache.maven:maven-resolver-provider:3.9.6") // Paper - make API dependency for Paper Plugins - compileOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18") -diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 815631a6157b87a9ead270fe0b11ac3892a3fbf4..9f4e36f20d2f2bbe26d1afdb28539c9a95acfe57 100644 ---- a/src/main/java/org/bukkit/entity/Player.java -+++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3219,6 +3219,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM - } - // Paper end - -+ // Daydream start - Add more Player API -+ /** -+ * Gets this player's game profile. -+ * -+ * @return player's game profile object -+ */ -+ @NotNull -+ com.mojang.authlib.GameProfile getProfile(); -+ // Daydream end - Add more Player API -+ - // Paper start - Player Profile API - /** - * Gets a copy of this players profile diff --git a/patches/0005-Add-More-ResourcePack-API.patch b/patches/0005-Add-More-ResourcePack-API.patch index 90162ba3f..c284a9885 100644 --- a/patches/0005-Add-More-ResourcePack-API.patch +++ b/patches/0005-Add-More-ResourcePack-API.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: LemonCaramel Date: Fri, 6 Aug 2021 20:08:04 +0900 -Subject: [PATCH] Add More ResourcePack API +Subject: [PATCH] Add more ResourcePack API diff --git a/src/main/java/moe/caramel/daydream/player/ResourcePack.java b/src/main/java/moe/caramel/daydream/player/ResourcePack.java @@ -125,14 +125,14 @@ index 0000000000000000000000000000000000000000..46702d7db63fca173b78a507b4900e03 + } +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 9f4e36f20d2f2bbe26d1afdb28539c9a95acfe57..e69e95b0bc4c259ecca319a8a483daa95b1dc556 100644 +index 1a36a7fc15de261cd268baed018de9bb03cdc4b3..79252a292b1dd87c5bf0b6fabca6f17b6a7bf1a3 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2607,6 +2607,23 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2623,6 +2623,23 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ org.bukkit.event.player.PlayerResourcePackStatusEvent.@Nullable Status getResourcePackStatus(); -+ // Daydream start - Add More ResourcePack API ++ // Daydream start - Add more ResourcePack API + /** + * 적용된 리소스팩 목록을 가져옵니다. + * @@ -147,7 +147,7 @@ index 9f4e36f20d2f2bbe26d1afdb28539c9a95acfe57..e69e95b0bc4c259ecca319a8a483daa9 + * @return 적용을 하지 않았거나, 클라이언트에게 응답을 받지 않은 경우 {@code null}을 반환할 수도 있습니다. + */ + @Nullable org.bukkit.event.player.PlayerResourcePackStatusEvent.Status getResourcePackStatus(@NotNull UUID uuid); -+ // Daydream end - Add More ResourcePack API ++ // Daydream end - Add more ResourcePack API + /** * Gets the most recent pack hash from the player. diff --git a/patches/0006-Add-More-API-for-EntityDamageEvent.patch b/patches/0006-Add-More-API-for-EntityDamageEvent.patch index 80b845da9..454cd7bf1 100644 --- a/patches/0006-Add-More-API-for-EntityDamageEvent.patch +++ b/patches/0006-Add-More-API-for-EntityDamageEvent.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: LemonCaramel Date: Sun, 8 Aug 2021 03:05:54 +0900 -Subject: [PATCH] Add More API for EntityDamageEvent +Subject: [PATCH] Add more API for EntityDamageEvent diff --git a/src/main/java/moe/caramel/daydream/world/DamageMata.java b/src/main/java/moe/caramel/daydream/world/DamageMata.java @@ -255,7 +255,7 @@ index 0000000000000000000000000000000000000000..aca7b9e9076a6c48cf3f27f42f841cd0 + void setOverrideKnockback(final @Nullable Vector knockback); +} diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index a4b38f284d4fea7df7f9df9bf44e4f68fefaf20f..93c56ec7e1baca71aacb51d91816dd3d65a971f6 100644 +index a4b38f284d4fea7df7f9df9bf44e4f68fefaf20f..cfc27f4d20a5f75f8a5e0d4fdb86e578e0cc4465 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java @@ -260,4 +260,6 @@ public interface UnsafeValues { @@ -263,17 +263,17 @@ index a4b38f284d4fea7df7f9df9bf44e4f68fefaf20f..93c56ec7e1baca71aacb51d91816dd3d String getStatisticCriteriaKey(@NotNull org.bukkit.Statistic statistic); // Paper end + -+ @NotNull moe.caramel.daydream.world.DamageMata getDamageMeta(@NotNull Object damageSource); // Daydream - Add More API for EntityDamageEvent ++ @NotNull moe.caramel.daydream.world.DamageMata getDamageMeta(@NotNull Object damageSource); // Daydream - Add more API for EntityDamageEvent } diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java -index ab18f35b686ec79551c307dde9e43c7dfad1b182..1dfc7a6ffb356fb9ca6147fff5bd189ade2696e0 100644 +index ab18f35b686ec79551c307dde9e43c7dfad1b182..8e0981229b5dfd8088cd3911228be7694574f729 100644 --- a/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityDamageByBlockEvent.java @@ -18,6 +18,7 @@ public class EntityDamageByBlockEvent extends EntityDamageEvent { private final Block damager; private final org.bukkit.block.BlockState damagerBlockState; // Paper -+ @Deprecated // Daydream - Add More API for EntityDamageEvent ++ @Deprecated // Daydream - Add more API for EntityDamageEvent public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, final double damage) { // Paper start this(damager, damagee, cause, damage, null); @@ -281,13 +281,13 @@ index ab18f35b686ec79551c307dde9e43c7dfad1b182..1dfc7a6ffb356fb9ca6147fff5bd189a this.damagerBlockState = damagerBlockState; // Paper } -+ @Deprecated // Daydream - Add More API for EntityDamageEvent ++ @Deprecated // Daydream - Add more API for EntityDamageEvent public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map modifiers, @NotNull final Map> modifierFunctions) { // Paper start this(damager, damagee, cause, modifiers, modifierFunctions, null); } -+ @Deprecated // Daydream - Add More API for EntityDamageEvent ++ @Deprecated // Daydream - Add more API for EntityDamageEvent @org.jetbrains.annotations.ApiStatus.Internal public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map modifiers, @NotNull final Map> modifierFunctions, final @Nullable org.bukkit.block.BlockState damagerBlockState) { // Paper end @@ -295,54 +295,54 @@ index ab18f35b686ec79551c307dde9e43c7dfad1b182..1dfc7a6ffb356fb9ca6147fff5bd189a this.damagerBlockState = damagerBlockState; // Paper } -+ // Daydream start - Add More API for EntityDamageEvent ++ // Daydream start - Add more API for EntityDamageEvent + public EntityDamageByBlockEvent(@Nullable final Block damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map modifiers, @NotNull final Map> modifierFunctions, final @Nullable org.bukkit.block.BlockState damagerBlockState, final @NotNull moe.caramel.daydream.world.DamageMata damageMata) { + super(damagee, cause, modifiers, modifierFunctions, damageMata); + this.damager = damager; + this.damagerBlockState = damagerBlockState; + } -+ // Daydream end - Add More API for EntityDamageEvent ++ // Daydream end - Add more API for EntityDamageEvent + /** * Returns the block that damaged the player. * diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java -index aec5a0c2882cf69e8802b9e754b14d0acc34b162..ef00e19a947e0b22e1898ea1cca29eb35d2d018a 100644 +index aec5a0c2882cf69e8802b9e754b14d0acc34b162..664d6a7ff6765dd29e6c307c09e2d33dcde148bf 100644 --- a/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityDamageByEntityEvent.java @@ -25,9 +25,15 @@ public class EntityDamageByEntityEvent extends EntityDamageEvent { } private final boolean critical; -+ @Deprecated // Daydream - Add More API for EntityDamageEvent ++ @Deprecated // Daydream - Add more API for EntityDamageEvent public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map modifiers, @NotNull final Map> modifierFunctions, boolean critical) { -+ // Daydream start - Add More API for EntityDamageEvent ++ // Daydream start - Add more API for EntityDamageEvent + this(damager, damagee, cause, modifiers, modifierFunctions, critical, null); + } + public EntityDamageByEntityEvent(@NotNull final Entity damager, @NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map modifiers, @NotNull final Map> modifierFunctions, boolean critical, @NotNull moe.caramel.daydream.world.DamageMata damageMata) { -+ // Daydream end - Add More API for EntityDamageEvent ++ // Daydream end - Add more API for EntityDamageEvent // Paper end - super(damagee, cause, modifiers, modifierFunctions); -+ super(damagee, cause, modifiers, modifierFunctions, damageMata); // Daydream - Add More API for EntityDamageEvent ++ super(damagee, cause, modifiers, modifierFunctions, damageMata); // Daydream - Add more API for EntityDamageEvent this.damager = damager; // Paper start - add critical damage API this.critical = critical; diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java -index 4773f537dec20d6ebd82e4b145a1cdea0077fe90..9869dd430a1340926f84fe7de42820bda7ce00ba 100644 +index 4773f537dec20d6ebd82e4b145a1cdea0077fe90..3528d526da1161862d72db6bf64a96a586b15881 100644 --- a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java @@ -28,11 +28,31 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable { private boolean cancelled; private final DamageCause cause; -+ @Deprecated // Daydream - Add More API for EntityDamageEvent ++ @Deprecated // Daydream - Add more API for EntityDamageEvent public EntityDamageEvent(@NotNull final Entity damagee, @NotNull final DamageCause cause, final double damage) { this(damagee, cause, new EnumMap(ImmutableMap.of(DamageModifier.BASE, damage)), new EnumMap>(ImmutableMap.of(DamageModifier.BASE, ZERO))); } -+ @Deprecated // Daydream - Add More API for EntityDamageEvent ++ @Deprecated // Daydream - Add more API for EntityDamageEvent public EntityDamageEvent(@NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map modifiers, @NotNull final Map> modifierFunctions) { -+ // Daydream start - Add More API for EntityDamageEvent ++ // Daydream start - Add more API for EntityDamageEvent + this(damagee, cause, modifiers, modifierFunctions, null); + } + @@ -359,7 +359,7 @@ index 4773f537dec20d6ebd82e4b145a1cdea0077fe90..9869dd430a1340926f84fe7de42820bd + } + + public EntityDamageEvent(@NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map modifiers, @NotNull final Map> modifierFunctions, @NotNull moe.caramel.daydream.world.DamageMata damageMata) { -+ // Daydream end - Add More API for EntityDamageEvent ++ // Daydream end - Add more API for EntityDamageEvent super(damagee); Preconditions.checkArgument(modifiers.containsKey(DamageModifier.BASE), "BASE DamageModifier missing"); Preconditions.checkArgument(!modifiers.containsKey(null), "Cannot have null DamageModifier"); @@ -367,7 +367,7 @@ index 4773f537dec20d6ebd82e4b145a1cdea0077fe90..9869dd430a1340926f84fe7de42820bd this.cause = cause; this.modifiers = modifiers; this.modifierFunctions = modifierFunctions; -+ this.damageMata = damageMata; // Daydream - Add More API for EntityDamageEvent ++ this.damageMata = damageMata; // Daydream - Add more API for EntityDamageEvent } @Override diff --git a/patches/0011-Add-PlayerAdvancementScreenEvent.patch b/patches/0011-Add-PlayerAdvancementScreenEvent.patch deleted file mode 100644 index 7bc5101ab..000000000 --- a/patches/0011-Add-PlayerAdvancementScreenEvent.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: LemonCaramel -Date: Sun, 8 Aug 2021 21:16:23 +0900 -Subject: [PATCH] Add PlayerAdvancementScreenEvent - - -diff --git a/src/main/java/moe/caramel/daydream/event/packet/PlayerAdvancementScreenEvent.java b/src/main/java/moe/caramel/daydream/event/packet/PlayerAdvancementScreenEvent.java -new file mode 100644 -index 0000000000000000000000000000000000000000..c28145485940fd9c8114355fb0106c4515491eae ---- /dev/null -+++ b/src/main/java/moe/caramel/daydream/event/packet/PlayerAdvancementScreenEvent.java -@@ -0,0 +1,84 @@ -+package moe.caramel.daydream.event.packet; -+ -+import org.bukkit.NamespacedKey; -+import org.bukkit.entity.Player; -+import org.bukkit.event.Cancellable; -+import org.bukkit.event.HandlerList; -+import org.bukkit.event.player.PlayerEvent; -+import org.jetbrains.annotations.NotNull; -+import org.jetbrains.annotations.Nullable; -+ -+/** -+ * 플레이어가 발전 과제 화면을 열거나 닫았을 경우 호출됩니다. -+ */ -+public final class PlayerAdvancementScreenEvent extends PlayerEvent implements Cancellable { -+ -+ private static final HandlerList HANDLER_LIST = new HandlerList(); -+ public @NotNull HandlerList getHandlers() { return HANDLER_LIST; } -+ public static @NotNull HandlerList getHandlerList() { return HANDLER_LIST; } -+ -+ private final Action action; -+ private final NamespacedKey key; -+ private boolean cancelled; -+ -+ public PlayerAdvancementScreenEvent(@NotNull Player player, @NotNull Action action, @Nullable NamespacedKey key) { -+ super(player); -+ this.action = action; -+ this.key = key; -+ } -+ -+ /** -+ * 발전 과제 화면을 닫을지의 여부를 가져옵니다. -+ * -+ * @return {@code true}인 경우 스크린을 닫습니다. -+ * {@link Action#CLOSED_SCREEN}인 경우 작동하지 않습니다. -+ */ -+ @Override -+ public boolean isCancelled() { -+ return this.cancelled; -+ } -+ -+ /** -+ * 스크린을 닫을지의 여부를 가져옵니다. -+ * 인수가 {@code true}인 경우 스크린을 닫으나, {@link Action#CLOSED_SCREEN}인 경우 작동하지 않습니다. -+ */ -+ @Override -+ public void setCancelled(boolean cancel) { -+ this.cancelled = cancel; -+ } -+ -+ /** -+ * 플레이어가 요청한 액션을 가져옵니다. -+ * -+ * @return 플레이어의 요청 -+ */ -+ @NotNull -+ public Action getAction() { -+ return action; -+ } -+ -+ /** -+ * 플레이어가 요청한 탭의 {@link NamespacedKey}를 가져옵니다. -+ * -+ * @return 플레이어가 요청한 탭의 {@link NamespacedKey}. -+ * {@link Action#CLOSED_SCREEN}인 경우 {@code null}을 반환합니다. -+ */ -+ @Nullable -+ public NamespacedKey getKey() { -+ return key; -+ } -+ -+ /** -+ * 발전 과제 요청 목록 -+ */ -+ public enum Action { -+ /** -+ * 새로운 발전 과제 탭을 오픈하는 경우 -+ */ -+ OPENED_TAB, -+ /** -+ * 발전 과제 화면을 닫는 경우 -+ */ -+ CLOSED_SCREEN -+ } -+} diff --git a/patches/0012-Add-more-World-API.patch b/patches/0011-Add-more-World-API.patch similarity index 93% rename from patches/0012-Add-more-World-API.patch rename to patches/0011-Add-more-World-API.patch index ffc0e5bc6..fe81d28d9 100644 --- a/patches/0012-Add-more-World-API.patch +++ b/patches/0011-Add-more-World-API.patch @@ -5,14 +5,14 @@ Subject: [PATCH] Add more World API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index bf4b94ea2577e9d7e344385209fc0644a4e6bfbb..c8b28617b73df1185ab6a1bf1baf1fe5ff4947bb 100644 +index efa2043e044b0e461780e808c347d6ec00f6da0a..c38de8426e40f1607a93feb736cac84e7999b8bf 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -3331,6 +3331,38 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient */ void playSound(@NotNull Location location, @NotNull String sound, @NotNull SoundCategory category, float volume, float pitch); -+ // Daydream start - Add More World API (Sound) ++ // Daydream start - Add more World API (Sound) + /** + * Play a Sound at the provided Location in the World. + *

@@ -42,13 +42,13 @@ index bf4b94ea2577e9d7e344385209fc0644a4e6bfbb..c8b28617b73df1185ab6a1bf1baf1fe5 + * @param pitch The pitch of the sound + */ + void playSound(@NotNull Player except, @NotNull Location location, @NotNull String sound, @NotNull SoundCategory category, float volume, float pitch); -+ // Daydream end - Add More World API (Sound) ++ // Daydream end - Add more World API (Sound) + /** * Play a Sound at the provided Location in the World. For sounds with multiple * variations passing the same seed will always play the same variation. diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index 49974558799830d827f9ccd65a8bafee3fb0376b..9e3d77480f119ce4ffd7b3e5a34c97a651b7305f 100644 +index 25650e9a31bcaf672acd115547abc1ec41a1de34..1533b28fb0e8600e443abe214b8d24494a106dc4 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java @@ -590,6 +590,20 @@ public interface Block extends Metadatable, Translatable, net.kyori.adventure.tr diff --git a/patches/0013-Add-SendEntityEquipmentEvent.patch b/patches/0012-Add-SendEntityEquipmentEvent.patch similarity index 100% rename from patches/0013-Add-SendEntityEquipmentEvent.patch rename to patches/0012-Add-SendEntityEquipmentEvent.patch diff --git a/patches/0014-Add-more-Advancement-API.patch b/patches/0013-Add-more-Advancement-API.patch similarity index 86% rename from patches/0014-Add-more-Advancement-API.patch rename to patches/0013-Add-more-Advancement-API.patch index adeec3519..87804cf9a 100644 --- a/patches/0014-Add-more-Advancement-API.patch +++ b/patches/0013-Add-more-Advancement-API.patch @@ -195,6 +195,96 @@ index 0000000000000000000000000000000000000000..f08bfb0c0aca287f23cc4f9f758dc276 + @NotNull + Advancement register(boolean save); +} +diff --git a/src/main/java/moe/caramel/daydream/event/packet/PlayerAdvancementScreenEvent.java b/src/main/java/moe/caramel/daydream/event/packet/PlayerAdvancementScreenEvent.java +new file mode 100644 +index 0000000000000000000000000000000000000000..c28145485940fd9c8114355fb0106c4515491eae +--- /dev/null ++++ b/src/main/java/moe/caramel/daydream/event/packet/PlayerAdvancementScreenEvent.java +@@ -0,0 +1,84 @@ ++package moe.caramel.daydream.event.packet; ++ ++import org.bukkit.NamespacedKey; ++import org.bukkit.entity.Player; ++import org.bukkit.event.Cancellable; ++import org.bukkit.event.HandlerList; ++import org.bukkit.event.player.PlayerEvent; ++import org.jetbrains.annotations.NotNull; ++import org.jetbrains.annotations.Nullable; ++ ++/** ++ * 플레이어가 발전 과제 화면을 열거나 닫았을 경우 호출됩니다. ++ */ ++public final class PlayerAdvancementScreenEvent extends PlayerEvent implements Cancellable { ++ ++ private static final HandlerList HANDLER_LIST = new HandlerList(); ++ public @NotNull HandlerList getHandlers() { return HANDLER_LIST; } ++ public static @NotNull HandlerList getHandlerList() { return HANDLER_LIST; } ++ ++ private final Action action; ++ private final NamespacedKey key; ++ private boolean cancelled; ++ ++ public PlayerAdvancementScreenEvent(@NotNull Player player, @NotNull Action action, @Nullable NamespacedKey key) { ++ super(player); ++ this.action = action; ++ this.key = key; ++ } ++ ++ /** ++ * 발전 과제 화면을 닫을지의 여부를 가져옵니다. ++ * ++ * @return {@code true}인 경우 스크린을 닫습니다. ++ * {@link Action#CLOSED_SCREEN}인 경우 작동하지 않습니다. ++ */ ++ @Override ++ public boolean isCancelled() { ++ return this.cancelled; ++ } ++ ++ /** ++ * 스크린을 닫을지의 여부를 가져옵니다. ++ * 인수가 {@code true}인 경우 스크린을 닫으나, {@link Action#CLOSED_SCREEN}인 경우 작동하지 않습니다. ++ */ ++ @Override ++ public void setCancelled(boolean cancel) { ++ this.cancelled = cancel; ++ } ++ ++ /** ++ * 플레이어가 요청한 액션을 가져옵니다. ++ * ++ * @return 플레이어의 요청 ++ */ ++ @NotNull ++ public Action getAction() { ++ return action; ++ } ++ ++ /** ++ * 플레이어가 요청한 탭의 {@link NamespacedKey}를 가져옵니다. ++ * ++ * @return 플레이어가 요청한 탭의 {@link NamespacedKey}. ++ * {@link Action#CLOSED_SCREEN}인 경우 {@code null}을 반환합니다. ++ */ ++ @Nullable ++ public NamespacedKey getKey() { ++ return key; ++ } ++ ++ /** ++ * 발전 과제 요청 목록 ++ */ ++ public enum Action { ++ /** ++ * 새로운 발전 과제 탭을 오픈하는 경우 ++ */ ++ OPENED_TAB, ++ /** ++ * 발전 과제 화면을 닫는 경우 ++ */ ++ CLOSED_SCREEN ++ } ++} diff --git a/src/main/java/moe/caramel/daydream/event/player/PlayerAdvancementPreLoadEvent.java b/src/main/java/moe/caramel/daydream/event/player/PlayerAdvancementPreLoadEvent.java new file mode 100644 index 0000000000000000000000000000000000000000..ae9ff3fdbe7c3138de79eb1e3569fa83d60def5d @@ -364,7 +454,7 @@ index 2ba0d0940120e36a88a9cc752ef0e45ab93f6a93..fdcbb0c3d47860c8844329735741ad8f * Get an iterator through all advancements. Advancements cannot be removed * from this iterator, diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 93c56ec7e1baca71aacb51d91816dd3d65a971f6..05bfe1cb8fdfb1f8b0be5475b0be32fa8cc4fd07 100644 +index cfc27f4d20a5f75f8a5e0d4fdb86e578e0cc4465..eafbab3375720d6f663cf475bccebb11d1a444eb 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java @@ -75,6 +75,35 @@ public interface UnsafeValues { @@ -473,10 +563,10 @@ index f9bc179da071e7bd57cefc50d6763317fb643b74..b0f7bd0bdc11123350a1faa3e3f9c6da + // Daydream end - Add more Advancement API } diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index df420c5aa3f60530920d837cd28b4e9e67bc15d4..b2e0966b6e2e19c72ec91609b15248de8f3e9e7e 100644 +index 75f3f33ac575d89e8d1f31ada978b54a64567233..0e2d8cb0bcf550a17369c7d7b09cc212204e50fe 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3046,6 +3046,36 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3062,6 +3062,36 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @NotNull public AdvancementProgress getAdvancementProgress(@NotNull Advancement advancement); diff --git a/patches/0015-Add-Network-API.patch b/patches/0014-Add-Network-API.patch similarity index 88% rename from patches/0015-Add-Network-API.patch rename to patches/0014-Add-Network-API.patch index b713726da..45c22c2ab 100644 --- a/patches/0015-Add-Network-API.patch +++ b/patches/0014-Add-Network-API.patch @@ -5,13 +5,13 @@ Subject: [PATCH] Add Network API diff --git a/build.gradle.kts b/build.gradle.kts -index 60bfd8d069b0b9488b4d5d42962ef360bd56a189..62abd1543e5f9dd0345df262a613f2bb25de4840 100644 +index 11a00baaa4522c8d773e00b154c13594db73b62d..5421c1f493eee81f928bb0a0ad539204f4316286 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -57,6 +57,16 @@ dependencies { // Paper end api("com.mojang:brigadier:1.2.9") // Daydream - Add Brigadier Command API - api("com.mojang:authlib:6.0.52") // Daydream - Mojang Authlib (keep in sync with major MC versions) + api("com.mojang:authlib:6.0.52") // Daydream - Add more Player API (Mojang Authlib; keep in sync with major MC versions) + // Daydream start - Add Network API + val nettyVersion = "4.1.97.Final" + api("io.netty:netty-buffer:$nettyVersion") @@ -46,14 +46,14 @@ index 7b2af1bd72dfbcf4e962a982940fc49b851aa04f..dad505d4e12bcdbb379485c59e476c98 + // Daydream end - Add Network API } diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index b2e0966b6e2e19c72ec91609b15248de8f3e9e7e..aea0cd4bee02273b926d6668fa67a5821ca5b645 100644 +index d5380dac3401392194d921db88326b18f685eaa9..ee25512d339f9a82cc17ebc6e4ca7da9101bf593 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -941,6 +941,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void sendEquipmentChange(@NotNull LivingEntity entity, @NotNull Map items); -+ // Daydream start ++ // Daydream start - Add Network API + /** + * 이 플레이어에게 커스텀 페이로드를 전송합니다. + * @@ -69,7 +69,7 @@ index b2e0966b6e2e19c72ec91609b15248de8f3e9e7e..aea0cd4bee02273b926d6668fa67a582 + * @param buf bytebuf 오브젝트 + */ + public void sendCustomPayload(@NotNull org.bukkit.NamespacedKey channel, @NotNull io.netty.buffer.ByteBuf buf); -+ // Daydream end ++ // Daydream end - Add Network API + // Paper start /** diff --git a/patches/0016-Add-Packet-API.patch b/patches/0015-Add-Packet-API.patch similarity index 98% rename from patches/0016-Add-Packet-API.patch rename to patches/0015-Add-Packet-API.patch index 555495ac5..ad16d961f 100644 --- a/patches/0016-Add-Packet-API.patch +++ b/patches/0015-Add-Packet-API.patch @@ -1026,14 +1026,14 @@ index fdcbb0c3d47860c8844329735741ad8f3796da5d..f583bcd68d26997337840c39f0963b0e + // Daydream end - Add Packet API } diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 5f48f264ad39481eba04cbe0a322ade1b5b7fd2a..8525311c998062fbaf1430cf87b483e6fb4159ac 100644 +index c38de8426e40f1607a93feb736cac84e7999b8bf..205e4086d86cbc54bdd89de3e3564d851aefa5aa 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -1585,6 +1585,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient public Entity getEntity(@NotNull java.util.UUID uuid); // Paper end -+ // Daydream start - Add Packet API (getEntity by ID API) ++ // Daydream start - Add Packet API (getEntityById) + /** + * Gets an entity in this world by its ID + * @@ -1042,13 +1042,13 @@ index 5f48f264ad39481eba04cbe0a322ade1b5b7fd2a..8525311c998062fbaf1430cf87b483e6 + */ + @Nullable + public Entity getEntity(int id); -+ // Daydream end ++ // Daydream end - Add Packet API + /** * Returns a list of entities within a bounding box centered around a * Location. diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 6ace3581f8d0c2a1b7e2188d5b6af5c984b74a0e..1376b1c8388aa96edb1c787ce2fc622f2ed1dd21 100644 +index 6ace3581f8d0c2a1b7e2188d5b6af5c984b74a0e..72324b823027edad59c9b916db238394198e5762 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -486,6 +486,19 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent @@ -1066,13 +1066,13 @@ index 6ace3581f8d0c2a1b7e2188d5b6af5c984b74a0e..1376b1c8388aa96edb1c787ce2fc622f + @Nullable + @org.jetbrains.annotations.ApiStatus.Experimental + public Object getMetadata(int index); -+ // Daydream end ++ // Daydream end - Add Packet API + /** * Gets the amount of ticks this entity has lived for. *

diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index aea0cd4bee02273b926d6668fa67a5821ca5b645..be7b69aeea7c6f063dcd22a811d6e66f6f20c866 100644 +index ee25512d339f9a82cc17ebc6e4ca7da9101bf593..c2f30e2b21f66bc1615ed75dd73751f60b592319 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -406,6 +406,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -1092,11 +1092,11 @@ index aea0cd4bee02273b926d6668fa67a5821ca5b645..be7b69aeea7c6f063dcd22a811d6e66f /** * Returns true if the entity is supported by a block. * -@@ -957,6 +967,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM - * @param buf bytebuf 오브젝트 - */ +@@ -959,6 +969,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM public void sendCustomPayload(@NotNull org.bukkit.NamespacedKey channel, @NotNull io.netty.buffer.ByteBuf buf); -+ + // Daydream end - Add Network API + ++ // Daydream start - Add Packet API + /** + * 플레이어에게 raw 패킷을 전송합니다. + * @@ -1104,7 +1104,7 @@ index aea0cd4bee02273b926d6668fa67a5821ca5b645..be7b69aeea7c6f063dcd22a811d6e66f + * @deprecated {@link Player#sendPacket(moe.caramel.daydream.network.Packet)}를 사용해주세요 + */ + @Deprecated -+ public void sendRawPacket(@NotNull Object packet); ++ public void sendRawPacket(@NotNull Object nmsPacket); + + /** + * 플레이어에게 패킷을 전송합니다. @@ -1112,6 +1112,8 @@ index aea0cd4bee02273b926d6668fa67a5821ca5b645..be7b69aeea7c6f063dcd22a811d6e66f + * @param packet 패킷 인스턴스 + */ + public void sendPacket(@NotNull moe.caramel.daydream.network.Packet packet); - // Daydream end - ++ // Daydream end - Add Packet API ++ // Paper start + /** + * Send a sign change. This fakes a sign change packet for a user at diff --git a/patches/0017-Add-cancel-callback-to-Folia-scheduler.patch b/patches/0016-Add-cancel-callback-to-Folia-scheduler.patch similarity index 100% rename from patches/0017-Add-cancel-callback-to-Folia-scheduler.patch rename to patches/0016-Add-cancel-callback-to-Folia-scheduler.patch diff --git a/patches/0018-Add-Individual-Sidebar-API.patch b/patches/0017-Add-Individual-Sidebar-API.patch similarity index 100% rename from patches/0018-Add-Individual-Sidebar-API.patch rename to patches/0017-Add-Individual-Sidebar-API.patch diff --git a/patches/0019-Add-sendTitleUpdate-for-inventories.patch b/patches/0018-Add-sendTitleUpdate-for-inventories.patch similarity index 82% rename from patches/0019-Add-sendTitleUpdate-for-inventories.patch rename to patches/0018-Add-sendTitleUpdate-for-inventories.patch index fa3626b5c..a9711efb5 100644 --- a/patches/0019-Add-sendTitleUpdate-for-inventories.patch +++ b/patches/0018-Add-sendTitleUpdate-for-inventories.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add sendTitleUpdate for inventories https://github.com/PaperMC/Paper/pull/7979 diff --git a/src/main/java/org/bukkit/inventory/InventoryView.java b/src/main/java/org/bukkit/inventory/InventoryView.java -index ac6c5c7a58c2c88b6cb0f6632fb53e8d67f8a059..c2d673fbe04f14c938c57d6aeba303d5dcc0f698 100644 +index ac6c5c7a58c2c88b6cb0f6632fb53e8d67f8a059..636f0a6151d939cebf4696fd8c958eee700f5ca3 100644 --- a/src/main/java/org/bukkit/inventory/InventoryView.java +++ b/src/main/java/org/bukkit/inventory/InventoryView.java @@ -489,4 +489,16 @@ public abstract class InventoryView { @@ -14,7 +14,7 @@ index ac6c5c7a58c2c88b6cb0f6632fb53e8d67f8a059..c2d673fbe04f14c938c57d6aeba303d5 */ public abstract void setTitle(@NotNull String title); + -+ // Daydream start ++ // Paper start - (Daydream) Add sendTitleUpdate for inventories + /** + * Sends a packet to the client to open a new inventory with the new title. + *

@@ -24,5 +24,5 @@ index ac6c5c7a58c2c88b6cb0f6632fb53e8d67f8a059..c2d673fbe04f14c938c57d6aeba303d5 + * @param title the new title + */ + public abstract void sendTitleUpdate(@NotNull net.kyori.adventure.text.Component title); -+ // Daydream end ++ // Paper end - (Daydream) Add sendTitleUpdate for inventories } diff --git a/patches/0020-Add-PlayerBottleIntoItemEvent.patch b/patches/0019-Add-PlayerBottleIntoItemEvent.patch similarity index 100% rename from patches/0020-Add-PlayerBottleIntoItemEvent.patch rename to patches/0019-Add-PlayerBottleIntoItemEvent.patch diff --git a/patches/0022-Add-More-Projectile-API.patch b/patches/0020-Add-more-Projectile-API.patch similarity index 79% rename from patches/0022-Add-More-Projectile-API.patch rename to patches/0020-Add-more-Projectile-API.patch index bd30d1501..6e4d5690e 100644 --- a/patches/0022-Add-More-Projectile-API.patch +++ b/patches/0020-Add-more-Projectile-API.patch @@ -1,11 +1,11 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: LemonCaramel Date: Wed, 1 Mar 2023 00:44:47 +0900 -Subject: [PATCH] Add More Projectile API +Subject: [PATCH] Add more Projectile API diff --git a/src/main/java/org/bukkit/entity/AbstractArrow.java b/src/main/java/org/bukkit/entity/AbstractArrow.java -index d173010d51d05928c35bb4bf5fbc08ce221ec474..1b63a8ba4d301cd64e05cae19b2e952e662c00b4 100644 +index d173010d51d05928c35bb4bf5fbc08ce221ec474..238af6b22f35cb7a696bec1afa1ec51fbfcde01a 100644 --- a/src/main/java/org/bukkit/entity/AbstractArrow.java +++ b/src/main/java/org/bukkit/entity/AbstractArrow.java @@ -227,4 +227,20 @@ public interface AbstractArrow extends Projectile { @@ -13,7 +13,7 @@ index d173010d51d05928c35bb4bf5fbc08ce221ec474..1b63a8ba4d301cd64e05cae19b2e952e } // Paper end + -+ // Daydream start - Add More Projectile API ++ // Daydream start - Add more Projectile API + /** + * 대상 엔티티에게 화살 카운트를 추가할지의 여부를 설정합니다. + * @@ -27,10 +27,10 @@ index d173010d51d05928c35bb4bf5fbc08ce221ec474..1b63a8ba4d301cd64e05cae19b2e952e + * @return {@code false}인 경우 카운트를 추가하지 않음 + */ + boolean useEntityArrowCount(); -+ // Daydream end - Add More Projectile API ++ // Daydream end - Add more Projectile API } diff --git a/src/main/java/org/bukkit/entity/Firework.java b/src/main/java/org/bukkit/entity/Firework.java -index 217d348ad0bbef720b25d3b507a55ca8105b7731..44b78460699f6fc75f9c2e392b712796a8517495 100644 +index 217d348ad0bbef720b25d3b507a55ca8105b7731..71c8ff8b53795e20096fac9bdab67681fa1d9c8c 100644 --- a/src/main/java/org/bukkit/entity/Firework.java +++ b/src/main/java/org/bukkit/entity/Firework.java @@ -185,4 +185,20 @@ public interface Firework extends Projectile { @@ -38,7 +38,7 @@ index 217d348ad0bbef720b25d3b507a55ca8105b7731..44b78460699f6fc75f9c2e392b712796 void setTicksToDetonate(int ticks); // Paper end + -+ // Daydream start - Add More Projectile API ++ // Daydream start - Add more Projectile API + /** + * 폭발 대미지 제거 여부를 가져옵니다. + * @@ -52,5 +52,5 @@ index 217d348ad0bbef720b25d3b507a55ca8105b7731..44b78460699f6fc75f9c2e392b712796 + * @param disable 폭발 대미지 제거 여부 + */ + void setDisableExplosionDeal(boolean disable); -+ // Daydream end - Add More Projectile API ++ // Daydream end - Add more Projectile API } diff --git a/patches/0023-Add-More-Team-API.patch b/patches/0021-Add-more-Team-API.patch similarity index 94% rename from patches/0023-Add-More-Team-API.patch rename to patches/0021-Add-more-Team-API.patch index 2b41afd75..560eb8589 100644 --- a/patches/0023-Add-More-Team-API.patch +++ b/patches/0021-Add-more-Team-API.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: LemonCaramel Date: Thu, 9 Mar 2023 19:46:01 +0900 -Subject: [PATCH] Add More Team API +Subject: [PATCH] Add more Team API diff --git a/src/main/java/moe/caramel/daydream/team/TeamListener.java b/src/main/java/moe/caramel/daydream/team/TeamListener.java @@ -63,14 +63,14 @@ index 0000000000000000000000000000000000000000..8d2ef759e1f132053162442baee82482 + } +} diff --git a/src/main/java/org/bukkit/scoreboard/Team.java b/src/main/java/org/bukkit/scoreboard/Team.java -index cacb58d25c249e2ecd6083ed0f30d5ffb345220a..2ddfc116f2960d29a8928f571c8ced673d6fe181 100644 +index cacb58d25c249e2ecd6083ed0f30d5ffb345220a..5e7266df82dfe794342ca855fd3203c096e92ab4 100644 --- a/src/main/java/org/bukkit/scoreboard/Team.java +++ b/src/main/java/org/bukkit/scoreboard/Team.java @@ -514,6 +514,46 @@ public interface Team extends net.kyori.adventure.audience.ForwardingAudience { boolean hasEntity(@NotNull org.bukkit.entity.Entity entity) throws IllegalStateException, IllegalArgumentException; // Paper end - improve scoreboard entries -+ // Daydream start - Add More Team API ++ // Daydream start - Add more Team API + /** + * 팀 리스너를 가져옵니다. + * @@ -108,7 +108,7 @@ index cacb58d25c249e2ecd6083ed0f30d5ffb345220a..2ddfc116f2960d29a8928f571c8ced67 + * @throws IllegalStateException if this team has been unregistered + */ + boolean removePlayers(@NotNull java.util.Collection players); -+ // Daydream end - Add More Team API ++ // Daydream end - Add more Team API + /** * Represents an option which may be applied to this team. diff --git a/patches/0021-Improve-Chat-System.patch b/patches/0021-Improve-Chat-System.patch deleted file mode 100644 index c3462dce8..000000000 --- a/patches/0021-Improve-Chat-System.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: LemonCaramel -Date: Fri, 9 Dec 2022 20:25:16 +0900 -Subject: [PATCH] Improve Chat System - - -diff --git a/src/main/java/io/papermc/paper/event/player/AbstractChatEvent.java b/src/main/java/io/papermc/paper/event/player/AbstractChatEvent.java -index ed8e885f226b02b9875b23ae2294a9056d2e8b29..87c7da30eb074b5a668211ba1d3cab065826452c 100644 ---- a/src/main/java/io/papermc/paper/event/player/AbstractChatEvent.java -+++ b/src/main/java/io/papermc/paper/event/player/AbstractChatEvent.java -@@ -25,6 +25,38 @@ public abstract class AbstractChatEvent extends PlayerEvent implements Cancellab - private ChatRenderer renderer; - private Component message; - private boolean cancelled = false; -+ // Daydream start - Improve Chat System -+ private net.kyori.adventure.chat.ChatType chatType = null; -+ -+ /** -+ * Get the player message wrapper. -+ * -+ * @return player message wrapper -+ */ -+ @NotNull -+ public moe.caramel.daydream.network.chat.PlayerMessage playerMessage() { -+ return (moe.caramel.daydream.network.chat.PlayerMessage) signedMessage; -+ } -+ -+ /** -+ * 채팅 포맷을 가져옵니다. -+ * -+ * @return 채팅 포맷 -+ */ -+ @org.jetbrains.annotations.Nullable -+ public net.kyori.adventure.chat.ChatType chatType() { -+ return chatType; -+ } -+ -+ /** -+ * 채팅 포맷을 설정합니다. -+ * -+ * @param chatType 채팅 포맷 -+ */ -+ public void chatType(@NotNull net.kyori.adventure.chat.ChatType chatType) { -+ this.chatType = chatType; -+ } -+ // Daydream end - Improve Chat System - - AbstractChatEvent(final boolean async, final @NotNull Player player, final @NotNull Set viewers, final @NotNull ChatRenderer renderer, final @NotNull Component message, final @NotNull Component originalMessage, final @NotNull SignedMessage signedMessage) { - super(player, async); -diff --git a/src/main/java/io/papermc/paper/event/player/ChatEvent.java b/src/main/java/io/papermc/paper/event/player/ChatEvent.java -index af025704e978dc0b11be277ab4646da77eb3a60b..29b8c1f09074ee8005d3598458e0a43c3e529133 100644 ---- a/src/main/java/io/papermc/paper/event/player/ChatEvent.java -+++ b/src/main/java/io/papermc/paper/event/player/ChatEvent.java -@@ -29,6 +29,13 @@ public final class ChatEvent extends AbstractChatEvent { - super(false, player, viewers, renderer, message, originalMessage, signedMessage); - } - -+ // Daydream start - Improve Chat System -+ @NotNull @Override -+ public moe.caramel.daydream.network.chat.PlayerMessage playerMessage() { -+ throw new UnsupportedOperationException("Async Only."); -+ } -+ // Daydream end - Improve Chat System -+ - @NotNull - @Override - public HandlerList getHandlers() { diff --git a/patches/0024-Add-ItemStack-utility-API.patch b/patches/0022-Add-ItemStack-Utilities.patch similarity index 89% rename from patches/0024-Add-ItemStack-utility-API.patch rename to patches/0022-Add-ItemStack-Utilities.patch index 6240e43b0..c25e5363c 100644 --- a/patches/0024-Add-ItemStack-utility-API.patch +++ b/patches/0022-Add-ItemStack-Utilities.patch @@ -1,19 +1,19 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: LemonCaramel Date: Wed, 5 Apr 2023 00:53:49 +0900 -Subject: [PATCH] Add ItemStack utility API +Subject: [PATCH] Add ItemStack Utilities diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 05bfe1cb8fdfb1f8b0be5475b0be32fa8cc4fd07..5e0e969a10df75411eedd00a63ead65a00c413b6 100644 +index eafbab3375720d6f663cf475bccebb11d1a444eb..c4f35b6ae7ddfabbb87927ca405417386b3a7937 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java @@ -291,4 +291,18 @@ public interface UnsafeValues { // Paper end - @NotNull moe.caramel.daydream.world.DamageMata getDamageMeta(@NotNull Object damageSource); // Daydream - Add More API for EntityDamageEvent + @NotNull moe.caramel.daydream.world.DamageMata getDamageMeta(@NotNull Object damageSource); // Daydream - Add more API for EntityDamageEvent + -+ // Daydream start - Add ItemStack utility API ++ // Daydream start - Add ItemStack Utilities + /** + * Create a new ItemStack + * (for Paper Compatibility) @@ -25,17 +25,17 @@ index 05bfe1cb8fdfb1f8b0be5475b0be32fa8cc4fd07..5e0e969a10df75411eedd00a63ead65a + */ + @org.jetbrains.annotations.NotNull + ItemStack newItem(@org.jetbrains.annotations.NotNull org.bukkit.Material material, int count); -+ // Daydream end - Add ItemStack utility API ++ // Daydream end - Add ItemStack Utilities } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 36e3fbc727cd748aa138f52976154ba32954cd87..be6f74d1e47bf91653481e23c4fa34f667c8231f 100644 +index 36e3fbc727cd748aa138f52976154ba32954cd87..dca7ac8f5f4d913c1db035e65c3ab9a9a5e40e3e 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -34,6 +34,99 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat @Utility protected ItemStack() {} -+ // Daydream start - Add ItemStack utility API ++ // Daydream start - Add ItemStack Utilities + /** + * Defaults stack size to 1, with no extra data. + *

@@ -126,20 +126,20 @@ index 36e3fbc727cd748aa138f52976154ba32954cd87..be6f74d1e47bf91653481e23c4fa34f6 + item.editMeta(metaClass, consumer); + return item; + } -+ // Daydream end - Add ItemStack utility API ++ // Daydream end - Add ItemStack Utilities + /** * Defaults stack size to 1, with no extra data. *

diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java -index ea64d5b1ebaa652785ddbc7b515808174f636a62..1a302d0ab77f8152561fed8d70d3f51fdbe4fa16 100644 +index ea64d5b1ebaa652785ddbc7b515808174f636a62..600d48a63e1f120a376a0ea668605e308e820039 100644 --- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java +++ b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java @@ -339,6 +339,23 @@ public interface ItemMeta extends Cloneable, ConfigurationSerializable, Persiste */ void setUnbreakable(boolean unbreakable); -+ // Daydream start - Add GlowItem API ++ // Daydream start - Add ItemStack Utilities + /** + * 아이템의 빛남 여부를 가져옵니다. + * @@ -154,7 +154,7 @@ index ea64d5b1ebaa652785ddbc7b515808174f636a62..1a302d0ab77f8152561fed8d70d3f51f + * @param glowing 만약 {@code true}라면 빛나게 설정 + */ + void setGlowing(boolean glowing); -+ // Daydream end - Add GlowItem API ++ // Daydream end - Add ItemStack Utilities + /** * Checks for the existence of any AttributeModifiers. diff --git a/patches/0025-Add-Event-Metadata-API.patch b/patches/0023-Add-Event-Metadata-API.patch similarity index 82% rename from patches/0025-Add-Event-Metadata-API.patch rename to patches/0023-Add-Event-Metadata-API.patch index 662b1aa20..b23145fa3 100644 --- a/patches/0025-Add-Event-Metadata-API.patch +++ b/patches/0023-Add-Event-Metadata-API.patch @@ -5,14 +5,14 @@ Subject: [PATCH] Add Event Metadata API diff --git a/src/main/java/org/bukkit/event/Event.java b/src/main/java/org/bukkit/event/Event.java -index 8ec56cd6b8e0f5c5dd8c7c88b4671e18dcf109d0..8470733d63005b7911fc9f1a0ee09fd23c18b87f 100644 +index 8ec56cd6b8e0f5c5dd8c7c88b4671e18dcf109d0..7791aa0ca77acbfc9486c7ca04078f8613465d5f 100644 --- a/src/main/java/org/bukkit/event/Event.java +++ b/src/main/java/org/bukkit/event/Event.java @@ -51,6 +51,20 @@ public abstract class Event { } // Paper end -+ // Daydream start ++ // Daydream start - Add Event Metadata API + private final java.util.Map metadata = new java.util.HashMap<>(); + + /** @@ -24,7 +24,7 @@ index 8ec56cd6b8e0f5c5dd8c7c88b4671e18dcf109d0..8470733d63005b7911fc9f1a0ee09fd2 + public java.util.Map getEventMetadata() { + return metadata; + } -+ // Daydream end ++ // Daydream end - Add Event Metadata API + /** * Convenience method for providing a user-friendly identifier. By diff --git a/patches/0026-Add-More-Explosion-API.patch b/patches/0024-Add-more-Explosion-API.patch similarity index 93% rename from patches/0026-Add-More-Explosion-API.patch rename to patches/0024-Add-more-Explosion-API.patch index fbb982e33..f9b2c7335 100644 --- a/patches/0026-Add-More-Explosion-API.patch +++ b/patches/0024-Add-more-Explosion-API.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: LemonCaramel Date: Fri, 19 May 2023 20:56:45 +0900 -Subject: [PATCH] Add More Explosion API +Subject: [PATCH] Add more Explosion API diff --git a/src/main/java/moe/caramel/daydream/world/DamageMata.java b/src/main/java/moe/caramel/daydream/world/DamageMata.java @@ -152,14 +152,14 @@ index 0000000000000000000000000000000000000000..394159310ec31777c5c423f94405d9ec + boolean wasCancelled(); +} diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 4eed68cdae15110f213af954b108423d28005d76..2d0891473c498eab864febaa141396aebfcf3f4d 100644 +index 205e4086d86cbc54bdd89de3e3564d851aefa5aa..dd15734002eccbfa96b74febe140ee0175e47312 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -2157,6 +2157,182 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient */ public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, @Nullable Entity source); -+ // Daydream start - Add More Explosion API ++ // Daydream start - Add more Explosion API + /** + * Creates explosion at given coordinates with given power and optionally + * setting blocks on fire or breaking blocks. @@ -333,13 +333,13 @@ index 4eed68cdae15110f213af954b108423d28005d76..2d0891473c498eab864febaa141396ae + */ + BLOW + } -+ // Daydream end - Add More Explosion API ++ // Daydream end - Add more Explosion API + /** * Creates explosion at given coordinates with given power * diff --git a/src/main/java/org/bukkit/entity/TNTPrimed.java b/src/main/java/org/bukkit/entity/TNTPrimed.java -index 87e717c9ea61b0cbf536bc62fa829ddcfae5ad8c..29bd29d38a9616a0f5eeabc1d5cea04831c19c3a 100644 +index 87e717c9ea61b0cbf536bc62fa829ddcfae5ad8c..517de12da7faf7394f56382fd26dd3766e9e3b8e 100644 --- a/src/main/java/org/bukkit/entity/TNTPrimed.java +++ b/src/main/java/org/bukkit/entity/TNTPrimed.java @@ -86,4 +86,16 @@ public interface TNTPrimed extends Explosive { @@ -347,7 +347,7 @@ index 87e717c9ea61b0cbf536bc62fa829ddcfae5ad8c..29bd29d38a9616a0f5eeabc1d5cea048 org.bukkit.block.data.BlockData getBlockData(); // Paper end + -+ // Daydream start - Add More Explosion API ++ // Daydream start - Add more Explosion API + /** + * {@link TNTPrimed}의 폭발 래퍼를 가져옵니다. + * @@ -357,17 +357,17 @@ index 87e717c9ea61b0cbf536bc62fa829ddcfae5ad8c..29bd29d38a9616a0f5eeabc1d5cea048 + */ + @Nullable + moe.caramel.daydream.world.Explosion getExplosion(); -+ // Daydream end - Add More Explosion API ++ // Daydream end - Add more Explosion API } diff --git a/src/main/java/org/bukkit/event/block/BlockExplodeEvent.java b/src/main/java/org/bukkit/event/block/BlockExplodeEvent.java -index 7dcbb75170296c1dd1d784a032bf369602328b29..d34b3b812fec6c4d1e06b0e5e74c0dbaabf9d5a4 100644 +index 7dcbb75170296c1dd1d784a032bf369602328b29..e6eb7694d572fb6409c3ab88194ff6ba4347d319 100644 --- a/src/main/java/org/bukkit/event/block/BlockExplodeEvent.java +++ b/src/main/java/org/bukkit/event/block/BlockExplodeEvent.java @@ -30,11 +30,29 @@ public class BlockExplodeEvent extends BlockEvent implements Cancellable { @org.jetbrains.annotations.ApiStatus.Internal public BlockExplodeEvent(@NotNull final Block what, @NotNull final List blocks, final float yield, @org.jetbrains.annotations.Nullable org.bukkit.block.BlockState explodedBlockState) { // Paper end -+ // Daydream start - Add More Explosion API ++ // Daydream start - Add more Explosion API + this(what, blocks, yield, explodedBlockState, null); + } + private final moe.caramel.daydream.world.Explosion explosion; @@ -383,18 +383,18 @@ index 7dcbb75170296c1dd1d784a032bf369602328b29..d34b3b812fec6c4d1e06b0e5e74c0dba + } + + public BlockExplodeEvent(@NotNull final Block what, @NotNull final List blocks, final float yield, @org.jetbrains.annotations.Nullable org.bukkit.block.BlockState explodedBlockState, @NotNull moe.caramel.daydream.world.Explosion explosion) { -+ // Daydream end - Add More Explosion API ++ // Daydream end - Add more Explosion API super(what); this.blocks = blocks; this.yield = yield; this.cancel = false; this.explodedBlockState = explodedBlockState; // Paper -+ this.explosion = explosion; // Daydream - Add More Explosion API ++ this.explosion = explosion; // Daydream - Add more Explosion API } @Override diff --git a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java -index 9869dd430a1340926f84fe7de42820bda7ce00ba..c1a2d3a237c6dd76516c0cd1af9a01bc3f2c513e 100644 +index 3528d526da1161862d72db6bf64a96a586b15881..8aabd560a9769a7d2d7f48c1676793572e3681d4 100644 --- a/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java @@ -51,6 +51,16 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable { @@ -412,17 +412,17 @@ index 9869dd430a1340926f84fe7de42820bda7ce00ba..c1a2d3a237c6dd76516c0cd1af9a01bc + } + public EntityDamageEvent(@NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map modifiers, @NotNull final Map> modifierFunctions, @NotNull moe.caramel.daydream.world.DamageMata damageMata) { - // Daydream end - Add More API for EntityDamageEvent + // Daydream end - Add more API for EntityDamageEvent super(damagee); diff --git a/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java b/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java -index 099efafa14c10910e4ed04abb1823f0c1a96b6a6..28ec92d62468d807538864135e3f1394beb446f9 100644 +index 099efafa14c10910e4ed04abb1823f0c1a96b6a6..66ca6572c4b4312d03308c45793bcc907b1b7b0f 100644 --- a/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityExplodeEvent.java @@ -21,11 +21,29 @@ public class EntityExplodeEvent extends EntityEvent implements Cancellable { private float yield; public EntityExplodeEvent(@NotNull final Entity what, @NotNull final Location location, @NotNull final List blocks, final float yield) { -+ // Daydream start - Add More Explosion API ++ // Daydream start - Add more Explosion API + this(what, location, blocks, yield, null); + } + private final moe.caramel.daydream.world.Explosion explosion; @@ -438,13 +438,13 @@ index 099efafa14c10910e4ed04abb1823f0c1a96b6a6..28ec92d62468d807538864135e3f1394 + } + + public EntityExplodeEvent(@NotNull final Entity what, @NotNull final Location location, @NotNull final List blocks, final float yield, @NotNull moe.caramel.daydream.world.Explosion explosion) { -+ // Daydream end - Add More Explosion API ++ // Daydream end - Add more Explosion API super(what); this.location = location; this.blocks = blocks; this.yield = yield; this.cancel = false; -+ this.explosion = explosion; // Daydream - Add More Explosion API ++ this.explosion = explosion; // Daydream - Add more Explosion API } @Override diff --git a/patches/0027-Add-more-Entity-API.patch b/patches/0025-Add-more-Entity-API.patch similarity index 93% rename from patches/0027-Add-more-Entity-API.patch rename to patches/0025-Add-more-Entity-API.patch index 9b68bf310..de96d2747 100644 --- a/patches/0027-Add-more-Entity-API.patch +++ b/patches/0025-Add-more-Entity-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add more Entity API diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index d1fb056d09cff7cbe5857dab9e15f861a74b1db5..79913b95829d5cf7c0ef7cbe0b0e58508232775c 100644 +index 72324b823027edad59c9b916db238394198e5762..1c1df9548e6ee4663958c4daaae7f3e2a3971cb6 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -486,6 +486,16 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent @@ -26,7 +26,7 @@ index d1fb056d09cff7cbe5857dab9e15f861a74b1db5..79913b95829d5cf7c0ef7cbe0b0e5850 /** * Gets the metadata of the entity. diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index 47b0154928b3d36e2602da202df07defbcf82108..7df3b6ae4c8bf3298dcf1ddedc95616dd141580a 100644 +index 0f0b965ce48d13a64b5546a0abcfb45c4f5f4722..e911fed0df308e65c11efd4fb617571def7126d8 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java @@ -630,6 +630,32 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource diff --git a/patches/0028-Add-More-PDC-API.patch b/patches/0026-Add-more-PDC-API.patch similarity index 95% rename from patches/0028-Add-More-PDC-API.patch rename to patches/0026-Add-more-PDC-API.patch index 5e2e51645..1694b0200 100644 --- a/patches/0028-Add-More-PDC-API.patch +++ b/patches/0026-Add-more-PDC-API.patch @@ -1,11 +1,11 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: LemonCaramel Date: Thu, 20 Jul 2023 04:32:28 +0900 -Subject: [PATCH] Add More PDC API +Subject: [PATCH] Add more PDC API diff --git a/src/main/java/org/bukkit/persistence/PersistentDataContainer.java b/src/main/java/org/bukkit/persistence/PersistentDataContainer.java -index decf3b1949d4653a9fb01684b93ff91048137076..7b37b9ca6ca506d66d1f131c5a968cf605c111a1 100644 +index decf3b1949d4653a9fb01684b93ff91048137076..07d0b8117740eec35e318addd5bca5a9882ed63f 100644 --- a/src/main/java/org/bukkit/persistence/PersistentDataContainer.java +++ b/src/main/java/org/bukkit/persistence/PersistentDataContainer.java @@ -219,4 +219,155 @@ public interface PersistentDataContainer { @@ -13,7 +13,7 @@ index decf3b1949d4653a9fb01684b93ff91048137076..7b37b9ca6ca506d66d1f131c5a968cf6 } // Paper end - byte array serialization + -+ // Daydream start - Add More PDC API ++ // Daydream start - Add more PDC API + /** + * Stores a metadata value on the {@link PersistentDataHolder} instance. + *

@@ -162,17 +162,17 @@ index decf3b1949d4653a9fb01684b93ff91048137076..7b37b9ca6ca506d66d1f131c5a968cf6 + * Clears PersistentDataContainer instances. + */ + void clear(); -+ // Daydream end - Add More PDC API ++ // Daydream end - Add more PDC API } diff --git a/src/main/java/org/bukkit/persistence/PersistentDataHolder.java b/src/main/java/org/bukkit/persistence/PersistentDataHolder.java -index 80b277cc57f092f04fbf7810ac78d250b207b775..43eee3b1ad70189679140a30863d050a8dd84331 100644 +index 80b277cc57f092f04fbf7810ac78d250b207b775..9baa25a9b7bf66b47ac05385f3be12c353eab00b 100644 --- a/src/main/java/org/bukkit/persistence/PersistentDataHolder.java +++ b/src/main/java/org/bukkit/persistence/PersistentDataHolder.java @@ -20,4 +20,19 @@ public interface PersistentDataHolder { @NotNull PersistentDataContainer getPersistentDataContainer(); -+ // Daydream start - Add More PDC API ++ // Daydream start - Add more PDC API + /** + * Returns a custom tag container capable of storing tags on the object. + * @@ -186,5 +186,5 @@ index 80b277cc57f092f04fbf7810ac78d250b207b775..43eee3b1ad70189679140a30863d050a + default PersistentDataContainer getPdc() { + return getPersistentDataContainer(); + } -+ // Daydream end - Add More PDC API ++ // Daydream end - Add more PDC API } diff --git a/patches/0030-Add-reason-for-PlayerDropItemEvent.patch b/patches/0027-Add-reason-for-PlayerDropItemEvent.patch similarity index 100% rename from patches/0030-Add-reason-for-PlayerDropItemEvent.patch rename to patches/0027-Add-reason-for-PlayerDropItemEvent.patch diff --git a/patches/0031-Add-EntityPotionTickEvent.patch b/patches/0028-Add-EntityPotionTickEvent.patch similarity index 100% rename from patches/0031-Add-EntityPotionTickEvent.patch rename to patches/0028-Add-EntityPotionTickEvent.patch diff --git a/patches/0032-Add-InventoryQuickMoveEvent.patch b/patches/0029-Add-InventoryQuickMoveEvent.patch similarity index 100% rename from patches/0032-Add-InventoryQuickMoveEvent.patch rename to patches/0029-Add-InventoryQuickMoveEvent.patch diff --git a/patches/0029-Change-FOV-Scale-API.patch b/patches/0029-Change-FOV-Scale-API.patch deleted file mode 100644 index f4558137a..000000000 --- a/patches/0029-Change-FOV-Scale-API.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: LemonCaramel -Date: Thu, 10 Aug 2023 17:48:56 +0900 -Subject: [PATCH] Change FOV Scale API - - -diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index be7b69aeea7c6f063dcd22a811d6e66f6f20c866..0cc9dec770b66c11617a8a6c7a8190191e2dcf0c 100644 ---- a/src/main/java/org/bukkit/entity/Player.java -+++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1900,6 +1900,22 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM - */ - public void setAllowFlight(boolean flight); - -+ // Daydream start - Change FOV Scale API -+ /** -+ * FOV 크기를 가져옵니다. -+ * -+ * @return FOV 크기 (기본 값: {@code 1.0f}) -+ */ -+ public float getFovScale(); -+ -+ /** -+ * FOV 크기를 설정합니다. -+ * -+ * @param fov FOV 크기 -+ */ -+ public void setFovScale(final float fov); -+ // Daydream end - Change FOV Scale API -+ - // Paper start - flying fall damage - /** - * Allows you to enable fall damage while {@link #getAllowFlight()} is {@code true} diff --git a/patches/0033-Add-ServerShutdownEvent.patch b/patches/0030-Add-ServerShutdownEvent.patch similarity index 100% rename from patches/0033-Add-ServerShutdownEvent.patch rename to patches/0030-Add-ServerShutdownEvent.patch diff --git a/patches/0035-Add-Configuration-Phase-API.patch b/patches/0031-Add-Configuration-Phase-API.patch similarity index 100% rename from patches/0035-Add-Configuration-Phase-API.patch rename to patches/0031-Add-Configuration-Phase-API.patch diff --git a/patches/0036-Add-Client-Detector.patch b/patches/0032-Add-Client-Detector.patch similarity index 96% rename from patches/0036-Add-Client-Detector.patch rename to patches/0032-Add-Client-Detector.patch index cd2557ec7..e83e1b286 100644 --- a/patches/0036-Add-Client-Detector.patch +++ b/patches/0032-Add-Client-Detector.patch @@ -114,10 +114,10 @@ index 0000000000000000000000000000000000000000..963d3aa970ef24bafd2aaa17bde4b8c2 + NEOFORGE, +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 0cc9dec770b66c11617a8a6c7a8190191e2dcf0c..71f9b25ebe5a5a66b973354e69e2a68559b07ccc 100644 +index c07db1ac32a176469352eb85a32f4e2529d6aedf..1ccef69aed2631223622ad2131079b1348957f48 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3568,6 +3568,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3570,6 +3570,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM String getClientBrandName(); // Paper end diff --git a/patches/0037-Add-EnhancedModelEngine-Support.patch b/patches/0033-Add-EnhancedModelEngine-Support.patch similarity index 94% rename from patches/0037-Add-EnhancedModelEngine-Support.patch rename to patches/0033-Add-EnhancedModelEngine-Support.patch index 86a74ad96..701933da1 100644 --- a/patches/0037-Add-EnhancedModelEngine-Support.patch +++ b/patches/0033-Add-EnhancedModelEngine-Support.patch @@ -5,13 +5,13 @@ Subject: [PATCH] Add EnhancedModelEngine Support diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 5e0e969a10df75411eedd00a63ead65a00c413b6..ec50592ccba552b859aff9a9ae3f62aba3f14d9e 100644 +index c4f35b6ae7ddfabbb87927ca405417386b3a7937..558b4d3a41c94885090046ed429ce895b3bf6448 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java @@ -305,4 +305,30 @@ public interface UnsafeValues { @org.jetbrains.annotations.NotNull ItemStack newItem(@org.jetbrains.annotations.NotNull org.bukkit.Material material, int count); - // Daydream end - Add ItemStack utility API + // Daydream end - Add ItemStack Utilities + + // Daydream start - Add EnhancedModelEngine Support + /* Entity */ diff --git a/patches/0034-Add-Player-Initial-Locale-API.patch b/patches/0034-Add-Player-Initial-Locale-API.patch deleted file mode 100644 index b3f0440b0..000000000 --- a/patches/0034-Add-Player-Initial-Locale-API.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: LemonCaramel -Date: Sat, 30 Dec 2023 18:21:22 +0900 -Subject: [PATCH] Add Player Initial Locale API - - -diff --git a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java -index f8b69b52ec8efa103e4e78e1b5c6a015e73d2a75..bbf1f99ad0c13c5c997a148c8c3e8726f0c935b7 100644 ---- a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java -+++ b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java -@@ -283,6 +283,29 @@ public class AsyncPlayerPreLoginEvent extends Event { - } - // Paper end - -+ // Daydream start - Add Player Initial Locale API -+ private java.util.Locale initialLocale; -+ -+ /** -+ * 플레이어의 초기 언어를 가져옵니다. -+ * -+ * @return 플레이어의 초기 언어 -+ */ -+ @org.jetbrains.annotations.Nullable -+ public java.util.Locale initialLocale() { -+ return initialLocale; -+ } -+ -+ /** -+ * 플레이어의 초기 언어를 설정합니다. -+ * -+ * @param initialLocale 플레이어의 초기 언어 -+ */ -+ public void initialLocale(final @org.jetbrains.annotations.Nullable java.util.Locale initialLocale) { -+ this.initialLocale = initialLocale; -+ } -+ // Daydream end - Add Player Initial Locale API -+ - @NotNull - @Override - public HandlerList getHandlers() {