aboutsummaryrefslogtreecommitdiffhomepage
path: root/patches/api/0447-Add-experience-points-API.patch
diff options
context:
space:
mode:
authormaxcom1 <[email protected]>2024-03-23 22:26:17 +0100
committerGitHub <[email protected]>2024-03-23 17:26:17 -0400
commitb6001403e9703cadaa6e8c8558e732b91c3c6d6e (patch)
treea8c57bbc334a8ad48d4ad2b43db335667b142bee /patches/api/0447-Add-experience-points-API.patch
parent9ec7dfcbc41c6e625de0050b6997160a75df9f44 (diff)
downloadPaper-b6001403e9703cadaa6e8c8558e732b91c3c6d6e.tar.gz
Paper-b6001403e9703cadaa6e8c8558e732b91c3c6d6e.zip
Add methods to change entity physics (#10334)
Diffstat (limited to 'patches/api/0447-Add-experience-points-API.patch')
-rw-r--r--patches/api/0447-Add-experience-points-API.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/patches/api/0447-Add-experience-points-API.patch b/patches/api/0447-Add-experience-points-API.patch
new file mode 100644
index 0000000000..3dcd7df05d
--- /dev/null
+++ b/patches/api/0447-Add-experience-points-API.patch
@@ -0,0 +1,56 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Lukas Planz <[email protected]>
+Date: Tue, 5 Sep 2023 20:33:52 +0200
+Subject: [PATCH] Add experience points API
+
+
+diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
+index 0d585390066966f3afd6b88c6d80806292a3cd31..c6cb4f17469a8f2e60dd3e28d41402851ce5fb21 100644
+--- a/src/main/java/org/bukkit/entity/Player.java
++++ b/src/main/java/org/bukkit/entity/Player.java
+@@ -1858,6 +1858,45 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
+ * @param exp New total experience points
+ */
+ public void setTotalExperience(int exp);
++ // Paper start
++ /**
++ * Gets the players total amount of experience points he collected to reach the current level and level progress.
++ *
++ * <p>This method differs from {@link #getTotalExperience()} in that this method always returns an
++ * up-to-date value that reflects the players{@link #getLevel() level} and {@link #getExp() level progress}</p>
++ *
++ * @return Current total experience points
++ * @see #getLevel()
++ * @see #getExp()
++ * @see #setExperienceLevelAndProgress(int)
++ */
++ @org.jetbrains.annotations.Range(from = 0, to = Integer.MAX_VALUE) int calculateTotalExperiencePoints();
++
++ /**
++ * Updates the players level and level progress to that what would be reached when the total amount of experience
++ * had been collected.
++ *
++ * <p>This method differs from {@link #setTotalExperience(int)} in that this method actually updates the
++ * {@link #getLevel() level} and {@link #getExp() level progress} so that a subsequent call of
++ * {@link #calculateTotalExperiencePoints()} yields the same amount of points that have been set</p>
++ *
++ * @param totalExperience New total experience points
++ * @see #setLevel(int)
++ * @see #setExp(float)
++ * @see #calculateTotalExperiencePoints()
++ */
++ void setExperienceLevelAndProgress(@org.jetbrains.annotations.Range(from = 0, to = Integer.MAX_VALUE) int totalExperience);
++
++ /**
++ * Gets the total amount of experience points that are needed to reach the next level from zero progress towards it.
++ *
++ * <p>Can be used with {@link #getExp()} to calculate the current points for the current level and alike</p>
++ *
++ * @return The required experience points
++ * @see #getExp()
++ */
++ int getExperiencePointsNeededForNextLevel();
++ // Paper end
+
+ /**
+ * Send an experience change.