mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@e16fefb [ci skip] add 'accepted' to Done project category (#9429) PaperMC/Paper@171ba7c Move Log4j plugins to own source set (#9428) PaperMC/Paper@4356758 Call missing BlockDispenseEvents (#8518) PaperMC/Paper@c0936a7 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9440) PaperMC/Paper@12c9700 Fix ThrownEggHatchEvent#setHatching (#9448)
This commit is contained in:
@@ -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 5b225bbb128893d67251a96ab318035802a0cf76..861e193e7c1fe1b8e69e22b5c80f391701446bc5 100644
|
||||
index 6b72eccdcb6f75534a4267a1dd0a4cc2f39e917b..0a07aaff7859e01acaae05e343df08585d0db63f 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -2007,6 +2007,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
||||
@@ -2030,6 +2030,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
||||
}
|
||||
// Paper end
|
||||
|
||||
|
||||
@@ -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 0b4f9dee48f8d49977dc9a5f104ee062ca2cbfae..82b91f7c5c853d467d64d2c7ec1c61296b4ccd4a 100644
|
||||
index d0297f47f18cabf857cf4ce04c529b46525c0f75..f71e4cc7509db77de9656485cf3f1368ea8ce45b 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -3121,4 +3121,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -3153,4 +3153,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@Override
|
||||
Spigot spigot();
|
||||
// Spigot end
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow inventory resizing
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java
|
||||
index daddb12947e61ee69c100b422f6d07d49f76d724..27a182c18db825836b3d3d3c87503bfc5ae0957e 100644
|
||||
index cbce826add9dc2b3187c7bea00c27b785d7517df..3a98de6407d9a6307f89c207be1f09e639385ebe 100644
|
||||
--- a/src/main/java/org/bukkit/event/inventory/InventoryType.java
|
||||
+++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java
|
||||
@@ -152,7 +152,7 @@ public enum InventoryType {
|
||||
@@ -151,7 +151,7 @@ public enum InventoryType {
|
||||
SMITHING_NEW(4, "Upgrade Gear"),
|
||||
;
|
||||
|
||||
|
||||
@@ -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 82b91f7c5c853d467d64d2c7ec1c61296b4ccd4a..c78517538d9ec1706f90e25fc20af06bc9b2679a 100644
|
||||
index f71e4cc7509db77de9656485cf3f1368ea8ce45b..a38673326d7732e4067dc6aa1af4d0bf2901e843 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -3129,5 +3129,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -3161,5 +3161,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* @return True if Player uses Purpur Client
|
||||
*/
|
||||
public boolean usesPurpurClient();
|
||||
|
||||
@@ -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 1ab3d8aee3101ca08d9adf5d9ff9f83de911594c..cd91cb8362dd7eee06f3a8ffc8777143031a33e8 100644
|
||||
index b243db56756c67cd2c41d7768898d01539f9260a..acdfd691f56de28285f1bf919fbbc7c31f6ea33b 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -2635,4 +2635,15 @@ public final class Bukkit {
|
||||
@@ -2662,4 +2662,15 @@ public final class Bukkit {
|
||||
public static Server.Spigot spigot() {
|
||||
return server.spigot();
|
||||
}
|
||||
@@ -25,10 +25,10 @@ index 1ab3d8aee3101ca08d9adf5d9ff9f83de911594c..cd91cb8362dd7eee06f3a8ffc8777143
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 00039fb8d6df939c5a1812f5afc61f34ef31c448..bd41630486f3f7820a0b3b9d6333c66e7b735ac1 100644
|
||||
index 0a07aaff7859e01acaae05e343df08585d0db63f..f8fbd64640c9d0035d7c79ce6a568b485f095f87 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -2302,4 +2302,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
||||
@@ -2325,4 +2325,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
||||
*/
|
||||
boolean isOwnedByCurrentRegion(@NotNull Entity entity);
|
||||
// Paper end - Folia region threading API
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity safeFallDistance
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||
index 9712f7140933d7fc87c5838c173e2d818b70cfde..c2d2490516df766ff5c6bcc739798218b0f8015b 100644
|
||||
index 19e58e62ae442ef9be02ca7fa2f55e370a54afa4..c5dcfd380206603c2979aa02e7094fef27348eab 100644
|
||||
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||
@@ -1159,4 +1159,20 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
||||
@@ -1192,4 +1192,20 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
||||
*/
|
||||
void setBodyYaw(float bodyYaw);
|
||||
// Paper end
|
||||
|
||||
@@ -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 cd91cb8362dd7eee06f3a8ffc8777143031a33e8..fb8cc238252fa59243414382ef1c2f41a1c4864f 100644
|
||||
index acdfd691f56de28285f1bf919fbbc7c31f6ea33b..df4a4bc5d5423fa966910db1719dabd665eb8d71 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -2645,5 +2645,14 @@ public final class Bukkit {
|
||||
@@ -2672,5 +2672,14 @@ public final class Bukkit {
|
||||
public static String getServerName() {
|
||||
return server.getServerName();
|
||||
}
|
||||
@@ -24,10 +24,10 @@ index cd91cb8362dd7eee06f3a8ffc8777143031a33e8..fb8cc238252fa59243414382ef1c2f41
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index bd41630486f3f7820a0b3b9d6333c66e7b735ac1..6a894f4e99a048602f03da0c9c22166516ce0a8f 100644
|
||||
index f8fbd64640c9d0035d7c79ce6a568b485f095f87..3fb416b31132596a6c336eed62ccc5fa69f35497 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -2310,5 +2310,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
||||
@@ -2333,5 +2333,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
||||
*/
|
||||
@NotNull
|
||||
String getServerName();
|
||||
|
||||
@@ -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 c78517538d9ec1706f90e25fc20af06bc9b2679a..4a0b01b068a32e00d1244bfabde202330218b237 100644
|
||||
index a38673326d7732e4067dc6aa1af4d0bf2901e843..79d996d9347d4c837401352fda9b7ac673e29b0f 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -3148,5 +3148,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -3180,5 +3180,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* Reset the idle timer back to 0
|
||||
*/
|
||||
void resetIdleTimer();
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity#broadcastItemBreak
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||
index c2d2490516df766ff5c6bcc739798218b0f8015b..deb92fd00f9cce906158c2dc9569620ba0eda411 100644
|
||||
index c5dcfd380206603c2979aa02e7094fef27348eab..accefccca9993edd00f72b4e5779fce0b3ee628f 100644
|
||||
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||
@@ -1174,5 +1174,12 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
||||
@@ -1207,5 +1207,12 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
||||
* @param safeFallDistance Safe fall distance
|
||||
*/
|
||||
void setSafeFallDistance(float safeFallDistance);
|
||||
|
||||
@@ -23,10 +23,10 @@ index 84000002d89c0fb692d1c44f449ad3dcdd2b7576..964ec7bd70fcdfcffd51b310cdea84c7
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||
index deb92fd00f9cce906158c2dc9569620ba0eda411..0e6024430fde305a9cc4294037b2bd820676e096 100644
|
||||
index accefccca9993edd00f72b4e5779fce0b3ee628f..994e026d68fcda9a4c34a8b161a06623f4437dff 100644
|
||||
--- a/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/entity/LivingEntity.java
|
||||
@@ -1181,5 +1181,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
||||
@@ -1214,5 +1214,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource
|
||||
* @param slot Equipment slot to play break animation for
|
||||
*/
|
||||
void broadcastItemBreak(@NotNull org.bukkit.inventory.EquipmentSlot slot);
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Extended OfflinePlayer API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java
|
||||
index 72175dcae49f75b494ab70958053ed994a8828f4..df642a55003517040be795b44a8bf107dd88810b 100644
|
||||
index 4d014215dce2c2ff09a2701accf2db144603c55a..8cb7000bc5e4e3c987cb0ac73d113eedb141e178 100644
|
||||
--- a/src/main/java/org/bukkit/OfflinePlayer.java
|
||||
+++ b/src/main/java/org/bukkit/OfflinePlayer.java
|
||||
@@ -460,4 +460,114 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio
|
||||
@@ -476,4 +476,114 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio
|
||||
*/
|
||||
@Nullable
|
||||
public Location getLastDeathLocation();
|
||||
|
||||
@@ -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 fb8cc238252fa59243414382ef1c2f41a1c4864f..29a98d93f9cb3dbace116b69e37ec56f8762a966 100644
|
||||
index df4a4bc5d5423fa966910db1719dabd665eb8d71..79f78fdd7dc7c7ced0659e3740b14beff990b46e 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -2654,5 +2654,24 @@ public final class Bukkit {
|
||||
@@ -2681,5 +2681,24 @@ public final class Bukkit {
|
||||
public static boolean isLagging() {
|
||||
return server.isLagging();
|
||||
}
|
||||
@@ -34,10 +34,10 @@ index fb8cc238252fa59243414382ef1c2f41a1c4864f..29a98d93f9cb3dbace116b69e37ec56f
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 6a894f4e99a048602f03da0c9c22166516ce0a8f..7a698e55630893aac51ee81ccc3dd35f195f88e1 100644
|
||||
index 3fb416b31132596a6c336eed62ccc5fa69f35497..05136ca2556454df3dbeeb2f67105c5bfdad445f 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -2317,5 +2317,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
||||
@@ -2340,5 +2340,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
||||
* @return True if lagging
|
||||
*/
|
||||
boolean isLagging();
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
|
||||
index 29a98d93f9cb3dbace116b69e37ec56f8762a966..e26e0c6bc3d8e735f489cdcd0a5b93d6688c2c5f 100644
|
||||
index 79f78fdd7dc7c7ced0659e3740b14beff990b46e..478ba6da9befbc2983578d732e35f37a53789df0 100644
|
||||
--- a/src/main/java/org/bukkit/Bukkit.java
|
||||
+++ b/src/main/java/org/bukkit/Bukkit.java
|
||||
@@ -2673,5 +2673,89 @@ public final class Bukkit {
|
||||
@@ -2700,5 +2700,89 @@ public final class Bukkit {
|
||||
public static void removeFuel(@NotNull Material material) {
|
||||
server.removeFuel(material);
|
||||
}
|
||||
@@ -99,10 +99,10 @@ index 29a98d93f9cb3dbace116b69e37ec56f8762a966..e26e0c6bc3d8e735f489cdcd0a5b93d6
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
|
||||
index 7a698e55630893aac51ee81ccc3dd35f195f88e1..66052e2f0dcd8250a196c3b61423ecdbf0dd1f41 100644
|
||||
index 05136ca2556454df3dbeeb2f67105c5bfdad445f..916b9a9f05c0e83109bc9a4eb1692e2ed6e81eaf 100644
|
||||
--- a/src/main/java/org/bukkit/Server.java
|
||||
+++ b/src/main/java/org/bukkit/Server.java
|
||||
@@ -2332,5 +2332,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
||||
@@ -2355,5 +2355,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
|
||||
* @param material The material that will no longer be a fuel
|
||||
*/
|
||||
public void removeFuel(@NotNull Material material);
|
||||
@@ -260,10 +260,10 @@ index 1fba792419ea6b5e8c640a2599e4b2dd16ee87d0..bf39c6602cfca70a6352519fa26059cd
|
||||
|
||||
/**
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 4a0b01b068a32e00d1244bfabde202330218b237..3dd1cde47e7d3ed0cb5b6c06c071a827b4175359 100644
|
||||
index 79d996d9347d4c837401352fda9b7ac673e29b0f..1916730689e8decf16fc1328775ac985ce417256 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -3169,5 +3169,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -3201,5 +3201,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* @param invulnerableTicks Invulnerable ticks remaining
|
||||
*/
|
||||
void setSpawnInvulnerableTicks(int invulnerableTicks);
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||
index 3dd1cde47e7d3ed0cb5b6c06c071a827b4175359..5b0035bf5edf15a5ee4528d0933f78d9d586fa2f 100644
|
||||
index 1916730689e8decf16fc1328775ac985ce417256..0c7b2434d7ae0314f9603e04f1bedd67f3b22b66 100644
|
||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||
@@ -3239,5 +3239,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
@@ -3271,5 +3271,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||
* Clears all debug block highlights
|
||||
*/
|
||||
void clearBlockHighlights();
|
||||
|
||||
@@ -20,11 +20,11 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index 6d3d573ffc118e7f4d76422dc014a7df0384bb49..0664722c38d4218aae81af4977f7c5c0723195f7 100644
|
||||
index 57f2c414dbfe127c193002fbc8eeb22e94e9cb55..3e651dd361ce4a0ccb20d624dc878e16b3bb62f5 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -7,8 +7,12 @@ plugins {
|
||||
}
|
||||
@@ -13,8 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
||||
val alsoShade: Configuration by configurations.creating
|
||||
|
||||
dependencies {
|
||||
- implementation(project(":paper-api"))
|
||||
@@ -38,7 +38,7 @@ index 6d3d573ffc118e7f4d76422dc014a7df0384bb49..0664722c38d4218aae81af4977f7c5c0
|
||||
// Paper start
|
||||
implementation("org.jline:jline-terminal-jansi:3.21.0")
|
||||
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||
@@ -44,6 +48,13 @@ dependencies {
|
||||
@@ -52,6 +56,13 @@ dependencies {
|
||||
runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3")
|
||||
runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3")
|
||||
|
||||
@@ -52,7 +52,7 @@ index 6d3d573ffc118e7f4d76422dc014a7df0384bb49..0664722c38d4218aae81af4977f7c5c0
|
||||
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
|
||||
testImplementation("junit:junit:4.13.2")
|
||||
testImplementation("org.hamcrest:hamcrest-library:1.3")
|
||||
@@ -52,6 +63,14 @@ dependencies {
|
||||
@@ -60,6 +71,14 @@ dependencies {
|
||||
}
|
||||
|
||||
val craftbukkitPackageVersion = "1_20_R1" // Paper
|
||||
@@ -67,7 +67,7 @@ index 6d3d573ffc118e7f4d76422dc014a7df0384bb49..0664722c38d4218aae81af4977f7c5c0
|
||||
tasks.jar {
|
||||
archiveClassifier.set("dev")
|
||||
|
||||
@@ -64,7 +83,7 @@ tasks.jar {
|
||||
@@ -72,7 +91,7 @@ tasks.jar {
|
||||
attributes(
|
||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||
"Implementation-Title" to "CraftBukkit",
|
||||
@@ -1668,7 +1668,7 @@ index 488a253e218409b5f0b4a872cee0928578fa7582..6e3b2863f04419ee6914ac3fd4f12a4f
|
||||
|
||||
private void getFullChunk(long pos, Consumer<LevelChunk> chunkConsumer) {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
index acaf9f392660d618472aea7bce967d374eb5d549..4c5f90fdb534d8aeb7dd077a13b1ebed016e4947 100644
|
||||
index 81d0b2933040a451441f660f9e46199ae3b111e3..37c10d6a392d0400a7024bdd5214eb5e83aa3e82 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
@@ -180,7 +180,8 @@ public class ServerEntity {
|
||||
@@ -1791,7 +1791,7 @@ index 9d46536f80b5b3e6641fd377c02166a431edfd77..8a1fde50b82a8b0718ae04124c2611b7
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 2a609e43370e68943c580083f7f7d8c9b0972955..309a3e42ec48a1a7684b62ea372bfa984df6a0fb 100644
|
||||
index b777547cb9f8edf4e7b3c2cfb894f8cd1b1a35a5..85d6635da9e7cb896d5d507dd9f8fb5d092a740e 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1219,6 +1219,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1935,7 +1935,7 @@ index 04b1531572e8fff1e46fe1c94e7fc863841e0f66..47ddc42f2b63d9d3fae5ae6ea93d4183
|
||||
int LARGE_MAX_STACK_SIZE = 64;
|
||||
int DEFAULT_DISTANCE_LIMIT = 8;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 6abaf7ef99800a238b29dbbb85de8c970c0806a7..e4beab69b116874baf29cfbbad6b9cd102ad92c4 100644
|
||||
index 3ffb92a82e17af467afb18c81accc482a93d6a6f..4cf49d758209a8364c8f58cd4e1249d7ae6eb489 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -306,7 +306,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2021,7 +2021,7 @@ index 6abaf7ef99800a238b29dbbb85de8c970c0806a7..e4beab69b116874baf29cfbbad6b9cd1
|
||||
this.baseTick();
|
||||
}
|
||||
|
||||
@@ -4306,16 +4340,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4289,16 +4323,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
|
||||
@@ -2047,7 +2047,7 @@ index 6abaf7ef99800a238b29dbbb85de8c970c0806a7..e4beab69b116874baf29cfbbad6b9cd1
|
||||
double d1 = 0.0D;
|
||||
boolean flag = this.isPushedByFluid();
|
||||
boolean flag1 = false;
|
||||
@@ -4323,14 +4359,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4306,14 +4342,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
int k1 = 0;
|
||||
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
|
||||
|
||||
@@ -2115,7 +2115,7 @@ index 6abaf7ef99800a238b29dbbb85de8c970c0806a7..e4beab69b116874baf29cfbbad6b9cd1
|
||||
|
||||
if (d2 >= axisalignedbb.minY) {
|
||||
flag1 = true;
|
||||
@@ -4352,9 +4435,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4335,9 +4418,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
// CraftBukkit end
|
||||
}
|
||||
}
|
||||
@@ -2142,10 +2142,10 @@ index 9afc81ccb237c3655d64cdbe8a0db9a4d7791043..aa5cec6d56d7a8e80861aa4c9b4a74ca
|
||||
private String descriptionId;
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 064bd3f2615009b3f15f3a5006f0b5f7a7ba6bf5..33befdab713753d14bfe0e79e96dd925dad331c2 100644
|
||||
index e11d7283662834047b2ff81a2fd25a4263792deb..e9a31314424d9db911cd9806741222397c3072d7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -143,7 +143,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
@@ -142,7 +142,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
import org.bukkit.event.player.PlayerItemConsumeEvent;
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -2153,7 +2153,7 @@ index 064bd3f2615009b3f15f3a5006f0b5f7a7ba6bf5..33befdab713753d14bfe0e79e96dd925
|
||||
|
||||
public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
@@ -415,7 +414,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -414,7 +413,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
boolean flag = this instanceof net.minecraft.world.entity.player.Player;
|
||||
|
||||
if (!this.level().isClientSide) {
|
||||
@@ -2162,7 +2162,7 @@ index 064bd3f2615009b3f15f3a5006f0b5f7a7ba6bf5..33befdab713753d14bfe0e79e96dd925
|
||||
this.hurt(this.damageSources().inWall(), 1.0F);
|
||||
} else if (flag && !this.level().getWorldBorder().isWithinBounds(this.getBoundingBox())) {
|
||||
double d0 = this.level().getWorldBorder().getDistanceToBorder(this) + this.level().getWorldBorder().getDamageSafeZone();
|
||||
@@ -1370,6 +1369,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1369,6 +1368,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
return this.getHealth() <= 0.0F;
|
||||
}
|
||||
|
||||
@@ -2178,7 +2178,7 @@ index 064bd3f2615009b3f15f3a5006f0b5f7a7ba6bf5..33befdab713753d14bfe0e79e96dd925
|
||||
@Override
|
||||
public boolean hurt(DamageSource source, float amount) {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
@@ -1975,6 +1983,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1965,6 +1973,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
return this.lastClimbablePos;
|
||||
}
|
||||
|
||||
@@ -2199,7 +2199,7 @@ index 064bd3f2615009b3f15f3a5006f0b5f7a7ba6bf5..33befdab713753d14bfe0e79e96dd925
|
||||
public boolean onClimbable() {
|
||||
if (this.isSpectator()) {
|
||||
return false;
|
||||
@@ -3661,7 +3683,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3651,7 +3673,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
Vec3 vec3d1 = new Vec3(entity.getX(), entity.getEyeY(), entity.getZ());
|
||||
|
||||
// Paper - diff on change - used in CraftLivingEntity#hasLineOfSight(Location) and CraftWorld#lineOfSightExists
|
||||
@@ -2371,10 +2371,10 @@ index 58422f00c7d64dbd1cf6d7211c9838875cbe7778..d25307ae8bbdf10ae067ec70fc2cb957
|
||||
return false;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
index 940cd932e74bc2e6754186731d7aa6f10d56eb68..92a9770fabc6a8175245fef92753c52bc18d16ac 100644
|
||||
index 5beaa849a250ea005733250ad3edfa8382224667..2c91fe46355c9a201507de5577f693ed4f5fb974 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -251,13 +251,22 @@ public class Bat extends AmbientCreature {
|
||||
@@ -237,13 +237,22 @@ public class Bat extends AmbientCreature {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2463,10 +2463,10 @@ index 4aeab90e778629c355189dfe79c39c4b21f5f5ac..6ed4ac06c76b8d0d6e8db778cade15db
|
||||
this.level().getProfiler().pop();
|
||||
this.level().getProfiler().push("tadpoleActivityUpdate");
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
index 528e7ba29dcd38726b2c1bbc1d8ac208c64ba9df..2c7193e967b4cb5a7c98a760286a2c3791152359 100644
|
||||
index 247aca0b612f5079a0596350e8311c385df8ab1c..7f21d1d400c8a5615ed1a787dcb0680338f8c28d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -188,9 +188,11 @@ public class Goat extends Animal {
|
||||
@@ -189,9 +189,11 @@ public class Goat extends Animal {
|
||||
return (Brain<Goat>) super.getBrain(); // CraftBukkit - decompile error
|
||||
}
|
||||
|
||||
@@ -2479,10 +2479,10 @@ index 528e7ba29dcd38726b2c1bbc1d8ac208c64ba9df..2c7193e967b4cb5a7c98a760286a2c37
|
||||
this.level().getProfiler().pop();
|
||||
this.level().getProfiler().push("goatActivityUpdate");
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
index 3d41dbe0285f8fec8adae1e93010cf464df9b08c..63f8f2dfc2afddcf3c4960d60e65cb8e29507223 100644
|
||||
index 52196431a6538872755344859a0454a0e50c3b6e..80fc7918cb294b0d88a293bd6a920441cb55c3ad 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -269,10 +269,16 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -270,10 +270,16 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
if (entityitem.isMergable()) {
|
||||
// Paper Start - Fix items merging through walls
|
||||
if (this.level().paperConfig().fixes.fixItemsMergingThroughWalls) {
|
||||
@@ -2500,10 +2500,10 @@ index 3d41dbe0285f8fec8adae1e93010cf464df9b08c..63f8f2dfc2afddcf3c4960d60e65cb8e
|
||||
// Paper End
|
||||
this.tryToMerge(entityitem);
|
||||
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 5519ccf558c09f32e19b35f4b403fc9ed966ed65..54a9529ea92889d57e348307a35097f715a13501 100644
|
||||
index 39eb9301626b191958ce42daa34b1ff3241cea80..eaf45b502a698e26a703b93e62989a338479496e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -322,11 +322,17 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -326,11 +326,17 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
private boolean teleport(double x, double y, double z) {
|
||||
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(x, y, z);
|
||||
|
||||
@@ -3506,10 +3506,10 @@ index ebe65474a4a05ff1637d7f37ebcfe690af59def5..42142c512b12e5b269c19f1e821c50e7
|
||||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 0859f11567aecc8cae993a1409cfac7c53ab3dd5..7036f8b170ce040accaa2fe637758c6695bdafe8 100644
|
||||
index a05c1bc8874ef5e380544a6a344c848e37da49c4..bc9a4dc04589d4241560f73ae8c64f2fb8f6a4ca 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -261,7 +261,7 @@ import javax.annotation.Nullable; // Paper
|
||||
@@ -264,7 +264,7 @@ import javax.annotation.Nullable; // Paper
|
||||
import javax.annotation.Nonnull; // Paper
|
||||
|
||||
public final class CraftServer implements Server {
|
||||
@@ -3518,7 +3518,7 @@ index 0859f11567aecc8cae993a1409cfac7c53ab3dd5..7036f8b170ce040accaa2fe637758c66
|
||||
private final String serverVersion;
|
||||
private final String bukkitVersion = Versioning.getBukkitVersion();
|
||||
private final Logger logger = Logger.getLogger("Minecraft");
|
||||
@@ -1136,6 +1136,11 @@ public final class CraftServer implements Server {
|
||||
@@ -1139,6 +1139,11 @@ public final class CraftServer implements Server {
|
||||
plugin.getPluginMeta().getDisplayName(),
|
||||
"This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies."
|
||||
));
|
||||
|
||||
@@ -5,11 +5,11 @@ Subject: [PATCH] Rebrand
|
||||
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index 0664722c38d4218aae81af4977f7c5c0723195f7..4b0eee46d899cb641988ef7a3b5b61e938b76c71 100644
|
||||
index 3e651dd361ce4a0ccb20d624dc878e16b3bb62f5..240394b1d9dd1449674a299aa73fa155be2d3d82 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -7,12 +7,12 @@ plugins {
|
||||
}
|
||||
@@ -13,12 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
||||
val alsoShade: Configuration by configurations.creating
|
||||
|
||||
dependencies {
|
||||
- implementation(project(":pufferfish-api")) // Pufferfish // Paper
|
||||
@@ -25,7 +25,7 @@ index 0664722c38d4218aae81af4977f7c5c0723195f7..4b0eee46d899cb641988ef7a3b5b61e9
|
||||
// Paper start
|
||||
implementation("org.jline:jline-terminal-jansi:3.21.0")
|
||||
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||
@@ -48,6 +48,10 @@ dependencies {
|
||||
@@ -56,6 +56,10 @@ dependencies {
|
||||
runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3")
|
||||
runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3")
|
||||
|
||||
@@ -36,7 +36,7 @@ index 0664722c38d4218aae81af4977f7c5c0723195f7..4b0eee46d899cb641988ef7a3b5b61e9
|
||||
// Pufferfish start
|
||||
implementation("org.yaml:snakeyaml:1.32")
|
||||
implementation ("com.github.carleslc.Simple-YAML:Simple-Yaml:1.8.4") {
|
||||
@@ -83,7 +87,7 @@ tasks.jar {
|
||||
@@ -91,7 +95,7 @@ tasks.jar {
|
||||
attributes(
|
||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||
"Implementation-Title" to "CraftBukkit",
|
||||
@@ -45,7 +45,7 @@ index 0664722c38d4218aae81af4977f7c5c0723195f7..4b0eee46d899cb641988ef7a3b5b61e9
|
||||
"Implementation-Vendor" to date, // Paper
|
||||
"Specification-Title" to "Bukkit",
|
||||
"Specification-Version" to project.version,
|
||||
@@ -155,7 +159,7 @@ fun TaskContainer.registerRunTask(
|
||||
@@ -168,7 +172,7 @@ fun TaskContainer.registerRunTask(
|
||||
name: String,
|
||||
block: JavaExec.() -> Unit
|
||||
): TaskProvider<JavaExec> = register<JavaExec>(name) {
|
||||
@@ -199,10 +199,10 @@ index 7ca6c81afc99d42d2f39b4b6d7f5e8a18b58fba3..34737c730d724d4be67d480587a17792
|
||||
|
||||
public SystemReport fillSystemReport(SystemReport details) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 7036f8b170ce040accaa2fe637758c6695bdafe8..db0e77f8b5da34b0a757d6c39900698fea6e03a8 100644
|
||||
index bc9a4dc04589d4241560f73ae8c64f2fb8f6a4ca..08c5f45c044f6c882a985fbc071ff7616d0df4c1 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -261,7 +261,7 @@ import javax.annotation.Nullable; // Paper
|
||||
@@ -264,7 +264,7 @@ import javax.annotation.Nullable; // Paper
|
||||
import javax.annotation.Nonnull; // Paper
|
||||
|
||||
public final class CraftServer implements Server {
|
||||
@@ -239,10 +239,10 @@ index 4e56018b64d11f76c8da43fd8f85c6de72204e36..9607675e6c5bff2183c4420d11fc63ee
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 19212795df4024cfb2b9f56e1efcd4c9f20d1d83..6097a5ca2b2aa7675e1db326190c77747db7d41e 100644
|
||||
index 6095d43e08bc1ffc4e9a4796fc7adbd07d69d716..7e81ed767bab14eeba1492a05c7ce43cfc2abd5b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -885,7 +885,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -912,7 +912,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
return EntityCategory.WATER;
|
||||
}
|
||||
|
||||
|
||||
@@ -112,10 +112,10 @@ index 5eca99fbd23ff0d35607bd185b011d6f9a30d0f0..6a9f5e3f8c72363b91b23729df5e9878
|
||||
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index db0e77f8b5da34b0a757d6c39900698fea6e03a8..8f4e0d7a75634e4b12163b423ba6af76bde74de3 100644
|
||||
index 08c5f45c044f6c882a985fbc071ff7616d0df4c1..0bc0718dc37cc087b99d35f076f804ca734a555f 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1053,6 +1053,7 @@ public final class CraftServer implements Server {
|
||||
@@ -1056,6 +1056,7 @@ public final class CraftServer implements Server {
|
||||
|
||||
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
|
||||
this.console.paperConfigurations.reloadConfigs(this.console);
|
||||
@@ -123,7 +123,7 @@ index db0e77f8b5da34b0a757d6c39900698fea6e03a8..8f4e0d7a75634e4b12163b423ba6af76
|
||||
for (ServerLevel world : this.console.getAllLevels()) {
|
||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||
@@ -1068,6 +1069,7 @@ public final class CraftServer implements Server {
|
||||
@@ -1071,6 +1072,7 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
}
|
||||
world.spigotConfig.init(); // Spigot
|
||||
@@ -131,7 +131,7 @@ index db0e77f8b5da34b0a757d6c39900698fea6e03a8..8f4e0d7a75634e4b12163b423ba6af76
|
||||
}
|
||||
|
||||
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
|
||||
@@ -1083,6 +1085,7 @@ public final class CraftServer implements Server {
|
||||
@@ -1086,6 +1088,7 @@ public final class CraftServer implements Server {
|
||||
this.reloadData();
|
||||
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
|
||||
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
|
||||
@@ -139,7 +139,7 @@ index db0e77f8b5da34b0a757d6c39900698fea6e03a8..8f4e0d7a75634e4b12163b423ba6af76
|
||||
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||
|
||||
@@ -2855,6 +2858,18 @@ public final class CraftServer implements Server {
|
||||
@@ -2869,6 +2872,18 @@ public final class CraftServer implements Server {
|
||||
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
|
||||
}
|
||||
|
||||
@@ -159,7 +159,7 @@ index db0e77f8b5da34b0a757d6c39900698fea6e03a8..8f4e0d7a75634e4b12163b423ba6af76
|
||||
public void restart() {
|
||||
org.spigotmc.RestartCommand.restart();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
index d4f6935a1bea77e5118bfd538f9b1358c21591a7..2df1ac332a0860b974a0f9a5697aa246f6d8b5f6 100644
|
||||
index daed278d1bcf84ee42749f24e311b22b70015d79..2775c0e10c5081bb6b9e38d58dd57d08bf63ec89 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -173,6 +173,14 @@ public class Main {
|
||||
|
||||
@@ -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 9d46536f80b5b3e6641fd377c02166a431edfd77..16b742fdaf5524b22cedb4d5ba047559e3ac8371 100644
|
||||
index 8a1fde50b82a8b0718ae04124c2611b7cff4bcd6..d4e03454b07550621dd1a56e4eaa40f3b49d8c2f 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -277,6 +277,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -17,7 +17,7 @@ index 9d46536f80b5b3e6641fd377c02166a431edfd77..16b742fdaf5524b22cedb4d5ba047559
|
||||
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
|
||||
public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 309a3e42ec48a1a7684b62ea372bfa984df6a0fb..9c5a1d58acd782658a5239b324806e0ca2f969e3 100644
|
||||
index 85d6635da9e7cb896d5d507dd9f8fb5d092a740e..bd6798a03a1349de4b5589b05cef167034250c1e 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -3508,6 +3508,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -43,10 +43,10 @@ index 309a3e42ec48a1a7684b62ea372bfa984df6a0fb..9c5a1d58acd782658a5239b324806e0c
|
||||
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 59c00045ec903a635966f16cf33e5b4110262953..2323ac04ea0bc4c5492d3c25348fd9b12e82845e 100644
|
||||
index 5b201d2c21f04e0223970035e0631f8f92ea0d3a..1c5dc1727b1731ddfd2f6b0e36618b780b9aa930 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3151,4 +3151,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -3180,4 +3180,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return this.spigot;
|
||||
}
|
||||
// Spigot end
|
||||
|
||||
@@ -81,10 +81,10 @@ index 25a5a3b949a0eb632611355e74ccd4865be108ca..14fcfd7c1d3a62833978e163f4e0d6f9
|
||||
return this.type().msgId();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 1aa184cf7a97364d7b9e4d628c0a6c1dc769ba6e..6f743a7dcb36eb8c638cd82f1e52c10215346b60 100644
|
||||
index 4cf49d758209a8364c8f58cd4e1249d7ae6eb489..ccfdfb49b0bca84de676f5df4c373096455c9707 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4058,6 +4058,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4041,6 +4041,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ index a0577dcae567230c12b52ed02072745513c7a4d5..23235b98907ff26afb22d37326b072ba
|
||||
|
||||
public void doTick() {
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 9c5a1d58acd782658a5239b324806e0ca2f969e3..3c1afd3fc37ad0540beb07798f8ecf0cd6acc80f 100644
|
||||
index bd6798a03a1349de4b5589b05cef167034250c1e..8c62cc52c2d2aaa1dd1f191114e188c22e4f40a2 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2811,6 +2811,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -79,7 +79,7 @@ index 9c5a1d58acd782658a5239b324806e0ca2f969e3..3c1afd3fc37ad0540beb07798f8ecf0c
|
||||
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
|
||||
entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it.
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 3caebf722bf8ebadf49da7c36170e245600ea7b5..25c190ac148ccc37904346cca859ba10f17c878c 100644
|
||||
index ccfdfb49b0bca84de676f5df4c373096455c9707..bb3edddf4c9b2a04f6b9219be741a523e4192c0c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -376,7 +376,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -91,21 +91,21 @@ index 3caebf722bf8ebadf49da7c36170e245600ea7b5..25c190ac148ccc37904346cca859ba10
|
||||
private float eyeHeight;
|
||||
public boolean isInPowderSnow;
|
||||
public boolean wasInPowderSnow;
|
||||
@@ -2957,6 +2957,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2941,6 +2941,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.passengers = ImmutableList.copyOf(list);
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ if (isRidable() && this.passengers.get(0) == entity && entity instanceof Player player) {
|
||||
+ if (isRidable() && this.passengers.get(0) == passenger && passenger instanceof Player player) {
|
||||
+ onMount(player);
|
||||
+ this.rider = player;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
this.gameEvent(GameEvent.ENTITY_MOUNT, entity);
|
||||
this.gameEvent(GameEvent.ENTITY_MOUNT, passenger);
|
||||
}
|
||||
return true; // CraftBukkit
|
||||
@@ -2998,6 +3005,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
@@ -2981,6 +2988,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return false;
|
||||
}
|
||||
// Spigot end
|
||||
@@ -120,7 +120,7 @@ index 3caebf722bf8ebadf49da7c36170e245600ea7b5..25c190ac148ccc37904346cca859ba10
|
||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||
this.passengers = ImmutableList.of();
|
||||
} else {
|
||||
@@ -4906,4 +4921,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4889,4 +4904,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||
}
|
||||
// Paper end
|
||||
@@ -191,10 +191,10 @@ index 759713f7c646aaf1a918c87a2834a1d405385dad..c6a06e07f0b4bb29b5f4c70dfa53ff6d
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 33befdab713753d14bfe0e79e96dd925dad331c2..24797621de749e682bfbe8a09cb81bc2def8def8 100644
|
||||
index e9a31314424d9db911cd9806741222397c3072d7..3c2892b9b2ade76d9d4b081ad5bce4991df11dda 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -219,9 +219,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -218,9 +218,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
protected int deathScore;
|
||||
public float lastHurt;
|
||||
public boolean jumping;
|
||||
@@ -207,7 +207,7 @@ index 33befdab713753d14bfe0e79e96dd925dad331c2..24797621de749e682bfbe8a09cb81bc2
|
||||
protected int lerpSteps;
|
||||
protected double lerpX;
|
||||
protected double lerpY;
|
||||
@@ -287,7 +287,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -286,7 +286,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.effectsDirty = true;
|
||||
this.useItem = ItemStack.EMPTY;
|
||||
this.lastClimbablePos = Optional.empty();
|
||||
@@ -216,7 +216,7 @@ index 33befdab713753d14bfe0e79e96dd925dad331c2..24797621de749e682bfbe8a09cb81bc2
|
||||
this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit
|
||||
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
|
||||
this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue());
|
||||
@@ -338,6 +338,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -337,6 +337,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
public static AttributeSupplier.Builder createLivingAttributes() {
|
||||
return AttributeSupplier.builder().add(Attributes.MAX_HEALTH).add(Attributes.KNOCKBACK_RESISTANCE).add(Attributes.MOVEMENT_SPEED).add(Attributes.ARMOR).add(Attributes.ARMOR_TOUGHNESS);
|
||||
}
|
||||
@@ -224,7 +224,7 @@ index 33befdab713753d14bfe0e79e96dd925dad331c2..24797621de749e682bfbe8a09cb81bc2
|
||||
|
||||
@Override
|
||||
protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) {
|
||||
@@ -2696,7 +2697,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2686,7 +2687,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
protected long lastJumpTime = 0L; // Paper
|
||||
@@ -233,7 +233,7 @@ index 33befdab713753d14bfe0e79e96dd925dad331c2..24797621de749e682bfbe8a09cb81bc2
|
||||
Vec3 vec3d = this.getDeltaMovement();
|
||||
// Paper start
|
||||
long time = System.nanoTime();
|
||||
@@ -3468,8 +3469,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3458,8 +3459,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.pushEntities();
|
||||
this.level().getProfiler().pop();
|
||||
// Paper start
|
||||
@@ -246,7 +246,7 @@ index 33befdab713753d14bfe0e79e96dd925dad331c2..24797621de749e682bfbe8a09cb81bc2
|
||||
Location from = new Location(this.level().getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO);
|
||||
Location to = new Location (this.level().getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
|
||||
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
|
||||
@@ -3479,6 +3482,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3469,6 +3472,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
|
||||
}
|
||||
}
|
||||
@@ -527,7 +527,7 @@ index 7df56705a4a0de2dc4ff7ab133fc26612c219162..384bed4505b6cabb1ae151cd2c4eb5e5
|
||||
--this.lookAtCooldown;
|
||||
this.getYRotD().ifPresent((yaw) -> {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
index 92a9770fabc6a8175245fef92753c52bc18d16ac..fc240adb941cfa7db37916516b63cbfdb83f737d 100644
|
||||
index 2c91fe46355c9a201507de5577f693ed4f5fb974..e184d2a89a89d4bf77a32a2d610175c5bbd38a03 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -18,6 +18,7 @@ import net.minecraft.world.entity.EntityDimensions;
|
||||
@@ -538,7 +538,7 @@ index 92a9770fabc6a8175245fef92753c52bc18d16ac..fc240adb941cfa7db37916516b63cbfd
|
||||
import net.minecraft.world.entity.Pose;
|
||||
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
|
||||
import net.minecraft.world.entity.ai.attributes.Attributes;
|
||||
@@ -41,12 +42,59 @@ public class Bat extends AmbientCreature {
|
||||
@@ -43,12 +44,59 @@ public class Bat extends AmbientCreature {
|
||||
|
||||
public Bat(EntityType<? extends Bat> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -598,7 +598,7 @@ index 92a9770fabc6a8175245fef92753c52bc18d16ac..fc240adb941cfa7db37916516b63cbfd
|
||||
@Override
|
||||
public boolean isFlapping() {
|
||||
return !this.isResting() && this.tickCount % Bat.TICKS_PER_FLAP == 0;
|
||||
@@ -96,7 +144,7 @@ public class Bat extends AmbientCreature {
|
||||
@@ -98,7 +146,7 @@ public class Bat extends AmbientCreature {
|
||||
protected void pushEntities() {}
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
@@ -607,7 +607,7 @@ index 92a9770fabc6a8175245fef92753c52bc18d16ac..fc240adb941cfa7db37916516b63cbfd
|
||||
}
|
||||
|
||||
public boolean isResting() {
|
||||
@@ -128,6 +176,14 @@ public class Bat extends AmbientCreature {
|
||||
@@ -130,6 +178,14 @@ public class Bat extends AmbientCreature {
|
||||
|
||||
@Override
|
||||
protected void customServerAiStep() {
|
||||
@@ -679,7 +679,7 @@ index 2249fc6dd98afb8d52623b5864955fdd3b3fc042..2ccfaab0a02cf5ff9779e250fb79a75a
|
||||
double d = this.wantedX - this.fish.getX();
|
||||
double e = this.wantedY - this.fish.getY();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
index f6062bf8c888baeb7b421150a2c64bf1af1a312b..79a2d45f10aa1afb5d1192284cd48ea026411845 100644
|
||||
index 55026e1731e41b4e3e4c6a8fef5d96a32051a556..706ae64b894709601dccfb621d3c215f073e98e9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -43,6 +43,7 @@ import net.minecraft.world.entity.EntityType;
|
||||
@@ -690,7 +690,7 @@ index f6062bf8c888baeb7b421150a2c64bf1af1a312b..79a2d45f10aa1afb5d1192284cd48ea0
|
||||
import net.minecraft.world.entity.NeutralMob;
|
||||
import net.minecraft.world.entity.PathfinderMob;
|
||||
import net.minecraft.world.entity.Pose;
|
||||
@@ -142,6 +143,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -147,6 +148,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
public Bee(EntityType<? extends Bee> type, Level world) {
|
||||
super(type, world);
|
||||
this.remainingCooldownBeforeLocatingNewFlower = Mth.nextInt(this.random, 20, 60);
|
||||
@@ -698,7 +698,7 @@ index f6062bf8c888baeb7b421150a2c64bf1af1a312b..79a2d45f10aa1afb5d1192284cd48ea0
|
||||
// Paper start - apply gravity to bees when they get stuck in the void, fixes MC-167279
|
||||
class BeeFlyingMoveControl extends FlyingMoveControl {
|
||||
public BeeFlyingMoveControl(final Mob entity, final int maxPitchChange, final boolean noGravity) {
|
||||
@@ -150,11 +152,24 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -155,11 +157,24 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
@@ -723,7 +723,7 @@ index f6062bf8c888baeb7b421150a2c64bf1af1a312b..79a2d45f10aa1afb5d1192284cd48ea0
|
||||
}
|
||||
this.moveControl = new BeeFlyingMoveControl(this, 20, true);
|
||||
// Paper end
|
||||
@@ -166,6 +181,40 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -171,6 +186,40 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
this.setPathfindingMalus(BlockPathTypes.FENCE, -1.0F);
|
||||
}
|
||||
|
||||
@@ -764,7 +764,7 @@ index f6062bf8c888baeb7b421150a2c64bf1af1a312b..79a2d45f10aa1afb5d1192284cd48ea0
|
||||
@Override
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
@@ -180,6 +229,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -185,6 +234,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
@@ -772,7 +772,7 @@ index f6062bf8c888baeb7b421150a2c64bf1af1a312b..79a2d45f10aa1afb5d1192284cd48ea0
|
||||
this.goalSelector.addGoal(0, new Bee.BeeAttackGoal(this, 1.399999976158142D, true));
|
||||
this.goalSelector.addGoal(1, new Bee.BeeEnterHiveGoal());
|
||||
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
|
||||
@@ -195,6 +245,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -200,6 +250,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
this.goalSelector.addGoal(7, new Bee.BeeGrowCropGoal());
|
||||
this.goalSelector.addGoal(8, new Bee.BeeWanderGoal());
|
||||
this.goalSelector.addGoal(9, new FloatGoal(this));
|
||||
@@ -780,7 +780,7 @@ index f6062bf8c888baeb7b421150a2c64bf1af1a312b..79a2d45f10aa1afb5d1192284cd48ea0
|
||||
this.targetSelector.addGoal(1, (new Bee.BeeHurtByOtherGoal(this)).setAlertOthers(new Class[0]));
|
||||
this.targetSelector.addGoal(2, new Bee.BeeBecomeAngryTargetGoal(this));
|
||||
this.targetSelector.addGoal(3, new ResetUniversalAngerTargetGoal<>(this, true));
|
||||
@@ -877,16 +928,16 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -881,16 +932,16 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -916,10 +916,10 @@ index 824e5e4fe7619ae46061c3c978c9a044db8c84ab..e2a98b45e56a368de19bb65e304370a5
|
||||
public ItemStack getBucketItemStack() {
|
||||
return new ItemStack(Items.COD_BUCKET);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index 4b63f6aa3d19cc4f47b05d531df3a43bf398c9ea..3ac30ed0a411384be5102de498815561915a7903 100644
|
||||
index 0263acf81330ada1bb8ae7d52a3b04e08d0c4dcb..11082cf272b72123d8917baa9a0d0e5367dca66b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -41,9 +41,27 @@ public class Cow extends Animal {
|
||||
@@ -42,9 +42,27 @@ public class Cow extends Animal {
|
||||
super(type, world);
|
||||
}
|
||||
|
||||
@@ -947,7 +947,7 @@ index 4b63f6aa3d19cc4f47b05d531df3a43bf398c9ea..3ac30ed0a411384be5102de498815561
|
||||
this.goalSelector.addGoal(1, new PanicGoal(this, 2.0D));
|
||||
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
|
||||
this.goalSelector.addGoal(3, new TemptGoal(this, 1.25D, Ingredient.of(Items.WHEAT), false));
|
||||
@@ -84,6 +102,7 @@ public class Cow extends Animal {
|
||||
@@ -85,6 +103,7 @@ public class Cow extends Animal {
|
||||
|
||||
@Override
|
||||
public InteractionResult mobInteract(Player player, InteractionHand hand) {
|
||||
@@ -955,8 +955,8 @@ index 4b63f6aa3d19cc4f47b05d531df3a43bf398c9ea..3ac30ed0a411384be5102de498815561
|
||||
ItemStack itemstack = player.getItemInHand(hand);
|
||||
|
||||
if (itemstack.is(Items.BUCKET) && !this.isBaby()) {
|
||||
@@ -91,7 +110,7 @@ public class Cow extends Animal {
|
||||
org.bukkit.event.player.PlayerBucketFillEvent event = CraftEventFactory.callPlayerBucketFillEvent((ServerLevel) player.level(), player, this.blockPosition(), this.blockPosition(), null, itemstack, Items.MILK_BUCKET, hand);
|
||||
@@ -92,7 +111,7 @@ public class Cow extends Animal {
|
||||
PlayerBucketFillEvent event = CraftEventFactory.callPlayerBucketFillEvent((ServerLevel) player.level(), player, this.blockPosition(), this.blockPosition(), null, itemstack, Items.MILK_BUCKET, hand);
|
||||
|
||||
if (event.isCancelled()) {
|
||||
- return InteractionResult.PASS;
|
||||
@@ -965,10 +965,10 @@ index 4b63f6aa3d19cc4f47b05d531df3a43bf398c9ea..3ac30ed0a411384be5102de498815561
|
||||
// CraftBukkit end
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
index 501e6cb4aa83f81c1f657e41f4e7f11d19d46831..b9a2064fd3a08aa21f1a25d3f367342852185974 100644
|
||||
index 4ec6dc8ddcb940091956fdf014f43832db287d8d..c268b50d43a45a5f80fd776e56484d872d494013 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -78,14 +78,82 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -82,14 +82,82 @@ public class Dolphin extends WaterAnimal {
|
||||
public static final Predicate<ItemEntity> ALLOWED_ITEMS = (entityitem) -> {
|
||||
return !entityitem.hasPickUpDelay() && entityitem.isAlive() && entityitem.isInWater();
|
||||
};
|
||||
@@ -1052,7 +1052,7 @@ index 501e6cb4aa83f81c1f657e41f4e7f11d19d46831..b9a2064fd3a08aa21f1a25d3f3673428
|
||||
@Nullable
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
@@ -160,6 +228,7 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -164,6 +232,7 @@ public class Dolphin extends WaterAnimal {
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new BreathAirGoal(this));
|
||||
this.goalSelector.addGoal(0, new TryFindWaterGoal(this));
|
||||
@@ -1060,7 +1060,7 @@ index 501e6cb4aa83f81c1f657e41f4e7f11d19d46831..b9a2064fd3a08aa21f1a25d3f3673428
|
||||
this.goalSelector.addGoal(1, new Dolphin.DolphinSwimToTreasureGoal(this));
|
||||
this.goalSelector.addGoal(2, new Dolphin.DolphinSwimWithPlayerGoal(this, 4.0D));
|
||||
this.goalSelector.addGoal(4, new RandomSwimmingGoal(this, 1.0D, 10));
|
||||
@@ -170,6 +239,7 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -174,6 +243,7 @@ public class Dolphin extends WaterAnimal {
|
||||
this.goalSelector.addGoal(8, new Dolphin.PlayWithItemsGoal());
|
||||
this.goalSelector.addGoal(8, new FollowBoatGoal(this));
|
||||
this.goalSelector.addGoal(9, new AvoidEntityGoal<>(this, Guardian.class, 8.0F, 1.0D, 1.0D));
|
||||
@@ -1068,7 +1068,7 @@ index 501e6cb4aa83f81c1f657e41f4e7f11d19d46831..b9a2064fd3a08aa21f1a25d3f3673428
|
||||
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{Guardian.class})).setAlertOthers());
|
||||
}
|
||||
|
||||
@@ -221,7 +291,7 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -225,7 +295,7 @@ public class Dolphin extends WaterAnimal {
|
||||
|
||||
@Override
|
||||
protected boolean canRide(Entity entity) {
|
||||
@@ -1077,7 +1077,7 @@ index 501e6cb4aa83f81c1f657e41f4e7f11d19d46831..b9a2064fd3a08aa21f1a25d3f3673428
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -256,6 +326,11 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -260,6 +330,11 @@ public class Dolphin extends WaterAnimal {
|
||||
@Override
|
||||
public void tick() {
|
||||
super.tick();
|
||||
@@ -1090,7 +1090,7 @@ index 501e6cb4aa83f81c1f657e41f4e7f11d19d46831..b9a2064fd3a08aa21f1a25d3f3673428
|
||||
this.setAirSupply(this.getMaxAirSupply());
|
||||
} else {
|
||||
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 844083101e9763330af0175388f6cdda27a97ecc..c56aaf2d0460d5a4432f893300140d071a95cc38 100644
|
||||
index 62604ed2e82afd3603ccac5d9c6e285c431542b1..e0a21a0e8ff29f5b634fcb312881a1a93c6c3a44 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -141,6 +141,44 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -1297,7 +1297,7 @@ index a04374f91f2fbb31219d86b6ae63bcf8fdf7318c..7b0e3b46e3d318ee856d53cfc5532f34
|
||||
|
||||
Pair<MobEffect, Integer> pair = (Pair) optional.get();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
index 8974c3cdae25bef239a908ce688e153d902c48c5..9f1187f5af0594da1c8450a05e0181815375c782 100644
|
||||
index 924ea172cab5178e5754bfe09cc7b83c1a66faa6..c25549d516072bdb362f78efce3da730e08f3ccc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
@@ -68,6 +68,23 @@ public class Ocelot extends Animal {
|
||||
@@ -1340,10 +1340,10 @@ index 8974c3cdae25bef239a908ce688e153d902c48c5..9f1187f5af0594da1c8450a05e018181
|
||||
this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, false, false, Turtle.BABY_ON_LAND_SELECTOR));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
index 9b807b318a2843810c3963277d464439a865cfb6..490a2b416366136c082371d39beaa65b5f6b102f 100644
|
||||
index f43c4fed59c4c75540008284ddb197d9a6b5487b..cc12b93b5c95202c4e3417e3a35e5f5c361b9767 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -108,6 +108,32 @@ public class Panda extends Animal {
|
||||
@@ -111,6 +111,32 @@ public class Panda extends Animal {
|
||||
|
||||
}
|
||||
|
||||
@@ -1376,7 +1376,7 @@ index 9b807b318a2843810c3963277d464439a865cfb6..490a2b416366136c082371d39beaa65b
|
||||
@Override
|
||||
public boolean canTakeItem(ItemStack stack) {
|
||||
EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
|
||||
@@ -269,6 +295,7 @@ public class Panda extends Animal {
|
||||
@@ -272,6 +298,7 @@ public class Panda extends Animal {
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
@@ -1384,7 +1384,7 @@ index 9b807b318a2843810c3963277d464439a865cfb6..490a2b416366136c082371d39beaa65b
|
||||
this.goalSelector.addGoal(2, new Panda.PandaPanicGoal(this, 2.0D));
|
||||
this.goalSelector.addGoal(2, new Panda.PandaBreedGoal(this, 1.0D));
|
||||
this.goalSelector.addGoal(3, new Panda.PandaAttackGoal(this, 1.2000000476837158D, true));
|
||||
@@ -284,6 +311,7 @@ public class Panda extends Animal {
|
||||
@@ -287,6 +314,7 @@ public class Panda extends Animal {
|
||||
this.goalSelector.addGoal(12, new Panda.PandaRollGoal(this));
|
||||
this.goalSelector.addGoal(13, new FollowParentGoal(this, 1.25D));
|
||||
this.goalSelector.addGoal(14, new WaterAvoidingRandomStrollGoal(this, 1.0D));
|
||||
@@ -1392,7 +1392,7 @@ index 9b807b318a2843810c3963277d464439a865cfb6..490a2b416366136c082371d39beaa65b
|
||||
this.targetSelector.addGoal(1, (new Panda.PandaHurtByTargetGoal(this, new Class[0])).setAlertOthers(new Class[0]));
|
||||
}
|
||||
|
||||
@@ -630,7 +658,7 @@ public class Panda extends Animal {
|
||||
@@ -633,7 +661,7 @@ public class Panda extends Animal {
|
||||
ItemStack itemstack = player.getItemInHand(hand);
|
||||
|
||||
if (this.isScared()) {
|
||||
@@ -1401,7 +1401,7 @@ index 9b807b318a2843810c3963277d464439a865cfb6..490a2b416366136c082371d39beaa65b
|
||||
} else if (this.isOnBack()) {
|
||||
this.setOnBack(false);
|
||||
return InteractionResult.sidedSuccess(this.level().isClientSide);
|
||||
@@ -647,7 +675,7 @@ public class Panda extends Animal {
|
||||
@@ -650,7 +678,7 @@ public class Panda extends Animal {
|
||||
this.setInLove(player);
|
||||
} else {
|
||||
if (this.level().isClientSide || this.isSitting() || this.isInWater()) {
|
||||
@@ -1410,7 +1410,7 @@ index 9b807b318a2843810c3963277d464439a865cfb6..490a2b416366136c082371d39beaa65b
|
||||
}
|
||||
|
||||
this.tryToSit();
|
||||
@@ -666,7 +694,7 @@ public class Panda extends Animal {
|
||||
@@ -669,7 +697,7 @@ public class Panda extends Animal {
|
||||
|
||||
return InteractionResult.SUCCESS;
|
||||
} else {
|
||||
@@ -1419,7 +1419,7 @@ index 9b807b318a2843810c3963277d464439a865cfb6..490a2b416366136c082371d39beaa65b
|
||||
}
|
||||
}
|
||||
|
||||
@@ -706,7 +734,7 @@ public class Panda extends Animal {
|
||||
@@ -709,7 +737,7 @@ public class Panda extends Animal {
|
||||
return !this.isOnBack() && !this.isScared() && !this.isEating() && !this.isRolling() && !this.isSitting();
|
||||
}
|
||||
|
||||
@@ -1428,7 +1428,7 @@ index 9b807b318a2843810c3963277d464439a865cfb6..490a2b416366136c082371d39beaa65b
|
||||
|
||||
private final Panda panda;
|
||||
|
||||
@@ -716,9 +744,9 @@ public class Panda extends Animal {
|
||||
@@ -719,9 +747,9 @@ public class Panda extends Animal {
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1441,7 +1441,7 @@ index 9b807b318a2843810c3963277d464439a865cfb6..490a2b416366136c082371d39beaa65b
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
index 3cc7af656433117991547476c118b58cff95e8e2..39c5da4e037f57cca0316804d0e363c32a441c6b 100644
|
||||
index e1874aaa0065a6e8e6ae043713c22f08b58b5e21..dc6bc1ecb11a8d1776be488de4df7243d196f330 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -129,12 +129,68 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
@@ -1662,10 +1662,10 @@ index a197337f2e09f53cf382022569c8836745d78769..95383e246a8e1b311e4f26a66372966b
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
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 01a58fe71669bf199511c906363d036ed880aa91..22188b537271d6cfd276027bb5df86404fa73ed4 100644
|
||||
index ef0c0714847c37f57ca05aaeb0ce7c217ae7ac0f..df01b1c5a0f0ad34f0a49c2ac1d10d526b73da9b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -83,6 +83,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@@ -86,6 +86,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
private boolean wasOnGround;
|
||||
private int jumpDelayTicks;
|
||||
public int moreCarrotTicks;
|
||||
@@ -1673,8 +1673,8 @@ index 01a58fe71669bf199511c906363d036ed880aa91..22188b537271d6cfd276027bb5df8640
|
||||
|
||||
public Rabbit(EntityType<? extends Rabbit> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -91,6 +92,51 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
this.initializePathFinderGoals(); // CraftBukkit - moved code
|
||||
@@ -93,9 +94,55 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
this.moveControl = new Rabbit.RabbitMoveControl(this);
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
@@ -1722,10 +1722,6 @@ index 01a58fe71669bf199511c906363d036ed880aa91..22188b537271d6cfd276027bb5df8640
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
// CraftBukkit start - code from constructor
|
||||
public void initializePathFinderGoals(){
|
||||
this.setSpeedModifier(0.0D);
|
||||
@@ -100,6 +146,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@Override
|
||||
public void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
@@ -1733,7 +1729,7 @@ index 01a58fe71669bf199511c906363d036ed880aa91..22188b537271d6cfd276027bb5df8640
|
||||
this.goalSelector.addGoal(1, new ClimbOnTopOfPowderSnowGoal(this, this.level()));
|
||||
this.goalSelector.addGoal(1, new Rabbit.RabbitPanicGoal(this, 2.2D));
|
||||
this.goalSelector.addGoal(2, new BreedGoal(this, 0.8D));
|
||||
@@ -114,6 +161,14 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@@ -110,6 +157,14 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
|
||||
@Override
|
||||
protected float getJumpPower() {
|
||||
@@ -1748,7 +1744,7 @@ index 01a58fe71669bf199511c906363d036ed880aa91..22188b537271d6cfd276027bb5df8640
|
||||
float f = 0.3F;
|
||||
|
||||
if (this.horizontalCollision || this.moveControl.hasWanted() && this.moveControl.getWantedY() > this.getY() + 0.5D) {
|
||||
@@ -138,7 +193,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@@ -134,7 +189,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1757,7 +1753,7 @@ index 01a58fe71669bf199511c906363d036ed880aa91..22188b537271d6cfd276027bb5df8640
|
||||
super.jumpFromGround();
|
||||
double d0 = this.moveControl.getSpeedModifier();
|
||||
|
||||
@@ -188,6 +243,13 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@@ -184,6 +239,13 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
|
||||
@Override
|
||||
public void customServerAiStep() {
|
||||
@@ -1771,7 +1767,7 @@ index 01a58fe71669bf199511c906363d036ed880aa91..22188b537271d6cfd276027bb5df8640
|
||||
if (this.jumpDelayTicks > 0) {
|
||||
--this.jumpDelayTicks;
|
||||
}
|
||||
@@ -472,7 +534,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@@ -468,7 +530,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1780,7 +1776,7 @@ index 01a58fe71669bf199511c906363d036ed880aa91..22188b537271d6cfd276027bb5df8640
|
||||
|
||||
private final Rabbit rabbit;
|
||||
private double nextJumpSpeed;
|
||||
@@ -483,14 +545,14 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@@ -479,14 +541,14 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1854,7 +1850,7 @@ index c0e89262c596fbdd0bb3c3f76baccb17a1bb5fcd..0e2f10fa133281477ab96ba743266ade
|
||||
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
|
||||
this.goalSelector.addGoal(3, new TemptGoal(this, 1.1D, Ingredient.of(Items.WHEAT), false));
|
||||
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 96bfba9d3ccdbf95b8eea4038bf42e6b1430181d..190d123a87ef8ca84e5e0cc485a5cc65fe5ed8e8 100644
|
||||
index 8adcfc8f6772a32b5915e4a07100e8eb735f907a..04927f5f06d6dc14ad01319dd22583632c2c511b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -54,12 +54,31 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -1916,10 +1912,10 @@ index 96bfba9d3ccdbf95b8eea4038bf42e6b1430181d..190d123a87ef8ca84e5e0cc485a5cc65
|
||||
}
|
||||
|
||||
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 b72006c4b2342ca9d9a81f54f89fa6d979c33c85..fa635fa6828c4d7e0fd80ae00cc21e5598542703 100644
|
||||
index f60c4cd0543fd5d50fa7e2c1a9e8381227adb540..7fa03dbc442942b70f374096e346d54089d8f0a0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
@@ -50,9 +50,32 @@ public class Squid extends WaterAnimal {
|
||||
@@ -48,9 +48,32 @@ public class Squid extends WaterAnimal {
|
||||
this.tentacleSpeed = 1.0F / (this.random.nextFloat() + 1.0F) * 0.2F;
|
||||
}
|
||||
|
||||
@@ -1952,7 +1948,7 @@ index b72006c4b2342ca9d9a81f54f89fa6d979c33c85..fa635fa6828c4d7e0fd80ae00cc21e55
|
||||
this.goalSelector.addGoal(1, new Squid.SquidFleeGoal());
|
||||
}
|
||||
|
||||
@@ -244,6 +267,38 @@ public class Squid extends WaterAnimal {
|
||||
@@ -298,6 +321,37 @@ public class Squid extends WaterAnimal {
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
@@ -1987,10 +1983,9 @@ index b72006c4b2342ca9d9a81f54f89fa6d979c33c85..fa635fa6828c4d7e0fd80ae00cc21e55
|
||||
+ return;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
int i = this.squid.getNoActionTime();
|
||||
|
||||
if (i > 100) {
|
||||
this.squid.setMovementVector(0.0F, 0.0F, 0.0F);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java b/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
|
||||
index b05b560b7570e97bc234b75f26233909fcf575b3..71234b258157579d3a47064e7e299bb7fb90908f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/TropicalFish.java
|
||||
@@ -2015,7 +2010,7 @@ index b05b560b7570e97bc234b75f26233909fcf575b3..71234b258157579d3a47064e7e299bb7
|
||||
return "entity.minecraft.tropical_fish.predefined." + variant;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
index 098ae9d8fa3e7cad8473a877decba771f6bd1b36..e8d4fa852f22b7de191dcf26b52f19cb81967fa0 100644
|
||||
index d3c15d029d5f003cba3c89f7ea1f3ed4f943f2bd..46b71439efdab39c28d29684913bec2a1ba6491a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -83,6 +83,23 @@ public class Turtle extends Animal {
|
||||
@@ -2097,10 +2092,10 @@ index 098ae9d8fa3e7cad8473a877decba771f6bd1b36..e8d4fa852f22b7de191dcf26b52f19cb
|
||||
this.turtle.setSpeed(Mth.lerp(0.125F, this.turtle.getSpeed(), f1));
|
||||
this.turtle.setDeltaMovement(this.turtle.getDeltaMovement().add(0.0D, (double) this.turtle.getSpeed() * d1 * 0.1D, 0.0D));
|
||||
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 27c4dd3605373f08078048fe923a8f6f4d3ccf3b..cb2b8c7cbbe882ae0ca876edaa66bea1d5cd141d 100644
|
||||
index 57ceec70bb150afaa66962090b142048d5b50c2f..40d647d6b3132f8273d43a1addcb8c8116c7ec19 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -102,9 +102,32 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -103,9 +103,32 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
this.setPathfindingMalus(BlockPathTypes.DANGER_POWDER_SNOW, -1.0F);
|
||||
}
|
||||
|
||||
@@ -2133,7 +2128,7 @@ index 27c4dd3605373f08078048fe923a8f6f4d3ccf3b..cb2b8c7cbbe882ae0ca876edaa66bea1
|
||||
this.goalSelector.addGoal(1, new Wolf.WolfPanicGoal(1.5D));
|
||||
this.goalSelector.addGoal(2, new SitWhenOrderedToGoal(this));
|
||||
this.goalSelector.addGoal(3, new Wolf.WolfAvoidEntityGoal<>(this, Llama.class, 24.0F, 1.5D, 1.5D));
|
||||
@@ -116,6 +139,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -117,6 +140,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
this.goalSelector.addGoal(9, new BegGoal(this, 8.0F));
|
||||
this.goalSelector.addGoal(10, new LookAtPlayerGoal(this, Player.class, 8.0F));
|
||||
this.goalSelector.addGoal(10, new RandomLookAroundGoal(this));
|
||||
@@ -2453,10 +2448,10 @@ index 6ed4ac06c76b8d0d6e8db778cade15dbd1e3e5f5..af8438ae8c805d3276ef2d82eb39b088
|
||||
this.level().getProfiler().pop();
|
||||
this.level().getProfiler().push("tadpoleActivityUpdate");
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
index 2c7193e967b4cb5a7c98a760286a2c3791152359..1d9e2c93fa08d6f2f16b81021477294a6de3ce04 100644
|
||||
index 7f21d1d400c8a5615ed1a787dcb0680338f8c28d..ec956339b02fc9da53563d67c0eeaa91a3c3a8ee 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -89,6 +89,23 @@ public class Goat extends Animal {
|
||||
@@ -90,6 +90,23 @@ public class Goat extends Animal {
|
||||
return InstrumentItem.create(Items.GOAT_HORN, (Holder) holderset.getRandomElement(randomsource).get());
|
||||
}
|
||||
|
||||
@@ -2480,7 +2475,7 @@ index 2c7193e967b4cb5a7c98a760286a2c3791152359..1d9e2c93fa08d6f2f16b81021477294a
|
||||
@Override
|
||||
protected Brain.Provider<Goat> brainProvider() {
|
||||
return Brain.provider(Goat.MEMORY_TYPES, Goat.SENSOR_TYPES);
|
||||
@@ -192,7 +209,7 @@ public class Goat extends Animal {
|
||||
@@ -193,7 +210,7 @@ public class Goat extends Animal {
|
||||
@Override
|
||||
protected void customServerAiStep() {
|
||||
this.level().getProfiler().push("goatBrain");
|
||||
@@ -2490,10 +2485,10 @@ index 2c7193e967b4cb5a7c98a760286a2c3791152359..1d9e2c93fa08d6f2f16b81021477294a
|
||||
this.level().getProfiler().pop();
|
||||
this.level().getProfiler().push("goatActivityUpdate");
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
index 79b6e241f425622fdc575b77d8dce7061c0ab783..b948f8ac7072afa7a60cdbb2775b0e2fa0a052e9 100644
|
||||
index 9b35a50eb99551f28d45fd5114e0401b4c54646e..55bc8ccc459b093ad48790932381228e24a24f14 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
@@ -144,12 +144,22 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@@ -147,12 +147,22 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
|
||||
protected AbstractHorse(EntityType<? extends AbstractHorse> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -2516,7 +2511,7 @@ index 79b6e241f425622fdc575b77d8dce7061c0ab783..b948f8ac7072afa7a60cdbb2775b0e2f
|
||||
this.goalSelector.addGoal(1, new PanicGoal(this, 1.2D));
|
||||
this.goalSelector.addGoal(1, new RunAroundLikeCrazyGoal(this, 1.2D));
|
||||
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D, AbstractHorse.class));
|
||||
@@ -160,6 +170,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@@ -163,6 +173,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
if (this.canPerformRearing()) {
|
||||
this.goalSelector.addGoal(9, new RandomStandGoal(this));
|
||||
}
|
||||
@@ -2561,7 +2556,7 @@ index 5f5dc651d570989ec1294c31a14dcfede466b80a..3e50581033e88e8eddcbd85bfa890cbe
|
||||
protected void randomizeAttributes(RandomSource random) {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index 3bbb1455773570e3f7f6b8b144d3c589e2705b81..e05f917c462ba5bfb114e402b4f5309f421651fb 100644
|
||||
index d28089c37707f323f73e60cb0ebed4e3cdf8c0fd..42d5b435728aa497dc34f0ac984e8637fe96343d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -76,7 +76,51 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -2616,7 +2611,7 @@ index 3bbb1455773570e3f7f6b8b144d3c589e2705b81..e05f917c462ba5bfb114e402b4f5309f
|
||||
|
||||
public boolean isTraderLlama() {
|
||||
return false;
|
||||
@@ -128,6 +172,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -127,6 +171,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
@@ -2624,7 +2619,7 @@ index 3bbb1455773570e3f7f6b8b144d3c589e2705b81..e05f917c462ba5bfb114e402b4f5309f
|
||||
this.goalSelector.addGoal(1, new RunAroundLikeCrazyGoal(this, 1.2D));
|
||||
this.goalSelector.addGoal(2, new LlamaFollowCaravanGoal(this, 2.0999999046325684D));
|
||||
this.goalSelector.addGoal(3, new RangedAttackGoal(this, 1.25D, 40, 20.0F));
|
||||
@@ -138,6 +183,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -137,6 +182,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
this.goalSelector.addGoal(7, new WaterAvoidingRandomStrollGoal(this, 0.7D));
|
||||
this.goalSelector.addGoal(8, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||
this.goalSelector.addGoal(9, new RandomLookAroundGoal(this));
|
||||
@@ -2950,7 +2945,7 @@ index 92666c48620078623a451fbf68f673cb9f81c4b5..5a2eb6775ecb3b01fd136c796258395b
|
||||
this.dragonFight.updateDragon(this);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index f69e0b11be74ac83694f59999b3f07a318410c19..10da1bc9374a4178a38dd101bf173a77216101fa 100644
|
||||
index 1ea5b05405f115e5d77ff0b282075628e64fec3d..e1cf87e13f077860e38714a962c549dcb4644e3f 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
|
||||
@@ -84,16 +84,30 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -3262,7 +3257,7 @@ index da48bd8e15463be8170262ae90a8e95575959bf2..34abd8093015d7cdaf2faca2396d3950
|
||||
public boolean doHurtTarget(Entity target) {
|
||||
if (super.doHurtTarget(target)) {
|
||||
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 71587510ef1b6cbd95cb55556cd93c6c194ea5f5..8782e1b1150dd23fd4a66acdab963b2af5bd4425 100644
|
||||
index 7fe90ebc8eced53f72c7f935e40745075f02421b..5017a82ced2ea5b7a58fa54c5898b83c5746a2b9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -59,21 +59,98 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -3364,7 +3359,7 @@ index 71587510ef1b6cbd95cb55556cd93c6c194ea5f5..8782e1b1150dd23fd4a66acdab963b2a
|
||||
this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Player.class, true));
|
||||
this.targetSelector.addGoal(2, new HurtByTargetGoal(this, new Class[0]));
|
||||
}
|
||||
@@ -322,6 +399,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -324,6 +401,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
com.destroystokyo.paper.event.entity.CreeperIgniteEvent event = new com.destroystokyo.paper.event.entity.CreeperIgniteEvent((org.bukkit.entity.Creeper) getBukkitEntity(), ignited);
|
||||
if (event.callEvent()) {
|
||||
this.entityData.set(Creeper.DATA_IS_IGNITED, event.isIgnited());
|
||||
@@ -3461,10 +3456,10 @@ index 8f481e11815d7162dd62a2b850b3d2af6d904519..16486ece9fc415d875ff94d9b806b0b5
|
||||
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D);
|
||||
}
|
||||
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 54a9529ea92889d57e348307a35097f715a13501..c3cfa392b92b9bc7944fd28782b3b74cf15702bb 100644
|
||||
index eaf45b502a698e26a703b93e62989a338479496e..d88ad3f0513f9ab2ffc738b6389cf268f085ca6d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -92,9 +92,27 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -96,9 +96,27 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
this.setPathfindingMalus(BlockPathTypes.WATER, -1.0F);
|
||||
}
|
||||
|
||||
@@ -3492,7 +3487,7 @@ index 54a9529ea92889d57e348307a35097f715a13501..c3cfa392b92b9bc7944fd28782b3b74c
|
||||
this.goalSelector.addGoal(1, new EnderMan.EndermanFreezeWhenLookedAt(this));
|
||||
this.goalSelector.addGoal(2, new MeleeAttackGoal(this, 1.0D, false));
|
||||
this.goalSelector.addGoal(7, new WaterAvoidingRandomStrollGoal(this, 1.0D, 0.0F));
|
||||
@@ -102,6 +120,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -106,6 +124,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
this.goalSelector.addGoal(8, new RandomLookAroundGoal(this));
|
||||
this.goalSelector.addGoal(10, new EnderMan.EndermanLeaveBlockGoal(this));
|
||||
this.goalSelector.addGoal(11, new EnderMan.EndermanTakeBlockGoal(this));
|
||||
@@ -3500,7 +3495,7 @@ index 54a9529ea92889d57e348307a35097f715a13501..c3cfa392b92b9bc7944fd28782b3b74c
|
||||
this.targetSelector.addGoal(1, new EnderMan.EndermanLookForPlayerGoal(this, this::isAngryAt));
|
||||
this.targetSelector.addGoal(2, new HurtByTargetGoal(this, new Class[0]));
|
||||
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Endermite.class, true, false));
|
||||
@@ -283,7 +302,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -287,7 +306,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
@Override
|
||||
protected void customServerAiStep() {
|
||||
@@ -3509,7 +3504,7 @@ index 54a9529ea92889d57e348307a35097f715a13501..c3cfa392b92b9bc7944fd28782b3b74c
|
||||
float f = this.getLightLevelDependentMagicValue();
|
||||
|
||||
if (f > 0.5F && this.level().canSeeSky(this.blockPosition()) && this.random.nextFloat() * 30.0F < (f - 0.4F) * 2.0F && this.tryEscape(com.destroystokyo.paper.event.entity.EndermanEscapeEvent.Reason.RUNAWAY)) { // Paper
|
||||
@@ -404,6 +423,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -408,6 +427,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
public boolean hurt(DamageSource source, float amount) {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
return false;
|
||||
@@ -4102,10 +4097,10 @@ index cec545c3baa6599d47b9cf1a4b97de8771062a22..31d204d8d81ccc30371070af3678d82d
|
||||
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
|
||||
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, false));
|
||||
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 75d661c23cde1ba09ea0b673860c9659c32ef77e..4aa0f1a4848411a83b5d211e799c30e743b148fe 100644
|
||||
index 842146548fc42c3b67a1196620b096d6c500b88d..3919ed8b4d91b9d58acbdd72740565352e7c52ec 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
@@ -65,14 +65,39 @@ public class Ravager extends Raider {
|
||||
@@ -68,14 +68,39 @@ public class Ravager extends Raider {
|
||||
this.setPathfindingMalus(BlockPathTypes.LEAVES, 0.0F);
|
||||
}
|
||||
|
||||
@@ -4145,7 +4140,7 @@ index 75d661c23cde1ba09ea0b673860c9659c32ef77e..4aa0f1a4848411a83b5d211e799c30e7
|
||||
this.targetSelector.addGoal(2, (new HurtByTargetGoal(this, new Class[]{Raider.class})).setAlertOthers());
|
||||
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Player.class, true));
|
||||
this.targetSelector.addGoal(4, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, true, (entityliving) -> {
|
||||
@@ -150,7 +175,7 @@ public class Ravager extends Raider {
|
||||
@@ -153,7 +178,7 @@ public class Ravager extends Raider {
|
||||
@Override
|
||||
public void aiStep() {
|
||||
super.aiStep();
|
||||
@@ -4155,7 +4150,7 @@ index 75d661c23cde1ba09ea0b673860c9659c32ef77e..4aa0f1a4848411a83b5d211e799c30e7
|
||||
this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(0.0D);
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
index cdccbe68fb591181517893a5dd1e93489b578f4d..d4b318fc6382cd043e34db0d12d78e3561023dd5 100644
|
||||
index d2073de07bdad71b20e05046577b16649123967b..3e5548d0489b13b4a1d5c22c9d3bf19ead87928e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -98,12 +98,31 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -4190,7 +4185,7 @@ index cdccbe68fb591181517893a5dd1e93489b578f4d..d4b318fc6382cd043e34db0d12d78e35
|
||||
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{this.getClass()})).setAlertOthers());
|
||||
this.targetSelector.addGoal(2, new Shulker.ShulkerNearestAttackGoal(this));
|
||||
this.targetSelector.addGoal(3, new Shulker.ShulkerDefenseAttackGoal(this));
|
||||
@@ -611,7 +630,7 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -609,7 +628,7 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
return b0 != 16 && b0 <= 15 ? DyeColor.byId(b0) : null;
|
||||
}
|
||||
|
||||
@@ -4200,10 +4195,10 @@ index cdccbe68fb591181517893a5dd1e93489b578f4d..d4b318fc6382cd043e34db0d12d78e35
|
||||
public ShulkerLookControl(Mob entity) {
|
||||
super(entity);
|
||||
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 9d3f0f413120e825a44f3eea6b9089761840ff1f..5597e4f07795287d22e0ef89051bf8ea2a27d055 100644
|
||||
index 0b2d9eb8b3ff06cc64aa5bc7a81d79769709ccf0..ebfe46a6063edf1dafef19ba570a1c0942dc87ee 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -42,14 +42,33 @@ public class Silverfish extends Monster {
|
||||
@@ -45,14 +45,33 @@ public class Silverfish extends Monster {
|
||||
super(type, world);
|
||||
}
|
||||
|
||||
@@ -5177,10 +5172,10 @@ index cc0a3d9794d05b6bc6ab05f4f2ab8d83134b181d..e1f918d0bd2a70db1aba8bda8717149f
|
||||
HitResult hitResult = world.clip(new ClipContext(pos, vec3, ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, entity));
|
||||
if (hitResult.getType() != HitResult.Type.MISS) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
index 80b86d5dd68c3d288a1a61ea8aa1cba9d899aa1c..71916a0e55f12a2cbb2bee85ededd15126e1c451 100644
|
||||
index 06d1bdb9bd124b201c36d284c50d22bf50d3735a..937f57d8af629c4e913d7ccabf6adab15f91d3d0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
@@ -107,6 +107,12 @@ public class WitherSkull extends AbstractHurtingProjectile {
|
||||
@@ -109,6 +109,12 @@ public class WitherSkull extends AbstractHurtingProjectile {
|
||||
|
||||
}
|
||||
|
||||
@@ -5226,10 +5221,10 @@ index fc0dc8e607cc24020106ea1af92b4421a5f9393d..7d744d5b6a9e593e657233b2192f2837
|
||||
+ // 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 c1583340ecaedab0af44501213b2d24f8ad71e0c..58d4b678daa94d3f5da0589b41129ca8a3c7f851 100644
|
||||
index a6edbb5cde568d8138af568122d5d11243f3fb07..6ed0735e9b98b80ed45116907e7563f5e8b993d4 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -560,6 +560,15 @@ public class CraftEventFactory {
|
||||
@@ -565,6 +565,15 @@ public class CraftEventFactory {
|
||||
// Paper end
|
||||
craftServer.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -5245,7 +5240,7 @@ index c1583340ecaedab0af44501213b2d24f8ad71e0c..58d4b678daa94d3f5da0589b41129ca8
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -997,6 +1006,7 @@ public class CraftEventFactory {
|
||||
@@ -1002,6 +1011,7 @@ public class CraftEventFactory {
|
||||
damageCause = DamageCause.ENTITY_EXPLOSION;
|
||||
}
|
||||
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions, source.isCritical()); // Paper - add critical damage API
|
||||
@@ -5253,7 +5248,7 @@ index c1583340ecaedab0af44501213b2d24f8ad71e0c..58d4b678daa94d3f5da0589b41129ca8
|
||||
}
|
||||
event.setCancelled(cancelled);
|
||||
|
||||
@@ -1111,6 +1121,7 @@ public class CraftEventFactory {
|
||||
@@ -1116,6 +1126,7 @@ public class CraftEventFactory {
|
||||
} else {
|
||||
entity.lastDamageCancelled = true; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled
|
||||
}
|
||||
@@ -5261,7 +5256,7 @@ index c1583340ecaedab0af44501213b2d24f8ad71e0c..58d4b678daa94d3f5da0589b41129ca8
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -1174,6 +1185,7 @@ public class CraftEventFactory {
|
||||
@@ -1179,6 +1190,7 @@ public class CraftEventFactory {
|
||||
EntityDamageEvent event;
|
||||
if (damager != null) {
|
||||
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions, critical); // Paper - add critical damage API
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 18f8fdc2ab2c27efcf01be3869072159e91ade4d..f54290965187661ac5ba5cc8fe90e873e71fe66d 100644
|
||||
index bb3edddf4c9b2a04f6b9219be741a523e4192c0c..fb8e1f84bb57840149a95eb72f323aa729d83849 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -156,7 +156,7 @@ import org.bukkit.plugin.PluginManager;
|
||||
@@ -34,10 +34,10 @@ index c6a06e07f0b4bb29b5f4c70dfa53ff6db2e4e6ea..730958dab7f074930cdccb88a89aa26e
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 24797621de749e682bfbe8a09cb81bc2def8def8..766ee0148da5554d4c1f675af595668f2de99f60 100644
|
||||
index 3c2892b9b2ade76d9d4b081ad5bce4991df11dda..0d07e666f4da002a353d03844d62a0e3aac44d9d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -288,6 +288,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -287,6 +287,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.useItem = ItemStack.EMPTY;
|
||||
this.lastClimbablePos = Optional.empty();
|
||||
this.attributes = new AttributeMap(DefaultAttributes.getSupplier(type), this); // Purpur
|
||||
@@ -45,7 +45,7 @@ index 24797621de749e682bfbe8a09cb81bc2def8def8..766ee0148da5554d4c1f675af595668f
|
||||
this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit
|
||||
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
|
||||
this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue());
|
||||
@@ -303,6 +304,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -302,6 +303,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.brain = this.makeBrain(new Dynamic(dynamicopsnbt, (Tag) dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), (Tag) dynamicopsnbt.emptyMap()))));
|
||||
}
|
||||
|
||||
@@ -55,10 +55,10 @@ index 24797621de749e682bfbe8a09cb81bc2def8def8..766ee0148da5554d4c1f675af595668f
|
||||
return this.brain;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
index fc240adb941cfa7db37916516b63cbfdb83f737d..42ab8b3828f66e84cf0d89169fe28867f387be6b 100644
|
||||
index e184d2a89a89d4bf77a32a2d610175c5bbd38a03..c283900e6c43fda62428a6e6d8b70e512458e779 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -278,6 +278,18 @@ public class Bat extends AmbientCreature {
|
||||
@@ -264,6 +264,18 @@ public class Bat extends AmbientCreature {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,10 +78,10 @@ index fc240adb941cfa7db37916516b63cbfdb83f737d..42ab8b3828f66e84cf0d89169fe28867
|
||||
public void readAdditionalSaveData(CompoundTag nbt) {
|
||||
super.readAdditionalSaveData(nbt);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
index 79a2d45f10aa1afb5d1192284cd48ea026411845..aaf6f76cefc71f714bc9aeddc22149110ee76197 100644
|
||||
index 706ae64b894709601dccfb621d3c215f073e98e9..e7f95639a442cf602fef0ed7aec0f5f96aa6fd92 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -466,6 +466,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -471,6 +471,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,10 +142,10 @@ index e2a98b45e56a368de19bb65e304370a5998c7cb9..3d61c2d5da103de68242c16d85c70381
|
||||
public ItemStack getBucketItemStack() {
|
||||
return new ItemStack(Items.COD_BUCKET);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index 3ac30ed0a411384be5102de498815561915a7903..d26a44d634fe02e595654e573d02243b5eb66086 100644
|
||||
index 11082cf272b72123d8917baa9a0d0e5367dca66b..621fe1c08dda65934437eeab679b6e5cd2d11d3d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -58,6 +58,11 @@ public class Cow extends Animal {
|
||||
@@ -59,6 +59,11 @@ public class Cow extends Animal {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -158,10 +158,10 @@ index 3ac30ed0a411384be5102de498815561915a7903..d26a44d634fe02e595654e573d02243b
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
index b9a2064fd3a08aa21f1a25d3f367342852185974..08e9fd3581578195e5df079b086811c5964fd17a 100644
|
||||
index c268b50d43a45a5f80fd776e56484d872d494013..0ae0f8cc64578d0c51fb050b8e726e483a17e50f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -154,6 +154,11 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -158,6 +158,11 @@ public class Dolphin extends WaterAnimal {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -174,7 +174,7 @@ index b9a2064fd3a08aa21f1a25d3f367342852185974..08e9fd3581578195e5df079b086811c5
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
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 c56aaf2d0460d5a4432f893300140d071a95cc38..451abd7a6d7fb0926dcebdc4504b1c9c298766e3 100644
|
||||
index e0a21a0e8ff29f5b634fcb312881a1a93c6c3a44..d6370eb9af9842710052e0e497af52122f265488 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -179,6 +179,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -222,7 +222,7 @@ index 7b0e3b46e3d318ee856d53cfc5532f3432447438..780a11339d2492dd607e3ef91867ffbb
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader world) {
|
||||
return world.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : world.getPathfindingCostFromLightLevels(pos);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
index 9f1187f5af0594da1c8450a05e0181815375c782..e67c8756455d1388069dc41e8d968800b631be4e 100644
|
||||
index c25549d516072bdb362f78efce3da730e08f3ccc..20da70182312f4c30e21528add44540ea2b60e42 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
@@ -85,6 +85,11 @@ public class Ocelot extends Animal {
|
||||
@@ -238,10 +238,10 @@ index 9f1187f5af0594da1c8450a05e0181815375c782..e67c8756455d1388069dc41e8d968800
|
||||
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
index 490a2b416366136c082371d39beaa65b5f6b102f..b475b278dcedef881b8612f615a057719e3466be 100644
|
||||
index cc12b93b5c95202c4e3417e3a35e5f5c361b9767..81f502b19cfcfcd39f3d3b5754b6bce9c2645ccb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -134,6 +134,12 @@ public class Panda extends Animal {
|
||||
@@ -137,6 +137,12 @@ public class Panda extends Animal {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -254,7 +254,7 @@ index 490a2b416366136c082371d39beaa65b5f6b102f..b475b278dcedef881b8612f615a05771
|
||||
@Override
|
||||
public boolean canTakeItem(ItemStack stack) {
|
||||
EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
|
||||
@@ -635,7 +641,10 @@ public class Panda extends Animal {
|
||||
@@ -638,7 +644,10 @@ public class Panda extends Animal {
|
||||
|
||||
public void setAttributes() {
|
||||
if (this.isWeak()) {
|
||||
@@ -267,7 +267,7 @@ index 490a2b416366136c082371d39beaa65b5f6b102f..b475b278dcedef881b8612f615a05771
|
||||
|
||||
if (this.isLazy()) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
index 39c5da4e037f57cca0316804d0e363c32a441c6b..361299312e883ca8377790fba5a89227e1c8b82f 100644
|
||||
index dc6bc1ecb11a8d1776be488de4df7243d196f330..1e0d8d276ef5eb2cc11a1effb5808de7f8f211d5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -191,6 +191,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
@@ -331,21 +331,21 @@ index 95383e246a8e1b311e4f26a66372966b6bc51de5..8b5bf8ef4481ccc829d1a39c09219415
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
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 22188b537271d6cfd276027bb5df86404fa73ed4..db37932e56d88717a61eb8608b44c6911513aa35 100644
|
||||
index df01b1c5a0f0ad34f0a49c2ac1d10d526b73da9b..8fb529fd818b2f2d28c6900d16f20e292a707293 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -137,6 +137,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
}
|
||||
wasOnGround = onGround;
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
+
|
||||
+ @Override
|
||||
+ public void initAttributes() {
|
||||
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.rabbitMaxHealth);
|
||||
+ }
|
||||
+
|
||||
// CraftBukkit start - code from constructor
|
||||
public void initializePathFinderGoals(){
|
||||
this.setSpeedModifier(0.0D);
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Salmon.java b/src/main/java/net/minecraft/world/entity/animal/Salmon.java
|
||||
index 87c442fb198cad8671ad1419e589a5a67c4fdca8..742805994f29a18af444912b10af631d2c60cacf 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Salmon.java
|
||||
@@ -379,7 +379,7 @@ index 0e2f10fa133281477ab96ba743266ade4d5f2119..3d212b09258b9777079d4bc7ce950f52
|
||||
protected void registerGoals() {
|
||||
this.eatBlockGoal = new EatBlockGoal(this);
|
||||
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 190d123a87ef8ca84e5e0cc485a5cc65fe5ed8e8..a8b411cc3dd1f61b4f949862a077e87e26e424de 100644
|
||||
index 04927f5f06d6dc14ad01319dd22583632c2c511b..3ffd9dd16c80399842ba138ed60abd66cd312dcb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -71,6 +71,11 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -395,10 +395,10 @@ index 190d123a87ef8ca84e5e0cc485a5cc65fe5ed8e8..a8b411cc3dd1f61b4f949862a077e87e
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
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 fa635fa6828c4d7e0fd80ae00cc21e5598542703..42ca9df0735b4f928fbbf1e695d1756f77be52fc 100644
|
||||
index 7fa03dbc442942b70f374096e346d54089d8f0a0..913b66be2111da862e706d4978825c64cfe8b00b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
@@ -72,6 +72,11 @@ public class Squid extends WaterAnimal {
|
||||
@@ -70,6 +70,11 @@ public class Squid extends WaterAnimal {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -427,7 +427,7 @@ index 71234b258157579d3a47064e7e299bb7fb90908f..7d02e552a27632939bb9c40a62f4e0df
|
||||
return "entity.minecraft.tropical_fish.predefined." + variant;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
index e8d4fa852f22b7de191dcf26b52f19cb81967fa0..9aa764686433ad8d58191f96ab22d30154058af7 100644
|
||||
index 46b71439efdab39c28d29684913bec2a1ba6491a..6ae82b6293f236fc926f411de2badc496b35399b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -100,6 +100,11 @@ public class Turtle extends Animal {
|
||||
@@ -443,10 +443,10 @@ index e8d4fa852f22b7de191dcf26b52f19cb81967fa0..9aa764686433ad8d58191f96ab22d301
|
||||
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
|
||||
}
|
||||
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 cb2b8c7cbbe882ae0ca876edaa66bea1d5cd141d..c9ad084ce93eb618261221c7e19450c06fb8a5f5 100644
|
||||
index 40d647d6b3132f8273d43a1addcb8c8116c7ec19..1a27e811169a58515c796344ffa1bb3c46d1014a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -124,6 +124,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -125,6 +125,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -503,10 +503,10 @@ index 76a38d235de3499ca19c3ccacd9289c7355012db..5ec8815cc69f5abe03a29224650edfb1
|
||||
protected SoundEvent getAmbientSound() {
|
||||
return SoundEvents.CAMEL_AMBIENT;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
index b948f8ac7072afa7a60cdbb2775b0e2fa0a052e9..05405f22fa9001560eb3a6701f3bb0179a584fae 100644
|
||||
index 55bc8ccc459b093ad48790932381228e24a24f14..296cc895fbd090b4d43807f4ca393f6dd853e0ce 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
@@ -157,6 +157,44 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@@ -160,6 +160,44 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -551,7 +551,7 @@ index b948f8ac7072afa7a60cdbb2775b0e2fa0a052e9..05405f22fa9001560eb3a6701f3bb017
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HorseHasRider(this)); // Purpur
|
||||
@@ -1264,7 +1302,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@@ -1266,7 +1304,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
entityData = new AgeableMob.AgeableMobGroupData(0.2F);
|
||||
}
|
||||
|
||||
@@ -613,7 +613,7 @@ index 3e50581033e88e8eddcbd85bfa890cbe0b88a7e6..92339f5a07dcb6bf7eb1bce6d584464e
|
||||
protected void randomizeAttributes(RandomSource random) {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index e05f917c462ba5bfb114e402b4f5309f421651fb..9ba0218910d7e5db9e735c50f2e60b5a1073816b 100644
|
||||
index 42d5b435728aa497dc34f0ac984e8637fe96343d..967d1ff37ecc9a2cf81a1a6be8ceeb96b42ff847 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -122,6 +122,21 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -775,7 +775,7 @@ index 5a2eb6775ecb3b01fd136c796258395b4270f7a8..f160933af318becaf99befc0ecc0204b
|
||||
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0D);
|
||||
}
|
||||
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 10da1bc9374a4178a38dd101bf173a77216101fa..6cdfde983798bdac3b10e5d17f1259bf2976b739 100644
|
||||
index e1cf87e13f077860e38714a962c549dcb4644e3f..83574e3a395041341a1ba3eb59d8b360c5128b4d 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
|
||||
@@ -112,6 +112,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -832,7 +832,7 @@ index 34abd8093015d7cdaf2faca2396d3950ca0a361b..2f7328286399a556f5a3862d71f2c693
|
||||
public boolean doHurtTarget(Entity target) {
|
||||
if (super.doHurtTarget(target)) {
|
||||
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 8782e1b1150dd23fd4a66acdab963b2af5bd4425..539f44793f11db1971e72e2bbeae8d2d9d9b6798 100644
|
||||
index 5017a82ced2ea5b7a58fa54c5898b83c5746a2b9..85bf510413f88bec95e41c77b6ecdd60b14c7fb8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -250,6 +250,11 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -885,10 +885,10 @@ index 16486ece9fc415d875ff94d9b806b0b5884ebc11..48c28b5177c26c8ab07bb4960a71cddb
|
||||
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D);
|
||||
}
|
||||
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 c3cfa392b92b9bc7944fd28782b3b74cf15702bb..585cd908cc6f83007dc9edcd332a99664080b6d6 100644
|
||||
index d88ad3f0513f9ab2ffc738b6389cf268f085ca6d..abf975d7f28832aba1fbb9d326f464d4ba3c63d2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -109,6 +109,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -113,6 +113,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1107,10 +1107,10 @@ index 31d204d8d81ccc30371070af3678d82dc721618d..6a6349c7002439965422aa4979682b4c
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
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 4aa0f1a4848411a83b5d211e799c30e743b148fe..990a4ef6e2eccc228b06ba4cb3aadfce0733de5f 100644
|
||||
index 3919ed8b4d91b9d58acbdd72740565352e7c52ec..1a919c29d0c601296e5c6c0bf0ebd95de55eda0a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
@@ -88,6 +88,11 @@ public class Ravager extends Raider {
|
||||
@@ -91,6 +91,11 @@ public class Ravager extends Raider {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1123,7 +1123,7 @@ index 4aa0f1a4848411a83b5d211e799c30e743b148fe..990a4ef6e2eccc228b06ba4cb3aadfce
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
index d4b318fc6382cd043e34db0d12d78e3561023dd5..73c1c023e2c0511bca866cfbef86a9f4fa688592 100644
|
||||
index 3e5548d0489b13b4a1d5c22c9d3bf19ead87928e..7d96ba5adeddf52ed712e320d5f56a37f30e138a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -115,6 +115,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -1139,10 +1139,10 @@ index d4b318fc6382cd043e34db0d12d78e3561023dd5..73c1c023e2c0511bca866cfbef86a9f4
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
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 5597e4f07795287d22e0ef89051bf8ea2a27d055..0a78b3231700ff4ec4bc6ab9d3cbaebc261601e1 100644
|
||||
index ebfe46a6063edf1dafef19ba570a1c0942dc87ee..5539cc692ea3ca89d7c1661a139ddf02c9076818 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -59,6 +59,11 @@ public class Silverfish extends Monster {
|
||||
@@ -62,6 +62,11 @@ public class Silverfish extends Monster {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
|
||||
@@ -198,10 +198,10 @@ index 416aa989ebb18a8741cc9d605a1180ab830f6643..e38a0adf5463c48311ad08b8d2e5b5c2
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||
index 3075ba5f6d66316f27e618d8b279252e9520b9cb..299a099ead00069cc275e1dc9a21742abf222d85 100644
|
||||
index 081e6c7ce4a0185ba75e48bbb581fd531cdb10a8..30d43b77424467b2525fc32d4c451e818ac46651 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java
|
||||
@@ -181,8 +181,19 @@ public class CraftContainer extends AbstractContainerMenu {
|
||||
@@ -180,8 +180,19 @@ public class CraftContainer extends AbstractContainerMenu {
|
||||
case PLAYER:
|
||||
case CHEST:
|
||||
case ENDER_CHEST:
|
||||
@@ -223,7 +223,7 @@ index 3075ba5f6d66316f27e618d8b279252e9520b9cb..299a099ead00069cc275e1dc9a21742a
|
||||
case DISPENSER:
|
||||
case DROPPER:
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
||||
index df254c42b73cdb56f71781473cbf9d0f28dcfb08..483cc1ff49b2a4fc62173e756e1cbe4789f3cd60 100644
|
||||
index 471ae4458e7ea7c29d7551b32cec98180fbccd4e..23db63c78e9fcf86cd498b3ed36ca50253c2fe97 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java
|
||||
@@ -83,7 +83,7 @@ public class CraftInventory implements Inventory {
|
||||
|
||||
@@ -25,7 +25,7 @@ index 21725aee29e9120d1c7e1e19f91c21a73a28844f..849f0c7c6d13df00d90211a48d8b56ab
|
||||
double d = this.llama.distanceToSqr(this.llama.getCaravanHead());
|
||||
if (d > 676.0D) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index 9ba0218910d7e5db9e735c50f2e60b5a1073816b..071089e3ec438c323ea715e74911df4a465a7017 100644
|
||||
index 967d1ff37ecc9a2cf81a1a6be8ceeb96b42ff847..72fe2dd69a9ae51e14ec91a83eac2dd74bd76cca 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -73,6 +73,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -36,7 +36,7 @@ index 9ba0218910d7e5db9e735c50f2e60b5a1073816b..071089e3ec438c323ea715e74911df4a
|
||||
|
||||
public Llama(EntityType<? extends Llama> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -169,7 +170,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -168,7 +169,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
if (!this.inventory.getItem(1).isEmpty()) {
|
||||
nbt.put("DecorItem", this.inventory.getItem(1).save(new CompoundTag()));
|
||||
}
|
||||
@@ -45,7 +45,7 @@ index 9ba0218910d7e5db9e735c50f2e60b5a1073816b..071089e3ec438c323ea715e74911df4a
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -180,7 +181,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -179,7 +180,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
if (nbt.contains("DecorItem", 10)) {
|
||||
this.inventory.setItem(1, ItemStack.of(nbt.getCompound("DecorItem")));
|
||||
}
|
||||
@@ -54,7 +54,7 @@ index 9ba0218910d7e5db9e735c50f2e60b5a1073816b..071089e3ec438c323ea715e74911df4a
|
||||
this.updateContainerEquipment();
|
||||
}
|
||||
|
||||
@@ -521,6 +522,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -520,6 +521,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
|
||||
public void leaveCaravan() {
|
||||
if (this.caravanHead != null) {
|
||||
@@ -62,7 +62,7 @@ index 9ba0218910d7e5db9e735c50f2e60b5a1073816b..071089e3ec438c323ea715e74911df4a
|
||||
this.caravanHead.caravanTail = null;
|
||||
}
|
||||
|
||||
@@ -528,6 +530,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -527,6 +529,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
}
|
||||
|
||||
public void joinCaravan(Llama llama) {
|
||||
|
||||
@@ -79,7 +79,7 @@ index 23235b98907ff26afb22d37326b072ba56728ddd..871c1c92cbabc6ecb432b5d1da441e02
|
||||
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 3c1afd3fc37ad0540beb07798f8ecf0cd6acc80f..45e32ff5e8f92de4494710c87f078e57932d2cc8 100644
|
||||
index 8c62cc52c2d2aaa1dd1f191114e188c22e4f40a2..55d2634ed7835cd78828bc6c4547fdcf0136fc40 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -340,6 +340,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -224,10 +224,10 @@ index 3b959f42d958bf0f426853aee56753d6c455fcdb..d17abb283ea818244df0379d6b57fc63
|
||||
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 2323ac04ea0bc4c5492d3c25348fd9b12e82845e..86793c8225e3206f9c9791a3c7524de039227b53 100644
|
||||
index 1c5dc1727b1731ddfd2f6b0e36618b780b9aa930..71ec32a473e6bde53c3987ccf1bb1517771b181c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -502,10 +502,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -508,10 +508,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@Override
|
||||
public void setPlayerListName(String name) {
|
||||
@@ -244,7 +244,7 @@ index 2323ac04ea0bc4c5492d3c25348fd9b12e82845e..86793c8225e3206f9c9791a3c7524de0
|
||||
for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) {
|
||||
if (player.getBukkitEntity().canSee(this)) {
|
||||
player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
|
||||
@@ -3157,5 +3162,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -3186,5 +3191,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public boolean usesPurpurClient() {
|
||||
return getHandle().purpurClient;
|
||||
}
|
||||
|
||||
@@ -17,10 +17,10 @@ index 818289e831e3dad29345c43265e2efd7689bc500..1ea3012995c738c67b31e997c138f824
|
||||
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 8f4e0d7a75634e4b12163b423ba6af76bde74de3..667262ec2a7b53a87e31505e58eff92510ab590b 100644
|
||||
index 0bc0718dc37cc087b99d35f076f804ca734a555f..8a98fab3e5052eb170653b869479a15f46643a20 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -3083,4 +3083,11 @@ public final class CraftServer implements Server {
|
||||
@@ -3097,4 +3097,11 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
|
||||
// Paper end
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity safeFallDistance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 766ee0148da5554d4c1f675af595668f2de99f60..18b84dc559a942848bef7a7622f411ce0352c08b 100644
|
||||
index 0d07e666f4da002a353d03844d62a0e3aac44d9d..92745269118d8a0cb91cbbebdd7700f7737d2b9a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -254,6 +254,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -253,6 +253,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
private boolean skipDropExperience;
|
||||
// CraftBukkit start
|
||||
public int expToDrop;
|
||||
@@ -16,7 +16,7 @@ index 766ee0148da5554d4c1f675af595668f2de99f60..18b84dc559a942848bef7a7622f411ce
|
||||
public boolean forceDrops;
|
||||
public ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
|
||||
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
|
||||
@@ -354,7 +355,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -353,7 +354,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.tryAddSoulSpeed();
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ index 766ee0148da5554d4c1f675af595668f2de99f60..18b84dc559a942848bef7a7622f411ce
|
||||
double d1 = this.getX();
|
||||
double d2 = this.getY();
|
||||
double d3 = this.getZ();
|
||||
@@ -369,7 +370,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -368,7 +369,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
d3 = (double) landedPosition.getZ() + 0.5D + d5 / d6 * 0.5D;
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ index 766ee0148da5554d4c1f675af595668f2de99f60..18b84dc559a942848bef7a7622f411ce
|
||||
double d7 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
|
||||
int i = (int) (150.0D * d7);
|
||||
|
||||
@@ -2064,7 +2065,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2054,7 +2055,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP);
|
||||
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
|
||||
|
||||
@@ -44,10 +44,10 @@ index 766ee0148da5554d4c1f675af595668f2de99f60..18b84dc559a942848bef7a7622f411ce
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
index 05405f22fa9001560eb3a6701f3bb0179a584fae..8bf1105601f000142246554d177965d1dc6a3339 100644
|
||||
index 296cc895fbd090b4d43807f4ca393f6dd853e0ce..8400f02a37bdef4a9f92879a6b186ebe1f2f145e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
@@ -381,7 +381,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@@ -384,7 +384,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
|
||||
@Override
|
||||
protected int calculateFallDamage(float fallDistance, float damageMultiplier) {
|
||||
@@ -69,10 +69,10 @@ index 3f7d21a5be726d301e1bcaa11f1788b51c23a7cd..db95323da1aef267aa4fbe56aaff63cb
|
||||
|
||||
// Purpur start
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 6097a5ca2b2aa7675e1db326190c77747db7d41e..859ed524f3836320a078cb3e987753d40da77170 100644
|
||||
index 7e81ed767bab14eeba1492a05c7ce43cfc2abd5b..c4e94cea3d97d4da342123e10e62ac61a74957f1 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -1072,4 +1072,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -1099,4 +1099,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
getHandle().knockback(strength, directionX, directionZ);
|
||||
};
|
||||
// Paper end
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index a2b85017236f95b97d5d8017b0ff52db7537f090..303d08e0756525d25c450ae6e2a6083e4e5aa600 100644
|
||||
index 80c085498d9b61bae2e06df873c1ad66cc7d8ae5..59da6baab74e0a40e93fa02ce4ce274524af9765 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -307,6 +307,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -25,10 +25,10 @@ index a2b85017236f95b97d5d8017b0ff52db7537f090..303d08e0756525d25c450ae6e2a6083e
|
||||
}
|
||||
// Spigot end
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 667262ec2a7b53a87e31505e58eff92510ab590b..7a93de58b47aa8df950febc1a17dd871da0286bc 100644
|
||||
index 8a98fab3e5052eb170653b869479a15f46643a20..8976113602277a64cd0049980701b6b7cbcc6b47 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -3089,5 +3089,10 @@ public final class CraftServer implements Server {
|
||||
@@ -3103,5 +3103,10 @@ public final class CraftServer implements Server {
|
||||
public String getServerName() {
|
||||
return this.getProperties().serverName;
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ index 871c1c92cbabc6ecb432b5d1da441e02e08cd35a..1d205ddc1c880f18534ccfd3699060a8
|
||||
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 45e32ff5e8f92de4494710c87f078e57932d2cc8..bad43ba1a75015a06bd39ce654b82f8d10b9c326 100644
|
||||
index 55d2634ed7835cd78828bc6c4547fdcf0136fc40..5c57cb0ae56c9d180354580118f90c68b519d891 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2094,12 +2094,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -121,10 +121,10 @@ index 0510d7e8b6f115292b493a036cc30c364ccf7397..8420afe3c04bf23c23038d638b4e9195
|
||||
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 86793c8225e3206f9c9791a3c7524de039227b53..5e5797761735ce24a8dd2cb934b385756dbcb32d 100644
|
||||
index 71ec32a473e6bde53c3987ccf1bb1517771b181c..249ab7ef332c87a3fcac6e7cc4402ddaa1f4d50c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3177,5 +3177,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -3206,5 +3206,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void resetIdleTimer() {
|
||||
getHandle().resetLastActionTime();
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Rabbit naturally spawn toast and killer
|
||||
|
||||
|
||||
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 db37932e56d88717a61eb8608b44c6911513aa35..2f373666e982a8c4e769168b565ca26e75fe59e9 100644
|
||||
index 8fb529fd818b2f2d28c6900d16f20e292a707293..c64673adcf168b413ab3b9b796f5179081058e6d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -472,10 +472,23 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@@ -468,10 +468,23 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
}
|
||||
|
||||
this.setVariant(entityrabbit_variant);
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Cows eat mushrooms
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index d26a44d634fe02e595654e573d02243b5eb66086..b94ec05ffa0a6f9e7368731d360319ffe1b10e3f 100644
|
||||
index 621fe1c08dda65934437eeab679b6e5cd2d11d3d..28c7e240b7dd1957ccb6a45608b1d052a32dc18a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -2,6 +2,7 @@ package net.minecraft.world.entity.animal;
|
||||
@@ -24,7 +24,7 @@ index d26a44d634fe02e595654e573d02243b5eb66086..b94ec05ffa0a6f9e7368731d360319ff
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
// CraftBukkit start
|
||||
import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||||
@@ -69,6 +71,7 @@ public class Cow extends Animal {
|
||||
@@ -70,6 +72,7 @@ public class Cow extends Animal {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(1, new PanicGoal(this, 2.0D));
|
||||
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
|
||||
@@ -32,7 +32,7 @@ index d26a44d634fe02e595654e573d02243b5eb66086..b94ec05ffa0a6f9e7368731d360319ff
|
||||
this.goalSelector.addGoal(3, new TemptGoal(this, 1.25D, Ingredient.of(Items.WHEAT), false));
|
||||
this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.25D));
|
||||
this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D));
|
||||
@@ -124,6 +127,10 @@ public class Cow extends Animal {
|
||||
@@ -125,6 +128,10 @@ public class Cow extends Animal {
|
||||
|
||||
player.setItemInHand(hand, itemstack1);
|
||||
return InteractionResult.sidedSuccess(this.level().isClientSide);
|
||||
@@ -43,7 +43,7 @@ index d26a44d634fe02e595654e573d02243b5eb66086..b94ec05ffa0a6f9e7368731d360319ff
|
||||
} else {
|
||||
return super.mobInteract(player, hand);
|
||||
}
|
||||
@@ -139,4 +146,69 @@ public class Cow extends Animal {
|
||||
@@ -140,4 +147,69 @@ public class Cow extends Animal {
|
||||
protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
|
||||
return this.isBaby() ? dimensions.height * 0.95F : 1.3F;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Disable loot drops on death by cramming
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 18b84dc559a942848bef7a7622f411ce0352c08b..2123b296b69f05601b0a6c51c8ad58ca263997f8 100644
|
||||
index 92745269118d8a0cb91cbbebdd7700f7737d2b9a..b3699225e2dc77c6d201e361c8d447395c3f3e62 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1811,6 +1811,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1801,6 +1801,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
this.dropEquipment(); // CraftBukkit - from below
|
||||
if (this.shouldDropLoot() && this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
|
||||
@@ -16,7 +16,7 @@ index 18b84dc559a942848bef7a7622f411ce0352c08b..2123b296b69f05601b0a6c51c8ad58ca
|
||||
this.dropFromLootTable(source, flag);
|
||||
// Paper start
|
||||
final boolean prev = this.clearEquipmentSlots;
|
||||
@@ -1819,6 +1820,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1809,6 +1810,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
// Paper end
|
||||
this.dropCustomDeathLoot(source, i, flag);
|
||||
this.clearEquipmentSlots = prev; // Paper
|
||||
|
||||
@@ -5,23 +5,23 @@ Subject: [PATCH] Add enderman and creeper griefing controls
|
||||
|
||||
|
||||
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 4f374a2b1aab20fe2523df716a9d622c28749b7a..04143ca4d451132e6dcd764508e55c567994497d 100644
|
||||
index 9042337dcd8279ccaa416d3cd440c0f0d5a85d40..0ef939a6bc9c0c491c0b71799ea583cb76c6d2fb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -361,7 +361,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
this.level().getCraftServer().getPluginManager().callEvent(event);
|
||||
@@ -362,7 +362,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
if (!event.isCancelled()) {
|
||||
this.dead = true;
|
||||
- this.level().explode(this, this.getX(), this.getY(), this.getZ(), event.getRadius(), event.getFire(), Level.ExplosionInteraction.MOB);
|
||||
+ this.level().explode(this, this.getX(), this.getY(), this.getZ(), event.getRadius(), event.getFire(), this.level().getGameRules().getBoolean(net.minecraft.world.level.GameRules.RULE_MOBGRIEFING) && level().purpurConfig.creeperAllowGriefing ? Level.ExplosionInteraction.MOB : Level.ExplosionInteraction.NONE); // Purpur
|
||||
this.discard();
|
||||
this.spawnLingeringCloud();
|
||||
} else {
|
||||
// CraftBukkit end
|
||||
this.dead = true;
|
||||
- this.level().explode(this, this.getX(), this.getY(), this.getZ(), event.getRadius(), event.getFire(), Level.ExplosionInteraction.MOB); // CraftBukkit
|
||||
+ this.level().explode(this, this.getX(), this.getY(), this.getZ(), event.getRadius(), event.getFire(), this.level().getGameRules().getBoolean(net.minecraft.world.level.GameRules.RULE_MOBGRIEFING) && level().purpurConfig.creeperAllowGriefing ? Level.ExplosionInteraction.MOB : Level.ExplosionInteraction.NONE); // CraftBukkit // Purpur
|
||||
this.discard();
|
||||
this.spawnLingeringCloud();
|
||||
// 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 585cd908cc6f83007dc9edcd332a99664080b6d6..da14c848694c7fa86ea3af082d39e11234fb57c6 100644
|
||||
index abf975d7f28832aba1fbb9d326f464d4ba3c63d2..41eafe7e8e2b73d97152376ce482c39d747c97f3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -536,6 +536,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -540,6 +540,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
@@ -29,7 +29,7 @@ index 585cd908cc6f83007dc9edcd332a99664080b6d6..da14c848694c7fa86ea3af082d39e112
|
||||
return this.enderman.getCarriedBlock() == null ? false : (!this.enderman.level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0);
|
||||
}
|
||||
|
||||
@@ -583,6 +584,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -585,6 +586,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
|
||||
@@ -5,7 +5,7 @@ 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 000cd8cfab7b298feaf6cf00b29f5e65b0c7a2bd..3bf477438d30f6ea3bbf3cbc33cf0b5743452ffd 100644
|
||||
index 2f66eeaba87af74e5820ad496b9e8b7440c47c80..11d1d0402f65c2ae8ea77a0bfa188fe46c9a3a7e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -914,7 +914,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -18,10 +18,10 @@ index 000cd8cfab7b298feaf6cf00b29f5e65b0c7a2bd..3bf477438d30f6ea3bbf3cbc33cf0b57
|
||||
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
|
||||
// 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 2123b296b69f05601b0a6c51c8ad58ca263997f8..0d891511e9c34afbb970a2b2a560f6cd18d04faa 100644
|
||||
index b3699225e2dc77c6d201e361c8d447395c3f3e62..b8e6d0bd2ba18d7e0bf7cd78db8f98d4f1467d71 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2506,7 +2506,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2496,7 +2496,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
@Override
|
||||
protected void onBelowWorld() {
|
||||
|
||||
@@ -5,7 +5,7 @@ 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 3bf477438d30f6ea3bbf3cbc33cf0b5743452ffd..03811b4dca610cf0fa3dc6ca0cc7f47d6f8b77ee 100644
|
||||
index 11d1d0402f65c2ae8ea77a0bfa188fe46c9a3a7e..7f3fafff2b13f4bc544147d3157d66786c4d895c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -492,6 +492,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -20,10 +20,10 @@ index 3bf477438d30f6ea3bbf3cbc33cf0b5743452ffd..03811b4dca610cf0fa3dc6ca0cc7f47d
|
||||
return this.hardCollides;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
index 71916a0e55f12a2cbb2bee85ededd15126e1c451..cead7873795c5277634db3c5ee29a125e48bbb90 100644
|
||||
index 937f57d8af629c4e913d7ccabf6adab15f91d3d0..f40ab9d5b18c189ba9b572e49243640bd44362d1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
@@ -113,6 +113,11 @@ public class WitherSkull extends AbstractHurtingProjectile {
|
||||
@@ -115,6 +115,11 @@ public class WitherSkull extends AbstractHurtingProjectile {
|
||||
return target != this.getRider() && super.canHitEntity(target);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@ index eca634792d2a7cc649675e3394e84dbaf1453905..2bd576849403bc2cfae298c221061619
|
||||
if (entry != null) {
|
||||
ItemStack itemstack = (ItemStack) entry.getValue();
|
||||
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
index adb7220be617d6d9f2cdd7fbe4fa2dd24cc7d142..7db5657885b76885d48d0f231a4aad7b77724868 100644
|
||||
index ae9b821d71d2868ba4eb3c73558fdcd6caf264e3..11d6c0a2089ff8e95b94ded88ae11360ffd9c01e 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
@@ -578,6 +578,16 @@ public final class ItemStack {
|
||||
@@ -579,6 +579,16 @@ public final class ItemStack {
|
||||
return this.isDamageableItem() && this.getDamageValue() > 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ index fa56cd09102a89692b42f1d14257990508c5c720..f9251183df72ddc56662fd3f02acf216
|
||||
setListData(vector);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 3ff9cc3371601d3db513ebb35271d9bc1207af4b..6e37a7b628466397b6b29b507f7aff555a2063b2 100644
|
||||
index 1b192ce469ace3379ae10cd64b25118a58627e75..977dd212701e981a92b6c72f31fdc590ff38633f 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -303,7 +303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -69,10 +69,10 @@ index 3ff9cc3371601d3db513ebb35271d9bc1207af4b..6e37a7b628466397b6b29b507f7aff55
|
||||
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 7a93de58b47aa8df950febc1a17dd871da0286bc..131f87a5007bc533f5129bab07044d52d2e94612 100644
|
||||
index 8976113602277a64cd0049980701b6b7cbcc6b47..6ed43bd792f932a0a976f9402e70ddb1f2862b5d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2812,6 +2812,7 @@ public final class CraftServer implements Server {
|
||||
@@ -2826,6 +2826,7 @@ public final class CraftServer implements Server {
|
||||
@Override
|
||||
public double[] getTPS() {
|
||||
return new double[] {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 0d891511e9c34afbb970a2b2a560f6cd18d04faa..ada73c400539f55f7fb6203eb32c58b772dc666f 100644
|
||||
index b8e6d0bd2ba18d7e0bf7cd78db8f98d4f1467d71..35e3cac34a6a508fbf3971cff9ac07db48ddeaae 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3529,7 +3529,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3519,7 +3519,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
int j = i / 10;
|
||||
|
||||
if (j % 2 == 0) {
|
||||
@@ -54,10 +54,10 @@ index 82b0bda3e35ec2157a477e1a17b2b46baadc97d9..0fc45b1048a1c4e0dc2bd1ae0437eecb
|
||||
itemStack.shrink(1);
|
||||
} else ((net.minecraft.server.level.ServerPlayer) user).getBukkitEntity().updateInventory();
|
||||
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
index 7db5657885b76885d48d0f231a4aad7b77724868..190a446ba6c41a8da7e11b953c8fb2cb8119c412 100644
|
||||
index 11d6c0a2089ff8e95b94ded88ae11360ffd9c01e..73219dc7f1fcb3f7457de513e865385a09ab1914 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
@@ -607,7 +607,7 @@ public final class ItemStack {
|
||||
@@ -608,7 +608,7 @@ public final class ItemStack {
|
||||
int j;
|
||||
|
||||
if (amount > 0) {
|
||||
@@ -66,7 +66,7 @@ index 7db5657885b76885d48d0f231a4aad7b77724868..190a446ba6c41a8da7e11b953c8fb2cb
|
||||
int k = 0;
|
||||
|
||||
for (int l = 0; j > 0 && l < amount; ++l) {
|
||||
@@ -662,6 +662,12 @@ public final class ItemStack {
|
||||
@@ -663,6 +663,12 @@ public final class ItemStack {
|
||||
if (this.hurt(amount, entity.getRandom(), entity /*instanceof ServerPlayer ? (ServerPlayer) entity : null*/)) { // Paper - pass LivingEntity for EntityItemDamageEvent
|
||||
breakCallback.accept(entity);
|
||||
Item item = this.getItem();
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Item entity immunities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
index e921b6db8905a8676a45e36564d877075afb081f..1a4658db86e89d57b0a52923773a0983ff60989c 100644
|
||||
index 37c10d6a392d0400a7024bdd5214eb5e83aa3e82..a0fcbb72947ddb5526da4a4c354cd4c6ee65184c 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
@@ -70,7 +70,7 @@ public class ServerEntity {
|
||||
@@ -18,10 +18,10 @@ index e921b6db8905a8676a45e36564d877075afb081f..1a4658db86e89d57b0a52923773a0983
|
||||
public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer<Packet<?>> consumer, Set<ServerPlayerConnection> trackedPlayers) {
|
||||
this.trackedPlayers = trackedPlayers;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
index 63f8f2dfc2afddcf3c4960d60e65cb8e29507223..7bda44003604b8a0ae8dd571c7f3e79eb42a4822 100644
|
||||
index 80fc7918cb294b0d88a293bd6a920441cb55c3ad..d045877bfb0f364a43c8448cad21cc39d0565964 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -55,6 +55,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -56,6 +56,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
public boolean canMobPickup = true; // Paper
|
||||
private int despawnRate = -1; // Paper
|
||||
public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper
|
||||
@@ -34,7 +34,7 @@ index 63f8f2dfc2afddcf3c4960d60e65cb8e29507223..7bda44003604b8a0ae8dd571c7f3e79e
|
||||
|
||||
public ItemEntity(EntityType<? extends ItemEntity> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -353,6 +359,15 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -358,6 +364,15 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
return false;
|
||||
} else if (!this.getItem().getItem().canBeHurtBy(source)) {
|
||||
return false;
|
||||
@@ -50,9 +50,9 @@ index 63f8f2dfc2afddcf3c4960d60e65cb8e29507223..7bda44003604b8a0ae8dd571c7f3e79e
|
||||
} else if (this.level().isClientSide) {
|
||||
return true;
|
||||
} else {
|
||||
@@ -551,6 +566,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -555,6 +570,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
// com.google.common.base.Preconditions.checkArgument(!stack.isEmpty(), "Cannot drop air"); // CraftBukkit // Paper - Remove check
|
||||
this.getEntityData().set(ItemEntity.DATA_ITEM, stack);
|
||||
this.getEntityData().markDirty(ItemEntity.DATA_ITEM); // CraftBukkit - SPIGOT-4591, must mark dirty
|
||||
this.despawnRate = this.level().paperConfig().entities.spawning.altItemDespawnRate.enabled ? this.level().paperConfig().entities.spawning.altItemDespawnRate.items.getOrDefault(stack.getItem(), this.level().spigotConfig.itemDespawnRate) : this.level().spigotConfig.itemDespawnRate; // Paper
|
||||
+ // Purpur start
|
||||
+ if (level().purpurConfig.itemImmuneToCactus.contains(stack.getItem())) immuneToCactus = true;
|
||||
|
||||
@@ -36,10 +36,10 @@ index 373f3f7643bd3ee49f3b10f9e963b39b28c39894..91df087b49d39b318af85dcbcf2db600
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index ada73c400539f55f7fb6203eb32c58b772dc666f..414156a66c41f6515b7fe27d16546691c14fd52a 100644
|
||||
index 35e3cac34a6a508fbf3971cff9ac07db48ddeaae..8c0ef795691aa17e9522b2deda794bcdf38c64b6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -428,6 +428,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -427,6 +427,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
double d1 = this.level().getWorldBorder().getDamagePerBlock();
|
||||
|
||||
if (d1 > 0.0D) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Totems work in inventory
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 414156a66c41f6515b7fe27d16546691c14fd52a..3b342b2349ba5f1228c8a597d6176060009a4d94 100644
|
||||
index 8c0ef795691aa17e9522b2deda794bcdf38c64b6..6edb9c371d77fa52b08f0eaf738d0cb4b0af86ce 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1600,6 +1600,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1590,6 +1590,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,18 +5,10 @@ Subject: [PATCH] Dispensers place anvils option
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
|
||||
index b4f5dbe9022dd20437c15c4f6fbe2ac06dacbadb..b52a9f05ada86f2d3767dd0d5ba8705e22f105d6 100644
|
||||
index 70aade6a8d36f8376cc567800258ea6fabb0607f..d44fde7e44cc862253fe577eb0753524ab7a39dc 100644
|
||||
--- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
|
||||
+++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
|
||||
@@ -52,6 +52,7 @@ import net.minecraft.world.item.SpawnEggItem;
|
||||
import net.minecraft.world.item.alchemy.PotionUtils;
|
||||
import net.minecraft.world.item.alchemy.Potions;
|
||||
import net.minecraft.world.level.Level;
|
||||
+import net.minecraft.world.level.block.AnvilBlock;
|
||||
import net.minecraft.world.level.block.BaseFireBlock;
|
||||
import net.minecraft.world.level.block.BeehiveBlock;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
@@ -1166,6 +1167,23 @@ public interface DispenseItemBehavior {
|
||||
@@ -1186,6 +1186,23 @@ public interface DispenseItemBehavior {
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -30,7 +22,7 @@ index b4f5dbe9022dd20437c15c4f6fbe2ac06dacbadb..b52a9f05ada86f2d3767dd0d5ba8705e
|
||||
+ BlockPos pos = dispenser.getPos().relative(facing);
|
||||
+ BlockState state = level.getBlockState(pos);
|
||||
+ if (state.isAir()) {
|
||||
+ level.setBlockAndUpdate(pos, Blocks.ANVIL.defaultBlockState().setValue(AnvilBlock.FACING, facing.getAxis() == Direction.Axis.Y ? Direction.NORTH : facing.getClockWise()));
|
||||
+ level.setBlockAndUpdate(pos, Blocks.ANVIL.defaultBlockState().setValue(net.minecraft.world.level.block.AnvilBlock.FACING, facing.getAxis() == Direction.Axis.Y ? Direction.NORTH : facing.getClockWise()));
|
||||
+ stack.shrink(1);
|
||||
+ }
|
||||
+ return stack;
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to disable dolphin treasure searching
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
index 08e9fd3581578195e5df079b086811c5964fd17a..7b2674233d0b8582243448c49d1c47271544d0b8 100644
|
||||
index 0ae0f8cc64578d0c51fb050b8e726e483a17e50f..f7d5ad85eccedd30209e758aa52c24010531ec48 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -481,6 +481,7 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -485,6 +485,7 @@ public class Dolphin extends WaterAnimal {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
|
||||
@@ -19,10 +19,10 @@ index 08beb4c4dfcb0986cdebb4d0cacc25e4e9c17674..e413aa4650297ce2109beb6319f52fb4
|
||||
|
||||
private static <T extends Entity> EntityType<T> register(String id, EntityType.Builder type) { // CraftBukkit - decompile error
|
||||
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 da14c848694c7fa86ea3af082d39e11234fb57c6..92c28c7cdfc987afc5f5281a77f218fdfab441b0 100644
|
||||
index 41eafe7e8e2b73d97152376ce482c39d747c97f3..fef88df5d11943b5e8b1234678ede7a9e36205ff 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -429,6 +429,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -433,6 +433,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
return false;
|
||||
} else if (getRider() != null && this.isControllable()) { return super.hurt(source, amount); // Purpur - no teleporting on damage
|
||||
@@ -31,7 +31,7 @@ index da14c848694c7fa86ea3af082d39e11234fb57c6..92c28c7cdfc987afc5f5281a77f218fd
|
||||
boolean flag = source.getDirectEntity() instanceof ThrownPotion;
|
||||
boolean flag1;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index e829e215d1fe80cdaf9162268011912081f4c5ee..db4c85cae58805cfa2a460e33a13e85abc8e593d 100644
|
||||
index 17270d303cc41822ca4073ea0bb23c05b0409121..59a338d430602a651db8b576538b9c8417979d4d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -244,6 +244,12 @@ public class PurpurConfig {
|
||||
|
||||
@@ -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 03811b4dca610cf0fa3dc6ca0cc7f47d6f8b77ee..59f0880a4ccdea2f0c95e0411bf149d76e866678 100644
|
||||
index 7f3fafff2b13f4bc544147d3157d66786c4d895c..36b375a67b1bc9baa4f3cef8e63bd9f6448f1335 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4372,6 +4372,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4355,6 +4355,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.yRotO = this.getYRot();
|
||||
}
|
||||
|
||||
@@ -22,10 +22,10 @@ index 03811b4dca610cf0fa3dc6ca0cc7f47d6f8b77ee..59f0880a4ccdea2f0c95e0411bf149d7
|
||||
if (false && this.touchingUnloadedChunk()) { // Pufferfish - cost of a lookup here is the same cost as below, so skip
|
||||
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 42ca9df0735b4f928fbbf1e695d1756f77be52fc..de0a015cc944c36358fc34a3142ecbf9d2a332b5 100644
|
||||
index 913b66be2111da862e706d4978825c64cfe8b00b..f68c18b6645981126329b58379946308bbb8ccf8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
@@ -77,6 +77,12 @@ public class Squid extends WaterAnimal {
|
||||
@@ -75,6 +75,12 @@ public class Squid extends WaterAnimal {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.squidMaxHealth);
|
||||
}
|
||||
|
||||
|
||||
@@ -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 59f0880a4ccdea2f0c95e0411bf149d76e866678..625cee30e80123d502851bbfb30c89903c2d0fbb 100644
|
||||
index 36b375a67b1bc9baa4f3cef8e63bd9f6448f1335..7884f5ef86fc560349689ae5f034799f50ad811b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3079,7 +3079,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3062,7 +3062,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
public void handleInsidePortal(BlockPos pos) {
|
||||
if (this.isOnPortalCooldown()) {
|
||||
this.setPortalCooldown();
|
||||
@@ -17,7 +17,7 @@ index 59f0880a4ccdea2f0c95e0411bf149d76e866678..625cee30e80123d502851bbfb30c8990
|
||||
if (!this.level().isClientSide && !pos.equals(this.portalEntrancePos)) {
|
||||
this.portalEntrancePos = pos.immutable();
|
||||
}
|
||||
@@ -3775,7 +3775,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3758,7 +3758,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
public boolean canChangeDimensions() {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity#broadcastItemBreak
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 859ed524f3836320a078cb3e987753d40da77170..a26a622a4782b2f1227ffac215561c86e6c1b0cb 100644
|
||||
index c4e94cea3d97d4da342123e10e62ac61a74957f1..3e261a1617ff9e0d2f4745769f819292d19200c4 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -1083,5 +1083,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -1110,5 +1110,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
public void setSafeFallDistance(float safeFallDistance) {
|
||||
getHandle().safeFallDistance = safeFallDistance;
|
||||
}
|
||||
|
||||
@@ -21,10 +21,10 @@ index 730958dab7f074930cdccb88a89aa26e2b6a112b..b1ba0f24dd6f1ec4c60208564e4eb84b
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
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 de0a015cc944c36358fc34a3142ecbf9d2a332b5..1431d7f295614641c1a5a5197f4bac3fd0cd9d71 100644
|
||||
index f68c18b6645981126329b58379946308bbb8ccf8..80bdc93cba675d6c1286618f14fc33e0344c601f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
@@ -83,6 +83,15 @@ public class Squid extends WaterAnimal {
|
||||
@@ -81,6 +81,15 @@ public class Squid extends WaterAnimal {
|
||||
return super.getAxisForFluidCheck().offsetY(level().purpurConfig.squidOffsetWaterCheck);
|
||||
}
|
||||
|
||||
@@ -40,23 +40,23 @@ index de0a015cc944c36358fc34a3142ecbf9d2a332b5..1431d7f295614641c1a5a5197f4bac3f
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
|
||||
@@ -155,6 +164,7 @@ public class Squid extends WaterAnimal {
|
||||
@@ -153,6 +162,7 @@ public class Squid extends WaterAnimal {
|
||||
}
|
||||
|
||||
if (this.isInWaterOrBubble()) {
|
||||
+ if (canFly()) setNoGravity(!wasTouchingWater); // Purpur
|
||||
if (this.tentacleMovement < 3.1415927F) {
|
||||
float f = this.tentacleMovement / 3.1415927F;
|
||||
|
||||
@@ -314,7 +324,7 @@ public class Squid extends WaterAnimal {
|
||||
|
||||
if (this.tentacleMovement < (float)Math.PI) {
|
||||
float f = this.tentacleMovement / (float)Math.PI;
|
||||
this.tentacleAngle = Mth.sin(f * f * (float)Math.PI) * (float)Math.PI * 0.25F;
|
||||
@@ -366,7 +376,7 @@ public class Squid extends WaterAnimal {
|
||||
int i = this.squid.getNoActionTime();
|
||||
if (i > 100) {
|
||||
this.squid.setMovementVector(0.0F, 0.0F, 0.0F);
|
||||
- } else if (this.squid.getRandom().nextInt(reducedTickDelay(50)) == 0 || !this.squid.wasTouchingWater || !this.squid.hasMovementVector()) {
|
||||
+ } else if (this.squid.getRandom().nextInt(reducedTickDelay(50)) == 0 || !this.squid.isInWater() || !this.squid.hasMovementVector()) { // Purpur
|
||||
float f = this.squid.getRandom().nextFloat() * 6.2831855F;
|
||||
float f1 = Mth.cos(f) * 0.2F;
|
||||
float f2 = -0.1F + this.squid.getRandom().nextFloat() * 0.2F;
|
||||
float f = this.squid.getRandom().nextFloat() * ((float)Math.PI * 2F);
|
||||
float g = Mth.cos(f) * 0.2F;
|
||||
float h = -0.1F + this.squid.getRandom().nextFloat() * 0.2F;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3dad224fe58084b7b37863d44f25aa206bc632c6..1e218cf6b6675cb606c7832e90bcd952ce97db3a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Ability to re-add farmland mechanics from Alpha
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
index d446b440e2bc5b73362fc3d30a10d2e52fde68e1..d4e3a32a0f9b49bff64cb43d77727ce3cae95f09 100644
|
||||
index 1776906e886edd511bfbe96b8a345438a3cd66f8..7efae60a9a9269703a1fa7cd280b5b96557ec73e 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
@@ -115,6 +115,14 @@ public class FarmBlock extends Block {
|
||||
@@ -20,7 +20,7 @@ index d446b440e2bc5b73362fc3d30a10d2e52fde68e1..d4e3a32a0f9b49bff64cb43d77727ce3
|
||||
+ }
|
||||
+ }
|
||||
+ // Purpur end
|
||||
if (CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState()).isCancelled()) {
|
||||
if (!CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState())) {
|
||||
return;
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add adjustable breeding cooldown to config
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Animal.java b/src/main/java/net/minecraft/world/entity/animal/Animal.java
|
||||
index 1430f598073aab7387cf5985a7b3a84d3f53548c..9f6728184dffc4b5a93900ac6e8411f967eed26d 100644
|
||||
index c2f61ed153260692c96af4f20bc5b7d55cbbc380..43f01ce3064fdc0bb46beab6ea001942f1506200 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Animal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java
|
||||
@@ -151,7 +151,7 @@ public abstract class Animal extends AgeableMob {
|
||||
@@ -154,7 +154,7 @@ public abstract class Animal extends AgeableMob {
|
||||
if (this.isFood(itemstack)) {
|
||||
int i = this.getAge();
|
||||
|
||||
@@ -17,7 +17,7 @@ index 1430f598073aab7387cf5985a7b3a84d3f53548c..9f6728184dffc4b5a93900ac6e8411f9
|
||||
this.usePlayerItem(player, hand, itemstack);
|
||||
this.setInLove(player);
|
||||
return InteractionResult.SUCCESS;
|
||||
@@ -233,12 +233,20 @@ public abstract class Animal extends AgeableMob {
|
||||
@@ -236,12 +236,20 @@ public abstract class Animal extends AgeableMob {
|
||||
AgeableMob entityageable = this.getBreedOffspring(world, other);
|
||||
|
||||
if (entityageable != null) {
|
||||
@@ -39,7 +39,7 @@ index 1430f598073aab7387cf5985a7b3a84d3f53548c..9f6728184dffc4b5a93900ac6e8411f9
|
||||
+ // CraftBukkit start - call EntityBreedEvent
|
||||
+ // Purpur end
|
||||
int experience = this.getRandom().nextInt(7) + 1;
|
||||
org.bukkit.event.entity.EntityBreedEvent entityBreedEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityageable, this, other, breeder, this.breedItem, experience);
|
||||
EntityBreedEvent entityBreedEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityageable, this, other, breeder, this.breedItem, experience);
|
||||
if (entityBreedEvent.isCancelled()) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 6b661982b217ae120d72ede3e19e82fbd3ebb69e..290d9fbeb71675d897b78d5c2b98ab477ce9f5fd 100644
|
||||
|
||||
@@ -5,27 +5,27 @@ Subject: [PATCH] Make entity breeding times configurable
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java
|
||||
index 0951c04533e7c39b969d041271684355770b53c2..02d4ba2ccdce99ca97614baa7c8e49213126af96 100644
|
||||
index 645d204fe2c727637a6a547aad7d4db1279628ae..8be2f612c9e8a64b0aad6bb54450cdfb12b3c19e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/VillagerMakeLove.java
|
||||
@@ -123,8 +123,10 @@ public class VillagerMakeLove extends Behavior<Villager> {
|
||||
@@ -127,8 +127,10 @@ public class VillagerMakeLove extends Behavior<Villager> {
|
||||
return Optional.empty();
|
||||
}
|
||||
// CraftBukkit end
|
||||
// Move age setting down
|
||||
- parent.setAge(6000);
|
||||
- partner.setAge(6000);
|
||||
+ // Purpur start
|
||||
+ parent.setAge(world.purpurConfig.villagerBreedingTicks);
|
||||
+ partner.setAge(world.purpurConfig.villagerBreedingTicks);
|
||||
+ // Purpur end
|
||||
world.addFreshEntityWithPassengers(entityvillager2, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
|
||||
world.addFreshEntityWithPassengers(entityvillager2, CreatureSpawnEvent.SpawnReason.BREEDING);
|
||||
// CraftBukkit end
|
||||
world.broadcastEntityEvent(entityvillager2, (byte) 12);
|
||||
return Optional.of(entityvillager2);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Animal.java b/src/main/java/net/minecraft/world/entity/animal/Animal.java
|
||||
index 9f6728184dffc4b5a93900ac6e8411f967eed26d..15feb1baed21b2ed3fb90d68aa9b2b97aa664b15 100644
|
||||
index 43f01ce3064fdc0bb46beab6ea001942f1506200..8773b1072016a3bbf025959e9ab827704ec17fc6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Animal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java
|
||||
@@ -40,6 +40,7 @@ public abstract class Animal extends AgeableMob {
|
||||
@@ -42,6 +42,7 @@ public abstract class Animal extends AgeableMob {
|
||||
@Nullable
|
||||
public UUID loveCause;
|
||||
public ItemStack breedItem; // CraftBukkit - Add breedItem variable
|
||||
@@ -33,7 +33,7 @@ index 9f6728184dffc4b5a93900ac6e8411f967eed26d..15feb1baed21b2ed3fb90d68aa9b2b97
|
||||
|
||||
protected Animal(EntityType<? extends Animal> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -274,8 +275,10 @@ public abstract class Animal extends AgeableMob {
|
||||
@@ -277,8 +278,10 @@ public abstract class Animal extends AgeableMob {
|
||||
entityplayer.awardStat(Stats.ANIMALS_BRED);
|
||||
CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer, this, entityanimal, entityageable);
|
||||
} // Paper
|
||||
@@ -47,10 +47,10 @@ index 9f6728184dffc4b5a93900ac6e8411f967eed26d..15feb1baed21b2ed3fb90d68aa9b2b97
|
||||
entityanimal.resetLove();
|
||||
worldserver.broadcastEntityEvent(this, (byte) 18);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
index aaf6f76cefc71f714bc9aeddc22149110ee76197..944497d617f3c6474e51fa8146dd9f0c407b1b48 100644
|
||||
index e7f95639a442cf602fef0ed7aec0f5f96aa6fd92..fd917f72b4b4d4af1ae36feab38deac2657c95d4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -471,6 +471,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -476,6 +476,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.beeMaxHealth);
|
||||
}
|
||||
|
||||
@@ -95,10 +95,10 @@ index 0f49705e3c7adf033cee9d0746319885c830224f..86b910cbb8d0e19dc9ae53078e730495
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index b94ec05ffa0a6f9e7368731d360319ffe1b10e3f..371cab208ee0a31a90248272f88249eceaf9eb59 100644
|
||||
index 28c7e240b7dd1957ccb6a45608b1d052a32dc18a..f9cce30eef4a5bffeb27c48a6c7ee361803560c5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -65,6 +65,11 @@ public class Cow extends Animal {
|
||||
@@ -66,6 +66,11 @@ public class Cow extends Animal {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.cowMaxHealth);
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ index b94ec05ffa0a6f9e7368731d360319ffe1b10e3f..371cab208ee0a31a90248272f88249ec
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
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 7e191d8bb56d0b6591b3a60dfe07004d025eedfa..989dc460d8a21b8e54ff4464998c2b02a6a9dd37 100644
|
||||
index cedc4dac776dde310dbf1a22272ce54b14ca2c9e..2cf00af66b73e1891fadcabcf83307873cbed710 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -186,6 +186,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -156,7 +156,7 @@ index b27c0f21354a78025f9d1664c560fb8799bced91..7fd50f60aab2fa49a8227f313352a2ee
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader world) {
|
||||
return world.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : world.getPathfindingCostFromLightLevels(pos);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
index e67c8756455d1388069dc41e8d968800b631be4e..e2f59c296d4f839983071da319b19e4e175a88fd 100644
|
||||
index 20da70182312f4c30e21528add44540ea2b60e42..11c1bebcf6751e4b2ce9b1f5d53ad0a54d7f0be9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
@@ -90,6 +90,11 @@ public class Ocelot extends Animal {
|
||||
@@ -172,10 +172,10 @@ index e67c8756455d1388069dc41e8d968800b631be4e..e2f59c296d4f839983071da319b19e4e
|
||||
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
index b475b278dcedef881b8612f615a057719e3466be..68e94b94dd89c2b3fc546819c7a221a3b6706005 100644
|
||||
index 81f502b19cfcfcd39f3d3b5754b6bce9c2645ccb..7052601a8a4253459c552c2d721c90f3fb36de10 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -140,6 +140,11 @@ public class Panda extends Animal {
|
||||
@@ -143,6 +143,11 @@ public class Panda extends Animal {
|
||||
setAttributes();
|
||||
}
|
||||
|
||||
@@ -188,7 +188,7 @@ index b475b278dcedef881b8612f615a057719e3466be..68e94b94dd89c2b3fc546819c7a221a3
|
||||
public boolean canTakeItem(ItemStack stack) {
|
||||
EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
index 361299312e883ca8377790fba5a89227e1c8b82f..280d20c3380ca244f0587b2c6811b5facd494ba6 100644
|
||||
index 1e0d8d276ef5eb2cc11a1effb5808de7f8f211d5..8b349259676ab8c891bf019c93ea62f7a84c4866 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -196,6 +196,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
@@ -236,21 +236,21 @@ index b2cf680e377f849a7cc17136ebca3cf33e34048c..0df9900ecf211f3a0bcfab6daa931fdd
|
||||
@Override
|
||||
public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) {
|
||||
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 2f373666e982a8c4e769168b565ca26e75fe59e9..5443affd9dd8d27e32768c2df5a624b5cd7b1bec 100644
|
||||
index c64673adcf168b413ab3b9b796f5179081058e6d..6b07750c2bd2aa828f3a0a1ccf30520723f5d62b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -142,6 +142,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.rabbitMaxHealth);
|
||||
}
|
||||
|
||||
+
|
||||
+ @Override
|
||||
+ public int getPurpurBreedTime() {
|
||||
+ return this.level().purpurConfig.rabbitBreedingTicks;
|
||||
+ }
|
||||
+
|
||||
// CraftBukkit start - code from constructor
|
||||
public void initializePathFinderGoals(){
|
||||
this.setSpeedModifier(0.0D);
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
index 3d212b09258b9777079d4bc7ce950f529cdce69e..c3b79c109e895cb4460571c8816b210455126f1d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
@@ -268,7 +268,7 @@ index 3d212b09258b9777079d4bc7ce950f529cdce69e..c3b79c109e895cb4460571c8816b2104
|
||||
protected void registerGoals() {
|
||||
this.eatBlockGoal = new EatBlockGoal(this);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
index 9aa764686433ad8d58191f96ab22d30154058af7..cded4a8baa6815f9d6a3107173f9654136d5943a 100644
|
||||
index 6ae82b6293f236fc926f411de2badc496b35399b..4a5cc7eaac2bc093a0f5a457b93b6f4560d739ca 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -105,6 +105,11 @@ public class Turtle extends Animal {
|
||||
@@ -284,10 +284,10 @@ index 9aa764686433ad8d58191f96ab22d30154058af7..cded4a8baa6815f9d6a3107173f96541
|
||||
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
|
||||
}
|
||||
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 c9ad084ce93eb618261221c7e19450c06fb8a5f5..074f1860e755348a5a3a8e9df383896656cee9af 100644
|
||||
index 1a27e811169a58515c796344ffa1bb3c46d1014a..d8c73365915e67b38292c96a9601f983f121bdf9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -129,6 +129,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -130,6 +130,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.wolfMaxHealth);
|
||||
}
|
||||
|
||||
@@ -346,10 +346,10 @@ index f189e0493286d58fbe16a30912b3a1dc4cd4c3e5..840b61241c44e92b3053157492f4389f
|
||||
protected Brain.Provider<Frog> brainProvider() {
|
||||
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
index 1d9e2c93fa08d6f2f16b81021477294a6de3ce04..046a6cc61a9b823fe736bdfb15a338f8502f17f9 100644
|
||||
index ec956339b02fc9da53563d67c0eeaa91a3c3a8ee..d7580f06f2f619cb283faa61bdd4e7cc127fc08b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -106,6 +106,11 @@ public class Goat extends Animal {
|
||||
@@ -107,6 +107,11 @@ public class Goat extends Animal {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -394,7 +394,7 @@ index 92339f5a07dcb6bf7eb1bce6d584464ebd8430b5..0251ded48eb5bdf96f0e67f6456aa159
|
||||
protected void randomizeAttributes(RandomSource random) {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index 071089e3ec438c323ea715e74911df4a465a7017..5f7e564154bccd1329ad1966a8ce388282107183 100644
|
||||
index 72fe2dd69a9ae51e14ec91a83eac2dd74bd76cca..ad9d061979f5856cba9769b91357b3c75cd9a794 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -138,6 +138,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
|
||||
@@ -8,10 +8,10 @@ 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 92c28c7cdfc987afc5f5281a77f218fdfab441b0..1ff3c526ed34cbece3321de67aa90137f4380133 100644
|
||||
index fef88df5d11943b5e8b1234678ede7a9e36205ff..306ea8ef2c51f6815691865739696b3e78f7a987 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -490,7 +490,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -494,7 +494,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
@Override
|
||||
public boolean requiresCustomPersistence() {
|
||||
|
||||
@@ -8,10 +8,10 @@ farm Nether Wart. Reimplemented based on a feature of the carpet-extra
|
||||
mod.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java b/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
||||
index 5bb3db5e1f47ef56ef40c84f06a1c5ae59f84c89..f9665eaade08b6ac4f728a65acba025e783dbd08 100644
|
||||
index b7abd8309a7d9744d3b3df9be8cad54f8909cc15..46a7cd845682d54e178e7e6573bfe855a54b78a9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
||||
@@ -39,6 +39,7 @@ public class HarvestFarmland extends Behavior<Villager> {
|
||||
@@ -40,6 +40,7 @@ public class HarvestFarmland extends Behavior<Villager> {
|
||||
private long nextOkStartTime;
|
||||
private int timeWorkedSoFar;
|
||||
private final List<BlockPos> validFarmlandAroundVillager = Lists.newArrayList();
|
||||
@@ -19,7 +19,7 @@ index 5bb3db5e1f47ef56ef40c84f06a1c5ae59f84c89..f9665eaade08b6ac4f728a65acba025e
|
||||
|
||||
public HarvestFarmland() {
|
||||
super(ImmutableMap.of(MemoryModuleType.LOOK_TARGET, MemoryStatus.VALUE_ABSENT, MemoryModuleType.WALK_TARGET, MemoryStatus.VALUE_ABSENT, MemoryModuleType.SECONDARY_JOB_SITE, MemoryStatus.VALUE_PRESENT));
|
||||
@@ -47,9 +48,10 @@ public class HarvestFarmland extends Behavior<Villager> {
|
||||
@@ -48,9 +49,10 @@ public class HarvestFarmland extends Behavior<Villager> {
|
||||
protected boolean checkExtraStartConditions(ServerLevel world, Villager entity) {
|
||||
if (!world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) {
|
||||
return false;
|
||||
@@ -31,7 +31,7 @@ index 5bb3db5e1f47ef56ef40c84f06a1c5ae59f84c89..f9665eaade08b6ac4f728a65acba025e
|
||||
BlockPos.MutableBlockPos blockposition_mutableblockposition = entity.blockPosition().mutable();
|
||||
|
||||
this.validFarmlandAroundVillager.clear();
|
||||
@@ -80,6 +82,7 @@ public class HarvestFarmland extends Behavior<Villager> {
|
||||
@@ -81,6 +83,7 @@ public class HarvestFarmland extends Behavior<Villager> {
|
||||
Block block = iblockdata.getBlock();
|
||||
Block block1 = world.getBlockState(pos.below()).getBlock();
|
||||
|
||||
@@ -39,17 +39,15 @@ index 5bb3db5e1f47ef56ef40c84f06a1c5ae59f84c89..f9665eaade08b6ac4f728a65acba025e
|
||||
return block instanceof CropBlock && ((CropBlock) block).isMaxAge(iblockdata) || iblockdata.isAir() && block1 instanceof FarmBlock;
|
||||
}
|
||||
|
||||
@@ -105,7 +108,7 @@ public class HarvestFarmland extends Behavior<Villager> {
|
||||
@@ -106,20 +109,20 @@ public class HarvestFarmland extends Behavior<Villager> {
|
||||
Block block = iblockdata.getBlock();
|
||||
Block block1 = world.getBlockState(this.aboveFarmlandPos.below()).getBlock();
|
||||
|
||||
- if (block instanceof CropBlock && ((CropBlock) block).isMaxAge(iblockdata)) {
|
||||
+ if (block instanceof CropBlock && ((CropBlock) block).isMaxAge(iblockdata) && !this.clericWartFarmer || this.clericWartFarmer && block == Blocks.NETHER_WART && iblockdata.getValue(net.minecraft.world.level.block.NetherWartBlock.AGE) == 3) { // Purpur
|
||||
// CraftBukkit start
|
||||
if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(entity, this.aboveFarmlandPos, Blocks.AIR.defaultBlockState()).isCancelled()) {
|
||||
world.destroyBlock(this.aboveFarmlandPos, true, entity);
|
||||
@@ -113,14 +116,14 @@ public class HarvestFarmland extends Behavior<Villager> {
|
||||
// CraftBukkit end
|
||||
if (CraftEventFactory.callEntityChangeBlockEvent(entity, this.aboveFarmlandPos, Blocks.AIR.defaultBlockState())) { // CraftBukkit
|
||||
world.destroyBlock(this.aboveFarmlandPos, true, entity);
|
||||
} // CraftBukkit
|
||||
}
|
||||
|
||||
- if (iblockdata.isAir() && block1 instanceof FarmBlock && entity.hasFarmSeeds()) {
|
||||
@@ -65,7 +63,7 @@ index 5bb3db5e1f47ef56ef40c84f06a1c5ae59f84c89..f9665eaade08b6ac4f728a65acba025e
|
||||
Item item = itemstack.getItem();
|
||||
|
||||
if (item instanceof BlockItem) {
|
||||
@@ -138,7 +141,7 @@ public class HarvestFarmland extends Behavior<Villager> {
|
||||
@@ -135,7 +138,7 @@ public class HarvestFarmland extends Behavior<Villager> {
|
||||
}
|
||||
|
||||
if (flag) {
|
||||
|
||||
@@ -7,7 +7,7 @@ Configurable chance to spawn a wolf that is rabid.
|
||||
Rabid wolves attack all players, mobs, and animals.
|
||||
|
||||
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 074f1860e755348a5a3a8e9df383896656cee9af..aa484d03ed31f6c60c0b4456a4047bc38a40ea4a 100644
|
||||
index d8c73365915e67b38292c96a9601f983f121bdf9..f39b278bc520a4785e9fa472bccd836ad1daac85 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -10,6 +10,7 @@ import net.minecraft.network.syncher.EntityDataAccessor;
|
||||
@@ -55,7 +55,7 @@ index 074f1860e755348a5a3a8e9df383896656cee9af..aa484d03ed31f6c60c0b4456a4047bc3
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.gameevent.GameEvent;
|
||||
import net.minecraft.world.level.pathfinder.BlockPathTypes;
|
||||
@@ -83,6 +90,37 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -84,6 +91,37 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
|
||||
return entitytypes == EntityType.SHEEP || entitytypes == EntityType.RABBIT || entitytypes == EntityType.FOX;
|
||||
};
|
||||
@@ -93,7 +93,7 @@ index 074f1860e755348a5a3a8e9df383896656cee9af..aa484d03ed31f6c60c0b4456a4047bc3
|
||||
private static final float START_HEALTH = 8.0F;
|
||||
private static final float TAME_HEALTH = 20.0F;
|
||||
private float interestedAngle;
|
||||
@@ -134,6 +172,37 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -135,6 +173,37 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
return this.level().purpurConfig.wolfBreedingTicks;
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ index 074f1860e755348a5a3a8e9df383896656cee9af..aa484d03ed31f6c60c0b4456a4047bc3
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
@@ -141,6 +210,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -142,6 +211,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
this.goalSelector.addGoal(1, new Wolf.WolfPanicGoal(1.5D));
|
||||
this.goalSelector.addGoal(2, new SitWhenOrderedToGoal(this));
|
||||
this.goalSelector.addGoal(3, new Wolf.WolfAvoidEntityGoal<>(this, Llama.class, 24.0F, 1.5D, 1.5D));
|
||||
@@ -139,7 +139,7 @@ index 074f1860e755348a5a3a8e9df383896656cee9af..aa484d03ed31f6c60c0b4456a4047bc3
|
||||
this.goalSelector.addGoal(4, new LeapAtTargetGoal(this, 0.4F));
|
||||
this.goalSelector.addGoal(5, new MeleeAttackGoal(this, 1.0D, true));
|
||||
this.goalSelector.addGoal(6, new FollowOwnerGoal(this, 1.0D, 10.0F, 2.0F, false));
|
||||
@@ -154,7 +224,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -155,7 +225,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this));
|
||||
this.targetSelector.addGoal(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers());
|
||||
this.targetSelector.addGoal(4, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::isAngryAt));
|
||||
@@ -148,7 +148,7 @@ index 074f1860e755348a5a3a8e9df383896656cee9af..aa484d03ed31f6c60c0b4456a4047bc3
|
||||
this.targetSelector.addGoal(6, new NonTameRandomTargetGoal<>(this, Turtle.class, false, Turtle.BABY_ON_LAND_SELECTOR));
|
||||
this.targetSelector.addGoal(7, new NearestAttackableTargetGoal<>(this, AbstractSkeleton.class, false));
|
||||
this.targetSelector.addGoal(8, new ResetUniversalAngerTargetGoal<>(this, true));
|
||||
@@ -199,6 +269,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -182,6 +252,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
public void addAdditionalSaveData(CompoundTag nbt) {
|
||||
super.addAdditionalSaveData(nbt);
|
||||
nbt.putByte("CollarColor", (byte) this.getCollarColor().getId());
|
||||
@@ -156,7 +156,7 @@ index 074f1860e755348a5a3a8e9df383896656cee9af..aa484d03ed31f6c60c0b4456a4047bc3
|
||||
this.addPersistentAngerSaveData(nbt);
|
||||
}
|
||||
|
||||
@@ -208,6 +279,10 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -191,6 +262,10 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
if (nbt.contains("CollarColor", 99)) {
|
||||
this.setCollarColor(DyeColor.byId(nbt.getInt("CollarColor")));
|
||||
}
|
||||
@@ -167,7 +167,7 @@ index 074f1860e755348a5a3a8e9df383896656cee9af..aa484d03ed31f6c60c0b4456a4047bc3
|
||||
|
||||
this.readPersistentAngerSaveData(this.level(), nbt);
|
||||
}
|
||||
@@ -252,6 +327,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -235,6 +310,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
public void tick() {
|
||||
super.tick();
|
||||
if (this.isAlive()) {
|
||||
@@ -179,7 +179,7 @@ index 074f1860e755348a5a3a8e9df383896656cee9af..aa484d03ed31f6c60c0b4456a4047bc3
|
||||
this.interestedAngleO = this.interestedAngle;
|
||||
if (this.isInterested()) {
|
||||
this.interestedAngle += (1.0F - this.interestedAngle) * 0.4F;
|
||||
@@ -463,6 +543,19 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -450,6 +530,19 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
}
|
||||
|
||||
return InteractionResult.SUCCESS;
|
||||
|
||||
@@ -26,10 +26,10 @@ index ffa2128b63e5e45c2a41e31a6b8b6e8df0bf9be4..956f125c9ae62537570bb9870be66872
|
||||
@Override
|
||||
public Cat getBreedOffspring(ServerLevel world, AgeableMob entity) {
|
||||
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 aa484d03ed31f6c60c0b4456a4047bc38a40ea4a..89627025c0b5464900a5ea818c7aaf5d676f7a5f 100644
|
||||
index f39b278bc520a4785e9fa472bccd836ad1daac85..8d71d0ad4bf8e0df8ded9ebce6f39e66dd632bb5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -203,6 +203,12 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -204,6 +204,12 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
return super.finalizeSpawn(world, difficulty, type, data, nbt);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ 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 3b342b2349ba5f1228c8a597d6176060009a4d94..1b4b1bd79fa4aa9f1dcd4e2833c3897952e7d0de 100644
|
||||
index 6edb9c371d77fa52b08f0eaf738d0cb4b0af86ce..04b98c7c738682f5c1da27a6873a814eaca5d14b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1778,7 +1778,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1768,7 +1768,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
boolean flag = false;
|
||||
|
||||
if (this.dead && adversary instanceof WitherBoss) { // Paper
|
||||
@@ -31,10 +31,10 @@ index 4e5a261ccb7fb63b82ac7194598729fd60a20840..d24f94f2c27523af10184cae27157169
|
||||
List<ItemEntity> list = this.level().getEntitiesOfClass(ItemEntity.class, this.getBoundingBox().inflate((double) baseblockposition.getX(), (double) baseblockposition.getY(), (double) baseblockposition.getZ()));
|
||||
Iterator iterator = list.iterator();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java b/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
||||
index f9665eaade08b6ac4f728a65acba025e783dbd08..5a807bce1db30cfc753caa588cd0ef632881d0dd 100644
|
||||
index 46a7cd845682d54e178e7e6573bfe855a54b78a9..9434d63cd80fec0aa4b6448c1ce462e2d9d56f0a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/HarvestFarmland.java
|
||||
@@ -46,7 +46,7 @@ public class HarvestFarmland extends Behavior<Villager> {
|
||||
@@ -47,7 +47,7 @@ public class HarvestFarmland extends Behavior<Villager> {
|
||||
}
|
||||
|
||||
protected boolean checkExtraStartConditions(ServerLevel world, Villager entity) {
|
||||
@@ -57,29 +57,29 @@ index 4253b3b1263a7ae5a2f5f3a34674dfea615a81ea..a987c94fd321f51241c405659d6a0b23
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java
|
||||
index abf796c3369da6b73c8587dfc05f56d0b8933fde..95dc62687d10e5c6f54baadda4a725094c52c07f 100644
|
||||
index 77542bbdfdc2bf0ec1527ad8551493e1d89da40c..865c6d91b854e3afc2482dab3b041856bafbb1e6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/EatBlockGoal.java
|
||||
@@ -69,7 +69,7 @@ public class EatBlockGoal extends Goal {
|
||||
@@ -68,7 +68,7 @@ public class EatBlockGoal extends Goal {
|
||||
BlockPos blockposition = this.mob.blockPosition();
|
||||
|
||||
if (EatBlockGoal.IS_TALL_GRASS.test(this.level.getBlockState(blockposition))) {
|
||||
// CraftBukkit
|
||||
- if (!CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockposition, Blocks.AIR.defaultBlockState(), !this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)).isCancelled()) {
|
||||
+ if (!CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockposition, Blocks.AIR.defaultBlockState(), !this.level.purpurConfig.sheepBypassMobGriefing && !this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)).isCancelled()) { // Purpur
|
||||
- if (CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockposition, Blocks.AIR.defaultBlockState(), !this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) { // CraftBukkit
|
||||
+ if (CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockposition, Blocks.AIR.defaultBlockState(), !this.level.purpurConfig.sheepBypassMobGriefing && !this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) { // CraftBukkit // Purpur
|
||||
this.level.destroyBlock(blockposition, false);
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ public class EatBlockGoal extends Goal {
|
||||
@@ -77,7 +77,7 @@ public class EatBlockGoal extends Goal {
|
||||
BlockPos blockposition1 = blockposition.below();
|
||||
|
||||
if (this.level.getBlockState(blockposition1).is(Blocks.GRASS_BLOCK)) {
|
||||
// CraftBukkit
|
||||
- if (!CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockposition1, Blocks.DIRT.defaultBlockState(), !this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)).isCancelled()) { // Paper - Fix wrong block state
|
||||
+ if (!CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockposition1, Blocks.DIRT.defaultBlockState(), !this.level.purpurConfig.sheepBypassMobGriefing && !this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)).isCancelled()) { // Paper - Fix wrong block state // Purpur
|
||||
- if (CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockposition1, Blocks.DIRT.defaultBlockState(), !this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) { // CraftBukkit // Paper - Fix wrong block state
|
||||
+ if (CraftEventFactory.callEntityChangeBlockEvent(this.mob, blockposition1, Blocks.DIRT.defaultBlockState(), !this.level.purpurConfig.sheepBypassMobGriefing && !this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) { // CraftBukkit // Paper - Fix wrong block state // Purpur
|
||||
this.level.levelEvent(2001, blockposition1, Block.getId(Blocks.GRASS_BLOCK.defaultBlockState()));
|
||||
this.level.setBlock(blockposition1, Blocks.DIRT.defaultBlockState(), 2);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java
|
||||
index 0035461aff86fa3f44c860e7d77589b974446048..8c08457b5a9ade9b602851c9a12b015e1b4b5a36 100644
|
||||
index 509317a26c79f453335df1c19dc4c9ec570046af..8e4d673e4f2d7f50ea5ed13794da08b1d20e6665 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/RemoveBlockGoal.java
|
||||
@@ -40,7 +40,7 @@ public class RemoveBlockGoal extends MoveToBlockGoal {
|
||||
@@ -92,7 +92,7 @@ index 0035461aff86fa3f44c860e7d77589b974446048..8c08457b5a9ade9b602851c9a12b015e
|
||||
} 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 989dc460d8a21b8e54ff4464998c2b02a6a9dd37..aa190c36d32aef0413e6bf89621fa9b42be16d82 100644
|
||||
index 2cf00af66b73e1891fadcabcf83307873cbed710..2a6f6753ce9b7ab899256edc181a92c19021822b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -1377,7 +1377,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -105,10 +105,10 @@ index 989dc460d8a21b8e54ff4464998c2b02a6a9dd37..aa190c36d32aef0413e6bf89621fa9b4
|
||||
|
||||
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 5443affd9dd8d27e32768c2df5a624b5cd7b1bec..e66a3860e4a14a5a50e95eb53ff67e8d6e6f0db7 100644
|
||||
index 6b07750c2bd2aa828f3a0a1ccf30520723f5d62b..c08b854da55a7b06147b627955cd1f94ccc65325 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -637,7 +637,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@@ -633,7 +633,7 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
if (this.nextStartTick <= 0) {
|
||||
@@ -118,7 +118,7 @@ index 5443affd9dd8d27e32768c2df5a624b5cd7b1bec..e66a3860e4a14a5a50e95eb53ff67e8d
|
||||
}
|
||||
|
||||
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 ecc0f221fca332b6f4d8feb72dbafc52e1002a23..dc6b0446336b8d689f8273c9ffe1d3c27cf1281a 100644
|
||||
index d3da7487f911ff791dca5f7b546dccda751fe44c..84e0a41620fd52af0cd22dc92fd13ee4efd206fb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -127,7 +127,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -144,7 +144,7 @@ index 81cf89bc57af0f43d05ba93256255155bf0c4d53..2b0aac1e4291549efa6391cb3b414921
|
||||
// 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 a78755905acdf1d942ad7e6f5df3ab3fc34ad551..a23d3bb3011f6cf19e0198aac1e3e448c1a73a13 100644
|
||||
index 0b33ddf80381c312d02d93e31c9513e3c5214aed..9fb3fffd53f37b06811de6907a71e9fd9f4eb2b8 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
|
||||
@@ -485,7 +485,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -157,10 +157,10 @@ index a78755905acdf1d942ad7e6f5df3ab3fc34ad551..a23d3bb3011f6cf19e0198aac1e3e448
|
||||
j = Mth.floor(this.getX());
|
||||
int i1 = Mth.floor(this.getZ());
|
||||
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 1ff3c526ed34cbece3321de67aa90137f4380133..fed9d13ff3fd87b22a2d974f94de3da37362b65a 100644
|
||||
index 306ea8ef2c51f6815691865739696b3e78f7a987..488296bee4ae01ef139e02ab0d3580147e001715 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -538,7 +538,15 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -542,7 +542,15 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur
|
||||
@@ -177,7 +177,7 @@ index 1ff3c526ed34cbece3321de67aa90137f4380133..fed9d13ff3fd87b22a2d974f94de3da3
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -586,7 +594,15 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -588,7 +596,15 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
if (!enderman.level().purpurConfig.endermanAllowGriefing) return false; // Purpur
|
||||
@@ -208,10 +208,10 @@ index f71a70a72ba0bb01c26291ad9dbdd3b01bbf6ee7..ea2a2c56f94d03b73a5e3a06f91aee7f
|
||||
} 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 990a4ef6e2eccc228b06ba4cb3aadfce0733de5f..e62cb511e78c272346a8735081d1b4b93a6d3c5d 100644
|
||||
index 1a919c29d0c601296e5c6c0bf0ebd95de55eda0a..34d259ae3dbaefdb4a7e2fffd63d72b8b247f053 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
@@ -190,7 +190,7 @@ public class Ravager extends Raider {
|
||||
@@ -193,7 +193,7 @@ public class Ravager extends Raider {
|
||||
this.getAttribute(Attributes.MOVEMENT_SPEED).setBaseValue(Mth.lerp(0.1D, d1, d0));
|
||||
}
|
||||
|
||||
@@ -221,10 +221,10 @@ index 990a4ef6e2eccc228b06ba4cb3aadfce0733de5f..e62cb511e78c272346a8735081d1b4b9
|
||||
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 0a78b3231700ff4ec4bc6ab9d3cbaebc261601e1..dbde54c4a616d6baba672a470b9886c9714133b9 100644
|
||||
index 5539cc692ea3ca89d7c1661a139ddf02c9076818..31a48501d59297c51eee9c7bd836ab2d119fe3b7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -208,7 +208,7 @@ public class Silverfish extends Monster {
|
||||
@@ -210,7 +210,7 @@ public class Silverfish extends Monster {
|
||||
continue;
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -233,7 +233,7 @@ index 0a78b3231700ff4ec4bc6ab9d3cbaebc261601e1..dbde54c4a616d6baba672a470b9886c9
|
||||
world.destroyBlock(blockposition1, true, this.silverfish);
|
||||
} else {
|
||||
world.setBlock(blockposition1, ((InfestedBlock) block).hostStateByInfested(world.getBlockState(blockposition1)), 3);
|
||||
@@ -246,7 +246,7 @@ public class Silverfish extends Monster {
|
||||
@@ -248,7 +248,7 @@ public class Silverfish extends Monster {
|
||||
} else {
|
||||
RandomSource randomsource = this.mob.getRandom();
|
||||
|
||||
@@ -322,20 +322,20 @@ index 57fdcdaf54fd1c92a6e51a3a81789029096e5abe..822dd4265ce02252afadbc652064450b
|
||||
|
||||
if (this.mob.hasActiveRaid() && !this.mob.getCurrentRaid().isOver() && this.mob.canBeLeader() && !ItemStack.matches(this.mob.getItemBySlot(EquipmentSlot.HEAD), Raid.getLeaderBannerInstance())) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||
index c463adf131c4ca6e38f18d4efd94f4629bcfafe9..cf7007cabe4ba7505f2728e79e4c56e2d1bc878b 100644
|
||||
index decb8caa67bc5f4525e4d92fedf465a17171fceb..5ba5a510b30917235e135ccda1b7c98cb7dd93ec 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||
@@ -168,7 +168,7 @@ public class CropBlock extends BushBlock implements BonemealableBlock {
|
||||
@Override
|
||||
public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) {
|
||||
if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper
|
||||
- if (entity instanceof Ravager && !CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), !world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)).isCancelled()) { // CraftBukkit
|
||||
+ if (entity instanceof Ravager && !CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), (!world.purpurConfig.ravagerBypassMobGriefing && !world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))).isCancelled()) { // CraftBukkit // Purpur
|
||||
- if (entity instanceof Ravager && CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), !world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) { // CraftBukkit
|
||||
+ if (entity instanceof Ravager && CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), (!world.purpurConfig.ravagerBypassMobGriefing && !world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)))) { // CraftBukkit // Purpur
|
||||
world.destroyBlock(pos, true, entity);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
index d4e3a32a0f9b49bff64cb43d77727ce3cae95f09..090d232af0183c9c9ffeb4e75125514d827648f2 100644
|
||||
index 7efae60a9a9269703a1fa7cd280b5b96557ec73e..e7b5f54d2fc53878e9466ccca972df21f10a7d67 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
@@ -101,7 +101,7 @@ public class FarmBlock extends Block {
|
||||
@@ -348,15 +348,15 @@ index d4e3a32a0f9b49bff64cb43d77727ce3cae95f09..090d232af0183c9c9ffeb4e75125514d
|
||||
org.bukkit.event.Cancellable cancellable;
|
||||
if (entity instanceof Player) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java b/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java
|
||||
index 518d3832c36c9ecf1ed9267ffc1f926dc84b7989..af5933b886abf3fd17bfdb8c1cb1ea63f6f2a757 100644
|
||||
index 7e04ecba2a14be0f0d47c917368abd2a2bd64a05..5c944e39e611201c6ae4dad14511a54c451204f6 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java
|
||||
@@ -72,7 +72,7 @@ public class PowderSnowBlock extends Block implements BucketPickup {
|
||||
if (!world.isClientSide) {
|
||||
// CraftBukkit start
|
||||
if (entity.isOnFire() && entity.mayInteract(world, pos)) {
|
||||
- if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), !(world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) || entity instanceof Player)).isCancelled()) {
|
||||
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), !((world.purpurConfig.powderSnowBypassMobGriefing || world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) || entity instanceof Player)).isCancelled()) {
|
||||
- if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), !(world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) || entity instanceof Player))) {
|
||||
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), !((world.purpurConfig.powderSnowBypassMobGriefing || world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) || entity instanceof Player))) {
|
||||
return;
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -89,10 +89,10 @@ index 7d744d5b6a9e593e657233b2192f2837bf360deb..98f7d917f8377927472414bee79d2de4
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 5e5797761735ce24a8dd2cb934b385756dbcb32d..9596e95da0866d7372da53f069cf561f7b1ec978 100644
|
||||
index 249ab7ef332c87a3fcac6e7cc4402ddaa1f4d50c..70144e8fb966f0c1d7aa4737d5af553c1a53340b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1340,6 +1340,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1346,6 +1346,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
|
||||
if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API
|
||||
|
||||
@@ -12,7 +12,7 @@ necessary to trample in the first place. Feather Falling 1 requires
|
||||
you to fall over 3+ blocks to trample. FF 2 requires 4+, etc.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
index 090d232af0183c9c9ffeb4e75125514d827648f2..1064a13f37b991e60213b052e252a183b8340449 100644
|
||||
index e7b5f54d2fc53878e9466ccca972df21f10a7d67..56e66fcd840d0d3681ba671d1ffc51b232631461 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
@@ -116,12 +116,20 @@ public class FarmBlock extends Block {
|
||||
@@ -34,7 +34,7 @@ index 090d232af0183c9c9ffeb4e75125514d827648f2..1064a13f37b991e60213b052e252a183
|
||||
+ }
|
||||
+ }
|
||||
// Purpur end
|
||||
if (CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState()).isCancelled()) {
|
||||
if (!CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState())) {
|
||||
return;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b32d2e03de557521af596cc8e7ea05c3d00c1ee6..71d7ce7154d10f4fba78114583f560492492f2ae 100644
|
||||
|
||||
@@ -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 c177b6ebf0e2d10d19674094a4fed8637d305bda..81bfdafb84c543938375a1a90dab49a8452f78d8 100644
|
||||
index 6408bc1749c08fe5255c054bf4342e0870db2a20..7c1b92611f175156116554b5d33636ecc888701d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1271,6 +1271,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -17,10 +17,10 @@ index c177b6ebf0e2d10d19674094a4fed8637d305bda..81bfdafb84c543938375a1a90dab49a8
|
||||
// CraftBukkit end
|
||||
this.setServerLevel(worldserver);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 5aaf8ffac3695f090b739d3f05847a37b58140b5..3f4b14ebbab07864b3fe00ecaf3094ee48946b24 100644
|
||||
index e4822d29f61f086e4967fcda8e7efd5b485b3d6b..6bedb5af6da75a49a1caa8bced73008bac559d50 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3076,12 +3076,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3059,12 +3059,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return Vec3.directionFromRotation(this.getRotationVector());
|
||||
}
|
||||
|
||||
|
||||
@@ -21,10 +21,10 @@ index b1ba0f24dd6f1ec4c60208564e4eb84bdcd457f4..1a67f46b57e398d23fbc495ee81ae62e
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
index 42ab8b3828f66e84cf0d89169fe28867f387be6b..7b731e6d5f50904b211c58cc3a3e0cf350f39e91 100644
|
||||
index c283900e6c43fda62428a6e6d8b70e512458e779..c3d1d77a5703db4e1e3eb38fdd0b8903f691bf25 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -290,6 +290,11 @@ public class Bat extends AmbientCreature {
|
||||
@@ -276,6 +276,11 @@ public class Bat extends AmbientCreature {
|
||||
this.getAttribute(Attributes.ATTACK_KNOCKBACK).setBaseValue(this.level().purpurConfig.batAttackKnockback);
|
||||
}
|
||||
|
||||
@@ -37,10 +37,10 @@ index 42ab8b3828f66e84cf0d89169fe28867f387be6b..7b731e6d5f50904b211c58cc3a3e0cf3
|
||||
public void readAdditionalSaveData(CompoundTag nbt) {
|
||||
super.readAdditionalSaveData(nbt);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
index 944497d617f3c6474e51fa8146dd9f0c407b1b48..33f9b39d770262dd56ef17b0ec59c3175be32ff6 100644
|
||||
index fd917f72b4b4d4af1ae36feab38deac2657c95d4..bfafbc90c710514e1a5699f76381f593c8790c3b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -175,7 +175,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -180,7 +180,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
// Paper end
|
||||
this.lookControl = new Bee.BeeLookControl(this);
|
||||
this.setPathfindingMalus(BlockPathTypes.DANGER_FIRE, -1.0F);
|
||||
@@ -49,7 +49,7 @@ index 944497d617f3c6474e51fa8146dd9f0c407b1b48..33f9b39d770262dd56ef17b0ec59c317
|
||||
this.setPathfindingMalus(BlockPathTypes.WATER_BORDER, 16.0F);
|
||||
this.setPathfindingMalus(BlockPathTypes.COCOA, -1.0F);
|
||||
this.setPathfindingMalus(BlockPathTypes.FENCE, -1.0F);
|
||||
@@ -476,6 +476,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -481,6 +481,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
return this.level().purpurConfig.beeBreedingTicks;
|
||||
}
|
||||
|
||||
@@ -110,10 +110,10 @@ index 3d61c2d5da103de68242c16d85c703813979d179..2343325fa9a771de7b9445cda24a2bcd
|
||||
public ItemStack getBucketItemStack() {
|
||||
return new ItemStack(Items.COD_BUCKET);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index 371cab208ee0a31a90248272f88249eceaf9eb59..c6e5278641fb4a246a8df988fdf5068a044e2c4e 100644
|
||||
index f9cce30eef4a5bffeb27c48a6c7ee361803560c5..8d714c029cf3b62af1ff8140a82ed3ae463e0e18 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -70,6 +70,11 @@ public class Cow extends Animal {
|
||||
@@ -71,6 +71,11 @@ public class Cow extends Animal {
|
||||
return this.level().purpurConfig.cowBreedingTicks;
|
||||
}
|
||||
|
||||
@@ -126,10 +126,10 @@ index 371cab208ee0a31a90248272f88249eceaf9eb59..c6e5278641fb4a246a8df988fdf5068a
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
index 7b2674233d0b8582243448c49d1c47271544d0b8..6006b9c996a8070336c4471f2a915d70c6371c76 100644
|
||||
index f7d5ad85eccedd30209e758aa52c24010531ec48..ac507f0b030a8f0cc8c67240062b4b9d52edaa64 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -159,6 +159,11 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -163,6 +163,11 @@ public class Dolphin extends WaterAnimal {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.dolphinMaxHealth);
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@ index 7b2674233d0b8582243448c49d1c47271544d0b8..6006b9c996a8070336c4471f2a915d70
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
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 aa190c36d32aef0413e6bf89621fa9b42be16d82..1cc0f08a1b63a6786d62fb1ee120e47f1b622d52 100644
|
||||
index 2a6f6753ce9b7ab899256edc181a92c19021822b..ed7d057bc12ca0e3d808320a008c902ebb27e1ca 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -191,6 +191,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -190,7 +190,7 @@ index 7fd50f60aab2fa49a8227f313352a2ee251904c8..56fb35206af7e04a78eba489d4441351
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader world) {
|
||||
return world.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : world.getPathfindingCostFromLightLevels(pos);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
index e2f59c296d4f839983071da319b19e4e175a88fd..851ffdc7156ac9a49692cbcd9f0c9c1887aae971 100644
|
||||
index 11c1bebcf6751e4b2ce9b1f5d53ad0a54d7f0be9..19ef910a77804b60c25449d084f140210778adf4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
@@ -95,6 +95,11 @@ public class Ocelot extends Animal {
|
||||
@@ -206,10 +206,10 @@ index e2f59c296d4f839983071da319b19e4e175a88fd..851ffdc7156ac9a49692cbcd9f0c9c18
|
||||
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
index 68e94b94dd89c2b3fc546819c7a221a3b6706005..ae4108c833e6dba02b19dd3e6271530e5e46cecc 100644
|
||||
index 7052601a8a4253459c552c2d721c90f3fb36de10..efdcfd3885d61cb3ec8db45d1f7f5a64e9c2ac24 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -145,6 +145,11 @@ public class Panda extends Animal {
|
||||
@@ -148,6 +148,11 @@ public class Panda extends Animal {
|
||||
return this.level().purpurConfig.pandaBreedingTicks;
|
||||
}
|
||||
|
||||
@@ -222,7 +222,7 @@ index 68e94b94dd89c2b3fc546819c7a221a3b6706005..ae4108c833e6dba02b19dd3e6271530e
|
||||
public boolean canTakeItem(ItemStack stack) {
|
||||
EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
index 280d20c3380ca244f0587b2c6811b5facd494ba6..a2dafa064697219fcfe7824ba3ca81396063ecb2 100644
|
||||
index 8b349259676ab8c891bf019c93ea62f7a84c4866..583cbd4e891647d974b3ca4fc51d4aae6d2acb88 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -201,6 +201,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
@@ -286,21 +286,21 @@ index 8b5bf8ef4481ccc829d1a39c0921941581b2f045..ef3d0bbbeb6aa736f35c26066a1473c7
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
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 e66a3860e4a14a5a50e95eb53ff67e8d6e6f0db7..a91cef9b519b9d7330c40de9988f0463ce8aa20b 100644
|
||||
index c08b854da55a7b06147b627955cd1f94ccc65325..3a30a04644cbc21729c4dbb65e3fa5a95e3bed6f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -147,6 +147,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
public int getPurpurBreedTime() {
|
||||
return this.level().purpurConfig.rabbitBreedingTicks;
|
||||
}
|
||||
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isSensitiveToWater() {
|
||||
+ return this.level().purpurConfig.rabbitTakeDamageFromWater;
|
||||
+ }
|
||||
+
|
||||
// CraftBukkit start - code from constructor
|
||||
public void initializePathFinderGoals(){
|
||||
this.setSpeedModifier(0.0D);
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Salmon.java b/src/main/java/net/minecraft/world/entity/animal/Salmon.java
|
||||
index 742805994f29a18af444912b10af631d2c60cacf..e101c3bf425902908c43ffa18867fb83a5e1f16e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Salmon.java
|
||||
@@ -334,7 +334,7 @@ index c3b79c109e895cb4460571c8816b210455126f1d..35decea07efa8ca9f7ed896be9b8f3eb
|
||||
protected void registerGoals() {
|
||||
this.eatBlockGoal = new EatBlockGoal(this);
|
||||
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 dc6b0446336b8d689f8273c9ffe1d3c27cf1281a..2acd9fdd1b311f00cc5fae7d879427ededdeecec 100644
|
||||
index 84e0a41620fd52af0cd22dc92fd13ee4efd206fb..a1efde792eaa3f80cd0c7c48e38bbd07e1eb5c9d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -116,7 +116,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -347,10 +347,10 @@ index dc6b0446336b8d689f8273c9ffe1d3c27cf1281a..2acd9fdd1b311f00cc5fae7d879427ed
|
||||
|
||||
@Override
|
||||
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 1431d7f295614641c1a5a5197f4bac3fd0cd9d71..80192e663bf8998d38fb3933894608327e50c46c 100644
|
||||
index 80bdc93cba675d6c1286618f14fc33e0344c601f..57b37ac40b4ffe6c5e27548755aaa15da89a0f0b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
@@ -92,6 +92,11 @@ public class Squid extends WaterAnimal {
|
||||
@@ -90,6 +90,11 @@ public class Squid extends WaterAnimal {
|
||||
return this.wasTouchingWater || canFly();
|
||||
}
|
||||
|
||||
@@ -379,7 +379,7 @@ index 7d02e552a27632939bb9c40a62f4e0df7bd60bbc..b16d075581a352714f86f1b87805f24c
|
||||
return "entity.minecraft.tropical_fish.predefined." + variant;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
index cded4a8baa6815f9d6a3107173f9654136d5943a..9f8891a3eacf461071ce7ad2a277c78048171d51 100644
|
||||
index 4a5cc7eaac2bc093a0f5a457b93b6f4560d739ca..df9a7975959393ab2e81fa7c3878afd034ef7f90 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -110,6 +110,11 @@ public class Turtle extends Animal {
|
||||
@@ -395,10 +395,10 @@ index cded4a8baa6815f9d6a3107173f9654136d5943a..9f8891a3eacf461071ce7ad2a277c780
|
||||
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
|
||||
}
|
||||
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 89627025c0b5464900a5ea818c7aaf5d676f7a5f..0ab3e4a854fd1c5369fc734981d16fa6b844807f 100644
|
||||
index 8d71d0ad4bf8e0df8ded9ebce6f39e66dd632bb5..f3c3db958c359b3b032bd54c7732f16fce108ec3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -209,6 +209,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -210,6 +210,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
super.tame(player);
|
||||
}
|
||||
|
||||
@@ -427,10 +427,10 @@ index acf44bf3d22d7b2ac7a02b3167cf577403942908..6aaf20501558f1710be0adca9c144414
|
||||
public Map<String, Vector3f> getModelRotationValues() {
|
||||
return this.modelRotationValues;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
index 046a6cc61a9b823fe736bdfb15a338f8502f17f9..6a917ef18f1f3797903e6f8b4516c0df8757c573 100644
|
||||
index d7580f06f2f619cb283faa61bdd4e7cc127fc08b..83a3a87caba237b382e4409339e98b6b99a005b7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -111,6 +111,11 @@ public class Goat extends Animal {
|
||||
@@ -112,6 +112,11 @@ public class Goat extends Animal {
|
||||
return this.level().purpurConfig.goatBreedingTicks;
|
||||
}
|
||||
|
||||
@@ -475,7 +475,7 @@ index 0251ded48eb5bdf96f0e67f6456aa15909c8a4ff..f8dbea402f723bf38d7ab3f2468d1b02
|
||||
protected void randomizeAttributes(RandomSource random) {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index 5f7e564154bccd1329ad1966a8ce388282107183..2c5f4ead1141269a029176140c4df848c75b9620 100644
|
||||
index ad9d061979f5856cba9769b91357b3c75cd9a794..b7450d182ecf10ef17ac9eb3fce04e4334013c91 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -143,6 +143,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -571,7 +571,7 @@ index 2b0aac1e4291549efa6391cb3b41492184c9aeda..f90b0ae4678da2ffa7d0a693003e0519
|
||||
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0D);
|
||||
}
|
||||
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 a23d3bb3011f6cf19e0198aac1e3e448c1a73a13..953238d5e90cda8b0326ef38dd858a5f90251520 100644
|
||||
index 9fb3fffd53f37b06811de6907a71e9fd9f4eb2b8..6fdcfff8f99926b4f53d3efde7a10b88a8ff900b 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
|
||||
@@ -117,6 +117,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -625,7 +625,7 @@ index 2f7328286399a556f5a3862d71f2c6931f82d9d1..aed77678edfeeeb646804a1c3b32c4ae
|
||||
public boolean doHurtTarget(Entity target) {
|
||||
if (super.doHurtTarget(target)) {
|
||||
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 04143ca4d451132e6dcd764508e55c567994497d..6e80ea775596c5804b674234b7d59f4c941a49dc 100644
|
||||
index 0ef939a6bc9c0c491c0b71799ea583cb76c6d2fb..fd46c04f4ff53c44d6605e1af561ef9c9db38b4c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -263,6 +263,11 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -673,10 +673,10 @@ index 48c28b5177c26c8ab07bb4960a71cddb7d4f543d..b494d5689beb19d621f5d7c9c22d84e1
|
||||
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D);
|
||||
}
|
||||
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 fed9d13ff3fd87b22a2d974f94de3da37362b65a..1f95363385c5ae9ce06495db5bebfec8346a534c 100644
|
||||
index 488296bee4ae01ef139e02ab0d3580147e001715..69e78ed096fbd23151d9073ddb79079235c36a26 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -89,7 +89,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -93,7 +93,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
public EnderMan(EntityType<? extends EnderMan> type, Level world) {
|
||||
super(type, world);
|
||||
this.setMaxUpStep(1.0F);
|
||||
@@ -685,7 +685,7 @@ index fed9d13ff3fd87b22a2d974f94de3da37362b65a..1f95363385c5ae9ce06495db5bebfec8
|
||||
}
|
||||
|
||||
// Purpur start
|
||||
@@ -302,7 +302,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -306,7 +306,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
@Override
|
||||
public boolean isSensitiveToWater() {
|
||||
@@ -855,10 +855,10 @@ index 6a6349c7002439965422aa4979682b4ce6dfba1e..1f64dc8442de75447c17ae4fd5483345
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
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 e62cb511e78c272346a8735081d1b4b93a6d3c5d..6180ebf48c64fc004f33ecc382953e72f2fb7578 100644
|
||||
index 34d259ae3dbaefdb4a7e2fffd63d72b8b247f053..756bcc3b5489a8af1a9b9ef403fdcd7b39b07693 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
@@ -93,6 +93,11 @@ public class Ravager extends Raider {
|
||||
@@ -96,6 +96,11 @@ public class Ravager extends Raider {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.ravagerMaxHealth);
|
||||
}
|
||||
|
||||
@@ -871,7 +871,7 @@ index e62cb511e78c272346a8735081d1b4b93a6d3c5d..6180ebf48c64fc004f33ecc382953e72
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
index 73c1c023e2c0511bca866cfbef86a9f4fa688592..8680668d97cbb737a72315ff5d3a68b30d14ffa6 100644
|
||||
index 7d96ba5adeddf52ed712e320d5f56a37f30e138a..27b05a4657ba201096973640d7a8cbabdd69f053 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -120,6 +120,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -887,10 +887,10 @@ index 73c1c023e2c0511bca866cfbef86a9f4fa688592..8680668d97cbb737a72315ff5d3a68b3
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
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 dbde54c4a616d6baba672a470b9886c9714133b9..da9e7a70c781196495f5b35fab706dc3dffa487b 100644
|
||||
index 31a48501d59297c51eee9c7bd836ab2d119fe3b7..6bdaec8e082c65959f2ee1cfe4257ba0d64bd8fa 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -64,6 +64,11 @@ public class Silverfish extends Monster {
|
||||
@@ -67,6 +67,11 @@ public class Silverfish extends Monster {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.silverfishMaxHealth);
|
||||
}
|
||||
|
||||
|
||||
@@ -7,15 +7,15 @@ Adds a configuration option that ensures a player in Creative always tames a tam
|
||||
This essentially allows Creative mode players to tame animals on their first try.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal.java
|
||||
index b463fdb812f1c402885f1538e1c213aea1374e5c..952b244a7423d44a0e755764e4b4b5a83ee7f42b 100644
|
||||
index 7fc5b5d624b61a3de9c71e975b51d20c5800be00..8fb070b1ae11d34b2fa420ded58097d421263cab 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/RunAroundLikeCrazyGoal.java
|
||||
@@ -63,7 +63,7 @@ public class RunAroundLikeCrazyGoal extends Goal {
|
||||
@@ -66,7 +66,7 @@ public class RunAroundLikeCrazyGoal extends Goal {
|
||||
int i = this.horse.getTemper();
|
||||
int j = this.horse.getMaxTemper();
|
||||
|
||||
// CraftBukkit - fire EntityTameEvent
|
||||
- if (j > 0 && this.horse.getRandom().nextInt(j) < i && !org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTameEvent(this.horse, ((org.bukkit.craftbukkit.entity.CraftHumanEntity) this.horse.getBukkitEntity().getPassenger()).getHandle()).isCancelled()) {
|
||||
+ if ((this.horse.level().purpurConfig.alwaysTameInCreative && ((Player) entity).getAbilities().instabuild) || (j > 0 && this.horse.getRandom().nextInt(j) < i && !org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTameEvent(this.horse, ((org.bukkit.craftbukkit.entity.CraftHumanEntity) this.horse.getBukkitEntity().getPassenger()).getHandle()).isCancelled())) { // Purpur
|
||||
- if (j > 0 && this.horse.getRandom().nextInt(j) < i && !CraftEventFactory.callEntityTameEvent(this.horse, ((CraftHumanEntity) this.horse.getBukkitEntity().getPassenger()).getHandle()).isCancelled()) { // CraftBukkit - fire EntityTameEvent
|
||||
+ if ((this.horse.level().purpurConfig.alwaysTameInCreative && ((Player) entity).getAbilities().instabuild) || (j > 0 && this.horse.getRandom().nextInt(j) < i && !CraftEventFactory.callEntityTameEvent(this.horse, ((CraftHumanEntity) this.horse.getBukkitEntity().getPassenger()).getHandle()).isCancelled())) { // CraftBukkit - fire EntityTameEvent // Purpur
|
||||
this.horse.tameWithName((Player) entity);
|
||||
return;
|
||||
}
|
||||
@@ -33,7 +33,7 @@ index 1554e4a0e068e06ec121adf56421f8332132f062..7f1763b820a0c5dc69bdf6cdf14a97a2
|
||||
this.setOrderedToSit(true);
|
||||
this.level().broadcastEntityEvent(this, (byte) 7);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
index a2dafa064697219fcfe7824ba3ca81396063ecb2..08935a1f2c4a3f43483719686e5baab5063cdfce 100644
|
||||
index 583cbd4e891647d974b3ca4fc51d4aae6d2acb88..4c64feca8d78b907406cc409bd6beef4b3bd35f3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -334,7 +334,7 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
@@ -46,10 +46,10 @@ index a2dafa064697219fcfe7824ba3ca81396063ecb2..08935a1f2c4a3f43483719686e5baab5
|
||||
this.level().broadcastEntityEvent(this, (byte) 7);
|
||||
} else {
|
||||
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 0ab3e4a854fd1c5369fc734981d16fa6b844807f..b2902e01ff2e9add8258bfd0b32d000209208f52 100644
|
||||
index f3c3db958c359b3b032bd54c7732f16fce108ec3..c967302542eeac0bad33c3b53b7d5b2aea7defbb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -543,7 +543,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -530,7 +530,7 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
}
|
||||
|
||||
// CraftBukkit - added event call and isCancelled check.
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] End crystal explosion options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
index e73446de9a58643609fedcbd0a503d95e5ce8271..ad0bf89f7aa3c71b683f8ade930a7b91df69b058 100644
|
||||
index ef0098e46bda8abc456f2bb5929d874c6aeb8698..564d17bc460e2a04947ff9676fbf4c8b1569659c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
|
||||
@@ -48,6 +48,22 @@ public class EndCrystal extends Entity {
|
||||
@@ -31,7 +31,7 @@ index e73446de9a58643609fedcbd0a503d95e5ce8271..ad0bf89f7aa3c71b683f8ade930a7b91
|
||||
@Override
|
||||
protected Entity.MovementEmission getMovementEmission() {
|
||||
return Entity.MovementEmission.NONE;
|
||||
@@ -173,17 +189,19 @@ public class EndCrystal extends Entity {
|
||||
@@ -173,16 +189,18 @@ public class EndCrystal extends Entity {
|
||||
// CraftBukkit end
|
||||
this.remove(Entity.RemovalReason.KILLED);
|
||||
if (!source.is(DamageTypeTags.IS_EXPLOSION)) {
|
||||
@@ -39,9 +39,8 @@ index e73446de9a58643609fedcbd0a503d95e5ce8271..ad0bf89f7aa3c71b683f8ade930a7b91
|
||||
DamageSource damagesource1 = source.getEntity() != null ? this.damageSources().explosion(this, source.getEntity()) : null;
|
||||
|
||||
// CraftBukkit start
|
||||
- ExplosionPrimeEvent event = new ExplosionPrimeEvent(this.getBukkitEntity(), 6.0F, false);
|
||||
+ ExplosionPrimeEvent event = new ExplosionPrimeEvent(this.getBukkitEntity(), getExplosionPower(), hasExplosionFire()); // Purpur
|
||||
this.level().getCraftServer().getPluginManager().callEvent(event);
|
||||
- ExplosionPrimeEvent event = CraftEventFactory.callExplosionPrimeEvent(this, 6.0F, false);
|
||||
+ ExplosionPrimeEvent event = CraftEventFactory.callExplosionPrimeEvent(this, getExplosionPower(), hasExplosionFire()); // Purpur
|
||||
if (event.isCancelled()) {
|
||||
this.unsetRemoved();
|
||||
return false;
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] One Punch Man!
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 1b4b1bd79fa4aa9f1dcd4e2833c3897952e7d0de..fb751c53bd818868cc050bfc18053d8a2d850c83 100644
|
||||
index 04b98c7c738682f5c1da27a6873a814eaca5d14b..9a4ac87ae3cc766ba4080cf5b4f3743d13bd6266 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2303,6 +2303,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2293,6 +2293,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config Enderman aggressiveness towards Endermites
|
||||
|
||||
|
||||
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 1f95363385c5ae9ce06495db5bebfec8346a534c..38708753709de108a6ea841ab8545f2d61d2b621 100644
|
||||
index 69e78ed096fbd23151d9073ddb79079235c36a26..eb87bddf3dfd2d3daa861de8e86d726bbc42eef3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -128,7 +128,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -132,7 +132,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.targetSelector.addGoal(1, new EnderMan.EndermanLookForPlayerGoal(this, this::isAngryAt));
|
||||
this.targetSelector.addGoal(2, new HurtByTargetGoal(this, new Class[0]));
|
||||
|
||||
@@ -7,10 +7,10 @@ Prevents Enderman from becoming aggresive towards players that are wearing a Dra
|
||||
Adds functionality to a useless item!
|
||||
|
||||
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 38708753709de108a6ea841ab8545f2d61d2b621..2d09b2c15833d1a724df15894bee18825ecafcee 100644
|
||||
index eb87bddf3dfd2d3daa861de8e86d726bbc42eef3..b78c18c2c6a791539b87b9c0a5947ca0f731755c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -265,7 +265,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -269,7 +269,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
// Paper end
|
||||
ItemStack itemstack = (ItemStack) player.getInventory().armor.get(3);
|
||||
|
||||
|
||||
@@ -19,10 +19,10 @@ index 849f0c7c6d13df00d90211a48d8b56ab156812b8..3fc9528201fb96d6a0f905afe0b6a82e
|
||||
List<Entity> list = this.llama.level().getEntities(this.llama, this.llama.getBoundingBox().inflate(9.0D, 4.0D, 9.0D), (entity) -> {
|
||||
EntityType<?> entityType = entity.getType();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index 2c5f4ead1141269a029176140c4df848c75b9620..26ed1eef3b38e643dfc6738e4b7880c9d1c9dc20 100644
|
||||
index b7450d182ecf10ef17ac9eb3fce04e4334013c91..fac46dd905f9a634cff393494f6ff0404eb17fb7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -540,7 +540,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -539,7 +539,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
}
|
||||
|
||||
public void joinCaravan(Llama llama) {
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Config to make Creepers explode on death
|
||||
Creepers exploded after being killed in the alpha days. This brings that back.
|
||||
|
||||
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 6e80ea775596c5804b674234b7d59f4c941a49dc..ed5b0ec4c9616691c383067f8d949e63cb7c4497 100644
|
||||
index fd46c04f4ff53c44d6605e1af561ef9c9db38b4c..0d9ff20451ed7f82053ffd92538f78653b652dd4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -63,6 +63,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -32,7 +32,7 @@ index 6e80ea775596c5804b674234b7d59f4c941a49dc..ed5b0ec4c9616691c383067f8d949e63
|
||||
@Override
|
||||
protected SoundEvent getHurtSound(DamageSource source) {
|
||||
return SoundEvents.CREEPER_HURT;
|
||||
@@ -358,6 +367,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -359,6 +368,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
}
|
||||
|
||||
public void explodeCreeper() {
|
||||
@@ -40,7 +40,7 @@ index 6e80ea775596c5804b674234b7d59f4c941a49dc..ed5b0ec4c9616691c383067f8d949e63
|
||||
if (!this.level().isClientSide) {
|
||||
float f = this.isPowered() ? 2.0F : 1.0F;
|
||||
|
||||
@@ -375,7 +385,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -377,7 +387,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
}
|
||||
// CraftBukkit end
|
||||
}
|
||||
|
||||
@@ -5,28 +5,28 @@ Subject: [PATCH] Configurable ravager griefable blocks list
|
||||
|
||||
|
||||
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 6180ebf48c64fc004f33ecc382953e72f2fb7578..9083bc138d322cbb0b060c73dadc427aaa574bd9 100644
|
||||
index 756bcc3b5489a8af1a9b9ef403fdcd7b39b07693..ba0fdfb017db4c9e5250e7b8e22c61045250b0f3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
@@ -205,7 +205,7 @@ public class Ravager extends Raider {
|
||||
@@ -208,7 +208,7 @@ public class Ravager extends Raider {
|
||||
BlockState iblockdata = this.level().getBlockState(blockposition);
|
||||
Block block = iblockdata.getBlock();
|
||||
|
||||
- if (block instanceof LeavesBlock && !org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this, blockposition, iblockdata.getFluidState().createLegacyBlock()).isCancelled()) { // CraftBukkit // Paper
|
||||
+ if (this.level().purpurConfig.ravagerGriefableBlocks.contains(block) && !org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this, blockposition, iblockdata.getFluidState().createLegacyBlock()).isCancelled()) { // CraftBukkit // Paper
|
||||
flag = this.level().destroyBlock(blockposition, true, this) || flag;
|
||||
}
|
||||
}
|
||||
- if (block instanceof LeavesBlock) {
|
||||
+ if (this.level().purpurConfig.ravagerGriefableBlocks.contains(block)) { // Purpur
|
||||
// CraftBukkit start
|
||||
if (!CraftEventFactory.callEntityChangeBlockEvent(this, blockposition, iblockdata.getFluidState().createLegacyBlock())) { // Paper - use correct block state
|
||||
continue;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||
index cf7007cabe4ba7505f2728e79e4c56e2d1bc878b..c431ec19212821ba7722c073e5ee6ad78254d23c 100644
|
||||
index 5ba5a510b30917235e135ccda1b7c98cb7dd93ec..373fda589014c71c07170ec6707d5ff66d46ddd5 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||
@@ -168,7 +168,7 @@ public class CropBlock extends BushBlock implements BonemealableBlock {
|
||||
@Override
|
||||
public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) {
|
||||
if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper
|
||||
- if (entity instanceof Ravager && !CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), (!world.purpurConfig.ravagerBypassMobGriefing && !world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))).isCancelled()) { // CraftBukkit // Purpur
|
||||
+ if (entity instanceof Ravager && world.purpurConfig.ravagerGriefableBlocks.contains(world.getBlockState(pos).getBlock()) && !CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), (!world.purpurConfig.ravagerBypassMobGriefing && !world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))).isCancelled()) { // CraftBukkit // Purpur
|
||||
- if (entity instanceof Ravager && CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), (!world.purpurConfig.ravagerBypassMobGriefing && !world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)))) { // CraftBukkit // Purpur
|
||||
+ if (entity instanceof Ravager && world.purpurConfig.ravagerGriefableBlocks.contains(world.getBlockState(pos).getBlock()) && CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), (!world.purpurConfig.ravagerBypassMobGriefing && !world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)))) { // CraftBukkit // Purpur
|
||||
world.destroyBlock(pos, true, entity);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Sneak to bulk process composter
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
index 1635fee928d64f4d2c336dca6675ed4641918830..e85b6f9e4b0695479839a45212c74be9ef44d110 100644
|
||||
index 34ecfb89372f459117db99d57a7edd6f681bbe8a..dcd322786d27109ac84ee70f460b45344d38a1e9 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
@@ -577,7 +577,7 @@ public class ServerPlayerGameMode {
|
||||
@@ -18,10 +18,10 @@ index 1635fee928d64f4d2c336dca6675ed4641918830..e85b6f9e4b0695479839a45212c74be9
|
||||
|
||||
if (enuminteractionresult.consumesAction()) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
|
||||
index 87153b5576fed05103183a9860d804c2c8cfbe1c..e8ee608aa5e352d741694f50cdf77f0645892150 100644
|
||||
index 10d3912ef043eefdf89105332e29b0d2bf4a5539..596b77306f690a2298835f0f0fea1abee2a7c85d 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/ComposterBlock.java
|
||||
@@ -230,20 +230,28 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
|
||||
@@ -229,20 +229,28 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
|
||||
ItemStack itemstack = player.getItemInHand(hand);
|
||||
|
||||
if (i < 8 && ComposterBlock.COMPOSTABLES.containsKey(itemstack.getItem())) {
|
||||
@@ -62,7 +62,7 @@ index 87153b5576fed05103183a9860d804c2c8cfbe1c..e8ee608aa5e352d741694f50cdf77f06
|
||||
|
||||
return InteractionResult.sidedSuccess(world.isClientSide);
|
||||
} else if (i == 8) {
|
||||
@@ -254,6 +262,26 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
|
||||
@@ -253,6 +261,26 @@ public class ComposterBlock extends Block implements WorldlyContainerHolder {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ 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 3f4b14ebbab07864b3fe00ecaf3094ee48946b24..53eebe175f4787f5fb88dda11b4d301824d6aa70 100644
|
||||
index 6bedb5af6da75a49a1caa8bced73008bac559d50..aab99783b9fd6c181f30b2672d5957438a1fc620 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3321,7 +3321,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3304,7 +3304,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
public int getMaxAirSupply() {
|
||||
@@ -18,10 +18,10 @@ index 3f4b14ebbab07864b3fe00ecaf3094ee48946b24..53eebe175f4787f5fb88dda11b4d3018
|
||||
|
||||
public int getAirSupply() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index fb751c53bd818868cc050bfc18053d8a2d850c83..2c9fb811d17cbfdcef26721938e8e79ee08fe861 100644
|
||||
index 9a4ac87ae3cc766ba4080cf5b4f3743d13bd6266..217a0082f7f260678253f31e381a432099555177 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -440,7 +440,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -439,7 +439,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
if (flag1) {
|
||||
this.setAirSupply(this.decreaseAirSupply(this.getAirSupply()));
|
||||
@@ -30,7 +30,7 @@ index fb751c53bd818868cc050bfc18053d8a2d850c83..2c9fb811d17cbfdcef26721938e8e79e
|
||||
this.setAirSupply(0);
|
||||
Vec3 vec3d = this.getDeltaMovement();
|
||||
|
||||
@@ -452,7 +452,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -451,7 +451,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.level().addParticle(ParticleTypes.BUBBLE, this.getX() + d2, this.getY() + d3, this.getZ() + d4, vec3d.x, vec3d.y, vec3d.z);
|
||||
}
|
||||
|
||||
|
||||
@@ -70,10 +70,10 @@ index 8a7c30e316db4960b0b62ca0e366c19febead214..29ba769c5f803ce2dc5285e65284febf
|
||||
((ServerPlayer) player).connection.send(new ClientboundContainerSetDataPacket(containerId, 0, cost.get()));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
index 190a446ba6c41a8da7e11b953c8fb2cb8119c412..43ed450fbd7472495b1965dcbdc7ad107ba91dcc 100644
|
||||
index 73219dc7f1fcb3f7457de513e865385a09ab1914..a314bd08b2beaf867057cdb2accdfeef2a56a837 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
@@ -1202,6 +1202,12 @@ public final class ItemStack {
|
||||
@@ -1203,6 +1203,12 @@ public final class ItemStack {
|
||||
return this.tag != null && this.tag.contains("Enchantments", 9) ? !this.tag.getList("Enchantments", 10).isEmpty() : false;
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ index 190a446ba6c41a8da7e11b953c8fb2cb8119c412..43ed450fbd7472495b1965dcbdc7ad10
|
||||
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 a191d631e4c5401e1fafc0d9a4a4d5eed4f300af..80f47a113b48670695a5ffe67dd6e0f800970e1e 100644
|
||||
index 872018367a51547faf1328c5d98174e10e0655ae..e4dcc7f73f828e57eb00538f43aae99ded1be8ef 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -285,14 +285,32 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config for wither explosion radius
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
index cead7873795c5277634db3c5ee29a125e48bbb90..e031a2268a862c5d84b2c59305d9d39881bdb92e 100644
|
||||
index f40ab9d5b18c189ba9b572e49243640bd44362d1..b4687453256ead43cf5288994316c7bf946b86df 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
|
||||
@@ -95,7 +95,7 @@ public class WitherSkull extends AbstractHurtingProjectile {
|
||||
@@ -97,7 +97,7 @@ public class WitherSkull extends AbstractHurtingProjectile {
|
||||
if (!this.level().isClientSide) {
|
||||
// CraftBukkit start
|
||||
// this.level().explode(this, this.getX(), this.getY(), this.getZ(), 1.0F, false, World.a.MOB);
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Configurable mob blindness
|
||||
Ported from https://github.com/raltsmc/mobblindness
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 2c9fb811d17cbfdcef26721938e8e79ee08fe861..3cfa9cad7d59a6542ef64dcc0f3fbec346ab5b90 100644
|
||||
index 217a0082f7f260678253f31e381a432099555177..cdae47c490555efad0eb2d2ae6498888aeaf21bd 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1037,6 +1037,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1036,6 +1036,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
if (entitytypes == EntityType.SKELETON && itemstack.is(Items.SKELETON_SKULL) || entitytypes == EntityType.ZOMBIE && itemstack.is(Items.ZOMBIE_HEAD) || entitytypes == EntityType.PIGLIN && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.PIGLIN_BRUTE && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.CREEPER && itemstack.is(Items.CREEPER_HEAD)) {
|
||||
d0 *= 0.5D;
|
||||
}
|
||||
|
||||
@@ -5,21 +5,21 @@ Subject: [PATCH] Config for health to impact Creeper explosion radius
|
||||
|
||||
|
||||
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 ed5b0ec4c9616691c383067f8d949e63cb7c4497..45a9496d9d6109b5ad844113dfd431770144b22f 100644
|
||||
index 0d9ff20451ed7f82053ffd92538f78653b652dd4..8952afb0ff84df6f99bd545cb4a8a44e87f8d878 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -370,9 +370,10 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -371,9 +371,10 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
this.exploding = true; // Purpur
|
||||
if (!this.level().isClientSide) {
|
||||
float f = this.isPowered() ? 2.0F : 1.0F;
|
||||
+ float multiplier = this.level().purpurConfig.creeperHealthRadius ? this.getHealth() / this.getMaxHealth() : 1; // Purpur
|
||||
|
||||
// CraftBukkit start
|
||||
- ExplosionPrimeEvent event = new ExplosionPrimeEvent(this.getBukkitEntity(), this.explosionRadius * f, false);
|
||||
+ ExplosionPrimeEvent event = new ExplosionPrimeEvent(this.getBukkitEntity(), (this.explosionRadius * f) * multiplier, false); // Purpur
|
||||
this.level().getCraftServer().getPluginManager().callEvent(event);
|
||||
- ExplosionPrimeEvent event = CraftEventFactory.callExplosionPrimeEvent(this, this.explosionRadius * f, false);
|
||||
+ ExplosionPrimeEvent event = CraftEventFactory.callExplosionPrimeEvent(this, (this.explosionRadius * f) * multiplier, false); // Purpur
|
||||
if (!event.isCancelled()) {
|
||||
this.dead = true;
|
||||
// CraftBukkit end
|
||||
this.dead = true;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 80bd3c0c83923b16569a057a62b3184a39812a4e..ec1f76879ec8cee7d3b968a716ebb467a189e1a4 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Bee can work when raining or at night
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
index 33f9b39d770262dd56ef17b0ec59c3175be32ff6..318e51509338a7cf22dfeb1a923638d8df2b5c2f 100644
|
||||
index bfafbc90c710514e1a5699f76381f593c8790c3b..0ee62562d36292d48226a3b20ac54aafe6d12394 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -394,7 +394,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -399,7 +399,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
|
||||
boolean wantsToEnterHive() {
|
||||
if (this.stayOutOfHiveCountdown <= 0 && !this.beePollinateGoal.isPollinating() && !this.hasStung() && this.getTarget() == null) {
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] API for any mob to burn daylight
|
||||
Co-authored by: Encode42 <me@encode42.dev>
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 53eebe175f4787f5fb88dda11b4d301824d6aa70..9d0e7b1982acb5bb48cfc5b804bcc4cc4ac93fd8 100644
|
||||
index aab99783b9fd6c181f30b2672d5957438a1fc620..61dd24478dc1f955a3c67e81858aa7cec023b4de 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -496,6 +496,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -32,10 +32,10 @@ index 53eebe175f4787f5fb88dda11b4d301824d6aa70..9d0e7b1982acb5bb48cfc5b804bcc4cc
|
||||
return this.hardCollides;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 3cfa9cad7d59a6542ef64dcc0f3fbec346ab5b90..65e543bb44d94bcaa4abaa3272fb7f3e9b35fea8 100644
|
||||
index cdae47c490555efad0eb2d2ae6498888aeaf21bd..972c0e43e3f099706b9ee744551d43d31ffb3fa7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -264,6 +264,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -263,6 +263,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper
|
||||
public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event
|
||||
public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper
|
||||
@@ -43,7 +43,7 @@ index 3cfa9cad7d59a6542ef64dcc0f3fbec346ab5b90..65e543bb44d94bcaa4abaa3272fb7f3e
|
||||
|
||||
@Override
|
||||
public float getBukkitYaw() {
|
||||
@@ -805,6 +806,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -804,6 +805,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
dataresult.resultOrPartial(logger::error).ifPresent((nbtbase) -> {
|
||||
nbt.put("Brain", nbtbase);
|
||||
});
|
||||
@@ -51,7 +51,7 @@ index 3cfa9cad7d59a6542ef64dcc0f3fbec346ab5b90..65e543bb44d94bcaa4abaa3272fb7f3e
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -889,6 +891,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -888,6 +890,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.brain = this.makeBrain(new Dynamic(NbtOps.INSTANCE, nbt.get("Brain")));
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ index 3cfa9cad7d59a6542ef64dcc0f3fbec346ab5b90..65e543bb44d94bcaa4abaa3272fb7f3e
|
||||
}
|
||||
|
||||
// CraftBukkit start
|
||||
@@ -3547,6 +3554,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3537,6 +3544,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.hurt(this.damageSources().drown(), 1.0F);
|
||||
}
|
||||
|
||||
@@ -369,10 +369,10 @@ index 98f7d917f8377927472414bee79d2de4269ec0bc..1445f52031104baf81e2b5373a400a58
|
||||
/*
|
||||
* Order is *EXTREMELY* important -- keep it right! =D
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index a26a622a4782b2f1227ffac215561c86e6c1b0cb..f4ab4d016a467dbd3232726a3ab500be083d4747 100644
|
||||
index 3e261a1617ff9e0d2f4745769f819292d19200c4..bbf741ab97d43eaa0eade0e2f1edc7c6adc83636 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -1089,5 +1089,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -1116,5 +1116,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
if (slot == null) return;
|
||||
getHandle().broadcastBreakEvent(org.bukkit.craftbukkit.CraftEquipmentSlot.getNMS(slot));
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config MobEffect by world
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/effect/MobEffect.java b/src/main/java/net/minecraft/world/effect/MobEffect.java
|
||||
index bcce17f884b57e619749351b7b2047f0a5f9be71..878f3da0067f89f47141f41c733bef67f0987929 100644
|
||||
index 53cc6befb752affcfec65e18365f6d369448d407..01850fc596a85974287ff6750427186d21acac41 100644
|
||||
--- a/src/main/java/net/minecraft/world/effect/MobEffect.java
|
||||
+++ b/src/main/java/net/minecraft/world/effect/MobEffect.java
|
||||
@@ -60,16 +60,16 @@ public class MobEffect {
|
||||
@@ -59,16 +59,16 @@ public class MobEffect {
|
||||
public void applyEffectTick(LivingEntity entity, int amplifier) {
|
||||
if (this == MobEffects.REGENERATION) {
|
||||
if (entity.getHealth() < entity.getMaxHealth()) {
|
||||
@@ -30,15 +30,15 @@ index bcce17f884b57e619749351b7b2047f0a5f9be71..878f3da0067f89f47141f41c733bef67
|
||||
} else if (this == MobEffects.SATURATION && entity instanceof Player) {
|
||||
if (!entity.level().isClientSide) {
|
||||
// CraftBukkit start
|
||||
@@ -79,7 +79,7 @@ public class MobEffect {
|
||||
@@ -76,7 +76,7 @@ public class MobEffect {
|
||||
int oldFoodLevel = entityhuman.getFoodData().foodLevel;
|
||||
org.bukkit.event.entity.FoodLevelChangeEvent event = CraftEventFactory.callFoodLevelChangeEvent(entityhuman, amplifier + 1 + oldFoodLevel);
|
||||
|
||||
if (!event.isCancelled()) {
|
||||
- entityhuman.getFoodData().eat(event.getFoodLevel() - oldFoodLevel, 1.0F);
|
||||
+ entityhuman.getFoodData().eat(event.getFoodLevel() - oldFoodLevel, entity.level().purpurConfig.humanSaturationRegenAmount); // Purpur
|
||||
}
|
||||
|
||||
((ServerPlayer) entityhuman).connection.send(new ClientboundSetHealthPacket(((ServerPlayer) entityhuman).getBukkitEntity().getScaledHealth(), entityhuman.getFoodData().foodLevel, entityhuman.getFoodData().saturationLevel));
|
||||
((CraftPlayer) entityhuman.getBukkitEntity()).sendHealthUpdate();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3f4631c2107145248a1fff538b1bf8fa9d4483d7..782279ff7a53d185d5de58f35e3328e487808ba2 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for sand duping fix
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
|
||||
index eff81e846f696349b3bd3d26c02442f157b169f0..bdadc6bb8c0ddcbf4ec1a9d2b4267c9e7308c016 100644
|
||||
index 18eaccb39a4c81338a8cbebe3de03934913ac2a4..7ad5583f05b608d5a34a33fb77c5bf91f25de9a1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
|
||||
@@ -131,7 +131,7 @@ public class FallingBlockEntity extends Entity {
|
||||
@@ -133,7 +133,7 @@ public class FallingBlockEntity extends Entity {
|
||||
@Override
|
||||
public void tick() {
|
||||
// Paper start - fix sand duping
|
||||
@@ -17,7 +17,7 @@ index eff81e846f696349b3bd3d26c02442f157b169f0..bdadc6bb8c0ddcbf4ec1a9d2b4267c9e
|
||||
return;
|
||||
}
|
||||
// Paper end - fix sand duping
|
||||
@@ -148,7 +148,7 @@ public class FallingBlockEntity extends Entity {
|
||||
@@ -150,7 +150,7 @@ public class FallingBlockEntity extends Entity {
|
||||
this.move(MoverType.SELF, this.getDeltaMovement());
|
||||
|
||||
// Paper start - fix sand duping
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 9d0e7b1982acb5bb48cfc5b804bcc4cc4ac93fd8..196c8b43d096289f02293f8958d591e9738e3826 100644
|
||||
index 61dd24478dc1f955a3c67e81858aa7cec023b4de..75eb55794b3f025d065a4025bfbf415ac669b967 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3150,7 +3150,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3133,7 +3133,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
this.processPortalCooldown();
|
||||
|
||||
@@ -13,10 +13,10 @@ Subject: [PATCH] Shulker spawn from bullet options
|
||||
(7 - 1) / 5.0 = 1.2 1.0 - 1.2 = -0.2 0% (6 other shulkers)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
index 8680668d97cbb737a72315ff5d3a68b30d14ffa6..48fcfef45ab149328573f4e80c8f0289f9eebbe8 100644
|
||||
index 27b05a4657ba201096973640d7a8cbabdd69f053..a0b19ffbdb64c40d8b92ed82104dde323b466190 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -513,12 +513,21 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -511,12 +511,21 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
Vec3 vec3d = this.position();
|
||||
AABB axisalignedbb = this.getBoundingBox();
|
||||
|
||||
@@ -43,7 +43,7 @@ index 8680668d97cbb737a72315ff5d3a68b30d14ffa6..48fcfef45ab149328573f4e80c8f0289
|
||||
|
||||
if (entityshulker != null) {
|
||||
entityshulker.setVariant(this.getVariant());
|
||||
@@ -630,7 +639,7 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -628,7 +637,7 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
|
||||
@Override
|
||||
public Optional<DyeColor> getVariant() {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Tool actionable options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/AxeItem.java b/src/main/java/net/minecraft/world/item/AxeItem.java
|
||||
index 9c7d0b9cc2fa98d5785c914c0183f7d4b5b1c1ea..89a4ab17ca8d2aa1f52b041c610d7de19bf55e66 100644
|
||||
index 18898e16ec42f6b694b06e09d9174b60d62450d7..20f33b77b4a9494be227456bc742a029eb0af59b 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/AxeItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/AxeItem.java
|
||||
@@ -33,29 +33,32 @@ public class AxeItem extends DiggerItem {
|
||||
@@ -43,11 +43,11 @@ index 9c7d0b9cc2fa98d5785c914c0183f7d4b5b1c1ea..89a4ab17ca8d2aa1f52b041c610d7de1
|
||||
}
|
||||
|
||||
if (optional4.isPresent()) {
|
||||
+ org.purpurmc.purpur.tool.Actionable actionable = optional4.get();
|
||||
+ org.purpurmc.purpur.tool.Actionable actionable = optional4.get(); // Purpur
|
||||
+ BlockState state = actionable.into().withPropertiesOf(blockState); // Purpur
|
||||
// Paper start - EntityChangeBlockEvent
|
||||
- if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, blockPos, optional4.get()).isCancelled()) {
|
||||
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, blockPos, state).isCancelled()) { // Purpur
|
||||
- if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, blockPos, optional4.get())) {
|
||||
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, blockPos, state)) { // Purpur
|
||||
return InteractionResult.PASS;
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Store placer on Block when placed
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
index 43ed450fbd7472495b1965dcbdc7ad107ba91dcc..f950ca76771a290307db728c7d35819fb37a21b5 100644
|
||||
index a314bd08b2beaf867057cdb2accdfeef2a56a837..d846d5bdc92138b6b6c44a2e47578199bb68f858 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
@@ -421,6 +421,7 @@ public final class ItemStack {
|
||||
@@ -422,6 +422,7 @@ public final class ItemStack {
|
||||
world.preventPoiUpdated = true; // CraftBukkit - SPIGOT-5710
|
||||
for (BlockState blockstate : blocks) {
|
||||
blockstate.update(true, false);
|
||||
@@ -16,9 +16,9 @@ index 43ed450fbd7472495b1965dcbdc7ad107ba91dcc..f950ca76771a290307db728c7d35819f
|
||||
}
|
||||
world.preventPoiUpdated = false;
|
||||
|
||||
@@ -450,6 +451,7 @@ public final class ItemStack {
|
||||
@@ -451,6 +452,7 @@ public final class ItemStack {
|
||||
if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically
|
||||
block.getBlock().onPlace(block, world, newblockposition, oldBlock, true, itemactioncontext); // Paper - pass itemactioncontext
|
||||
block.getBlock().onPlace(block, world, newblockposition, oldBlock, true, context); // Paper - pass context
|
||||
}
|
||||
+ block.getBlock().forgetPlacer(); // Purpur
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config to disable Enderman teleport on projectile hit
|
||||
|
||||
|
||||
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 2d09b2c15833d1a724df15894bee18825ecafcee..bf9b9f3de67ff918e0a2288b3582af5e77e54b04 100644
|
||||
index b78c18c2c6a791539b87b9c0a5947ca0f731755c..869f7488f420f23941754d484546901cd25bcd6f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -444,6 +444,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -448,6 +448,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
} else {
|
||||
flag1 = flag && this.hurtWithCleanWater(source, (ThrownPotion) source.getDirectEntity(), amount);
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for kinetic damage
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 65e543bb44d94bcaa4abaa3272fb7f3e9b35fea8..558f56e7e559b5fcb712bdf3515704ad77dfe665 100644
|
||||
index 972c0e43e3f099706b9ee744551d43d31ffb3fa7..21d6851cb903f214db92109a6c16bb7367e40e1c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2900,6 +2900,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2890,6 +2890,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
if (f3 > 0.0F) {
|
||||
this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F);
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Extended OfflinePlayer API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
||||
index 714afc98b5150907b45a00060be4e41582333204..312a6d90c0a09570aef24c205dc2ff277dcd4279 100644
|
||||
index 2856b861a1207ef94ae5671c5898f08fedd14475..ce5d0f6b08f6c6f7272f53a939fa9c741637a628 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
||||
@@ -549,4 +549,213 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
|
||||
@@ -548,4 +548,213 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
|
||||
manager.save();
|
||||
}
|
||||
}
|
||||
@@ -223,10 +223,10 @@ index 714afc98b5150907b45a00060be4e41582333204..312a6d90c0a09570aef24c205dc2ff27
|
||||
+ // Purpur end - OfflinePlayer API
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 9596e95da0866d7372da53f069cf561f7b1ec978..a3c02fd97c745229be98a172e6f65ad8172ec94c 100644
|
||||
index 70144e8fb966f0c1d7aa4737d5af553c1a53340b..a4fd43722384b9b6dff269ff70ea545715a85ec2 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2388,6 +2388,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2418,6 +2418,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return this.getHandle().getAbilities().walkingSpeed * 2f;
|
||||
}
|
||||
|
||||
|
||||
@@ -51,10 +51,10 @@ index ca2052804ad829a1528a9c5a0a792275beead113..997d0fab71eacc6466ffe3bc8f6349e5
|
||||
private int maxStack = MAX_STACK;
|
||||
public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 131f87a5007bc533f5129bab07044d52d2e94612..96e8c253cb39822c2b856cf06e78406106ce431c 100644
|
||||
index 6ed43bd792f932a0a976f9402e70ddb1f2862b5d..2138d98b83bfee76d0c67272b8e10d14f2da7a3f 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1527,6 +1527,19 @@ public final class CraftServer implements Server {
|
||||
@@ -1530,6 +1530,19 @@ public final class CraftServer implements Server {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Dolphins naturally aggressive to players chance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
index 6006b9c996a8070336c4471f2a915d70c6371c76..3755ffc395ec4644a2263c59cdacfdbab258d4c8 100644
|
||||
index ac507f0b030a8f0cc8c67240062b4b9d52edaa64..4713e550d26c3235ee7ca227ce7e0ff31ff4321c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -78,6 +78,7 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -82,6 +82,7 @@ public class Dolphin extends WaterAnimal {
|
||||
public static final Predicate<ItemEntity> ALLOWED_ITEMS = (entityitem) -> {
|
||||
return !entityitem.hasPickUpDelay() && entityitem.isAlive() && entityitem.isInWater();
|
||||
};
|
||||
@@ -16,7 +16,7 @@ index 6006b9c996a8070336c4471f2a915d70c6371c76..3755ffc395ec4644a2263c59cdacfdba
|
||||
private int spitCooldown; // Purpur
|
||||
|
||||
public Dolphin(EntityType<? extends Dolphin> type, Level world) {
|
||||
@@ -169,6 +170,7 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -173,6 +174,7 @@ public class Dolphin extends WaterAnimal {
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
this.setAirSupply(this.getMaxAirSupply());
|
||||
this.setXRot(0.0F);
|
||||
@@ -24,7 +24,7 @@ index 6006b9c996a8070336c4471f2a915d70c6371c76..3755ffc395ec4644a2263c59cdacfdba
|
||||
return super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt);
|
||||
}
|
||||
|
||||
@@ -238,6 +240,7 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -242,6 +244,7 @@ public class Dolphin extends WaterAnimal {
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new BreathAirGoal(this));
|
||||
this.goalSelector.addGoal(0, new TryFindWaterGoal(this));
|
||||
@@ -32,7 +32,7 @@ index 6006b9c996a8070336c4471f2a915d70c6371c76..3755ffc395ec4644a2263c59cdacfdba
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(1, new Dolphin.DolphinSwimToTreasureGoal(this));
|
||||
this.goalSelector.addGoal(2, new Dolphin.DolphinSwimWithPlayerGoal(this, 4.0D));
|
||||
@@ -245,12 +248,13 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -249,12 +252,13 @@ public class Dolphin extends WaterAnimal {
|
||||
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this));
|
||||
this.goalSelector.addGoal(5, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||
this.goalSelector.addGoal(5, new DolphinJumpGoal(this, 10));
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Cows naturally aggressive to players chance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index c6e5278641fb4a246a8df988fdf5068a044e2c4e..30e87b71ad237d76ec5adb4976edeca909e429ef 100644
|
||||
index 8d714c029cf3b62af1ff8140a82ed3ae463e0e18..37f073e821a1b0f8efe89a7d88ce732cda402dff 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -38,6 +38,7 @@ import org.bukkit.craftbukkit.inventory.CraftItemStack;
|
||||
@@ -39,6 +39,7 @@ import org.bukkit.event.player.PlayerBucketFillEvent;
|
||||
// CraftBukkit end
|
||||
|
||||
public class Cow extends Animal {
|
||||
@@ -16,7 +16,7 @@ index c6e5278641fb4a246a8df988fdf5068a044e2c4e..30e87b71ad237d76ec5adb4976edeca9
|
||||
|
||||
public Cow(EntityType<? extends Cow> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -63,6 +64,7 @@ public class Cow extends Animal {
|
||||
@@ -64,6 +65,7 @@ public class Cow extends Animal {
|
||||
@Override
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.cowMaxHealth);
|
||||
@@ -24,7 +24,7 @@ index c6e5278641fb4a246a8df988fdf5068a044e2c4e..30e87b71ad237d76ec5adb4976edeca9
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -75,11 +77,18 @@ public class Cow extends Animal {
|
||||
@@ -76,11 +78,18 @@ public class Cow extends Animal {
|
||||
return this.level().purpurConfig.cowTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ index c6e5278641fb4a246a8df988fdf5068a044e2c4e..30e87b71ad237d76ec5adb4976edeca9
|
||||
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
|
||||
if (level().purpurConfig.cowFeedMushrooms > 0) this.goalSelector.addGoal(3, new TemptGoal(this, 1.25D, Ingredient.of(Items.WHEAT, Blocks.RED_MUSHROOM.asItem(), Blocks.BROWN_MUSHROOM.asItem()), false)); else // Purpur
|
||||
this.goalSelector.addGoal(3, new TemptGoal(this, 1.25D, Ingredient.of(Items.WHEAT), false));
|
||||
@@ -87,10 +96,11 @@ public class Cow extends Animal {
|
||||
@@ -88,10 +97,11 @@ public class Cow extends Animal {
|
||||
this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D));
|
||||
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||
this.goalSelector.addGoal(7, new RandomLookAroundGoal(this));
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Halloween options and optimizations
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
index 7b731e6d5f50904b211c58cc3a3e0cf350f39e91..acd453eefe78eb29c914ee2ce93202dfec9e8d63 100644
|
||||
index c3d1d77a5703db4e1e3eb38fdd0b8903f691bf25..c103c3da165ec4a9717400fdf278de2a667edd2a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -314,7 +314,7 @@ public class Bat extends AmbientCreature {
|
||||
@@ -300,7 +300,7 @@ public class Bat extends AmbientCreature {
|
||||
int i = world.getMaxLocalRawBrightness(pos);
|
||||
byte b0 = 4;
|
||||
|
||||
@@ -17,7 +17,7 @@ index 7b731e6d5f50904b211c58cc3a3e0cf350f39e91..acd453eefe78eb29c914ee2ce93202df
|
||||
b0 = 7;
|
||||
} else if (random.nextBoolean()) {
|
||||
return false;
|
||||
@@ -328,6 +328,7 @@ public class Bat extends AmbientCreature {
|
||||
@@ -314,6 +314,7 @@ public class Bat extends AmbientCreature {
|
||||
private static boolean isSpookySeason = false;
|
||||
private static final int ONE_HOUR = 20 * 60 * 60;
|
||||
private static int lastSpookyCheck = -ONE_HOUR;
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] options to extinguish fire blocks with snowballs
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
|
||||
index b90cedad282e95a067aca176fafa9f72a726f520..9a8a1e773f247f4c4af4e9789deb70cd5b7889c5 100644
|
||||
index b90cedad282e95a067aca176fafa9f72a726f520..440d3d72d8b2dac14f83a83caa5ae9dbf3e979b6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
|
||||
@@ -57,6 +57,36 @@ public class Snowball extends ThrowableItemProjectile {
|
||||
@@ -24,15 +24,15 @@ index b90cedad282e95a067aca176fafa9f72a726f520..9a8a1e773f247f4c4af4e9789deb70cd
|
||||
+ net.minecraft.world.level.block.state.BlockState iblockdata = this.level().getBlockState(blockposition);
|
||||
+
|
||||
+ if (this.level().purpurConfig.snowballExtinguishesFire && this.level().getBlockState(blockposition1).is(net.minecraft.world.level.block.Blocks.FIRE)) {
|
||||
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this, blockposition1, net.minecraft.world.level.block.Blocks.AIR.defaultBlockState()).isCancelled()) {
|
||||
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this, blockposition1, net.minecraft.world.level.block.Blocks.AIR.defaultBlockState())) {
|
||||
+ this.level().removeBlock(blockposition1, false);
|
||||
+ }
|
||||
+ } else if (this.level().purpurConfig.snowballExtinguishesCandles && net.minecraft.world.level.block.AbstractCandleBlock.isLit(iblockdata)) {
|
||||
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this, blockposition, iblockdata.setValue(net.minecraft.world.level.block.AbstractCandleBlock.LIT, false)).isCancelled()) {
|
||||
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this, blockposition, iblockdata.setValue(net.minecraft.world.level.block.AbstractCandleBlock.LIT, false))) {
|
||||
+ net.minecraft.world.level.block.AbstractCandleBlock.extinguish(null, iblockdata, this.level(), blockposition);
|
||||
+ }
|
||||
+ } else if (this.level().purpurConfig.snowballExtinguishesCampfires && net.minecraft.world.level.block.CampfireBlock.isLitCampfire(iblockdata)) {
|
||||
+ if (!org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this, blockposition, iblockdata.setValue(net.minecraft.world.level.block.CampfireBlock.LIT, false)).isCancelled()) {
|
||||
+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(this, blockposition, iblockdata.setValue(net.minecraft.world.level.block.CampfireBlock.LIT, false))) {
|
||||
+ this.level().levelEvent(null, 1009, blockposition, 0);
|
||||
+ net.minecraft.world.level.block.CampfireBlock.dowse(this.getOwner(), this.level(), blockposition, iblockdata);
|
||||
+ this.level().setBlockAndUpdate(blockposition, iblockdata.setValue(net.minecraft.world.level.block.CampfireBlock.LIT, false));
|
||||
|
||||
@@ -21,10 +21,10 @@ index 1a67f46b57e398d23fbc495ee81ae62e0d84d3dc..43cdda0cb26c5d5cc9025199eb71673d
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
index acd453eefe78eb29c914ee2ce93202dfec9e8d63..f670c1aa00ebbad111b64d1b23255188288a91f2 100644
|
||||
index c103c3da165ec4a9717400fdf278de2a667edd2a..1eab1393a2636c4a247f25dae317cea60cc7021c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -295,6 +295,11 @@ public class Bat extends AmbientCreature {
|
||||
@@ -281,6 +281,11 @@ public class Bat extends AmbientCreature {
|
||||
return this.level().purpurConfig.batTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -37,10 +37,10 @@ index acd453eefe78eb29c914ee2ce93202dfec9e8d63..f670c1aa00ebbad111b64d1b23255188
|
||||
public void readAdditionalSaveData(CompoundTag nbt) {
|
||||
super.readAdditionalSaveData(nbt);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
index 318e51509338a7cf22dfeb1a923638d8df2b5c2f..fad2da0ba194d349de73777a7ab43bb6447298e7 100644
|
||||
index 0ee62562d36292d48226a3b20ac54aafe6d12394..ac4ca4de2be18a08268b24dfe259cfd136b1a4da 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -481,6 +481,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -486,6 +486,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
return this.level().purpurConfig.beeTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -101,10 +101,10 @@ index 2343325fa9a771de7b9445cda24a2bcd7a7c1761..f0b6118a9995bb41836685bbf94d2e7f
|
||||
public ItemStack getBucketItemStack() {
|
||||
return new ItemStack(Items.COD_BUCKET);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index 30e87b71ad237d76ec5adb4976edeca909e429ef..6aeb3a6ac9665a0c4b929d0f034f177df88109e0 100644
|
||||
index 37f073e821a1b0f8efe89a7d88ce732cda402dff..3cee7d5656b2df2997ceaee3489c02ce881e6875 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -83,6 +83,11 @@ public class Cow extends Animal {
|
||||
@@ -84,6 +84,11 @@ public class Cow extends Animal {
|
||||
return super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt);
|
||||
}
|
||||
|
||||
@@ -117,10 +117,10 @@ index 30e87b71ad237d76ec5adb4976edeca909e429ef..6aeb3a6ac9665a0c4b929d0f034f177d
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
index 3755ffc395ec4644a2263c59cdacfdbab258d4c8..dcb23409b8492200771c515a83d086b39777972f 100644
|
||||
index 4713e550d26c3235ee7ca227ce7e0ff31ff4321c..91e9a872b0282f50e2389ab21798fc06da8dbd6a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
|
||||
@@ -165,6 +165,11 @@ public class Dolphin extends WaterAnimal {
|
||||
@@ -169,6 +169,11 @@ public class Dolphin extends WaterAnimal {
|
||||
return this.level().purpurConfig.dolphinTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -133,7 +133,7 @@ index 3755ffc395ec4644a2263c59cdacfdbab258d4c8..dcb23409b8492200771c515a83d086b3
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
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 1cc0f08a1b63a6786d62fb1ee120e47f1b622d52..d9d4341c4511f4982f691eeea80ef17de759291a 100644
|
||||
index ed7d057bc12ca0e3d808320a008c902ebb27e1ca..ca3096abbd54745af591101c7b306ed87f212954 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -196,6 +196,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -181,7 +181,7 @@ index 56fb35206af7e04a78eba489d444135176188a20..1b0a0e36baa0f664f06b2d166aa907b3
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader world) {
|
||||
return world.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : world.getPathfindingCostFromLightLevels(pos);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
index 851ffdc7156ac9a49692cbcd9f0c9c1887aae971..b02f881bd5d8dc2cc5c37d7cf89536e69d8a0e3a 100644
|
||||
index 19ef910a77804b60c25449d084f140210778adf4..c72d5e7c2a19c5690a8065c95c75f0415358c2a9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
@@ -100,6 +100,11 @@ public class Ocelot extends Animal {
|
||||
@@ -197,10 +197,10 @@ index 851ffdc7156ac9a49692cbcd9f0c9c1887aae971..b02f881bd5d8dc2cc5c37d7cf89536e6
|
||||
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
index ae4108c833e6dba02b19dd3e6271530e5e46cecc..92638ac85237e4532024fbf75c7d5d38dcd8b4bc 100644
|
||||
index efdcfd3885d61cb3ec8db45d1f7f5a64e9c2ac24..bd7c5f6768a54a3d8ffd585d91414e65936991da 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -150,6 +150,11 @@ public class Panda extends Animal {
|
||||
@@ -153,6 +153,11 @@ public class Panda extends Animal {
|
||||
return this.level().purpurConfig.pandaTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -213,7 +213,7 @@ index ae4108c833e6dba02b19dd3e6271530e5e46cecc..92638ac85237e4532024fbf75c7d5d38
|
||||
public boolean canTakeItem(ItemStack stack) {
|
||||
EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
index bfae3b94ab035e1c27c988cfcc3b449c7266efd3..8526556c42a411414b322553c295fb430ceffa71 100644
|
||||
index 6e8fc61b04796da5a8820812b5e88110f774b77a..0e20d9ed5b25f5aaab68dc3a4fa4e63ced280969 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -206,6 +206,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
@@ -277,21 +277,21 @@ index ef3d0bbbeb6aa736f35c26066a1473c70ef028a2..54f5206b686c3cf4d2e5b470c07047a5
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
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 a91cef9b519b9d7330c40de9988f0463ce8aa20b..2bd8f6d05728b48e184f4835d6acb3a00cf66153 100644
|
||||
index 3a30a04644cbc21729c4dbb65e3fa5a95e3bed6f..b8e099ef68b7ce1e779e17a7fec05198ec350276 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -152,6 +152,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
public boolean isSensitiveToWater() {
|
||||
return this.level().purpurConfig.rabbitTakeDamageFromWater;
|
||||
}
|
||||
|
||||
+
|
||||
+ @Override
|
||||
+ protected boolean isAlwaysExperienceDropper() {
|
||||
+ return this.level().purpurConfig.rabbitAlwaysDropExp;
|
||||
+ }
|
||||
+
|
||||
// CraftBukkit start - code from constructor
|
||||
public void initializePathFinderGoals(){
|
||||
this.setSpeedModifier(0.0D);
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Salmon.java b/src/main/java/net/minecraft/world/entity/animal/Salmon.java
|
||||
index e101c3bf425902908c43ffa18867fb83a5e1f16e..382e47f26ee94506cb76463a677351b9bdcf8040 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Salmon.java
|
||||
@@ -325,7 +325,7 @@ index 35decea07efa8ca9f7ed896be9b8f3eb5afbf082..a1b323ecba25910e97f154e487acc949
|
||||
protected void registerGoals() {
|
||||
this.eatBlockGoal = new EatBlockGoal(this);
|
||||
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 e33364beff36e255989520d5d076729c9c8ed1fe..dd4d3dbda72a3bf0aabce0f999121f401f85b8a4 100644
|
||||
index 20f2fd0edf290d448d06e4772b5947fc7865c20b..fc8526af7e1df15794b4560b58e7f6a47508aa08 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
|
||||
@@ -86,6 +86,11 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
|
||||
@@ -341,10 +341,10 @@ index e33364beff36e255989520d5d076729c9c8ed1fe..dd4d3dbda72a3bf0aabce0f999121f40
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
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 80192e663bf8998d38fb3933894608327e50c46c..beef2f6a42eebeaf5761bac841300f780bfdf4f2 100644
|
||||
index 57b37ac40b4ffe6c5e27548755aaa15da89a0f0b..88c238e492b1081d1a64a3b6f05d7baa17e5d8c9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
@@ -97,6 +97,11 @@ public class Squid extends WaterAnimal {
|
||||
@@ -95,6 +95,11 @@ public class Squid extends WaterAnimal {
|
||||
return this.level().purpurConfig.squidTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -373,7 +373,7 @@ index b16d075581a352714f86f1b87805f24c9e336aa3..87b6f6b10ba6e3d9c6a42298a2019a52
|
||||
return "entity.minecraft.tropical_fish.predefined." + variant;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
index 9f8891a3eacf461071ce7ad2a277c78048171d51..7787b121def6525642672dfd67fae9ac0e010f52 100644
|
||||
index df9a7975959393ab2e81fa7c3878afd034ef7f90..1502f13acd0a104efe470e605826213ea92af191 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -115,6 +115,11 @@ public class Turtle extends Animal {
|
||||
@@ -389,10 +389,10 @@ index 9f8891a3eacf461071ce7ad2a277c78048171d51..7787b121def6525642672dfd67fae9ac
|
||||
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
|
||||
}
|
||||
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 b2902e01ff2e9add8258bfd0b32d000209208f52..e7558511e0690d80ff444e71b7524d564d68842b 100644
|
||||
index c967302542eeac0bad33c3b53b7d5b2aea7defbb..64bceae4d06b35fcbecb0daca2496ba30e39d995 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -214,6 +214,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -215,6 +215,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
return this.level().purpurConfig.wolfTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -421,10 +421,10 @@ index 6aaf20501558f1710be0adca9c14441448698541..51b475191113cf3cae5e776b0dfbcd02
|
||||
public Map<String, Vector3f> getModelRotationValues() {
|
||||
return this.modelRotationValues;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
index 6a917ef18f1f3797903e6f8b4516c0df8757c573..df08f220b7c25fd9e7daa6a23816cb8d6ff4c003 100644
|
||||
index 83a3a87caba237b382e4409339e98b6b99a005b7..0f8af63a88e425e5e66f68133b6c604caefc6977 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -116,6 +116,11 @@ public class Goat extends Animal {
|
||||
@@ -117,6 +117,11 @@ public class Goat extends Animal {
|
||||
return this.level().purpurConfig.goatTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -469,7 +469,7 @@ index f8dbea402f723bf38d7ab3f2468d1b02b7124560..3b1faa63e46a48e83ea672cf6da444a1
|
||||
protected void randomizeAttributes(RandomSource random) {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index 26ed1eef3b38e643dfc6738e4b7880c9d1c9dc20..70ac8c2fef15587d57f37c72db7913fd89f05d31 100644
|
||||
index fac46dd905f9a634cff393494f6ff0404eb17fb7..a9f36af3e07f74b3d11697d5fad9f0a469844779 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -148,6 +148,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -549,7 +549,7 @@ index 063cdf8202af060b64a52b6af6fdf8fd477df0ed..1dbe73dda3fb3f32b354c416908d37ae
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
||||
}
|
||||
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 15229503e40f1a3f5cd768c6f55e250f1bd40fec..3a6b2d0a6a4300914b2d9c135f9618d6217a25cb 100644
|
||||
index 5825fd748325b496419fce991abbb3471687e9e8..c23f346bbec84f3b474d53994f60714f75ed61d0 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
|
||||
@@ -132,6 +132,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -597,7 +597,7 @@ index aed77678edfeeeb646804a1c3b32c4ae8672074d..bf218586a79ea5f4288a64ccf6c245ee
|
||||
public boolean doHurtTarget(Entity target) {
|
||||
if (super.doHurtTarget(target)) {
|
||||
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 45a9496d9d6109b5ad844113dfd431770144b22f..05576ef4d7476f1c04d47e76bec277abea3f6afb 100644
|
||||
index 8952afb0ff84df6f99bd545cb4a8a44e87f8d878..f82c0cf252aea9441a625a312feb1e557a528e3f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -277,6 +277,11 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -645,10 +645,10 @@ index b494d5689beb19d621f5d7c9c22d84e12d303fa0..b30f13d2a7198f568bc36c0d974fd6dc
|
||||
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D);
|
||||
}
|
||||
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 bf9b9f3de67ff918e0a2288b3582af5e77e54b04..a315a5ff2674610675a819a9cf6d7c22ea0d6adc 100644
|
||||
index 869f7488f420f23941754d484546901cd25bcd6f..f476928b400b9244052b1d71e6cb2369045fe0f2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -114,6 +114,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -118,6 +118,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.endermanMaxHealth);
|
||||
}
|
||||
|
||||
@@ -821,10 +821,10 @@ index 1f64dc8442de75447c17ae4fd5483345d4b7fd3e..06d52d8b61abc4dbbdc953bfed2e688b
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
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 9083bc138d322cbb0b060c73dadc427aaa574bd9..dc55bf60f6e37971525214c1e872119e8fc92fe8 100644
|
||||
index ba0fdfb017db4c9e5250e7b8e22c61045250b0f3..219a9df146e7cb4c1065f003d4562f0a711f80e9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
@@ -98,6 +98,11 @@ public class Ravager extends Raider {
|
||||
@@ -101,6 +101,11 @@ public class Ravager extends Raider {
|
||||
return this.level().purpurConfig.ravagerTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -837,7 +837,7 @@ index 9083bc138d322cbb0b060c73dadc427aaa574bd9..dc55bf60f6e37971525214c1e872119e
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
index fbafb9e2ea9dfd237560d34f9cd6f29533e31f16..d1a80dfb51b86f92b37bbb4c235e38d2b8713541 100644
|
||||
index 714adaf017813eb64bb3a9a60b5ff45737e4d95d..3e2c60a301d4c66c85cd8ff812331005a667dc4e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -142,6 +142,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -853,10 +853,10 @@ index fbafb9e2ea9dfd237560d34f9cd6f29533e31f16..d1a80dfb51b86f92b37bbb4c235e38d2
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
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 da9e7a70c781196495f5b35fab706dc3dffa487b..2eefdf34ccb955b1e5c39bd534e7831c1786198e 100644
|
||||
index 6bdaec8e082c65959f2ee1cfe4257ba0d64bd8fa..406ce5b56f73253b034b096438c7506b63007532 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -69,6 +69,11 @@ public class Silverfish extends Monster {
|
||||
@@ -72,6 +72,11 @@ public class Silverfish extends Monster {
|
||||
return this.level().purpurConfig.silverfishTakeDamageFromWater;
|
||||
}
|
||||
|
||||
|
||||
@@ -160,10 +160,10 @@ index 14fab63346d56c72cd7534a04760efd10eef4295..745e792482f61c571e2efbd4200dd1bd
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 70830f57e3929bc37b20fd95fc4998c717e99706..b4c50e181ca7485d73750333bbaaa1b1799ba7b0 100644
|
||||
index bbf741ab97d43eaa0eade0e2f1edc7c6adc83636..96a3cf0b0bf1057da7fd37bc8d9953fec7d5eca6 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -452,7 +452,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -465,7 +465,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@Override
|
||||
public boolean addPotionEffect(PotionEffect effect, boolean force) {
|
||||
org.spigotmc.AsyncCatcher.catchOp("effect add"); // Paper
|
||||
@@ -172,7 +172,7 @@ index 70830f57e3929bc37b20fd95fc4998c717e99706..b4c50e181ca7485d73750333bbaaa1b1
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -473,7 +473,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -486,7 +486,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@Override
|
||||
public PotionEffect getPotionEffect(PotionEffectType type) {
|
||||
MobEffectInstance handle = this.getHandle().getEffect(MobEffect.byId(type.getId()));
|
||||
@@ -181,7 +181,7 @@ index 70830f57e3929bc37b20fd95fc4998c717e99706..b4c50e181ca7485d73750333bbaaa1b1
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -485,7 +485,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -498,7 +498,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
public Collection<PotionEffect> getActivePotionEffects() {
|
||||
List<PotionEffect> effects = new ArrayList<PotionEffect>();
|
||||
for (MobEffectInstance handle : this.getHandle().activeEffects.values()) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Mob head visibility percent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 558f56e7e559b5fcb712bdf3515704ad77dfe665..03ddc48436567fd3449bc8f489f8b7751eaa42c6 100644
|
||||
index 21d6851cb903f214db92109a6c16bb7367e40e1c..aff8b1b0683e52038b6d92e052a012c9198bf8ce 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1041,9 +1041,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1040,9 +1040,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
ItemStack itemstack = this.getItemBySlot(EquipmentSlot.HEAD);
|
||||
EntityType<?> entitytypes = entity.getType();
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Stop bees from dying after stinging
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
index fad2da0ba194d349de73777a7ab43bb6447298e7..2afe5a4f3abaa3f9883b13fa3895e1e15ed68d3a 100644
|
||||
index ac4ca4de2be18a08268b24dfe259cfd136b1a4da..e837500019157129007841c847d807ebae10db04 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -434,6 +434,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -439,6 +439,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
this.hurt(this.damageSources().drown(), 1.0F);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config for mob last hurt by player time
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 03ddc48436567fd3449bc8f489f8b7751eaa42c6..428c99b98b8161eac82c651a477ba478b4ee0ce7 100644
|
||||
index aff8b1b0683e52038b6d92e052a012c9198bf8ce..ec3a9946b7387754c8f5a15ce6268a7fa666db02 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1512,13 +1512,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1502,13 +1502,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
if (entity1 instanceof net.minecraft.world.entity.player.Player) {
|
||||
net.minecraft.world.entity.player.Player entityhuman = (net.minecraft.world.entity.player.Player) entity1;
|
||||
|
||||
@@ -25,10 +25,10 @@ index 03ddc48436567fd3449bc8f489f8b7751eaa42c6..428c99b98b8161eac82c651a477ba478
|
||||
|
||||
if (entityliving2 instanceof net.minecraft.world.entity.player.Player) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 54b428e98c54f7e130b91840fa4736078992d8e9..73bad77ae58ce6f817c60b28d5f40d637717531b 100644
|
||||
index 96a3cf0b0bf1057da7fd37bc8d9953fec7d5eca6..14c22d5247c8b449ea5dd89292764df491892fde 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -440,7 +440,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -453,7 +453,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
net.minecraft.server.level.ServerPlayer entityPlayer = killer == null ? null : ((CraftPlayer) killer).getHandle();
|
||||
getHandle().lastHurtByPlayer = entityPlayer;
|
||||
getHandle().lastHurtByMob = entityPlayer;
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for enchant level clamping
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
index f950ca76771a290307db728c7d35819fb37a21b5..10dbd8a58d20319a671b34d9e4a7ff5d8bce7c62 100644
|
||||
index d846d5bdc92138b6b6c44a2e47578199bb68f858..500d5bfb80d39d5030c17bd419ea07dabcf9ff67 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
@@ -1196,7 +1196,7 @@ public final class ItemStack {
|
||||
@@ -1197,7 +1197,7 @@ public final class ItemStack {
|
||||
|
||||
ListTag nbttaglist = this.tag.getList("Enchantments", 10);
|
||||
|
||||
@@ -31,7 +31,7 @@ index 2048899f8e4c8211e8dde0d11148d647678009fa..1eec84e217f6dc929091fa7451cd235e
|
||||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 3db04bc9611a76b939758ebaac8596e05860f365..3de2e7a17e1234367e4ec6d944b1145781aefeba 100644
|
||||
index 97e9621b52a6620b1768807c3352d2ef0d2f29a8..ff204d0c97452e299ef03fe193c32495e32e1098 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -395,6 +395,7 @@ public class PurpurConfig {
|
||||
|
||||
@@ -7,7 +7,7 @@ Paper patches RNG maniplulation by using a shared (and locked) random source.
|
||||
This comes with a performance gain, but technical players may prefer the ability to manipulate RNG.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 196c8b43d096289f02293f8958d591e9738e3826..0be80982b8bdcbb884aeb9a257693f0035928bef 100644
|
||||
index 75eb55794b3f025d065a4025bfbf415ac669b967..5cc1a1550807399c2d7329f521dd2a97e0a42d4b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -615,7 +615,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -20,14 +20,14 @@ index 196c8b43d096289f02293f8958d591e9738e3826..0be80982b8bdcbb884aeb9a257693f00
|
||||
this.fluidHeight = new Object2DoubleArrayMap(2);
|
||||
this.fluidOnEyes = new HashSet();
|
||||
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 beef2f6a42eebeaf5761bac841300f780bfdf4f2..41797940d89fec55cb7de4c63eb3ea5cdb4be967 100644
|
||||
index 88c238e492b1081d1a64a3b6f05d7baa17e5d8c9..dd7f2beabf0edad4143ac2365ac04a22edf1f75e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
@@ -46,7 +46,7 @@ public class Squid extends WaterAnimal {
|
||||
@@ -44,7 +44,7 @@ public class Squid extends WaterAnimal {
|
||||
|
||||
public Squid(EntityType<? extends Squid> type, Level world) {
|
||||
super(type, world);
|
||||
- //this.random.setSeed((long) this.getId()); // Paper - we set the random to shared, do not clobber the seed
|
||||
- //this.random.setSeed((long)this.getId()); // Paper - we set the random to shared, do not clobber the seed
|
||||
+ if (!world.purpurConfig.entitySharedRandom) this.random.setSeed((long) this.getId()); // Paper - we set the random to shared, do not clobber the seed // Purpur
|
||||
this.tentacleSpeed = 1.0F / (this.random.nextFloat() + 1.0F) * 0.2F;
|
||||
}
|
||||
|
||||
@@ -819,7 +819,7 @@ index c8c43454a936dd04d71fd82c955191f709a6c010..3ab54ab8d0a5ccf1abaa53cf3ce5b25f
|
||||
this.connection.send(new ClientboundPlayerAbilitiesPacket(this.getAbilities()));
|
||||
playerlist.sendLevelInfo(this, worldserver);
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 13f07c874cdf9a8063ce8f72d2402d27e6a1e7e5..4ad3916e687f9f7aa7fb6fe7bb45f236ac20b810 100644
|
||||
index 6eb223cc49a7409b94806255118a3bf04aea6d9e..84c4d7525cbd8f83f464f5116fcba8267421ebfa 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -410,7 +410,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1045,7 +1045,7 @@ index 2e6e8eac987c4ef6b2dcd3de592d8a51d2b29792..863343a87fe34d72f04af89d75268b47
|
||||
};
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 6234c23572fd3b4bd0dbd0991d7e6904c54809ff..86eead008cc45e3603021de79dfa48bb865a332a 100644
|
||||
index 5cc1a1550807399c2d7329f521dd2a97e0a42d4b..6361b13871bae7ae46a12f6e21e9a055f842fb51 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -438,7 +438,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -1122,7 +1122,7 @@ index 6234c23572fd3b4bd0dbd0991d7e6904c54809ff..86eead008cc45e3603021de79dfa48bb
|
||||
}
|
||||
}
|
||||
// Paper start - detailed watchdog information
|
||||
@@ -3117,7 +3117,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3100,7 +3100,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey);
|
||||
|
||||
if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit
|
||||
@@ -1131,7 +1131,7 @@ index 6234c23572fd3b4bd0dbd0991d7e6904c54809ff..86eead008cc45e3603021de79dfa48bb
|
||||
this.portalTime = i;
|
||||
// Paper start
|
||||
io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER);
|
||||
@@ -3135,7 +3135,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3118,7 +3118,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
} // Paper
|
||||
// CraftBukkit end
|
||||
@@ -1140,7 +1140,7 @@ index 6234c23572fd3b4bd0dbd0991d7e6904c54809ff..86eead008cc45e3603021de79dfa48bb
|
||||
}
|
||||
|
||||
this.isInsidePortal = false;
|
||||
@@ -3606,14 +3606,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3589,14 +3589,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
// Paper end
|
||||
if (this.level() instanceof ServerLevel && !this.isRemoved()) {
|
||||
@@ -1157,7 +1157,7 @@ index 6234c23572fd3b4bd0dbd0991d7e6904c54809ff..86eead008cc45e3603021de79dfa48bb
|
||||
PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit
|
||||
|
||||
if (shapedetectorshape == null) {
|
||||
@@ -3647,7 +3647,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3630,7 +3630,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.unRide();
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -1166,7 +1166,7 @@ index 6234c23572fd3b4bd0dbd0991d7e6904c54809ff..86eead008cc45e3603021de79dfa48bb
|
||||
// Paper start - Change lead drop timing to prevent dupe
|
||||
if (this instanceof Mob) {
|
||||
((Mob) this).dropLeash(true, true); // Paper drop lead
|
||||
@@ -3670,10 +3670,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3653,10 +3653,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
this.removeAfterChangingDimensions();
|
||||
@@ -1180,10 +1180,10 @@ index 6234c23572fd3b4bd0dbd0991d7e6904c54809ff..86eead008cc45e3603021de79dfa48bb
|
||||
}
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 428c99b98b8161eac82c651a477ba478b4ee0ce7..f8b920d7b7afff39a62c8a8a08512a7c59a23687 100644
|
||||
index ec3a9946b7387754c8f5a15ce6268a7fa666db02..9012b5b918bca409166db9eb29c201a793886dbb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -411,7 +411,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -410,7 +410,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
super.baseTick();
|
||||
@@ -1192,7 +1192,7 @@ index 428c99b98b8161eac82c651a477ba478b4ee0ce7..f8b920d7b7afff39a62c8a8a08512a7c
|
||||
if (this.fireImmune() || this.level().isClientSide) {
|
||||
this.clearFire();
|
||||
}
|
||||
@@ -514,7 +514,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -513,7 +513,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.yHeadRotO = this.yHeadRot;
|
||||
this.yRotO = this.getYRot();
|
||||
this.xRotO = this.getXRot();
|
||||
@@ -1201,7 +1201,7 @@ index 428c99b98b8161eac82c651a477ba478b4ee0ce7..f8b920d7b7afff39a62c8a8a08512a7c
|
||||
}
|
||||
|
||||
public boolean canSpawnSoulSpeedParticle() {
|
||||
@@ -3133,10 +3133,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3123,10 +3123,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
this.run += (f3 - this.run) * 0.3F;
|
||||
@@ -1215,7 +1215,7 @@ index 428c99b98b8161eac82c651a477ba478b4ee0ce7..f8b920d7b7afff39a62c8a8a08512a7c
|
||||
|
||||
// Paper start - stop large pitch and yaw changes from crashing the server
|
||||
this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F;
|
||||
@@ -3148,7 +3148,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3138,7 +3138,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.yHeadRotO += Math.round((this.yHeadRot - this.yHeadRotO) / 360.0F) * 360.0F;
|
||||
// Paper end
|
||||
|
||||
@@ -1224,7 +1224,7 @@ index 428c99b98b8161eac82c651a477ba478b4ee0ce7..f8b920d7b7afff39a62c8a8a08512a7c
|
||||
this.animStep += f2;
|
||||
if (this.isFallFlying()) {
|
||||
++this.fallFlyTicks;
|
||||
@@ -3437,19 +3437,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3427,19 +3427,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
this.setDeltaMovement(d4, d5, d6);
|
||||
@@ -1249,7 +1249,7 @@ index 428c99b98b8161eac82c651a477ba478b4ee0ce7..f8b920d7b7afff39a62c8a8a08512a7c
|
||||
if (this.jumping && this.isAffectedByFluids()) {
|
||||
double d7;
|
||||
|
||||
@@ -3476,8 +3476,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3466,8 +3466,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.noJumpDelay = 0;
|
||||
}
|
||||
|
||||
@@ -1260,7 +1260,7 @@ index 428c99b98b8161eac82c651a477ba478b4ee0ce7..f8b920d7b7afff39a62c8a8a08512a7c
|
||||
this.xxa *= 0.98F;
|
||||
this.zza *= 0.98F;
|
||||
this.updateFallFlying();
|
||||
@@ -3504,8 +3504,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3494,8 +3494,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.travel(vec3d1);
|
||||
}
|
||||
|
||||
@@ -1271,7 +1271,7 @@ index 428c99b98b8161eac82c651a477ba478b4ee0ce7..f8b920d7b7afff39a62c8a8a08512a7c
|
||||
if (!this.level().isClientSide && !this.isDeadOrDying() && !freezeLocked) { // Paper - Freeze Tick Lock API
|
||||
int i = this.getTicksFrozen();
|
||||
|
||||
@@ -3522,15 +3522,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3512,15 +3512,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.hurt(this.damageSources().freeze(), 1.0F);
|
||||
}
|
||||
|
||||
@@ -1593,10 +1593,10 @@ index af8438ae8c805d3276ef2d82eb39b08880fcc8a1..6b012bea26e8ef0c04571f43da67f6e1
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
index df08f220b7c25fd9e7daa6a23816cb8d6ff4c003..1a989f9fbeaf51b9dc3ba32e1f6fb838db5af13e 100644
|
||||
index 0f8af63a88e425e5e66f68133b6c604caefc6977..31cfc2c8c5188a266c9e9993e5cf322e000df397 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -223,13 +223,14 @@ public class Goat extends Animal {
|
||||
@@ -224,13 +224,14 @@ public class Goat extends Animal {
|
||||
private int behaviorTick = 0; // Pufferfish
|
||||
@Override
|
||||
protected void customServerAiStep() {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add Bee API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
index 2afe5a4f3abaa3f9883b13fa3895e1e15ed68d3a..2677e7899aa98fc04070f5bbbc40da6117d89efa 100644
|
||||
index e837500019157129007841c847d807ebae10db04..6c04c8e7776b2830ac368229da834532e8ce163e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
|
||||
@@ -803,6 +803,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -807,6 +807,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
if (optional.isPresent()) {
|
||||
Bee.this.savedFlowerPos = (BlockPos) optional.get();
|
||||
Bee.this.navigation.moveTo((double) Bee.this.savedFlowerPos.getX() + 0.5D, (double) Bee.this.savedFlowerPos.getY() + 0.5D, (double) Bee.this.savedFlowerPos.getZ() + 0.5D, 1.2000000476837158D);
|
||||
@@ -16,7 +16,7 @@ index 2afe5a4f3abaa3f9883b13fa3895e1e15ed68d3a..2677e7899aa98fc04070f5bbbc40da61
|
||||
return true;
|
||||
} else {
|
||||
Bee.this.remainingCooldownBeforeLocatingNewFlower = Mth.nextInt(Bee.this.random, 20, 60);
|
||||
@@ -859,6 +860,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -863,6 +864,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
this.pollinating = false;
|
||||
Bee.this.navigation.stop();
|
||||
Bee.this.remainingCooldownBeforeLocatingNewFlower = 200;
|
||||
@@ -24,7 +24,7 @@ index 2afe5a4f3abaa3f9883b13fa3895e1e15ed68d3a..2677e7899aa98fc04070f5bbbc40da61
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -905,6 +907,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
@@ -909,6 +911,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
|
||||
this.setWantedPos();
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 96e8c253cb39822c2b856cf06e78406106ce431c..52c5efb011fa751f2a4dff7b69fde2a42fc71e12 100644
|
||||
index 2138d98b83bfee76d0c67272b8e10d14f2da7a3f..9ff6d2ae803e4ebab0d76c8eb20b6524b7d77786 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1538,6 +1538,42 @@ public final class CraftServer implements Server {
|
||||
@@ -1541,6 +1541,42 @@ public final class CraftServer implements Server {
|
||||
public void removeFuel(org.bukkit.Material material) {
|
||||
net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity.removeFuel(net.minecraft.world.item.ItemStack.fromBukkitCopy(new ItemStack(material)));
|
||||
}
|
||||
@@ -52,7 +52,7 @@ index 96e8c253cb39822c2b856cf06e78406106ce431c..52c5efb011fa751f2a4dff7b69fde2a4
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index a3d28fffdfa4b3a4db3009395eb2842a53949d0d..1fc38937f514de993439487bb5ec492b49a2ad0b 100644
|
||||
index 4720939d138300ed410871e40d3d2800224a7987..f30c6e09adb3a6aa485357f859fc2a22227350c9 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -2294,6 +2294,42 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -99,10 +99,10 @@ index a3d28fffdfa4b3a4db3009395eb2842a53949d0d..1fc38937f514de993439487bb5ec492b
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index a3c02fd97c745229be98a172e6f65ad8172ec94c..5c2a0f5e76e77b0d73b73ab893d253e86f0f8433 100644
|
||||
index a4fd43722384b9b6dff269ff70ea545715a85ec2..16935f8df9446fbf9cde68dd4c7989d983e4d11d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3218,5 +3218,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -3247,5 +3247,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) {
|
||||
getHandle().spawnInvulnerableTime = spawnInvulnerableTime;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 5c2a0f5e76e77b0d73b73ab893d253e86f0f8433..3d2c4ba68b1fdc10d7592164e1fab9b3a6458187 100644
|
||||
index 16935f8df9446fbf9cde68dd4c7989d983e4d11d..e21cd8c4015cd726bb10d51545d52c3010381848 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3261,5 +3261,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -3290,5 +3290,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
if (this.getHandle().connection == null) return;
|
||||
this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket(ClientboundCustomPayloadPacket.DEBUG_GAME_TEST_CLEAR, new FriendlyByteBuf(io.netty.buffer.Unpooled.buffer())));
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user