Preliminary update to 1.17.1

This commit is contained in:
William Blake Galbreath
2021-07-06 16:25:46 -05:00
parent 89c9c902b1
commit 471d6bf4c1
202 changed files with 994 additions and 20192 deletions

View File

@@ -1,10 +1,10 @@
group = net.pl3x.purpur
version = 1.17-R0.1-SNAPSHOT
version = 1.17.1-R0.1-SNAPSHOT
mcVersion = 1.17
mcVersion = 1.17.1
packageVersion = 1_17_R1
paperCommit = cc063e1f09c116c9fc9786b40f7c36577a6a7264
paperCommit = 091319d165bbc311443790aa03ff95a4ccc01780
org.gradle.parallel = true
org.gradle.vfs.watch = false

View File

@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 07c9635ea2e09e823ed7fa164ed854af41fab7dc..8482c4a664a02614fd59f74a4f9dd6d2e32003f5 100644
index f05edac8cdd33daaf1d15a526be4d2ac2b08846d..8776b8368d2046dee02e927de8249030bdddf2ee 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1626,6 +1626,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -35,106 +35,3 @@ index 07c9635ea2e09e823ed7fa164ed854af41fab7dc..8482c4a664a02614fd59f74a4f9dd6d2
/**
* Sends the component to the player
*
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
index 8ae9198ba7fdb006dc420504a984627add20dbb5..4017cc64532a9a8e42c3a6492878cd96db13fcb3 100644
--- a/src/main/java/org/bukkit/World.java
+++ b/src/main/java/org/bukkit/World.java
@@ -3639,6 +3639,26 @@ public interface World extends PluginMessageRecipient, Metadatable, net.kyori.ad
* @param viewDistance view distance in [2, 32]
*/
void setNoTickViewDistance(int viewDistance);
+
+ // Tuinity start - add view distances
+ /**
+ * Gets the sending view distance for this world.
+ * <p>
+ * Sending view distance is the view distance where chunks will load in for players in this world.
+ * </p>
+ * @return The sending view distance for this world.
+ */
+ public int getSendViewDistance();
+
+ /**
+ * Sets the sending view distance for this world.
+ * <p>
+ * Sending view distance is the view distance where chunks will load in for players in this world.
+ * </p>
+ * @param viewDistance view distance in [2, 32] or -1
+ */
+ public void setSendViewDistance(int viewDistance);
+ // Tuinity end - add view distances
// Paper end - view distance api
// Spigot start
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index da83b4cbed0be6f693c7cbb1cc032356f12d7883..51c334f68052f58fbb9c10fb9ed31ab42780ceac 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1818,23 +1818,63 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Gets the view distance for this player
*
* @return the player's view distance
- * @deprecated This is unimplemented and <i>will</i> throw an exception at runtime. The {@link org.bukkit.World World}-based methods still work.
+ * // Tuinity - implemented
* @see org.bukkit.World#getViewDistance()
* @see org.bukkit.World#getNoTickViewDistance()
*/
- @Deprecated
+ //@Deprecated // Tuinity - implemented
public int getViewDistance();
/**
* Sets the view distance for this player
*
* @param viewDistance the player's view distance
- * @deprecated This is unimplemented and <i>will</i> throw an exception at runtime. The {@link org.bukkit.World World}-based methods still work.
+ * // Tuinity - implemented
* @see org.bukkit.World#setViewDistance(int)
* @see org.bukkit.World#setNoTickViewDistance(int)
*/
- @Deprecated
+ //@Deprecated // Tuinity - implemented
public void setViewDistance(int viewDistance);
+
+ // Tuinity start - add view distances api
+ /**
+ * Gets the no-ticking view distance for this player.
+ * <p>
+ * No-tick view distance is the view distance where chunks will load, however the chunks and their entities will not
+ * be set to tick.
+ * </p>
+ * @return The no-tick view distance for this player.
+ */
+ public int getNoTickViewDistance();
+
+ /**
+ * Sets the no-ticking view distance for this player.
+ * <p>
+ * No-tick view distance is the view distance where chunks will load, however the chunks and their entities will not
+ * be set to tick.
+ * </p>
+ * @param viewDistance view distance in [2, 32] or -1
+ */
+ public void setNoTickViewDistance(int viewDistance);
+
+ /**
+ * Gets the sending view distance for this player.
+ * <p>
+ * Sending view distance is the view distance where chunks will load in for players.
+ * </p>
+ * @return The sending view distance for this player.
+ */
+ public int getSendViewDistance();
+
+ /**
+ * Sets the sending view distance for this player.
+ * <p>
+ * Sending view distance is the view distance where chunks will load in for players.
+ * </p>
+ * @param viewDistance view distance in [2, 32] or -1
+ */
+ public void setSendViewDistance(int viewDistance);
+ // Tuinity end - add view distances api
// Paper end
/**

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Build System Changes
todo: merge with rebrand patch
diff --git a/build.gradle.kts b/build.gradle.kts
index e142072f31a41b25ac637970f79e71ab70c2f28c..407bf7c09304c76ef1dbec43bb5d665f02ce4840 100644
index 7ad3e5153718f6d4ce8293a9790bc3c1158aeb8e..309d201b7d551efd4a5903e6d990b0e718af6a78 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -27,6 +27,7 @@ dependencies {
@@ -29,6 +29,7 @@ dependencies {
api("org.ow2.asm:asm:9.0")
api("org.ow2.asm:asm-commons:9.0")
api("org.apache.logging.log4j:log4j-api:2.14.1") // Paper

View File

@@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..0c8b3e5e4ba412624357ea5662a78862
+ }
+}
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 51c334f68052f58fbb9c10fb9ed31ab42780ceac..13970eb20ed6bbc12720cf6c0b609e6cf2952933 100644
index 37ad0c478b83ecf63edfe62b5b2dcd81d6fe1e77..40782217f40146e2509e7808d7b354269a56dc1c 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2166,4 +2166,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2126,4 +2126,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Override
Spigot spigot();
// Spigot end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 13970eb20ed6bbc12720cf6c0b609e6cf2952933..4f9a182f777712b6d266b7c1acee541f85740085 100644
index 40782217f40146e2509e7808d7b354269a56dc1c..d212021efd579bf5a527b6ef923279b055eb7754 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2186,5 +2186,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2146,5 +2146,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Reset the idle timer back to 0
*/
void resetIdleTimer();

View File

