mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-01 00:10:32 +01:00
71c84c8132
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 9a80d38c SPIGOT-336, SPIGOT-3366, SPIGOT-5768, SPIGOT-6409, SPIGOT-6861, PR-722: Add EntityRemoveEvent 258086d9 SPIGOT-7417, PR-967: Add Sign#getTargetSide and Sign#getAllowedEditor ffaba051 SPIGOT-7584: Add missing Tag.ITEMS_NON_FLAMMABLE_WOOD CraftBukkit Changes: 98b6c1ac7 SPIGOT-7589 Fix NullPointerException when bans expire a2736ddb0 SPIGOT-336, SPIGOT-3366, SPIGOT-5768, SPIGOT-6409, SPIGOT-6861, PR-1008: Add EntityRemoveEvent 5bf12cb89 SPIGOT-7565: Throw a more descriptive error message when a developer tries to spawn an entity from a CraftBukkit class 76d95fe7e SPIGOT-7417, PR-1343: Add Sign#getTargetSide and Sign#getAllowedEditor Spigot Changes: e9ec5485 Rebuild patches f1b62e0c Rebuild patches
58 lines
2.2 KiB
Diff
58 lines
2.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Lulu13022002 <41980282+Lulu13022002@users.noreply.github.com>
|
|
Date: Sun, 16 Oct 2022 15:58:38 +0200
|
|
Subject: [PATCH] More vanilla friendly methods to update trades
|
|
|
|
|
|
diff --git a/src/main/java/org/bukkit/entity/Villager.java b/src/main/java/org/bukkit/entity/Villager.java
|
|
index 8c8176121cafed0ed09239b6a7b392dc846438e2..3bc24457d143449e6a338d79becf7c39b9f81054 100644
|
|
--- a/src/main/java/org/bukkit/entity/Villager.java
|
|
+++ b/src/main/java/org/bukkit/entity/Villager.java
|
|
@@ -60,8 +60,11 @@ public interface Villager extends AbstractVillager {
|
|
* A villager with a level of 1 and no experience is liable to lose its
|
|
* profession.
|
|
*
|
|
+ * This doesn't update the trades of this villager.
|
|
+ *
|
|
* @param level the new level
|
|
* @throws IllegalArgumentException if level not between [1, 5]
|
|
+ * @see #increaseLevel(int)
|
|
*/
|
|
public void setVillagerLevel(int level);
|
|
|
|
@@ -81,6 +84,34 @@ public interface Villager extends AbstractVillager {
|
|
public void setVillagerExperience(int experience);
|
|
|
|
// Paper start
|
|
+ /**
|
|
+ * Increases the level of this villager.
|
|
+ * The villager will also unlock new recipes unlike the raw
|
|
+ * method {@link #setVillagerLevel(int)}.
|
|
+ * <p>
|
|
+ * A villager with a level of 1 and no experience is liable to lose its
|
|
+ * profession.
|
|
+ * <p>
|
|
+ * A master villager has a level of 5 in its profession and
|
|
+ * will unlock 10 trades (2 per level).
|
|
+ *
|
|
+ * @param amount The amount of level
|
|
+ * @return Whether trades are unlocked
|
|
+ * @throws IllegalArgumentException if current level plus the amount
|
|
+ * isn't between [1, 5] or the amount isn't positive
|
|
+ * @see #setVillagerLevel(int)
|
|
+ */
|
|
+ boolean increaseLevel(int amount);
|
|
+
|
|
+ /**
|
|
+ * Gives to this villager some potential new trades
|
|
+ * based to its profession and level.
|
|
+ * @param amount The amount of trades to give
|
|
+ * @return Whether trades are added
|
|
+ * @throws IllegalArgumentException if the amount isn't positive
|
|
+ */
|
|
+ boolean addTrades(int amount);
|
|
+
|
|
/**
|
|
* Gets the amount of times a villager has restocked their trades today
|
|
* @return The amount of trade restocks.
|