cursed rebase

This commit is contained in:
Ben Kerllenevich
2021-12-05 09:59:34 -05:00
parent 8336433ff1
commit 7fe89b5a84
167 changed files with 743 additions and 850 deletions

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur config files
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 395b0706bfbf03741df6ca1ff084618b91140acc..5bd999c3a05d936b19689930c7f64e12c23c3679 100644
index 6996a61534bbdd34729f1dcd988ae2666bfad2c4..93316cd9346c9fcfc6bdef96b1ed34a76c47f6f9 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1727,6 +1727,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -1743,6 +1743,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
}
// Paper end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index bdb830942b7751bfcce36583ffd59488473f2db8..ccd12268d9c1b2c889a68735831a9b26a80dbf53 100644
index f5ded992672dde910cd4e1be50c238b142157ff8..c0f46522cee8bb022d5eff55656ffa6c38aa86cf 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2331,4 +2331,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2366,4 +2366,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Override
Spigot spigot();
// Spigot end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index ccd12268d9c1b2c889a68735831a9b26a80dbf53..af0c24d79251ba032b8ca3051fb451b00a5986e4 100644
index c0f46522cee8bb022d5eff55656ffa6c38aa86cf..4870666fbaeeffe1607214acdf89816e2ef1cbce 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2339,5 +2339,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2374,5 +2374,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @return True if Player uses Purpur Client
*/
public boolean usesPurpurClient();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Bring back server name
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 7868a54eec71f7b31d7fabf3288eb2dc62649e92..ae8d698a58de2b4c0b42a6f43c63a9e5a4aaa039 100644
index b7c45aa5d5f79fd16e59401acfa9c2bed0a5d78c..a00347d848bc00df2d30a4030837fe960aa658fb 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2120,4 +2120,15 @@ public final class Bukkit {
@@ -2138,4 +2138,15 @@ public final class Bukkit {
public static Server.Spigot spigot() {
return server.spigot();
}
@@ -25,10 +25,10 @@ index 7868a54eec71f7b31d7fabf3288eb2dc62649e92..ae8d698a58de2b4c0b42a6f43c63a9e5
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 5bd999c3a05d936b19689930c7f64e12c23c3679..06552f28aacf93ac68db90dccfcd1aa48eaba382 100644
index 93316cd9346c9fcfc6bdef96b1ed34a76c47f6f9..7b46448b75cd78d6a6e09a113c59ee41ba12fc70 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1849,4 +1849,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -1865,4 +1865,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
io.papermc.paper.datapack.DatapackManager getDatapackManager();
// Paper end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index ae8d698a58de2b4c0b42a6f43c63a9e5a4aaa039..a8fc16f2fa6713a4cbe75c17a8e6743f69c383d5 100644
index a00347d848bc00df2d30a4030837fe960aa658fb..b36fd9bd6b633bb2f8503d1ca19befa8a4936b56 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2130,5 +2130,14 @@ public final class Bukkit {
@@ -2148,5 +2148,14 @@ public final class Bukkit {
public static String getServerName() {
return server.getServerName();
}
@@ -24,10 +24,10 @@ index ae8d698a58de2b4c0b42a6f43c63a9e5a4aaa039..a8fc16f2fa6713a4cbe75c17a8e6743f
// Purpur end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 06552f28aacf93ac68db90dccfcd1aa48eaba382..1910f88c155c6d19d02494e4fea2b86509235e5a 100644
index 7b46448b75cd78d6a6e09a113c59ee41ba12fc70..7fa620281187f17effe178d2e4e306860ebff801 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1857,5 +1857,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -1873,5 +1873,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
String getServerName();

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 af0c24d79251ba032b8ca3051fb451b00a5986e4..1010232accc7cb0052dade56e7366d90179d7f93 100644
index 4870666fbaeeffe1607214acdf89816e2ef1cbce..435eed54c20bf46e1348e3c45c976213a8f09b05 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2358,5 +2358,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2393,5 +2393,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Reset the idle timer back to 0
*/
void resetIdleTimer();

View File

@@ -489,10 +489,10 @@ index 3afd5f5c0208a4ee93b5dbfc2aab2b9d2e8a7544..7838731e0e16bdccfb79e74ceb64148f
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 1910f88c155c6d19d02494e4fea2b86509235e5a..7e138e0b7d9c0ced83911035c1d8a956e432b304 100644
index 7fa620281187f17effe178d2e4e306860ebff801..e2543cfced6cca1f10bcdfe1e28dd889f6ac5c5c 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1700,6 +1700,9 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -1716,6 +1716,9 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
UnsafeValues getUnsafe();
// Spigot start
@@ -921,10 +921,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 1010232accc7cb0052dade56e7366d90179d7f93..b17e9e446aafc029d70b45fd7879d77cc82d8359 100644
index 435eed54c20bf46e1348e3c45c976213a8f09b05..d26103c4fb0c2d6d99abae962b5ff25d34bd0ab7 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2161,6 +2161,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2196,6 +2196,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void resetCooldown();
/**
@@ -933,7 +933,7 @@ index 1010232accc7cb0052dade56e7366d90179d7f93..b17e9e446aafc029d70b45fd7879d77c
* @return the client option value of the player
*/
@NotNull
@@ -2192,6 +2194,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2227,6 +2229,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
// Paper end
// Spigot start

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 365bb7c092cf7f008ba376ae3b511d69431a28f7..4ef8c75df64e670c55f13efaa69651fd636d5f12 100644
index b36fd9bd6b633bb2f8503d1ca19befa8a4936b56..fbef0ab6514f9a2ab1e48e9f973992221ab09552 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -370,7 +370,7 @@ public final class Bukkit {
@@ -72,7 +72,7 @@ index 365bb7c092cf7f008ba376ae3b511d69431a28f7..4ef8c75df64e670c55f13efaa69651fd
return server.getShutdownMessage();
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 7e138e0b7d9c0ced83911035c1d8a956e432b304..c641822847c8f5c3753fa5a4ea97d86fa44b1fa0 100644
index e2543cfced6cca1f10bcdfe1e28dd889f6ac5c5c..7fa99fadfe5558fddf2aeef51ca824a59a55f7d4 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -290,7 +290,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -170,10 +170,10 @@ index c8d37184d8e882a4084a1bfef85faa330588600b..46bae5c13ce2b973b114682f6a338981
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241139ba65d 100644
index d26103c4fb0c2d6d99abae962b5ff25d34bd0ab7..c2905745cd54ace5f84b7119692a4ebfd9864d16 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
@@ -76,7 +76,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @return the friendly name
* @deprecated in favour of {@link #displayName()}
*/
@@ -182,7 +182,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241
@NotNull
public String getDisplayName();
@@ -89,7 +89,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -90,7 +90,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param name The new display name.
* @deprecated in favour of {@link #displayName(net.kyori.adventure.text.Component)}
*/
@@ -191,7 +191,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241
public void setDisplayName(@Nullable String name);
// Paper start
@@ -130,7 +130,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -131,7 +131,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @deprecated in favour of {@link #playerListName()}
*/
@NotNull
@@ -200,7 +200,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241
public String getPlayerListName();
/**
@@ -141,7 +141,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -142,7 +142,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param name new player list name
* @deprecated in favour of {@link #playerListName(net.kyori.adventure.text.Component)}
*/
@@ -209,7 +209,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241
public void setPlayerListName(@Nullable String name);
/**
@@ -150,7 +150,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -151,7 +151,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @return player list header or null
* @deprecated in favour of {@link #playerListHeader()}
*/
@@ -218,7 +218,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241
@Nullable
public String getPlayerListHeader();
@@ -160,7 +160,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -161,7 +161,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @return player list header or null
* @deprecated in favour of {@link #playerListFooter()}
*/
@@ -227,7 +227,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241
@Nullable
public String getPlayerListFooter();
@@ -170,7 +170,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -171,7 +171,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param header player list header, null for empty
* @deprecated in favour of {@link #sendPlayerListHeader(net.kyori.adventure.text.Component)}
*/
@@ -236,7 +236,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241
public void setPlayerListHeader(@Nullable String header);
/**
@@ -179,7 +179,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -180,7 +180,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param footer player list footer, null for empty
* @deprecated in favour of {@link #sendPlayerListFooter(net.kyori.adventure.text.Component)}
*/
@@ -245,7 +245,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241
public void setPlayerListFooter(@Nullable String footer);
/**
@@ -190,7 +190,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -191,7 +191,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param footer player list footer, null for empty
* @deprecated in favour of {@link #sendPlayerListHeaderAndFooter(net.kyori.adventure.text.Component, net.kyori.adventure.text.Component)}
*/
@@ -254,7 +254,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241
public void setPlayerListHeaderFooter(@Nullable String header, @Nullable String footer);
/**
@@ -230,7 +230,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -231,7 +231,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param message kick message
* @deprecated in favour of {@link #kick(net.kyori.adventure.text.Component)}
*/
@@ -263,7 +263,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241
public void kickPlayer(@Nullable String message);
// Paper start
@@ -669,7 +669,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -670,7 +670,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException if lines is non-null and has a length less than 4
* @deprecated in favour of {@link #sendSignChange(org.bukkit.Location, java.util.List)}
*/
@@ -272,7 +272,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines) throws IllegalArgumentException;
/**
@@ -690,7 +690,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -691,7 +691,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @throws IllegalArgumentException if lines is non-null and has a length less than 4
* @deprecated in favour of {@link #sendSignChange(org.bukkit.Location, java.util.List, org.bukkit.DyeColor)}
*/
@@ -281,7 +281,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException;
/**
@@ -1896,7 +1896,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1922,7 +1922,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @deprecated in favour of {@link #locale()}
*/
@NotNull

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 ba1894762ede0af3ba18a4105e12e241139ba65d..15160d8999665c2dce77bfcd44630247a2377ede 100644
index c2905745cd54ace5f84b7119692a4ebfd9864d16..0859c5eecefe279b463a50b064c0d666191fabc7 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2384,5 +2384,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2419,5 +2419,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param invulnerableTicks Invulnerable ticks remaining
*/
void setSpawnInvulnerableTicks(int invulnerableTicks);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add force and prompt parameters to resource pack api
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 15160d8999665c2dce77bfcd44630247a2377ede..0cbf3ba84da691ad5be6d36820e72a6d9f58cfbc 100644
index 0859c5eecefe279b463a50b064c0d666191fabc7..1964d44571b442649f7e9f1d4aa5d284d32c93de 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1519,6 +1519,88 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -1520,6 +1520,88 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void setResourcePack(@NotNull String url, @NotNull byte[] hash);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Added the ability to add combustible items
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 4ef8c75df64e670c55f13efaa69651fd636d5f12..c98794dff18890fc2fe964238e06c0e20e58750f 100644
index fbef0ab6514f9a2ab1e48e9f973992221ab09552..5bfdc308b5133c0cbe7cccfa26bd2135ccd4603b 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2139,5 +2139,24 @@ public final class Bukkit {
@@ -2157,5 +2157,24 @@ public final class Bukkit {
public static boolean isLagging() {
return server.isLagging();
}
@@ -34,10 +34,10 @@ index 4ef8c75df64e670c55f13efaa69651fd636d5f12..c98794dff18890fc2fe964238e06c0e2
// Purpur end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index c641822847c8f5c3753fa5a4ea97d86fa44b1fa0..f3b6ba687e3d96fbee592465977df29338dd9a27 100644
index 7fa99fadfe5558fddf2aeef51ca824a59a55f7d4..d8cf62e42dcff4414dcd5c1979a89a32a975da44 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1867,5 +1867,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -1883,5 +1883,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @return True if lagging
*/
boolean isLagging();

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand
diff --git a/build.gradle.kts b/build.gradle.kts
index cd74406039704e5a880f00b9b60bb7b1dedc5398..ef00dddbbf432d3f9f06bc6095ab5a8256961529 100644
index 5678a9f8d2aa8a7afbc5729570ec297b12acf75d..de15de77c4d7020b7fef00179cab3a71daed2c5d 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -18,8 +18,12 @@ repositories {
@@ -41,7 +41,7 @@ index cd74406039704e5a880f00b9b60bb7b1dedc5398..ef00dddbbf432d3f9f06bc6095ab5a82
"Implementation-Vendor" to date, // Paper
"Specification-Title" to "Bukkit",
"Specification-Version" to project.version,
@@ -158,7 +164,7 @@ fun TaskContainer.registerRunTask(
@@ -155,7 +161,7 @@ fun TaskContainer.registerRunTask(
name: String,
block: JavaExec.() -> Unit
): TaskProvider<JavaExec> = register<JavaExec>(name) {
@@ -148,7 +148,7 @@ index 38a0fb9a7c4ade9cacfd30dffabfea7e6b773981..fd3d3e22613511a42f7fc343079b081c
// Spigot end
DedicatedServer.LOGGER.warn("To change this, set \"online-mode\" to \"true\" in the server.properties file.");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 02e25451737841001363f4697fd05b1e2c6240cd..a4024cba49bcd2170206c6f1439e081129be3d15 100644
index d91abf93f2a06f73d3124f4fcff2491fe8d36655..310c3e1590465412af6905eab33193c6bf5e5e47 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -253,7 +253,7 @@ import javax.annotation.Nullable; // Paper

View File

@@ -106,7 +106,7 @@ index c2220d5157d3065a256cd17410760c6aedf24987..729d11569e59e78a0fda67697fe9e27a
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index a4024cba49bcd2170206c6f1439e081129be3d15..aa9a7cdc4431a803279bb2325e0eaed7579aafd6 100644
index 310c3e1590465412af6905eab33193c6bf5e5e47..549577e31840ce5f32adb2c0909b915da4362207 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -931,6 +931,7 @@ public final class CraftServer implements Server {
@@ -133,7 +133,7 @@ index a4024cba49bcd2170206c6f1439e081129be3d15..aa9a7cdc4431a803279bb2325e0eaed7
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -2547,6 +2550,18 @@ public final class CraftServer implements Server {
@@ -2648,6 +2651,18 @@ public final class CraftServer implements Server {
return com.destroystokyo.paper.PaperConfig.config;
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Purpur client support
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index b6f9c99d580d985f2b84efaa655d9ae40073e72b..c856b38b49969f6eb0b2a82bff6d80967857643d 100644
index e0beb35868a564dbcc0369d0a56b94642a23436a..08cb39a9af8adbd048a91a7cfa76863c7b1a13af 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -254,6 +254,7 @@ public class ServerPlayer extends Player {
@@ -17,10 +17,10 @@ index b6f9c99d580d985f2b84efaa655d9ae40073e72b..c856b38b49969f6eb0b2a82bff6d8096
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 3eba6962040f33b7b31b16c9de22d90f225710b4..23074f0b00cde60e3a42335c7aa3eb4f6162d44d 100644
index eb7ac0b2a774dc7348eb2a94cc6c61792b47dd1d..93a49a423731b31b42e0d240e71f9fecb9ec3c18 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3058,6 +3058,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -3124,6 +3124,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister");
private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support
@@ -28,7 +28,7 @@ index 3eba6962040f33b7b31b16c9de22d90f225710b4..23074f0b00cde60e3a42335c7aa3eb4f
@Override
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
@@ -3082,6 +3083,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -3148,6 +3149,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex);
this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause
}
@@ -43,10 +43,10 @@ index 3eba6962040f33b7b31b16c9de22d90f225710b4..23074f0b00cde60e3a42335c7aa3eb4f
try {
byte[] data = new byte[packet.data.readableBytes()];
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index ad15c4c20ae9e1858a2b914b0a1aa91ec1d7a012..8a1cdd256ab8496b9a8e34bf891c1001b2cee082 100644
index c6cd4a5790384811f3171ce740afb9459f3d6fc0..f32a4aaa0f027b71043109c78c8a5e18e0397350 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2563,4 +2563,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2577,4 +2577,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.spigot;
}
// Spigot end

View File

@@ -5,7 +5,7 @@ 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 c856b38b49969f6eb0b2a82bff6d80967857643d..ed8b90e90dc4878bce9eecbbf944f5264630f6bb 100644
index 08cb39a9af8adbd048a91a7cfa76863c7b1a13af..3e91bb85adc33434b278bf2ca83164dae3f7a6e5 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1693,6 +1693,26 @@ public class ServerPlayer extends Player {
@@ -36,7 +36,7 @@ index c856b38b49969f6eb0b2a82bff6d80967857643d..ed8b90e90dc4878bce9eecbbf944f526
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 24111c47145b296c442982affdbfe045c52386e1..986db30e5f8313d57345e16a793a22b426e2ecfa 100644
index 042be2cf60a9d01698808d84f2e537a5eb952079..6ec5a8a52ec06be917f2ca682f5920ed5ae1a82c 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1373,6 +1373,62 @@ public abstract class PlayerList {
@@ -103,10 +103,10 @@ index 24111c47145b296c442982affdbfe045c52386e1..986db30e5f8313d57345e16a793a22b4
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 3febcc7e88b74d4bdb45e633fdaa9d3313a6ae0b..23c17a1ebb63290168b2b67f2dbeb7741c368e7b 100644
index 1dd646bb8d1c153a3d034de1c208b3bacebd067f..390f8398af00b770d48d274970b8b164925b63b5 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3514,6 +3514,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -3601,6 +3601,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
return SlotAccess.NULL;
}

View File

@@ -34,7 +34,7 @@ index 7ad6b7b3094156477570b738026d88cb0f0f4f9e..973ea150c2f8ac136736b4ae9f505491
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 f055d25394d20afb208e8612fb31d77af141876b..d4d8c93f0fe85ce30e153646e69973f1119700f3 100644
index e371ffb1f88e08883a1a2460260ff368c0cfe853..a2185651b35fdf6563b20ec8ea8e2b57f75f9dd5 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -208,6 +208,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -46,7 +46,7 @@ index f055d25394d20afb208e8612fb31d77af141876b..d4d8c93f0fe85ce30e153646e69973f1
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 ed8b90e90dc4878bce9eecbbf944f5264630f6bb..e38a9ff1024669a5ea9c45a7f33c606167f15f9a 100644
index 3e91bb85adc33434b278bf2ca83164dae3f7a6e5..493c0540c02075d081a5ce404e480625632bd1a4 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -662,6 +662,15 @@ public class ServerPlayer extends Player {
@@ -73,10 +73,10 @@ index ed8b90e90dc4878bce9eecbbf944f5264630f6bb..e38a9ff1024669a5ea9c45a7f33c6061
+
}
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 48f95c3a9148a21b76b464c10eb41179d23004de..634de4e0b941ee236bd605b66bfbb2123fc03294 100644
index 93a49a423731b31b42e0d240e71f9fecb9ec3c18..cbca17bc6890319fd8df725e53626b7a1e9c4576 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2369,6 +2369,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -2435,6 +2435,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
@@ -86,7 +86,7 @@ index 48f95c3a9148a21b76b464c10eb41179d23004de..634de4e0b941ee236bd605b66bfbb212
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 1aeca95a271ad925f3615fdc543c7a212ff151fa..4844974e4728aeb5199c05b6dfb74fb3077d80db 100644
index 390f8398af00b770d48d274970b8b164925b63b5..a33c9089d96ab8e66557be7880e562c88b5d56f9 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -292,7 +292,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -98,7 +98,7 @@ index 1aeca95a271ad925f3615fdc543c7a212ff151fa..4844974e4728aeb5199c05b6dfb74fb3
private float eyeHeight;
public boolean isInPowderSnow;
public boolean wasInPowderSnow;
@@ -2529,6 +2529,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -2616,6 +2616,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
this.passengers = ImmutableList.copyOf(list);
}
@@ -111,7 +111,7 @@ index 1aeca95a271ad925f3615fdc543c7a212ff151fa..4844974e4728aeb5199c05b6dfb74fb3
}
return true; // CraftBukkit
}
@@ -2569,6 +2575,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -2656,6 +2662,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
return false;
}
// Spigot end
@@ -126,7 +126,7 @@ index 1aeca95a271ad925f3615fdc543c7a212ff151fa..4844974e4728aeb5199c05b6dfb74fb3
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
this.passengers = ImmutableList.of();
} else {
@@ -4189,4 +4203,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -4281,4 +4295,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
}
// Paper end
@@ -4538,7 +4538,7 @@ index 5aae88e20bc04560d6ad52cfcaa872d28bfcee8f..1ba59900ddf403453aeb4f82b097feaa
+ // 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 aaf47d3f58819ead3553973c159c5c6eec4abe43..6d38c0478210bf264afd48be3e7ba7fee296ebc1 100644
index 5395dbf1c9bedc1e3e13f6661affdfd94fded502..e8cd2f1cbc6d18cfa7aaa287d28cdeb3b7ee1954 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -542,6 +542,15 @@ public class CraftEventFactory {
@@ -4582,7 +4582,7 @@ index aaf47d3f58819ead3553973c159c5c6eec4abe43..6d38c0478210bf264afd48be3e7ba7fe
event = new EntityDamageEvent(damagee.getBukkitEntity(), cause, modifiers, modifierFunctions);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 45a99a5fc63ee4d4f166cd47b1db4d412170dbe2..8fa551bad32ea09cb70f12aa8c84582048ede45f 100644
index fdfb20170c27711085aa0772866876035e0d98c2..5350ffab8477a2da4891132cf8b7a65cf776574b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -156,4 +156,9 @@ public class PurpurConfig {

View File

@@ -5,7 +5,7 @@ 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 e38a9ff1024669a5ea9c45a7f33c606167f15f9a..8b904d31dda1bfe1b396126376e2f2020b1b0ab1 100644
index 493c0540c02075d081a5ce404e480625632bd1a4..5a52828ea9fd29511f648243da8c46bc1a391434 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1969,8 +1969,58 @@ public class ServerPlayer extends Player {
@@ -68,7 +68,7 @@ index e38a9ff1024669a5ea9c45a7f33c606167f15f9a..8b904d31dda1bfe1b396126376e2f202
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 56015828fe1f0bf66eefa41164e58cc4ebe59f20..c1bbe2786b98649ae7882a05070f2bdad813d7b4 100644
index cbca17bc6890319fd8df725e53626b7a1e9c4576..ea3eaa94e853d7d5fd9f220fda6455117fe8697d 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -293,6 +293,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -105,7 +105,7 @@ index 56015828fe1f0bf66eefa41164e58cc4ebe59f20..c1bbe2786b98649ae7882a05070f2bda
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
this.disconnect(new TranslatableComponent("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause
}
@@ -653,6 +673,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -661,6 +681,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
this.lastYaw = to.getYaw();
this.lastPitch = to.getPitch();
@@ -114,16 +114,16 @@ index 56015828fe1f0bf66eefa41164e58cc4ebe59f20..c1bbe2786b98649ae7882a05070f2bda
// Skip the first time we do this
if (true) { // Spigot - don't skip any move events
Location oldTo = to.clone();
@@ -1390,7 +1412,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1424,7 +1446,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
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;
flag1 = true; // Paper - diff on change, this should be moved wrongly
- ServerGamePacketListenerImpl.LOGGER.warn("{} moved wrongly!", this.player.getName().getString());
+ ServerGamePacketListenerImpl.LOGGER.warn("{} moved wrongly!, ({})", this.player.getName().getString(), d11); // Purpur
}
this.player.absMoveTo(d0, d1, d2, f, f1);
@@ -1429,6 +1451,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1474,6 +1496,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
this.lastYaw = to.getYaw();
this.lastPitch = to.getPitch();
@@ -200,7 +200,7 @@ index 7eae138f3bbddd44c078b2fbcb5d5fd07d5bd9aa..46932d899db4050e6f7e55caaced4096
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 30276959c0119813c27ee3f98e237c93236e5b39..385cccecdddde4abd5c6525aa6404eb2078c3432 100644
index 6df710cecea9a5c91ccf8bdaec60bdc88a601777..6b0cee0bd6218492b184f94a84da9acffc4f9d26 100644
--- a/src/main/java/net/minecraft/world/level/EntityGetter.java
+++ b/src/main/java/net/minecraft/world/level/EntityGetter.java
@@ -157,7 +157,7 @@ public interface EntityGetter {
@@ -213,10 +213,10 @@ index 30276959c0119813c27ee3f98e237c93236e5b39..385cccecdddde4abd5c6525aa6404eb2
if (range < 0.0D || d < range * range) {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 8a1cdd256ab8496b9a8e34bf891c1001b2cee082..3e898377b259eb9176772b70a4f3a1b14d0dca91 100644
index f32a4aaa0f027b71043109c78c8a5e18e0397350..db49d331e76a0c86515cb06caba8d6e1853c77f4 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -428,10 +428,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -429,10 +429,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setPlayerListName(String name) {
@@ -233,7 +233,7 @@ index 8a1cdd256ab8496b9a8e34bf891c1001b2cee082..3e898377b259eb9176772b70a4f3a1b1
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()));
@@ -2569,5 +2574,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2583,5 +2588,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean usesPurpurClient() {
return getHandle().purpurClient;
}
@@ -255,7 +255,7 @@ index 8a1cdd256ab8496b9a8e34bf891c1001b2cee082..3e898377b259eb9176772b70a4f3a1b1
// Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index c961e81a0e8bc7360f8ef7235c576e6629b67b49..fde15dee7633bad9582fe5d26eee0badf17477cd 100644
index a596ac346cfbfcb428e995a97d55b74ae8caf87b..0a6de8a3761c3c16b4ff1fb35db5d20a978d8017 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -158,8 +158,16 @@ public class PurpurConfig {
@@ -305,7 +305,7 @@ index aa9a7f5cbc5d20192455d0f241a0703f46404ed8..95fd221fab18105fdf3082b48b9cbcc9
public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false;
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 72400204fbeea41e4af8d3a0d5eef6f2e75e7518..7e1bc869299cd2f382f05bb814946e6841cc845e 100644
index feec2b3b832fd2c490276e4360fcf6e2b40f01cf..f5eb57fa723941f50b94ed8efb08a47a8da90e4e 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

@@ -17,10 +17,10 @@ index f944e6beafc7876ed9c6923a22f58d82967b77cb..e1c7b7a659e56fa5b3a1f52cb2ccc99b
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 aa9a7cdc4431a803279bb2325e0eaed7579aafd6..6111fd7296e030c1f03137c98439b5cb6d2bddc3 100644
index 549577e31840ce5f32adb2c0909b915da4362207..196f586380bd458c3f2c47a84dc7e2a36afb94aa 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2716,4 +2716,11 @@ public final class CraftServer implements Server {
@@ -2817,4 +2817,11 @@ public final class CraftServer implements Server {
}
// Paper end

View File

@@ -25,10 +25,10 @@ index 1cb6c989a0b21df7dff72062550daa09721d7687..4d89c9de4b4aae4452750fb941a2e610
}
// Spigot end
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 6111fd7296e030c1f03137c98439b5cb6d2bddc3..bfa7be57dbfb31e4a3d53f3138dd9578fbdad617 100644
index 196f586380bd458c3f2c47a84dc7e2a36afb94aa..98f14ba75b0fed27effc5259eaf62c3fa372df26 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2722,5 +2722,10 @@ public final class CraftServer implements Server {
@@ -2823,5 +2823,10 @@ public final class CraftServer implements Server {
public String getServerName() {
return this.getProperties().serverName;
}
@@ -40,7 +40,7 @@ index 6111fd7296e030c1f03137c98439b5cb6d2bddc3..bfa7be57dbfb31e4a3d53f3138dd9578
// Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index c428c332cbb9f632b36bc4b6bf7d0767a16e350a..d2b9245a27f62987eb3c073300218020c58361d3 100644
index 35797b7ed354c08066ecff563bba2c38265421bb..21e072e105a824e97fa713c72dd0b7bca1229870 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -188,6 +188,11 @@ public class PurpurConfig {

View File

@@ -5,7 +5,7 @@ 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 8b904d31dda1bfe1b396126376e2f2020b1b0ab1..2fa918425d007252b3409732ef5868eea8eae4d2 100644
index 5a52828ea9fd29511f648243da8c46bc1a391434..3fc8b066d7f9ef807ad6a26df86abc40b1b81937 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -255,6 +255,7 @@ public class ServerPlayer extends Player {
@@ -82,10 +82,10 @@ index 8b904d31dda1bfe1b396126376e2f2020b1b0ab1..2fa918425d007252b3409732ef5868ee
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 c1bbe2786b98649ae7882a05070f2bdad813d7b4..621f0f75096c89bd050f7e0ede8abcb15536ce70 100644
index ea3eaa94e853d7d5fd9f220fda6455117fe8697d..41690c6cd2cb787b3c075dcfd9400e711ce8e561 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1879,12 +1879,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1945,12 +1945,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@Override
public void handleResourcePackResponse(ServerboundResourcePackPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
@@ -108,7 +108,7 @@ index c1bbe2786b98649ae7882a05070f2bdad813d7b4..621f0f75096c89bd050f7e0ede8abcb1
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 48e78e76d23cc6aff00a1526d53581deebec4c1d..fe1ad78a41d01feaf64b64d0b8585e23d36927bc 100644
index 6ec5a8a52ec06be917f2ca682f5920ed5ae1a82c..aca10a81a90c7ef81b4167b868f3893a7f67ea62 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -993,6 +993,8 @@ public abstract class PlayerList {
@@ -121,10 +121,10 @@ index 48e78e76d23cc6aff00a1526d53581deebec4c1d..fe1ad78a41d01feaf64b64d0b8585e23
return entityplayer1;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 3e898377b259eb9176772b70a4f3a1b14d0dca91..2069a834aaab46486025285b97dbb56d30e506a8 100644
index db49d331e76a0c86515cb06caba8d6e1853c77f4..e251821c59a2a07dc6e1b3f984641a0e549c315a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2589,5 +2589,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2603,5 +2603,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetIdleTimer() {
getHandle().resetLastActionTime();
}

View File

@@ -5,7 +5,7 @@ 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 621f0f75096c89bd050f7e0ede8abcb15536ce70..84dfa62acb29fe0ae4343e2a751e0d11ccc37803 100644
index 41690c6cd2cb787b3c075dcfd9400e711ce8e561..e2975169d6987c3434064c12c62fa70e432a5e91 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -227,6 +227,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -38,7 +38,7 @@ index 621f0f75096c89bd050f7e0ede8abcb15536ce70..84dfa62acb29fe0ae4343e2a751e0d11
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
@@ -3050,6 +3066,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -3116,6 +3132,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@Override
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
@@ -56,7 +56,7 @@ index 621f0f75096c89bd050f7e0ede8abcb15536ce70..84dfa62acb29fe0ae4343e2a751e0d11
if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) {
int i = (int) (Util.getMillis() - this.keepAliveTime);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index d2b9245a27f62987eb3c073300218020c58361d3..c8e5db9086c618b97e1712777dcbb7f2e798ca2d 100644
index 21e072e105a824e97fa713c72dd0b7bca1229870..4baed73f3e5ce88bc3993b2edc7c6bbf572ee448 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -193,6 +193,11 @@ public class PurpurConfig {

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 0f34da80fe3dabe264c7cbb894f6f732d068a4b6..b8dbd508a25035e899fbc38643f4b38510688c47 100644
index 52d8c713a6653f5b28b63a5ad1769a471fe5aaa9..633e41c4b0ab440be6594d892dc6434c19d4fd76 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1650,6 +1650,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -1736,6 +1736,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
this.yRotO = this.getYRot();
this.xRotO = this.getXRot();
this.setYHeadRot(yaw); // Paper - Update head rotation
@@ -17,7 +17,7 @@ index 0f34da80fe3dabe264c7cbb894f6f732d068a4b6..b8dbd508a25035e899fbc38643f4b385
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 5ae294293cd9d813e22d251e567d1fc0929edc49..dfbb53ddf9255351b44259d0016b362a3a4625b3 100644
index 47d7e28063f94e41724f62c2fa1fc0abe55638e6..be7ff10b8f1e7b44c2c9b67e5db6dd66f2f0dac3 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2896,7 +2896,7 @@ public abstract class LivingEntity extends Entity {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Skip events if there's no listeners
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index edc202d60ac3e8ac13b61d8c2c82d587567e9c05..2474594f165aff55d4a08ccf0a602203cc908f65 100644
index f6b73f8c6638ddf79e45042f5c8902ea1f271f5c..5c65301b300867a5319c6da1576c488210923835 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -391,6 +391,7 @@ public class Commands {
@@ -389,6 +389,7 @@ public class Commands {
}
private void runSync(ServerPlayer player, Collection<String> bukkit, RootCommandNode<SharedSuggestionProvider> rootcommandnode) {
@@ -16,7 +16,7 @@ index edc202d60ac3e8ac13b61d8c2c82d587567e9c05..2474594f165aff55d4a08ccf0a602203
// Paper end - Async command map building
new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent<CommandSourceStack>(player.getBukkitEntity(), (RootCommandNode) rootcommandnode, false).callEvent(); // Paper
PlayerCommandSendEvent event = new PlayerCommandSendEvent(player.getBukkitEntity(), new LinkedHashSet<>(bukkit));
@@ -403,6 +404,7 @@ public class Commands {
@@ -401,6 +402,7 @@ public class Commands {
}
}
// CraftBukkit end

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 b8dbd508a25035e899fbc38643f4b38510688c47..0e7f3dbde4e042a5942643b74dd40663d40c39de 100644
index 633e41c4b0ab440be6594d892dc6434c19d4fd76..66906467235aa24a08eeef43bee0cb79c7bddd8f 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -778,7 +778,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -782,7 +782,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
public void checkOutOfWorld() {
// Paper start - Configurable nether ceiling damage
@@ -18,7 +18,7 @@ index b8dbd508a25035e899fbc38643f4b38510688c47..0e7f3dbde4e042a5942643b74dd40663
&& 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 dfbb53ddf9255351b44259d0016b362a3a4625b3..2eea21644321fa07950b44cddfe72c4d8f329702 100644
index be7ff10b8f1e7b44c2c9b67e5db6dd66f2f0dac3..fd5459c77e615db4bc805c58489260270b09d608 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2388,7 +2388,7 @@ public abstract class LivingEntity extends Entity {
@@ -31,7 +31,7 @@ index dfbb53ddf9255351b44259d0016b362a3a4625b3..2eea21644321fa07950b44cddfe72c4d
protected void updateSwingTime() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6f286a16a91b368bdfd98a738be13ec7e468de30..794c6adf2a4af7fe59b5b1067c1337275b941760 100644
index 951d908051d8af0f68edef4f7b2d62dacc894f1c..bc84484e8592603c26598a92515eebd3f4f12c89 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -222,10 +222,14 @@ public class PurpurWorldConfig {

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 0e7f3dbde4e042a5942643b74dd40663d40c39de..7886a095c063978e90d74fb107049d934e7de9aa 100644
index 66906467235aa24a08eeef43bee0cb79c7bddd8f..b222b9ef83db5bd35f554bc4cefffdb6b4ca4fd3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4240,5 +4240,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -4332,5 +4332,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
public boolean processClick(InteractionHand hand) {
return false;
}
@@ -19,7 +19,7 @@ index 0e7f3dbde4e042a5942643b74dd40663d40c39de..7886a095c063978e90d74fb107049d93
// 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 098006e9d5c840db604be8603d465c2c43d56547..b106e046eaadd99dce3b48b222f29d57efe12f66 100644
index 19f48278c5c8f9640683d61b9555074e140fa2ab..9a0a5da86e0502382cb538d6abea8e425e40dddc 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
@@ -204,6 +204,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -35,7 +35,7 @@ index 098006e9d5c840db604be8603d465c2c43d56547..b106e046eaadd99dce3b48b222f29d57
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 bc46fdff45b174d9c266d1b6b546061a39b4997d..bc6d523d6d2449b7590ad318e299e770fe62931d 100644
index fec7d5c6a7b7a20ac9aecec1d3187f5c61fc430c..d4fd425c934e1e033d9aefda66958c864c11ea7d 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
@@ -92,6 +92,7 @@ public class EntityStorage implements EntityPersistentStorage<Entity> {
@@ -47,7 +47,7 @@ index bc46fdff45b174d9c266d1b6b546061a39b4997d..bc6d523d6d2449b7590ad318e299e770
final EntityType<?> entityType = entity.getType();
final int saveLimit = this.level.paperConfig.entityPerChunkSaveLimits.getOrDefault(entityType, -1);
diff --git a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
index fda24d4ecff91cc28d2a7a45fbb55ea734261153..3cabafb00c293cbbcc60a0cc98479c2d62ddaa2d 100644
index d55f7611599b2a339293688861100cb8dae9f6c6..5e99789e5156e8ffbf125e77114c547e1f8e7925 100644
--- a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
+++ b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
@@ -35,6 +35,11 @@ public class DolphinSpit extends LlamaSpit {
@@ -63,7 +63,7 @@ index fda24d4ecff91cc28d2a7a45fbb55ea734261153..3cabafb00c293cbbcc60a0cc98479c2d
super_tick();
diff --git a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
index b196bee2ea6e67897b367d2be1800f16a89a6167..d8a9f3296c46f12e156f1611811cb55470703b03 100644
index 2eca8317e991ec46cc88a4c7d6d8b50152ba4ea7..b6a594cd6b08c687cf51c2f5494297ef96ec4b92 100644
--- a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
+++ b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
@@ -38,6 +38,11 @@ public class PhantomFlames extends LlamaSpit {

View File

@@ -69,10 +69,10 @@ index 55067e47a9907f038bf77f5dda2f395773472ceb..70dfa4d3b7a2c9b2a47000bf26100f17
lagging = recentTps[0] < org.purpurmc.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 bfa7be57dbfb31e4a3d53f3138dd9578fbdad617..ad2f47668c61e8e0023da8349c5fcec28b46b32f 100644
index 98f14ba75b0fed27effc5259eaf62c3fa372df26..d397daf9a6b2128735a0732565a41be9197742a4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2504,6 +2504,7 @@ public final class CraftServer implements Server {
@@ -2605,6 +2605,7 @@ public final class CraftServer implements Server {
@Override
public double[] getTPS() {
return new double[] {

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 bb0f8dbc0746283ff7670dee24dd932254aeec0d..6627214ddab3a8b7080ead964a44a367b0c34a05 100644
index e2975169d6987c3434064c12c62fa70e432a5e91..b754eda13b99ddc529ef62bf591dd35758c346d0 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1185,13 +1185,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1218,13 +1218,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
itemstack1.setTag(nbttagcompound.copy());
}
@@ -28,7 +28,7 @@ index bb0f8dbc0746283ff7670dee24dd932254aeec0d..6627214ddab3a8b7080ead964a44a367
this.updateBookPages(pages, (s) -> {
return Component.Serializer.toJson(new TextComponent(s));
@@ -1203,10 +1206,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1236,10 +1239,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
private void updateBookPages(List<TextFilter.FilteredText> list, UnaryOperator<String> unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit
ListTag nbttaglist = new ListTag();
@@ -44,7 +44,7 @@ index bb0f8dbc0746283ff7670dee24dd932254aeec0d..6627214ddab3a8b7080ead964a44a367
Objects.requireNonNull(nbttaglist);
stream.forEach(nbttaglist::add);
@@ -1216,10 +1222,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1249,10 +1255,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 bb0f8dbc0746283ff7670dee24dd932254aeec0d..6627214ddab3a8b7080ead964a44a367
if (!s.equals(s1)) {
nbttagcompound.putString(String.valueOf(i), (String) unaryoperator.apply(s1));
@@ -1235,6 +1241,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1268,6 +1274,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] 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 7886a095c063978e90d74fb107049d934e7de9aa..a12058f714b7f3ccb8f7121ac242af5bb2d4911e 100644
index b222b9ef83db5bd35f554bc4cefffdb6b4ca4fd3..857cf10a34fce177816b74bb9c29a7202c5acafd 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3793,6 +3793,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -3880,6 +3880,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
this.yRotO = this.getYRot();
}
@@ -22,7 +22,7 @@ index 7886a095c063978e90d74fb107049d934e7de9aa..a12058f714b7f3ccb8f7121ac242af5b
if (this.touchingUnloadedChunk()) {
return false;
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
index bb3792988864bb5fe7841c2cbdb583cb8e6fa489..82d657e431a5a2317e5be80f3b2898a5c7371a42 100644
index 501b082e36b30140eef9540b8b217b9d45309dff..55f94d28a536f5ceda00831e1b22c8db31c07c2f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -76,6 +76,12 @@ public class Squid extends WaterAnimal {
@@ -39,10 +39,10 @@ index bb3792988864bb5fe7841c2cbdb583cb8e6fa489..82d657e431a5a2317e5be80f3b2898a5
@Override
diff --git a/src/main/java/net/minecraft/world/phys/AABB.java b/src/main/java/net/minecraft/world/phys/AABB.java
index 120498a39b7ca7aee9763084507508d4a1c425aa..0dfc639043998cd3bd32afaaf8153459172cc9f9 100644
index 68cc6f2a78a06293a29317fda72ab3ee79b3533a..cfb2e46b34b2982d6724f18214557fc80cf4adfa 100644
--- a/src/main/java/net/minecraft/world/phys/AABB.java
+++ b/src/main/java/net/minecraft/world/phys/AABB.java
@@ -356,4 +356,10 @@ public class AABB {
@@ -367,4 +367,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);
}
@@ -54,7 +54,7 @@ index 120498a39b7ca7aee9763084507508d4a1c425aa..0dfc639043998cd3bd32afaaf8153459
+ // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4f35036bb4dc7a6325e7a35f1623139da39e31d9..65ce3df6703f11bb77e4b8687b035b83cc7b8dd3 100644
index aaae42f112940aa85ffd0106d461e291f37f5592..8de98d7c875e8b0e0ba3877a8a0937f97afa77f1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1310,6 +1310,7 @@ public class PurpurWorldConfig {

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 a12058f714b7f3ccb8f7121ac242af5bb2d4911e..48cf0a22ff28c7e2ce87c7fcb5ceafac031f0038 100644
index 857cf10a34fce177816b74bb9c29a7202c5acafd..4ae2040d17f1a8c413c02996621d41c8641581f3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2629,7 +2629,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -2716,7 +2716,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
public void handleInsidePortal(BlockPos pos) {
if (this.isOnPortalCooldown()) {
this.setPortalCooldown();
@@ -17,7 +17,7 @@ index a12058f714b7f3ccb8f7121ac242af5bb2d4911e..48cf0a22ff28c7e2ce87c7fcb5ceafac
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
this.portalEntrancePos = pos.immutable();
}
@@ -3282,7 +3282,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -3369,7 +3369,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
}
public boolean canChangeDimensions() {
@@ -27,7 +27,7 @@ index a12058f714b7f3ccb8f7121ac242af5bb2d4911e..48cf0a22ff28c7e2ce87c7fcb5ceafac
public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 65ce3df6703f11bb77e4b8687b035b83cc7b8dd3..f6eafc276ae98430dee2ab65897e201136d1d285 100644
index 8de98d7c875e8b0e0ba3877a8a0937f97afa77f1..c668ec20aad764a6d09c1bdd578f09dfd94000cb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -287,6 +287,7 @@ public class PurpurWorldConfig {

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 48cf0a22ff28c7e2ce87c7fcb5ceafac031f0038..1d5ab54742ee9818ffd8cf1687e89269f449e6c4 100644
index 4ae2040d17f1a8c413c02996621d41c8641581f3..15e25843ba5bea971d7a844fbd8adb8b483001da 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1019,7 +1019,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -1024,7 +1024,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
}
// CraftBukkit end
@@ -61,7 +61,7 @@ index 5e28c09d782166be6d0fbc6778ef9f6c4d7af409..ce891b7d8e5cbc956c28b8bb8c5c9976
} else if (blockState.is(Blocks.HONEY_BLOCK)) {
return BlockPathTypes.STICKY_HONEY;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dfae718aa318ecceea7efee1d2b1c85ebfd85256..eed7ae9bc36120e05a48c5f1c1ef61c101b720ef 100644
index 869db4be87334e6281d0b9dc8ae2496090fe7da1..26d46c07b483144911cb404809ad9873517ea4b3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -443,6 +443,11 @@ public class PurpurWorldConfig {

View File

@@ -25,10 +25,10 @@ index dc1630a1a769f848059f576c3d1220a216b5465c..50370dc8697569a4e5cf8ec3714d227a
}
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
index 30159f4f387b61b50589fad61f91c9e5a4adaf12..c8eaed6acd6b8bd47b7943ce0d61b20991899099 100644
index 0f8513ee6f56148cf63f4cd6a60acb7f70280ff1..e4c8b622cf3c7c57ada4c2e20a4b4a0f0b17de12 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
@@ -257,7 +257,13 @@ public class ItemFrame extends HangingEntity {
@@ -265,7 +265,13 @@ public class ItemFrame extends HangingEntity {
}
if (alwaysDrop) {
@@ -142,7 +142,7 @@ index 0284201b0bb0f5c9a4a2393cf0d83e8e21262df3..1f46a2be362ed5f60a7ca75916fe7bd4
if (((HangingEntity) object).survives()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 92f303aa5122183073abf2043c0ed3cb54fbc782..02842e0a9e8f2548c5ebdadfab681183d6e63320 100644
index 2579328634137f1a561e1ee4b389e048ffb40335..8bdf5d269988d690cddd0d370fddae14ac14ef9b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -101,8 +101,10 @@ public class PurpurWorldConfig {

View File

@@ -8,7 +8,7 @@ This should help to reduce the amount of dirt, gravel, grass, and etc.
that Endermen like to randomly place all over the world.
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 490b8d674a0f1ae75de89fcadb2894da55c32d4e..28d2ccc6b29b17a99a2828d044259adafa10922c 100644
index 37e71377ead8d3fd98ff6f6d643d31042944b43f..cc4009934d279e15a6a1d30dbea45fda1f6310e8 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -453,7 +453,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -21,10 +21,10 @@ index 490b8d674a0f1ae75de89fcadb2894da55c32d4e..28d2ccc6b29b17a99a2828d044259ada
private static class EndermanFreezeWhenLookedAt extends Goal {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dd9d39ed0fe3a170e6b024fd42e5c99d9312e410..63aad596da417b9e13a8a157408ac91e79d1048e 100644
index 7db83bf46fa0969d9fe099caa20e10b30095ef26..b948affb050573a2cd27d2c600f8ff2b07b371a1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -785,6 +785,7 @@ public class PurpurWorldConfig {
@@ -759,6 +759,7 @@ public class PurpurWorldConfig {
public boolean endermanRidableInWater = false;
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
@@ -32,7 +32,7 @@ index dd9d39ed0fe3a170e6b024fd42e5c99d9312e410..63aad596da417b9e13a8a157408ac91e
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -795,6 +796,7 @@ public class PurpurWorldConfig {
@@ -769,6 +770,7 @@ public class PurpurWorldConfig {
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);

View File

@@ -1,116 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sun, 22 Nov 2020 06:02:32 -0600
Subject: [PATCH] Add twisting and weeping vines growth rates
diff --git a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
index 87dabe3c80b48bff52f2e3dbbaceb37a1a21e431..966fd0ecff8a0fa8a08edaeaad899ff13f8106f3 100644
--- a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
@@ -80,4 +80,10 @@ public class CaveVinesBlock extends GrowingPlantHeadBlock implements Bonemealabl
public void performBonemeal(ServerLevel world, Random random, BlockPos pos, BlockState state) {
world.setBlock(pos, (BlockState) state.setValue(CaveVinesBlock.BERRIES, true), 2);
}
+
+ // Purpur start
+ public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) {
+ return world.purpurConfig.caveVinesGrowthModifier;
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
index def3b62feada5cebae4049883fa967b12f6f32b4..c4ba28ea8f73092c85b08bbec0d9197f2983ce23 100644
--- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
@@ -38,9 +38,11 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
return (Integer) state.getValue(GrowingPlantHeadBlock.AGE) < 25;
}
+ public abstract double getGrowthModifier(ServerLevel world); // Purpur
+
@Override
public void randomTick(BlockState state, ServerLevel world, BlockPos pos, Random random) {
- if ((Integer) state.getValue(GrowingPlantHeadBlock.AGE) < 25 && random.nextDouble() < (100.0D / world.spigotConfig.kelpModifier) * this.growPerTickProbability) { // Spigot
+ if (state.getValue(GrowingPlantHeadBlock.AGE) < 25 && random.nextDouble() < (100.0D / this.getGrowthModifier(world)) * this.growPerTickProbability) { // Spigot // Purpur
BlockPos blockposition1 = pos.relative(this.growthDirection);
if (this.canGrowInto(world.getBlockState(blockposition1))) {
diff --git a/src/main/java/net/minecraft/world/level/block/KelpBlock.java b/src/main/java/net/minecraft/world/level/block/KelpBlock.java
index 2bd5db55656c9ace95ad5ffdc4a6d07daa0948e4..5f9a8dd6b4f7c9285ffcce8bbe0e334a28cc9699 100644
--- a/src/main/java/net/minecraft/world/level/block/KelpBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/KelpBlock.java
@@ -64,4 +64,10 @@ public class KelpBlock extends GrowingPlantHeadBlock implements LiquidBlockConta
public FluidState getFluidState(BlockState state) {
return Fluids.WATER.getSource(false);
}
+
+ // Purpur start
+ public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) {
+ return world.spigotConfig.kelpModifier;
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java b/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java
index bc9813ad36d95d90eafe51afa27857937b6eecc6..c877f7e4e55c63d91ce58c15850e279be3e159a7 100644
--- a/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java
@@ -27,4 +27,10 @@ public class TwistingVinesBlock extends GrowingPlantHeadBlock {
protected boolean canGrowInto(BlockState state) {
return NetherVines.isValidGrowthState(state);
}
+
+ // Purpur start
+ public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) {
+ return world.purpurConfig.twistingVinesGrowthModifier;
+ }
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java b/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java
index 35b2bad76c45b5a94ba7f2e9c7a8cfeb8c3f498b..d2cb1a7e7ea364cb8e2af4c4e756d8e45bc0ca10 100644
--- a/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java
@@ -27,4 +27,10 @@ public class WeepingVinesBlock extends GrowingPlantHeadBlock {
protected boolean canGrowInto(BlockState state) {
return NetherVines.isValidGrowthState(state);
}
+
+ // Purpur start
+ public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) {
+ return world.purpurConfig.weepingVinesGrowthModifier;
+ }
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index daf9c24425e3ecc8d9e8c3147842ea316d414788..b1a47a8bc3a23b2f214efb1caca0bba1364c41ad 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -402,6 +402,11 @@ public class PurpurWorldConfig {
}
}
+ public double caveVinesGrowthModifier = 0.10D;
+ private void caveVinesSettings() {
+ caveVinesGrowthModifier = getDouble("blocks.cave_vines.growth-modifier", caveVinesGrowthModifier);
+ }
+
public boolean dispenserApplyCursedArmor = true;
public boolean dispenserPlaceAnvils = false;
private void dispenserSettings() {
@@ -476,6 +481,16 @@ public class PurpurWorldConfig {
stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage);
}
+ public double twistingVinesGrowthModifier = 0.10D;
+ private void twistingVinesSettings() {
+ twistingVinesGrowthModifier = getDouble("blocks.twisting_vines.growth-modifier", twistingVinesGrowthModifier);
+ }
+
+ public double weepingVinesGrowthModifier = 0.10D;
+ private void weepingVinesSettings() {
+ weepingVinesGrowthModifier = getDouble("blocks.weeping_vines.growth-modifier", weepingVinesGrowthModifier);
+ }
+
public boolean babiesAreRidable = true;
public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false;

View File

@@ -18,7 +18,7 @@ index ed2f039c4042861bcfa2e41d8281eefd37daa9fa..d5d84893c77b4e60a19032d765d76bfd
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 63aad596da417b9e13a8a157408ac91e79d1048e..e034ffef119e36e8beee125bfdaa821aba63fcaf 100644
index b948affb050573a2cd27d2c600f8ff2b07b371a1..fdf7291b8b6f8963bba2d579f28f8520adcd9dc2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -295,6 +295,11 @@ public class PurpurWorldConfig {

View File

@@ -1,149 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Sun, 22 Nov 2020 20:13:27 -0600
Subject: [PATCH] Kelp weeping and twisting vines configurable max growth age
diff --git a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
index 966fd0ecff8a0fa8a08edaeaad899ff13f8106f3..54f4683b7ad69f6bfb2e2b19842f0a418b20359a 100644
--- a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java
@@ -85,5 +85,9 @@ public class CaveVinesBlock extends GrowingPlantHeadBlock implements Bonemealabl
public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) {
return world.purpurConfig.caveVinesGrowthModifier;
}
+
+ public int getMaxGrowthAge(net.minecraft.server.level.ServerLevel world) {
+ return world.purpurConfig.caveVinesMaxGrowthAge;
+ }
// Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
index c4ba28ea8f73092c85b08bbec0d9197f2983ce23..1914a145005dd2c44ac66efb313ac7837238f29b 100644
--- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java
@@ -30,7 +30,7 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
@Override
public BlockState getStateForPlacement(LevelAccessor world) {
- return (BlockState) this.defaultBlockState().setValue(GrowingPlantHeadBlock.AGE, world.getRandom().nextInt(25));
+ return (BlockState) this.defaultBlockState().setValue(GrowingPlantHeadBlock.AGE, world.getRandom().nextInt(getMaxGrowthAge(world.getMinecraftWorld()))); // Purpur
}
@Override
@@ -40,9 +40,11 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
public abstract double getGrowthModifier(ServerLevel world); // Purpur
+ public abstract int getMaxGrowthAge(ServerLevel world); // Purpur
+
@Override
public void randomTick(BlockState state, ServerLevel world, BlockPos pos, Random random) {
- if (state.getValue(GrowingPlantHeadBlock.AGE) < 25 && random.nextDouble() < (100.0D / this.getGrowthModifier(world)) * this.growPerTickProbability) { // Spigot // Purpur
+ if (state.getValue(GrowingPlantHeadBlock.AGE) < getMaxGrowthAge(world) && random.nextDouble() < (100.0D / this.getGrowthModifier(world)) * this.growPerTickProbability) { // Spigot // Purpur
BlockPos blockposition1 = pos.relative(this.growthDirection);
if (this.canGrowInto(world.getBlockState(blockposition1))) {
@@ -103,13 +105,13 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements
@Override
public void performBonemeal(ServerLevel world, Random random, BlockPos pos, BlockState state) {
BlockPos blockposition1 = pos.relative(this.growthDirection);
- int i = Math.min((Integer) state.getValue(GrowingPlantHeadBlock.AGE) + 1, 25);
+ int i = Math.min((Integer) state.getValue(GrowingPlantHeadBlock.AGE) + 1, getMaxGrowthAge(world)); // Purpur
int j = this.getBlocksToGrowWhenBonemealed(random);
for (int k = 0; k < j && this.canGrowInto(world.getBlockState(blockposition1)); ++k) {
world.setBlockAndUpdate(blockposition1, (BlockState) state.setValue(GrowingPlantHeadBlock.AGE, i));
blockposition1 = blockposition1.relative(this.growthDirection);
- i = Math.min(i + 1, 25);
+ i = Math.min(i + 1, getMaxGrowthAge(world)); // Purpur
}
}
diff --git a/src/main/java/net/minecraft/world/level/block/KelpBlock.java b/src/main/java/net/minecraft/world/level/block/KelpBlock.java
index 5f9a8dd6b4f7c9285ffcce8bbe0e334a28cc9699..486a62617b594b66341fb9ef2f88c3f328cb943d 100644
--- a/src/main/java/net/minecraft/world/level/block/KelpBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/KelpBlock.java
@@ -69,5 +69,9 @@ public class KelpBlock extends GrowingPlantHeadBlock implements LiquidBlockConta
public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) {
return world.spigotConfig.kelpModifier;
}
+
+ public int getMaxGrowthAge(net.minecraft.server.level.ServerLevel world) {
+ return world.purpurConfig.kelpMaxGrowthAge;
+ }
// Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java b/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java
index c877f7e4e55c63d91ce58c15850e279be3e159a7..c8ca3b9da2df89540a80c08042ca9aee28f274ea 100644
--- a/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java
@@ -32,5 +32,9 @@ public class TwistingVinesBlock extends GrowingPlantHeadBlock {
public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) {
return world.purpurConfig.twistingVinesGrowthModifier;
}
+
+ public int getMaxGrowthAge(net.minecraft.server.level.ServerLevel world) {
+ return world.purpurConfig.twistingVinesMaxGrowthAge;
+ }
// Purpur end
}
diff --git a/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java b/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java
index d2cb1a7e7ea364cb8e2af4c4e756d8e45bc0ca10..bb99dda3c5167f23b2500a1f37cbc1ca285f123a 100644
--- a/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java
@@ -32,5 +32,9 @@ public class WeepingVinesBlock extends GrowingPlantHeadBlock {
public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) {
return world.purpurConfig.weepingVinesGrowthModifier;
}
+
+ public int getMaxGrowthAge(net.minecraft.server.level.ServerLevel world) {
+ return world.purpurConfig.weepingVinesMaxGrowthAge;
+ }
// Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b1a47a8bc3a23b2f214efb1caca0bba1364c41ad..dd9d39ed0fe3a170e6b024fd42e5c99d9312e410 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -403,8 +403,10 @@ public class PurpurWorldConfig {
}
public double caveVinesGrowthModifier = 0.10D;
+ public int caveVinesMaxGrowthAge = 25;
private void caveVinesSettings() {
caveVinesGrowthModifier = getDouble("blocks.cave_vines.growth-modifier", caveVinesGrowthModifier);
+ caveVinesMaxGrowthAge = getInt("blocks.cave_vines.max-growth-age", caveVinesMaxGrowthAge);
}
public boolean dispenserApplyCursedArmor = true;
@@ -450,6 +452,11 @@ public class PurpurWorldConfig {
waterInfiniteRequiredSources = getInt("blocks.water.infinite-required-sources", waterInfiniteRequiredSources);
}
+ public int kelpMaxGrowthAge = 25;
+ private void kelpSettings() {
+ kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge);
+ }
+
public boolean respawnAnchorExplode = true;
public double respawnAnchorExplosionPower = 5.0D;
public boolean respawnAnchorExplosionFire = true;
@@ -482,13 +489,17 @@ public class PurpurWorldConfig {
}
public double twistingVinesGrowthModifier = 0.10D;
+ public int twistingVinesMaxGrowthAge = 25;
private void twistingVinesSettings() {
twistingVinesGrowthModifier = getDouble("blocks.twisting_vines.growth-modifier", twistingVinesGrowthModifier);
+ twistingVinesMaxGrowthAge = getInt("blocks.twisting_vines.max-growth-age", twistingVinesMaxGrowthAge);
}
public double weepingVinesGrowthModifier = 0.10D;
+ public int weepingVinesMaxGrowthAge = 25;
private void weepingVinesSettings() {
weepingVinesGrowthModifier = getDouble("blocks.weeping_vines.growth-modifier", weepingVinesGrowthModifier);
+ weepingVinesMaxGrowthAge = getInt("blocks.weeping_vines.max-growth-age", weepingVinesMaxGrowthAge);
}
public boolean babiesAreRidable = true;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Changeable Mob Left Handed Chance
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 198fe041d20e7ed21b47d5c22dcc121a8d388623..6a8347ceefd663066de5887fef8ebc82b30a1b93 100644
index eea702d4d62583f3fba646a260e3299de3f80366..7b67e1febe49fced5507db87f9269007680d8c9b 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1223,7 +1223,7 @@ public abstract class Mob extends LivingEntity {
@@ -18,7 +18,7 @@ index 198fe041d20e7ed21b47d5c22dcc121a8d388623..6a8347ceefd663066de5887fef8ebc82
} else {
this.setLeftHanded(false);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e034ffef119e36e8beee125bfdaa821aba63fcaf..b58de3cc86dbeae9fc4fa612f46ef9b75432965c 100644
index fdf7291b8b6f8963bba2d579f28f8520adcd9dc2..549c23b75167ddb655aec861a978be52047bb77b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -130,8 +130,10 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add boat fall damage config
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 80a57d726ee663aa37a3b93c883f835a2ebc765e..e07095a3ed1af5a8bb7715c264535ae952e264d9 100644
index 637313c0c4257b2986054f32dfbeead5c8f0a603..bb392c810776264b08db6588ed9253a5aadef021 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1018,7 +1018,16 @@ public class ServerPlayer extends Player {
@@ -27,7 +27,7 @@ index 80a57d726ee663aa37a3b93c883f835a2ebc765e..e07095a3ed1af5a8bb7715c264535ae9
if (!flag && isSpawnInvulnerable() && source != DamageSource.OUT_OF_WORLD) { // Purpur
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b58de3cc86dbeae9fc4fa612f46ef9b75432965c..ff2ad3f56afa0828037adc27c5f36c555269fc67 100644
index 549c23b75167ddb655aec861a978be52047bb77b..58f2147c9807119a77ec48f195a70de8c01b4773 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -365,6 +365,7 @@ public class PurpurWorldConfig {

View File

@@ -23,10 +23,10 @@ index a9c1b07f23c604d9364ccdee9478baf137af0816..10d68856c98b705158fe90623ef2b9ad
this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5b6cb4c752a332a33e8cefa2c46a7ef76fea01c2..372c04499fb4adfd99560f8e227ef0b139643a0e 100644
index 58f2147c9807119a77ec48f195a70de8c01b4773..67c5d1450e755532c54213e3aa9b4db744637496 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1468,6 +1468,10 @@ public class PurpurWorldConfig {
@@ -1442,6 +1442,10 @@ public class PurpurWorldConfig {
public double snowGolemMaxHealth = 4.0D;
public boolean snowGolemDropsPumpkin = true;
public boolean snowGolemPutPumpkinBack = false;
@@ -37,7 +37,7 @@ index 5b6cb4c752a332a33e8cefa2c46a7ef76fea01c2..372c04499fb4adfd99560f8e227ef0b1
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1480,6 +1484,10 @@ public class PurpurWorldConfig {
@@ -1454,6 +1458,10 @@ public class PurpurWorldConfig {
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin);
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);

View File

@@ -20,7 +20,7 @@ index a0dc380e90415de9068ea408d62a1605c82631df..fcd65feb5182b806b9aa8ecdcf11b386
itemStack.setCount(1);
ItemEntity itemEntity2 = serverPlayer.drop(itemStack, false, false, true); // Paper - Fix duplicating /give items on item drop cancel
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 8ec92ddf6373638ec2af2b8361e97ecb8b56993a..d892734595f70f446919d89de967a10c87c687d6 100644
index 14812231bfa1a48e622de8281e55661b857c56c7..e654f940f0c6cf6b6bc0cbcfd8d440df5375a8de 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -204,6 +204,11 @@ public class PurpurConfig {

View File

@@ -145,7 +145,7 @@ index b615dc2a2127f0874775d1707e96edfb4d95b987..72ae6b3282aac806ae11b87024ee940e
brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list);
} else {
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 145607300ed953e88b0f9fc1fc61bc34a6c92f84..5292f5f164f2c1bc1aa0ce920bee5afdcc0d2dde 100644
index 4e26e288a5bccd778a405b95f3a1d61931a398d1..2c9f0dc3db951befa9152c6fe17a5c5a788df774 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -215,7 +215,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -183,10 +183,10 @@ index 901fc6520d58a5fa5f2cf1b4fa78fec6008aa409..9050cd25663c71197c597aac0ab2e612
public static final VillagerProfession FISHERMAN = register("fisherman", PoiType.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN);
public static final VillagerProfession FLETCHER = register("fletcher", PoiType.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f7d9795f163d44c95a2ff6c883c3b1f7f1a34bcf..459f48b3bf3667b6768a05496b9fb564ed1af09d 100644
index 67c5d1450e755532c54213e3aa9b4db744637496..43152f0e2565ee8a2487ca98ef7a1f0804456c57 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1641,6 +1641,8 @@ public class PurpurWorldConfig {
@@ -1615,6 +1615,8 @@ public class PurpurWorldConfig {
public int villagerSpawnIronGolemLimit = 0;
public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000;
@@ -195,7 +195,7 @@ index f7d9795f163d44c95a2ff6c883c3b1f7f1a34bcf..459f48b3bf3667b6768a05496b9fb564
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1658,6 +1660,8 @@ public class PurpurWorldConfig {
@@ -1632,6 +1634,8 @@ public class PurpurWorldConfig {
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);

View File

@@ -35,10 +35,10 @@ index 76f1bbec2b8ebe037de65ee5ec718e17a6081c13..f8b742ee8e637edd8e8b05aff2fcc7a7
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 459f48b3bf3667b6768a05496b9fb564ed1af09d..18bb80875573b5bb35ab9ec448dcb3992407a56d 100644
index 43152f0e2565ee8a2487ca98ef7a1f0804456c57..deb9c0d4b721f4a71473f3cfe5c871b9008e3470 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1860,6 +1860,7 @@ public class PurpurWorldConfig {
@@ -1834,6 +1834,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyOnlyBaby = true;
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
@@ -46,7 +46,7 @@ index 459f48b3bf3667b6768a05496b9fb564ed1af09d..18bb80875573b5bb35ab9ec448dcb399
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1873,5 +1874,6 @@ public class PurpurWorldConfig {
@@ -1847,5 +1848,6 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby);
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Spread out and optimise player list ticksSpread out and
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 67c96235abd2eeba392e0400e2788c162e18f8de..84e5e35b002fc15a863a0969608d983165e95e65 100644
index 7c18b70f48b4c2427044ffa0f0b9b071f1e45797..5c11e91e1eebb0e24aaca9af323a9d5ecdc0a411 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1007,22 +1007,22 @@ public abstract class PlayerList {
@@ -46,10 +46,10 @@ index 67c96235abd2eeba392e0400e2788c162e18f8de..84e5e35b002fc15a863a0969608d9831
public void broadcastAll(Packet<?> packet) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 2069a834aaab46486025285b97dbb56d30e506a8..8eaaa5ef3a9c2a49e63f4c015738fc7ce7d3fd5c 100644
index e251821c59a2a07dc6e1b3f984641a0e549c315a..1ae6175cc5d83d669a19a88cb1ddc6478cb24dd9 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1548,7 +1548,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1549,7 +1549,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public boolean canSee(org.bukkit.entity.Entity entity) {

View File

@@ -222,10 +222,10 @@ index f856b42201c17f8da21251e54fcf052336916e70..ac0803d42be2f36a2f40487ee31413d0
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a830b43904f5c7165be7b55c9177bdf4e15aff88..30151fb7e8f3c871f73362d42061ed7a72f07165 100644
index deb9c0d4b721f4a71473f3cfe5c871b9008e3470..84be9a82ae1f63b0d9a91cf24e3bdcd05882360b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1753,6 +1753,8 @@ public class PurpurWorldConfig {
@@ -1727,6 +1727,8 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false;
public boolean wolfRidableInWater = false;
public double wolfMaxHealth = 8.0D;
@@ -234,7 +234,7 @@ index a830b43904f5c7165be7b55c9177bdf4e15aff88..30151fb7e8f3c871f73362d42061ed7a
public int wolfBreedingTicks = 6000;
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
@@ -1763,6 +1765,8 @@ public class PurpurWorldConfig {
@@ -1737,6 +1739,8 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -9,7 +9,7 @@ Resets to RED when the value is invalid.
test
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index 8f6c3e9eaefc0a15aefde7119f2e123894d434b7..bc088e237e6f1f2a4cde766b7586a621f1cb54e2 100644
index e9a165b7bb66dd4ae1c1befc67c671f45ec8271b..7d1e22f3c6eb5462d07027b3a2890b07667ddc46 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -367,6 +367,14 @@ public class Cat extends TamableAnimal {
@@ -28,7 +28,7 @@ index 8f6c3e9eaefc0a15aefde7119f2e123894d434b7..bc088e237e6f1f2a4cde766b7586a621
public Cat getBreedOffspring(ServerLevel world, AgeableMob entity) {
Cat entitycat = (Cat) EntityType.CAT.create(world);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index 1c971eaf2fca2d1cdc89809f673e49de107a4a46..a669a00d68807ed451a1b0def7a92e17ffb7bee1 100644
index 38c69ddde8a54482a1de60387bace297869c47f3..20e0e74d7e43f436172ca7b4cb8b613ba116f9ec 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -193,6 +193,12 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -45,10 +45,10 @@ index 1c971eaf2fca2d1cdc89809f673e49de107a4a46..a669a00d68807ed451a1b0def7a92e17
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index da0849e6e38a2c54410bd158b16f8f3e79e60066..4e889a369b1bf75e6ed3f175997b4604eaeb4414 100644
index 84be9a82ae1f63b0d9a91cf24e3bdcd05882360b..6be11c27772a1111a45096ca32cecc30e02e9431 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -588,6 +588,7 @@ public class PurpurWorldConfig {
@@ -562,6 +562,7 @@ public class PurpurWorldConfig {
public boolean catRidable = false;
public boolean catRidableInWater = false;
@@ -56,7 +56,7 @@ index da0849e6e38a2c54410bd158b16f8f3e79e60066..4e889a369b1bf75e6ed3f175997b4604
public double catMaxHealth = 10.0D;
public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16;
@@ -601,6 +602,11 @@ public class PurpurWorldConfig {
@@ -575,6 +576,11 @@ public class PurpurWorldConfig {
set("mobs.cat.attributes.max-health", null);
set("mobs.cat.attributes.max_health", oldValue);
}
@@ -68,7 +68,7 @@ index da0849e6e38a2c54410bd158b16f8f3e79e60066..4e889a369b1bf75e6ed3f175997b4604
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
@@ -1753,6 +1759,7 @@ public class PurpurWorldConfig {
@@ -1727,6 +1733,7 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false;
public boolean wolfRidableInWater = false;
public double wolfMaxHealth = 8.0D;
@@ -76,7 +76,7 @@ index da0849e6e38a2c54410bd158b16f8f3e79e60066..4e889a369b1bf75e6ed3f175997b4604
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -1765,6 +1772,11 @@ public class PurpurWorldConfig {
@@ -1739,6 +1746,11 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Phantom flames on swoop
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index edb28f9424af0d1973231729785b6ec67b599dbd..c3fde22e1cf98881da66e70870ced65f0ce0abc3 100644
index 266c196032f5c251cce17f096fe1ed8df371e412..94e034916df2626652cb6bfb05f0d5557c7b4803 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -226,6 +226,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -17,10 +17,10 @@ index edb28f9424af0d1973231729785b6ec67b599dbd..c3fde22e1cf98881da66e70870ced65f
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4e889a369b1bf75e6ed3f175997b4604eaeb4414..f9f393c36cc809c35845c4ab3732a22311d8f378 100644
index 6be11c27772a1111a45096ca32cecc30e02e9431..16db639bac4c3b962bae0924dc155872db1fa9be 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1178,6 +1178,7 @@ public class PurpurWorldConfig {
@@ -1152,6 +1152,7 @@ public class PurpurWorldConfig {
public float phantomFlameDamage = 1.0F;
public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false;
@@ -28,7 +28,7 @@ index 4e889a369b1bf75e6ed3f175997b4604eaeb4414..f9f393c36cc809c35845c4ab3732a223
public double phantomMaxHealth = 20.0D;
public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F;
@@ -1204,6 +1205,7 @@ public class PurpurWorldConfig {
@@ -1178,6 +1179,7 @@ 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

@@ -17,11 +17,11 @@ index db726697b00afdee6078849fd224263483349912..c808664a67a9604e40ab388c6d0e6ac3
return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f9f393c36cc809c35845c4ab3732a22311d8f378..469d001170e2aa18475efaab25e1f48105b47218 100644
index 16db639bac4c3b962bae0924dc155872db1fa9be..6a82e1934f1647e7a8961736ad9f5520f733ac8c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -418,6 +418,11 @@ public class PurpurWorldConfig {
caveVinesMaxGrowthAge = getInt("blocks.cave_vines.max-growth-age", caveVinesMaxGrowthAge);
@@ -411,6 +411,11 @@ public class PurpurWorldConfig {
}
}
+ public boolean chestOpenWithBlockOnTop = false;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Implement TPSBar
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index be6009edf26ee468980e7d0f33b989f0121f3011..6914b9a27798ee1f4f4169ff70b9cc4e2b61d9b4 100644
index 3e568ce480d01e8ea7cbabd0929a99fb635de1ee..bc418143e63bfe9553f6853b89c6f5e8fb73c36e 100644
--- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -208,6 +208,7 @@ public class Commands {
@@ -42,7 +42,7 @@ index 8bf98d8f8e9f0baaf203a9e8d18683236856eab7..455776981274e64724376a3182b60784
}
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 0232c6eb5eece33aa264bf6232b53342041310cc..67a9f4d394372b229a42f54344590b02439bb260 100644
index bb392c810776264b08db6588ed9253a5aadef021..ea852a092231a9fd0a9bfc4dc1e31c859db17ade 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -256,6 +256,7 @@ public class ServerPlayer extends Player {
@@ -84,7 +84,7 @@ index 0232c6eb5eece33aa264bf6232b53342041310cc..67a9f4d394372b229a42f54344590b02
// Purpur end
}
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 84e5e35b002fc15a863a0969608d983165e95e65..cf5916a1fe4fcf5353f5c7a00074b668469038ac 100644
index 5c11e91e1eebb0e24aaca9af323a9d5ecdc0a411..63e8397d6eff95ed81ab5d7cdb69495e188d931b 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -482,6 +482,7 @@ public abstract class PlayerList {
@@ -105,7 +105,7 @@ index 84e5e35b002fc15a863a0969608d983165e95e65..cf5916a1fe4fcf5353f5c7a00074b668
entityplayer.awardStat(Stats.LEAVE_GAME);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index d892734595f70f446919d89de967a10c87c687d6..79bcb015a7a29b41552e5173ec4b38bfa44fa6ff 100644
index e654f940f0c6cf6b6bc0cbcfd8d440df5375a8de..600b9e9bc6a9c92920c8ec28764e64dfc1fd6e3f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -209,6 +209,29 @@ public class PurpurConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Striders give saddle back
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 672801ab77a10917147f12b2117a3390885b39b0..b4f7d6f4b7e6f6d5fe9e472f1723430c3301378b 100644
index 74d11bf608ff26093d7995a09a463cac24304fa1..5902f0883ca0ad706801dc693bb3ac79b3eae91c 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -451,6 +451,18 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
@@ -28,10 +28,10 @@ index 672801ab77a10917147f12b2117a3390885b39b0..b4f7d6f4b7e6f6d5fe9e472f1723430c
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 469d001170e2aa18475efaab25e1f48105b47218..14110f925bb60819a50fabad7705c26f87e77f19 100644
index 6a82e1934f1647e7a8961736ad9f5520f733ac8c..dcbd25fcb88e82b8f2c5fdf60135a540bab6e91d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1553,6 +1553,7 @@ public class PurpurWorldConfig {
@@ -1527,6 +1527,7 @@ public class PurpurWorldConfig {
public boolean striderRidableInWater = false;
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
@@ -39,7 +39,7 @@ index 469d001170e2aa18475efaab25e1f48105b47218..14110f925bb60819a50fabad7705c26f
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1563,6 +1564,7 @@ public class PurpurWorldConfig {
@@ -1537,6 +1538,7 @@ public class PurpurWorldConfig {
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] PlayerBookTooLargeEvent
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 00666db1dc09f3c2df475de8c8c43e7d2c30127c..b36c984e1c38c5f8ca644e51157e82452612ebcf 100644
index b754eda13b99ddc529ef62bf591dd35758c346d0..5404735daf4d914d6981bc3c0ebafe087f8b6f37 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1107,10 +1107,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1140,10 +1140,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
int maxBookPageSize = com.destroystokyo.paper.PaperConfig.maxBookPageSize;
double multiplier = Math.max(0.3D, Math.min(1D, com.destroystokyo.paper.PaperConfig.maxBookTotalSizeMultiplier));
long byteAllowed = maxBookPageSize;
@@ -21,7 +21,7 @@ index 00666db1dc09f3c2df475de8c8c43e7d2c30127c..b36c984e1c38c5f8ca644e51157e8245
server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause
return;
}
@@ -1134,6 +1136,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1167,6 +1169,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
if (byteTotal > byteAllowed) {
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size());

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Full netherite armor grants fire resistance
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 42becbb21eee4e1b0a14e2fc3e226f0de26c96b1..0a8c8a24af17262be3e656042dc5c8bce9364e8a 100644
index 311eacc10a1ab5ed2161460cfaf45002c901de99..4ddeb2361528406a359eb0ccb204c965a03fc729 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -357,6 +357,16 @@ public abstract class Player extends LivingEntity {
@@ -26,7 +26,7 @@ index 42becbb21eee4e1b0a14e2fc3e226f0de26c96b1..0a8c8a24af17262be3e656042dc5c8bc
protected ItemCooldowns createItemCooldowns() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 14110f925bb60819a50fabad7705c26f87e77f19..d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a 100644
index dcbd25fcb88e82b8f2c5fdf60135a540bab6e91d..45b4ac35cb0b596c5ad6c9ab03739e337425becc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -267,6 +267,19 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 4904abec73580eee50c12a8edcb6e743805b018e..e0c5947610ab711024c0ef6346f2ca9a87701139 100644
index bb101512f4d1d26f8df50b50841a5952abb64fcc..679ceed9d18b59b35572145e0fa21e51e4760d27 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1677,7 +1677,7 @@ public abstract class LivingEntity extends Entity {
@@ -18,7 +18,7 @@ index 4904abec73580eee50c12a8edcb6e743805b018e..e0c5947610ab711024c0ef6346f2ca9a
BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState();
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 6a8347ceefd663066de5887fef8ebc82b30a1b93..95c765ce622da83cfdff655ca746468fce37a491 100644
index 7b67e1febe49fced5507db87f9269007680d8c9b..33868c78d5e435230cbfdfcf01795c82411ac7c7 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -664,7 +664,7 @@ public abstract class Mob extends LivingEntity {
@@ -92,7 +92,7 @@ index a618b50ac8448528ac6ac64b400fa3d0882dbaf9..7ca4e20ec53408573921bed07dd81849
} else if (this.nextStartTick > 0) {
--this.nextStartTick;
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 856e348b45fcaf8fc1710cd7382eb6ac10424fb8..1daccbc51b6ec635130932995350eb0de8abe0a3 100644
index f7f5a75f29a5092a7d8ee689cd3679d8eaac7c7d..d667159664c05e4e45fe3c22a52f5e228a91409a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -1356,7 +1356,7 @@ public class Fox extends Animal {
@@ -105,7 +105,7 @@ index 856e348b45fcaf8fc1710cd7382eb6ac10424fb8..1daccbc51b6ec635130932995350eb0d
if (iblockdata.is(Blocks.SWEET_BERRY_BUSH)) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index b4314eb2b69dd56176bb33972181fe75c03b90bd..d7fbe9322ae22274c37e8b36500d993eab5bf397 100644
index dd6e51be94189679d169f55805c9252107560be2..a65e2addade6b7e5ad47d0f7d25ebc1790b7329f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -611,7 +611,7 @@ public class Rabbit extends Animal {
@@ -118,7 +118,7 @@ index b4314eb2b69dd56176bb33972181fe75c03b90bd..d7fbe9322ae22274c37e8b36500d993e
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
index 093211be0d86cc114cbb109d7ba01f491d7954b1..af4db007807d94888fa945d9d43785b74bee2b67 100644
index 10d68856c98b705158fe90623ef2b9ad41bef2f2..0c22b4502be1bf886307ad9b35c49ca617c28dbb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -128,7 +128,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -131,7 +131,7 @@ index 093211be0d86cc114cbb109d7ba01f491d7954b1..af4db007807d94888fa945d9d43785b7
}
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 e29fe6939d59a58093ddfbdf9b274469c5e25756..6ba83c938456dc79c8cd948ae981c6f2e93702ae 100644
index 9d4dd8c460d1d69ab56e166e10fd7137ddc47603..f237bcff01e4102f68663bbaa1254bbd5b98ee0c 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
@@ -560,7 +560,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -144,7 +144,7 @@ index e29fe6939d59a58093ddfbdf9b274469c5e25756..6ba83c938456dc79c8cd948ae981c6f2
// flag1 = this.level.removeBlock(blockposition, false) || flag1;
flag1 = true;
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 9ba855af05a80bef63be043f3672996af6bf411f..86cd0a6d42a232ad81e0593f3b5b23c97d20db39 100644
index 93cc8dbf2ff435777a5edc11a834ca1b190638ab..cf36bf3067f86572ffb75c2a155dbfc8e3750a12 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
@@ -386,7 +386,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -166,7 +166,7 @@ index 9ba855af05a80bef63be043f3672996af6bf411f..86cd0a6d42a232ad81e0593f3b5b23c9
j = Mth.floor(this.getX());
int i1 = Mth.floor(this.getZ());
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index f7b1d2cb0ba544aa4aec7d87d21335e9fcca6127..d06bba26db491950588d8b7ef356156663972e4f 100644
index bb32bc0989ebbdd7522fe5f70ae3e6414f909388..8ac278f8e55ad7a090ad332db2da1e1eaef0db4d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -344,7 +344,7 @@ public class Creeper extends Monster implements PowerableMob {
@@ -179,7 +179,7 @@ index f7b1d2cb0ba544aa4aec7d87d21335e9fcca6127..d06bba26db491950588d8b7ef3561566
// CraftBukkit start
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 28d2ccc6b29b17a99a2828d044259adafa10922c..be620f9f305aad756bb5b932764aaf24baebda55 100644
index cc4009934d279e15a6a1d30dbea45fda1f6310e8..188c56ac98e88507f09f8603970ba2238629b8e3 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -501,7 +501,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -201,7 +201,7 @@ index 28d2ccc6b29b17a99a2828d044259adafa10922c..be620f9f305aad756bb5b932764aaf24
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
index f879bfa65b266728b570725e1ff9403f1732244d..e55cc17687247de4817939cd2d73ef667d946ca3 100644
index eb794368625d96aef6883f2c45c6a21e06e33d0b..f0f8d81539ce6a5d0b84488b6dc15fe53e0b1083 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
@@ -317,7 +317,7 @@ public class Evoker extends SpellcasterIllager {
@@ -214,7 +214,7 @@ index f879bfa65b266728b570725e1ff9403f1732244d..e55cc17687247de4817939cd2d73ef66
} else {
List<Sheep> list = Evoker.this.level.getNearbyEntities(Sheep.class, this.wololoTargeting, Evoker.this, Evoker.this.getBoundingBox().inflate(16.0D, 4.0D, 16.0D));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
index c1eea7e71aa364789a544e6491b2201bcb6a37c8..5eb9e19531c5c996dd669f6e430b0dfb3d94928a 100644
index b289e0fa4324f012464c655d82ccf59469ae6466..a9681016023be8586268a366914273334e3e7f9e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -185,7 +185,7 @@ public class Ravager extends Raider {
@@ -227,7 +227,7 @@ index c1eea7e71aa364789a544e6491b2201bcb6a37c8..5eb9e19531c5c996dd669f6e430b0dfb
AABB axisalignedbb = this.getBoundingBox().inflate(0.2D);
Iterator iterator = BlockPos.betweenClosed(Mth.floor(axisalignedbb.minX), Mth.floor(axisalignedbb.minY), Mth.floor(axisalignedbb.minZ), Mth.floor(axisalignedbb.maxX), Mth.floor(axisalignedbb.maxY), Mth.floor(axisalignedbb.maxZ)).iterator();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
index 3481a2e178e5c101b6038e6506933d50861c3f9d..d215d8eff468c8bab9db160ea2b3fa1e6749d1a3 100644
index cd26c22664fb23457f99fe04607146c8c6545307..5057b9b6ad2c47a11ca11b281393ccf6a6e8dd6f 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
@@ -197,7 +197,7 @@ public class Silverfish extends Monster {
@@ -393,7 +393,7 @@ index b942e7c85e6c8f9a7664d9e5bf93bcd79e0651f1..5b29f3fced5435e172dd69f6f4eb265e
return true;
// Purpur end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5e76ea545 100644
index 45b4ac35cb0b596c5ad6c9ab03739e337425becc..eb41a866b47b0051a6a7e4268bc946bf35264168 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -381,8 +381,11 @@ public class PurpurWorldConfig {
@@ -420,7 +420,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
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);
@@ -443,9 +449,11 @@ public class PurpurWorldConfig {
@@ -436,9 +442,11 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}
@@ -432,8 +432,8 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha);
}
@@ -484,6 +492,11 @@ public class PurpurWorldConfig {
kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge);
@@ -472,6 +480,11 @@ public class PurpurWorldConfig {
waterInfiniteRequiredSources = getInt("blocks.water.infinite-required-sources", waterInfiniteRequiredSources);
}
+ public boolean powderSnowBypassMobGriefing = false;
@@ -444,19 +444,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
public boolean respawnAnchorExplode = true;
public double respawnAnchorExplosionPower = 5.0D;
public boolean respawnAnchorExplosionFire = true;
@@ -515,6 +528,11 @@ public class PurpurWorldConfig {
stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage);
}
+ public boolean turtleEggsBypassMobGriefing = false;
+ private void turtleSettings() {
+ turtleEggsBypassMobGriefing = getBoolean("blocks.turtle_egg.bypass-mob-griefing", turtleEggsBypassMobGriefing);
+ }
+
public double twistingVinesGrowthModifier = 0.10D;
public int twistingVinesMaxGrowthAge = 25;
private void twistingVinesSettings() {
@@ -699,6 +717,7 @@ public class PurpurWorldConfig {
@@ -673,6 +686,7 @@ public class PurpurWorldConfig {
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true;
@@ -464,7 +452,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -710,6 +729,7 @@ public class PurpurWorldConfig {
@@ -684,6 +698,7 @@ public class PurpurWorldConfig {
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
@@ -472,7 +460,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
}
public boolean dolphinRidable = false;
@@ -797,6 +817,7 @@ public class PurpurWorldConfig {
@@ -771,6 +786,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxY = 256D;
public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false;
@@ -480,7 +468,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -812,6 +833,7 @@ public class PurpurWorldConfig {
@@ -786,6 +802,7 @@ public class PurpurWorldConfig {
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
@@ -488,7 +476,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
}
public boolean endermanRidable = false;
@@ -819,6 +841,7 @@ public class PurpurWorldConfig {
@@ -793,6 +810,7 @@ public class PurpurWorldConfig {
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false;
@@ -496,7 +484,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -830,6 +853,7 @@ public class PurpurWorldConfig {
@@ -804,6 +822,7 @@ public class PurpurWorldConfig {
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
@@ -504,7 +492,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
}
public boolean endermiteRidable = false;
@@ -849,6 +873,7 @@ public class PurpurWorldConfig {
@@ -823,6 +842,7 @@ public class PurpurWorldConfig {
public boolean evokerRidable = false;
public boolean evokerRidableInWater = false;
public double evokerMaxHealth = 24.0D;
@@ -512,7 +500,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
private void evokerSettings() {
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
@@ -858,6 +883,7 @@ public class PurpurWorldConfig {
@@ -832,6 +852,7 @@ public class PurpurWorldConfig {
set("mobs.evoker.attributes.max_health", oldValue);
}
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
@@ -520,7 +508,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
}
public boolean foxRidable = false;
@@ -865,6 +891,7 @@ public class PurpurWorldConfig {
@@ -839,6 +860,7 @@ public class PurpurWorldConfig {
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
public int foxBreedingTicks = 6000;
@@ -528,7 +516,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -876,6 +903,7 @@ public class PurpurWorldConfig {
@@ -850,6 +872,7 @@ public class PurpurWorldConfig {
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
@@ -536,7 +524,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
}
public boolean ghastRidable = false;
@@ -1271,6 +1299,7 @@ public class PurpurWorldConfig {
@@ -1245,6 +1268,7 @@ public class PurpurWorldConfig {
public boolean piglinRidable = false;
public boolean piglinRidableInWater = false;
public double piglinMaxHealth = 16.0D;
@@ -544,7 +532,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1280,6 +1309,7 @@ public class PurpurWorldConfig {
@@ -1254,6 +1278,7 @@ public class PurpurWorldConfig {
set("mobs.piglin.attributes.max_health", oldValue);
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
@@ -552,7 +540,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
}
public boolean piglinBruteRidable = false;
@@ -1299,6 +1329,7 @@ public class PurpurWorldConfig {
@@ -1273,6 +1298,7 @@ public class PurpurWorldConfig {
public boolean pillagerRidable = false;
public boolean pillagerRidableInWater = false;
public double pillagerMaxHealth = 24.0D;
@@ -560,7 +548,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1308,6 +1339,7 @@ public class PurpurWorldConfig {
@@ -1282,6 +1308,7 @@ public class PurpurWorldConfig {
set("mobs.pillager.attributes.max_health", oldValue);
}
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
@@ -568,7 +556,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
}
public boolean polarBearRidable = false;
@@ -1349,6 +1381,7 @@ public class PurpurWorldConfig {
@@ -1323,6 +1350,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
@@ -576,7 +564,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1361,11 +1394,13 @@ public class PurpurWorldConfig {
@@ -1335,11 +1363,13 @@ public class PurpurWorldConfig {
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
@@ -590,7 +578,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1375,6 +1410,7 @@ public class PurpurWorldConfig {
@@ -1349,6 +1379,7 @@ public class PurpurWorldConfig {
set("mobs.ravager.attributes.max_health", oldValue);
}
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
@@ -598,7 +586,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
}
public boolean salmonRidable = false;
@@ -1393,6 +1429,7 @@ public class PurpurWorldConfig {
@@ -1367,6 +1398,7 @@ public class PurpurWorldConfig {
public boolean sheepRidableInWater = false;
public double sheepMaxHealth = 8.0D;
public int sheepBreedingTicks = 6000;
@@ -606,7 +594,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1403,6 +1440,7 @@ public class PurpurWorldConfig {
@@ -1377,6 +1409,7 @@ public class PurpurWorldConfig {
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
@@ -614,7 +602,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
}
public boolean shulkerRidable = false;
@@ -1422,6 +1460,7 @@ public class PurpurWorldConfig {
@@ -1396,6 +1429,7 @@ public class PurpurWorldConfig {
public boolean silverfishRidable = false;
public boolean silverfishRidableInWater = false;
public double silverfishMaxHealth = 8.0D;
@@ -622,7 +610,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1431,6 +1470,7 @@ public class PurpurWorldConfig {
@@ -1405,6 +1439,7 @@ public class PurpurWorldConfig {
set("mobs.silverfish.attributes.max_health", oldValue);
}
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
@@ -630,7 +618,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
}
public boolean skeletonRidable = false;
@@ -1498,6 +1538,7 @@ public class PurpurWorldConfig {
@@ -1472,6 +1507,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
@@ -638,7 +626,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1514,6 +1555,7 @@ public class PurpurWorldConfig {
@@ -1488,6 +1524,7 @@ public class PurpurWorldConfig {
snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
@@ -646,7 +634,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
}
public boolean squidRidable = false;
@@ -1671,6 +1713,7 @@ public class PurpurWorldConfig {
@@ -1645,6 +1682,7 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -654,7 +642,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1690,6 +1733,7 @@ public class PurpurWorldConfig {
@@ -1664,6 +1702,7 @@ public class PurpurWorldConfig {
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
@@ -662,7 +650,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
}
public boolean vindicatorRidable = false;
@@ -1746,6 +1790,7 @@ public class PurpurWorldConfig {
@@ -1720,6 +1759,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D;
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
@@ -670,7 +658,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1762,6 +1807,7 @@ public class PurpurWorldConfig {
@@ -1736,6 +1776,7 @@ public class PurpurWorldConfig {
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
@@ -678,7 +666,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
}
public boolean witherSkeletonRidable = false;
@@ -1826,6 +1872,7 @@ public class PurpurWorldConfig {
@@ -1800,6 +1841,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -686,7 +674,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1840,6 +1887,7 @@ public class PurpurWorldConfig {
@@ -1814,6 +1856,7 @@ public class PurpurWorldConfig {
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);

View File

@@ -9,7 +9,7 @@ Normally, the sounds will only play when the block directly above is air.
With this patch enabled, players can place any block above the Note Block and it will still work.
diff --git a/src/main/java/net/minecraft/world/level/block/NoteBlock.java b/src/main/java/net/minecraft/world/level/block/NoteBlock.java
index 0512b3701a3bf33891ab6281355c07af6be5b9c1..d79cf8df4be544c4402a2419cd9238bde6620fbb 100644
index 7dd423f6b92b7f27dd43e5ef3f4029a100a8cfa6..8d0a1da17c38118293d1f05849cdc99970ed8795 100644
--- a/src/main/java/net/minecraft/world/level/block/NoteBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/NoteBlock.java
@@ -61,7 +61,7 @@ public class NoteBlock extends Block {
@@ -22,7 +22,7 @@ index 0512b3701a3bf33891ab6281355c07af6be5b9c1..d79cf8df4be544c4402a2419cd9238bd
org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, blockposition, data.getValue(NoteBlock.INSTRUMENT), data.getValue(NoteBlock.NOTE));
if (!event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 245f602c5511b11ef7572cbff7e31db5e76ea545..e2239c1a5ea8d8c91d0cd247fa0b4dbc255eeab5 100644
index eb41a866b47b0051a6a7e4268bc946bf35264168..9a42073d2b26d62669bf9ed67f99f193e2415e01 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -384,6 +384,7 @@ public class PurpurWorldConfig {

View File

@@ -93,10 +93,10 @@ index 1ba59900ddf403453aeb4f82b097feaab3dae3ff..1f76a89e179b7a4bf28a172b1ece0603
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 8eaaa5ef3a9c2a49e63f4c015738fc7ce7d3fd5c..235dbac7c3c28e5c2fb2aa3bfbafc7ff008e00ff 100644
index 1ae6175cc5d83d669a19a88cb1ddc6478cb24dd9..e92c9815ce3f41760e4a31b01ce90d0818657521 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -966,6 +966,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -967,6 +967,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
}
if (entity.isVehicle()) {
@@ -108,7 +108,7 @@ index 8eaaa5ef3a9c2a49e63f4c015738fc7ce7d3fd5c..235dbac7c3c28e5c2fb2aa3bfbafc7ff
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 38467b91b7550a6c1c28a65dfbde9cbbf63915e9..fb27a33232a30706d4075ca204ca9b20c0505613 100644
index 9a42073d2b26d62669bf9ed67f99f193e2415e01..ac811e5b2753d9ed727aa1b3f91ef5df338d9360 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -383,6 +383,7 @@ public class PurpurWorldConfig {

View File

@@ -37,10 +37,10 @@ index caf40e3df0896492be959f9e0bcfb1fad0bfa2ef..10f1e3d9c35ee80587865cf0035416ae
if (CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState()).isCancelled()) {
return;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1719201a0da3d0da8500a2e138bd0a6234502b9b..90d764834b2210dbc655a46a5f4512afe8dd7d70 100644
index ac811e5b2753d9ed727aa1b3f91ef5df338d9360..0dde7e616a98a44ff9dec970a90b92694f97acd5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -456,10 +456,16 @@ public class PurpurWorldConfig {
@@ -449,10 +449,16 @@ public class PurpurWorldConfig {
public boolean farmlandBypassMobGriefing = false;
public boolean farmlandGetsMoistFromBelow = false;
public boolean farmlandAlpha = false;

View File

@@ -17,10 +17,10 @@ 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/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 1d5ab54742ee9818ffd8cf1687e89269f449e6c4..1428e4f1aa8262ff33c789c419451ecef192116f 100644
index 15e25843ba5bea971d7a844fbd8adb8b483001da..0595e33944712424d551a900b93cd17b132789c3 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1502,7 +1502,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -1588,7 +1588,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
return this.isInWater() || flag;
}
@@ -66,7 +66,7 @@ index 50370dc8697569a4e5cf8ec3714d227a59357d64..e9e24435057cff9c0af758ca2aa822c3
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 90d764834b2210dbc655a46a5f4512afe8dd7d70..4c65643e508d4c80a3e8f76d7f7fd1f128bd646f 100644
index 0dde7e616a98a44ff9dec970a90b92694f97acd5..aa5cd1c74b6e6ee2cf2e646269f1e28884618ba5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -103,10 +103,16 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fix stuck in portals
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 67a9f4d394372b229a42f54344590b02439bb260..0d58442a23793c0e0d70a2caf16736b5fba8879f 100644
index ea852a092231a9fd0a9bfc4dc1e31c859db17ade..722590b3674de1c3d92db4995df0aa87e55ecdea 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1171,6 +1171,7 @@ public class ServerPlayer extends Player {
@@ -17,10 +17,10 @@ index 67a9f4d394372b229a42f54344590b02439bb260..0d58442a23793c0e0d70a2caf16736b5
// CraftBukkit end
this.setLevel(worldserver);
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 186072ce4012c562e659674c7ef1fb01e51011b4..adfd0f5e939fcd35a564682d913153944d806e5d 100644
index 0595e33944712424d551a900b93cd17b132789c3..8288841cfff9854f8ab50c37bf14d82dad3b2917 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2626,12 +2626,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -2713,12 +2713,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
return Vec3.directionFromRotation(this.getRotationVector());
}
@@ -37,7 +37,7 @@ index 186072ce4012c562e659674c7ef1fb01e51011b4..adfd0f5e939fcd35a564682d91315394
this.isInsidePortal = true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1b557f300fb895df5358d9a9c3a6b14661ca66b8..f1f4eda3adb8ef19958472558e91c585b9646c6b 100644
index aa5cd1c74b6e6ee2cf2e646269f1e28884618ba5..1f53d91397fdd6903fe0b9e2d7805c4a08c3f27d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -297,6 +297,7 @@ public class PurpurWorldConfig {

View File

@@ -1142,7 +1142,7 @@ index f6734f2eb44af7b2389de5079831e0e4f8a1c742..d3a298734e4434d29b66e94fc6c299d3
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 84f26b30c04715ed9d39c27738705a0d589249f3..56d57670e7e315d53abc60d6c9df2a8777536b30 100644
index 2c9f0dc3db951befa9152c6fe17a5c5a788df774..f82d4019aba5fd89e0f8d41a4dc6e42abd228510 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -179,6 +179,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -1174,10 +1174,10 @@ index c5dbb1c8210b71f7d9d91089cb139f65605573a8..e5b78c9d6fb326771d65ea9afd9da38c
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f879fe3477f 100644
index 1f53d91397fdd6903fe0b9e2d7805c4a08c3f27d..7937bad1b6e9c62f23bcdccc11824ff96e77afac 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -574,6 +574,7 @@ public class PurpurWorldConfig {
@@ -543,6 +543,7 @@ public class PurpurWorldConfig {
useNightVisionWhenRiding = getBoolean("ridable-settings.use-night-vision", useNightVisionWhenRiding);
}
@@ -1185,7 +1185,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
public boolean axolotlRidable = false;
public double axolotlMaxHealth = 14.0D;
public int axolotlBreedingTicks = 6000;
@@ -581,6 +582,7 @@ public class PurpurWorldConfig {
@@ -550,6 +551,7 @@ public class PurpurWorldConfig {
axolotlRidable = getBoolean("mobs.axolotl.ridable", axolotlRidable);
axolotlMaxHealth = getDouble("mobs.axolotl.attributes.max_health", axolotlMaxHealth);
axolotlBreedingTicks = getInt("mobs.axolotl.breeding-delay-ticks", axolotlBreedingTicks);
@@ -1193,7 +1193,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean batRidable = false;
@@ -594,6 +596,7 @@ public class PurpurWorldConfig {
@@ -563,6 +565,7 @@ public class PurpurWorldConfig {
public double batArmor = 0.0D;
public double batArmorToughness = 0.0D;
public double batAttackKnockback = 0.0D;
@@ -1201,7 +1201,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void batSettings() {
batRidable = getBoolean("mobs.bat.ridable", batRidable);
batRidableInWater = getBoolean("mobs.bat.ridable-in-water", batRidableInWater);
@@ -604,6 +607,7 @@ public class PurpurWorldConfig {
@@ -573,6 +576,7 @@ public class PurpurWorldConfig {
set("mobs.bat.attributes.max_health", oldValue);
}
batMaxHealth = getDouble("mobs.bat.attributes.max_health", batMaxHealth);
@@ -1209,7 +1209,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean beeRidable = false;
@@ -611,6 +615,7 @@ public class PurpurWorldConfig {
@@ -580,6 +584,7 @@ public class PurpurWorldConfig {
public double beeMaxY = 256D;
public double beeMaxHealth = 10.0D;
public int beeBreedingTicks = 6000;
@@ -1217,7 +1217,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -622,12 +627,14 @@ public class PurpurWorldConfig {
@@ -591,12 +596,14 @@ public class PurpurWorldConfig {
}
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
@@ -1232,7 +1232,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void blazeSettings() {
blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable);
blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater);
@@ -638,6 +645,7 @@ public class PurpurWorldConfig {
@@ -607,6 +614,7 @@ public class PurpurWorldConfig {
set("mobs.blaze.attributes.max_health", oldValue);
}
blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth);
@@ -1240,7 +1240,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean catRidable = false;
@@ -648,6 +656,7 @@ public class PurpurWorldConfig {
@@ -617,6 +625,7 @@ public class PurpurWorldConfig {
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
public int catBreedingTicks = 6000;
@@ -1248,7 +1248,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -666,11 +675,13 @@ public class PurpurWorldConfig {
@@ -635,11 +644,13 @@ public class PurpurWorldConfig {
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks);
@@ -1262,7 +1262,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void caveSpiderSettings() {
caveSpiderRidable = getBoolean("mobs.cave_spider.ridable", caveSpiderRidable);
caveSpiderRidableInWater = getBoolean("mobs.cave_spider.ridable-in-water", caveSpiderRidableInWater);
@@ -680,6 +691,7 @@ public class PurpurWorldConfig {
@@ -649,6 +660,7 @@ public class PurpurWorldConfig {
set("mobs.cave_spider.attributes.max_health", oldValue);
}
caveSpiderMaxHealth = getDouble("mobs.cave_spider.attributes.max_health", caveSpiderMaxHealth);
@@ -1270,7 +1270,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean chickenRidable = false;
@@ -687,6 +699,7 @@ public class PurpurWorldConfig {
@@ -656,6 +668,7 @@ public class PurpurWorldConfig {
public double chickenMaxHealth = 4.0D;
public boolean chickenRetaliate = false;
public int chickenBreedingTicks = 6000;
@@ -1278,7 +1278,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -698,10 +711,12 @@ public class PurpurWorldConfig {
@@ -667,10 +680,12 @@ public class PurpurWorldConfig {
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks);
@@ -1291,7 +1291,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void codSettings() {
codRidable = getBoolean("mobs.cod.ridable", codRidable);
if (PurpurConfig.version < 10) {
@@ -710,6 +725,7 @@ public class PurpurWorldConfig {
@@ -679,6 +694,7 @@ public class PurpurWorldConfig {
set("mobs.cod.attributes.max_health", oldValue);
}
codMaxHealth = getDouble("mobs.cod.attributes.max_health", codMaxHealth);
@@ -1299,7 +1299,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean cowRidable = false;
@@ -717,6 +733,7 @@ public class PurpurWorldConfig {
@@ -686,6 +702,7 @@ public class PurpurWorldConfig {
public double cowMaxHealth = 10.0D;
public int cowFeedMushrooms = 0;
public int cowBreedingTicks = 6000;
@@ -1307,7 +1307,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -728,6 +745,7 @@ public class PurpurWorldConfig {
@@ -697,6 +714,7 @@ public class PurpurWorldConfig {
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
@@ -1315,7 +1315,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean creeperRidable = false;
@@ -736,6 +754,7 @@ public class PurpurWorldConfig {
@@ -705,6 +723,7 @@ public class PurpurWorldConfig {
public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true;
public boolean creeperBypassMobGriefing = false;
@@ -1323,7 +1323,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -748,6 +767,7 @@ public class PurpurWorldConfig {
@@ -717,6 +736,7 @@ public class PurpurWorldConfig {
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
@@ -1331,7 +1331,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean dolphinRidable = false;
@@ -756,6 +776,7 @@ public class PurpurWorldConfig {
@@ -725,6 +745,7 @@ public class PurpurWorldConfig {
public float dolphinSpitDamage = 2.0F;
public double dolphinMaxHealth = 10.0D;
public boolean dolphinDisableTreasureSearching = false;
@@ -1339,7 +1339,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown);
@@ -768,6 +789,7 @@ public class PurpurWorldConfig {
@@ -737,6 +758,7 @@ public class PurpurWorldConfig {
}
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);
dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching);
@@ -1347,7 +1347,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean donkeyRidableInWater = false;
@@ -778,6 +800,7 @@ public class PurpurWorldConfig {
@@ -747,6 +769,7 @@ public class PurpurWorldConfig {
public double donkeyMovementSpeedMin = 0.175D;
public double donkeyMovementSpeedMax = 0.175D;
public int donkeyBreedingTicks = 6000;
@@ -1355,7 +1355,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) {
@@ -794,6 +817,7 @@ public class PurpurWorldConfig {
@@ -763,6 +786,7 @@ public class PurpurWorldConfig {
donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin);
donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax);
donkeyBreedingTicks = getInt("mobs.donkey.breeding-delay-ticks", donkeyBreedingTicks);
@@ -1363,7 +1363,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean drownedRidable = false;
@@ -803,6 +827,7 @@ public class PurpurWorldConfig {
@@ -772,6 +796,7 @@ public class PurpurWorldConfig {
public boolean drownedJockeyOnlyBaby = true;
public double drownedJockeyChance = 0.05D;
public boolean drownedJockeyTryExistingChickens = true;
@@ -1371,7 +1371,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -816,10 +841,12 @@ public class PurpurWorldConfig {
@@ -785,10 +810,12 @@ public class PurpurWorldConfig {
drownedJockeyOnlyBaby = getBoolean("mobs.drowned.jockey.only-babies", drownedJockeyOnlyBaby);
drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens);
@@ -1384,7 +1384,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void elderGuardianSettings() {
elderGuardianRidable = getBoolean("mobs.elder_guardian.ridable", elderGuardianRidable);
if (PurpurConfig.version < 10) {
@@ -828,6 +855,7 @@ public class PurpurWorldConfig {
@@ -797,6 +824,7 @@ public class PurpurWorldConfig {
set("mobs.elder_guardian.attributes.max_health", oldValue);
}
elderGuardianMaxHealth = getDouble("mobs.elder_guardian.attributes.max_health", elderGuardianMaxHealth);
@@ -1392,7 +1392,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean enderDragonRidable = false;
@@ -836,6 +864,7 @@ public class PurpurWorldConfig {
@@ -805,6 +833,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false;
public boolean enderDragonBypassMobGriefing = false;
@@ -1400,7 +1400,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -852,6 +881,7 @@ public class PurpurWorldConfig {
@@ -821,6 +850,7 @@ public class PurpurWorldConfig {
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
@@ -1408,7 +1408,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean endermanRidable = false;
@@ -860,6 +890,7 @@ public class PurpurWorldConfig {
@@ -829,6 +859,7 @@ public class PurpurWorldConfig {
public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false;
public boolean endermanBypassMobGriefing = false;
@@ -1416,7 +1416,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -872,11 +903,13 @@ public class PurpurWorldConfig {
@@ -841,11 +872,13 @@ public class PurpurWorldConfig {
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
endermanBypassMobGriefing = getBoolean("mobs.enderman.bypass-mob-griefing", endermanBypassMobGriefing);
@@ -1430,7 +1430,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void endermiteSettings() {
endermiteRidable = getBoolean("mobs.endermite.ridable", endermiteRidable);
endermiteRidableInWater = getBoolean("mobs.endermite.ridable-in-water", endermiteRidableInWater);
@@ -886,12 +919,14 @@ public class PurpurWorldConfig {
@@ -855,12 +888,14 @@ public class PurpurWorldConfig {
set("mobs.endermite.attributes.max_health", oldValue);
}
endermiteMaxHealth = getDouble("mobs.endermite.attributes.max_health", endermiteMaxHealth);
@@ -1445,7 +1445,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void evokerSettings() {
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
@@ -902,6 +937,7 @@ public class PurpurWorldConfig {
@@ -871,6 +906,7 @@ public class PurpurWorldConfig {
}
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
evokerBypassMobGriefing = getBoolean("mobs.evoker.bypass-mob-griefing", evokerBypassMobGriefing);
@@ -1453,7 +1453,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean foxRidable = false;
@@ -910,6 +946,7 @@ public class PurpurWorldConfig {
@@ -879,6 +915,7 @@ public class PurpurWorldConfig {
public boolean foxTypeChangesWithTulips = false;
public int foxBreedingTicks = 6000;
public boolean foxBypassMobGriefing = false;
@@ -1461,7 +1461,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -922,12 +959,14 @@ public class PurpurWorldConfig {
@@ -891,12 +928,14 @@ public class PurpurWorldConfig {
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
foxBypassMobGriefing = getBoolean("mobs.fox.bypass-mob-griefing", foxBypassMobGriefing);
@@ -1476,7 +1476,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void ghastSettings() {
ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable);
ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater);
@@ -938,6 +977,7 @@ public class PurpurWorldConfig {
@@ -907,6 +946,7 @@ public class PurpurWorldConfig {
set("mobs.ghast.attributes.max_health", oldValue);
}
ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth);
@@ -1484,7 +1484,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean giantRidable = false;
@@ -949,6 +989,7 @@ public class PurpurWorldConfig {
@@ -918,6 +958,7 @@ public class PurpurWorldConfig {
public float giantJumpHeight = 1.0F;
public boolean giantHaveAI = false;
public boolean giantHaveHostileAI = false;
@@ -1492,7 +1492,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void giantSettings() {
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
@@ -968,30 +1009,36 @@ public class PurpurWorldConfig {
@@ -937,30 +978,36 @@ public class PurpurWorldConfig {
giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight);
giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI);
giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI);
@@ -1529,7 +1529,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void guardianSettings() {
guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable);
if (PurpurConfig.version < 10) {
@@ -1000,12 +1047,14 @@ public class PurpurWorldConfig {
@@ -969,12 +1016,14 @@ public class PurpurWorldConfig {
set("mobs.guardian.attributes.max_health", oldValue);
}
guardianMaxHealth = getDouble("mobs.guardian.attributes.max_health", guardianMaxHealth);
@@ -1544,7 +1544,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -1016,6 +1065,7 @@ public class PurpurWorldConfig {
@@ -985,6 +1034,7 @@ public class PurpurWorldConfig {
}
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks);
@@ -1552,7 +1552,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean horseRidableInWater = false;
@@ -1026,6 +1076,7 @@ public class PurpurWorldConfig {
@@ -995,6 +1045,7 @@ public class PurpurWorldConfig {
public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D;
public int horseBreedingTicks = 6000;
@@ -1560,7 +1560,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1042,6 +1093,7 @@ public class PurpurWorldConfig {
@@ -1011,6 +1062,7 @@ public class PurpurWorldConfig {
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks);
@@ -1568,7 +1568,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean huskRidable = false;
@@ -1051,6 +1103,7 @@ public class PurpurWorldConfig {
@@ -1020,6 +1072,7 @@ public class PurpurWorldConfig {
public boolean huskJockeyOnlyBaby = true;
public double huskJockeyChance = 0.05D;
public boolean huskJockeyTryExistingChickens = true;
@@ -1576,7 +1576,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -1064,6 +1117,7 @@ public class PurpurWorldConfig {
@@ -1033,6 +1086,7 @@ public class PurpurWorldConfig {
huskJockeyOnlyBaby = getBoolean("mobs.husk.jockey.only-babies", huskJockeyOnlyBaby);
huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance);
huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens);
@@ -1584,7 +1584,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean illusionerRidable = false;
@@ -1071,6 +1125,7 @@ public class PurpurWorldConfig {
@@ -1040,6 +1094,7 @@ public class PurpurWorldConfig {
public double illusionerMovementSpeed = 0.5D;
public double illusionerFollowRange = 18.0D;
public double illusionerMaxHealth = 32.0D;
@@ -1592,7 +1592,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void illusionerSettings() {
illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable);
illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater);
@@ -1086,12 +1141,14 @@ public class PurpurWorldConfig {
@@ -1055,12 +1110,14 @@ public class PurpurWorldConfig {
set("mobs.illusioner.attributes.max_health", oldValue);
}
illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max_health", illusionerMaxHealth);
@@ -1607,7 +1607,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void ironGolemSettings() {
ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable);
ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater);
@@ -1102,6 +1159,7 @@ public class PurpurWorldConfig {
@@ -1071,6 +1128,7 @@ public class PurpurWorldConfig {
set("mobs.iron_golem.attributes.max_health", oldValue);
}
ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth);
@@ -1615,7 +1615,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean llamaRidable = false;
@@ -1113,6 +1171,7 @@ public class PurpurWorldConfig {
@@ -1082,6 +1140,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D;
public int llamaBreedingTicks = 6000;
@@ -1623,7 +1623,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1130,11 +1189,13 @@ public class PurpurWorldConfig {
@@ -1099,11 +1158,13 @@ public class PurpurWorldConfig {
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks);
@@ -1637,7 +1637,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void magmaCubeSettings() {
magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable);
magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater);
@@ -1144,12 +1205,14 @@ public class PurpurWorldConfig {
@@ -1113,12 +1174,14 @@ public class PurpurWorldConfig {
set("mobs.magma_cube.attributes.max_health", oldValue);
}
magmaCubeMaxHealth = getString("mobs.magma_cube.attributes.max_health", magmaCubeMaxHealth);
@@ -1652,7 +1652,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1160,6 +1223,7 @@ public class PurpurWorldConfig {
@@ -1129,6 +1192,7 @@ public class PurpurWorldConfig {
}
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks);
@@ -1660,7 +1660,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean muleRidableInWater = false;
@@ -1170,6 +1234,7 @@ public class PurpurWorldConfig {
@@ -1139,6 +1203,7 @@ public class PurpurWorldConfig {
public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D;
public int muleBreedingTicks = 6000;
@@ -1668,7 +1668,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1186,12 +1251,14 @@ public class PurpurWorldConfig {
@@ -1155,12 +1220,14 @@ public class PurpurWorldConfig {
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks);
@@ -1683,7 +1683,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1202,12 +1269,14 @@ public class PurpurWorldConfig {
@@ -1171,12 +1238,14 @@ public class PurpurWorldConfig {
}
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks);
@@ -1698,7 +1698,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1218,12 +1287,14 @@ public class PurpurWorldConfig {
@@ -1187,12 +1256,14 @@ public class PurpurWorldConfig {
}
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks);
@@ -1713,7 +1713,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void parrotSettings() {
parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable);
parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater);
@@ -1234,6 +1305,7 @@ public class PurpurWorldConfig {
@@ -1203,6 +1274,7 @@ public class PurpurWorldConfig {
set("mobs.parrot.attributes.max_health", oldValue);
}
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);
@@ -1721,7 +1721,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean phantomRidable = false;
@@ -1262,6 +1334,7 @@ public class PurpurWorldConfig {
@@ -1231,6 +1303,7 @@ public class PurpurWorldConfig {
public int phantomBurnInLight = 0;
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
@@ -1729,7 +1729,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1294,6 +1367,7 @@ public class PurpurWorldConfig {
@@ -1263,6 +1336,7 @@ public class PurpurWorldConfig {
phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight);
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);
@@ -1737,7 +1737,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean pigRidable = false;
@@ -1301,6 +1375,7 @@ public class PurpurWorldConfig {
@@ -1270,6 +1344,7 @@ public class PurpurWorldConfig {
public double pigMaxHealth = 10.0D;
public boolean pigGiveSaddleBack = false;
public int pigBreedingTicks = 6000;
@@ -1745,7 +1745,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1312,12 +1387,14 @@ public class PurpurWorldConfig {
@@ -1281,12 +1356,14 @@ public class PurpurWorldConfig {
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks);
@@ -1760,7 +1760,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1328,11 +1405,13 @@ public class PurpurWorldConfig {
@@ -1297,11 +1374,13 @@ public class PurpurWorldConfig {
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
@@ -1774,7 +1774,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void piglinBruteSettings() {
piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable);
piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater);
@@ -1342,12 +1421,14 @@ public class PurpurWorldConfig {
@@ -1311,12 +1390,14 @@ public class PurpurWorldConfig {
set("mobs.piglin_brute.attributes.max_health", oldValue);
}
piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth);
@@ -1789,7 +1789,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1358,6 +1439,7 @@ public class PurpurWorldConfig {
@@ -1327,6 +1408,7 @@ public class PurpurWorldConfig {
}
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing);
@@ -1797,7 +1797,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean polarBearRidable = false;
@@ -1366,6 +1448,7 @@ public class PurpurWorldConfig {
@@ -1335,6 +1417,7 @@ public class PurpurWorldConfig {
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
public int polarBearBreedingTicks = 6000;
@@ -1805,7 +1805,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1379,10 +1462,12 @@ public class PurpurWorldConfig {
@@ -1348,10 +1431,12 @@ public class PurpurWorldConfig {
Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks);
@@ -1818,7 +1818,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void pufferfishSettings() {
pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable);
if (PurpurConfig.version < 10) {
@@ -1391,6 +1476,7 @@ public class PurpurWorldConfig {
@@ -1360,6 +1445,7 @@ public class PurpurWorldConfig {
set("mobs.pufferfish.attributes.max_health", oldValue);
}
pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth);
@@ -1826,7 +1826,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean rabbitRidable = false;
@@ -1400,6 +1486,7 @@ public class PurpurWorldConfig {
@@ -1369,6 +1455,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
public boolean rabbitBypassMobGriefing = false;
@@ -1834,7 +1834,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1413,12 +1500,14 @@ public class PurpurWorldConfig {
@@ -1382,12 +1469,14 @@ public class PurpurWorldConfig {
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
rabbitBypassMobGriefing = getBoolean("mobs.rabbit.bypass-mob-griefing", rabbitBypassMobGriefing);
@@ -1849,7 +1849,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1429,10 +1518,12 @@ public class PurpurWorldConfig {
@@ -1398,10 +1487,12 @@ public class PurpurWorldConfig {
}
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);
@@ -1862,7 +1862,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void salmonSettings() {
salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable);
if (PurpurConfig.version < 10) {
@@ -1441,6 +1532,7 @@ public class PurpurWorldConfig {
@@ -1410,6 +1501,7 @@ public class PurpurWorldConfig {
set("mobs.salmon.attributes.max_health", oldValue);
}
salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth);
@@ -1870,7 +1870,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean sheepRidable = false;
@@ -1448,6 +1540,7 @@ public class PurpurWorldConfig {
@@ -1417,6 +1509,7 @@ public class PurpurWorldConfig {
public double sheepMaxHealth = 8.0D;
public int sheepBreedingTicks = 6000;
public boolean sheepBypassMobGriefing = false;
@@ -1878,7 +1878,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1459,11 +1552,13 @@ public class PurpurWorldConfig {
@@ -1428,11 +1521,13 @@ public class PurpurWorldConfig {
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing);
@@ -1892,7 +1892,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -1473,12 +1568,14 @@ public class PurpurWorldConfig {
@@ -1442,12 +1537,14 @@ public class PurpurWorldConfig {
set("mobs.shulker.attributes.max_health", oldValue);
}
shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth);
@@ -1907,7 +1907,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1489,11 +1586,13 @@ public class PurpurWorldConfig {
@@ -1458,11 +1555,13 @@ public class PurpurWorldConfig {
}
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing);
@@ -1921,7 +1921,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -1503,6 +1602,7 @@ public class PurpurWorldConfig {
@@ -1472,6 +1571,7 @@ public class PurpurWorldConfig {
set("mobs.skeleton.attributes.max_health", oldValue);
}
skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth);
@@ -1929,7 +1929,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean skeletonHorseRidableInWater = false;
@@ -1513,6 +1613,7 @@ public class PurpurWorldConfig {
@@ -1482,6 +1582,7 @@ public class PurpurWorldConfig {
public double skeletonHorseJumpStrengthMax = 1.0D;
public double skeletonHorseMovementSpeedMin = 0.2D;
public double skeletonHorseMovementSpeedMax = 0.2D;
@@ -1937,7 +1937,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void skeletonHorseSettings() {
skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater);
skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim);
@@ -1528,12 +1629,14 @@ public class PurpurWorldConfig {
@@ -1497,12 +1598,14 @@ public class PurpurWorldConfig {
skeletonHorseJumpStrengthMax = getDouble("mobs.skeleton_horse.attributes.jump_strength.max", skeletonHorseJumpStrengthMax);
skeletonHorseMovementSpeedMin = getDouble("mobs.skeleton_horse.attributes.movement_speed.min", skeletonHorseMovementSpeedMin);
skeletonHorseMovementSpeedMax = getDouble("mobs.skeleton_horse.attributes.movement_speed.max", skeletonHorseMovementSpeedMax);
@@ -1952,7 +1952,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void slimeSettings() {
slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable);
slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater);
@@ -1544,6 +1647,7 @@ public class PurpurWorldConfig {
@@ -1513,6 +1616,7 @@ public class PurpurWorldConfig {
}
slimeMaxHealth = getString("mobs.slime.attributes.max_health", slimeMaxHealth);
slimeMaxHealthCache.clear();
@@ -1960,7 +1960,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean snowGolemRidable = false;
@@ -1557,6 +1661,7 @@ public class PurpurWorldConfig {
@@ -1526,6 +1630,7 @@ public class PurpurWorldConfig {
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
public boolean snowGolemBypassMobGriefing = false;
@@ -1968,7 +1968,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1574,6 +1679,7 @@ public class PurpurWorldConfig {
@@ -1543,6 +1648,7 @@ public class PurpurWorldConfig {
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing);
@@ -1976,7 +1976,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean squidRidable = false;
@@ -1581,6 +1687,7 @@ public class PurpurWorldConfig {
@@ -1550,6 +1656,7 @@ public class PurpurWorldConfig {
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
public boolean squidsCanFly = false;
@@ -1984,7 +1984,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) {
@@ -1592,11 +1699,13 @@ public class PurpurWorldConfig {
@@ -1561,11 +1668,13 @@ public class PurpurWorldConfig {
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly);
@@ -1998,7 +1998,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void spiderSettings() {
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
@@ -1606,11 +1715,13 @@ public class PurpurWorldConfig {
@@ -1575,11 +1684,13 @@ public class PurpurWorldConfig {
set("mobs.spider.attributes.max_health", oldValue);
}
spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth);
@@ -2012,7 +2012,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void straySettings() {
strayRidable = getBoolean("mobs.stray.ridable", strayRidable);
strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater);
@@ -1620,6 +1731,7 @@ public class PurpurWorldConfig {
@@ -1589,6 +1700,7 @@ public class PurpurWorldConfig {
set("mobs.stray.attributes.max_health", oldValue);
}
strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth);
@@ -2020,7 +2020,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean striderRidable = false;
@@ -1627,6 +1739,7 @@ public class PurpurWorldConfig {
@@ -1596,6 +1708,7 @@ public class PurpurWorldConfig {
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false;
@@ -2028,7 +2028,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1638,6 +1751,7 @@ public class PurpurWorldConfig {
@@ -1607,6 +1720,7 @@ public class PurpurWorldConfig {
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack);
@@ -2036,7 +2036,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean traderLlamaRidable = false;
@@ -1649,6 +1763,7 @@ public class PurpurWorldConfig {
@@ -1618,6 +1732,7 @@ public class PurpurWorldConfig {
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
public int traderLlamaBreedingTicks = 6000;
@@ -2044,7 +2044,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1666,10 +1781,12 @@ public class PurpurWorldConfig {
@@ -1635,10 +1750,12 @@ public class PurpurWorldConfig {
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks);
@@ -2057,7 +2057,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void tropicalFishSettings() {
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable);
if (PurpurConfig.version < 10) {
@@ -1678,6 +1795,7 @@ public class PurpurWorldConfig {
@@ -1647,6 +1764,7 @@ public class PurpurWorldConfig {
set("mobs.tropical_fish.attributes.max_health", oldValue);
}
tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth);
@@ -2065,7 +2065,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean turtleRidable = false;
@@ -1687,6 +1805,7 @@ public class PurpurWorldConfig {
@@ -1656,6 +1774,7 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;
public int turtleBreedingTicks = 6000;
@@ -2073,7 +2073,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void turtleEggSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1700,12 +1819,14 @@ public class PurpurWorldConfig {
@@ -1669,12 +1788,14 @@ public class PurpurWorldConfig {
turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems);
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
@@ -2088,7 +2088,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void vexSettings() {
vexRidable = getBoolean("mobs.vex.ridable", vexRidable);
vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater);
@@ -1716,6 +1837,7 @@ public class PurpurWorldConfig {
@@ -1685,6 +1806,7 @@ public class PurpurWorldConfig {
set("mobs.vex.attributes.max_health", oldValue);
}
vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth);
@@ -2096,7 +2096,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean villagerRidable = false;
@@ -1732,6 +1854,7 @@ public class PurpurWorldConfig {
@@ -1701,6 +1823,7 @@ public class PurpurWorldConfig {
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
@@ -2104,7 +2104,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1752,12 +1875,14 @@ public class PurpurWorldConfig {
@@ -1721,12 +1844,14 @@ public class PurpurWorldConfig {
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
@@ -2119,7 +2119,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1768,6 +1893,7 @@ public class PurpurWorldConfig {
@@ -1737,6 +1862,7 @@ public class PurpurWorldConfig {
}
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);
vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance);
@@ -2127,7 +2127,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean wanderingTraderRidable = false;
@@ -1775,6 +1901,7 @@ public class PurpurWorldConfig {
@@ -1744,6 +1870,7 @@ public class PurpurWorldConfig {
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
@@ -2135,7 +2135,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1786,11 +1913,13 @@ public class PurpurWorldConfig {
@@ -1755,11 +1882,13 @@ public class PurpurWorldConfig {
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
@@ -2149,7 +2149,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void witchSettings() {
witchRidable = getBoolean("mobs.witch.ridable", witchRidable);
witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater);
@@ -1800,6 +1929,7 @@ public class PurpurWorldConfig {
@@ -1769,6 +1898,7 @@ public class PurpurWorldConfig {
set("mobs.witch.attributes.max_health", oldValue);
}
witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth);
@@ -2157,7 +2157,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean witherRidable = false;
@@ -1809,6 +1939,7 @@ public class PurpurWorldConfig {
@@ -1778,6 +1908,7 @@ public class PurpurWorldConfig {
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
@@ -2165,7 +2165,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1826,11 +1957,13 @@ public class PurpurWorldConfig {
@@ -1795,11 +1926,13 @@ public class PurpurWorldConfig {
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
@@ -2179,7 +2179,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -1840,6 +1973,7 @@ public class PurpurWorldConfig {
@@ -1809,6 +1942,7 @@ public class PurpurWorldConfig {
set("mobs.wither_skeleton.attributes.max_health", oldValue);
}
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);
@@ -2187,7 +2187,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean wolfRidable = false;
@@ -1849,6 +1983,7 @@ public class PurpurWorldConfig {
@@ -1818,6 +1952,7 @@ public class PurpurWorldConfig {
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -2195,7 +2195,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1866,11 +2001,13 @@ public class PurpurWorldConfig {
@@ -1835,11 +1970,13 @@ public class PurpurWorldConfig {
wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies);
wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
@@ -2209,7 +2209,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void zoglinSettings() {
zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable);
zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater);
@@ -1880,6 +2017,7 @@ public class PurpurWorldConfig {
@@ -1849,6 +1986,7 @@ public class PurpurWorldConfig {
set("mobs.zoglin.attributes.max_health", oldValue);
}
zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth);
@@ -2217,7 +2217,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean zombieRidable = false;
@@ -1891,6 +2029,7 @@ public class PurpurWorldConfig {
@@ -1860,6 +1998,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public boolean zombieBypassMobGriefing = false;
@@ -2225,7 +2225,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1906,6 +2045,7 @@ public class PurpurWorldConfig {
@@ -1875,6 +2014,7 @@ public class PurpurWorldConfig {
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
@@ -2233,7 +2233,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean zombieHorseRidableInWater = false;
@@ -1917,6 +2057,7 @@ public class PurpurWorldConfig {
@@ -1886,6 +2026,7 @@ public class PurpurWorldConfig {
public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D;
public double zombieHorseSpawnChance = 0.0D;
@@ -2241,7 +2241,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -1933,6 +2074,7 @@ public class PurpurWorldConfig {
@@ -1902,6 +2043,7 @@ public class PurpurWorldConfig {
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);
zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance);
@@ -2249,7 +2249,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean zombieVillagerRidable = false;
@@ -1942,6 +2084,7 @@ public class PurpurWorldConfig {
@@ -1911,6 +2053,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
@@ -2257,7 +2257,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1955,6 +2098,7 @@ public class PurpurWorldConfig {
@@ -1924,6 +2067,7 @@ public class PurpurWorldConfig {
zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby);
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
@@ -2265,7 +2265,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
}
public boolean zombifiedPiglinRidable = false;
@@ -1965,6 +2109,7 @@ public class PurpurWorldConfig {
@@ -1934,6 +2078,7 @@ public class PurpurWorldConfig {
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
@@ -2273,7 +2273,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1979,5 +2124,6 @@ public class PurpurWorldConfig {
@@ -1948,5 +2093,6 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);

View File

@@ -59,7 +59,7 @@ index 663683a50f7a1125f406b6ec8bf7a0419be5f36a..713fe8ac2293fe2e60c5834b3d6fd2f1
this.navigation.stop();
this.setTarget((LivingEntity) null);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5ab1aa6e2ff6bb267c5ba3993e9d7f879fe3477f..143c29bb648ea7630d9d812d16c10020f89f4b7e 100644
index 7937bad1b6e9c62f23bcdccc11824ff96e77afac..47726960c97b18a6183941bf27500b3b2a17776e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -385,6 +385,7 @@ public class PurpurWorldConfig {

View File

@@ -52,10 +52,10 @@ index f8863cabad1bd0c3c2c62b8e17612d9559237d68..06c6addfa2a8dab1ad52a3588e9aeba5
this.onDestroyedBy(source);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 143c29bb648ea7630d9d812d16c10020f89f4b7e..489487cc533b47cca10526d649fc7d0e1571dd2e 100644
index 47726960c97b18a6183941bf27500b3b2a17776e..11a7f6dbf3dd85ac896a33b66b3e681e68f6ad18 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -463,6 +463,35 @@ public class PurpurWorldConfig {
@@ -456,6 +456,35 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}

View File

@@ -29,10 +29,10 @@ index 3b752f97f75c78657f37215ecd92b7460a71f090..5ef45fe1dac1df779727f9c441f7e651
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 489487cc533b47cca10526d649fc7d0e1571dd2e..b55e4e43554ef1e4afcc25101cfa82f0dd95db11 100644
index 11a7f6dbf3dd85ac896a33b66b3e681e68f6ad18..2088887b61bfc02e1d00e645682879123df30e68 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -896,6 +896,7 @@ public class PurpurWorldConfig {
@@ -865,6 +865,7 @@ public class PurpurWorldConfig {
public boolean enderDragonAlwaysDropsFullExp = false;
public boolean enderDragonBypassMobGriefing = false;
public boolean enderDragonTakeDamageFromWater = false;
@@ -40,7 +40,7 @@ index 489487cc533b47cca10526d649fc7d0e1571dd2e..b55e4e43554ef1e4afcc25101cfa82f0
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -913,6 +914,7 @@ public class PurpurWorldConfig {
@@ -882,6 +883,7 @@ public class PurpurWorldConfig {
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater);
@@ -48,7 +48,7 @@ index 489487cc533b47cca10526d649fc7d0e1571dd2e..b55e4e43554ef1e4afcc25101cfa82f0
}
public boolean endermanRidable = false;
@@ -1971,6 +1973,7 @@ public class PurpurWorldConfig {
@@ -1940,6 +1942,7 @@ public class PurpurWorldConfig {
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
@@ -56,7 +56,7 @@ index 489487cc533b47cca10526d649fc7d0e1571dd2e..b55e4e43554ef1e4afcc25101cfa82f0
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1989,6 +1992,7 @@ public class PurpurWorldConfig {
@@ -1958,6 +1961,7 @@ public class PurpurWorldConfig {
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Dont run with scissors!
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 99ec8a60f51b8679f972c938c18cde3a6bfe64de..d372bb18c85665220d8156b21e743ec88bf29930 100644
index 5404735daf4d914d6981bc3c0ebafe087f8b6f37..2380bab916cf628c928675229db0bbae76db92e2 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1528,6 +1528,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
@@ -1573,6 +1573,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
this.player.resetFallDistance();
}
@@ -22,9 +22,9 @@ index 99ec8a60f51b8679f972c938c18cde3a6bfe64de..d372bb18c85665220d8156b21e743ec8
this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5);
this.lastGoodX = this.player.getX();
this.lastGoodY = this.player.getY();
@@ -1540,6 +1547,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
}
@@ -1606,6 +1613,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
}
// Paper end - optimise out extra getCubes
+ // Purpur start
+ public boolean isScissor(ItemStack stack) {
@@ -36,7 +36,7 @@ index 99ec8a60f51b8679f972c938c18cde3a6bfe64de..d372bb18c85665220d8156b21e743ec8
Iterable<VoxelShape> iterable = world.getCollisions(this.player, this.player.getBoundingBox().deflate(9.999999747378752E-6D));
VoxelShape voxelshape = Shapes.create(box.deflate(9.999999747378752E-6D));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 79bcb015a7a29b41552e5173ec4b38bfa44fa6ff..931f4f3cd6f29e36822fb9de3d38e6ba7a713dcd 100644
index 600b9e9bc6a9c92920c8ec28764e64dfc1fd6e3f..47eb362ba73bb20e738af6dea60e86ffe5492315 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -165,6 +165,7 @@ public class PurpurConfig {
@@ -56,7 +56,7 @@ index 79bcb015a7a29b41552e5173ec4b38bfa44fa6ff..931f4f3cd6f29e36822fb9de3d38e6ba
public static String serverModName = "Purpur";
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b55e4e43554ef1e4afcc25101cfa82f0dd95db11..37e7ff9b3da306ff091e430e6091d69c6384289f 100644
index 2088887b61bfc02e1d00e645682879123df30e68..a34471e1164803565a4746284da4a75aa10274e8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -157,6 +157,8 @@ public class PurpurWorldConfig {

View File

@@ -30,7 +30,7 @@ index 679ceed9d18b59b35572145e0fa21e51e4760d27..934bb735c1948113b01f9ba6799ecc1a
if (human) {
// PAIL: Be sure to drag all this code from the EntityHuman subclass each update.
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 37e7ff9b3da306ff091e430e6091d69c6384289f..f9678bacd3d49f93907725d24d407a24aa8a8d7a 100644
index a34471e1164803565a4746284da4a75aa10274e8..660e801acdfd25d51a1177065a1a10544fe0b3b4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -302,6 +302,7 @@ public class PurpurWorldConfig {

View File

@@ -29,10 +29,10 @@ index fbbb0155bd66f1daa160e03f866741d903e1869e..86f7b4117b8b9bd36e38962e3290f7b9
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f9678bacd3d49f93907725d24d407a24aa8a8d7a..dc2fd82f87e01f9a69bfd2cbc38da1148202cf4b 100644
index 660e801acdfd25d51a1177065a1a10544fe0b3b4..70f6970540def01256a7f6dbe20457f9ec66847e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -524,6 +524,11 @@ public class PurpurWorldConfig {
@@ -517,6 +517,11 @@ public class PurpurWorldConfig {
furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath);
}

View File

@@ -43,7 +43,7 @@ index 749ab72edc0d2e9c6f1161415ab8d59d3d6ca976..897c202c0905040072a06fdfa2032a7f
// Paper end
if (user instanceof net.minecraft.server.level.ServerPlayer) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dc2fd82f87e01f9a69bfd2cbc38da1148202cf4b..d8fd7ac4c9368e439867f6bbc718b93561edca5f 100644
index 70f6970540def01256a7f6dbe20457f9ec66847e..fea8c1e47ad7c9abd5593fc46b20487fa5f72171 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -159,6 +159,10 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 0d58442a23793c0e0d70a2caf16736b5fba8879f..04cc1a6c14328c17fb1b387a2a01cdfdd7b72ad8 100644
index 722590b3674de1c3d92db4995df0aa87e55ecdea..152017d279a29ecdd69e1f7c4a9a96a0291e65ee 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1321,7 +1321,7 @@ public class ServerPlayer extends Player {
@@ -18,7 +18,7 @@ index 0d58442a23793c0e0d70a2caf16736b5fba8879f..04cc1a6c14328c17fb1b387a2a01cdfd
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d8fd7ac4c9368e439867f6bbc718b93561edca5f..1e6bf257d8f587af6397c39ff8d5107120313107 100644
index fea8c1e47ad7c9abd5593fc46b20487fa5f72171..b5fd530558ff5f2b4969f9907035f97af3f183e7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -311,6 +311,7 @@ public class PurpurWorldConfig {

View File

@@ -18,10 +18,10 @@ index b050f2d16a6aed98654f51fa4ede496a0be07b45..c7216abec9b93cce9198568470ebe21f
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1e6bf257d8f587af6397c39ff8d5107120313107..7e3c65b3a10c6dbfc345b7d7ada8cfdd27a15596 100644
index b5fd530558ff5f2b4969f9907035f97af3f183e7..48b7fb5710c48b5a8172fcc45ea2a802e349d2f3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -945,6 +945,8 @@ public class PurpurWorldConfig {
@@ -914,6 +914,8 @@ public class PurpurWorldConfig {
public boolean endermanDespawnEvenWithBlock = false;
public boolean endermanBypassMobGriefing = false;
public boolean endermanTakeDamageFromWater = true;
@@ -30,7 +30,7 @@ index 1e6bf257d8f587af6397c39ff8d5107120313107..7e3c65b3a10c6dbfc345b7d7ada8cfdd
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -953,11 +955,17 @@ public class PurpurWorldConfig {
@@ -922,11 +924,17 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max-health", null);
set("mobs.enderman.attributes.max_health", oldValue);
}

View File

@@ -20,10 +20,10 @@ index c7216abec9b93cce9198568470ebe21f40d6423b..fd06b697b810e4e74345c636cb3a02bc
} else {
Vec3 vec3d = player.getViewVector(1.0F).normalize();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7e3c65b3a10c6dbfc345b7d7ada8cfdd27a15596..95e34c8fa39fcc0be6608e2dfab716606f81937a 100644
index 48b7fb5710c48b5a8172fcc45ea2a802e349d2f3..0b68eb54c3f65d71e56b05655bc360768d01ba77 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -947,6 +947,8 @@ public class PurpurWorldConfig {
@@ -916,6 +916,8 @@ public class PurpurWorldConfig {
public boolean endermanTakeDamageFromWater = true;
public boolean endermanAggroEndermites = true;
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
@@ -32,7 +32,7 @@ index 7e3c65b3a10c6dbfc345b7d7ada8cfdd27a15596..95e34c8fa39fcc0be6608e2dfab71660
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -966,6 +968,8 @@ public class PurpurWorldConfig {
@@ -935,6 +937,8 @@ public class PurpurWorldConfig {
endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater);
endermanAggroEndermites = getBoolean("mobs.enderman.aggressive-towards-endermites", endermanAggroEndermites);
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);

View File

@@ -36,7 +36,7 @@ index 11ebadaa2438281a54cffe025a49ee5046a71ba5..07c25a2518eb5ce0da6131ce5ceb10ac
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 95e34c8fa39fcc0be6608e2dfab716606f81937a..0f6065ca8d952c0ae12dcf9ccb6baea3f386808e 100644
index 0b68eb54c3f65d71e56b05655bc360768d01ba77..bec3d78e87ec1e1c683c5fbaa12b8d8fada870f6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -413,6 +413,7 @@ public class PurpurWorldConfig {

View File

@@ -32,10 +32,10 @@ index 81957c9daa27682ee701092e207d72166e159382..e09e44f15b6802261f83795bf5162686
this.caravanHead.caravanTail = this;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0f6065ca8d952c0ae12dcf9ccb6baea3f386808e..94bc54757899557a5f3fd5a6fa426823c846981f 100644
index bec3d78e87ec1e1c683c5fbaa12b8d8fada870f6..ad573cabf2c369fdaa9a0a7f97de2f8d365d847e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1240,6 +1240,7 @@ public class PurpurWorldConfig {
@@ -1209,6 +1209,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMax = 0.175D;
public int llamaBreedingTicks = 6000;
public boolean llamaTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index 0f6065ca8d952c0ae12dcf9ccb6baea3f386808e..94bc54757899557a5f3fd5a6fa426823
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1258,6 +1259,7 @@ public class PurpurWorldConfig {
@@ -1227,6 +1228,7 @@ public class PurpurWorldConfig {
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks);
llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater);

View File

@@ -50,10 +50,10 @@ index cf8b4f538ee2df715162adc460c6e8e58b50ba52..525b94c61693cfd7d68305cbf4eb08a8
private void spawnLingeringCloud() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 94bc54757899557a5f3fd5a6fa426823c846981f..b9b3be202285c4926f1816d28ffce7983862062b 100644
index ad573cabf2c369fdaa9a0a7f97de2f8d365d847e..14ad0a50dd69f78573007dcb9477a712585ad3ec 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -809,6 +809,7 @@ public class PurpurWorldConfig {
@@ -778,6 +778,7 @@ public class PurpurWorldConfig {
public boolean creeperAllowGriefing = true;
public boolean creeperBypassMobGriefing = false;
public boolean creeperTakeDamageFromWater = false;
@@ -61,7 +61,7 @@ index 94bc54757899557a5f3fd5a6fa426823c846981f..b9b3be202285c4926f1816d28ffce798
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -822,6 +823,7 @@ public class PurpurWorldConfig {
@@ -791,6 +792,7 @@ public class PurpurWorldConfig {
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);

View File

@@ -31,10 +31,10 @@ index e9087a46e401bc99b73c2cf2731fdac3e68719f8..e054edf9e7c4eef231e155516433c6fa
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b9b3be202285c4926f1816d28ffce7983862062b..018accfcdfcaa14596c47f2764efe45339ca4a39 100644
index 14ad0a50dd69f78573007dcb9477a712585ad3ec..8ff9d325c7cb67180a09eb864dfb7a86f8fe8e29 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1580,6 +1580,7 @@ public class PurpurWorldConfig {
@@ -1549,6 +1549,7 @@ public class PurpurWorldConfig {
public double ravagerMaxHealth = 100.0D;
public boolean ravagerBypassMobGriefing = false;
public boolean ravagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index b9b3be202285c4926f1816d28ffce7983862062b..018accfcdfcaa14596c47f2764efe453
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1591,6 +1592,23 @@ public class PurpurWorldConfig {
@@ -1560,6 +1561,23 @@ public class PurpurWorldConfig {
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);
ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater);

View File

@@ -75,10 +75,10 @@ index fb8b8a9733ac50096d8406487ab1ae167ef5f7b1..16598ca0fd953b6af98dfcdb6716e2e1
int i = (Integer) iblockdata.getValue(ComposterBlock.LEVEL);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 018accfcdfcaa14596c47f2764efe45339ca4a39..d2f7127b21515f1afe9451f243a0e5614a91a488 100644
index 8ff9d325c7cb67180a09eb864dfb7a86f8fe8e29..f463c17192b609be4cbd66c8f475f3615cb5bf64 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -474,6 +474,11 @@ public class PurpurWorldConfig {
@@ -467,6 +467,11 @@ public class PurpurWorldConfig {
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config for skipping night
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 74e89ada75e34b8d09c55bea4f58b2c72e21dfcb..62d6764b5477e77b34a96e816be74050eede6b4b 100644
index 1719f7ad18dfa054dc8c73f184baabb361160175..f4f87fb9ce5ebdb44ae4568c4b0d151f5c108fee 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -604,7 +604,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -18,7 +18,7 @@ index 74e89ada75e34b8d09c55bea4f58b2c72e21dfcb..62d6764b5477e77b34a96e816be74050
j = this.levelData.getDayTime() + 24000L;
TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d2f7127b21515f1afe9451f243a0e5614a91a488..37334be50f9ddd1ff5e0fc2629ecd3ec6aaa278a 100644
index f463c17192b609be4cbd66c8f475f3615cb5bf64..63e74fc0f42e5cfe2cb60434959d4c76e6b76093 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -312,6 +312,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add config for villager trading
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 56d57670e7e315d53abc60d6c9df2a8777536b30..aceb5dff85779983473962cd8cb016811560d0a6 100644
index f82d4019aba5fd89e0f8d41a4dc6e42abd228510..fae4a7c79baac15a06b737b6081956a55b024c8d 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -357,7 +357,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -31,10 +31,10 @@ index e5b78c9d6fb326771d65ea9afd9da38c204922f0..1a8df13b06b1ac5e5a7d63033b4a5326
this.openTradingScreen(player, this.getDisplayName(), 1);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 37334be50f9ddd1ff5e0fc2629ecd3ec6aaa278a..af9622da4048668cc80baf57fbb1c4e151344170 100644
index 63e74fc0f42e5cfe2cb60434959d4c76e6b76093..a3204f9a70846a589c54bda34d1575648e4a48aa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1952,6 +1952,7 @@ public class PurpurWorldConfig {
@@ -1921,6 +1921,7 @@ public class PurpurWorldConfig {
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 37334be50f9ddd1ff5e0fc2629ecd3ec6aaa278a..af9622da4048668cc80baf57fbb1c4e1
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1973,6 +1974,7 @@ public class PurpurWorldConfig {
@@ -1942,6 +1943,7 @@ public class PurpurWorldConfig {
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
@@ -50,7 +50,7 @@ index 37334be50f9ddd1ff5e0fc2629ecd3ec6aaa278a..af9622da4048668cc80baf57fbb1c4e1
}
public boolean vindicatorRidable = false;
@@ -1999,6 +2001,7 @@ public class PurpurWorldConfig {
@@ -1968,6 +1970,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false;
@@ -58,7 +58,7 @@ index 37334be50f9ddd1ff5e0fc2629ecd3ec6aaa278a..af9622da4048668cc80baf57fbb1c4e1
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2011,6 +2014,7 @@ public class PurpurWorldConfig {
@@ -1980,6 +1983,7 @@ public class PurpurWorldConfig {
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater);

View File

@@ -77,7 +77,7 @@ index 11c1eb0e0bc326b28dc0cab16f67c413cc52e98c..7073985656ae5b17a7489518747dc858
return null;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 931f4f3cd6f29e36822fb9de3d38e6ba7a713dcd..b91b1c4d65f32b82bc08489779e3d12f3b16d1e7 100644
index 47eb362ba73bb20e738af6dea60e86ffe5492315..5cd63b9db24729d96434dc43c8f5e0ba3ac60865 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -272,6 +272,7 @@ public class PurpurConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Drowning Settings
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index adfd0f5e939fcd35a564682d913153944d806e5d..07a644587f4f1a9679edc37a2b639889fde4ce88 100644
index 8288841cfff9854f8ab50c37bf14d82dad3b2917..c9e2c9ba46a39c1555fec5d94c988753f6feca20 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -502,7 +502,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -17,7 +17,7 @@ index adfd0f5e939fcd35a564682d913153944d806e5d..07a644587f4f1a9679edc37a2b639889
this.entityData.define(Entity.DATA_CUSTOM_NAME_VISIBLE, false);
this.entityData.define(Entity.DATA_CUSTOM_NAME, Optional.empty());
this.entityData.define(Entity.DATA_SILENT, false);
@@ -2860,7 +2860,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -2947,7 +2947,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
}
public int getMaxAirSupply() {
@@ -49,7 +49,7 @@ index 934bb735c1948113b01f9ba6799ecc1ad92dbb76..b036b0145a83eeb424beb261483b0515
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index af9622da4048668cc80baf57fbb1c4e151344170..0c34c88e1bd7ec56248aa36927faca4728399bde 100644
index a3204f9a70846a589c54bda34d1575648e4a48aa..f67e57204a2be5076c7d14ab513d205378134a60 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -122,6 +122,15 @@ public class PurpurWorldConfig {

View File

@@ -47,10 +47,10 @@ index 54df5c2987822a727a31be2b3769d39fabb6159a..70b6a65a7d321fc71c98289f09f21cca
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0c34c88e1bd7ec56248aa36927faca4728399bde..408688a2ad20e74716fad24bd65cceeca8c371a4 100644
index f67e57204a2be5076c7d14ab513d205378134a60..af137c18c47ecea46c9539f4ad186619196ab1d4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -606,6 +606,11 @@ public class PurpurWorldConfig {
@@ -594,6 +594,11 @@ public class PurpurWorldConfig {
signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
}

View File

@@ -22,10 +22,10 @@ index 457880c9e894a83d88505cf0b7235df919eea591..9c38fdb23853ebdca7b8d904760a3958
return false;
} else if (world.getBrightness(LightLayer.BLOCK, pos) > 0) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 408688a2ad20e74716fad24bd65cceeca8c371a4..064bb5a0fcff3692609ad84b09227276aa0e140a 100644
index af137c18c47ecea46c9539f4ad186619196ab1d4..78c4717b6ef141f192119265d262669012f4814d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -553,8 +553,12 @@ public class PurpurWorldConfig {
@@ -546,8 +546,12 @@ public class PurpurWorldConfig {
}
public boolean snowOnBlueIce = true;

View File

@@ -17,7 +17,7 @@ index e9e24435057cff9c0af758ca2aa822c3b1c3593d..8634431cabae82b71f409f02c84dda2d
public ArmorStand(Level world, double x, double y, double z) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 064bb5a0fcff3692609ad84b09227276aa0e140a..f3a29c15d993b8dd4936b9f9678be9740110f72f 100644
index 78c4717b6ef141f192119265d262669012f4814d..904ec899828d6ef345f5c279ceefd9d7e0b116f6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -106,6 +106,7 @@ public class PurpurWorldConfig {

View File

@@ -67,10 +67,10 @@ index 1df52a9c86c01696a8bc9f84a2082387160b3eeb..a4b9c5da133e2e8ad45d447e3f184cb1
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f3a29c15d993b8dd4936b9f9678be9740110f72f..18bd4e5088af39e08b2d861b3d53d242a7e5879e 100644
index 904ec899828d6ef345f5c279ceefd9d7e0b116f6..48eaeaba6ba55abdf855397a1d60d702a285a8d9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -499,6 +499,16 @@ public class PurpurWorldConfig {
@@ -492,6 +492,16 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}

View File

@@ -75,7 +75,7 @@ index 7ed8ae3a92d631dcfc155790dbc2fdd4a3e39d1c..03271cdffd99ab443904a5d1da05d79c
this.getOrCreateTag().put(key, element);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index b91b1c4d65f32b82bc08489779e3d12f3b16d1e7..b314889c0a739b220e634e09e4d630616d6397df 100644
index 5cd63b9db24729d96434dc43c8f5e0ba3ac60865..057ebea07a435fa7e2ed9ec3ca107cde4398a3ee 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -273,6 +273,7 @@ public class PurpurConfig {

View File

@@ -43,10 +43,10 @@ index 842997ea9f25a05d74a2e8300e44cc39a7e9cd96..97b4e3c0d2b1bbde77b135b8595c3bfa
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 18bd4e5088af39e08b2d861b3d53d242a7e5879e..9d791317fe59b0bf80fefb65d049521363a5bead 100644
index 48eaeaba6ba55abdf855397a1d60d702a285a8d9..a462bc074b9d9eef6ba8981c3617d1a545e95e0f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -632,6 +632,13 @@ public class PurpurWorldConfig {
@@ -620,6 +620,13 @@ public class PurpurWorldConfig {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
}

View File

@@ -96,7 +96,7 @@ index 5beaafec0759543d3bddf99028c97d0d005be209..086f746cc632a90c67a6c30ea9197c5b
entitythrowntrident.pickup = AbstractArrow.Pickup.CREATIVE_ONLY;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9d791317fe59b0bf80fefb65d049521363a5bead..4be7e3537843983044dc4987b5e01ef5023c2632 100644
index a462bc074b9d9eef6ba8981c3617d1a545e95e0f..feee6f4afc781009a150a60c99994fc86c4dc2ef 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -381,6 +381,23 @@ public class PurpurWorldConfig {

View File

@@ -18,10 +18,10 @@ index 7fddb6fa8fd30ef88346a59f7867aae792f13772..40893e71fe8447b695350273bef9623b
} else {
int j = pos.getX();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4be7e3537843983044dc4987b5e01ef5023c2632..5ff62bcd72b6012cca37c2d7de20e661d999169f 100644
index feee6f4afc781009a150a60c99994fc86c4dc2ef..38997b4dcc8917ebc478f71d7a06ac114bcf4641 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -644,6 +644,11 @@ public class PurpurWorldConfig {
@@ -632,6 +632,11 @@ public class PurpurWorldConfig {
slabHalfBreak = getBoolean("blocks.slab.break-individual-slabs-when-sneaking", slabHalfBreak);
}

View File

@@ -31,10 +31,10 @@ index 13a367d2b5f245f4dd92df03288dc40b81e19603..bd593ec55fcccc1e02cf5683891c5586
pos = pos.below();
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5ff62bcd72b6012cca37c2d7de20e661d999169f..11a88d4e137cb808db4b1fa92c0939d949c0d84e 100644
index 38997b4dcc8917ebc478f71d7a06ac114bcf4641..bd95dfb87ed6ab0d74d931719fe0ffe90fb38fde 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1533,6 +1533,7 @@ public class PurpurWorldConfig {
@@ -1502,6 +1502,7 @@ public class PurpurWorldConfig {
public double piglinMaxHealth = 16.0D;
public boolean piglinBypassMobGriefing = false;
public boolean piglinTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 5ff62bcd72b6012cca37c2d7de20e661d999169f..11a88d4e137cb808db4b1fa92c0939d9
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1544,6 +1545,7 @@ public class PurpurWorldConfig {
@@ -1513,6 +1514,7 @@ public class PurpurWorldConfig {
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater);

View File

@@ -18,7 +18,7 @@ index 9fcd835d219aafbe113ebb1b796052e07bf2b046..2f8e6fb9f811fcfa6b6ed4dd15fcb38f
public BeehiveBlockEntity(BlockPos pos, BlockState state) {
super(BlockEntityType.BEEHIVE, pos, state);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index b314889c0a739b220e634e09e4d630616d6397df..9dce5a66f8b89dbf1456263ce5366337955ee5e7 100644
index 057ebea07a435fa7e2ed9ec3ca107cde4398a3ee..2c3cdaa093f28954620f17ee92b4fdc0e4508d51 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -238,6 +238,7 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable damage settings for magma blocks
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 07a644587f4f1a9679edc37a2b639889fde4ce88..283f79e39a478dbcfe7912c6d24658ebd2f5209c 100644
index c9e2c9ba46a39c1555fec5d94c988753f6feca20..9a2230a19800742c586f7d5925a6b88cca51ce3e 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1019,7 +1019,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
@@ -1024,7 +1024,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
}
// CraftBukkit end
@@ -31,11 +31,11 @@ index 96b4597101a7f3e98ce30bfc301e8ca1620d0fe4..d7845984b5077cdcd40d652c226d5d60
entity.hurt(DamageSource.HOT_FLOOR, 1.0F);
org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 11a88d4e137cb808db4b1fa92c0939d949c0d84e..33d7e2a4081459f40425910a3e3b3b82d5a8b036 100644
index bd95dfb87ed6ab0d74d931719fe0ffe90fb38fde..2281c6fb5e6bb0be0cc8649ee4c0ee5d9585f465 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -613,6 +613,13 @@ public class PurpurWorldConfig {
kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge);
@@ -601,6 +601,13 @@ public class PurpurWorldConfig {
waterInfiniteRequiredSources = getInt("blocks.water.infinite-required-sources", waterInfiniteRequiredSources);
}
+ public boolean magmaBlockDamageWhenSneaking = false;

View File

@@ -18,10 +18,10 @@ index a66e9826b8283366cec5adb54f79efee47d9df22..6cf8b12e94c17a8111eef5cc0157e4df
if (!event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 33d7e2a4081459f40425910a3e3b3b82d5a8b036..074c25916b0f5a24fb128083ba7d9c28ab7cad59 100644
index 2281c6fb5e6bb0be0cc8649ee4c0ee5d9585f465..85df77eb5530ac9c4374f5df78d10c50c121a803 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2110,6 +2110,7 @@ public class PurpurWorldConfig {
@@ -2079,6 +2079,7 @@ public class PurpurWorldConfig {
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
@@ -29,7 +29,7 @@ index 33d7e2a4081459f40425910a3e3b3b82d5a8b036..074c25916b0f5a24fb128083ba7d9c28
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2129,6 +2130,7 @@ public class PurpurWorldConfig {
@@ -2098,6 +2099,7 @@ public class PurpurWorldConfig {
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);

View File

@@ -75,7 +75,7 @@ index 6cc517b394bafefce50d877761e5b2eee8e14c78..46ca899a7abddea108f6ff1b4ca14ca5
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "toggledownfall", "Allows the user to toggle rain on/off for a given world", PermissionDefault.OP, commands);
DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "defaultgamemode", "Allows the user to change the default gamemode of the server", PermissionDefault.OP, commands);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 9dce5a66f8b89dbf1456263ce5366337955ee5e7..a09151e1c7383cf286e66a4499341cd85ca25709 100644
index 2c3cdaa093f28954620f17ee92b4fdc0e4508d51..39840a49c3900e227f1410db07abdc98051a7269 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -221,6 +221,7 @@ public class PurpurConfig {

View File

@@ -18,7 +18,7 @@ index e5562b407bba35ab93bf8bc3c22ac9d45e8353cb..c688bb73cd062f36524cfc231cb691f2
if (blockState2 != null && level.getBlockState(blockPos.above()).isAir()) {
level.playSound(player, blockPos, SoundEvents.SHOVEL_FLATTEN, SoundSource.BLOCKS, 1.0F, 1.0F);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 074c25916b0f5a24fb128083ba7d9c28ab7cad59..cb487e3a8c03fc2b7f7ccb328a7adfa7c7b3799b 100644
index 85df77eb5530ac9c4374f5df78d10c50c121a803..a347e77339f0cf2e011676a042db04fbfa6b1869 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -398,6 +398,21 @@ public class PurpurWorldConfig {

View File

@@ -36,10 +36,10 @@ index 744d91546d1a810f60a43c15ed74b4158f341a4a..354538daefa603f6df5a139b6bff87db
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cb487e3a8c03fc2b7f7ccb328a7adfa7c7b3799b..b0464be1ddd80616f002471a0b2b64602bd3e6f1 100644
index a347e77339f0cf2e011676a042db04fbfa6b1869..70df00057ceb30f5c5f5ed6a141ebf278876628e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -635,6 +635,11 @@ public class PurpurWorldConfig {
@@ -623,6 +623,11 @@ public class PurpurWorldConfig {
magmaBlockDamageWithFrostWalker = getBoolean("blocks.magma-block.damage-with-frost-walker", magmaBlockDamageWithFrostWalker);
}

View File

@@ -17,7 +17,7 @@ index 6f5b7650d45958284f7b5c675c1e32d4b7738494..842acb66c58a1ee66c595bd56afc1f94
// Paper end
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 04cc1a6c14328c17fb1b387a2a01cdfdd7b72ad8..b609213894c5c9c34188e0667e34b61876ea92ce 100644
index 152017d279a29ecdd69e1f7c4a9a96a0291e65ee..7bbe7349bbc3a5eaccdecf57bc7334d5dcfdfe2b 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -910,6 +910,7 @@ public class ServerPlayer extends Player {
@@ -29,7 +29,7 @@ index 04cc1a6c14328c17fb1b387a2a01cdfdd7b72ad8..b609213894c5c9c34188e0667e34b618
if (scoreboardteambase.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) {
this.server.getPlayerList().broadcastToTeam(this, ichatbasecomponent);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index a09151e1c7383cf286e66a4499341cd85ca25709..5be7eade117e2e0dcde688cb7a512eeefac6851d 100644
index 39840a49c3900e227f1410db07abdc98051a7269..96804df7f7e095d0ea0b9d01d8752fa293023ca3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -178,6 +178,18 @@ public class PurpurConfig {

View File

@@ -28,7 +28,7 @@ index b036b0145a83eeb424beb261483b0515518dacd5..2c5d453f57b28008e5b98cf6aec044cb
return d0;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b0464be1ddd80616f002471a0b2b64602bd3e6f1..e0e50d90c2d801688810f8ef122ee1c4e905a39b 100644
index 70df00057ceb30f5c5f5ed6a141ebf278876628e..4766ff27a4dab68877b0517b7698aa800e747a3f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -459,6 +459,7 @@ public class PurpurWorldConfig {

View File

@@ -59,7 +59,7 @@ index 35cc3bba20afd4a47160cc674415ba6a3a0ec0ec..2cba35dcc479ed9ad3e698aa2e02b4aa
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 5be7eade117e2e0dcde688cb7a512eeefac6851d..1a3618597bf2ad131152379ddeb54f4a3b11b052 100644
index 96804df7f7e095d0ea0b9d01d8752fa293023ca3..47a731efd6f28096439089d69a3502193ba3f000 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -234,6 +234,7 @@ public class PurpurConfig {

View File

@@ -21,10 +21,10 @@ index 525b94c61693cfd7d68305cbf4eb08a87f3ca66a..35cbd013b1d58bb5fd1480922c2bd430
if (!event.isCancelled()) {
this.dead = true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e0e50d90c2d801688810f8ef122ee1c4e905a39b..d33884c6d97c4caec65efe3e18ce6473a62ccfd1 100644
index 4766ff27a4dab68877b0517b7698aa800e747a3f..f72469212455a82246b2d498d059887458bebe31 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -905,6 +905,7 @@ public class PurpurWorldConfig {
@@ -874,6 +874,7 @@ public class PurpurWorldConfig {
public boolean creeperBypassMobGriefing = false;
public boolean creeperTakeDamageFromWater = false;
public boolean creeperExplodeWhenKilled = false;
@@ -32,7 +32,7 @@ index e0e50d90c2d801688810f8ef122ee1c4e905a39b..d33884c6d97c4caec65efe3e18ce6473
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -919,6 +920,7 @@ public class PurpurWorldConfig {
@@ -888,6 +889,7 @@ public class PurpurWorldConfig {
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);
creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled);

View File

@@ -17,10 +17,10 @@ index 52cc0df083d5a4685fd00f7db0d92b277fb0c994..ff5d6f437b880ab0aa5897089694a620
this.goalSelector.addGoal(2, new MoveTowardsTargetGoal(this, 0.9D, 32.0F));
this.goalSelector.addGoal(2, new MoveBackToVillageGoal(this, 0.6D, false));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d33884c6d97c4caec65efe3e18ce6473a62ccfd1..1aa0932807e66f94588a453268fd06fbf38ef853 100644
index f72469212455a82246b2d498d059887458bebe31..aed1dfb0d73cf5abdc78bccf85255907e59ba1c2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1316,6 +1316,7 @@ public class PurpurWorldConfig {
@@ -1285,6 +1285,7 @@ public class PurpurWorldConfig {
public boolean ironGolemCanSwim = false;
public double ironGolemMaxHealth = 100.0D;
public boolean ironGolemTakeDamageFromWater = false;
@@ -28,7 +28,7 @@ index d33884c6d97c4caec65efe3e18ce6473a62ccfd1..1aa0932807e66f94588a453268fd06fb
private void ironGolemSettings() {
ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable);
ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater);
@@ -1327,6 +1328,7 @@ public class PurpurWorldConfig {
@@ -1296,6 +1297,7 @@ public class PurpurWorldConfig {
}
ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth);
ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater);

View File

@@ -50,10 +50,10 @@ index de702ce3e2dffc44e380b8470aa540a3226a54cb..bb9717d1b2039469aae26e0eb9a4304b
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1aa0932807e66f94588a453268fd06fbf38ef853..2191f82f4cf6e47b0b9f32afc7d74838a05d5e57 100644
index aed1dfb0d73cf5abdc78bccf85255907e59ba1c2..3b4bba58765dde47fc12ab863fadaca84e1e7442 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1466,6 +1466,7 @@ public class PurpurWorldConfig {
@@ -1435,6 +1435,7 @@ public class PurpurWorldConfig {
public double parrotMaxY = 256D;
public double parrotMaxHealth = 6.0D;
public boolean parrotTakeDamageFromWater = false;
@@ -61,7 +61,7 @@ index 1aa0932807e66f94588a453268fd06fbf38ef853..2191f82f4cf6e47b0b9f32afc7d74838
private void parrotSettings() {
parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable);
parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater);
@@ -1477,6 +1478,7 @@ public class PurpurWorldConfig {
@@ -1446,6 +1447,7 @@ public class PurpurWorldConfig {
}
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);
parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater);

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