@@ -489,7 +489,7 @@ index 3afd5f5c0208a4ee93b5dbfc2aab2b9d2e8a7544..7838731e0e16bdccfb79e74ceb64148f
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index bab0c0d660a01e912d0a88aefbacf20895f4ef61..5fcf5e0e746d579b6c3abf7148554463770332bd 100644
index 59734f9d2a2aa59f683b8fae5b6c19e61c2bc40d..5ca1d420a14797d8b2a867f867d19188084e7fa5 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1599,6 +1599,9 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -566,7 +566,7 @@ index afb7b136b461202026290624836446cff9f9e45d..087579fdff09237409c9f80446e7a15a
/**
diff --git a/src/main/java/org/bukkit/WorldCreator.java b/src/main/java/org/bukkit/WorldCreator.java
index e6a83252f42da31ad38f8dc1beccc7aa2c3f54b8..f3b107210473f1707b051c15771ce3bf2a62f171 100644
index c0454d977119b28115b7698a2c4287f0f56efa55..445c1c13a85f7abb5fd319f9aeb05572bb1f63f6 100644
--- a/src/main/java/org/bukkit/WorldCreator.java
+++ b/src/main/java/org/bukkit/WorldCreator.java
@@ -71,6 +71,8 @@ public class WorldCreator {
@@ -587,20 +587,6 @@ index e6a83252f42da31ad38f8dc1beccc7aa2c3f54b8..f3b107210473f1707b051c15771ce3bf
*/
@NotNull
public static WorldCreator ofKey(@NotNull NamespacedKey worldKey) {
@@ -293,11 +297,8 @@ public class WorldCreator {
* is as follows:
* <code>{"structures": {"structures": {"village": {"salt": 8015723, "spacing": 32, "separation": 8}}}, "layers": [{"block": "stone", "height": 1}, {"block": "grass", "height": 1}], "biome":"plains"}</code>
*
- * @see <a href="https://minecraft.gamepedia.com/Custom_dimension">Custom
- * dimension</a> (scroll to "When the generator ID type is
- * <code>minecraft:flat</code>)"
- * @param generatorSettings The settings that should be used by the
- * generator
+ * @see <a href="https://minecraft.gamepedia.com/Custom_dimension">Custom dimension</a>
+ * @param generatorSettings The settings that should be used by the generator
* @return This object, for chaining
*/
@NotNull
diff --git a/src/main/java/org/bukkit/advancement/AdvancementDisplay.java b/src/main/java/org/bukkit/advancement/AdvancementDisplay.java
index c2e161e8e14d9949165055b6051708c048e68338..2bb3b525a3974b6ccd223b2ba272933c1617ceac 100644
--- a/src/main/java/org/bukkit/advancement/AdvancementDisplay.java
@@ -766,7 +752,7 @@ index 2e17b2d4f759531fbe9ee8e9b00c839186af09ca..9382234722792b5920a2456187e07958
/**
diff --git a/src/main/java/org/bukkit/entity/ArmorStand.java b/src/main/java/org/bukkit/entity/ArmorStand.java
index 2f0c6af7fa6688a98d6aa0bd3f0e6556af8330d0..b38c69482e3112e0cd626bcb17f4523c541b748f 100644
index 21c8ec6d8b795799b5b110be57ffd27fc8dcabe3..d3eb843fb6a7257152120371c4f317133f63de4d 100644
--- a/src/main/java/org/bukkit/entity/ArmorStand.java
+++ b/src/main/java/org/bukkit/entity/ArmorStand.java
@@ -7,6 +7,9 @@ import org.bukkit.util.EulerAngle;
@@ -963,10 +949,10 @@ index a6a7429ed2e1eefb2b12b7480ed74fcc3963a864..e8027e1d505dda6effbb1698550016e8
NORMAL(false),
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 4f9a182f777712b6d266b7c1acee541f85740085..93d9e1b7b4ac9b9ccee7006375d5a96eaf9508ca 100644
index d212021efd579bf5a527b6ef923279b055eb7754..bc03bbf9fa61b98bc6c208ab4a0e653f4b0ea472 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1988,6 +1988,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1948,6 +1948,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void resetCooldown();
/**
@@ -975,7 +961,7 @@ index 4f9a182f777712b6d266b7c1acee541f85740085..93d9e1b7b4ac9b9ccee7006375d5a96e
* @return the client option value of the player
*/
@NotNull
@@ -2027,6 +2029,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1987,6 +1989,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
// Paper end
// Spigot start
@@ -1137,7 +1123,7 @@ index 25d26e3fe713311e66d7e634a6c32af61f4cef59..2825263c102d3f9ed37f6884e09ec5ef
/**
diff --git a/src/main/java/org/bukkit/event/block/CauldronLevelChangeEvent.java b/src/main/java/org/bukkit/event/block/CauldronLevelChangeEvent.java
index 2519e3eb9c6274476310913fdcb765c490d50962..44b07ced26449983a58e936c5d6d5ed2f7022fb4 100644
index 668cc4b7d8a15ae345d130f8164107f000b6fe22..ebfeb3c8ebaf53a7fb6349f0f1480efc34c971e9 100644
--- a/src/main/java/org/bukkit/event/block/CauldronLevelChangeEvent.java
+++ b/src/main/java/org/bukkit/event/block/CauldronLevelChangeEvent.java
@@ -12,6 +12,9 @@ import org.bukkit.event.HandlerList;
@@ -1315,7 +1301,7 @@ index 418f9391d86fff0d0a75da0574edccbb29aa9931..921d964d7e40e7710b5a5db18bd9329c
/**
* Triggered by the /summon command.
diff --git a/src/main/java/org/bukkit/help/HelpTopicComparator.java b/src/main/java/org/bukkit/help/HelpTopicComparator.java
index 75bb69283f509e8f4fec772714a509a51be9de19..e156847f5b7b86155a7a0a0b8cefd8ac1530171e 100644
index e1f4930f4d7cf657a75282b4c3480cabaaee2765..00b3b1d65f80d8e17ca1a40b704ece57a4776f8e 100644
--- a/src/main/java/org/bukkit/help/HelpTopicComparator.java
+++ b/src/main/java/org/bukkit/help/HelpTopicComparator.java
@@ -31,6 +31,9 @@ public final class HelpTopicComparator implements Comparator<HelpTopic> {
@@ -1326,7 +1312,7 @@ index 75bb69283f509e8f4fec772714a509a51be9de19..e156847f5b7b86155a7a0a0b8cefd8ac
+ * Topic name comparator
+ */
public static final class TopicNameComparator implements Comparator<String> {
private TopicNameComparator(){}
private TopicNameComparator() {}
diff --git a/src/main/java/org/bukkit/inventory/ArmoredHorseInventory.java b/src/main/java/org/bukkit/inventory/ArmoredHorseInventory.java
index 163ffe8ff76ded6265d865901d5110fb6a56950d..36145294db34d273bb767cc928453b765a30e9db 100644

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Conflict on change for adventure deprecations
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index bf86f402bc099ee190c809220f211ed59b3e9613..82978d66cc7d6214cf84f566918bfaf6bcbe1118 100644
index cc739092191c0d1736b1b25622104d23ab171ce8..c6b3bf5b16c26f652c0649c7a2c41f700ac2c01e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -346,7 +346,7 @@ public final class Bukkit {
@@ -72,7 +72,7 @@ index bf86f402bc099ee190c809220f211ed59b3e9613..82978d66cc7d6214cf84f566918bfaf6
return server.getShutdownMessage();
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 5fcf5e0e746d579b6c3abf7148554463770332bd..2f9ee4cf3b2163dbe086b4d40179bfa64ebfdecf 100644
index 5ca1d420a14797d8b2a867f867d19188084e7fa5..f82023103a328f234c990d6787c9b97fd1e82590 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -270,7 +270,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -139,7 +139,7 @@ index 5fcf5e0e746d579b6c3abf7148554463770332bd..2f9ee4cf3b2163dbe086b4d40179bfa6
/**
diff --git a/src/main/java/org/bukkit/block/Sign.java b/src/main/java/org/bukkit/block/Sign.java
index cdcf02ff9e80f5908a8fa22e82701445d5e2d298..83eba2421cdfa56c2f5b9ebaac18d56360164fed 100644
index c8d37184d8e882a4084a1bfef85faa330588600b..46bae5c13ce2b973b114682f6a338981eb8d95bf 100644
--- a/src/main/java/org/bukkit/block/Sign.java
+++ b/src/main/java/org/bukkit/block/Sign.java
@@ -48,7 +48,7 @@ public interface Sign extends TileState, Colorable {
@@ -170,7 +170,7 @@ index cdcf02ff9e80f5908a8fa22e82701445d5e2d298..83eba2421cdfa56c2f5b9ebaac18d563
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 93d9e1b7b4ac9b9ccee7006375d5a96eaf9508ca..2c9860d7e55d254e3b201f4580ac400090ffe6e1 100644
index bc03bbf9fa61b98bc6c208ab4a0e653f4b0ea472..5bb39f78a7e87dddc38b1a641438ebcc2de945b7 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -75,7 +75,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -370,7 +370,7 @@ index 09f0fa8f2aac16b2c2d848089e228af2d09f9090..e10ff4ab0c649289af9eafe83ef9268e
return title;
}
diff --git a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
index 77aefda5aac4602bf5bf71c29600e7450defdd4e..240552d61ae12fbec826f771f0f366500e72d941 100644
index 694a81769076ea58aae9f14f076ab80c9952c957..2d5066a0e24b671a6b287c34603b371ed51d7be7 100644
--- a/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
+++ b/src/main/java/org/bukkit/event/player/AsyncPlayerPreLoginEvent.java
@@ -179,7 +179,7 @@ public class AsyncPlayerPreLoginEvent extends Event {
@@ -472,10 +472,10 @@ index 05ecfd8c133e72d198faeeded8c757c231c871cc..e57020767879b51f212d7a3e563a386a
this.leaveMessage = org.bukkit.Bukkit.getUnsafe().legacyComponentSerializer().deserialize(leaveMessage); // Paper
}
diff --git a/src/main/java/org/bukkit/event/player/PlayerLocaleChangeEvent.java b/src/main/java/org/bukkit/event/player/PlayerLocaleChangeEvent.java
index 84521186404b8e43c81a2f9513dce2be40d27840..8c65e9e1476d27fc55419290fb53e46dee9b304d 100644
index ebd499c1a2d11ea068e8c374edbc3967e4cece3d..61895d8d9f01f7ad0409a1cbd902e8a21472d6d4 100644
--- a/src/main/java/org/bukkit/event/player/PlayerLocaleChangeEvent.java
+++ b/src/main/java/org/bukkit/event/player/PlayerLocaleChangeEvent.java
@@ -37,7 +37,7 @@ public class PlayerLocaleChangeEvent extends PlayerEvent {
@@ -36,7 +36,7 @@ public class PlayerLocaleChangeEvent extends PlayerEvent {
* @deprecated in favour of {@link #locale()}
*/
@NotNull
@@ -746,7 +746,7 @@ index ed0bc2024a0bb85837e25f75ae89d1fe257b2e60..f6e831f844e1fe99a2617bd64c2290d1
this.caption = caption == null ? null : org.bukkit.Bukkit.getUnsafe().legacyComponentSerializer().deserialize(caption); // Paper
}
diff --git a/src/main/java/org/bukkit/scoreboard/Objective.java b/src/main/java/org/bukkit/scoreboard/Objective.java
index 58bddb11fd534e7c33a4ffd7b72b055ba92c767a..a1b6b1123808378d58c855cacac391ce97df6f19 100644
index 6279957b9bc6d22881f092eabf3a99831d85e3ee..24019ed4ff289b9d33da39cee66ea91831bc33c0 100644
--- a/src/main/java/org/bukkit/scoreboard/Objective.java
+++ b/src/main/java/org/bukkit/scoreboard/Objective.java
@@ -47,7 +47,7 @@ public interface Objective {
@@ -768,7 +768,7 @@ index 58bddb11fd534e7c33a4ffd7b72b055ba92c767a..a1b6b1123808378d58c855cacac391ce
/**
diff --git a/src/main/java/org/bukkit/scoreboard/Scoreboard.java b/src/main/java/org/bukkit/scoreboard/Scoreboard.java
index f09ff32cc3ffc16af379a378b1948991435393e8..e9db79d10522895e6f119c0cc87eec1cbc45ba6e 100644
index 93089ce61d2e1888df13b7c9629a79cd6f5f767a..ea0480064068f34ea34d4b68ef12d0f860e58d80 100644
--- a/src/main/java/org/bukkit/scoreboard/Scoreboard.java
+++ b/src/main/java/org/bukkit/scoreboard/Scoreboard.java
@@ -89,7 +89,7 @@ public interface Scoreboard {
@@ -790,7 +790,7 @@ index f09ff32cc3ffc16af379a378b1948991435393e8..e9db79d10522895e6f119c0cc87eec1c
/**
diff --git a/src/main/java/org/bukkit/scoreboard/Team.java b/src/main/java/org/bukkit/scoreboard/Team.java
index f0af10a5b9ad048be197ed5ec6c8ed2672eb3dd5..705b2268b1c227b34852c14601381230dc626a08 100644
index 30fce0df75494eb9b7409f08ea3d6ff894f7c79f..12789cd0ee7d6e29fa122f040e8ce0cac57945a7 100644
--- a/src/main/java/org/bukkit/scoreboard/Team.java
+++ b/src/main/java/org/bukkit/scoreboard/Team.java
@@ -110,7 +110,7 @@ public interface Team {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Flying Fall Damage API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 2c9860d7e55d254e3b201f4580ac400090ffe6e1..fd57b3ebadce95c9534fa532b7a5c6c57660bc3e 100644
index 5bb39f78a7e87dddc38b1a641438ebcc2de945b7..87d036d914fc2ca9b3056d7c5103d2e1ceb6e51e 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2212,5 +2212,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2172,5 +2172,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param invulnerableTicks Invulnerable ticks remaining
*/
void setSpawnInvulnerableTicks(int invulnerableTicks);

File diff suppressed because it is too large Load Diff

View File

@@ -50,33 +50,33 @@ index e0b1f0671d16ddddcb6725acd25a1d1d69e42701..8c3c68465197fafc14849dc38a572e30
.completer(new ConsoleCommandCompleter(this.server))
.option(LineReader.Option.COMPLETE_IN_WORD, true);
diff --git a/src/main/java/net/minecraft/server/Eula.java b/src/main/java/net/minecraft/server/Eula.java
index 3789df8ef9c0b4150c3baccf84dbaff57c0fb65a..43a88bc58716eef4040584944f52893c5a47699f 100644
index a1d5c0f8fe2adb2ee56f3217e089211ec7c61eb0..43a88bc58716eef4040584944f52893c5a47699f 100644
--- a/src/main/java/net/minecraft/server/Eula.java
+++ b/src/main/java/net/minecraft/server/Eula.java
@@ -64,7 +64,7 @@ public class Eula {
try {
Properties properties = new Properties();
properties.setProperty("eula", "false");
- properties.store(outputStream, "By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula)."); // Paper - fix lag; // Tuinity - Tacos are disgusting
- properties.store(outputStream, "By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).\nYou also agree that tacos are tasty, and the best food in the world."); // Paper - fix lag;
+ properties.store(outputStream, "By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).\nYou also agree that tacos are tasty, and the best food in the world."); // Paper - fix lag; // Tuinity - Tacos are disgusting // Purpur - no they're not
} catch (Throwable var5) {
if (outputStream != null) {
try {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index f3bf6270c7735869083559f907c65d95144dbe6f..4cc099b469a7554e381a6f7aceb686a94f7d6605 100644
index 3dded5c491ace6b073a7bc3178976bd70f0b9393..1164e6a63e895818b3645b31588e27ae221e4859 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1714,7 +1714,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1651,7 +1651,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {
- return "Tuinity"; // Tuinity - Tuinity > //Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
- return "Paper"; //Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
+ return "Purpur"; // Purpur // Tuinity // Paper // Spigot // CraftBukkit
}
public SystemReport fillSystemReport(SystemReport systemreport) {
public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 9bb0ff063da162f2b5c91d367d9555c1cf1a3ab1..0ed5e15d3175ee5d145730ff8f506ffb959e5e6c 100644
index 6d7eef79de7a899ccdbc3194d925bb4caa0a4b03..2c6b0018727409f7d56081cb207174f5dc37a6a7 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -281,11 +281,12 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -220,20 +220,20 @@ index 0000000000000000000000000000000000000000..cabfcebf9f944f7a2a2a1cffc7401435
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 130a088e694b85f7d56620352f044161ea56caf3..818dde63df240c7e72526ef0aef87c9f8739f78a 100644
index c79b193ad822b8c246f24a87cd418892bc18ff5a..977d4c6d3b770caef9a619978063b2e7a8ecac82 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -230,7 +230,7 @@ import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper
public final class CraftServer implements Server {
- private final String serverName = "Tuinity"; // Tuinity // Paper
- private final String serverName = "Paper"; // Paper
+ private final String serverName = "Purpur"; // Paper // Tuinity // Purpur
private final String serverVersion;
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index edf7e8d65d7f67f2f34490fdb766eca7d3b17aee..9239c4c948ddfc6f7ad8c5f277e355581f8f37ec 100644
index 7a8db8d481e9487ea83a640af208242f4987ad28..82d56d8c4616f1012e70697dae8d1d31d7d53f2f 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -395,7 +395,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -246,14 +246,14 @@ index edf7e8d65d7f67f2f34490fdb766eca7d3b17aee..9239c4c948ddfc6f7ad8c5f277e35558
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
index 001b1e5197eaa51bfff9031aa6c69876c9a47960..13b98439320ac1401a920c01d7cf5a4b3a23deff 100644
index 774556a62eb240da42e84db4502e2ed43495be17..13b98439320ac1401a920c01d7cf5a4b3a23deff 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
@@ -11,7 +11,7 @@ public final class Versioning {
public static String getBukkitVersion() {
String result = "Unknown-Version";
- InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/com.tuinity/tuinity-api/pom.properties"); // Tuinity
- InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/io.papermc.paper/paper-api/pom.properties");
+ InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/net.pl3x.purpur/purpur-api/pom.properties"); // Tuinity // Purpur
Properties properties = new Properties();

View File

@@ -5,14 +5,14 @@ Subject: [PATCH] Purpur config files
diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java
index 3918b24c98faa5232c7ffd733ba8000562132785..4d8740678049aa749b42618470e9cc838555528d 100644
index 218f5bafeed8551b55b91c7fccaf6935c8b631ca..4d8740678049aa749b42618470e9cc838555528d 100644
--- a/src/main/java/com/destroystokyo/paper/Metrics.java
+++ b/src/main/java/com/destroystokyo/paper/Metrics.java
@@ -593,7 +593,7 @@ public class Metrics {
boolean logFailedRequests = config.getBoolean("logFailedRequests", false);
// Only start Metrics, if it's enabled in the config
if (config.getBoolean("enabled", true)) {
- Metrics metrics = new Metrics("Tuinity", serverUUID, logFailedRequests, Bukkit.getLogger()); // Tuinity - we have our own bstats page
- Metrics metrics = new Metrics("Paper", serverUUID, logFailedRequests, Bukkit.getLogger());
+ Metrics metrics = new Metrics("Purpur", serverUUID, logFailedRequests, Bukkit.getLogger()); // Purpur
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
@@ -22,14 +22,14 @@ index 3918b24c98faa5232c7ffd733ba8000562132785..4d8740678049aa749b42618470e9cc83
metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size()));
- metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : "offline"));
- metrics.addCustomChart(new Metrics.SimplePie("tuinity_version", () -> (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown")); // Tuinity - we have our own bstats page
- metrics.addCustomChart(new Metrics.SimplePie("paper_version", () -> (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown"));
+ metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : (PaperConfig.isProxyOnlineMode() ? "bungee" : "offline"))); // Purpur
+ metrics.addCustomChart(new Metrics.SimplePie("purpur_version", () -> (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown")); // Purpur
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
Map<String, Map<String, Integer>> map = new HashMap<>();
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
index 73652e403eaa419fb5b4b54bd506f246c0aa4e99..90c8ec385f972ffea4ddb7a1b80e41db3be7c248 100644
index 98b71384508447adc80c2175f8e35e5d86b0c378..4f49a0b2bb22b95503c3f6a0b304f287ee9048ae 100644
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
@@ -118,6 +118,11 @@ public class PaperConfig {
@@ -45,7 +45,7 @@ index 73652e403eaa419fb5b4b54bd506f246c0aa4e99..90c8ec385f972ffea4ddb7a1b80e41db
config.save(CONFIG_FILE);
} catch (IOException ex) {
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
index 6a330170ec1ea9d06593a1bbd1bdb8d98c0904fb..f1ebfd810fd06e62d796110345aa36ce4a94e2fd 100644
index 134bb2a4826419110c10a483834747b942576e58..d9e868b6c70da18b4ce23c80e2aaf347f2dc6d50 100644
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
+++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java
@@ -234,6 +234,30 @@ public class CommandSourceStack implements SharedSuggestionProvider, com.destroy
@@ -80,10 +80,10 @@ index 6a330170ec1ea9d06593a1bbd1bdb8d98c0904fb..f1ebfd810fd06e62d796110345aa36ce
if (this.source.acceptsSuccess() && !this.silent) {
this.source.sendMessage(message, Util.NIL_UUID);
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 0ed5e15d3175ee5d145730ff8f506ffb959e5e6c..6e67ea018cd6f362bba104f542c52438b455ccab 100644
index 2c6b0018727409f7d56081cb207174f5dc37a6a7..1f9cc47bac2cd8344ecc355c22101fc48b13fb62 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -218,6 +218,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -219,6 +219,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
return false;
}
com.destroystokyo.paper.PaperConfig.registerCommands();
@@ -100,22 +100,22 @@ index 0ed5e15d3175ee5d145730ff8f506ffb959e5e6c..6e67ea018cd6f362bba104f542c52438
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.getClass(); // load mappings for stacktrace deobf
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 38753e10b1597a2f3bd2cde208c6e30b26a03b43..70f2b5f41550cc73a520ae1637fac5797ea135f9 100644
index 474078b68f1bf22037495f42bae59b790fd8cb46..bda7cf2b8431f8541cba98e2a641dad03e736fa8 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -168,6 +168,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public final com.tuinity.tuinity.config.TuinityConfig.WorldConfig tuinityConfig; // Tuinity - Server Config
@@ -166,7 +166,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
-
+ public final net.pl3x.purpur.PurpurWorldConfig purpurConfig; // Purpur
+
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
public static BlockPos lastPhysicsProblem; // Spigot
private org.spigotmc.TickLimiter entityLimiter;
@@ -315,6 +317,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -206,6 +206,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, final DimensionType dimensionmanager, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) { // Paper - Anti-Xray - Pass executor
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
this.tuinityConfig = new com.tuinity.tuinity.config.TuinityConfig.WorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData)worlddatamutable).getLevelName()); // Tuinity - Server Config
+ this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((ServerLevel) this, ((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
this.generator = gen;
this.world = new CraftWorld((ServerLevel) this, gen, env);
@@ -285,13 +285,12 @@ index 0000000000000000000000000000000000000000..fcf5f32c32eb17f7580b3c8c9190e367
+}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..dd8b29f3aa58c5c7302ec5e93bef4190da913e3a
index 0000000000000000000000000000000000000000..15472bf9cfd279b1873f7a20c250a2c089debad1
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -0,0 +1,95 @@
@@ -0,0 +1,94 @@
+package net.pl3x.purpur;
+
+import com.tuinity.tuinity.config.TuinityConfig;
+import net.minecraft.core.Registry;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.server.level.ServerLevel;
@@ -456,26 +455,26 @@ index 0000000000000000000000000000000000000000..6e7f56fe2b78d7a09d5d130f2c88338f
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 818dde63df240c7e72526ef0aef87c9f8739f78a..6329a85dbed1de21dd7dcde8b62d51f09da47e78 100644
index 977d4c6d3b770caef9a619978063b2e7a8ecac82..9123ae3a99efb80bc938e013a4eff4259cec1084 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -876,6 +876,7 @@ public final class CraftServer implements Server {
@@ -875,6 +875,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
com.tuinity.tuinity.config.TuinityConfig.init((File) console.options.valueOf("tuinity-settings")); // Tuinity - Server Config
+ net.pl3x.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur
for (ServerLevel world : this.console.getAllLevels()) {
world.serverLevelData.setDifficulty(config.difficulty);
world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals);
@@ -911,6 +912,7 @@ public final class CraftServer implements Server {
@@ -909,6 +910,7 @@ public final class CraftServer implements Server {
}
world.spigotConfig.init(); // Spigot
world.paperConfig.init(); // Paper
world.tuinityConfig.init(); // Tuinity - Server Config
+ world.purpurConfig.init(); // Purpur
}
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -926,6 +928,7 @@ public final class CraftServer implements Server {
@@ -924,6 +926,7 @@ public final class CraftServer implements Server {
this.reloadData();
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper
@@ -483,9 +482,9 @@ index 818dde63df240c7e72526ef0aef87c9f8739f78a..6329a85dbed1de21dd7dcde8b62d51f0
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -2384,6 +2387,18 @@ public final class CraftServer implements Server {
@@ -2374,6 +2377,18 @@ public final class CraftServer implements Server {
return com.destroystokyo.paper.PaperConfig.config;
}
// Tuinity end - add config to timings report
+ // Purpur start
+ @Override
@@ -503,12 +502,12 @@ index 818dde63df240c7e72526ef0aef87c9f8739f78a..6329a85dbed1de21dd7dcde8b62d51f0
public void restart() {
org.spigotmc.RestartCommand.restart();
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index c59deadcfbfd5afbf951a167979a4eceb0c63579..a335d1689ebf01e0e96a45c640188dc024610e2c 100644
index c3c7b34ceb1b8f0ed042b29924c633fa7519dc30..910ffb563d66ce3d5a3ea562fd1b9d6d2030cccb 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -154,6 +154,14 @@ public class Main {
@@ -147,6 +147,14 @@ public class Main {
.describedAs("Yml file");
// Tuinity end - Server Config
// Paper end
+ // Purpur Start
+ acceptsAll(asList("purpur", "purpur-settings"), "File for purpur settings")

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 0da2dbeba93d428a035872e05177ed3fc29acf9b..f3d23ced47e7dd7bc4005379962a9efcb8edf084 100644
index 8e2bccc3a9ddb17a4978596056189eb776976338..cf06e4f51984a64c294f402c62a03214eea0e5c3 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1677,6 +1677,26 @@ public class ServerPlayer extends Player {
@@ -1661,6 +1661,26 @@ public class ServerPlayer extends Player {
}
// CraftBukkit end
@@ -36,10 +36,10 @@ index 0da2dbeba93d428a035872e05177ed3fc29acf9b..f3d23ced47e7dd7bc4005379962a9efc
public void displayClientMessage(Component message, boolean actionBar) {
this.sendMessage(message, actionBar ? ChatType.GAME_INFO : ChatType.CHAT, Util.NIL_UUID);
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 570cea8ee6a442b2dc3c6ef849294ef0c02027ca..ec98fb6d4a407d5be8faf64db0d73e935e16623d 100644
index 65657c009f6d5a5d5740e80f912a5893333c7085..c647a768a10076969f81fed33cefb7a4aa3b8597 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1389,6 +1389,62 @@ public abstract class PlayerList {
@@ -1390,6 +1390,62 @@ public abstract class PlayerList {
}
// CraftBukkit end
@@ -103,10 +103,10 @@ index 570cea8ee6a442b2dc3c6ef849294ef0c02027ca..ec98fb6d4a407d5be8faf64db0d73e93
this.server.sendMessage(message, sender);
Iterator iterator = this.players.iterator();
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index ca7718053a6a2eb715ea3671bd4bc15304ede420..19d716a7350c6ed5b912064aa1e63a1fbbe4183f 100644
index 5ffc9d02ee10e9efe653e124b1eb9cbd0adc3df9..042da7707f7fd01a6195be15f97557d049ded22a 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3565,6 +3565,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -3376,6 +3376,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
return SlotAccess.NULL;
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Ridables
diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java
index b01d7da333bac7820e42b6f645634a15ef88ae4f..30a4b80eacf76ad7f0a48b79bcf01b752c0af48a 100644
index b70aa66732fb5e957aed0901f4c76358b2c56f8e..c281018818e5f27e23a155565eb2130fcd16a295 100644
--- a/src/main/java/net/minecraft/core/BlockPos.java
+++ b/src/main/java/net/minecraft/core/BlockPos.java
@@ -41,6 +41,12 @@ public class BlockPos extends Vec3i {
@@ -22,10 +22,10 @@ index b01d7da333bac7820e42b6f645634a15ef88ae4f..30a4b80eacf76ad7f0a48b79bcf01b75
super(x, y, z);
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 4cc099b469a7554e381a6f7aceb686a94f7d6605..06177ec182d79cd101da9cd43a841656d27d6d8b 100644
index 1164e6a63e895818b3645b31588e27ae221e4859..745df03f3b425a247d63d7d896c3dcf2c8baa0e0 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1590,6 +1590,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1532,6 +1532,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
ServerLevel worldserver = (ServerLevel) iterator.next();
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
@@ -34,10 +34,10 @@ index 4cc099b469a7554e381a6f7aceb686a94f7d6605..06177ec182d79cd101da9cd43a841656
this.profiler.push(() -> {
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 57163e3cb883ded5861e57c3ca03663c02ee7492..67cdf31f3ce9f85743ce10bd2dee6854be1d69f9 100644
index 6ecf60c69a27f8db1c245db15449bba581c3dbf5..a02b0d819392db96a370c57818a378dd5fa27ef4 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -205,6 +205,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl
@@ -201,6 +201,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl
public final UUID uuid;
public boolean hasPhysicsEvent = true; // Paper
public boolean hasEntityMoveEvent = false; // Paper
@@ -46,10 +46,10 @@ index 57163e3cb883ded5861e57c3ca03663c02ee7492..67cdf31f3ce9f85743ce10bd2dee6854
return new Throwable(entity + " Added to world at " + new java.util.Date());
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index f3d23ced47e7dd7bc4005379962a9efcb8edf084..fde98f9c4a3e151dbc277541fbd2cc0a8d957069 100644
index cf06e4f51984a64c294f402c62a03214eea0e5c3..d9df08cdf065b0316f43ca53988ccbe119e5106f 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -668,6 +668,15 @@ public class ServerPlayer extends Player {
@@ -664,6 +664,15 @@ public class ServerPlayer extends Player {
}
this.advancements.flushDirty(this);
@@ -65,7 +65,7 @@ index f3d23ced47e7dd7bc4005379962a9efcb8edf084..fde98f9c4a3e151dbc277541fbd2cc0a
}
public void doTick() {
@@ -2404,4 +2413,6 @@ public class ServerPlayer extends Player {
@@ -2398,4 +2407,6 @@ public class ServerPlayer extends Player {
return (CraftPlayer) super.getBukkitEntity();
}
// CraftBukkit end
@@ -73,10 +73,10 @@ index f3d23ced47e7dd7bc4005379962a9efcb8edf084..fde98f9c4a3e151dbc277541fbd2cc0a
+
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index f78119970da27ef66a9d9093e2e42ce129d4cf31..17a6857f5ee70120d664e46426f739ef2dae0a0a 100644
index 6ff04fc7202a7eb1f2b5978a2e2a573945d9dde1..dbb5f0bd721b2490f727a0b2462cf215e729947d 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2427,6 +2427,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -2329,6 +2329,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
@@ -86,7 +86,7 @@ index f78119970da27ef66a9d9093e2e42ce129d4cf31..17a6857f5ee70120d664e46426f739ef
if ((entity instanceof AbstractFish && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((AbstractFish) entity));
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 19d716a7350c6ed5b912064aa1e63a1fbbe4183f..37db4d89996cde1bdcdc513757be75612d444f97 100644
index 042da7707f7fd01a6195be15f97557d049ded22a..081506649de3929becd448664e2c5b0d7b4859fc 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -230,7 +230,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -107,7 +107,7 @@ index 19d716a7350c6ed5b912064aa1e63a1fbbe4183f..37db4d89996cde1bdcdc513757be7561
private float eyeHeight;
public boolean isInPowderSnow;
public boolean wasInPowderSnow;
@@ -2601,6 +2601,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -2412,6 +2412,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
this.passengers = ImmutableList.copyOf(list);
}
@@ -120,7 +120,7 @@ index 19d716a7350c6ed5b912064aa1e63a1fbbe4183f..37db4d89996cde1bdcdc513757be7561
}
return true; // CraftBukkit
}
@@ -2641,6 +2647,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -2452,6 +2458,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
return false;
}
// Spigot end
@@ -135,7 +135,7 @@ index 19d716a7350c6ed5b912064aa1e63a1fbbe4183f..37db4d89996cde1bdcdc513757be7561
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
this.passengers = ImmutableList.of();
} else {
@@ -4208,4 +4222,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -4015,4 +4029,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
}
// Paper end
@@ -201,7 +201,7 @@ index d28cecd9bea7c82fa675d333810e2e63a91c615e..8f8bc29d847801938e251904b8334b4b
protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 57c448ee93df76fc2a17c75fafc78408d720ced3..e918f7cc7fdfdeb1b7b69488eadf69f0d4a3cb05 100644
index ed745776316c5346ee1b44c8f022c40359b7e642..911a6f63e8ffeacc95fa49cdf99140c1ce3d06b1 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -220,9 +220,9 @@ public abstract class LivingEntity extends Entity {
@@ -217,16 +217,16 @@ index 57c448ee93df76fc2a17c75fafc78408d720ced3..e918f7cc7fdfdeb1b7b69488eadf69f0
protected int lerpSteps;
protected double lerpX;
protected double lerpY;
@@ -2559,7 +2559,7 @@ public abstract class LivingEntity extends Entity {
return 0.42F * this.getBlockJumpFactor();
@@ -2567,7 +2567,7 @@ public abstract class LivingEntity extends Entity {
return this.hasEffect(MobEffects.JUMP) ? (double) (0.1F * (float) (this.getEffect(MobEffects.JUMP).getAmplifier() + 1)) : 0.0D;
}
- protected void jumpFromGround() {
+ public void jumpFromGround() { // Purpur - protected -> public
float f = this.getJumpPower();
double d0 = (double) this.getJumpPower() + this.getJumpBoostPower();
Vec3 vec3d = this.getDeltaMovement();
if (this.hasEffect(MobEffects.JUMP)) {
@@ -3218,8 +3218,10 @@ public abstract class LivingEntity extends Entity {
@@ -3221,8 +3221,10 @@ public abstract class LivingEntity extends Entity {
this.pushEntities();
this.level.getProfiler().pop();
// Paper start
@@ -239,7 +239,7 @@ index 57c448ee93df76fc2a17c75fafc78408d720ced3..e918f7cc7fdfdeb1b7b69488eadf69f0
Location from = new Location(this.level.getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO);
Location to = new Location (this.level.getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
@@ -3229,6 +3231,21 @@ public abstract class LivingEntity extends Entity {
@@ -3232,6 +3234,21 @@ public abstract class LivingEntity extends Entity {
absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
}
}
@@ -262,10 +262,10 @@ index 57c448ee93df76fc2a17c75fafc78408d720ced3..e918f7cc7fdfdeb1b7b69488eadf69f0
// Paper end
if (!this.level.isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 154b3c767d079f72643c826b962892c1029b0a1b..c35c5d58523be370732a19c52db4f8e94c88b12f 100644
index 0ce0e7a923da812a02d9ab83607d3cc9c87047df..a597a09b428cb2b3dc7fef5503ef705cf7b2a1fb 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -139,6 +139,8 @@ public abstract class Mob extends LivingEntity {
@@ -140,6 +140,8 @@ public abstract class Mob extends LivingEntity {
this.targetSelector = new GoalSelector(world.getProfilerSupplier());
this.lookControl = new LookControl(this);
this.moveControl = new MoveControl(this);
@@ -274,7 +274,7 @@ index 154b3c767d079f72643c826b962892c1029b0a1b..c35c5d58523be370732a19c52db4f8e9
this.jumpControl = new JumpControl(this);
this.bodyRotationControl = this.createBodyControl();
this.navigation = this.createNavigation(world);
@@ -1278,7 +1280,7 @@ public abstract class Mob extends LivingEntity {
@@ -1274,7 +1276,7 @@ public abstract class Mob extends LivingEntity {
protected void onOffspringSpawnedFromEgg(Player player, Mob child) {}
protected InteractionResult mobInteract(Player player, InteractionHand hand) {
@@ -283,7 +283,7 @@ index 154b3c767d079f72643c826b962892c1029b0a1b..c35c5d58523be370732a19c52db4f8e9
}
public boolean isWithinRestriction() {
@@ -1637,4 +1639,52 @@ public abstract class Mob extends LivingEntity {
@@ -1633,4 +1635,52 @@ public abstract class Mob extends LivingEntity {
return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg);
}
@@ -1872,7 +1872,7 @@ index 56838c9f214c0f75041e75c45ad1a0c72fcacc66..151bb142c553d733367a92b39b430b53
if (i > 100) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java b/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
index 77f56978449ece43bdca28a50a0681cda9f89eba..4d5ceb4ce913248ad404393e4f0c75cad24029bb 100644
index 84015b5bf4b9a11670ad4d984844a431876efb63..5f61fcffebf4d853711a38d1f315f3def25e31a7 100644
--- a/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
+++ b/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
@@ -43,6 +43,18 @@ public class TropicalFish extends AbstractSchoolingFish {
@@ -1895,7 +1895,7 @@ index 77f56978449ece43bdca28a50a0681cda9f89eba..4d5ceb4ce913248ad404393e4f0c75ca
return "entity.minecraft.tropical_fish.predefined." + variant;
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index 01d8af06f19427354cac95d691e65d31253fef94..631539a752a038926355c23aeb160af64f363a61 100644
index 925f16d5eb092518ef774f69a8d99689feb0f5d7..c86f13d190b41cb18dd833af39c7b4916068fd69 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -90,6 +90,18 @@ public class Turtle extends Animal {
@@ -1915,7 +1915,7 @@ index 01d8af06f19427354cac95d691e65d31253fef94..631539a752a038926355c23aeb160af6
+ // Purpur end
+
public void setHomePos(BlockPos pos) {
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
this.entityData.set(Turtle.HOME_POS, pos);
}
@@ -192,6 +204,7 @@ public class Turtle extends Animal {
@@ -2012,7 +2012,7 @@ index 80caabee4d2100208f117a1c3e35247b65e318ad..bca3300e06d6eb0c6acdfb11d715a1e8
this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this));
this.targetSelector.addGoal(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers(new Class[0])); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index 25ebcb30cf5165675f26802983b6f68404b93b06..e076d03025690492c2226f03d777eba714819300 100644
index c72819b03f9339dadd691155f196f6744f14da75..06c831f1a4b5159afadecff4a25248397ecbd2c7 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -90,6 +90,23 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
@@ -2039,7 +2039,7 @@ index 25ebcb30cf5165675f26802983b6f68404b93b06..e076d03025690492c2226f03d777eba7
@Override
public Map<String, Vector3f> getModelRotationValues() {
return this.modelRotationValues;
@@ -513,14 +530,22 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
@@ -509,14 +526,22 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
private static class AxolotlMoveControl extends SmoothSwimmingMoveControl {
private final Axolotl axolotl;
@@ -2062,7 +2062,7 @@ index 25ebcb30cf5165675f26802983b6f68404b93b06..e076d03025690492c2226f03d777eba7
if (!this.axolotl.isPlayingDead()) {
super.tick();
}
@@ -535,9 +560,9 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
@@ -531,9 +556,9 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
}
@Override
@@ -2075,10 +2075,10 @@ index 25ebcb30cf5165675f26802983b6f68404b93b06..e076d03025690492c2226f03d777eba7
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index 580f3e8de2e10ddc01430e84fc42e243736c4810..c0d85eb70dbe1d85d07b47a41a43d19506586399 100644
index 15787afad42f9299638a1c9e57d26678805f18ee..69a8578f86c42bde4c1df0c5ead033dae248d3ab 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -70,6 +70,18 @@ public class Goat extends Animal {
@@ -72,6 +72,18 @@ public class Goat extends Animal {
this.getNavigation().setCanFloat(true);
}
@@ -2097,7 +2097,7 @@ index 580f3e8de2e10ddc01430e84fc42e243736c4810..c0d85eb70dbe1d85d07b47a41a43d195
@Override
protected Brain.Provider<Goat> brainProvider() {
return Brain.provider((Collection) Goat.MEMORY_TYPES, (Collection) Goat.SENSOR_TYPES);
@@ -133,6 +145,7 @@ public class Goat extends Animal {
@@ -147,6 +159,7 @@ public class Goat extends Animal {
@Override
protected void customServerAiStep() {
this.level.getProfiler().push("goatBrain");
@@ -2106,10 +2106,10 @@ index 580f3e8de2e10ddc01430e84fc42e243736c4810..c0d85eb70dbe1d85d07b47a41a43d195
this.level.getProfiler().pop();
this.level.getProfiler().push("goatActivityUpdate");
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
index ba58e066cca533dfed7610a730c4dd7423fe124d..d91b6951dc25097e6f84296406634e48e1f13404 100644
index 5c104bf219e5e4acb8acfb160bd92f0a0621d864..fbd96e516ac34f874b0cca2da9076120e29254fb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
@@ -114,12 +114,22 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@@ -113,12 +113,22 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
protected AbstractHorse(EntityType<? extends AbstractHorse> type, Level world) {
super(type, world);
@@ -2132,7 +2132,7 @@ index ba58e066cca533dfed7610a730c4dd7423fe124d..d91b6951dc25097e6f84296406634e48
this.goalSelector.addGoal(1, new PanicGoal(this, 1.2D));
this.goalSelector.addGoal(1, new RunAroundLikeCrazyGoal(this, 1.2D));
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D, AbstractHorse.class));
@@ -127,6 +137,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@@ -126,6 +136,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
this.goalSelector.addGoal(6, new WaterAvoidingRandomStrollGoal(this, 0.7D));
this.goalSelector.addGoal(7, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(8, new RandomLookAroundGoal(this));
@@ -2373,7 +2373,7 @@ index 305a891e4b51d1031d9e9238ff00e2ea7de8d954..84625d09df800fcfd477fc493fb5f824
protected void defineSynchedData() {
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index c98202092752a9015aaf95bd1471135b88e84425..00e74d4fb1c719475bed27db13774bc7cc7447a7 100644
index 29aa428e019681af8d6b0020c12b18660ff6af6c..5df112f87fba042f13f615a22a5c6f850b779bf7 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -102,6 +102,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -2517,7 +2517,7 @@ index c98202092752a9015aaf95bd1471135b88e84425..00e74d4fb1c719475bed27db13774bc7
this.dragonFight.updateDragon(this);
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 1c8f6863b976cfcb559de9b3e3cf9292831166ee..68c5609845617bf5aeb82ea4e3a88bdccb8273cc 100644
index 6e3bd5146c687922e7b4680d59a1ae2d1480ad40..9d879d85d6ca7d1163b05f15bb13baeeb59eea5b 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -83,6 +83,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -3710,10 +3710,10 @@ index 2459ae800a5f6b234a4f4bb1cd3738e4e9cac67d..e66cc79dc61721b31ffb743f68f4388c
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
index c87d1f8a057e98f7f4ad7e11d89bfa791a7bae90..dca18730731407bb68ad32852c7994062b0b4ba6 100644
index fcec4120113de6c403892b38f077593b3b90d10c..55c09358766b2e7e871d9922b42e6e6b4157dab6 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
@@ -25,6 +25,18 @@ public class Skeleton extends AbstractSkeleton {
@@ -23,6 +23,18 @@ public class Skeleton extends AbstractSkeleton {
super(type, world);
}
@@ -3913,7 +3913,7 @@ index 0cfcd9c69213d75b52dc93392da727208c13150d..6a8a0cd09e0bf17c7ecb6e55342b645f
BlockPos blockPos = pos;
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index 1e81e115fe28fe20c18d25372892ba714699303f..a4b14b7eaaef3f70cedf1b71afdcef8a0702dc94 100644
index fc772387713d4313ec8f90a8abcaf7b703fd9f21..6c0af80f47c53e4573efb0c50412d289c0bb5540 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -97,6 +97,18 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
@@ -3943,7 +3943,7 @@ index 1e81e115fe28fe20c18d25372892ba714699303f..a4b14b7eaaef3f70cedf1b71afdcef8a
this.goalSelector.addGoal(1, this.panicGoal);
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
this.temptGoal = new TemptGoal(this, 1.4D, Strider.TEMPT_ITEMS, false);
@@ -437,7 +450,7 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
@@ -438,7 +451,7 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
if (!enuminteractionresult.consumesAction()) {
ItemStack itemstack = player.getItemInHand(hand);
@@ -4205,7 +4205,7 @@ index 056c0e66d2f90850906c78a25d759f22c20e4d35..8fd4e26ebe0527fd8a69b15095dd4091
this.level.getProfiler().pop();
this.updateActivity();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index bb3b932c57fd1e5b1517940c7602c7f4aeeaf17e..4880a8f9576339ed87dbeeebc76d3332ab14d27c 100644
index ddda5d1e85864030db0cfecbf7a5fe134d7013a1..abcdfc77ccef27db11a9e0fe8cb29f84f5e82391 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -107,11 +107,25 @@ public class Zombie extends Monster {
@@ -4258,7 +4258,7 @@ index a2fbab27980d7f52033fd542220d534cefcc4747..5744d181b91bcf7f8202c801bce42c96
protected void defineSynchedData() {
super.defineSynchedData();
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
index 233b390541acddcf815db4a8f299496eaea4f758..b86d29a16f4c4ad0b166506fe31e64b902ecc06b 100644
index 025d53ab0787d596f4c486b15d286b9547838e16..708ba2c64a0736a30e477017b46dc711948cfc3d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
@@ -58,6 +58,18 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
@@ -4472,7 +4472,7 @@ index c4f7c94255e4631a3c0355f9260132ba28296f50..d6c31596e21041a124a263054ccb6447
this.setTradingPlayer(player);
this.openTradingScreen(player, this.getDisplayName(), 1);
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 069f658003d96a05aac0b30af1d89f15ea554475..5af2c68a328b5465ce487f312f0c50df3cb44aac 100644
index 19980b2d627eb3cacf8d0c3e6785ad2206910fbc..dd7e76f9e5fd05a38507f32b3e021efe43315049 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -193,6 +193,19 @@ public abstract class Player extends LivingEntity {
@@ -4513,7 +4513,7 @@ index 85a509e4fc0e4b9f182585e17b7deab2fea7e6c0..f1a12b147d55e34d4f8374593640a311
public void tick() {
super.tick();
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
index 69f439851fe1ff07d827eaed274940a5783d5f6c..07853aff3d42ce50799406ee1c14389b5f715b51 100644
index 37356b36f0ae12d55150f399318581fa77c30cee..4e667be589fd95eb61e57a99448939a945c59e5e 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
@@ -35,7 +35,7 @@ public abstract class Projectile extends Entity {
@@ -4540,10 +4540,10 @@ index fcf5f32c32eb17f7580b3c8c9190e36725f793ad..d92812cb334b590b728afb828dae61da
+ }
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index dd8b29f3aa58c5c7302ec5e93bef4190da913e3a..9012e278f23466cb052391d60c55179fccaa14ea 100644
index 15472bf9cfd279b1873f7a20c250a2c089debad1..59c424426e0eddd0b62db769ec289f5903583a84 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -92,4 +92,532 @@ public class PurpurWorldConfig {
@@ -91,4 +91,532 @@ public class PurpurWorldConfig {
final Map<String, Object> value = PurpurConfig.getMap("world-settings." + worldName + "." + path, null);
return value.isEmpty() ? fallback : value;
}
@@ -5718,10 +5718,10 @@ index 0000000000000000000000000000000000000000..8eefb7b7eb33aecf48ac206d3f0139e0
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index c0a508295d2e68d92ec8d24e14f9b7626911f548..edc08af4ec2ce6e90c30da286c0ba5ac16efd3fc 100644
index 8246ad7ebecdfc0b7519fe4412fef7b07407e850..6b85ba7d9bad9f648b4a6cb5a3938509b3e73cca 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1216,4 +1216,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
@@ -1207,4 +1207,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
return getHandle().isTicking();
}
// Paper end
@@ -5750,7 +5750,7 @@ index c0a508295d2e68d92ec8d24e14f9b7626911f548..edc08af4ec2ce6e90c30da286c0ba5ac
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index a59a449c0a7b76527f009031aee2d11d6b43cadf..d055b5548848c87d9ce8372b6c64df8d081eb779 100644
index 9e08668ecf224dae91405da994cc7d346499a969..f9196241a0d6f9a70c674f7dfca5e013f9839398 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -537,6 +537,15 @@ public class CraftEventFactory {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 37db4d89996cde1bdcdc513757be75612d444f97..f3c5d5906a8ce64c93f4fb1f63474800a24ef012 100644
index 081506649de3929becd448664e2c5b0d7b4859fc..a43c95abc8f6d0226ca097495ed9aeab0649d02b 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -150,7 +150,7 @@ import org.bukkit.plugin.PluginManager;
@@ -34,7 +34,7 @@ index 8f8bc29d847801938e251904b8334b4b31bd21c5..87d01bebbb179eec53323e9e23db011a
@Override
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index e918f7cc7fdfdeb1b7b69488eadf69f0d4a3cb05..b3921a084d20a25a6ea775faae43493030aafd77 100644
index 911a6f63e8ffeacc95fa49cdf99140c1ce3d06b1..ecc06c084625c24b9ac8045b1d53e75dfffbdea5 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -288,6 +288,7 @@ public abstract class LivingEntity extends Entity {
@@ -411,7 +411,7 @@ index 151bb142c553d733367a92b39b430b536e569480..f96def2ebdf114823c322c2d4318d039
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java b/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
index 4d5ceb4ce913248ad404393e4f0c75cad24029bb..5ab75a110d45dd9a2c341820b53838a55cac6bb3 100644
index 5f61fcffebf4d853711a38d1f315f3def25e31a7..fcd3166a7c818ef089ccf2a687596bef51ad14a6 100644
--- a/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
+++ b/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
@@ -53,6 +53,11 @@ public class TropicalFish extends AbstractSchoolingFish {
@@ -427,7 +427,7 @@ index 4d5ceb4ce913248ad404393e4f0c75cad24029bb..5ab75a110d45dd9a2c341820b53838a5
public static String getPredefinedName(int variant) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index 631539a752a038926355c23aeb160af64f363a61..66c01b8300bc09ace27e4d1a30ee9274c69fcc9a 100644
index c86f13d190b41cb18dd833af39c7b4916068fd69..31568adcf4a89b11e61f455a15326c7f72bf487e 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -100,6 +100,11 @@ public class Turtle extends Animal {
@@ -459,7 +459,7 @@ index bca3300e06d6eb0c6acdfb11d715a1e8447c9198..ae416b70109c959980b3115da6e97df1
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
index e076d03025690492c2226f03d777eba714819300..15a0aeb1131618ea27620c5893a7448af624b6dd 100644
index 06c831f1a4b5159afadecff4a25248397ecbd2c7..cdc8e548ea48efd481ad6495cab6d8e9f77cfb15 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -105,6 +105,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
@@ -475,10 +475,10 @@ index e076d03025690492c2226f03d777eba714819300..15a0aeb1131618ea27620c5893a7448a
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index c0d85eb70dbe1d85d07b47a41a43d19506586399..9092eac3e7e15845d14175cad8030f4ea60d43ad 100644
index 69a8578f86c42bde4c1df0c5ead033dae248d3ab..26d8b59dd385cc89af64fbbf3f8e09c2e9b41b8c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -80,6 +80,11 @@ public class Goat extends Animal {
@@ -82,6 +82,11 @@ public class Goat extends Animal {
public boolean rideableUnderWater() {
return level.purpurConfig.goatRidableInWater;
}
@@ -491,10 +491,10 @@ index c0d85eb70dbe1d85d07b47a41a43d19506586399..9092eac3e7e15845d14175cad8030f4e
@Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
index d91b6951dc25097e6f84296406634e48e1f13404..a580afaa886c04df3caf9037b9b9cf17b92cee7b 100644
index fbd96e516ac34f874b0cca2da9076120e29254fb..54401524a2be27e18d5e616e9bb8481007c7af88 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
@@ -125,6 +125,32 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@@ -124,6 +124,32 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
public boolean isRidable() {
return false; // vanilla handles
}
@@ -527,7 +527,7 @@ index d91b6951dc25097e6f84296406634e48e1f13404..a580afaa886c04df3caf9037b9b9cf17
// Purpur end
@Override
@@ -1142,7 +1168,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@@ -1134,7 +1160,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
entityData = new AgeableMob.AgeableMobGroupData(0.2F);
}
@@ -719,7 +719,7 @@ index d328e36015b6b7d6a9e093fbe232eb5ecda46d96..6ca7b168a1ea26102922d9377e52662f
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 00e74d4fb1c719475bed27db13774bc7cc7447a7..177c5b385613ac08a75500013326874ff31a1992 100644
index 5df112f87fba042f13f615a22a5c6f850b779bf7..d3caa18f5de2d96eae691655dd13e83f82c61e0c 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -154,6 +154,11 @@ public class EnderDragon extends Mob implements Enemy {
@@ -735,7 +735,7 @@ index 00e74d4fb1c719475bed27db13774bc7cc7447a7..177c5b385613ac08a75500013326874f
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 68c5609845617bf5aeb82ea4e3a88bdccb8273cc..96631591db018545120ba1c9980a03eb596eb6e5 100644
index 9d879d85d6ca7d1163b05f15bb13baeeb59eea5b..2f33897a74ff2bd629b4ffacc4a1e1e0cd6b7987 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -196,6 +196,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -1083,10 +1083,10 @@ index e66cc79dc61721b31ffb743f68f4388cc499a92d..0d60d6352294fadc1a26579a712b01cf
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
index dca18730731407bb68ad32852c7994062b0b4ba6..070e1ef31d4dabb943fc57ea4f46bb8dfffed5c0 100644
index 55c09358766b2e7e871d9922b42e6e6b4157dab6..a36c78054cb70d310d9bb21c849e05b588aca8de 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
@@ -35,6 +35,11 @@ public class Skeleton extends AbstractSkeleton {
@@ -33,6 +33,11 @@ public class Skeleton extends AbstractSkeleton {
public boolean rideableUnderWater() {
return level.purpurConfig.skeletonRidableInWater;
}
@@ -1175,7 +1175,7 @@ index 6a8a0cd09e0bf17c7ecb6e55342b645f111dac22..d2eb323c8957ac4ccdf2ab73d83dbbde
public static boolean checkStraySpawnRules(EntityType<Stray> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, Random random) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index a4b14b7eaaef3f70cedf1b71afdcef8a0702dc94..6b9316536e09c52be2cd1e9cdc71529f4ddb69c6 100644
index 6c0af80f47c53e4573efb0c50412d289c0bb5540..2d7b83ce2e0e26ef3976514ec8921a718ccc28bd 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -107,6 +107,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
@@ -1271,7 +1271,7 @@ index 8fd4e26ebe0527fd8a69b15095dd4091fcdde206..7afc9b83e385d711096db5ea9c6c259f
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 4880a8f9576339ed87dbeeebc76d3332ab14d27c..6eef158223d361f58f49810335895478430dda2d 100644
index abcdfc77ccef27db11a9e0fe8cb29f84f5e82391..3b7e261eae87445387f5a34d6fbb420c4cd0cf0f 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -117,6 +117,11 @@ public class Zombie extends Monster {
@@ -1286,7 +1286,7 @@ index 4880a8f9576339ed87dbeeebc76d3332ab14d27c..6eef158223d361f58f49810335895478
// Purpur end
@Override
@@ -584,7 +589,7 @@ public class Zombie extends Monster {
@@ -589,7 +594,7 @@ public class Zombie extends Monster {
}
protected void randomizeReinforcementsChance() {
@@ -1317,7 +1317,7 @@ index 5744d181b91bcf7f8202c801bce42c96acbdb524..ce15ebc6248eaa849ccb1de4319b51e8
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
index b86d29a16f4c4ad0b166506fe31e64b902ecc06b..04d09123f70a192f1283c0d7e8a8254f3d30889a 100644
index 708ba2c64a0736a30e477017b46dc711948cfc3d..8464026df1b46ad30301fed4944aa1d3cd39bd9e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
@@ -68,6 +68,11 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
@@ -1422,10 +1422,10 @@ index d6c31596e21041a124a263054ccb6447829eccdd..d2588a91b55aebdecf8e1644498111cc
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9012e278f23466cb052391d60c55179fccaa14ea..a8cdd158a8207c875ed94f550dc8f5d7e05f472b 100644
index 59c424426e0eddd0b62db769ec289f5903583a84..332754f541165590ecd96d650f16f40924b4263a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -103,257 +103,573 @@ public class PurpurWorldConfig {
@@ -102,257 +102,573 @@ public class PurpurWorldConfig {
}
public boolean axolotlRidable = false;
@@ -1999,7 +1999,7 @@ index 9012e278f23466cb052391d60c55179fccaa14ea..a8cdd158a8207c875ed94f550dc8f5d7
}
public boolean phantomRidable = false;
@@ -362,6 +678,7 @@ public class PurpurWorldConfig {
@@ -361,6 +677,7 @@ public class PurpurWorldConfig {
public float phantomFlameDamage = 1.0F;
public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false;
@@ -2007,7 +2007,7 @@ index 9012e278f23466cb052391d60c55179fccaa14ea..a8cdd158a8207c875ed94f550dc8f5d7
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -369,255 +686,559 @@ public class PurpurWorldConfig {
@@ -368,255 +685,559 @@ public class PurpurWorldConfig {
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Timings stuff
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
index 9d920565ff65a84b1b9a2a4777fd8bc8f07e0153..33263af33b4355e5079fadfcfae77d038aebd2c4 100644
index 2ff4d4921e2076abf415bd3c8f5173ecd6222168..dd9efe48006d060397ef3932afa3665f89ea99b3 100644
--- a/src/main/java/co/aikar/timings/TimingsExport.java
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
@@ -226,10 +226,15 @@ public class TimingsExport extends Thread {
@@ -226,9 +226,14 @@ public class TimingsExport extends Thread {
// Information on the users Config
parent.put("config", createObject(
@@ -17,15 +17,14 @@ index 9d920565ff65a84b1b9a2a4777fd8bc8f07e0153..33263af33b4355e5079fadfcfae77d03
+ pair("bukkit", mapAsJSON(Bukkit.spigot().getBukkitConfig(), null)),
pair("spigot", mapAsJSON(Bukkit.spigot().getSpigotConfig(), null)),
pair("bukkit", mapAsJSON(Bukkit.spigot().getBukkitConfig(), null)),
pair("paper", mapAsJSON(Bukkit.spigot().getPaperConfig(), null)), // Tuinity - add config to timings report
- pair("tuinity", mapAsJSON(Bukkit.spigot().getTuinityConfig(), null)) // Tuinity - add config to timings report
+ pair("tuinity", mapAsJSON(Bukkit.spigot().getTuinityConfig(), null)), // Tuinity - add config to timings report
- pair("paper", mapAsJSON(Bukkit.spigot().getPaperConfig(), null))
+ pair("paper", mapAsJSON(Bukkit.spigot().getPaperConfig(), null)), // Tuinity - add config to timings report
+ pair("purpur", mapAsJSON(Bukkit.spigot().getPurpurConfig(), null))
+ // Purpur end
));
new TimingsExport(listeners, parent, history).start();
@@ -270,6 +275,19 @@ public class TimingsExport extends Thread {
@@ -269,6 +274,19 @@ public class TimingsExport extends Thread {
return timingsCost;
}
@@ -45,7 +44,7 @@ index 9d920565ff65a84b1b9a2a4777fd8bc8f07e0153..33263af33b4355e5079fadfcfae77d03
private static JSONObject mapAsJSON(ConfigurationSection config, String parentKey) {
JSONObject object = new JSONObject();
@@ -306,7 +324,7 @@ public class TimingsExport extends Thread {
@@ -305,7 +323,7 @@ public class TimingsExport extends Thread {
String response = null;
String timingsURL = null;
try {
@@ -55,7 +54,7 @@ index 9d920565ff65a84b1b9a2a4777fd8bc8f07e0153..33263af33b4355e5079fadfcfae77d03
String hostName = "BrokenHost";
try {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index f7c46b8173d30192853c875675a1ed0f59170b34..d2d602eda6f2899f809c31aa1082540e1c7855b9 100644
index d92812cb334b590b728afb828dae61da483d8d56..e381ff1767b1ef2275ed112c27c491a3671b5039 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -159,4 +159,10 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index fde98f9c4a3e151dbc277541fbd2cc0a8d957069..011ebba656174cb415d43244c50db250fa8f0a30 100644
index d9df08cdf065b0316f43ca53988ccbe119e5106f..687f1bfa07246e2297be7124edf5bf7568a7ce09 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1952,8 +1952,58 @@ public class ServerPlayer extends Player {
@@ -1936,8 +1936,58 @@ public class ServerPlayer extends Player {
public void resetLastActionTime() {
this.lastActionTime = Util.getMillis();
@@ -68,10 +68,10 @@ index fde98f9c4a3e151dbc277541fbd2cc0a8d957069..011ebba656174cb415d43244c50db250
return this.stats;
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 17a6857f5ee70120d664e46426f739ef2dae0a0a..210b774eae5d76823e171016e9e6b706e8da4f07 100644
index dbb5f0bd721b2490f727a0b2462cf215e729947d..c5863036c0fdeee755494dfc55c527f4696c92c1 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -391,6 +391,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -390,6 +390,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
}
if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) (this.server.getPlayerIdleTimeout() * 1000 * 60)) {
@@ -84,7 +84,7 @@ index 17a6857f5ee70120d664e46426f739ef2dae0a0a..210b774eae5d76823e171016e9e6b706
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
this.disconnect(new TranslatableComponent("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause
}
@@ -663,6 +669,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -648,6 +654,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
this.lastYaw = to.getYaw();
this.lastPitch = to.getPitch();
@@ -93,16 +93,18 @@ index 17a6857f5ee70120d664e46426f739ef2dae0a0a..210b774eae5d76823e171016e9e6b706
// Skip the first time we do this
if (true) { // Spigot - don't skip any move events
Location oldTo = to.clone();
@@ -1440,7 +1448,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1373,8 +1381,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
boolean flag1 = false;
if (!this.player.isChangingDimension() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot
flag1 = true; // Tuinity - diff on change, this should be moved wrongly
- flag1 = true;
- ServerGamePacketListenerImpl.LOGGER.warn("{} moved wrongly!", this.player.getName().getString());
+ flag1 = true; // Tuinity - diff on change, this should be moved wrongly
+ ServerGamePacketListenerImpl.LOGGER.warn("{} moved wrongly!, ({})", this.player.getName().getString(), d11); // Purpur
}
this.player.absMoveTo(d0, d1, d2, f, f1);
@@ -1490,6 +1498,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1413,6 +1421,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
this.lastYaw = to.getYaw();
this.lastPitch = to.getPitch();
@@ -146,7 +148,7 @@ index a060cca08631fb42041e3a79a9abc422fe7757af..e7b11d1ba984ea14f0cdf8e84f9eaab4
private EntitySelector() {}
// Paper start
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 5af2c68a328b5465ce487f312f0c50df3cb44aac..e0544699714fd4c6ef2deb17f49b8246a7021463 100644
index dd7e76f9e5fd05a38507f32b3e021efe43315049..995098c7e7eaa15fa1cda40fdb763cf4607f3381 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -196,6 +196,13 @@ public abstract class Player extends LivingEntity {
@@ -164,10 +166,10 @@ index 5af2c68a328b5465ce487f312f0c50df3cb44aac..e0544699714fd4c6ef2deb17f49b8246
public boolean processClick(InteractionHand hand) {
Entity vehicle = getRootVehicle();
diff --git a/src/main/java/net/minecraft/world/level/EntityGetter.java b/src/main/java/net/minecraft/world/level/EntityGetter.java
index 6a4e44dd8935018d1b5283761dfb8e855be62987..afe70b0d5bd98d05bbb7afc756108f09d35a5848 100644
index 325e244c46ec208a2e7e18d71ccbbfcc25fc1bce..3645ebf52ad1461937ce6cc0cf38a92176627227 100644
--- a/src/main/java/net/minecraft/world/level/EntityGetter.java
+++ b/src/main/java/net/minecraft/world/level/EntityGetter.java
@@ -161,7 +161,7 @@ public interface EntityGetter {
@@ -145,7 +145,7 @@ public interface EntityGetter {
default boolean hasNearbyAlivePlayer(double x, double y, double z, double range) {
for(Player player : this.players()) {
@@ -198,10 +200,10 @@ index 0373f3fb256d796c090a3eddcf6e2be0ce25ec16..d35285b58b7141f2e9f438331faf566d
public static String timingsUrl = "https://timings.pl3x.net";
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a8cdd158a8207c875ed94f550dc8f5d7e05f472b..ec0cef53349bc20e936adbbe6138145bcaca945d 100644
index 332754f541165590ecd96d650f16f40924b4263a..bfc1077dc7d5cfb48f5cc98b289b98d44474280e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -93,6 +93,17 @@ public class PurpurWorldConfig {
@@ -92,6 +92,17 @@ public class PurpurWorldConfig {
return value.isEmpty() ? fallback : value;
}
@@ -220,7 +222,7 @@ index a8cdd158a8207c875ed94f550dc8f5d7e05f472b..ec0cef53349bc20e936adbbe6138145b
public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 1da5b6f73e78a697031f7662e68c546543fb9d1a..3eeb138d060f86e0f928fc59234563528d83bf65 100644
index 2e41a1bc20f257f4f461a74623a3ffe2d3112fdd..d858590b7ffea28dcfbc48973df6e3c916886b65 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -423,10 +423,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -240,7 +242,7 @@ index 1da5b6f73e78a697031f7662e68c546543fb9d1a..3eeb138d060f86e0f928fc5923456352
for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) {
if (player.getBukkitEntity().canSee(this)) {
player.connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
@@ -2529,4 +2534,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2475,4 +2480,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.spigot;
}
// Spigot end
@@ -263,7 +265,7 @@ index 1da5b6f73e78a697031f7662e68c546543fb9d1a..3eeb138d060f86e0f928fc5923456352
+ // Purpur end
}
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 7361bf04de16d0526dc4cdbd0f564713df041d90..48ce9975b872c259dae1348148203fdbcb25e2ee 100644
index a08583863f9fa08016bdfc7949a273eaa4429927..f36c97529edbd3642d0ba37887a232226f766a35 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -194,6 +194,7 @@ public class ActivationRange

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Bring back server name
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
index c9d80a5430cc66d6189bf337770af43121a5bfd5..329336d413317388455fbbf03036cee13186b00d 100644
index 0544ac93513d3a274bfb53bb6120bd598f4d603b..9ce5984fbeba4839290c9d213d441957d38fe835 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
@@ -18,6 +18,7 @@ public class DedicatedServerProperties extends Settings<DedicatedServerPropertie
@@ -17,10 +17,10 @@ index c9d80a5430cc66d6189bf337770af43121a5bfd5..329336d413317388455fbbf03036cee1
public final boolean spawnNpcs = this.get("spawn-npcs", true);
public final boolean pvp = this.get("pvp", true);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 6329a85dbed1de21dd7dcde8b62d51f09da47e78..b23d250c76236504e057f3a7e9e1d394a282812b 100644
index 9123ae3a99efb80bc938e013a4eff4259cec1084..2749eecddd51e8e4553fe7aaa4d01a9f6a6bf73b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2553,4 +2553,11 @@ public final class CraftServer implements Server {
@@ -2543,4 +2543,11 @@ public final class CraftServer implements Server {
}
// Paper end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 06177ec182d79cd101da9cd43a841656d27d6d8b..0e0f7d48337f261481731917aabf45d8445121a0 100644
index 745df03f3b425a247d63d7d896c3dcf2c8baa0e0..53c4db48c184da5229c1de7ab5df447a248954da 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1715,7 +1715,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1652,7 +1652,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {
@@ -16,9 +16,9 @@ index 06177ec182d79cd101da9cd43a841656d27d6d8b..0e0f7d48337f261481731917aabf45d8
+ return net.pl3x.purpur.PurpurConfig.serverModName; // Purpur // Tuinity // Paper // Spigot // CraftBukkit
}
public SystemReport fillSystemReport(SystemReport systemreport) {
public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 58486dcc2b17e64e09f428b5fd0b771646ac09b0..0982cfdbe748dbb7c41624efc770ed0cd1c798fa 100644
index d35285b58b7141f2e9f438331faf566dc293cc63..b21554baf77e9ac1edf2e91ecaf1d5c089939e90 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -168,6 +168,11 @@ public class PurpurConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] LivingEntity safeFallDistance
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index b3921a084d20a25a6ea775faae43493030aafd77..28d5fc868498a4a6746b9defa1c06da27a4aa495 100644
index ecc06c084625c24b9ac8045b1d53e75dfffbdea5..39dfda78320bc04ffb9b4be7b34abef84d4c8eeb 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -255,6 +255,7 @@ public abstract class LivingEntity extends Entity {
@@ -27,7 +27,7 @@ index b3921a084d20a25a6ea775faae43493030aafd77..28d5fc868498a4a6746b9defa1c06da2
if (!landedState.isAir()) {
double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
@@ -1883,7 +1884,7 @@ public abstract class LivingEntity extends Entity {
@@ -1887,7 +1888,7 @@ public abstract class LivingEntity extends Entity {
MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP);
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
@@ -37,10 +37,10 @@ index b3921a084d20a25a6ea775faae43493030aafd77..28d5fc868498a4a6746b9defa1c06da2
protected void playBlockFallSound() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
index 790f0940156b9c6d4aa1869a4ab50292faa246c5..1e748c223c223deb1465a250548b39ed559cf5de 100644
index 54401524a2be27e18d5e616e9bb8481007c7af88..16b72398645757ca194cb638f46b4528283e2199 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
@@ -322,7 +322,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@@ -321,7 +321,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@Override
protected int calculateFallDamage(float fallDistance, float damageMultiplier) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0e0f7d48337f261481731917aabf45d8445121a0..34e364afff8cfe060244e5dd7cc0c34033dc6945 100644
index 53c4db48c184da5229c1de7ab5df447a248954da..ac78bea2e411324c10a0183b1c73ce542bdbd13d 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -309,6 +309,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -304,6 +304,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public static final int TICK_TIME = 1000000000 / MinecraftServer.TPS;
private static final int SAMPLE_INTERVAL = 20; // Paper
public final double[] recentTps = new double[ 3 ];
@@ -16,16 +16,16 @@ index 0e0f7d48337f261481731917aabf45d8445121a0..34e364afff8cfe060244e5dd7cc0c340
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
@@ -1235,6 +1236,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1170,6 +1171,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.recentTps[1] = tps5.getAverage();
this.recentTps[2] = tps15.getAverage();
// Paper end
+ lagging = recentTps[0] < net.pl3x.purpur.PurpurConfig.laggingThreshold; // Purpur
tickSection = curTime;
}
// Tuinity - replace logic
midTickChunksTasksRan = 0; // Paper
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 0982cfdbe748dbb7c41624efc770ed0cd1c798fa..2744735f6a15f6fd20c2b93b9c5c0422923bec01 100644
index b21554baf77e9ac1edf2e91ecaf1d5c089939e90..2697188c7e18cf5ae11e6e96a3dab95192470ac1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -179,6 +179,11 @@ public class PurpurConfig {
@@ -41,10 +41,10 @@ index 0982cfdbe748dbb7c41624efc770ed0cd1c798fa..2744735f6a15f6fd20c2b93b9c5c0422
public static boolean enderChestSixRows = false;
public static boolean enderChestPermissionRows = false;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index b23d250c76236504e057f3a7e9e1d394a282812b..87cde1241a5ec525b8c1af127bf2e33c1dd87c4b 100644
index 2749eecddd51e8e4553fe7aaa4d01a9f6a6bf73b..e7ec300b3330cee49bb2fce76dc35f638a4f3b52 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2559,5 +2559,10 @@ public final class CraftServer implements Server {
@@ -2549,5 +2549,10 @@ public final class CraftServer implements Server {
public String getServerName() {
return this.getProperties().serverName;
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] ItemFactory#getMonsterEgg
diff --git a/src/main/java/net/minecraft/world/item/SpawnEggItem.java b/src/main/java/net/minecraft/world/item/SpawnEggItem.java
index 32a9a752e1afdcdaffa5198f3577856f742c9136..ab7e4780529a88183600f3d3860e882bbe3a1754 100644
index b16f338a001254c700fe4e10a5cec0d6dc7bd127..6afba641943717cc9c75420d9f3af1048543a17e 100644
--- a/src/main/java/net/minecraft/world/item/SpawnEggItem.java
+++ b/src/main/java/net/minecraft/world/item/SpawnEggItem.java
@@ -36,7 +36,7 @@ import net.minecraft.world.phys.Vec3;
@@ -18,10 +18,10 @@ index 32a9a752e1afdcdaffa5198f3577856f742c9136..ab7e4780529a88183600f3d3860e882b
private final int highlightColor;
private final EntityType<?> defaultType;
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
index d1ca61f394c0efa1688069e5d1fb529348d5985f..6eb42189021647887848748e7070d171ddb17bd9 100644
index 1a8ff7339c58a4fffb051a090a7b8c34cb346a61..ae9919b5df569c0e6e4a42af57542c6ffb30960c 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
@@ -404,4 +404,18 @@ public final class CraftItemFactory implements ItemFactory {
@@ -407,4 +407,18 @@ public final class CraftItemFactory implements ItemFactory {
new net.md_5.bungee.api.chat.TextComponent(customName));
}
// Paper end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 011ebba656174cb415d43244c50db250fa8f0a30..1653928faba2422bfa5fff93be5b4d8f9c9447ed 100644
index 687f1bfa07246e2297be7124edf5bf7568a7ce09..335893049b3625a80cef78526eff3761cd8d5fbf 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -338,6 +338,7 @@ public class ServerPlayer extends Player {
@@ -334,6 +334,7 @@ public class ServerPlayer extends Player {
this.bukkitPickUpLoot = true;
this.maxHealthCache = this.getMaxHealth();
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
@@ -16,7 +16,7 @@ index 011ebba656174cb415d43244c50db250fa8f0a30..1653928faba2422bfa5fff93be5b4d8f
}
// Paper start - Chunk priority
public BlockPos getPointInFront(double inFront) {
@@ -979,6 +980,12 @@ public class ServerPlayer extends Player {
@@ -975,6 +976,12 @@ public class ServerPlayer extends Player {
}
@@ -29,7 +29,7 @@ index 011ebba656174cb415d43244c50db250fa8f0a30..1653928faba2422bfa5fff93be5b4d8f
@Override
public boolean hurt(DamageSource source, float amount) {
if (this.isInvulnerableTo(source)) {
@@ -986,7 +993,7 @@ public class ServerPlayer extends Player {
@@ -982,7 +989,7 @@ public class ServerPlayer extends Player {
} else {
boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && "fall".equals(source.msgId);
@@ -38,7 +38,7 @@ index 011ebba656174cb415d43244c50db250fa8f0a30..1653928faba2422bfa5fff93be5b4d8f
return false;
} else {
if (source instanceof EntityDamageSource) {
@@ -1161,6 +1168,7 @@ public class ServerPlayer extends Player {
@@ -1157,6 +1164,7 @@ public class ServerPlayer extends Player {
}
// Paper end
@@ -46,7 +46,7 @@ index 011ebba656174cb415d43244c50db250fa8f0a30..1653928faba2422bfa5fff93be5b4d8f
return this;
}
}
@@ -2415,9 +2423,17 @@ public class ServerPlayer extends Player {
@@ -2409,9 +2417,17 @@ public class ServerPlayer extends Player {
@Override
public boolean isImmobile() {
@@ -66,10 +66,10 @@ index 011ebba656174cb415d43244c50db250fa8f0a30..1653928faba2422bfa5fff93be5b4d8f
public Scoreboard getScoreboard() {
return this.getBukkitEntity().getScoreboard().getHandle();
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 210b774eae5d76823e171016e9e6b706e8da4f07..550ff06264aa4fffdd9b9291efec121ac034d963 100644
index c5863036c0fdeee755494dfc55c527f4696c92c1..74eee0b4865582ea88396ad69fc9278535777dae 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1938,6 +1938,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1840,6 +1840,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
}
// Paper start
PlayerResourcePackStatusEvent.Status packStatus = PlayerResourcePackStatusEvent.Status.values()[packet.action.ordinal()];
@@ -78,10 +78,10 @@ index 210b774eae5d76823e171016e9e6b706e8da4f07..550ff06264aa4fffdd9b9291efec121a
this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit
// Paper end
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index ec98fb6d4a407d5be8faf64db0d73e935e16623d..3961f1908876206b86126a672b691bfc571ea2f0 100644
index c647a768a10076969f81fed33cefb7a4aa3b8597..f2c328c52c127eb48b6c4ab4e1348a1bfd75c299 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -991,6 +991,8 @@ public abstract class PlayerList {
@@ -992,6 +992,8 @@ public abstract class PlayerList {
}
// Paper end
@@ -91,10 +91,10 @@ index ec98fb6d4a407d5be8faf64db0d73e935e16623d..3961f1908876206b86126a672b691bfc
return entityplayer1;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ec0cef53349bc20e936adbbe6138145bcaca945d..578e1685e6b5e2febae463d836071aa2b8144200 100644
index bfc1077dc7d5cfb48f5cc98b289b98d44474280e..90a312246e5ecdd4bbe4bc7e360ea7aa6a64953f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -97,11 +97,15 @@ public class PurpurWorldConfig {
@@ -96,11 +96,15 @@ public class PurpurWorldConfig {
public boolean idleTimeoutTickNearbyEntities = true;
public boolean idleTimeoutCountAsSleeping = false;
public boolean idleTimeoutUpdateTabList = false;
@@ -111,10 +111,10 @@ index ec0cef53349bc20e936adbbe6138145bcaca945d..578e1685e6b5e2febae463d836071aa2
public boolean babiesAreRidable = true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 3eeb138d060f86e0f928fc59234563528d83bf65..2e42abb396b84b9f6d42809086f5a513dbc9ef40 100644
index d858590b7ffea28dcfbc48973df6e3c916886b65..3306decd607ae190d6eaf674b3a59393c93dae34 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2550,5 +2550,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2496,5 +2496,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetIdleTimer() {
getHandle().resetLastActionTime();
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Anvil API
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
index 56d3ed1cdafd7904c35be5db568b9975a97418a7..c81af461fa01dac0b7b26becc1a5e7ae31bb5f95 100644
index 3070ad3a4bbe83485c6b4a68aa634045c70cafdd..ddfb89d62d2ec316683e9f0f5550e298ab26d137 100644
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
@@ -2,8 +2,12 @@ package net.minecraft.world.inventory;
@@ -46,7 +46,7 @@ index 56d3ed1cdafd7904c35be5db568b9975a97418a7..c81af461fa01dac0b7b26becc1a5e7ae
player.giveExperienceLevels(-this.cost.get());
}
@@ -117,6 +125,12 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -116,6 +124,12 @@ public class AnvilMenu extends ItemCombinerMenu {
@Override
public void createResult() {
@@ -59,7 +59,7 @@ index 56d3ed1cdafd7904c35be5db568b9975a97418a7..c81af461fa01dac0b7b26becc1a5e7ae
ItemStack itemstack = this.inputSlots.getItem(0);
this.cost.set(1);
@@ -193,7 +207,7 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -192,7 +206,7 @@ public class AnvilMenu extends ItemCombinerMenu {
int i2 = (Integer) map1.get(enchantment);
i2 = l1 == i2 ? i2 + 1 : Math.max(i2, l1);
@@ -68,7 +68,7 @@ index 56d3ed1cdafd7904c35be5db568b9975a97418a7..c81af461fa01dac0b7b26becc1a5e7ae
if (this.player.getAbilities().instabuild || itemstack.is(Items.ENCHANTED_BOOK)) {
flag3 = true;
@@ -205,7 +219,7 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -204,7 +218,7 @@ public class AnvilMenu extends ItemCombinerMenu {
Enchantment enchantment1 = (Enchantment) iterator1.next();
if (enchantment1 != enchantment && !enchantment.isCompatibleWith(enchantment1)) {
@@ -77,7 +77,7 @@ index 56d3ed1cdafd7904c35be5db568b9975a97418a7..c81af461fa01dac0b7b26becc1a5e7ae
++i;
}
}
@@ -276,6 +290,13 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -275,6 +289,13 @@ public class AnvilMenu extends ItemCombinerMenu {
this.cost.set(this.maximumRepairCost - 1); // CraftBukkit
}
@@ -91,13 +91,13 @@ index 56d3ed1cdafd7904c35be5db568b9975a97418a7..c81af461fa01dac0b7b26becc1a5e7ae
if (this.cost.get() >= this.maximumRepairCost && !this.player.getAbilities().instabuild) { // CraftBukkit
itemstack1 = ItemStack.EMPTY;
}
@@ -297,6 +318,12 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -296,6 +317,12 @@ public class AnvilMenu extends ItemCombinerMenu {
org.bukkit.craftbukkit.event.CraftEventFactory.callPrepareAnvilEvent(this.getBukkitView(), itemstack1); // CraftBukkit
this.broadcastChanges();
+ // Purpur start
+ if (canDoUnsafeEnchants && itemstack1 != ItemStack.EMPTY) {
+ ((ServerPlayer) player).connection.send(new ClientboundContainerSetSlotPacket(containerId, 2, itemstack1));
+ ((ServerPlayer) player).connection.send(new ClientboundContainerSetSlotPacket(containerId, incrementStateId(), 2, itemstack1));
+ ((ServerPlayer) player).connection.send(new ClientboundContainerSetDataPacket(containerId, 0, cost.get()));
+ }
+ // Purpur end

View File

@@ -36,10 +36,10 @@ index b7b25813aa00a49fd83edfbade27fa03d7fcd7c5..ed96780ededea9ae98bc0fb60d250587
this.level.getProfiler().pop();
if (this.assignProfessionWhenSpawned) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 578e1685e6b5e2febae463d836071aa2b8144200..6c1fb8ac40e8d90714e397d1985498ad650e24b0 100644
index 90a312246e5ecdd4bbe4bc7e360ea7aa6a64953f..add5f7a9929835e7f2383ba13e50b4e8fc1b52e9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1069,6 +1069,8 @@ public class PurpurWorldConfig {
@@ -1068,6 +1068,8 @@ public class PurpurWorldConfig {
public boolean villagerRidable = false;
public boolean villagerRidableInWater = false;
public double villagerMaxHealth = 20.0D;
@@ -48,7 +48,7 @@ index 578e1685e6b5e2febae463d836071aa2b8144200..6c1fb8ac40e8d90714e397d1985498ad
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1078,6 +1080,8 @@ public class PurpurWorldConfig {
@@ -1077,6 +1079,8 @@ public class PurpurWorldConfig {
set("mobs.villager.attributes.max_health", oldValue);
}
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Alternative Keepalive Handling
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 71030d9e156ce28f1ef9e3ed6845f022a62dfdaf..db8a8e81054e91161d43515fb19ab0106e9da1d0 100644
index 74eee0b4865582ea88396ad69fc9278535777dae..fa38157d4c422557b8ee05f47c833f840556b93d 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -229,6 +229,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -228,6 +228,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
private long keepAliveTime = Util.getMillis();
private boolean keepAlivePending;
private long keepAliveChallenge;
@@ -16,7 +16,7 @@ index 71030d9e156ce28f1ef9e3ed6845f022a62dfdaf..db8a8e81054e91161d43515fb19ab010
// CraftBukkit start - multithreaded fields
private AtomicInteger chatSpamTickCount = new AtomicInteger();
private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits
@@ -359,6 +360,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -358,6 +359,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
long currentTime = Util.getMillis();
long elapsedTime = currentTime - this.keepAliveTime;
@@ -38,7 +38,7 @@ index 71030d9e156ce28f1ef9e3ed6845f022a62dfdaf..db8a8e81054e91161d43515fb19ab010
if (this.keepAlivePending) {
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info
@@ -3088,6 +3104,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -2991,6 +3007,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@Override
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
@@ -56,7 +56,7 @@ index 71030d9e156ce28f1ef9e3ed6845f022a62dfdaf..db8a8e81054e91161d43515fb19ab010
if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) {
int i = (int) (Util.getMillis() - this.keepAliveTime);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 2744735f6a15f6fd20c2b93b9c5c0422923bec01..772fe2509cf2e421b2e9279e6b159e95cf8fc4ae 100644
index 2697188c7e18cf5ae11e6e96a3dab95192470ac1..32520a38274224361a24c3b2fdc92af65a0164da 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -184,6 +184,11 @@ public class PurpurConfig {

View File

@@ -17,7 +17,7 @@ index d24c569f00786b2bde953429aad57025abee72d6..44d837f624e2a23b0412cca4c0646f48
public static final GsonComponentSerializer GSON = GsonComponentSerializer.builder()
.legacyHoverEventSerializer(NBTLegacyHoverEventSerializer.INSTANCE)
diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java
index bd52d7d19060b0922c5165a071a5d12123028f79..6322251336a4300649f207efdb4d404d25023c9a 100644
index f68639508d7ff9a0e743b5282301e62435d53656..89d4b7e4cd4222b61b49833fceda56ffa39710fa 100644
--- a/src/main/java/net/minecraft/world/item/Items.java
+++ b/src/main/java/net/minecraft/world/item/Items.java
@@ -258,7 +258,7 @@ public class Items {
@@ -138,10 +138,10 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..295ae3877b955978105b756055c21e63
return i;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 6c1fb8ac40e8d90714e397d1985498ad650e24b0..a96d7cad39076b08ee43849d3014e71d1c3d4a82 100644
index add5f7a9929835e7f2383ba13e50b4e8fc1b52e9..60787c43d992674a94b4229e27504cb5cd518cff 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -108,6 +108,31 @@ public class PurpurWorldConfig {
@@ -107,6 +107,31 @@ public class PurpurWorldConfig {
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
}

View File

@@ -50,10 +50,10 @@ index fdb3ab919a78221605257ae82bfd026346ce2ffb..e98fc3c235f9160f1928a8afb0d7991a
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a96d7cad39076b08ee43849d3014e71d1c3d4a82..2f5e6325398b2933c751027382593e3e3be17a70 100644
index 60787c43d992674a94b4229e27504cb5cd518cff..125a9e31a46cb093e6c63a6fcb63aba45060888a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1064,7 +1064,10 @@ public class PurpurWorldConfig {
@@ -1063,7 +1063,10 @@ public class PurpurWorldConfig {
public boolean turtleRidable = false;
public boolean turtleRidableInWater = false;
public double turtleMaxHealth = 30.0D;
@@ -65,7 +65,7 @@ index a96d7cad39076b08ee43849d3014e71d1c3d4a82..2f5e6325398b2933c751027382593e3e
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1073,6 +1076,9 @@ public class PurpurWorldConfig {
@@ -1072,6 +1075,9 @@ public class PurpurWorldConfig {
set("mobs.turtle.attributes.max_health", oldValue);
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Disable outdated build check
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index a335d1689ebf01e0e96a45c640188dc024610e2c..01ca38ee35f2c1e5031ea4b8aca09a2a59c4a475 100644
index 910ffb563d66ce3d5a3ea562fd1b9d6d2030cccb..0d201ea0f65d2e9972d39091bc0960ae0221b174 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -276,7 +276,7 @@ public class Main {
@@ -269,7 +269,7 @@ public class Main {
System.setProperty(TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper
}

View File

@@ -120,10 +120,10 @@ index a8ffdc8810152d77668aad7bad15a00c4d194d4c..91e28c414545d2bbb4e2f22c516d0f68
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2f5e6325398b2933c751027382593e3e3be17a70..074f5233fe8eac7c1cf6219a4271562a7b45d94a 100644
index 125a9e31a46cb093e6c63a6fcb63aba45060888a..ce9aff038bf3f2451923a456c47998876fd3a8c8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -453,6 +453,10 @@ public class PurpurWorldConfig {
@@ -452,6 +452,10 @@ public class PurpurWorldConfig {
public double giantMovementSpeed = 0.5D;
public double giantAttackDamage = 50.0D;
public double giantMaxHealth = 100.0D;
@@ -134,7 +134,7 @@ index 2f5e6325398b2933c751027382593e3e3be17a70..074f5233fe8eac7c1cf6219a4271562a
private void giantSettings() {
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
@@ -468,6 +472,10 @@ public class PurpurWorldConfig {
@@ -467,6 +471,10 @@ public class PurpurWorldConfig {
set("mobs.giant.attributes.max_health", oldValue);
}
giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Zombie horse naturally spawn
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 67cdf31f3ce9f85743ce10bd2dee6854be1d69f9..0b22974ffe3ad2dd858f571980107eba9b56882e 100644
index a02b0d819392db96a370c57818a378dd5fa27ef4..e4ac7b3a8a10056e3e24eef5263cafa65f29145f 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -87,6 +87,7 @@ import net.minecraft.world.entity.ai.village.poi.PoiManager;
@@ -16,7 +16,7 @@ index 67cdf31f3ce9f85743ce10bd2dee6854be1d69f9..0b22974ffe3ad2dd858f571980107eba
import net.minecraft.world.entity.animal.horse.SkeletonHorse;
import net.minecraft.world.entity.boss.EnderDragonPart;
import net.minecraft.world.entity.boss.enderdragon.EnderDragon;
@@ -899,12 +900,18 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl
@@ -713,12 +714,18 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl
boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * paperConfig.skeleHorseSpawnChance && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper
if (flag1) {
@@ -42,10 +42,10 @@ index 67cdf31f3ce9f85743ce10bd2dee6854be1d69f9..0b22974ffe3ad2dd858f571980107eba
LightningBolt entitylightning = (LightningBolt) EntityType.LIGHTNING_BOLT.create((net.minecraft.world.level.Level) this);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 074f5233fe8eac7c1cf6219a4271562a7b45d94a..d145fff0ecd3d898e13dd8d74224f53a4512649c 100644
index ce9aff038bf3f2451923a456c47998876fd3a8c8..4c45a692a62fd451718c72ce031552bcd0261048 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1251,6 +1251,7 @@ public class PurpurWorldConfig {
@@ -1250,6 +1250,7 @@ public class PurpurWorldConfig {
public double zombieHorseJumpStrengthMax = 1.0D;
public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D;
@@ -53,7 +53,7 @@ index 074f5233fe8eac7c1cf6219a4271562a7b45d94a..d145fff0ecd3d898e13dd8d74224f53a
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -1266,6 +1267,7 @@ public class PurpurWorldConfig {
@@ -1265,6 +1266,7 @@ public class PurpurWorldConfig {
zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax);
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);

View File

@@ -24,10 +24,10 @@ index b71a6af3c2d1ca2a946b23efb11b0e794840cf25..b2b3630a90c685b0a692efb9bf8bb111
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d145fff0ecd3d898e13dd8d74224f53a4512649c..a32dc6f6b9d2f1036e4d8393f772c70ef9178177 100644
index 4c45a692a62fd451718c72ce031552bcd0261048..b8dcd087a87e031aeca1e3c4c68aaaefd18164b7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -275,6 +275,7 @@ public class PurpurWorldConfig {
@@ -274,6 +274,7 @@ public class PurpurWorldConfig {
public boolean creeperRidable = false;
public boolean creeperRidableInWater = false;
public double creeperMaxHealth = 20.0D;
@@ -35,7 +35,7 @@ index d145fff0ecd3d898e13dd8d74224f53a4512649c..a32dc6f6b9d2f1036e4d8393f772c70e
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -284,6 +285,7 @@ public class PurpurWorldConfig {
@@ -283,6 +284,7 @@ public class PurpurWorldConfig {
set("mobs.creeper.attributes.max_health", oldValue);
}
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);

View File

@@ -38,10 +38,10 @@ index 587feda351efae19407cb9f23c6c1d42d5ed0cc9..e0ba1ef404c9f8ba1eae563b733d10d9
int i = this.random.nextInt(100);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a32dc6f6b9d2f1036e4d8393f772c70ef9178177..4578060c276d479a8a89e42064c10ee724fa8386 100644
index b8dcd087a87e031aeca1e3c4c68aaaefd18164b7..8a502e31350e6e2aa829f3601ceaffded6c621ce 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -829,6 +829,8 @@ public class PurpurWorldConfig {
@@ -828,6 +828,8 @@ public class PurpurWorldConfig {
public boolean rabbitRidable = false;
public boolean rabbitRidableInWater = false;
public double rabbitMaxHealth = 3.0D;
@@ -50,7 +50,7 @@ index a32dc6f6b9d2f1036e4d8393f772c70ef9178177..4578060c276d479a8a89e42064c10ee7
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -838,6 +840,8 @@ public class PurpurWorldConfig {
@@ -837,6 +839,8 @@ public class PurpurWorldConfig {
set("mobs.rabbit.attributes.max_health", oldValue);
}
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Dont send useless entity packets
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
index a00627e0fa38632449042f59c053b4dac13e58bf..8218a074cdbe9df514f4de5aefd3c2669ec65250 100644
index 2f3e69ad809199ffc2661d524bb627ec8dbc2e80..dc821e0565be38171922546208423613b7682de8 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -188,6 +188,7 @@ public class ServerEntity {
@@ -38,9 +38,9 @@ index a00627e0fa38632449042f59c053b4dac13e58bf..8218a074cdbe9df514f4de5aefd3c266
+
public void removePairing(ServerPlayer player) {
this.entity.stopSeenByPlayer(player);
player.connection.send(new ClientboundRemoveEntityPacket(this.entity.getId()));
player.connection.send(new ClientboundRemoveEntitiesPacket(new int[]{this.entity.getId()}));
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index e425f660e93db4186a9d0ef3f43137667d5ecd4f..4fd18a3d1d8d72d42e14de2b59c2564a18721709 100644
index be5f68ac35d364b07eddb549bc43a14137258d40..297c3d4427cfff2355f7ec5b276b4273584a56ac 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -208,6 +208,11 @@ public class PurpurConfig {

View File

@@ -75,10 +75,10 @@ index 80749df5d00df415a1b9e7c0e8586625b6453ffb..406b6ed8084c18da1062d8e8049bdfff
// Paper start - Cancellable death event
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4578060c276d479a8a89e42064c10ee724fa8386..8e456185b5207dd63a0e6f18608f43fd341e71c1 100644
index 8a502e31350e6e2aa829f3601ceaffded6c621ce..8fff2beaaf58e683abb8251c351035bcf48509de 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -423,6 +423,7 @@ public class PurpurWorldConfig {
@@ -422,6 +422,7 @@ public class PurpurWorldConfig {
public boolean foxRidable = false;
public boolean foxRidableInWater = false;
public double foxMaxHealth = 10.0D;
@@ -86,7 +86,7 @@ index 4578060c276d479a8a89e42064c10ee724fa8386..8e456185b5207dd63a0e6f18608f43fd
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -432,6 +433,7 @@ public class PurpurWorldConfig {
@@ -431,6 +432,7 @@ public class PurpurWorldConfig {
set("mobs.fox.attributes.max_health", oldValue);
}
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);

View File

@@ -59,10 +59,10 @@ index 18780fb268cabb47bb0deb84c44520831c1a762b..d39c88af3882a09ff1a06f9052d7b9b8
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 8e456185b5207dd63a0e6f18608f43fd341e71c1..4a2c8e7fbdae48d1a4a654cce558538f5ac8d4ce 100644
index 8fff2beaaf58e683abb8251c351035bcf48509de..949c301a97939e92d7a64ac8473e0ebe8ee27c30 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -805,6 +805,8 @@ public class PurpurWorldConfig {
@@ -804,6 +804,8 @@ public class PurpurWorldConfig {
public boolean polarBearRidable = false;
public boolean polarBearRidableInWater = false;
public double polarBearMaxHealth = 30.0D;
@@ -71,7 +71,7 @@ index 8e456185b5207dd63a0e6f18608f43fd341e71c1..4a2c8e7fbdae48d1a4a654cce558538f
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -814,6 +816,9 @@ public class PurpurWorldConfig {
@@ -813,6 +815,9 @@ public class PurpurWorldConfig {
set("mobs.polar_bear.attributes.max_health", oldValue);
}
polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth);

View File

@@ -51,10 +51,10 @@ index 55dccf338f9fba17fbcb88672d36b83e7bbec88b..eaec6eba96db3b8ce046208a4a1e5fc4
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4a2c8e7fbdae48d1a4a654cce558538f5ac8d4ce..7ae28310a29fd808f48212d30e722ac09de40eca 100644
index 949c301a97939e92d7a64ac8473e0ebe8ee27c30..fdbfd3ffde05f2787ad319801e845e51cd516671 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -235,6 +235,7 @@ public class PurpurWorldConfig {
@@ -234,6 +234,7 @@ public class PurpurWorldConfig {
public boolean chickenRidable = false;
public boolean chickenRidableInWater = false;
public double chickenMaxHealth = 4.0D;
@@ -62,7 +62,7 @@ index 4a2c8e7fbdae48d1a4a654cce558538f5ac8d4ce..7ae28310a29fd808f48212d30e722ac0
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -244,6 +245,7 @@ public class PurpurWorldConfig {
@@ -243,6 +244,7 @@ public class PurpurWorldConfig {
set("mobs.chicken.attributes.max_health", oldValue);
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);

View File

@@ -17,10 +17,10 @@ index 5fc66d7096afcfe63eba774e1dc330ac3263e4b0..7a3a364f5e3b025cc0a5694401cb9298
if (!this.canTick) {
if (this.noTickPoseDirty) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7ae28310a29fd808f48212d30e722ac09de40eca..776615a91c63bc47239211c303d3424bcdf89746 100644
index fdbfd3ffde05f2787ad319801e845e51cd516671..0edf2a2bbeabba2f90f3611de937f287aee5d194 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -93,6 +93,11 @@ public class PurpurWorldConfig {
@@ -92,6 +92,11 @@ public class PurpurWorldConfig {
return value.isEmpty() ? fallback : value;
}

View File

@@ -49,10 +49,10 @@ index 4cab98b5e441a174482893d3d289bbafa1f7a5fc..fa3cdff99a16b67ed86c8f7940ffa139
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 776615a91c63bc47239211c303d3424bcdf89746..e3f9e6d7efab3c2b5249b7e0f3933c1a7112f995 100644
index 0edf2a2bbeabba2f90f3611de937f287aee5d194..84520a367cf4f7a859076a24456f18d006e4247d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -212,6 +212,9 @@ public class PurpurWorldConfig {
@@ -211,6 +211,9 @@ public class PurpurWorldConfig {
public boolean catRidable = false;
public boolean catRidableInWater = false;
public double catMaxHealth = 10.0D;
@@ -62,7 +62,7 @@ index 776615a91c63bc47239211c303d3424bcdf89746..e3f9e6d7efab3c2b5249b7e0f3933c1a
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -221,6 +224,9 @@ public class PurpurWorldConfig {
@@ -220,6 +223,9 @@ public class PurpurWorldConfig {
set("mobs.cat.attributes.max_health", oldValue);
}
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);

View File

@@ -114,10 +114,10 @@ index bee82d5bf600cbeacfcede600e5606529af1435e..9da76357da891a70e20ad80f50873b3b
public Cow getBreedOffspring(ServerLevel world, AgeableMob entity) {
return (Cow) EntityType.COW.create((Level) world);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e3f9e6d7efab3c2b5249b7e0f3933c1a7112f995..06d8ecd2feb6a13d1bcffb3f02025bcc8299e25f 100644
index 84520a367cf4f7a859076a24456f18d006e4247d..2b938123386f9d9e3907159c2be6b6bc48b5447c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -274,6 +274,7 @@ public class PurpurWorldConfig {
@@ -273,6 +273,7 @@ public class PurpurWorldConfig {
public boolean cowRidable = false;
public boolean cowRidableInWater = false;
public double cowMaxHealth = 10.0D;
@@ -125,7 +125,7 @@ index e3f9e6d7efab3c2b5249b7e0f3933c1a7112f995..06d8ecd2feb6a13d1bcffb3f02025bcc
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -283,6 +284,7 @@ public class PurpurWorldConfig {
@@ -282,6 +283,7 @@ public class PurpurWorldConfig {
set("mobs.cow.attributes.max_health", oldValue);
}
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);

View File

@@ -28,10 +28,10 @@ index f4a099e691dce3c57069e76d67859161b459098e..518d28dc0b5b8c04263c93a4347e4c97
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 06d8ecd2feb6a13d1bcffb3f02025bcc8299e25f..3e0c36363efd2e30f7b14a1db1dceb554c0c4497 100644
index 2b938123386f9d9e3907159c2be6b6bc48b5447c..2ed4b811d05d53fd99be70c37ebacc867fb33da9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -764,6 +764,7 @@ public class PurpurWorldConfig {
@@ -763,6 +763,7 @@ public class PurpurWorldConfig {
public boolean pigRidable = false;
public boolean pigRidableInWater = false;
public double pigMaxHealth = 10.0D;
@@ -39,7 +39,7 @@ index 06d8ecd2feb6a13d1bcffb3f02025bcc8299e25f..3e0c36363efd2e30f7b14a1db1dceb55
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -773,6 +774,7 @@ public class PurpurWorldConfig {
@@ -772,6 +773,7 @@ public class PurpurWorldConfig {
set("mobs.pig.attributes.max_health", oldValue);
}
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);

View File

@@ -32,10 +32,10 @@ index 7fbe1a62e9c67a8bdaf13aaa9fae1d8742d75148..0733f9c057fef17fd79a4769f19b78f4
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3e0c36363efd2e30f7b14a1db1dceb554c0c4497..b3ef2d8617580e183e60dff81a767cf3e8f29900 100644
index 2ed4b811d05d53fd99be70c37ebacc867fb33da9..469784fc896f1cc739bd4b943c170b53f74735f2 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -995,6 +995,8 @@ public class PurpurWorldConfig {
@@ -994,6 +994,8 @@ public class PurpurWorldConfig {
public boolean snowGolemRidableInWater = false;
public boolean snowGolemLeaveTrailWhenRidden = false;
public double snowGolemMaxHealth = 4.0D;
@@ -44,7 +44,7 @@ index 3e0c36363efd2e30f7b14a1db1dceb554c0c4497..b3ef2d8617580e183e60dff81a767cf3
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1005,6 +1007,8 @@ public class PurpurWorldConfig {
@@ -1004,6 +1006,8 @@ public class PurpurWorldConfig {
set("mobs.snow_golem.attributes.max_health", oldValue);
}
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Ender dragon always drop full exp
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 177c5b385613ac08a75500013326874ff31a1992..a70c631691512a633c7fe4df9e9f2881f7397298 100644
index d3caa18f5de2d96eae691655dd13e83f82c61e0c..f637cd740ec3801ce1c387473b5c4ff6080e76ec 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -709,7 +709,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -18,10 +18,10 @@ index 177c5b385613ac08a75500013326874ff31a1992..a70c631691512a633c7fe4df9e9f2881
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b3ef2d8617580e183e60dff81a767cf3e8f29900..2640d71e77b5c8ebcad118c11f2424cca5331bc7 100644
index 469784fc896f1cc739bd4b943c170b53f74735f2..0c026a779905d3e0947ac4a91397f82ac5d2921b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -377,6 +377,7 @@ public class PurpurWorldConfig {
@@ -376,6 +376,7 @@ public class PurpurWorldConfig {
public boolean enderDragonRidableInWater = false;
public double enderDragonMaxY = 256D;
public double enderDragonMaxHealth = 200.0D;
@@ -29,7 +29,7 @@ index b3ef2d8617580e183e60dff81a767cf3e8f29900..2640d71e77b5c8ebcad118c11f2424cc
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -391,6 +392,7 @@ public class PurpurWorldConfig {
@@ -390,6 +391,7 @@ public class PurpurWorldConfig {
set("mobs.ender_dragon.attributes.max_health", oldValue);
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);

View File

@@ -35,10 +35,10 @@ index 1844ea93f8cea420f01937f85ed17c0ec1bb8bf0..9e80ba8970cad91ea22ac701f76e1413
} else {
return InteractionResult.PASS;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2640d71e77b5c8ebcad118c11f2424cca5331bc7..410282f97889e808d18b0374ad7d89fc050f3df8 100644
index 0c026a779905d3e0947ac4a91397f82ac5d2921b..82e79d28a75a0610e37044cf3df2e23e9fa088ff 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -138,6 +138,11 @@ public class PurpurWorldConfig {
@@ -137,6 +137,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 1653928faba2422bfa5fff93be5b4d8f9c9447ed..7722a0e82dda2342feed5d636583e41e1d90b8df 100644
index 335893049b3625a80cef78526eff3761cd8d5fbf..f641c27b9ab9e2ed5cd4f8122998df58577225ea 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1464,6 +1464,7 @@ public class ServerPlayer extends Player {
@@ -1460,6 +1460,7 @@ public class ServerPlayer extends Player {
@Override
public void openTextEdit(SignBlockEntity sign) {
@@ -17,10 +17,10 @@ index 1653928faba2422bfa5fff93be5b4d8f9c9447ed..7722a0e82dda2342feed5d636583e41e
this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos()));
this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos()));
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 8bcc80f2dabbc43b2f0970f53002f19e565d9b9e..56c8432a7c9f189f8afcd1001eb029c00d06e366 100644
index fa38157d4c422557b8ee05f47c833f840556b93d..0252c916dd1ac44265401696e34b1c8e71b2f3c1 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3078,11 +3078,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -2981,11 +2981,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
}
}
// Paper end
@@ -70,10 +70,10 @@ index 9b5d11ece006d7aa893360a84ba652c666517ac1..bdd6d8201ac078635d637081a37f353c
@Override
public ClientboundBlockEntityDataPacket getUpdatePacket() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 410282f97889e808d18b0374ad7d89fc050f3df8..7548312d059e1e7745d1265f3c783580a62fcd46 100644
index 82e79d28a75a0610e37044cf3df2e23e9fa088ff..1849f7970c5356f84a2b50a2a1f1b9742d822c67 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -138,8 +138,10 @@ public class PurpurWorldConfig {
@@ -137,8 +137,10 @@ public class PurpurWorldConfig {
});
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Allow soil to moisten from water directly under it
diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
index a242a80b16c7d074d52a52728646224b1a0091d4..5d9d77cb382c8075af2713a0ce26c28a35a0aaa8 100644
index aa1ba8b74ab70b6cede99e4853ac0203f388ab06..e59861e0feb20b66735a76c19fd4e48bf13443e2 100644
--- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
@@ -50,23 +50,6 @@ public class FarmBlock extends Block {
@@ -32,20 +32,20 @@ index a242a80b16c7d074d52a52728646224b1a0091d4..5d9d77cb382c8075af2713a0ce26c28a
@Override
public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) {
return FarmBlock.SHAPE;
@@ -159,7 +142,7 @@ public class FarmBlock extends Block {
}
}
@@ -151,7 +134,7 @@ public class FarmBlock extends Block {
blockposition1 = (BlockPos) iterator.next();
} while (!world.getFluidState(blockposition1).is((Tag) FluidTags.WATER));
- return false;
- return true;
+ return ((ServerLevel) world).purpurConfig.farmlandGetsMoistFromBelow && world.getFluidState(pos.relative(Direction.DOWN)).is(FluidTags.WATER); // Purpur
// Tuinity end - remove abstract block iteration
}
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7548312d059e1e7745d1265f3c783580a62fcd46..ba3e9d855b4715a427172a66c3be0b4968904308 100644
index 1849f7970c5356f84a2b50a2a1f1b9742d822c67..8164b35f2c2d80a6b75ac10bd4fe293e47da3eba 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -138,6 +138,11 @@ public class PurpurWorldConfig {
@@ -137,6 +137,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 7722a0e82dda2342feed5d636583e41e1d90b8df..ccc9aacebb93e567b5b882431e5de6b1d2aba2f6 100644
index f641c27b9ab9e2ed5cd4f8122998df58577225ea..fb7470a4f2c28d1010947b4adabb344adcf9802d 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -991,6 +991,7 @@ public class ServerPlayer extends Player {
@@ -987,6 +987,7 @@ public class ServerPlayer extends Player {
if (this.isInvulnerableTo(source)) {
return false;
} else {
@@ -135,7 +135,7 @@ index 9ea3837acc315e5c57f28c63c356efd633f1e6cf..e8b76b67f972c2f44e7611434246a822
}
}
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
index 04d5ef90cd4171f9360017ac0c01ce48ae6ec983..7538262e14c86e4da9cd4cb887b76f649bfef2e6 100644
index 1179c62695da4dcf02590c97d8da3c6fcdbee9ef..a107304351381d68fdaa35a4d7ff214e6c1546a6 100644
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
@@ -70,7 +70,7 @@ import net.minecraft.world.phys.shapes.VoxelShape;
@@ -148,10 +148,10 @@ index 04d5ef90cd4171f9360017ac0c01ce48ae6ec983..7538262e14c86e4da9cd4cb887b76f64
protected final float explosionResistance;
protected final boolean isRandomlyTicking;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ba3e9d855b4715a427172a66c3be0b4968904308..5ff1f15dc01fe9e9a9c52ff09165efb13dfe9c5d 100644
index 8164b35f2c2d80a6b75ac10bd4fe293e47da3eba..47dc4ea4779ff72d0fd204e5c360cba415544325 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -98,6 +98,68 @@ public class PurpurWorldConfig {
@@ -97,6 +97,68 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Disable loot drops on death by cramming
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 28d5fc868498a4a6746b9defa1c06da27a4aa495..5b25fc620161053e1f3811dbdd7fac01491024fd 100644
index 39dfda78320bc04ffb9b4be7b34abef84d4c8eeb..16a507780822e0118f40acae1dff5606136e4806 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1700,8 +1700,10 @@ public abstract class LivingEntity extends Entity {
@@ -1704,8 +1704,10 @@ public abstract class LivingEntity extends Entity {
this.dropEquipment(); // CraftBukkit - from below
if (this.shouldDropLoot() && this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
@@ -20,10 +20,10 @@ index 28d5fc868498a4a6746b9defa1c06da27a4aa495..5b25fc620161053e1f3811dbdd7fac01
// CraftBukkit start - Call death event
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5ff1f15dc01fe9e9a9c52ff09165efb13dfe9c5d..4a28a3769b220ae203da9b72e5330cbb813eae87 100644
index 47dc4ea4779ff72d0fd204e5c360cba415544325..1b305531e884eba8511944b518b69bcac199b631 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -200,6 +200,11 @@ public class PurpurWorldConfig {
@@ -199,6 +199,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Players should not cram to death
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index ccc9aacebb93e567b5b882431e5de6b1d2aba2f6..135f13864a85934c0127aa059bfe6c0e25140dfc 100644
index fb7470a4f2c28d1010947b4adabb344adcf9802d..d4e12961d00c44b3d62bcc5ad710e1379c5b297a 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1441,7 +1441,7 @@ public class ServerPlayer extends Player {
@@ -1437,7 +1437,7 @@ public class ServerPlayer extends Player {
@Override
public boolean isInvulnerableTo(DamageSource damageSource) {
@@ -18,10 +18,10 @@ index ccc9aacebb93e567b5b882431e5de6b1d2aba2f6..135f13864a85934c0127aa059bfe6c0e
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4a28a3769b220ae203da9b72e5330cbb813eae87..aeb3f1286de48393a3a352c32633d1ba87b68c8f 100644
index 1b305531e884eba8511944b518b69bcac199b631..9e105df03e783bd2f29786230a2a66a46ab572e3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -166,6 +166,7 @@ public class PurpurWorldConfig {
@@ -165,6 +165,7 @@ public class PurpurWorldConfig {
public boolean idleTimeoutUpdateTabList = false;
public int playerSpawnInvulnerableTicks = 60;
public boolean playerInvulnerableWhileAcceptingResourcePack = false;
@@ -29,7 +29,7 @@ index 4a28a3769b220ae203da9b72e5330cbb813eae87..aeb3f1286de48393a3a352c32633d1ba
private void playerSettings() {
idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick);
idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities);
@@ -173,6 +174,7 @@ public class PurpurWorldConfig {
@@ -172,6 +173,7 @@ public class PurpurWorldConfig {
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks);
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);

View File

@@ -28,10 +28,10 @@ index f33977d95b6db473be4f95075ba99caf90ad0220..56dc04d8875971ee9a5d077a695509af
return stack.isEmpty() ? new ItemStack(Items.BUCKET) : stack;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index aeb3f1286de48393a3a352c32633d1ba87b68c8f..ceac72f608a9023480464d293d9582792ab9d2fa 100644
index 9e105df03e783bd2f29786230a2a66a46ab572e3..c612eaaef7072e6d737b52bcb9dc425e5af6154c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -203,8 +203,10 @@ public class PurpurWorldConfig {
@@ -202,8 +202,10 @@ public class PurpurWorldConfig {
}
public boolean disableDropsOnCrammingDeath = false;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix the dead lagging the server
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index f3c5d5906a8ce64c93f4fb1f63474800a24ef012..d5df366dcbbd92523b9dd3a4afd4186a4d7ce5a1 100644
index a43c95abc8f6d0226ca097495ed9aeab0649d02b..f3e842a7ca7c8acba63796a5e74bb89545c829fb 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1735,6 +1735,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -1549,6 +1549,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
this.setXRot(Mth.clamp(pitch, -90.0F, 90.0F) % 360.0F);
this.yRotO = this.getYRot();
this.xRotO = this.getXRot();
@@ -17,10 +17,10 @@ index f3c5d5906a8ce64c93f4fb1f63474800a24ef012..d5df366dcbbd92523b9dd3a4afd4186a
public void absMoveTo(double x, double y, double z) {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 5b25fc620161053e1f3811dbdd7fac01491024fd..54bc16b6971259f6083ca530d4109909c86a3e1e 100644
index 16a507780822e0118f40acae1dff5606136e4806..6dd8ee52c29e0df1c6d0abd547618ccedd9f4bcc 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2877,7 +2877,7 @@ public abstract class LivingEntity extends Entity {
@@ -2880,7 +2880,7 @@ public abstract class LivingEntity extends Entity {
}
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 62ba8ce35dc5827607c99163c6005ea0c4b7ee16..c92b57e7e5d1b31db8b7e75a9013df41eb2806c4 100644
index f2c328c52c127eb48b6c4ab4e1348a1bfd75c299..826fe9c183521e57466ba73d3e819c5368ff46c6 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1156,6 +1156,7 @@ public abstract class PlayerList {
@@ -1157,6 +1157,7 @@ public abstract class PlayerList {
} else {
b0 = (byte) (24 + i);
}

View File

@@ -17,10 +17,10 @@ index 8212ee2cc1242c0a3626f3643c455f3be0de18c2..aaf6f43c0f37a51a7b2db57b8da43365
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ceac72f608a9023480464d293d9582792ab9d2fa..5ef65a767b1a052cfeadcb612c2d7578eee38bf0 100644
index c612eaaef7072e6d737b52bcb9dc425e5af6154c..b72963171098778793b4f12fe37deb8b271db4b7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1307,6 +1307,7 @@ public class PurpurWorldConfig {
@@ -1306,6 +1306,7 @@ public class PurpurWorldConfig {
public boolean witherSkeletonRidable = false;
public boolean witherSkeletonRidableInWater = false;
public double witherSkeletonMaxHealth = 20.0D;
@@ -28,7 +28,7 @@ index ceac72f608a9023480464d293d9582792ab9d2fa..5ef65a767b1a052cfeadcb612c2d7578
private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -1316,6 +1317,7 @@ public class PurpurWorldConfig {
@@ -1315,6 +1316,7 @@ public class PurpurWorldConfig {
set("mobs.wither_skeleton.attributes.max_health", oldValue);
}
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 34e364afff8cfe060244e5dd7cc0c34033dc6945..c5f1141d46acca284f5489d68d3b628e669950cb 100644
index ac78bea2e411324c10a0183b1c73ce542bdbd13d..9fe12f0be064940e195b33559752349c6ca8680e 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1255,7 +1255,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1190,7 +1190,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickServer(this::haveTime);
this.profiler.popPush("nextTickWait");
this.mayHaveDelayedTasks = true;
@@ -24,7 +24,7 @@ index 34e364afff8cfe060244e5dd7cc0c34033dc6945..c5f1141d46acca284f5489d68d3b628e
this.profiler.pop();
this.endMetricsRecordingTick();
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 4fd18a3d1d8d72d42e14de2b59c2564a18721709..db9c33cc36099fb6b203a5526b6399ca3a067d83 100644
index 297c3d4427cfff2355f7ec5b276b4273584a56ac..0ae18dfbd6ea05737cd456762da32efe3a51aef8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -219,4 +219,9 @@ public class PurpurConfig {

View File

@@ -18,10 +18,10 @@ index c95eef8596fe3e1ca83e620a6c54b164c797cbe1..1e6a5404d767318de29184b3e3a2bc41
if (!this.level.isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) {
this.spawnAtLocation(this.getPickupItem(), 0.1F);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5ef65a767b1a052cfeadcb612c2d7578eee38bf0..ad4f059f5ad47c115626ae6460242cbd599a2617 100644
index b72963171098778793b4f12fe37deb8b271db4b7..187aa9977951171fb75be176ef8f4a9eb19686ff 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -204,9 +204,11 @@ public class PurpurWorldConfig {
@@ -203,9 +203,11 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true;

View File

@@ -38,10 +38,10 @@ index b061ecc42122ef66fbf87fe017023abca5728a01..6e0b5fbf5b0d216b6b7c647d45ef37cd
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ad4f059f5ad47c115626ae6460242cbd599a2617..6e63730c50f63c87b70758b0d35cf75fa23af853 100644
index 187aa9977951171fb75be176ef8f4a9eb19686ff..20cafa733409f3fe404f9705fcfd8e79ca00c4f5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -376,6 +376,7 @@ public class PurpurWorldConfig {
@@ -375,6 +375,7 @@ public class PurpurWorldConfig {
public boolean creeperRidableInWater = false;
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D;
@@ -49,7 +49,7 @@ index ad4f059f5ad47c115626ae6460242cbd599a2617..6e63730c50f63c87b70758b0d35cf75f
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -386,6 +387,7 @@ public class PurpurWorldConfig {
@@ -385,6 +386,7 @@ public class PurpurWorldConfig {
}
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
@@ -57,7 +57,7 @@ index ad4f059f5ad47c115626ae6460242cbd599a2617..6e63730c50f63c87b70758b0d35cf75f
}
public boolean dolphinRidable = false;
@@ -483,6 +485,7 @@ public class PurpurWorldConfig {
@@ -482,6 +484,7 @@ public class PurpurWorldConfig {
public boolean endermanRidable = false;
public boolean endermanRidableInWater = false;
public double endermanMaxHealth = 40.0D;
@@ -65,7 +65,7 @@ index ad4f059f5ad47c115626ae6460242cbd599a2617..6e63730c50f63c87b70758b0d35cf75f
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -492,6 +495,7 @@ public class PurpurWorldConfig {
@@ -491,6 +494,7 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max_health", oldValue);
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);

View File

@@ -41,10 +41,10 @@ index d2588a91b55aebdecf8e1644498111ccf84a9dc9..393061e13375bf7a7ee57973b4abac83
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 6e63730c50f63c87b70758b0d35cf75fa23af853..606bd7986499f41cdbc815679d02d029d9d9a8a3 100644
index 20cafa733409f3fe404f9705fcfd8e79ca00c4f5..9f1156d4e16b85167a14438fcce007600be21660 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1235,6 +1235,7 @@ public class PurpurWorldConfig {
@@ -1234,6 +1234,7 @@ public class PurpurWorldConfig {
public double villagerMaxHealth = 20.0D;
public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
@@ -52,7 +52,7 @@ index 6e63730c50f63c87b70758b0d35cf75fa23af853..606bd7986499f41cdbc815679d02d029
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1246,6 +1247,7 @@ public class PurpurWorldConfig {
@@ -1245,6 +1246,7 @@ public class PurpurWorldConfig {
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
@@ -60,7 +60,7 @@ index 6e63730c50f63c87b70758b0d35cf75fa23af853..606bd7986499f41cdbc815679d02d029
}
public boolean vindicatorRidable = false;
@@ -1265,6 +1267,7 @@ public class PurpurWorldConfig {
@@ -1264,6 +1266,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidable = false;
public boolean wanderingTraderRidableInWater = false;
public double wanderingTraderMaxHealth = 20.0D;
@@ -68,7 +68,7 @@ index 6e63730c50f63c87b70758b0d35cf75fa23af853..606bd7986499f41cdbc815679d02d029
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1274,6 +1277,7 @@ public class PurpurWorldConfig {
@@ -1273,6 +1276,7 @@ public class PurpurWorldConfig {
set("mobs.wandering_trader.attributes.max_health", oldValue);
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow leashing villagers
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index c35c5d58523be370732a19c52db4f8e94c88b12f..e07fbf6ba955a6c80ebf64db4d0f73f24f1aee9a 100644
index a597a09b428cb2b3dc7fef5503ef705cf7b2a1fb..ae1beda7d2eba8afcf313de164e123fb7c8b3937 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1214,6 +1214,7 @@ public abstract class Mob extends LivingEntity {
@@ -1210,6 +1210,7 @@ public abstract class Mob extends LivingEntity {
if (!this.isAlive()) {
return InteractionResult.PASS;
} else if (this.getLeashHolder() == player) {
@@ -49,10 +49,10 @@ index 393061e13375bf7a7ee57973b4abac83ffa15fa3..c48935d35a6141c41db22e3ec172d599
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 606bd7986499f41cdbc815679d02d029d9d9a8a3..2a3b0814ce5c8624901aa6d7447848c3decbec96 100644
index 9f1156d4e16b85167a14438fcce007600be21660..11e0a19bbf1c4ed88e95e15aa82b12a6d601ebed 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1236,6 +1236,7 @@ public class PurpurWorldConfig {
@@ -1235,6 +1235,7 @@ public class PurpurWorldConfig {
public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerFollowEmeraldBlock = false;
@@ -60,7 +60,7 @@ index 606bd7986499f41cdbc815679d02d029d9d9a8a3..2a3b0814ce5c8624901aa6d7447848c3
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1248,6 +1249,7 @@ public class PurpurWorldConfig {
@@ -1247,6 +1248,7 @@ public class PurpurWorldConfig {
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
@@ -68,7 +68,7 @@ index 606bd7986499f41cdbc815679d02d029d9d9a8a3..2a3b0814ce5c8624901aa6d7447848c3
}
public boolean vindicatorRidable = false;
@@ -1268,6 +1270,7 @@ public class PurpurWorldConfig {
@@ -1267,6 +1269,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidableInWater = false;
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
@@ -76,7 +76,7 @@ index 606bd7986499f41cdbc815679d02d029d9d9a8a3..2a3b0814ce5c8624901aa6d7447848c3
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1278,6 +1281,7 @@ public class PurpurWorldConfig {
@@ -1277,6 +1280,7 @@ public class PurpurWorldConfig {
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);

View File

@@ -18,10 +18,10 @@ index e903fe670e50ff34187994d36a2d875d5f51bdb6..3865f16e027307f5b8b2a5617b66ffd8
for (int i = 0; i < 10; ++i) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2a3b0814ce5c8624901aa6d7447848c3decbec96..495fa66d1b0974e05a353ceba56b4fbb64ee758c 100644
index 11e0a19bbf1c4ed88e95e15aa82b12a6d601ebed..6b5b2f30f7c5dc38b6e190f45f29ab5578b9a8c4 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1237,6 +1237,8 @@ public class PurpurWorldConfig {
@@ -1236,6 +1236,8 @@ public class PurpurWorldConfig {
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
@@ -30,7 +30,7 @@ index 2a3b0814ce5c8624901aa6d7447848c3decbec96..495fa66d1b0974e05a353ceba56b4fbb
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1250,6 +1252,8 @@ public class PurpurWorldConfig {
@@ -1249,6 +1251,8 @@ public class PurpurWorldConfig {
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);

View File

@@ -58,10 +58,10 @@ index 695783e64564b1d2a178d57a89737d2a97ab9014..cd1a33a1f10d04a91358f51d736bda34
protected boolean canConvertToSource() {
return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 495fa66d1b0974e05a353ceba56b4fbb64ee758c..cb10b1ebb97691b2610997dfde1475eeec277307 100644
index 6b5b2f30f7c5dc38b6e190f45f29ab5578b9a8c4..ca60ae312600ea01308659f333d9c8e7ed3de0b3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -216,6 +216,13 @@ public class PurpurWorldConfig {
@@ -215,6 +215,13 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
}

View File

@@ -18,10 +18,10 @@ index cd1a33a1f10d04a91358f51d736bda34110324c4..b0d671ba015d1ad37fdf600b8e70def2
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index cb10b1ebb97691b2610997dfde1475eeec277307..94de4e4edb07c033afa8d100d8267bc44fb94e3b 100644
index ca60ae312600ea01308659f333d9c8e7ed3de0b3..0c02205712c7fbc8fe584b99dbc37ce023e09a3c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -218,9 +218,13 @@ public class PurpurWorldConfig {
@@ -217,9 +217,13 @@ public class PurpurWorldConfig {
public boolean lavaInfinite = false;
public int lavaInfiniteRequiredSources = 2;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add player death exp control options
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index e0544699714fd4c6ef2deb17f49b8246a7021463..831a62e56c745884f34fb5d8f84f037543d77d1d 100644
index 995098c7e7eaa15fa1cda40fdb763cf4607f3381..fbdf7d211fa7b3acaddc035ec6e04ab599c32c78 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1909,9 +1909,18 @@ public abstract class Player extends LivingEntity {
@@ -1900,9 +1900,18 @@ public abstract class Player extends LivingEntity {
@Override
protected int getExperienceReward(Player player) {
if (!this.level.getGameRules().getBoolean(GameRules.RULE_KEEPINVENTORY) && !this.isSpectator()) {
@@ -31,10 +31,10 @@ index e0544699714fd4c6ef2deb17f49b8246a7021463..831a62e56c745884f34fb5d8f84f0375
return 0;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 94de4e4edb07c033afa8d100d8267bc44fb94e3b..92e0e53a93f63b7f1301d0cc14f7a1178f639ced 100644
index 0c02205712c7fbc8fe584b99dbc37ce023e09a3c..de7efcad4d0db0d14f60ce76f0ee2d1cdbb77e11 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -167,6 +167,8 @@ public class PurpurWorldConfig {
@@ -166,6 +166,8 @@ public class PurpurWorldConfig {
public int playerSpawnInvulnerableTicks = 60;
public boolean playerInvulnerableWhileAcceptingResourcePack = false;
public boolean playersShouldCramToDeath = true;
@@ -43,7 +43,7 @@ index 94de4e4edb07c033afa8d100d8267bc44fb94e3b..92e0e53a93f63b7f1301d0cc14f7a117
private void playerSettings() {
idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick);
idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities);
@@ -175,6 +177,8 @@ public class PurpurWorldConfig {
@@ -174,6 +176,8 @@ public class PurpurWorldConfig {
playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks);
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
playersShouldCramToDeath = getBoolean("gameplay-mechanics.player.should-cram-to-death", playersShouldCramToDeath);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height and damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index d5df366dcbbd92523b9dd3a4afd4186a4d7ce5a1..b9896dd54fe1cd6084f55f697e0f36a3ea242545 100644
index f3e842a7ca7c8acba63796a5e74bb89545c829fb..513efac159e0285be3ea4353dce26067f18898bd 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -767,7 +767,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -698,7 +698,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
public void checkOutOfWorld() {
// Paper start - Configurable nether ceiling damage
@@ -18,10 +18,10 @@ index d5df366dcbbd92523b9dd3a4afd4186a4d7ce5a1..b9896dd54fe1cd6084f55f697e0f36a3
&& this.getY() >= this.level.paperConfig.netherVoidTopDamageHeight)) {
// Paper end
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 54bc16b6971259f6083ca530d4109909c86a3e1e..b4640aa8fe8a37a6f27a626862b68b630bd370cd 100644
index 6dd8ee52c29e0df1c6d0abd547618ccedd9f4bcc..ddc469e3c431c417820461ea9cb6e9c8bbad17cd 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2381,7 +2381,7 @@ public abstract class LivingEntity extends Entity {
@@ -2385,7 +2385,7 @@ public abstract class LivingEntity extends Entity {
@Override
protected void outOfWorld() {
@@ -31,10 +31,10 @@ index 54bc16b6971259f6083ca530d4109909c86a3e1e..b4640aa8fe8a37a6f27a626862b68b63
protected void updateSwingTime() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 92e0e53a93f63b7f1301d0cc14f7a1178f639ced..905f75f78eabc61b1ab2a4157cbd806c53062990 100644
index de7efcad4d0db0d14f60ce76f0ee2d1cdbb77e11..622a73529972ff9906e0fdea43c43ee3d123f418 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -209,10 +209,14 @@ public class PurpurWorldConfig {
@@ -208,10 +208,14 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index b9896dd54fe1cd6084f55f697e0f36a3ea242545..d2828fabedd353fb8a854fbd0beb978f5a93b504 100644
index 513efac159e0285be3ea4353dce26067f18898bd..e64d4a3dd193bf7481884616034c5916114c649c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4259,5 +4259,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -4066,5 +4066,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
public boolean processClick(InteractionHand hand) {
return false;
}
@@ -19,7 +19,7 @@ index b9896dd54fe1cd6084f55f697e0f36a3ea242545..d2828fabedd353fb8a854fbd0beb978f
// Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 96631591db018545120ba1c9980a03eb596eb6e5..22dd455b3b9c148f38a63f72901009f864e63a4b 100644
index 2f33897a74ff2bd629b4ffacc4a1e1e0cd6b7987..4527fdd2c2001767c225574e1610ddfaa7bb4f34 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -192,6 +192,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -35,10 +35,10 @@ index 96631591db018545120ba1c9980a03eb596eb6e5..22dd455b3b9c148f38a63f72901009f8
skull.setPosRaw(headX, headY, headZ);
level.addFreshEntity(skull);
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
index 572a013445bd83d366cce27d0e015ba8271df7e0..bba780934f4bb05bdb5ff8e69dc615a6b555b2f0 100644
index 69ac9ed94b1890f9bd5ba21cdfe31e42529274e1..7ee8272b40d5c1dcd45a948e1a72063c8106ea5f 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
@@ -91,6 +91,7 @@ public class EntityStorage implements EntityPersistentStorage<Entity> {
@@ -92,6 +92,7 @@ public class EntityStorage implements EntityPersistentStorage<Entity> {
ListTag listTag = new ListTag();
final java.util.Map<net.minecraft.world.entity.EntityType<?>, Integer> savedEntityCounts = new java.util.HashMap<>(); // Paper
dataList.getEntities().forEach((entity) -> {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index e07fbf6ba955a6c80ebf64db4d0f73f24f1aee9a..de3f7b0798d803e6d13a3c95aaaef3045ea22fed 100644
index ae1beda7d2eba8afcf313de164e123fb7c8b3937..f7c71db9e33b7127f13f8d9b802322deda375c49 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -62,6 +62,7 @@ import net.minecraft.world.item.ProjectileWeaponItem;
@@ -16,7 +16,7 @@ index e07fbf6ba955a6c80ebf64db4d0f73f24f1aee9a..de3f7b0798d803e6d13a3c95aaaef304
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.GameRules;
import net.minecraft.world.level.ItemLike;
@@ -1070,6 +1071,12 @@ public abstract class Mob extends LivingEntity {
@@ -1066,6 +1067,12 @@ public abstract class Mob extends LivingEntity {
}
@@ -43,10 +43,10 @@ index aab4a63e61aced51b1b6c885fd8b8426a4f14408..ad095c6bc7e00d286c83e37f84d8ed5d
// CraftBukkit start
Level world = pointer.getLevel();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 905f75f78eabc61b1ab2a4157cbd806c53062990..a7604a133913100485deef79de96190eb851fbe1 100644
index 622a73529972ff9906e0fdea43c43ee3d123f418..af4bf306c118fa109b8745e7ac8a0bcaa38a0fbc 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -219,6 +219,11 @@ public class PurpurWorldConfig {
@@ -218,6 +218,11 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
}

View File

@@ -17,10 +17,10 @@ index aa7c022c4faade23bd9061311d4152cf845d3331..d4a19fc38027717e43353bc62ef23e56
} else {
return Boat.Status.IN_AIR;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a7604a133913100485deef79de96190eb851fbe1..bd17ffc80d855011ac389d00ff34fcdab35289b7 100644
index af4bf306c118fa109b8745e7ac8a0bcaa38a0fbc..be285a9c50893a8bb0a305eb7dde4953b81be768 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -206,12 +206,14 @@ public class PurpurWorldConfig {
@@ -205,12 +205,14 @@ public class PurpurWorldConfig {
});
}

View File

@@ -18,7 +18,7 @@ index 1caf10ecf949e0f465ffe573f3bed1a3c5733a7f..8b6614bde99b17db2e161f3fe4ab2491
if (entry != null) {
ItemStack itemstack = (ItemStack) entry.getValue();
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index aa0680291d042b9b4510008965d80cfd075f277c..7c1852c7e32fe1945fde0ec3f3b9b96dfa0c1043 100644
index 86aa07827ce0e02939ebb594956b1023ffd83ad4..e2cc529405d80f4e8f22117da98ee6474351c218 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -511,6 +511,16 @@ public final class ItemStack {
@@ -39,10 +39,10 @@ index aa0680291d042b9b4510008965d80cfd075f277c..7c1852c7e32fe1945fde0ec3f3b9b96d
return this.tag == null ? 0 : this.tag.getInt("Damage");
}
diff --git a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
index e246bf034a86deba5a15e7c639f5e08213fe7eee..585b29a214d0306ac2d6a170125270c1bbd7c58d 100644
index d439e8ce87bf7da03683a336941c7673b8b166e4..955e482e4bc83f2b777cd2e4254c40beef08853b 100644
--- a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
+++ b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java
@@ -246,6 +246,29 @@ public class EnchantmentHelper {
@@ -270,6 +270,29 @@ public class EnchantmentHelper {
return getItemEnchantmentLevel(Enchantments.CHANNELING, stack) > 0;
}
@@ -73,10 +73,10 @@ index e246bf034a86deba5a15e7c639f5e08213fe7eee..585b29a214d0306ac2d6a170125270c1
Entry<EquipmentSlot, ItemStack> entry = getRandomItemWith(enchantment, entityliving);
return entry != null ? entry.getValue() : ItemStack.EMPTY;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index bd17ffc80d855011ac389d00ff34fcdab35289b7..437997c9e221e2fa8cdda52ad0028a87e41ed081 100644
index be285a9c50893a8bb0a305eb7dde4953b81be768..580871c876a4b115968856c9d99b0442778f8063 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -206,6 +206,7 @@ public class PurpurWorldConfig {
@@ -205,6 +205,7 @@ public class PurpurWorldConfig {
});
}
@@ -84,7 +84,7 @@ index bd17ffc80d855011ac389d00ff34fcdab35289b7..437997c9e221e2fa8cdda52ad0028a87
public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true;
@@ -213,6 +214,7 @@ public class PurpurWorldConfig {
@@ -212,6 +213,7 @@ public class PurpurWorldConfig {
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
private void miscGameplayMechanicsSettings() {

View File

@@ -27,10 +27,10 @@ index fa56cd09102a89692b42f1d14257990508c5c720..f9251183df72ddc56662fd3f02acf216
setListData(vector);
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index c5f1141d46acca284f5489d68d3b628e669950cb..9017d3626f4982a41d34d65758de4844e5502a9c 100644
index 9fe12f0be064940e195b33559752349c6ca8680e..afe22502613d131bbca9af28b1716768e9a46f9c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -308,7 +308,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -303,7 +303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public static final int TPS = 20;
public static final int TICK_TIME = 1000000000 / MinecraftServer.TPS;
private static final int SAMPLE_INTERVAL = 20; // Paper
@@ -39,7 +39,7 @@ index c5f1141d46acca284f5489d68d3b628e669950cb..9017d3626f4982a41d34d65758de4844
public boolean lagging = false; // Purpur
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
// Spigot end
@@ -1137,6 +1137,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1074,6 +1074,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
private long lastTick = 0;
private long catchupTime = 0;
@@ -47,7 +47,7 @@ index c5f1141d46acca284f5489d68d3b628e669950cb..9017d3626f4982a41d34d65758de4844
public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -1228,13 +1229,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1163,13 +1164,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
{
final long diff = curTime - tickSection;
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
@@ -69,10 +69,10 @@ index c5f1141d46acca284f5489d68d3b628e669950cb..9017d3626f4982a41d34d65758de4844
lagging = recentTps[0] < net.pl3x.purpur.PurpurConfig.laggingThreshold; // Purpur
tickSection = curTime;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 87cde1241a5ec525b8c1af127bf2e33c1dd87c4b..e6c77e7ecfa03f948423a68df0266210d0a0274d 100644
index e7ec300b3330cee49bb2fce76dc35f638a4f3b52..167cb8bfb958677092c90c4a734d96f4745d2d64 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2333,6 +2333,7 @@ public final class CraftServer implements Server {
@@ -2331,6 +2331,7 @@ public final class CraftServer implements Server {
@Override
public double[] getTPS() {
return new double[] {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index b4640aa8fe8a37a6f27a626862b68b630bd370cd..7192cc7e5a78af2a611bfd853972ac92a5490f23 100644
index ddc469e3c431c417820461ea9cb6e9c8bbad17cd..cb1ed54aa49a93fff15a0d72d459fd7adc037f6c 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3278,7 +3278,16 @@ public abstract class LivingEntity extends Entity {
@@ -3281,7 +3281,16 @@ public abstract class LivingEntity extends Entity {
int j = i / 10;
if (j % 2 == 0) {
@@ -54,7 +54,7 @@ index 543a08f920319a2547258640bafebb1e70af65c4..dd211aa7c4ef1e158933a89898b9e5bc
itemStack.shrink(1);
} else ((net.minecraft.server.level.ServerPlayer) user).getBukkitEntity().updateInventory();
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 7c1852c7e32fe1945fde0ec3f3b9b96dfa0c1043..5bd25f8b8a554b965665b3f5686c14189b51f28e 100644
index e2cc529405d80f4e8f22117da98ee6474351c218..18da9a82fb2ca4b9b8d80e37df29c76c8214c37f 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -540,7 +540,7 @@ public final class ItemStack {
@@ -99,10 +99,10 @@ index 510ed67a7de2b503ab8b01db57ed09ee33b0d825..3f53dc8f250ad3f7616ce7ef0a2353ca
entityhuman.startAutoSpinAttack(20);
if (entityhuman.isOnGround()) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 437997c9e221e2fa8cdda52ad0028a87e41ed081..93348fe8e75088755a53d4bc5e347bc5642b0635 100644
index 580871c876a4b115968856c9d99b0442778f8063..6b5f7f895a9e53582bd2dee373b8b2eb1899e2da 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -98,6 +98,19 @@ public class PurpurWorldConfig {
@@ -97,6 +97,19 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Item entity immunities
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 509a4239dbda8d8d7edebfdc92bed84a13def369..018fe34b41612645579308a4d237a416a88d9102 100644
index 42fd259f4492e539112b5bcb310aaaadab58a443..d1bd5d4fea39c77a853a6e79e589e40a6197f2df 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -2308,7 +2308,7 @@ Sections go from 0..16. Now whenever a section is not empty, it can potentially
@@ -2277,7 +2277,7 @@ Sections go from 0..16. Now whenever a section is not empty, it can potentially
public class TrackedEntity {
@@ -18,7 +18,7 @@ index 509a4239dbda8d8d7edebfdc92bed84a13def369..018fe34b41612645579308a4d237a416
private final int range;
SectionPos lastSectionPos;
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
index 8218a074cdbe9df514f4de5aefd3c2669ec65250..a81cab45301ee882ee25cbe8fd35232958536341 100644
index dc821e0565be38171922546208423613b7682de8..096be832a8b37a8e92064258b74918aa04aa7243 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -68,7 +68,7 @@ public class ServerEntity {
@@ -94,10 +94,10 @@ index 158719d46c96bb733a00e08c8285f41a48406abf..5201e59c7ce9e92790c185279ba69d7f
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 93348fe8e75088755a53d4bc5e347bc5642b0635..fa3e4e8fdfd5220aab2d84158f72d358feb75623 100644
index 6b5f7f895a9e53582bd2dee373b8b2eb1899e2da..180d1c9a552b6d96dd7a30f991bb375c299e4ddb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -111,6 +111,49 @@ public class PurpurWorldConfig {
@@ -110,6 +110,49 @@ public class PurpurWorldConfig {
elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
}

View File

@@ -57,7 +57,7 @@ index 464e062bba03a17c9281b3dfb8fa9193c1b81150..6c89eabddda16f9b72e6062c31bb4be6
public static boolean checkHuskSpawnRules(EntityType<Husk> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, Random random) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 6eef158223d361f58f49810335895478430dda2d..77002a4c3b03e0397515fd922f14e56b8e81074a 100644
index 3b7e261eae87445387f5a34d6fbb420c4cd0cf0f..f6e33ca1933792a3a417f54d20fea8dc4a41c1b5 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -122,6 +122,18 @@ public class Zombie extends Monster {
@@ -79,7 +79,7 @@ index 6eef158223d361f58f49810335895478430dda2d..77002a4c3b03e0397515fd922f14e56b
// Purpur end
@Override
@@ -523,19 +535,20 @@ public class Zombie extends Monster {
@@ -528,19 +540,20 @@ public class Zombie extends Monster {
if (object instanceof Zombie.ZombieGroupData) {
Zombie.ZombieGroupData entityzombie_groupdatazombie = (Zombie.ZombieGroupData) object;
@@ -106,7 +106,7 @@ index 6eef158223d361f58f49810335895478430dda2d..77002a4c3b03e0397515fd922f14e56b
Chicken entitychicken1 = (Chicken) EntityType.CHICKEN.create(this.level);
entitychicken1.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), 0.0F);
@@ -543,6 +556,7 @@ public class Zombie extends Monster {
@@ -548,6 +561,7 @@ public class Zombie extends Monster {
entitychicken1.setChickenJockey(true);
this.startRiding(entitychicken1);
world.addEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit
@@ -141,7 +141,7 @@ index ce15ebc6248eaa849ccb1de4319b51e8a12f2e3e..8c71bf52cebf4b7825c770b120e6ac7b
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
index 04d09123f70a192f1283c0d7e8a8254f3d30889a..43ef93d2c0c59e0d7021ee9aa2b44345192cc0a9 100644
index 8464026df1b46ad30301fed4944aa1d3cd39bd9e..5b5958e37918b97fa994500fe94cd0e57faa1948 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
@@ -73,6 +73,21 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
@@ -167,10 +167,10 @@ index 04d09123f70a192f1283c0d7e8a8254f3d30889a..43ef93d2c0c59e0d7021ee9aa2b44345
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index fa3e4e8fdfd5220aab2d84158f72d358feb75623..0b995e10a38f7f418fa7ad1752d647637fb9d37f 100644
index 180d1c9a552b6d96dd7a30f991bb375c299e4ddb..2dd3b0701cacd4948690a5cc7f79cb0ddbc89d99 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -520,6 +520,9 @@ public class PurpurWorldConfig {
@@ -519,6 +519,9 @@ public class PurpurWorldConfig {
public boolean drownedRidableInWater = false;
public double drownedMaxHealth = 20.0D;
public double drownedSpawnReinforcements = 0.1D;
@@ -180,7 +180,7 @@ index fa3e4e8fdfd5220aab2d84158f72d358feb75623..0b995e10a38f7f418fa7ad1752d64763
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -530,6 +533,9 @@ public class PurpurWorldConfig {
@@ -529,6 +532,9 @@ public class PurpurWorldConfig {
}
drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth);
drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements);
@@ -190,7 +190,7 @@ index fa3e4e8fdfd5220aab2d84158f72d358feb75623..0b995e10a38f7f418fa7ad1752d64763
}
public boolean elderGuardianRidable = false;
@@ -742,6 +748,9 @@ public class PurpurWorldConfig {
@@ -741,6 +747,9 @@ public class PurpurWorldConfig {
public boolean huskRidableInWater = false;
public double huskMaxHealth = 20.0D;
public double huskSpawnReinforcements = 0.1D;
@@ -200,7 +200,7 @@ index fa3e4e8fdfd5220aab2d84158f72d358feb75623..0b995e10a38f7f418fa7ad1752d64763
private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -752,6 +761,9 @@ public class PurpurWorldConfig {
@@ -751,6 +760,9 @@ public class PurpurWorldConfig {
}
huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth);
huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements);
@@ -210,7 +210,7 @@ index fa3e4e8fdfd5220aab2d84158f72d358feb75623..0b995e10a38f7f418fa7ad1752d64763
}
public boolean illusionerRidable = false;
@@ -1454,6 +1466,9 @@ public class PurpurWorldConfig {
@@ -1453,6 +1465,9 @@ public class PurpurWorldConfig {
public boolean zombieRidableInWater = false;
public double zombieMaxHealth = 20.0D;
public double zombieSpawnReinforcements = 0.1D;
@@ -220,7 +220,7 @@ index fa3e4e8fdfd5220aab2d84158f72d358feb75623..0b995e10a38f7f418fa7ad1752d64763
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1464,6 +1479,9 @@ public class PurpurWorldConfig {
@@ -1463,6 +1478,9 @@ public class PurpurWorldConfig {
}
zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth);
zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
@@ -230,7 +230,7 @@ index fa3e4e8fdfd5220aab2d84158f72d358feb75623..0b995e10a38f7f418fa7ad1752d64763
}
public boolean zombieHorseRidableInWater = false;
@@ -1497,6 +1515,9 @@ public class PurpurWorldConfig {
@@ -1496,6 +1514,9 @@ public class PurpurWorldConfig {
public boolean zombieVillagerRidableInWater = false;
public double zombieVillagerMaxHealth = 20.0D;
public double zombieVillagerSpawnReinforcements = 0.1D;
@@ -240,7 +240,7 @@ index fa3e4e8fdfd5220aab2d84158f72d358feb75623..0b995e10a38f7f418fa7ad1752d64763
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1507,12 +1528,18 @@ public class PurpurWorldConfig {
@@ -1506,12 +1527,18 @@ public class PurpurWorldConfig {
}
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
@@ -259,7 +259,7 @@ index fa3e4e8fdfd5220aab2d84158f72d358feb75623..0b995e10a38f7f418fa7ad1752d64763
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1523,5 +1550,8 @@ public class PurpurWorldConfig {
@@ -1522,5 +1549,8 @@ public class PurpurWorldConfig {
}
zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth);
zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);

View File

@@ -258,10 +258,10 @@ index 5e069ac0c57d2a3a23f6e4483d12ce298d172691..916c29d08fbcf245ad6f50f8e8cc1736
private float speed = 0.1F;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 0b995e10a38f7f418fa7ad1752d647637fb9d37f..a989d32a6f9f69b739e726bfa90328134bc3d30f 100644
index 2dd3b0701cacd4948690a5cc7f79cb0ddbc89d99..99a7d9e598678a7deeff694b5e050b72a40a9fe8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -933,6 +933,9 @@ public class PurpurWorldConfig {
@@ -932,6 +932,9 @@ public class PurpurWorldConfig {
public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false;
public double phantomMaxHealth = 20.0D;
@@ -271,7 +271,7 @@ index 0b995e10a38f7f418fa7ad1752d647637fb9d37f..a989d32a6f9f69b739e726bfa9032813
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -946,6 +949,9 @@ public class PurpurWorldConfig {
@@ -945,6 +948,9 @@ public class PurpurWorldConfig {
set("mobs.phantom.attributes.max_health", oldValue);
}
phantomMaxHealth = getDouble("mobs.phantom.attributes.max_health", phantomMaxHealth);

View File

@@ -48,10 +48,10 @@ index 79504dc3448402e73b09c4232b1fd0488872cf68..300c9f136edace2babea4a574090b184
for (int l = 0; l < k; ++l) {
// Paper start
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a989d32a6f9f69b739e726bfa90328134bc3d30f..42df00cdb3d4878b9d73983e97a1778157a9c3b2 100644
index 99a7d9e598678a7deeff694b5e050b72a40a9fe8..05a24c0fc9330359aaff8052f0066cc4ddd14191 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -936,6 +936,18 @@ public class PurpurWorldConfig {
@@ -935,6 +935,18 @@ public class PurpurWorldConfig {
public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D;
@@ -70,7 +70,7 @@ index a989d32a6f9f69b739e726bfa90328134bc3d30f..42df00cdb3d4878b9d73983e97a17781
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -952,6 +964,18 @@ public class PurpurWorldConfig {
@@ -951,6 +963,18 @@ public class PurpurWorldConfig {
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius);

View File

@@ -27,10 +27,10 @@ index 163a7861f987c3832aac51cc6df950c768546731..bf5765b6af9c7807d50f7daaacb5d524
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 42df00cdb3d4878b9d73983e97a1778157a9c3b2..deca4f1f4597893cff4eba16c5266b61b43fc075 100644
index 05a24c0fc9330359aaff8052f0066cc4ddd14191..2bd7dea57c0e0005be2b4fbe98de10fd167186a6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -279,6 +279,22 @@ public class PurpurWorldConfig {
@@ -278,6 +278,22 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
}

View File

@@ -18,10 +18,10 @@ index af4eb4a8814491afef449a2874521636957d7557..365c28300ecfbe0161716972adf22a8a
public static boolean canSetSpawn(Level world) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index deca4f1f4597893cff4eba16c5266b61b43fc075..783b0106d7320892250073c2cda5df05bafdf424 100644
index 2bd7dea57c0e0005be2b4fbe98de10fd167186a6..e7c816cbb0817239a1575a2328af23e32352e5a5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -316,6 +316,22 @@ public class PurpurWorldConfig {
@@ -315,6 +315,22 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}

View File

@@ -27,10 +27,10 @@ index 4fdb99240e6ebda946fd2e0a847654d92b7c56a1..e6dbe6e2d65aa4432f469910fd060649
return true;
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index beb845128b0ef8eef254afa7141af280f391ade6..8a9d103a579bc2a1874b99b3f8543d875cd9119f 100644
index bda7cf2b8431f8541cba98e2a641dad03e736fa8..2571738bd83e21207e5463be5e2ba7d7b7f94a87 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1493,4 +1493,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -1390,4 +1390,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
}
@@ -68,7 +68,7 @@ index df4f2c729f09d5229553308e4876f29de648543f..f2b0278679fa649bbc2904660e0dc9ab
} else {
world.setBlockAndUpdate(pos, Blocks.WATER.defaultBlockState());
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index fa58d301da334cf901b7c2d4a747ef6da96db69d..40559def56630d31bbe2627b66dff31e8a989c6c 100644
index d7f43f4be2e38febb9ff7b67a319316c40929416..3836bde09be67c0ee8678937bed99fbb881773e9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -219,6 +219,11 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow color codes in books
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 857ec4fe7f0bc721cd8649062a14fa58331db3c0..be953d756c6263221a7fa06ca0835bbfd63bd14a 100644
index 0252c916dd1ac44265401696e34b1c8e71b2f3c1..684cbd2cdce9472f4b263a44ec6f29dbeda7d6db 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1220,13 +1220,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1161,13 +1161,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
itemstack1.setTag(nbttagcompound.copy());
}
@@ -28,7 +28,7 @@ index 857ec4fe7f0bc721cd8649062a14fa58331db3c0..be953d756c6263221a7fa06ca0835bbf
this.a(pages, (s) -> {
return Component.Serializer.toJson((Component) (new TextComponent(s)));
@@ -1238,10 +1241,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1179,10 +1182,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
private void a(List<TextFilter.FilteredText> list, UnaryOperator<String> unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit
ListTag nbttaglist = new ListTag();
@@ -44,7 +44,7 @@ index 857ec4fe7f0bc721cd8649062a14fa58331db3c0..be953d756c6263221a7fa06ca0835bbf
Objects.requireNonNull(nbttaglist);
stream.forEach(nbttaglist::add);
@@ -1251,10 +1257,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1192,10 +1198,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
for (int j = list.size(); i < j; ++i) {
TextFilter.FilteredText itextfilter_a = (TextFilter.FilteredText) list.get(i);
@@ -57,7 +57,7 @@ index 857ec4fe7f0bc721cd8649062a14fa58331db3c0..be953d756c6263221a7fa06ca0835bbf
if (!s.equals(s1)) {
nbttagcompound.putString(String.valueOf(i), (String) unaryoperator.apply(s1));
@@ -1270,6 +1276,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1211,6 +1217,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent)
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index de3f7b0798d803e6d13a3c95aaaef3045ea22fed..9b8b82bf5bb276be51b8ba5c023879b3a45212cb 100644
index f7c71db9e33b7127f13f8d9b802322deda375c49..ff40d97479cd3aa8c7a164cdb1dbef92d4ab77ee 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -125,6 +125,7 @@ public abstract class Mob extends LivingEntity {
@@ -126,6 +126,7 @@ public abstract class Mob extends LivingEntity {
private BlockPos restrictCenter;
private float restrictRadius;
@@ -16,7 +16,7 @@ index de3f7b0798d803e6d13a3c95aaaef3045ea22fed..9b8b82bf5bb276be51b8ba5c023879b3
public boolean aware = true; // CraftBukkit
protected Mob(EntityType<? extends Mob> type, Level world) {
@@ -278,6 +279,7 @@ public abstract class Mob extends LivingEntity {
@@ -279,6 +280,7 @@ public abstract class Mob extends LivingEntity {
entityliving = null;
}
}
@@ -24,7 +24,7 @@ index de3f7b0798d803e6d13a3c95aaaef3045ea22fed..9b8b82bf5bb276be51b8ba5c023879b3
this.target = entityliving;
return true;
// CraftBukkit end
@@ -322,9 +324,35 @@ public abstract class Mob extends LivingEntity {
@@ -323,9 +325,35 @@ public abstract class Mob extends LivingEntity {
this.playAmbientSound();
}
@@ -60,7 +60,7 @@ index de3f7b0798d803e6d13a3c95aaaef3045ea22fed..9b8b82bf5bb276be51b8ba5c023879b3
@Override
protected void playHurtSound(DamageSource source) {
this.resetAmbientSoundTime();
@@ -508,6 +536,7 @@ public abstract class Mob extends LivingEntity {
@@ -509,6 +537,7 @@ public abstract class Mob extends LivingEntity {
}
nbt.putBoolean("Bukkit.Aware", this.aware); // CraftBukkit
@@ -68,7 +68,7 @@ index de3f7b0798d803e6d13a3c95aaaef3045ea22fed..9b8b82bf5bb276be51b8ba5c023879b3
}
@Override
@@ -578,6 +607,11 @@ public abstract class Mob extends LivingEntity {
@@ -579,6 +608,11 @@ public abstract class Mob extends LivingEntity {
this.aware = nbt.getBoolean("Bukkit.Aware");
}
// CraftBukkit end
@@ -80,7 +80,7 @@ index de3f7b0798d803e6d13a3c95aaaef3045ea22fed..9b8b82bf5bb276be51b8ba5c023879b3
}
@Override
@@ -1583,6 +1617,7 @@ public abstract class Mob extends LivingEntity {
@@ -1579,6 +1613,7 @@ public abstract class Mob extends LivingEntity {
this.setLastHurtMob(target);
}
@@ -89,10 +89,10 @@ index de3f7b0798d803e6d13a3c95aaaef3045ea22fed..9b8b82bf5bb276be51b8ba5c023879b3
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 783b0106d7320892250073c2cda5df05bafdf424..eefc96db78ea9dfe4207357ce8e528c099856502 100644
index e7c816cbb0817239a1575a2328af23e32352e5a5..5040f2c1ac73888fe3334742e096a237d1ae1ebb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -111,6 +111,11 @@ public class PurpurWorldConfig {
@@ -110,6 +110,11 @@ public class PurpurWorldConfig {
elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 135f13864a85934c0127aa059bfe6c0e25140dfc..2cfd9895b9a371e731b416ec8745aae839e0054b 100644
index d4e12961d00c44b3d62bcc5ad710e1379c5b297a..4b74790581b0f629507e5d00c0882bad0f0e168e 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2482,5 +2482,25 @@ public class ServerPlayer extends Player {
@@ -2476,5 +2476,25 @@ public class ServerPlayer extends Player {
}
// CraftBukkit end
@@ -35,7 +35,7 @@ index 135f13864a85934c0127aa059bfe6c0e25140dfc..2cfd9895b9a371e731b416ec8745aae8
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 7192cc7e5a78af2a611bfd853972ac92a5490f23..d96c4d52282e69180273322cb9a83f7365667fe3 100644
index cb1ed54aa49a93fff15a0d72d459fd7adc037f6c..a9767676a2e84984374cc7d7d012477c60be5a7f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -45,6 +45,7 @@ import net.minecraft.network.syncher.EntityDataAccessor;
@@ -55,10 +55,10 @@ index 7192cc7e5a78af2a611bfd853972ac92a5490f23..d96c4d52282e69180273322cb9a83f73
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index eefc96db78ea9dfe4207357ce8e528c099856502..b3a3e2a88021fc0d6e28e8869bf367207295ce3e 100644
index 5040f2c1ac73888fe3334742e096a237d1ae1ebb..b9e6082a7f15b83a6121684177516a4f0478d5a6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -230,6 +230,7 @@ public class PurpurWorldConfig {
@@ -229,6 +229,7 @@ public class PurpurWorldConfig {
public boolean playersShouldCramToDeath = true;
public String playerDeathExpDropEquation = "expLevel * 7";
public int playerDeathExpDropMax = 100;
@@ -66,7 +66,7 @@ index eefc96db78ea9dfe4207357ce8e528c099856502..b3a3e2a88021fc0d6e28e8869bf36720
private void playerSettings() {
idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick);
idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities);
@@ -240,6 +241,7 @@ public class PurpurWorldConfig {
@@ -239,6 +240,7 @@ public class PurpurWorldConfig {
playersShouldCramToDeath = getBoolean("gameplay-mechanics.player.should-cram-to-death", playersShouldCramToDeath);
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Squid EAR immunity
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b3a3e2a88021fc0d6e28e8869bf367207295ce3e..953ca17a43241e980197bad3084b9344f189de41 100644
index b9e6082a7f15b83a6121684177516a4f0478d5a6..50de6f8b6a18ddd330ae1bb6ba8f58b73e17d7da 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1269,6 +1269,7 @@ public class PurpurWorldConfig {
@@ -1268,6 +1268,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public double squidMaxHealth = 10.0D;
@@ -16,7 +16,7 @@ index b3a3e2a88021fc0d6e28e8869bf367207295ce3e..953ca17a43241e980197bad3084b9344
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) {
@@ -1277,6 +1278,7 @@ public class PurpurWorldConfig {
@@ -1276,6 +1277,7 @@ public class PurpurWorldConfig {
set("mobs.squid.attributes.max_health", oldValue);
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
@@ -25,7 +25,7 @@ index b3a3e2a88021fc0d6e28e8869bf367207295ce3e..953ca17a43241e980197bad3084b9344
public boolean spiderRidable = false;
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 48ce9975b872c259dae1348148203fdbcb25e2ee..073b0e6dbd4be7cb7edd8864b1be1c4b6a56e641 100644
index f36c97529edbd3642d0ba37887a232226f766a35..6b6750f20a70bd7dd74db431321d57e306b1e2cd 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -14,6 +14,7 @@ import net.minecraft.world.entity.ambient.AmbientCreature;

View File

@@ -313,10 +313,10 @@ index 66f97b70985ed728eadcf837f25e81a256c2033b..6120409ab412c1237b44862ed1c402c8
this.configuredCodec = configCodec.fieldOf("config").xmap((config) -> {
return new ConfiguredFeature<>(this, config);
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/FossilFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/FossilFeature.java
index 5edee64e2b446f8055cae77058992e54a8b28660..fbc1af1dfe1f48be1383980b416a543e784da821 100644
index 82ea6a21d5fe0853c8fe1ef245609f01e9dbadb7..5032d5d190835aa941dfe5a2203f5b22966f6f2f 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/FossilFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/FossilFeature.java
@@ -25,7 +25,7 @@ public class FossilFeature extends Feature<FossilFeatureConfiguration> {
@@ -24,7 +24,7 @@ public class FossilFeature extends Feature<FossilFeatureConfiguration> {
@Override
public boolean place(FeaturePlaceContext<FossilFeatureConfiguration> context) {
@@ -668,7 +668,7 @@ index fc5a9fba1ecfa8850d31ba68e92c537e65dbed78..f913486542f0ca35cd36eb19f2591850
BlockPos blockPos = context.origin();
ProbabilityFeatureConfiguration probabilityFeatureConfiguration = context.config();
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/SimpleBlockFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/SimpleBlockFeature.java
index bc47bba59d4edb092ccf7e012d0ce38a9741e043..fefa21b1c967a1891d6076d30be45d4a0231b777 100644
index 1aaa0d7b73e7b89202b3cedd284c3b739d1e3091..7bcde212bc61d6c883b443f97b4a5ae4d3990f39 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/SimpleBlockFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/SimpleBlockFeature.java
@@ -17,8 +17,9 @@ public class SimpleBlockFeature extends Feature<SimpleBlockConfiguration> {
@@ -835,7 +835,7 @@ index ed3944a60d09495eb424dd11d00e8c3585177d51..fcf25cc905ece0213a0eb6365a0a5756
return false;
} else {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 40559def56630d31bbe2627b66dff31e8a989c6c..44286c661943cb147372b7864709485e747545c1 100644
index 3836bde09be67c0ee8678937bed99fbb881773e9..4e928dd1efdd7e1f71a5c5adb3a287eb0463e077 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -174,6 +174,128 @@ public class PurpurConfig {

View File

@@ -47,10 +47,10 @@ index 916c29d08fbcf245ad6f50f8e8cc173677b01081..c55aba456aa144e58fc35877c61eff30
list.sort(Comparator.<Player, Double>comparing(Entity::getY).reversed()); // Paper - remap fix
Iterator iterator = list.iterator();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 953ca17a43241e980197bad3084b9344f189de41..f34926d9da4103b4b36fd023e05d7aa4285bcabf 100644
index 50de6f8b6a18ddd330ae1bb6ba8f58b73e17d7da..58b0b17167a5248acc9f0ebfac2d357f49688d79 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -987,6 +987,9 @@ public class PurpurWorldConfig {
@@ -986,6 +986,9 @@ public class PurpurWorldConfig {
public int phantomSpawnOverheadRadius = 10;
public int phantomSpawnMinPerAttempt = 1;
public int phantomSpawnMaxPerAttempt = -1;
@@ -60,7 +60,7 @@ index 953ca17a43241e980197bad3084b9344f189de41..f34926d9da4103b4b36fd023e05d7aa4
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1015,6 +1018,9 @@ public class PurpurWorldConfig {
@@ -1014,6 +1017,9 @@ public class PurpurWorldConfig {
phantomSpawnOverheadRadius = getInt("mobs.phantom.spawn.overhead.radius", phantomSpawnOverheadRadius);
phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt);
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);

View File

@@ -18,10 +18,10 @@ index 3865f16e027307f5b8b2a5617b66ffd8b9f85c60..bb3572370a86519a92b7b3dab0482cd1
private boolean hungry() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f34926d9da4103b4b36fd023e05d7aa4285bcabf..f8c2b2174a02be8756994c473c5676f6d5a41243 100644
index 58b0b17167a5248acc9f0ebfac2d357f49688d79..2a8435b39afc16d3ca862d17bb40fe3cc9d5e494 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1412,6 +1412,7 @@ public class PurpurWorldConfig {
@@ -1411,6 +1411,7 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false;
public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0;
@@ -29,7 +29,7 @@ index f34926d9da4103b4b36fd023e05d7aa4285bcabf..f8c2b2174a02be8756994c473c5676f6
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1427,6 +1428,7 @@ public class PurpurWorldConfig {
@@ -1426,6 +1427,7 @@ public class PurpurWorldConfig {
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);

View File

@@ -17,10 +17,10 @@ index 9228c0bc797fb95c8ac949bdc568eadafee84a80..f2c9f841d397f445cd3d0420f19e765c
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f8c2b2174a02be8756994c473c5676f6d5a41243..1283e183c66629630726e48e6983afecb38e1204 100644
index 2a8435b39afc16d3ca862d17bb40fe3cc9d5e494..584757245d2703e69659746c3d382af456cb3f89 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -346,6 +346,11 @@ public class PurpurWorldConfig {
@@ -345,6 +345,11 @@ public class PurpurWorldConfig {
signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Totems work in inventory
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index d96c4d52282e69180273322cb9a83f7365667fe3..0fa7a658af3dc1766e06d90d396a426c558917ab 100644
index a9767676a2e84984374cc7d7d012477c60be5a7f..3bda2f895612cb5bfd6205a675c03edc6a2270d6 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1516,6 +1516,19 @@ public abstract class LivingEntity extends Entity {
@@ -29,10 +29,10 @@ index d96c4d52282e69180273322cb9a83f7365667fe3..0fa7a658af3dc1766e06d90d396a426c
event.setCancelled(itemstack == null);
this.level.getCraftServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 1283e183c66629630726e48e6983afecb38e1204..a0fbd24dfb21c3ab0e345feee174536a8cda905f 100644
index 584757245d2703e69659746c3d382af456cb3f89..31ccb922343d971f8669147abffa97547df54e4d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -231,6 +231,7 @@ public class PurpurWorldConfig {
@@ -230,6 +230,7 @@ public class PurpurWorldConfig {
public String playerDeathExpDropEquation = "expLevel * 7";
public int playerDeathExpDropMax = 100;
public boolean teleportIfOutsideBorder = false;
@@ -40,7 +40,7 @@ index 1283e183c66629630726e48e6983afecb38e1204..a0fbd24dfb21c3ab0e345feee174536a
private void playerSettings() {
idleTimeoutKick = getBoolean("gameplay-mechanics.player.idle-timeout.kick-if-idle", idleTimeoutKick);
idleTimeoutTickNearbyEntities = getBoolean("gameplay-mechanics.player.idle-timeout.tick-nearby-entities", idleTimeoutTickNearbyEntities);
@@ -242,6 +243,7 @@ public class PurpurWorldConfig {
@@ -241,6 +242,7 @@ public class PurpurWorldConfig {
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);

View File

@@ -30,10 +30,10 @@ index 76e6ea34db3942e9dd7646ad7ca1259f4387a4d8..9096c40ad5784d9097e889f0f43b6cf1
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a0fbd24dfb21c3ab0e345feee174536a8cda905f..75c159b8251aaee446a8ec44490be2335bd6d822 100644
index 31ccb922343d971f8669147abffa97547df54e4d..e28c5973ec4642fc729bcfa47aabade4afed4765 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1441,6 +1441,7 @@ public class PurpurWorldConfig {
@@ -1440,6 +1440,7 @@ public class PurpurWorldConfig {
public boolean vindicatorRidable = false;
public boolean vindicatorRidableInWater = false;
public double vindicatorMaxHealth = 24.0D;
@@ -41,7 +41,7 @@ index a0fbd24dfb21c3ab0e345feee174536a8cda905f..75c159b8251aaee446a8ec44490be233
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1450,6 +1451,7 @@ public class PurpurWorldConfig {
@@ -1449,6 +1450,7 @@ public class PurpurWorldConfig {
set("mobs.vindicator.attributes.max_health", oldValue);
}
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);

View File

@@ -41,10 +41,10 @@ index 92623ae25249d63efb92be8bd6c95228f9155ad2..20bf6d01046488eff53a109f5239351a
static void setEntityPokingOutOfBlock(BlockSource pointer, Entity entity, Direction direction) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 75c159b8251aaee446a8ec44490be2335bd6d822..f34dfe5d2b235e482623214cd233e83475807491 100644
index e28c5973ec4642fc729bcfa47aabade4afed4765..cce72e2574486fb178caa3bc1a89cbf39d66e4d1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -305,8 +305,10 @@ public class PurpurWorldConfig {
@@ -304,8 +304,10 @@ public class PurpurWorldConfig {
}
public boolean dispenserApplyCursedArmor = true;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Allow anvil colors
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
index c81af461fa01dac0b7b26becc1a5e7ae31bb5f95..2dbc71a3d76cc87e2683b8f351bd8db04481855e 100644
index ddfb89d62d2ec316683e9f0f5550e298ab26d137..410ac71efff92dfa1f1e11895d0f5bf3fca1be17 100644
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
@@ -2,6 +2,9 @@ package net.minecraft.world.inventory;
@@ -18,7 +18,7 @@ index c81af461fa01dac0b7b26becc1a5e7ae31bb5f95..2dbc71a3d76cc87e2683b8f351bd8db0
import net.minecraft.nbt.IntTag;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TextComponent;
@@ -278,6 +281,17 @@ public class AnvilMenu extends ItemCombinerMenu {
@@ -277,6 +280,17 @@ public class AnvilMenu extends ItemCombinerMenu {
} else if (!this.itemName.equals(itemstack.getHoverName().getString())) {
b1 = 1;
i += b1;
@@ -37,10 +37,10 @@ index c81af461fa01dac0b7b26becc1a5e7ae31bb5f95..2dbc71a3d76cc87e2683b8f351bd8db0
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f34dfe5d2b235e482623214cd233e83475807491..40103cf35d15b2fbc88ea737eb74f7d76bbbbc7f 100644
index cce72e2574486fb178caa3bc1a89cbf39d66e4d1..f2e4cd773a3a3145d7a67245e23534fc77fadb72 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -288,6 +288,11 @@ public class PurpurWorldConfig {
@@ -287,6 +287,11 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add no-random-tick block list
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 0b22974ffe3ad2dd858f571980107eba9b56882e..f3a1eeb389e790d7c482626f5aee872ab298af66 100644
index e4ac7b3a8a10056e3e24eef5263cafa65f29145f..f3aa58b31c4e3384c3315e53de4e9e4cc6181adc 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -488,7 +488,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl
@@ -318,7 +318,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl
this.players = Lists.newArrayList();
this.entityTickList = new EntityTickList();
Predicate<Block> predicate = (block) -> { // CraftBukkit - decompile eror
@@ -18,10 +18,10 @@ index 0b22974ffe3ad2dd858f571980107eba9b56882e..f3a1eeb389e790d7c482626f5aee872a
DefaultedRegistry registryblocks = Registry.BLOCK;
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
index 7538262e14c86e4da9cd4cb887b76f649bfef2e6..f34973be478de4f088a0593b45bd89e558a13609 100644
index a107304351381d68fdaa35a4d7ff214e6c1546a6..6e5dcf3c8a537729a18c085ebb5ab46b59c1d24c 100644
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
@@ -915,10 +915,12 @@ public abstract class BlockBehaviour {
@@ -893,10 +893,12 @@ public abstract class BlockBehaviour {
}
public void tick(ServerLevel world, BlockPos pos, Random random) {
@@ -35,10 +35,10 @@ index 7538262e14c86e4da9cd4cb887b76f649bfef2e6..f34973be478de4f088a0593b45bd89e5
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 40103cf35d15b2fbc88ea737eb74f7d76bbbbc7f..d1a239672c16cfac3872f39ecd8c42e56cf2923b 100644
index f2e4cd773a3a3145d7a67245e23534fc77fadb72..b2c28f97ceb6c8c18332a56f9d2042dc9301ce3e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -288,6 +288,28 @@ public class PurpurWorldConfig {
@@ -287,6 +287,28 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
}

View File

@@ -17,10 +17,10 @@ index c372d47a929e06c8cfb0df86cf4e9bfee4d4b300..2aead13e8f879b614445715fb1912a20
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d1a239672c16cfac3872f39ecd8c42e56cf2923b..580f826622bb197da9e4439a556c840eb41087e8 100644
index b2c28f97ceb6c8c18332a56f9d2042dc9301ce3e..d46484ca99fac9751db3ab8cae430f7167733a2e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -554,6 +554,7 @@ public class PurpurWorldConfig {
@@ -553,6 +553,7 @@ public class PurpurWorldConfig {
public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F;
public double dolphinMaxHealth = 10.0D;
@@ -28,7 +28,7 @@ index d1a239672c16cfac3872f39ecd8c42e56cf2923b..580f826622bb197da9e4439a556c840e
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown);
@@ -565,6 +566,7 @@ public class PurpurWorldConfig {
@@ -564,6 +565,7 @@ public class PurpurWorldConfig {
set("mobs.dolphin.attributes.max_health", oldValue);
}
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index d2828fabedd353fb8a854fbd0beb978f5a93b504..e43b31f07d6f0cbb35f925dca952b5947fe1fd4f 100644
index e64d4a3dd193bf7481884616034c5916114c649c..e5e93f6e2f1b17b165029bc1163c465920cc3fb9 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3829,11 +3829,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -3640,11 +3640,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
this.yRotO = this.getYRot();
}
@@ -45,10 +45,10 @@ index f96def2ebdf114823c322c2d4318d039e20eab97..2affff346a7fe81480e86cb61996039d
@Override
diff --git a/src/main/java/net/minecraft/world/phys/AABB.java b/src/main/java/net/minecraft/world/phys/AABB.java
index 6f7e6429c35eea346517cbf08cf223fc6d838a8c..6a77112180556675af38cb1b3ce0b38a42ce9525 100644
index 120498a39b7ca7aee9763084507508d4a1c425aa..0dfc639043998cd3bd32afaaf8153459172cc9f9 100644
--- a/src/main/java/net/minecraft/world/phys/AABB.java
+++ b/src/main/java/net/minecraft/world/phys/AABB.java
@@ -367,4 +367,10 @@ public class AABB {
@@ -356,4 +356,10 @@ public class AABB {
public static AABB ofSize(Vec3 center, double dx, double dy, double dz) {
return new AABB(center.x - dx / 2.0D, center.y - dy / 2.0D, center.z - dz / 2.0D, center.x + dx / 2.0D, center.y + dy / 2.0D, center.z + dz / 2.0D);
}
@@ -60,10 +60,10 @@ index 6f7e6429c35eea346517cbf08cf223fc6d838a8c..6a77112180556675af38cb1b3ce0b38a
+ // Purpur
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 580f826622bb197da9e4439a556c840eb41087e8..2e924d6cf915b93b3c3f18e0d3dfddb45cdc2463 100644
index d46484ca99fac9751db3ab8cae430f7167733a2e..298b246a383100a9860afad156ed9e9219d61bf6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1314,6 +1314,7 @@ public class PurpurWorldConfig {
@@ -1313,6 +1313,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
@@ -71,7 +71,7 @@ index 580f826622bb197da9e4439a556c840eb41087e8..2e924d6cf915b93b3c3f18e0d3dfddb4
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) {
@@ -1323,6 +1324,7 @@ public class PurpurWorldConfig {
@@ -1322,6 +1323,7 @@ public class PurpurWorldConfig {
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index e43b31f07d6f0cbb35f925dca952b5947fe1fd4f..cc5854281d976c2faa453c2a6b07b5747eed6100 100644
index e5e93f6e2f1b17b165029bc1163c465920cc3fb9..de75f6317e661c79d3957180f6d5b20d23af42e4 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2701,7 +2701,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -2512,7 +2512,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
public void handleInsidePortal(BlockPos pos) {
if (this.isOnPortalCooldown()) {
this.setPortalCooldown();
@@ -17,7 +17,7 @@ index e43b31f07d6f0cbb35f925dca952b5947fe1fd4f..cc5854281d976c2faa453c2a6b07b574
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
this.portalEntrancePos = pos.immutable();
}
@@ -3333,7 +3333,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -3144,7 +3144,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
}
public boolean canChangeDimensions() {
@@ -27,10 +27,10 @@ index e43b31f07d6f0cbb35f925dca952b5947fe1fd4f..cc5854281d976c2faa453c2a6b07b574
public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2e924d6cf915b93b3c3f18e0d3dfddb45cdc2463..5e1876ceed7ed597012f85df6e8e5f6d99868ee9 100644
index 298b246a383100a9860afad156ed9e9219d61bf6..8d5090df3fbd40a514751c72897689d2023310a2 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -274,6 +274,7 @@ public class PurpurWorldConfig {
@@ -273,6 +273,7 @@ public class PurpurWorldConfig {
public boolean useBetterMending = false;
public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false;
@@ -38,7 +38,7 @@ index 2e924d6cf915b93b3c3f18e0d3dfddb45cdc2463..5e1876ceed7ed597012f85df6e8e5f6d
public boolean milkCuresBadOmen = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
@@ -282,6 +283,7 @@ public class PurpurWorldConfig {
@@ -281,6 +282,7 @@ public class PurpurWorldConfig {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Customizable wither health and healing
Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often.
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index 22dd455b3b9c148f38a63f72901009f864e63a4b..689df66281ef84f0cc31d89c6f2e654c9f3a5150 100644
index 4527fdd2c2001767c225574e1610ddfaa7bb4f34..5f24fb3fc4ffb2e032cf755d984716d1c3a3e965 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -504,8 +504,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -23,10 +23,10 @@ index 22dd455b3b9c148f38a63f72901009f864e63a4b..689df66281ef84f0cc31d89c6f2e654c
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5e1876ceed7ed597012f85df6e8e5f6d99868ee9..7ef7877013068fd76545b30d1afea899ff9298a6 100644
index 8d5090df3fbd40a514751c72897689d2023310a2..ae8fb1abb64b2f2d5a6580ad5e708072576da1a5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1525,6 +1525,8 @@ public class PurpurWorldConfig {
@@ -1524,6 +1524,8 @@ public class PurpurWorldConfig {
public boolean witherRidableInWater = false;
public double witherMaxY = 256D;
public double witherMaxHealth = 300.0D;
@@ -35,7 +35,7 @@ index 5e1876ceed7ed597012f85df6e8e5f6d99868ee9..7ef7877013068fd76545b30d1afea899
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1539,6 +1541,8 @@ public class PurpurWorldConfig {
@@ -1538,6 +1540,8 @@ public class PurpurWorldConfig {
set("mobs.wither.attributes.max_health", oldValue);
}
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Allow toggling special MobSpawners per world
In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index f3a1eeb389e790d7c482626f5aee872ab298af66..7620030f795604c49596ce972c0b39438341e4df 100644
index f3aa58b31c4e3384c3315e53de4e9e4cc6181adc..dd8248b89ee8694a18fffc4d880c92038d725cf7 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -83,6 +83,7 @@ import net.minecraft.world.entity.MobCategory;
@@ -27,7 +27,7 @@ index f3a1eeb389e790d7c482626f5aee872ab298af66..7620030f795604c49596ce972c0b3943
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.raid.Raid;
import net.minecraft.world.entity.raid.Raids;
@@ -133,6 +136,8 @@ import net.minecraft.world.level.gameevent.GameEvent;
@@ -132,6 +135,8 @@ import net.minecraft.world.level.gameevent.GameEvent;
import net.minecraft.world.level.gameevent.GameEventListenerRegistrar;
import net.minecraft.world.level.gameevent.vibrations.VibrationPath;
import net.minecraft.world.level.levelgen.Heightmap;
@@ -36,7 +36,7 @@ index f3a1eeb389e790d7c482626f5aee872ab298af66..7620030f795604c49596ce972c0b3943
import net.minecraft.world.level.levelgen.feature.StructureFeature;
import net.minecraft.world.level.levelgen.structure.BoundingBox;
import net.minecraft.world.level.levelgen.structure.StructureStart;
@@ -511,7 +516,24 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl
@@ -341,7 +346,24 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl
this.dragonParts = new Int2ObjectOpenHashMap();
this.tickTime = flag1;
this.server = minecraftserver;
@@ -94,10 +94,10 @@ index f8ede3588bfda9a7d4d5807311a3e9c2651fd0a3..56967cef0f184def046935e20148574f
if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) {
blockposition1 = blockposition2;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7ef7877013068fd76545b30d1afea899ff9298a6..8ae9ca467ea1d8803b8a97a2495b1edb8ef8dc40 100644
index ae8fb1abb64b2f2d5a6580ad5e708072576da1a5..db422ed3d1691c48ddcf06cec0cdb9be7ae91d75 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -72,6 +72,12 @@ public class PurpurWorldConfig {
@@ -71,6 +71,12 @@ public class PurpurWorldConfig {
return PurpurConfig.config.getBoolean("world-settings." + worldName + "." + path, PurpurConfig.config.getBoolean("world-settings.default." + path));
}
@@ -110,7 +110,7 @@ index 7ef7877013068fd76545b30d1afea899ff9298a6..8ae9ca467ea1d8803b8a97a2495b1edb
private double getDouble(String path, double def) {
PurpurConfig.config.addDefault("world-settings.default." + path, def);
return PurpurConfig.config.getDouble("world-settings." + worldName + "." + path, PurpurConfig.config.getDouble("world-settings.default." + path));
@@ -221,6 +227,21 @@ public class PurpurWorldConfig {
@@ -220,6 +226,21 @@ public class PurpurWorldConfig {
}
}

View File

@@ -52,10 +52,10 @@ index 45e369aa69a6b78def42b619b1b1b8259d4b30ea..de7443e7a27e51eabaed2d6d348ec8ea
if (!this.raidMap.containsKey(raid.getId())) {
this.raidMap.put(raid.getId(), raid);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 8ae9ca467ea1d8803b8a97a2495b1edb8ef8dc40..23e38d663bf5ab8d592d64e54128fe17dfe8f025 100644
index db422ed3d1691c48ddcf06cec0cdb9be7ae91d75..5c8e25590e99e7db547ef415f4cab34c200021e9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -300,6 +300,7 @@ public class PurpurWorldConfig {
@@ -299,6 +299,7 @@ public class PurpurWorldConfig {
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -63,7 +63,7 @@ index 8ae9ca467ea1d8803b8a97a2495b1edb8ef8dc40..23e38d663bf5ab8d592d64e54128fe17
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
@@ -309,6 +310,7 @@ public class PurpurWorldConfig {
@@ -308,6 +309,7 @@ public class PurpurWorldConfig {
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);

View File

@@ -127,7 +127,7 @@ index f1a12b147d55e34d4f8374593640a311598cf1a6..c4bdebd4310035a5cce5a5790f538eb0
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
index 07853aff3d42ce50799406ee1c14389b5f715b51..9a5da1eec68c7c435406809fda9695cbd54ba6c5 100644
index 4e667be589fd95eb61e57a99448939a945c59e5e..cecdafb496669419911ac7ea6db5a69f71f9be13 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
@@ -33,6 +33,7 @@ public abstract class Projectile extends Entity {
@@ -289,10 +289,10 @@ index 4a11f7417b438ee5711a720aca3321c88e970b2a..46b74271ce5f614f07754db14d2a552c
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 23e38d663bf5ab8d592d64e54128fe17dfe8f025..30789fb3579896ac404eaa3941bc4c41a8979282 100644
index 5c8e25590e99e7db547ef415f4cab34c200021e9..d207aa7ae9ece4959831f9e7c606b16a55e6b76f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -267,6 +267,35 @@ public class PurpurWorldConfig {
@@ -266,6 +266,35 @@ public class PurpurWorldConfig {
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
}

View File

@@ -46,7 +46,7 @@ index 7d28a410ae18594b5db4559640b4eb30762f5a69..8d3ce6c97a8734c0d13844cafca251a3
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Axolotl.class, true, false));
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 77002a4c3b03e0397515fd922f14e56b8e81074a..b80f7c71cbf7b10bda6fac3cfe673ac7fe129923 100644
index f6e33ca1933792a3a417f54d20fea8dc4a41c1b5..7eed6c176345c766a99d4304d61d28354291960f 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -152,7 +152,19 @@ public class Zombie extends Monster {
@@ -71,10 +71,10 @@ index 77002a4c3b03e0397515fd922f14e56b8e81074a..b80f7c71cbf7b10bda6fac3cfe673ac7
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 30789fb3579896ac404eaa3941bc4c41a8979282..fe946308f944b41d4839ed8654f8f0c721ec2759 100644
index d207aa7ae9ece4959831f9e7c606b16a55e6b76f..050f2d8325d8b5a18e534027662fcbfff06a4c68 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1648,6 +1648,7 @@ public class PurpurWorldConfig {
@@ -1647,6 +1647,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
@@ -82,7 +82,7 @@ index 30789fb3579896ac404eaa3941bc4c41a8979282..fe946308f944b41d4839ed8654f8f0c7
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1661,6 +1662,7 @@ public class PurpurWorldConfig {
@@ -1660,6 +1661,7 @@ public class PurpurWorldConfig {
zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);

View File

@@ -37,7 +37,7 @@ index 44b28773fe8e79931e738d493bd9405e0ee3dca9..d9114ee2ef4f1dee7ae018f932a7804a
@Nullable
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
index 878cdfc49253e7916d038495f79fec7cce75aa50..99d05dbe7d7d9bcc1c5f5b3dd02e413e3a398a10 100644
index d6a3f3a2edae806b0ebf5bf5ac445116c0d64535..0f295a496d4d94811199fa952ed68325ee1df0f6 100644
--- a/src/main/java/net/minecraft/world/level/block/Block.java
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
@@ -20,6 +20,9 @@ import net.minecraft.core.IdMapper;
@@ -189,10 +189,10 @@ index c3a07ccccd5cc38552363c82398f432c8d624288..132c9e6a643995d9fde535a78d9edc9e
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index fe946308f944b41d4839ed8654f8f0c721ec2759..039b20dc90b37522563885fd9a35b089b2771e98 100644
index 050f2d8325d8b5a18e534027662fcbfff06a4c68..2086377305f800980d436b606c72ddba447694f1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -326,6 +326,7 @@ public class PurpurWorldConfig {
@@ -325,6 +325,7 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true;
@@ -200,7 +200,7 @@ index fe946308f944b41d4839ed8654f8f0c721ec2759..039b20dc90b37522563885fd9a35b089
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -336,6 +337,7 @@ public class PurpurWorldConfig {
@@ -335,6 +336,7 @@ public class PurpurWorldConfig {
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);

View File

@@ -58,10 +58,10 @@ index 2affff346a7fe81480e86cb61996039df0569853..12be4a2f25a7def8341acda47d10a256
float f1 = Mth.cos(f) * 0.2F;
float f2 = -0.1F + this.squid.getRandom().nextFloat() * 0.2F;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 039b20dc90b37522563885fd9a35b089b2771e98..7308e5bdd235f2459b1debdaa123615c283539cb 100644
index 2086377305f800980d436b606c72ddba447694f1..f9da36aa9aead8f8ec7ec33469a1d95009e3a297 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -813,9 +813,11 @@ public class PurpurWorldConfig {
@@ -812,9 +812,11 @@ public class PurpurWorldConfig {
public boolean glowSquidRidable = false;
public double glowSquidMaxHealth = 10.0D;
@@ -73,7 +73,7 @@ index 039b20dc90b37522563885fd9a35b089b2771e98..7308e5bdd235f2459b1debdaa123615c
}
public boolean goatRidable = false;
@@ -1371,6 +1373,7 @@ public class PurpurWorldConfig {
@@ -1370,6 +1372,7 @@ public class PurpurWorldConfig {
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
@@ -81,7 +81,7 @@ index 039b20dc90b37522563885fd9a35b089b2771e98..7308e5bdd235f2459b1debdaa123615c
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) {
@@ -1381,6 +1384,7 @@ public class PurpurWorldConfig {
@@ -1380,6 +1383,7 @@ public class PurpurWorldConfig {
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);

View File

@@ -27,10 +27,10 @@ index afe33f20578177cb517e1c116e6319481642e66c..fe4695adbb506733b4029ecfabcfda3d
} else {
user.startUsingItem(hand);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7308e5bdd235f2459b1debdaa123615c283539cb..ab1a8250c90bc7b555f678ff0a119a90102a1356 100644
index f9da36aa9aead8f8ec7ec33469a1d95009e3a297..d5799c1084095eda3d3fd2d5bd2ae307ddad996b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -122,6 +122,17 @@ public class PurpurWorldConfig {
@@ -121,6 +121,17 @@ public class PurpurWorldConfig {
entityLifeSpan = getInt("gameplay-mechanics.entity-lifespan", entityLifeSpan);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Stonecutter damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index cc5854281d976c2faa453c2a6b07b5747eed6100..57a80aed6106ec55aeb636c5b5f3abc7fb4fff14 100644
index de75f6317e661c79d3957180f6d5b20d23af42e4..1e21e75558dc69cb9c32dce99644ddd022165b58 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1001,7 +1001,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -897,7 +897,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
}
// CraftBukkit end
@@ -61,10 +61,10 @@ index 2ad5ff9a1d7de54e75436e99da8a73db9dc91bde..60605a8a021cc56f9c3ba22bc43c43c3
} else if (blockState.is(Blocks.HONEY_BLOCK)) {
return BlockPathTypes.STICKY_HONEY;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ab1a8250c90bc7b555f678ff0a119a90102a1356..cddccb3329be99ce11ea30b651184fb9eea243b3 100644
index d5799c1084095eda3d3fd2d5bd2ae307ddad996b..21d3acb8a69fffd372af6cd1fc667feb91a3a4dc 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -449,6 +449,11 @@ public class PurpurWorldConfig {
@@ -448,6 +448,11 @@ public class PurpurWorldConfig {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
}

Some files were not shown because too many files have changed in this diff Show More