Skip to content

Commit

Permalink
#20240126.1
Browse files Browse the repository at this point in the history
  • Loading branch information
LemonCaramel committed Jan 26, 2024
1 parent e4c9dae commit 5e74178
Show file tree
Hide file tree
Showing 31 changed files with 357 additions and 383 deletions.
157 changes: 157 additions & 0 deletions patches/0004-Add-more-Player-API.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: LemonCaramel <admin@caramel.moe>
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<Audience> 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() {
39 changes: 0 additions & 39 deletions patches/0004-Expose-Player-GameProfile.patch

This file was deleted.

10 changes: 5 additions & 5 deletions patches/0005-Add-More-ResourcePack-API.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: LemonCaramel <admin@caramel.moe>
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
Expand Down Expand Up @@ -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
+ /**
+ * 적용된 리소스팩 목록을 가져옵니다.
+ *
Expand All @@ -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.
Expand Down
40 changes: 20 additions & 20 deletions patches/0006-Add-More-API-for-EntityDamageEvent.patch
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: LemonCaramel <admin@caramel.moe>
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
Expand Down Expand Up @@ -255,94 +255,94 @@ 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 {

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);
@@ -30,11 +31,13 @@ public class EntityDamageByBlockEvent extends EntityDamageEvent {
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<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> 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<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions, final @Nullable org.bukkit.block.BlockState damagerBlockState) {
// Paper end
@@ -43,6 +46,14 @@ public class EntityDamageByBlockEvent extends EntityDamageEvent {
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<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> 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<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> 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<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> 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<DamageModifier, Double>(ImmutableMap.of(DamageModifier.BASE, damage)), new EnumMap<DamageModifier, Function<? super Double, Double>>(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<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> modifierFunctions) {
+ // Daydream start - Add More API for EntityDamageEvent
+ // Daydream start - Add more API for EntityDamageEvent
+ this(damagee, cause, modifiers, modifierFunctions, null);
+ }
+
Expand All @@ -359,15 +359,15 @@ index 4773f537dec20d6ebd82e4b145a1cdea0077fe90..9869dd430a1340926f84fe7de42820bd
+ }
+
+ public EntityDamageEvent(@NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final Map<DamageModifier, Double> modifiers, @NotNull final Map<DamageModifier, ? extends Function<? super Double, Double>> 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");
@@ -43,6 +63,7 @@ public class EntityDamageEvent extends EntityEvent implements Cancellable {
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
Loading

0 comments on commit 5e74178

Please sign in to comment.