Updated Upstream (Bukkit/CraftBukkit/Spigot) (#10277)
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 9a80d38c SPIGOT-336, SPIGOT-3366, SPIGOT-5768, SPIGOT-6409, SPIGOT-6861, PR-722: Add EntityRemoveEvent 258086d9 SPIGOT-7417, PR-967: Add Sign#getTargetSide and Sign#getAllowedEditor ffaba051 SPIGOT-7584: Add missing Tag.ITEMS_NON_FLAMMABLE_WOOD CraftBukkit Changes: 98b6c1ac7 SPIGOT-7589 Fix NullPointerException when bans expire a2736ddb0 SPIGOT-336, SPIGOT-3366, SPIGOT-5768, SPIGOT-6409, SPIGOT-6861, PR-1008: Add EntityRemoveEvent 5bf12cb89 SPIGOT-7565: Throw a more descriptive error message when a developer tries to spawn an entity from a CraftBukkit class 76d95fe7e SPIGOT-7417, PR-1343: Add Sign#getTargetSide and Sign#getAllowedEditor Spigot Changes: e9ec5485 Rebuild patches f1b62e0c Rebuild patches
This commit is contained in:
parent
3ea95efdeb
commit
71c84c8132
489 changed files with 1285 additions and 1226 deletions
|
@ -28,10 +28,10 @@ index 37dab9e868dbfb019c271a547d975a48ad1cb571..3811c0d849a3eb028ed1a6b7a2d4747f
|
|||
+/.factorypath
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..09bffd973b184c40cce29d81430700ee4065555f
|
||||
index 0000000000000000000000000000000000000000..74849d7b20e3c3831a6a6c3715a6e875d6ff8a48
|
||||
--- /dev/null
|
||||
+++ b/build.gradle.kts
|
||||
@@ -0,0 +1,140 @@
|
||||
@@ -0,0 +1,141 @@
|
||||
+import io.papermc.paperweight.util.*
|
||||
+
|
||||
+plugins {
|
||||
|
@ -58,6 +58,7 @@ index 0000000000000000000000000000000000000000..09bffd973b184c40cce29d81430700ee
|
|||
+ testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
|
||||
+ testImplementation("org.hamcrest:hamcrest:2.2")
|
||||
+ testImplementation("org.mockito:mockito-core:5.5.0")
|
||||
+ testImplementation("org.ow2.asm:asm-tree:9.5")
|
||||
+}
|
||||
+
|
||||
+val craftbukkitPackageVersion = "1_20_R3" // Paper
|
||||
|
@ -174,10 +175,10 @@ index 0000000000000000000000000000000000000000..09bffd973b184c40cce29d81430700ee
|
|||
+}
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
deleted file mode 100644
|
||||
index d18fdadf925df41f04941dcc7eecdd3cadf5364a..0000000000000000000000000000000000000000
|
||||
index 22a2e4d92ba6774aa27c0bd123dac912b3e1ee65..0000000000000000000000000000000000000000
|
||||
--- a/pom.xml
|
||||
+++ /dev/null
|
||||
@@ -1,608 +0,0 @@
|
||||
@@ -1,614 +0,0 @@
|
||||
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
- <modelVersion>4.0.0</modelVersion>
|
||||
|
@ -474,6 +475,12 @@ index d18fdadf925df41f04941dcc7eecdd3cadf5364a..00000000000000000000000000000000
|
|||
- <version>5.5.0</version>
|
||||
- <scope>test</scope>
|
||||
- </dependency>
|
||||
- <dependency>
|
||||
- <groupId>org.ow2.asm</groupId>
|
||||
- <artifactId>asm-tree</artifactId>
|
||||
- <version>9.5</version>
|
||||
- <scope>test</scope>
|
||||
- </dependency>
|
||||
- </dependencies>
|
||||
-
|
||||
- <!-- This builds a completely 'ready to start' jar with all dependencies inside -->
|
||||
|
|
|
@ -9,7 +9,7 @@ public net.minecraft.server.packs.VanillaPackResourcesBuilder safeGetPath(Ljava/
|
|||
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index 09bffd973b184c40cce29d81430700ee4065555f..e7fa464573909d4c3d649ebb5f40ef54055e09a8 100644
|
||||
index 74849d7b20e3c3831a6a6c3715a6e875d6ff8a48..517aaae21f8fbd6916ab23d85dac5f74aea9e984 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -9,9 +9,7 @@ plugins {
|
||||
|
@ -23,7 +23,7 @@ index 09bffd973b184c40cce29d81430700ee4065555f..e7fa464573909d4c3d649ebb5f40ef54
|
|||
implementation("org.ow2.asm:asm-commons:9.5")
|
||||
implementation("commons-lang:commons-lang:2.6")
|
||||
runtimeOnly("org.xerial:sqlite-jdbc:3.42.0.1")
|
||||
@@ -35,6 +33,7 @@ tasks.jar {
|
||||
@@ -36,6 +34,7 @@ tasks.jar {
|
||||
val gitHash = git("rev-parse", "--short=7", "HEAD").getText().trim()
|
||||
val implementationVersion = System.getenv("BUILD_NUMBER") ?: "\"$gitHash\""
|
||||
val date = git("show", "-s", "--format=%ci", gitHash).getText().trim() // Paper
|
||||
|
@ -31,7 +31,7 @@ index 09bffd973b184c40cce29d81430700ee4065555f..e7fa464573909d4c3d649ebb5f40ef54
|
|||
attributes(
|
||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||
"Implementation-Title" to "CraftBukkit",
|
||||
@@ -43,6 +42,9 @@ tasks.jar {
|
||||
@@ -44,6 +43,9 @@ tasks.jar {
|
||||
"Specification-Title" to "Bukkit",
|
||||
"Specification-Version" to project.version,
|
||||
"Specification-Vendor" to "Bukkit Team",
|
||||
|
@ -41,7 +41,7 @@ index 09bffd973b184c40cce29d81430700ee4065555f..e7fa464573909d4c3d649ebb5f40ef54
|
|||
)
|
||||
for (tld in setOf("net", "com", "org")) {
|
||||
attributes("$tld/bukkit", "Sealed" to true)
|
||||
@@ -50,6 +52,11 @@ tasks.jar {
|
||||
@@ -51,6 +53,11 @@ tasks.jar {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -53,7 +53,7 @@ index 09bffd973b184c40cce29d81430700ee4065555f..e7fa464573909d4c3d649ebb5f40ef54
|
|||
publishing {
|
||||
publications.create<MavenPublication>("maven") {
|
||||
artifact(tasks.shadowJar)
|
||||
@@ -76,6 +83,17 @@ tasks.shadowJar {
|
||||
@@ -77,6 +84,17 @@ tasks.shadowJar {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -71,7 +71,7 @@ index 09bffd973b184c40cce29d81430700ee4065555f..e7fa464573909d4c3d649ebb5f40ef54
|
|||
tasks.test {
|
||||
exclude("org/bukkit/craftbukkit/inventory/ItemStack*Test.class")
|
||||
useJUnitPlatform()
|
||||
@@ -134,7 +152,14 @@ tasks.registerRunTask("runReobf") {
|
||||
@@ -135,7 +153,14 @@ tasks.registerRunTask("runReobf") {
|
||||
classpath(runtimeClasspathWithoutVanillaServer)
|
||||
}
|
||||
|
||||
|
|
|
@ -5,18 +5,18 @@ Subject: [PATCH] Test changes
|
|||
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index e7fa464573909d4c3d649ebb5f40ef54055e09a8..8d2aa99b4bd0d1c46c66274907a1f11d605a75da 100644
|
||||
index 517aaae21f8fbd6916ab23d85dac5f74aea9e984..9098a40f944a3c6c0e907013c212eb3f1895e010 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -22,6 +22,7 @@ dependencies {
|
||||
testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
|
||||
@@ -23,6 +23,7 @@ dependencies {
|
||||
testImplementation("org.hamcrest:hamcrest:2.2")
|
||||
testImplementation("org.mockito:mockito-core:5.5.0")
|
||||
testImplementation("org.ow2.asm:asm-tree:9.5")
|
||||
+ testImplementation("org.junit-pioneer:junit-pioneer:2.2.0") // Paper - CartesianTest
|
||||
}
|
||||
|
||||
val craftbukkitPackageVersion = "1_20_R3" // Paper
|
||||
@@ -57,6 +58,12 @@ tasks.compileJava {
|
||||
@@ -58,6 +59,12 @@ tasks.compileJava {
|
||||
options.setIncremental(false)
|
||||
}
|
||||
|
||||
|
|
|
@ -6342,7 +6342,7 @@ index 1641bdf8725df778ba91bf5cd22c1ebbb3745058..facfdbb87e89f4db33ce13233c2ba436
|
|||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index f083356fe490ecebdc1486784f4833d778b816f4..59b608d9722898470010413bef0cb6a6b83500b2 100644
|
||||
index 37527f5cb6e96410a5679b8b27f763727afc8657..8908511590adab6025ff02928591aa3cce4e480e 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -168,6 +168,62 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
|
@ -6830,7 +6830,7 @@ index 1d12a7934308aa48d7ea7fa10c7b6b5ccb27e707..2c4727bf4571e1596bb0696b25104155
|
|||
ChunkHolder playerchunk = this.getVisibleChunkIfPresent(pos);
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 93867b8883c6f5d5086e8fdc153e6d7c1e5d9fec..68a0192f3b1c9491a6f64309ccc919274cdfe178 100644
|
||||
index 30fc222c384938fb4fdd4c6715295aeea57094bc..9ea829aafa7a874a784d02da889576c80de17d0c 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -230,6 +230,98 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
@ -6998,10 +6998,10 @@ index 43040b678206092bcb06acde919b75ecb78564df..d11741d2618976bdb51f75d823f260f3
|
|||
public BlockState getBlockState(BlockPos pos) {
|
||||
return this.getChunk(SectionPos.blockToSectionCoord(pos.getX()), SectionPos.blockToSectionCoord(pos.getZ())).getBlockState(pos);
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 6e26ee14195493a9c4eab60a3c4cd0dd09786ec2..6e1b20bfe61339fa22d4403ed77b961cc0f0105c 100644
|
||||
index 93e0de052ea54cc1dee1ebc017fefb634eb42f8d..2e8e786407869b53cb4d7e4ec8f91fe0a3ad8e1a 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -177,6 +177,7 @@ public abstract class PlayerList {
|
||||
@@ -178,6 +178,7 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public void placeNewPlayer(Connection connection, ServerPlayer player, CommonListenerCookie clientData) {
|
||||
|
@ -7028,10 +7028,10 @@ index 337e0a7b3c14e1b1a28744920e0dc0a69e0c5a87..f5829ae484d93b547a5437b85a962134
|
|||
@Override
|
||||
public void tell(R runnable) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 449635563afcb6a43e036dc0f3988efddbb622b2..e945daf877068625d4ad0f0b534f2eb23ee658a9 100644
|
||||
index 02a90d4719b53f8538ed79c1f1a5c6d8833e495c..01c2ccb29dd74655ef65cc29ff2cafe6b467e5a5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -330,6 +330,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -331,6 +331,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
return this.level.hasChunk((int) Math.floor(this.getX()) >> 4, (int) Math.floor(this.getZ()) >> 4);
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
@ -7044,10 +7044,10 @@ index 449635563afcb6a43e036dc0f3988efddbb622b2..e945daf877068625d4ad0f0b534f2eb2
|
|||
public Entity(EntityType<?> type, Level world) {
|
||||
this.id = Entity.ENTITY_COUNTER.incrementAndGet();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index db768130e7b7c21e111687ebe761608e7494a739..44bfb8778f2894be9633be7ddc4f3c6881c9b05d 100644
|
||||
index a038920172102f5ad4ceb77abef4f7b61fca5862..ea73e8a04ee767625d06483dce83d68262887a27 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -258,6 +258,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -259,6 +259,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
public boolean collides = true;
|
||||
public Set<UUID> collidableExemptions = new HashSet<>();
|
||||
public boolean bukkitPickUpLoot;
|
||||
|
@ -7056,10 +7056,10 @@ index db768130e7b7c21e111687ebe761608e7494a739..44bfb8778f2894be9633be7ddc4f3c68
|
|||
@Override
|
||||
public float getBukkitYaw() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 0f24a32334e66b0c93287c9b2b14484da799738f..fc264864d4a6f56f94d884f4892257452b360b73 100644
|
||||
index 13adb7f79073ff4b01906df61098c5436eb613e3..8892a6344b3a96a3d412528b80ce7bcf1ab30003 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -277,6 +277,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -278,6 +278,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
return this.target;
|
||||
}
|
||||
|
||||
|
@ -7710,10 +7710,10 @@ index 51a0ddcee9a9cb1040fda643a6442d2e2e15b8a0..38ec21faaa16df5485a81a581506700a
|
|||
public BlockState getBlockState(BlockPos pos) {
|
||||
int i = pos.getY();
|
||||
diff --git a/src/main/java/net/minecraft/world/level/entity/PersistentEntitySectionManager.java b/src/main/java/net/minecraft/world/level/entity/PersistentEntitySectionManager.java
|
||||
index 98836000cbca2a21649cb8f2a466986373405ea1..bbbf6dd8e566ecdca8794e3b03765fe7e426a2bd 100644
|
||||
index e3709b2b40beb8f95e5b9bb7d20141e16b3192e3..8f23b45dce35617bb56b21fb4f7a09baf36d40c5 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/entity/PersistentEntitySectionManager.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/entity/PersistentEntitySectionManager.java
|
||||
@@ -90,6 +90,18 @@ public class PersistentEntitySectionManager<T extends EntityAccess> implements A
|
||||
@@ -91,6 +91,18 @@ public class PersistentEntitySectionManager<T extends EntityAccess> implements A
|
||||
}
|
||||
|
||||
private boolean addEntity(T entity, boolean existing) {
|
||||
|
@ -7827,10 +7827,10 @@ index fcf06c157fa8ecdb742c301a95da8489e951ea20..1ce9787b04e28b3a50fdc7779a430c3b
|
|||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 70165d287156f46b793eb23dd30b601289c0ffb1..758bf988432bb34aad9386e3f4e8bba68891660b 100644
|
||||
index f5a5496e21e29c6ae9f497f5939823078ac8c1c0..7126d8cdeea5eb23176af6a97a99b33961749d71 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -897,4 +897,37 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -898,4 +898,37 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return this.spigot;
|
||||
}
|
||||
// Spigot end
|
||||
|
|
|
@ -3081,10 +3081,10 @@ index b23480fab4a7cba922b36cb31d4f77f720bf3aac..7dd3dfd2ccc820d45849a89707239b7d
|
|||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 6e1b20bfe61339fa22d4403ed77b961cc0f0105c..6e9f5a404511f3703298def67402b87eca2f28a0 100644
|
||||
index 2e8e786407869b53cb4d7e4ec8f91fe0a3ad8e1a..5e00df1cd2b8a6691b2f9490b1f4c3ed4d6a988a 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -269,7 +269,7 @@ public abstract class PlayerList {
|
||||
@@ -270,7 +270,7 @@ public abstract class PlayerList {
|
||||
}
|
||||
// CraftBukkit start
|
||||
ichatmutablecomponent.withStyle(ChatFormatting.YELLOW);
|
||||
|
@ -3093,7 +3093,7 @@ index 6e1b20bfe61339fa22d4403ed77b961cc0f0105c..6e9f5a404511f3703298def67402b87e
|
|||
|
||||
playerconnection.teleport(player.getX(), player.getY(), player.getZ(), player.getYRot(), player.getXRot());
|
||||
ServerStatus serverping = this.server.getStatus();
|
||||
@@ -290,19 +290,18 @@ public abstract class PlayerList {
|
||||
@@ -291,19 +291,18 @@ public abstract class PlayerList {
|
||||
// Ensure that player inventory is populated with its viewer
|
||||
player.containerMenu.transferTo(player.containerMenu, bukkitPlayer);
|
||||
|
||||
|
@ -3118,7 +3118,7 @@ index 6e1b20bfe61339fa22d4403ed77b961cc0f0105c..6e9f5a404511f3703298def67402b87e
|
|||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -500,7 +499,7 @@ public abstract class PlayerList {
|
||||
@@ -501,7 +500,7 @@ public abstract class PlayerList {
|
||||
|
||||
}
|
||||
|
||||
|
@ -3127,7 +3127,7 @@ index 6e1b20bfe61339fa22d4403ed77b961cc0f0105c..6e9f5a404511f3703298def67402b87e
|
|||
ServerLevel worldserver = entityplayer.serverLevel();
|
||||
|
||||
entityplayer.awardStat(Stats.LEAVE_GAME);
|
||||
@@ -511,7 +510,7 @@ public abstract class PlayerList {
|
||||
@@ -512,7 +511,7 @@ public abstract class PlayerList {
|
||||
entityplayer.closeContainer();
|
||||
}
|
||||
|
||||
|
@ -3136,7 +3136,7 @@ index 6e1b20bfe61339fa22d4403ed77b961cc0f0105c..6e9f5a404511f3703298def67402b87e
|
|||
this.cserver.getPluginManager().callEvent(playerQuitEvent);
|
||||
entityplayer.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage());
|
||||
|
||||
@@ -564,7 +563,7 @@ public abstract class PlayerList {
|
||||
@@ -565,7 +564,7 @@ public abstract class PlayerList {
|
||||
this.cserver.getScoreboardManager().removePlayer(entityplayer.getBukkitEntity());
|
||||
// CraftBukkit end
|
||||
|
||||
|
@ -3145,7 +3145,7 @@ index 6e1b20bfe61339fa22d4403ed77b961cc0f0105c..6e9f5a404511f3703298def67402b87e
|
|||
}
|
||||
|
||||
// CraftBukkit start - Whole method, SocketAddress to LoginListener, added hostname to signature, return EntityPlayer
|
||||
@@ -610,10 +609,10 @@ public abstract class PlayerList {
|
||||
@@ -611,11 +610,11 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
// return chatmessage;
|
||||
|
@ -3154,11 +3154,13 @@ index 6e1b20bfe61339fa22d4403ed77b961cc0f0105c..6e9f5a404511f3703298def67402b87e
|
|||
} else if (!this.isWhiteListed(gameprofile)) {
|
||||
ichatmutablecomponent = Component.translatable("multiplayer.disconnect.not_whitelisted");
|
||||
- event.disallow(PlayerLoginEvent.Result.KICK_WHITELIST, org.spigotmc.SpigotConfig.whitelistMessage); // Spigot
|
||||
- } else if (this.ipBans.isBanned(socketaddress)) {
|
||||
+ event.disallow(PlayerLoginEvent.Result.KICK_WHITELIST, net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(org.spigotmc.SpigotConfig.whitelistMessage)); // Spigot // Paper - Adventure
|
||||
} else if (this.getIpBans().isBanned(socketaddress) && !this.getIpBans().get(socketaddress).hasExpired()) {
|
||||
+ } else if (this.getIpBans().isBanned(socketaddress) && !this.getIpBans().get(socketaddress).hasExpired()) {
|
||||
IpBanListEntry ipbanentry = this.ipBans.get(socketaddress);
|
||||
|
||||
@@ -623,17 +622,17 @@ public abstract class PlayerList {
|
||||
ichatmutablecomponent = Component.translatable("multiplayer.disconnect.banned_ip.reason", ipbanentry.getReason());
|
||||
@@ -624,17 +623,17 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
// return chatmessage;
|
||||
|
@ -3179,7 +3181,7 @@ index 6e1b20bfe61339fa22d4403ed77b961cc0f0105c..6e9f5a404511f3703298def67402b87e
|
|||
return null;
|
||||
}
|
||||
return entity;
|
||||
@@ -1153,7 +1152,7 @@ public abstract class PlayerList {
|
||||
@@ -1154,7 +1153,7 @@ public abstract class PlayerList {
|
||||
public void removeAll() {
|
||||
// CraftBukkit start - disconnect safely
|
||||
for (ServerPlayer player : this.players) {
|
||||
|
@ -3188,7 +3190,7 @@ index 6e1b20bfe61339fa22d4403ed77b961cc0f0105c..6e9f5a404511f3703298def67402b87e
|
|||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -1194,24 +1193,43 @@ public abstract class PlayerList {
|
||||
@@ -1195,24 +1194,43 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public void broadcastChatMessage(PlayerChatMessage message, ServerPlayer sender, ChatType.Bound params) {
|
||||
|
@ -3235,7 +3237,7 @@ index 6e1b20bfe61339fa22d4403ed77b961cc0f0105c..6e9f5a404511f3703298def67402b87e
|
|||
}
|
||||
|
||||
if (flag1 && sender != null) {
|
||||
@@ -1220,7 +1238,7 @@ public abstract class PlayerList {
|
||||
@@ -1221,7 +1239,7 @@ public abstract class PlayerList {
|
||||
|
||||
}
|
||||
|
||||
|
@ -3759,10 +3761,10 @@ index 459e134e96121e611dd864f66a3f2cb64dbaf61c..ecb6f846cdaa2e9f01853001b1626315
|
|||
public String getCustomName() {
|
||||
EnchantmentTableBlockEntity enchant = this.getSnapshot();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
|
||||
index 1791d435552b812856f38dc6d8a97182b1a8eb12..94caa0915e1a9ec1c46c7a0380db840901cc8063 100644
|
||||
index 87b415c4d7abb32afc74986ff3de4a75987d2a68..d1b335d7342aa85478daeb7801a999ccd4be7136 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java
|
||||
@@ -33,6 +33,23 @@ public class CraftSign<T extends SignBlockEntity> extends CraftBlockEntityState<
|
||||
@@ -35,6 +35,23 @@ public class CraftSign<T extends SignBlockEntity> extends CraftBlockEntityState<
|
||||
this.back = new CraftSignSide(this.getSnapshot().getBackText());
|
||||
}
|
||||
|
||||
|
@ -3786,7 +3788,7 @@ index 1791d435552b812856f38dc6d8a97182b1a8eb12..94caa0915e1a9ec1c46c7a0380db8409
|
|||
@Override
|
||||
public String[] getLines() {
|
||||
return this.front.getLines();
|
||||
@@ -132,6 +149,20 @@ public class CraftSign<T extends SignBlockEntity> extends CraftBlockEntityState<
|
||||
@@ -155,6 +172,20 @@ public class CraftSign<T extends SignBlockEntity> extends CraftBlockEntityState<
|
||||
((CraftPlayer) player).getHandle().openTextEdit(handle, Side.FRONT == side);
|
||||
}
|
||||
|
||||
|
@ -4054,10 +4056,10 @@ index 24052b8102061c6fbf01b3e9b2346ed9783787e6..f0f7fb977edb7e7009716429f007e44f
|
|||
@Override
|
||||
public boolean equals(Object other) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 758bf988432bb34aad9386e3f4e8bba68891660b..e269812e6193492afc3f25612edafa1a58325fa3 100644
|
||||
index 7126d8cdeea5eb23176af6a97a99b33961749d71..e78a378f0de48cde3702774970e6cda241b8ddda 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -66,6 +66,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -67,6 +67,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
private final EntityType entityType;
|
||||
private EntityDamageEvent lastDamageEvent;
|
||||
private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftEntity.DATA_TYPE_REGISTRY);
|
||||
|
@ -4065,7 +4067,7 @@ index 758bf988432bb34aad9386e3f4e8bba68891660b..e269812e6193492afc3f25612edafa1a
|
|||
|
||||
public CraftEntity(final CraftServer server, final Entity entity) {
|
||||
this.server = server;
|
||||
@@ -522,6 +523,32 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -523,6 +524,32 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return this.getHandle().getVehicle().getBukkitEntity();
|
||||
}
|
||||
|
||||
|
@ -4098,7 +4100,7 @@ index 758bf988432bb34aad9386e3f4e8bba68891660b..e269812e6193492afc3f25612edafa1a
|
|||
@Override
|
||||
public void setCustomName(String name) {
|
||||
// sane limit for name length
|
||||
@@ -618,6 +645,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -619,6 +646,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
public String getName() {
|
||||
return CraftChatMessage.fromComponent(this.getHandle().getName());
|
||||
}
|
||||
|
@ -4702,10 +4704,10 @@ index 5725b0281ac53a2354b233223259d6784353bc6e..9ef939b76d06874b856e0c850addb364
|
|||
@Override
|
||||
public int getLineWidth() {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 249d271338a75c49ec9bc886d034af637618bc7b..da100f451238a093bcaad83343a79254d4aa31ce 100644
|
||||
index 2496f4462b35a7297dd9320c35f109d3c2a9867f..6571adf5285ab3f84513c2f5b32ff0523c2cccd6 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -904,7 +904,7 @@ public class CraftEventFactory {
|
||||
@@ -905,7 +905,7 @@ public class CraftEventFactory {
|
||||
return event;
|
||||
}
|
||||
|
||||
|
@ -4714,7 +4716,7 @@ index 249d271338a75c49ec9bc886d034af637618bc7b..da100f451238a093bcaad83343a79254
|
|||
CraftPlayer entity = victim.getBukkitEntity();
|
||||
PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage);
|
||||
event.setKeepInventory(keepInventory);
|
||||
@@ -931,7 +931,7 @@ public class CraftEventFactory {
|
||||
@@ -932,7 +932,7 @@ public class CraftEventFactory {
|
||||
* Server methods
|
||||
*/
|
||||
public static ServerListPingEvent callServerListPingEvent(SocketAddress address, String motd, int numPlayers, int maxPlayers) {
|
||||
|
|
|
@ -976,7 +976,7 @@ index 4917aa64505870a0521bc09ce4d4d3e37c03eaae..65dbd05fa904eb8f0f0ef5d3fc3c1e88
|
|||
// CraftBukkit end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index 59b608d9722898470010413bef0cb6a6b83500b2..7245b93a4935aece23567fda0474104686485395 100644
|
||||
index 8908511590adab6025ff02928591aa3cce4e480e..97bb0fc7e890273f2f975f137ec1194a1a83fde7 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -1,8 +1,10 @@
|
||||
|
@ -1125,7 +1125,7 @@ index 2c4727bf4571e1596bb0696b25104155f6302065..e0ae7274da59ff043cd423d282ed8db0
|
|||
gameprofilerfiller.pop();
|
||||
gameprofilerfiller.pop();
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 68a0192f3b1c9491a6f64309ccc919274cdfe178..73608abb5a39749c326ce6fe1bf014422941b2d1 100644
|
||||
index 9ea829aafa7a874a784d02da889576c80de17d0c..13725b794e923a4de0d06edcba1adf1b04611c95 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1,6 +1,8 @@
|
||||
|
@ -1244,7 +1244,7 @@ index 68a0192f3b1c9491a6f64309ccc919274cdfe178..73608abb5a39749c326ce6fe1bf01442
|
|||
this.entityManager.saveAll();
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index acd53d9005fc5f43b94c80ec5e7d0e1f9c86ca98..01c70d149b306030c775427f744c4dfab19411cf 100644
|
||||
index 93ef520b8f047870f48e908ae55590547ad88729..4be0935a36bd7b2e0d83e30b6edc43a6429dac22 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -322,7 +322,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
@ -1291,7 +1291,7 @@ index acd53d9005fc5f43b94c80ec5e7d0e1f9c86ca98..01c70d149b306030c775427f744c4dfa
|
|||
}
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 6e9f5a404511f3703298def67402b87eca2f28a0..f5a4191977e8675952fc689744c8a39e86f62a07 100644
|
||||
index 5e00df1cd2b8a6691b2f9490b1f4c3ed4d6a988a..72488b0d499e4e0d0ccba38622cc5a3f88a9e3fa 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1,5 +1,6 @@
|
||||
|
@ -1301,7 +1301,7 @@ index 6e9f5a404511f3703298def67402b87eca2f28a0..f5a4191977e8675952fc689744c8a39e
|
|||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
@@ -1039,10 +1040,11 @@ public abstract class PlayerList {
|
||||
@@ -1040,10 +1041,11 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public void saveAll() {
|
||||
|
@ -1315,7 +1315,7 @@ index 6e9f5a404511f3703298def67402b87eca2f28a0..f5a4191977e8675952fc689744c8a39e
|
|||
|
||||
public UserWhiteList getWhiteList() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index e945daf877068625d4ad0f0b534f2eb23ee658a9..0ecdc0d671f744d85072ca0d157ef37bb28bab9c 100644
|
||||
index 01c2ccb29dd74655ef65cc29ff2cafe6b467e5a5..cdb4acbaf019608c57d7a40c6928ddc9c00fd1d5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -135,7 +135,6 @@ import org.bukkit.craftbukkit.event.CraftPortalEvent;
|
||||
|
@ -1326,7 +1326,7 @@ index e945daf877068625d4ad0f0b534f2eb23ee658a9..0ecdc0d671f744d85072ca0d157ef37b
|
|||
import org.bukkit.event.entity.EntityCombustByEntityEvent;
|
||||
import org.bukkit.event.hanging.HangingBreakByEntityEvent;
|
||||
import org.bukkit.event.vehicle.VehicleBlockCollisionEvent;
|
||||
@@ -314,7 +313,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -315,7 +314,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
// Marks an entity, that it was removed by a plugin via Entity#remove
|
||||
// Main use case currently is for SPIGOT-7487, preventing dropping of leash when leash is removed
|
||||
public boolean pluginRemoved = false;
|
||||
|
@ -1334,7 +1334,7 @@ index e945daf877068625d4ad0f0b534f2eb23ee658a9..0ecdc0d671f744d85072ca0d157ef37b
|
|||
// Spigot start
|
||||
public final org.spigotmc.ActivationRange.ActivationType activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this);
|
||||
public final boolean defaultActivationState;
|
||||
@@ -810,7 +808,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -823,7 +821,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
|
||||
public void move(MoverType movementType, Vec3 movement) {
|
||||
|
@ -1342,7 +1342,7 @@ index e945daf877068625d4ad0f0b534f2eb23ee658a9..0ecdc0d671f744d85072ca0d157ef37b
|
|||
if (this.noPhysics) {
|
||||
this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z);
|
||||
} else {
|
||||
@@ -971,7 +968,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -984,7 +981,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
this.level().getProfiler().pop();
|
||||
}
|
||||
}
|
||||
|
@ -1393,10 +1393,10 @@ index c4bc491eed487c0a7e30538b0fb46fde91cd7b31..382b55167dede435b034866bd394455f
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 44bfb8778f2894be9633be7ddc4f3c6881c9b05d..e111bdb614f173322ed0cc0386db6870a984fff7 100644
|
||||
index ea73e8a04ee767625d06483dce83d68262887a27..5ae9f9a4cb903909cb26a612a847d12515c52d91 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -141,7 +141,7 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
@@ -142,7 +142,7 @@ import org.bukkit.event.entity.EntityTeleportEvent;
|
||||
import org.bukkit.event.player.PlayerItemConsumeEvent;
|
||||
// CraftBukkit end
|
||||
|
||||
|
@ -1405,7 +1405,7 @@ index 44bfb8778f2894be9633be7ddc4f3c6881c9b05d..e111bdb614f173322ed0cc0386db6870
|
|||
|
||||
public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
@@ -2879,7 +2879,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2887,7 +2887,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
|
@ -1413,7 +1413,7 @@ index 44bfb8778f2894be9633be7ddc4f3c6881c9b05d..e111bdb614f173322ed0cc0386db6870
|
|||
super.tick();
|
||||
this.updatingUsingItem();
|
||||
this.updateSwimAmount();
|
||||
@@ -2921,9 +2920,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2929,9 +2928,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
if (!this.isRemoved()) {
|
||||
|
@ -1423,7 +1423,7 @@ index 44bfb8778f2894be9633be7ddc4f3c6881c9b05d..e111bdb614f173322ed0cc0386db6870
|
|||
}
|
||||
|
||||
double d0 = this.getX() - this.xo;
|
||||
@@ -3007,7 +3004,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3015,7 +3012,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
this.refreshDirtyAttributes();
|
||||
|
@ -1431,7 +1431,7 @@ index 44bfb8778f2894be9633be7ddc4f3c6881c9b05d..e111bdb614f173322ed0cc0386db6870
|
|||
}
|
||||
|
||||
public void detectEquipmentUpdatesPublic() { // CraftBukkit
|
||||
@@ -3182,7 +3178,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3190,7 +3186,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
this.setDeltaMovement(d0, d1, d2);
|
||||
this.level().getProfiler().push("ai");
|
||||
|
@ -1439,7 +1439,7 @@ index 44bfb8778f2894be9633be7ddc4f3c6881c9b05d..e111bdb614f173322ed0cc0386db6870
|
|||
if (this.isImmobile()) {
|
||||
this.jumping = false;
|
||||
this.xxa = 0.0F;
|
||||
@@ -3192,7 +3187,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3200,7 +3195,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.serverAiStep();
|
||||
this.level().getProfiler().pop();
|
||||
}
|
||||
|
@ -1447,7 +1447,7 @@ index 44bfb8778f2894be9633be7ddc4f3c6881c9b05d..e111bdb614f173322ed0cc0386db6870
|
|||
|
||||
this.level().getProfiler().pop();
|
||||
this.level().getProfiler().push("jump");
|
||||
@@ -3232,7 +3226,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3240,7 +3234,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.resetFallDistance();
|
||||
}
|
||||
|
||||
|
@ -1455,7 +1455,7 @@ index 44bfb8778f2894be9633be7ddc4f3c6881c9b05d..e111bdb614f173322ed0cc0386db6870
|
|||
label104:
|
||||
{
|
||||
LivingEntity entityliving = this.getControllingPassenger();
|
||||
@@ -3248,7 +3241,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3256,7 +3249,6 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
this.travel(vec3d1);
|
||||
}
|
||||
|
@ -1463,7 +1463,7 @@ index 44bfb8778f2894be9633be7ddc4f3c6881c9b05d..e111bdb614f173322ed0cc0386db6870
|
|||
|
||||
this.level().getProfiler().pop();
|
||||
this.level().getProfiler().push("freezing");
|
||||
@@ -3275,9 +3267,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3283,9 +3275,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.checkAutoSpinAttack(axisalignedbb, this.getBoundingBox());
|
||||
}
|
||||
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Configurable fishing time ranges
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
|
||||
index e5d9902331e3c4e461e855290a95980b41f5efe2..8b27b5118cbeeb0b25fb6a23056e51899be32035 100644
|
||||
index 6d81bc003647ba593cd895a57d6651080efdf4a3..9bf5b67922f3368e1ee4d76f6297ebe425f3ceab 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
|
||||
@@ -92,6 +92,10 @@ public class FishingHook extends Projectile {
|
||||
@@ -93,6 +93,10 @@ public class FishingHook extends Projectile {
|
||||
this.noCulling = true;
|
||||
this.luck = Math.max(0, luckOfTheSeaLevel);
|
||||
this.lureSpeed = Math.max(0, lureLevel);
|
||||
|
@ -19,7 +19,7 @@ index e5d9902331e3c4e461e855290a95980b41f5efe2..8b27b5118cbeeb0b25fb6a23056e5189
|
|||
}
|
||||
|
||||
public FishingHook(EntityType<? extends FishingHook> type, Level world) {
|
||||
@@ -409,7 +413,7 @@ public class FishingHook extends Projectile {
|
||||
@@ -410,7 +414,7 @@ public class FishingHook extends Projectile {
|
||||
} else {
|
||||
// CraftBukkit start - logic to modify fishing wait time
|
||||
this.timeUntilLured = Mth.nextInt(this.random, this.minWaitTime, this.maxWaitTime);
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Allow nerfed mobs to jump
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index fc264864d4a6f56f94d884f4892257452b360b73..b86ad4fbf1245c4c040d84daf9f93bd1aee6beae 100644
|
||||
index 8892a6344b3a96a3d412528b80ce7bcf1ab30003..8395130fcc148ed1500342ead78b20a1387f23e9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -112,6 +112,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -113,6 +113,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
private final BodyRotationControl bodyRotationControl;
|
||||
protected PathNavigation navigation;
|
||||
public GoalSelector goalSelector;
|
||||
|
@ -16,7 +16,7 @@ index fc264864d4a6f56f94d884f4892257452b360b73..b86ad4fbf1245c4c040d84daf9f93bd1
|
|||
public GoalSelector targetSelector;
|
||||
@Nullable
|
||||
private LivingEntity target;
|
||||
@@ -877,7 +878,15 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -878,7 +879,15 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@Override
|
||||
protected final void serverAiStep() {
|
||||
++this.noActionTime;
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add configurable entity despawn distances
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index b86ad4fbf1245c4c040d84daf9f93bd1aee6beae..1de4c45f1a3a69e63eccf063be5516b163f7882a 100644
|
||||
index 8395130fcc148ed1500342ead78b20a1387f23e9..1ab169b362cc18d2467e5ed6a4af325d7f6dd247 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -853,14 +853,14 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -854,14 +854,14 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
|
||||
if (entityhuman != null) {
|
||||
double d0 = entityhuman.distanceToSqr((Entity) this);
|
||||
|
@ -17,7 +17,7 @@ index b86ad4fbf1245c4c040d84daf9f93bd1aee6beae..1de4c45f1a3a69e63eccf063be5516b1
|
|||
int j = i * i;
|
||||
|
||||
if (d0 > (double) j && this.removeWhenFarAway(d0)) {
|
||||
this.discard();
|
||||
this.discard(EntityRemoveEvent.Cause.DESPAWN); // CraftBukkit - add Bukkit remove cause
|
||||
}
|
||||
|
||||
- int k = this.getType().getCategory().getNoDespawnDistance();
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: [PATCH] Drop falling block and tnt entities at the specified height
|
|||
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
|
||||
|
||||
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 66c0b74a41cb9e7403826b4fd54a8575d6f16faa..ee5ef4fe16ce6397bba30900b9c6690e3c4f51e6 100644
|
||||
index 4d0fa6caf55605f2f53a374ce6bad0081213f248..9136b0c907d331e100d47e1a800ae2e2c2ec6dad 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
|
||||
@@ -142,6 +142,16 @@ public class FallingBlockEntity extends Entity {
|
||||
@@ -143,6 +143,16 @@ public class FallingBlockEntity extends Entity {
|
||||
}
|
||||
|
||||
this.move(MoverType.SELF, this.getDeltaMovement());
|
||||
|
@ -19,7 +19,7 @@ index 66c0b74a41cb9e7403826b4fd54a8575d6f16faa..ee5ef4fe16ce6397bba30900b9c6690e
|
|||
+ this.spawnAtLocation(block);
|
||||
+ }
|
||||
+
|
||||
+ this.discard();
|
||||
+ this.discard(EntityRemoveEvent.Cause.OUT_OF_WORLD);
|
||||
+ return;
|
||||
+ }
|
||||
+ // Paper end - Configurable falling blocks height nerf
|
||||
|
@ -27,16 +27,16 @@ index 66c0b74a41cb9e7403826b4fd54a8575d6f16faa..ee5ef4fe16ce6397bba30900b9c6690e
|
|||
BlockPos blockposition = this.blockPosition();
|
||||
boolean flag = this.blockState.getBlock() instanceof ConcretePowderBlock;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
|
||||
index 36d93ee421406302c05945db17d46b04b485e4c0..19e2f2005bd1fb4d199debd34e92a0794a3d3fe4 100644
|
||||
index 8d512e43cdae52c16d1bb7c4ad8b91a947fa367f..f068b57167b183e68db897c70036cdc366a83c98 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
|
||||
@@ -77,6 +77,12 @@ public class PrimedTnt extends Entity implements TraceableEntity {
|
||||
@@ -78,6 +78,12 @@ public class PrimedTnt extends Entity implements TraceableEntity {
|
||||
}
|
||||
|
||||
this.move(MoverType.SELF, this.getDeltaMovement());
|
||||
+ // Paper start - Configurable TNT height nerf
|
||||
+ if (this.level().paperConfig().fixes.tntEntityHeightNerf.test(v -> this.getY() > v)) {
|
||||
+ this.discard();
|
||||
+ this.discard(EntityRemoveEvent.Cause.OUT_OF_WORLD);
|
||||
+ return;
|
||||
+ }
|
||||
+ // Paper end - Configurable TNT height nerf
|
||||
|
@ -44,16 +44,16 @@ index 36d93ee421406302c05945db17d46b04b485e4c0..19e2f2005bd1fb4d199debd34e92a079
|
|||
if (this.onGround()) {
|
||||
this.setDeltaMovement(this.getDeltaMovement().multiply(0.7D, -0.5D, 0.7D));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/MinecartTNT.java b/src/main/java/net/minecraft/world/entity/vehicle/MinecartTNT.java
|
||||
index 0fc58f38bbd855414ad36b682e60b069d7b68cb1..48f531da21fa0305ab1e8d5b50276e61e3155a38 100644
|
||||
index 6e127279c78b490c5b6c87eb75f3cb991a1afee2..5e17947b256ea6622f9a9b3e51fa8e473fc909ed 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/vehicle/MinecartTNT.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/vehicle/MinecartTNT.java
|
||||
@@ -53,6 +53,12 @@ public class MinecartTNT extends AbstractMinecart {
|
||||
@@ -54,6 +54,12 @@ public class MinecartTNT extends AbstractMinecart {
|
||||
public void tick() {
|
||||
super.tick();
|
||||
if (this.fuse > 0) {
|
||||
+ // Paper start - Configurable TNT height nerf
|
||||
+ if (this.level().paperConfig().fixes.tntEntityHeightNerf.test(v -> this.getY() > v)) {
|
||||
+ this.discard();
|
||||
+ this.discard(EntityRemoveEvent.Cause.OUT_OF_WORLD);
|
||||
+ return;
|
||||
+ }
|
||||
+ // Paper end - Configurable TNT height nerf
|
||||
|
|
|
@ -21,12 +21,12 @@ index 3126e8cab3c40e3af47f4c8925e1c6a9523309ba..3207166061bf9c4d7bf3f38e5a9f7aff
|
|||
public static Predicate<Entity> withinDistance(double x, double y, double z, double max) {
|
||||
double d4 = max * max;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 1de4c45f1a3a69e63eccf063be5516b163f7882a..fa5d8a041858d17c785f033dd2aa3ab242069749 100644
|
||||
index 1ab169b362cc18d2467e5ed6a4af325d7f6dd247..2de1ad28d42d4beec69901bf985ac0be582f00b9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -849,7 +849,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -850,7 +850,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
if (this.level().getDifficulty() == Difficulty.PEACEFUL && this.shouldDespawnInPeaceful()) {
|
||||
this.discard();
|
||||
this.discard(EntityRemoveEvent.Cause.DESPAWN); // CraftBukkit - add Bukkit remove cause
|
||||
} else if (!this.isPersistenceRequired() && !this.requiresCustomPersistence()) {
|
||||
- Player entityhuman = this.level().getNearestPlayer(this, -1.0D);
|
||||
+ Player entityhuman = this.level().findNearbyPlayer(this, -1.0D, EntitySelector.PLAYER_AFFECTS_SPAWNING); // Paper - Affects Spawning API
|
||||
|
@ -47,10 +47,10 @@ index c7ab59aa0e2fd0f3e7252647ddb25b82ac604830..8f20239f3ef7ebe41fac8ee6e024c36d
|
|||
|
||||
@Override
|
||||
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 96181e8925aef7f3d0a2010305caf1f6d9bcfcc9..6f452605e9dc9ebd9980eae9fdeea34417a37a88 100644
|
||||
index 38fb2a14b7c7c535f5a0b13d698a2521ca9d0c1a..0e2725d92002c181f542e2335cdd6e6de69155e1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -127,7 +127,7 @@ public class Silverfish extends Monster {
|
||||
@@ -128,7 +128,7 @@ public class Silverfish extends Monster {
|
||||
if (checkAnyLightMonsterSpawnRules(type, world, spawnReason, pos, random)) {
|
||||
Player entityhuman = world.getNearestPlayer((double) pos.getX() + 0.5D, (double) pos.getY() + 0.5D, (double) pos.getZ() + 0.5D, 5.0D, true);
|
||||
|
||||
|
@ -73,10 +73,10 @@ index a779d32f87b59f347408974e402fad22fdc47f09..15ccde8ee8bac1f70c6047464595aff6
|
|||
entityzombie.finalizeSpawn(worldserver, this.level().getCurrentDifficultyAt(entityzombie.blockPosition()), MobSpawnType.REINFORCEMENT, (SpawnGroupData) null, (CompoundTag) null);
|
||||
worldserver.addFreshEntityWithPassengers(entityzombie, CreatureSpawnEvent.SpawnReason.REINFORCEMENTS); // CraftBukkit
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 79f823c2ce2c5d03c34e580555a7e44a6747bf02..10c2c9d7c7feb878319eb19cd1fb6401da3b9189 100644
|
||||
index 1ac22d4cbab0f385b1c1e0b4ced59ca7c3ca4af4..0cd534ddc28758f7fa6203c66505f167ecbdd3de 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -180,6 +180,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -181,6 +181,7 @@ public abstract class Player extends LivingEntity {
|
||||
@Nullable
|
||||
public FishingHook fishing;
|
||||
protected float hurtDir;
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Entity Origin API
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 73608abb5a39749c326ce6fe1bf014422941b2d1..1315822ce37e5011880b24afb4fbe18cd1dfe80f 100644
|
||||
index 13725b794e923a4de0d06edcba1adf1b04611c95..4c0e12d9f36c78eeae4dcb2f58d41503d3a046e4 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -2149,6 +2149,15 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
@ -25,10 +25,10 @@ index 73608abb5a39749c326ce6fe1bf014422941b2d1..1315822ce37e5011880b24afb4fbe18c
|
|||
|
||||
public void onTrackingEnd(Entity entity) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 0ecdc0d671f744d85072ca0d157ef37bb28bab9c..1212943cf64a716ceae187c76ff9be6241595ba2 100644
|
||||
index cdb4acbaf019608c57d7a40c6928ddc9c00fd1d5..c21c4d6df21bc9741f087ac4a328aad04b1cda38 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -319,7 +319,27 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -320,7 +320,27 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
public long activatedTick = Integer.MIN_VALUE;
|
||||
public void inactiveTick() { }
|
||||
// Spigot end
|
||||
|
@ -56,7 +56,7 @@ index 0ecdc0d671f744d85072ca0d157ef37bb28bab9c..1212943cf64a716ceae187c76ff9be62
|
|||
public float getBukkitYaw() {
|
||||
return this.yRot;
|
||||
}
|
||||
@@ -2042,6 +2062,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -2055,6 +2075,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
this.bukkitEntity.storeBukkitValues(nbttagcompound);
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
@ -72,7 +72,7 @@ index 0ecdc0d671f744d85072ca0d157ef37bb28bab9c..1212943cf64a716ceae187c76ff9be62
|
|||
return nbttagcompound;
|
||||
} catch (Throwable throwable) {
|
||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
|
||||
@@ -2169,6 +2198,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -2182,6 +2211,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
|
@ -94,10 +94,10 @@ index 0ecdc0d671f744d85072ca0d157ef37bb28bab9c..1212943cf64a716ceae187c76ff9be62
|
|||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT");
|
||||
CrashReportCategory crashreportsystemdetails = crashreport.addCategory("Entity being loaded");
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index e269812e6193492afc3f25612edafa1a58325fa3..49294a8d580d891f21d8d4cbae14ae477c01ff8d 100644
|
||||
index e78a378f0de48cde3702774970e6cda241b8ddda..6871fe86c9cda00d0187f3df827772200eca1bcc 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -967,5 +967,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -968,5 +968,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Prevent block entity and entity crashes
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 9cfc60863caeaa1fd0df153889cadd88fef9e111..dfe8eea789a6dd5476da0c194236dba3868a2cb7 100644
|
||||
index 9cfc60863caeaa1fd0df153889cadd88fef9e111..3442bfe428f6d0655082468f281cbda97f88f6ea 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -734,11 +734,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
@ -20,7 +20,7 @@ index 9cfc60863caeaa1fd0df153889cadd88fef9e111..dfe8eea789a6dd5476da0c194236dba3
|
|||
+ // Paper start - Prevent block entity and entity crashes
|
||||
+ final String msg = String.format("Entity threw exception at %s:%s,%s,%s", entity.level().getWorld().getName(), entity.getX(), entity.getY(), entity.getZ());
|
||||
+ MinecraftServer.LOGGER.error(msg, throwable);
|
||||
+ entity.discard();
|
||||
+ entity.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
|
||||
+ // Paper end - Prevent block entity and entity crashes
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: [PATCH] Configurable top of nether void damage
|
|||
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 1212943cf64a716ceae187c76ff9be6241595ba2..3577829c2386779913f4d2aebd1825051da2d364 100644
|
||||
index c21c4d6df21bc9741f087ac4a328aad04b1cda38..60d94e4d8f69fb7ab8a94a926d18d38fe1c1d6c7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -670,7 +670,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -683,7 +683,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
|
||||
public void checkBelowWorld() {
|
||||
|
|
|
@ -12,10 +12,10 @@ improve setPosition to use raw
|
|||
public net.minecraft.world.entity.Entity setRot(FF)V
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index f5a4191977e8675952fc689744c8a39e86f62a07..e870be760f00bac1d5eb32ed6d22c4dc8a8ebf78 100644
|
||||
index 72488b0d499e4e0d0ccba38622cc5a3f88a9e3fa..50ceb120d04c3149dd1cca7908a9ea862b25e5ab 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -227,7 +227,7 @@ public abstract class PlayerList {
|
||||
@@ -228,7 +228,7 @@ public abstract class PlayerList {
|
||||
|
||||
// Spigot start - spawn location event
|
||||
Player spawnPlayer = player.getBukkitEntity();
|
||||
|
@ -24,7 +24,7 @@ index f5a4191977e8675952fc689744c8a39e86f62a07..e870be760f00bac1d5eb32ed6d22c4dc
|
|||
this.cserver.getPluginManager().callEvent(ev);
|
||||
|
||||
Location loc = ev.getSpawnLocation();
|
||||
@@ -235,7 +235,10 @@ public abstract class PlayerList {
|
||||
@@ -236,7 +236,10 @@ public abstract class PlayerList {
|
||||
|
||||
player.spawnIn(worldserver1);
|
||||
player.gameMode.setLevel((ServerLevel) player.level());
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] All chunks are slime spawn chunks toggle
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
index 8b2206c5c56341ecd96837bdb3e0c6ab7c874af5..897c815fb448d1e9ca75b7f8b93b4021dccf7596 100644
|
||||
index 1405c8ba8578d65cc00d807f31b37d6ddc2d1afb..d536df2c23f8cae6bf920a5304d91f10a9902251 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
@@ -338,7 +338,7 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -346,7 +346,7 @@ public class Slime extends Mob implements Enemy {
|
||||
}
|
||||
|
||||
ChunkPos chunkcoordintpair = new ChunkPos(pos);
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add configurable portal search radius
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 3577829c2386779913f4d2aebd1825051da2d364..4c7a2d64ab4a5269fdea0b30e6c91fa1cb9f509c 100644
|
||||
index 60d94e4d8f69fb7ab8a94a926d18d38fe1c1d6c7..71c4b75901ca55e3e08fd59f0e906a0cc5334b89 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3179,7 +3179,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -3192,7 +3192,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
double d0 = DimensionType.getTeleportationScale(this.level().dimensionType(), destination.dimensionType());
|
||||
BlockPos blockposition = worldborder.clampToBounds(this.getX() * d0, this.getY(), this.getZ() * d0);
|
||||
// CraftBukkit start
|
||||
|
|
|
@ -17,10 +17,10 @@ index 6135e8c0669886260afacdaa7405bf55597b17a6..2b2d0c8ed68eb86812877026a0bb5c4a
|
|||
static {
|
||||
ConfigurationSerialization.registerClass(CraftOfflinePlayer.class);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 49294a8d580d891f21d8d4cbae14ae477c01ff8d..74937603e7b8308fd314d650d9d966e8abd2c725 100644
|
||||
index 6871fe86c9cda00d0187f3df827772200eca1bcc..4a875d038f1ab7f2bdc5f290a6ad71e4b61c6822 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -128,10 +128,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -129,10 +129,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
public void setVelocity(Vector velocity) {
|
||||
Preconditions.checkArgument(velocity != null, "velocity");
|
||||
velocity.checkFinite();
|
||||
|
|
|
@ -81,7 +81,7 @@ index c6fb4c33d7ea52b88d8fc0d90748cbab7387c565..2b5b2869589991be37a4f128faabbff5
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 6fbadd278138743f87fcf6b3c3d3c57af41d437c..eb2b4ba79488c3d43421c39852c36c4387372f38 100644
|
||||
index c74102a53daab92f0d7d4d7619af0e3264322847..3452010631eede3907b29b9f76ba12c9c6808b6f 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -736,6 +736,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
@ -89,7 +89,7 @@ index 6fbadd278138743f87fcf6b3c3d3c57af41d437c..eb2b4ba79488c3d43421c39852c36c43
|
|||
final String msg = String.format("Entity threw exception at %s:%s,%s,%s", entity.level().getWorld().getName(), entity.getX(), entity.getY(), entity.getZ());
|
||||
MinecraftServer.LOGGER.error(msg, throwable);
|
||||
+ getCraftServer().getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerInternalException(msg, throwable))); // Paper - ServerExceptionEvent
|
||||
entity.discard();
|
||||
entity.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
|
||||
// Paper end - Prevent block entity and entity crashes
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||
|
|
|
@ -11,10 +11,10 @@ So avoid looking up scoreboards and short circuit to the "not on a team"
|
|||
logic which is most likely to be true.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 4c7a2d64ab4a5269fdea0b30e6c91fa1cb9f509c..e7157ff6cd6f2c52593bba63129fdaa60fcbf886 100644
|
||||
index 71c4b75901ca55e3e08fd59f0e906a0cc5334b89..4dc659760272a13fc8c0f05c543bed634784af6c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2807,6 +2807,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -2820,6 +2820,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
|
||||
@Nullable
|
||||
public PlayerTeam getTeam() {
|
||||
|
@ -23,10 +23,10 @@ index 4c7a2d64ab4a5269fdea0b30e6c91fa1cb9f509c..e7157ff6cd6f2c52593bba63129fdaa6
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index e111bdb614f173322ed0cc0386db6870a984fff7..0a573b188111e84290317f2ce5620b6ea6c8b6de 100644
|
||||
index 5ae9f9a4cb903909cb26a612a847d12515c52d91..7f85da14097ad559e5a8f82474f7a71a078b3e77 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -833,6 +833,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -841,6 +841,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
if (nbt.contains("Team", 8)) {
|
||||
String s = nbt.getString("Team");
|
||||
PlayerTeam scoreboardteam = this.level().getScoreboard().getPlayerTeam(s);
|
||||
|
|
|
@ -6,15 +6,15 @@ Subject: [PATCH] Configurable Non Player Arrow Despawn Rate
|
|||
Can set a much shorter despawn rate for arrows that players can not pick up.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||
index 95d49d1f47a9c04535e94350bdcb4da88a1e5d27..0f700442a7559fac5d27d1fb6b3716f3853a9897 100644
|
||||
index fb68ed6db051577488b209d51f65db7267324751..c210ae3795b1bbaefbe84a6f62b9d3dd75d642a4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||
@@ -319,7 +319,7 @@ public abstract class AbstractArrow extends Projectile {
|
||||
@@ -320,7 +320,7 @@ public abstract class AbstractArrow extends Projectile {
|
||||
|
||||
protected void tickDespawn() {
|
||||
++this.life;
|
||||
- if (this.life >= ((this instanceof ThrownTrident) ? this.level().spigotConfig.tridentDespawnRate : this.level().spigotConfig.arrowDespawnRate)) { // Spigot
|
||||
+ if (this.life >= (pickup == Pickup.CREATIVE_ONLY ? this.level().paperConfig().entities.spawning.creativeArrowDespawnRate.value() : (pickup == Pickup.DISALLOWED ? this.level().paperConfig().entities.spawning.nonPlayerArrowDespawnRate.value() : ((this instanceof ThrownTrident) ? this.level().spigotConfig.tridentDespawnRate : this.level().spigotConfig.arrowDespawnRate)))) { // Spigot // Paper - Configurable non-player arrow despawn rate; TODO: Extract this to init?
|
||||
this.discard();
|
||||
this.discard(EntityRemoveEvent.Cause.DESPAWN); // CraftBukkit - add Bukkit remove cause
|
||||
}
|
||||
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Custom replacement for eaten items
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 0a573b188111e84290317f2ce5620b6ea6c8b6de..13da8e684172f9f95fbcb63a322b559b733f2469 100644
|
||||
index 7f85da14097ad559e5a8f82474f7a71a078b3e77..2356ceb62216086e7ac19e994803d5f6a0f89f83 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3711,10 +3711,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3719,10 +3719,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.triggerItemUseEffects(this.useItem, 16);
|
||||
// CraftBukkit start - fire PlayerItemConsumeEvent
|
||||
ItemStack itemstack;
|
||||
|
@ -21,7 +21,7 @@ index 0a573b188111e84290317f2ce5620b6ea6c8b6de..13da8e684172f9f95fbcb63a322b559b
|
|||
this.level().getCraftServer().getPluginManager().callEvent(event);
|
||||
|
||||
if (event.isCancelled()) {
|
||||
@@ -3728,6 +3729,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3736,6 +3737,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
} else {
|
||||
itemstack = this.useItem.finishUsingItem(this.level(), this);
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ index 0a573b188111e84290317f2ce5620b6ea6c8b6de..13da8e684172f9f95fbcb63a322b559b
|
|||
// CraftBukkit end
|
||||
|
||||
if (itemstack != this.useItem) {
|
||||
@@ -3735,6 +3742,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3743,6 +3750,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
this.stopUsingItem();
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] handle NaN health/absorb values and repair bad data
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 13da8e684172f9f95fbcb63a322b559b733f2469..406559f3a493e1be0d2bee8a6f3cc79668e2bb38 100644
|
||||
index 2356ceb62216086e7ac19e994803d5f6a0f89f83..ba79c3153a2679d6a0d9ed3d1a25a999f7e78950 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -794,7 +794,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -802,7 +802,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
@Override
|
||||
public void readAdditionalSaveData(CompoundTag nbt) {
|
||||
|
@ -23,7 +23,7 @@ index 13da8e684172f9f95fbcb63a322b559b733f2469..406559f3a493e1be0d2bee8a6f3cc796
|
|||
if (nbt.contains("Attributes", 9) && this.level() != null && !this.level().isClientSide) {
|
||||
this.getAttributes().load(nbt.getList("Attributes", 10));
|
||||
}
|
||||
@@ -1344,6 +1350,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1352,6 +1358,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
public void setHealth(float health) {
|
||||
|
@ -34,7 +34,7 @@ index 13da8e684172f9f95fbcb63a322b559b733f2469..406559f3a493e1be0d2bee8a6f3cc796
|
|||
// CraftBukkit start - Handle scaled health
|
||||
if (this instanceof ServerPlayer) {
|
||||
org.bukkit.craftbukkit.entity.CraftPlayer player = ((ServerPlayer) this).getBukkitEntity();
|
||||
@@ -3544,7 +3554,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3552,7 +3562,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
public final void setAbsorptionAmount(float absorptionAmount) {
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: [PATCH] Use a Shared Random for Entities
|
|||
Reduces memory usage and provides ensures more randomness, Especially since a lot of garbage entity objects get created.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index e7157ff6cd6f2c52593bba63129fdaa60fcbf886..dba9588d9c8b1291ec8fe401e4990f4750b790db 100644
|
||||
index 4dc659760272a13fc8c0f05c543bed634784af6c..93dc90cc4e90d9db4712efff80f811d7c9d55caa 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -165,6 +165,79 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -166,6 +166,79 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
return tag.contains("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level;
|
||||
}
|
||||
|
||||
|
@ -89,7 +89,7 @@ index e7157ff6cd6f2c52593bba63129fdaa60fcbf886..dba9588d9c8b1291ec8fe401e4990f47
|
|||
private CraftEntity bukkitEntity;
|
||||
|
||||
public CraftEntity getBukkitEntity() {
|
||||
@@ -361,7 +434,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -362,7 +435,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
this.bb = Entity.INITIAL_AABB;
|
||||
this.stuckSpeedMultiplier = Vec3.ZERO;
|
||||
this.nextStep = 1.0F;
|
||||
|
|
|
@ -59,14 +59,13 @@ index 37cba1e693490e42908f45dc68e60ac3afebbb49..801e1727bd291f647c91e2c325810ead
|
|||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index da100f451238a093bcaad83343a79254d4aa31ce..b48c07a49f39e303bc5d1faed0c444b6f0118054 100644
|
||||
index 6571adf5285ab3f84513c2f5b32ff0523c2cccd6..c8f20543cb7f69af010e3fd53f31b7253426f2d0 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1833,4 +1833,14 @@ public class CraftEventFactory {
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
return event;
|
||||
@@ -1850,4 +1850,13 @@ public class CraftEventFactory {
|
||||
|
||||
Bukkit.getPluginManager().callEvent(new EntityRemoveEvent(entity.getBukkitEntity(), cause));
|
||||
}
|
||||
+
|
||||
+ // Paper start - PlayerUseUnknownEntityEvent
|
||||
+ public static void callPlayerUseUnknownEntityEvent(net.minecraft.world.entity.player.Player player, net.minecraft.network.protocol.game.ServerboundInteractPacket packet, InteractionHand hand, @Nullable net.minecraft.world.phys.Vec3 vector) {
|
||||
+ new com.destroystokyo.paper.event.player.PlayerUseUnknownEntityEvent(
|
||||
|
|
|
@ -43,10 +43,10 @@ index a4df17bf15ac8e427039428f947df4f08c746de6..866ff31a6057eda7612cfa48c0028fb9
|
|||
this.server.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.STARTUP));
|
||||
this.connection.acceptConnections();
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index e870be760f00bac1d5eb32ed6d22c4dc8a8ebf78..a8a0b00a6bcc52a94b99d520915c21cc3155bb06 100644
|
||||
index 50ceb120d04c3149dd1cca7908a9ea862b25e5ab..e1d9f11a9d5333811fc8cb5dd95c0ca79fd3543c 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -156,6 +156,7 @@ public abstract class PlayerList {
|
||||
@@ -157,6 +157,7 @@ public abstract class PlayerList {
|
||||
// CraftBukkit start
|
||||
private CraftServer cserver;
|
||||
private final Map<String,ServerPlayer> playersByName = new java.util.HashMap<>();
|
||||
|
@ -54,7 +54,7 @@ index e870be760f00bac1d5eb32ed6d22c4dc8a8ebf78..a8a0b00a6bcc52a94b99d520915c21cc
|
|||
|
||||
public PlayerList(MinecraftServer server, LayeredRegistryAccess<RegistryLayer> registryManager, PlayerDataStorage saveHandler, int maxPlayers) {
|
||||
this.cserver = server.server = new CraftServer((DedicatedServer) server, this);
|
||||
@@ -398,6 +399,13 @@ public abstract class PlayerList {
|
||||
@@ -399,6 +400,13 @@ public abstract class PlayerList {
|
||||
|
||||
player.initInventoryMenu();
|
||||
// CraftBukkit - Moved from above, added world
|
||||
|
@ -68,7 +68,7 @@ index e870be760f00bac1d5eb32ed6d22c4dc8a8ebf78..a8a0b00a6bcc52a94b99d520915c21cc
|
|||
PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ());
|
||||
}
|
||||
|
||||
@@ -521,6 +529,16 @@ public abstract class PlayerList {
|
||||
@@ -522,6 +530,16 @@ public abstract class PlayerList {
|
||||
entityplayer.doTick(); // SPIGOT-924
|
||||
// CraftBukkit end
|
||||
|
||||
|
@ -85,7 +85,7 @@ index e870be760f00bac1d5eb32ed6d22c4dc8a8ebf78..a8a0b00a6bcc52a94b99d520915c21cc
|
|||
this.save(entityplayer);
|
||||
if (entityplayer.isPassenger()) {
|
||||
Entity entity = entityplayer.getRootVehicle();
|
||||
@@ -1161,6 +1179,13 @@ public abstract class PlayerList {
|
||||
@@ -1162,6 +1180,13 @@ public abstract class PlayerList {
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: [PATCH] EntityRegainHealthEvent isFastRegen API
|
|||
Don't even get me started
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 406559f3a493e1be0d2bee8a6f3cc79668e2bb38..9b55a2b2863c546e88f1bfa9014eb84fd317f3c8 100644
|
||||
index ba79c3153a2679d6a0d9ed3d1a25a999f7e78950..5ba65d647903077b39d9475ef28bfa0c400edd7a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1323,10 +1323,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1331,10 +1331,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
public void heal(float f, EntityRegainHealthEvent.RegainReason regainReason) {
|
||||
|
|
|
@ -504,10 +504,10 @@ index 0000000000000000000000000000000000000000..9cfa5d36a6991067a3866e0d437749fa
|
|||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index dba9588d9c8b1291ec8fe401e4990f4750b790db..158d830e7615ed396f7edd6b82daa4e4f876c894 100644
|
||||
index 93dc90cc4e90d9db4712efff80f811d7c9d55caa..3112eace3d9d3d7b21dfc267993cb9d84819dc11 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -238,6 +238,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -239,6 +239,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
// Paper end - Share random for entities to make them more random
|
||||
|
||||
|
@ -516,10 +516,10 @@ index dba9588d9c8b1291ec8fe401e4990f4750b790db..158d830e7615ed396f7edd6b82daa4e4
|
|||
|
||||
public CraftEntity getBukkitEntity() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java
|
||||
index 364cfa220b5c7c5351f1eb909066bef933da2c08..6d23c39e4eadf23616080d6d08672e13b5d3c37d 100644
|
||||
index c163a1219e614ab12b17ae9ba9c7cc4721cecc84..756d0434472921992c9d84597d7c9c824e93614c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java
|
||||
@@ -32,6 +32,20 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme
|
||||
@@ -33,6 +33,20 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme
|
||||
public ResourceLocation lootTable;
|
||||
public long lootTableSeed;
|
||||
|
||||
|
@ -540,7 +540,7 @@ index 364cfa220b5c7c5351f1eb909066bef933da2c08..6d23c39e4eadf23616080d6d08672e13
|
|||
// CraftBukkit start
|
||||
public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
|
||||
private int maxStack = MAX_STACK;
|
||||
@@ -134,12 +148,14 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme
|
||||
@@ -142,12 +156,14 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme
|
||||
@Override
|
||||
protected void addAdditionalSaveData(CompoundTag nbt) {
|
||||
super.addAdditionalSaveData(nbt);
|
||||
|
@ -556,10 +556,10 @@ index 364cfa220b5c7c5351f1eb909066bef933da2c08..6d23c39e4eadf23616080d6d08672e13
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/ChestBoat.java b/src/main/java/net/minecraft/world/entity/vehicle/ChestBoat.java
|
||||
index 7bfdffc9b3c637bd6ac8ac3eb10961abdc5b1a7a..bc3fe45d12ffc2069a03d1587b7623d31130565a 100644
|
||||
index 0e68f692bb9b397cffd7352e7340465b5e3719f4..58af87b8faf4f8d6bdb111c49a429466acface68 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/vehicle/ChestBoat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/vehicle/ChestBoat.java
|
||||
@@ -66,12 +66,14 @@ public class ChestBoat extends Boat implements HasCustomInventoryScreen, Contain
|
||||
@@ -68,12 +68,14 @@ public class ChestBoat extends Boat implements HasCustomInventoryScreen, Contain
|
||||
@Override
|
||||
protected void addAdditionalSaveData(CompoundTag nbt) {
|
||||
super.addAdditionalSaveData(nbt);
|
||||
|
@ -574,7 +574,7 @@ index 7bfdffc9b3c637bd6ac8ac3eb10961abdc5b1a7a..bc3fe45d12ffc2069a03d1587b7623d3
|
|||
this.readChestVehicleSaveData(nbt);
|
||||
}
|
||||
|
||||
@@ -246,6 +248,20 @@ public class ChestBoat extends Boat implements HasCustomInventoryScreen, Contain
|
||||
@@ -255,6 +257,20 @@ public class ChestBoat extends Boat implements HasCustomInventoryScreen, Contain
|
||||
this.level().gameEvent(GameEvent.CONTAINER_CLOSE, this.position(), GameEvent.Context.of((Entity) player));
|
||||
}
|
||||
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Optional TNT doesn't move in water
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
|
||||
index 19e2f2005bd1fb4d199debd34e92a0794a3d3fe4..3408337b11f04337bb2f62de343e430d94d3a093 100644
|
||||
index f068b57167b183e68db897c70036cdc366a83c98..16f9d38687c0fdda18468b5bfb61b09b98254968 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
|
||||
@@ -106,6 +106,27 @@ public class PrimedTnt extends Entity implements TraceableEntity {
|
||||
@@ -107,6 +107,27 @@ public class PrimedTnt extends Entity implements TraceableEntity {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -36,7 +36,7 @@ index 19e2f2005bd1fb4d199debd34e92a0794a3d3fe4..3408337b11f04337bb2f62de343e430d
|
|||
}
|
||||
|
||||
private void explode() {
|
||||
@@ -171,4 +192,11 @@ public class PrimedTnt extends Entity implements TraceableEntity {
|
||||
@@ -172,4 +193,11 @@ public class PrimedTnt extends Entity implements TraceableEntity {
|
||||
public BlockState getBlockState() {
|
||||
return (BlockState) this.entityData.get(PrimedTnt.DATA_BLOCK_STATE_ID);
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ Co-authored-by: lexikiq <noellekiq@gmail.com>
|
|||
Co-authored-by: Aikar <aikar@aikar.co>
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index ddab865f4237b91020f3c5f9726d93f8dbf0eda6..5f0885c13116ad070dc076cca5a527b2a616c541 100644
|
||||
index c9c711398cf90fc1990a0145196fa05894f9ffff..76246fdacf70309918ce413f494bdb4d8683241d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1318,7 +1318,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
@ -24,10 +24,10 @@ index ddab865f4237b91020f3c5f9726d93f8dbf0eda6..5f0885c13116ad070dc076cca5a527b2
|
|||
|
||||
public int getLogicalHeight() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index aea9366215973555de88e67310b7fbe033f45cd5..2471800014d1661c2f422e5a24f0f3b00fa838f2 100644
|
||||
index 99f390e64477e92939bf0552878ed11d0db0137f..0df9780c1689532d0d9f236077400b298d8e9f68 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -680,11 +680,12 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -681,11 +681,12 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
// CraftBukkit start - Use relative location for far away sounds
|
||||
// this.level().globalLevelEvent(1028, this.blockPosition(), 0);
|
||||
int viewDistance = ((ServerLevel) this.level()).getCraftServer().getViewDistance() * 16;
|
||||
|
@ -43,10 +43,10 @@ index aea9366215973555de88e67310b7fbe033f45cd5..2471800014d1661c2f422e5a24f0f3b0
|
|||
double deltaLength = Math.sqrt(distanceSquared);
|
||||
double relativeX = player.getX() + (deltaX / deltaLength) * viewDistance;
|
||||
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 8d3f3987f2a6816752bdb2e477338d6dbdd6b7b7..14b09adeb9222600c24f3fb846ea8aee467952e6 100644
|
||||
index c098ce5ab4b01d352e5e351f81773134128ce90b..e3da459190625a037e5542aa6ba3365f05f9f532 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
|
||||
@@ -271,11 +271,12 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -272,11 +272,12 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
// CraftBukkit start - Use relative location for far away sounds
|
||||
// this.level().globalLevelEvent(1023, new BlockPosition(this), 0);
|
||||
int viewDistance = ((ServerLevel) this.level()).getCraftServer().getViewDistance() * 16;
|
||||
|
@ -81,7 +81,7 @@ index 5bc68514a1e8a212e2681f06b918548c0ec565b6..1977e702f6af39ebf100c1f2f2edc2d1
|
|||
double deltaLength = Math.sqrt(distanceSquared);
|
||||
double relativeX = player.getX() + (deltaX / deltaLength) * viewDistance;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index f11e00b3a7164e8af6e33a9a09328539df5405fc..610ce2574a61fcee00f5224b554b285079a75698 100644
|
||||
index ebdb6e838ecd378edc81b92cc3a8a1955d2498c1..29b17f408e1ad304996ce116737ee4fbc248da4c 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -1268,4 +1268,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityZapEvent
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 22f7318711041bfc2847d519933c46b9fd523d01..4034b8e7503f611dc9be121d8da2020ae7155b8c 100644
|
||||
index e1311841cdf79fa2769cfa6817985007ace2e4d8..e7db715d45d27cbc9b3ed7cad1d907273b225c7f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -851,10 +851,17 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -852,10 +852,17 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@Override
|
||||
public void thunderHit(ServerLevel world, LightningBolt lightning) {
|
||||
if (world.getDifficulty() != Difficulty.PEACEFUL) {
|
||||
|
@ -28,10 +28,10 @@ index 22f7318711041bfc2847d519933c46b9fd523d01..4034b8e7503f611dc9be121d8da2020a
|
|||
entitywitch.finalizeSpawn(world, world.getCurrentDifficultyAt(entitywitch.blockPosition()), MobSpawnType.CONVERSION, (SpawnGroupData) null, (CompoundTag) null);
|
||||
entitywitch.setNoAi(this.isNoAi());
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index b48c07a49f39e303bc5d1faed0c444b6f0118054..96b72d0194ccb1d8198f9a94306ddb1699aa6c06 100644
|
||||
index c8f20543cb7f69af010e3fd53f31b7253426f2d0..c47eac1e442162192a35e841a06c4d028d71cd15 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1196,6 +1196,14 @@ public class CraftEventFactory {
|
||||
@@ -1197,6 +1197,14 @@ public class CraftEventFactory {
|
||||
return !event.isCancelled();
|
||||
}
|
||||
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Filter bad block entity nbt data from falling blocks
|
|||
|
||||
|
||||
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 ee5ef4fe16ce6397bba30900b9c6690e3c4f51e6..e2f90b822f25bf100eaba0cf4518849f788ee2fa 100644
|
||||
index 9136b0c907d331e100d47e1a800ae2e2c2ec6dad..c0477f913867c67809978a4f240303151d81e6ea 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
|
||||
@@ -332,7 +332,7 @@ public class FallingBlockEntity extends Entity {
|
||||
@@ -333,7 +333,7 @@ public class FallingBlockEntity extends Entity {
|
||||
this.dropItem = nbt.getBoolean("DropItem");
|
||||
}
|
||||
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add source to PlayerExpChangeEvent
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
index 79943167c7e16111a81ff608fd9ed6c06bcb9468..59bad6c92cc421dd05c7315e2ab694a669433ab4 100644
|
||||
index dfa16aa79e94d85a49c9c28229b29a972ec6e216..7ce46bd254e0f14b1bbafe37e0eb97a468a07083 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
@@ -254,7 +254,7 @@ public class ExperienceOrb extends Entity {
|
||||
@@ -255,7 +255,7 @@ public class ExperienceOrb extends Entity {
|
||||
int i = this.repairPlayerItems(player, this.value);
|
||||
|
||||
if (i > 0) {
|
||||
|
@ -18,10 +18,10 @@ index 79943167c7e16111a81ff608fd9ed6c06bcb9468..59bad6c92cc421dd05c7315e2ab694a6
|
|||
|
||||
--this.count;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 96b72d0194ccb1d8198f9a94306ddb1699aa6c06..85340e48507cdb44d494e5cc6054560c61dddff9 100644
|
||||
index c47eac1e442162192a35e841a06c4d028d71cd15..b2b07587c50e6c6f55a8cd36405833f4a4f9674c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1149,6 +1149,17 @@ public class CraftEventFactory {
|
||||
@@ -1150,6 +1150,17 @@ public class CraftEventFactory {
|
||||
return event;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: [PATCH] Add ProjectileCollideEvent
|
|||
Deprecated now and replaced with ProjectileHitEvent
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 85340e48507cdb44d494e5cc6054560c61dddff9..d461f56cbc64efba422d748c42ec106f84423833 100644
|
||||
index b2b07587c50e6c6f55a8cd36405833f4a4f9674c..c1f3086d37e2959bbcc23bc1b779215bc35c99c4 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1293,6 +1293,17 @@ public class CraftEventFactory {
|
||||
@@ -1294,6 +1294,17 @@ public class CraftEventFactory {
|
||||
return CraftItemStack.asNMSCopy(bitem);
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,7 @@ index 85340e48507cdb44d494e5cc6054560c61dddff9..d461f56cbc64efba422d748c42ec106f
|
|||
public static ProjectileLaunchEvent callProjectileLaunchEvent(Entity entity) {
|
||||
Projectile bukkitEntity = (Projectile) entity.getBukkitEntity();
|
||||
ProjectileLaunchEvent event = new ProjectileLaunchEvent(bukkitEntity);
|
||||
@@ -1317,8 +1328,15 @@ public class CraftEventFactory {
|
||||
@@ -1318,8 +1329,15 @@ public class CraftEventFactory {
|
||||
if (position.getType() == HitResult.Type.ENTITY) {
|
||||
hitEntity = ((EntityHitResult) position).getEntity().getBukkitEntity();
|
||||
}
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add API methods to control if armor stands can move
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
index 412271af1581a6805f867c67abcd3d7803156bef..d04d0b9cbf91beb57da7e37e72f8e7c98cf6cf4c 100644
|
||||
index 7e105760198c3b6ce782c14d71cd915e3b071684..1353bb583ec576345b7bfea5134c4b0d59811a07 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
@@ -92,6 +92,7 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -93,6 +93,7 @@ public class ArmorStand extends LivingEntity {
|
||||
public Rotations rightArmPose;
|
||||
public Rotations leftLegPose;
|
||||
public Rotations rightLegPose;
|
||||
|
@ -16,7 +16,7 @@ index 412271af1581a6805f867c67abcd3d7803156bef..d04d0b9cbf91beb57da7e37e72f8e7c9
|
|||
|
||||
public ArmorStand(EntityType<? extends ArmorStand> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -937,4 +938,13 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -938,4 +939,13 @@ public class ArmorStand extends LivingEntity {
|
||||
public boolean canBeSeenByAnyone() {
|
||||
return !this.isInvisible() && !this.isMarker();
|
||||
}
|
||||
|
|
|
@ -7,10 +7,10 @@ Subject: [PATCH] Firework API's
|
|||
public net.minecraft.world.entity.projectile.FireworkRocketEntity attachedToEntity
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
|
||||
index 764c15e6e35c358f0d04d15c20cf8f382f77c419..7005b3a26e9b5d79064981a4a41bee21b65a9fc3 100644
|
||||
index 9d637e005205a32fa5406ba47de7cd2b22ead9cf..5b3b59057b962438c6f4fc8a1507342865b3bc11 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
|
||||
@@ -37,6 +37,7 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
|
||||
@@ -40,6 +40,7 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
|
||||
public int lifetime;
|
||||
@Nullable
|
||||
public LivingEntity attachedToEntity;
|
||||
|
@ -18,7 +18,7 @@ index 764c15e6e35c358f0d04d15c20cf8f382f77c419..7005b3a26e9b5d79064981a4a41bee21
|
|||
|
||||
public FireworkRocketEntity(EntityType<? extends FireworkRocketEntity> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -312,6 +313,11 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
|
||||
@@ -315,6 +316,11 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
|
||||
}
|
||||
|
||||
nbt.putBoolean("ShotAtAngle", (Boolean) this.entityData.get(FireworkRocketEntity.DATA_SHOT_AT_ANGLE));
|
||||
|
@ -30,7 +30,7 @@ index 764c15e6e35c358f0d04d15c20cf8f382f77c419..7005b3a26e9b5d79064981a4a41bee21
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -328,7 +334,11 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
|
||||
@@ -331,7 +337,11 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
|
||||
if (nbt.contains("ShotAtAngle")) {
|
||||
this.entityData.set(FireworkRocketEntity.DATA_SHOT_AT_ANGLE, nbt.getBoolean("ShotAtAngle"));
|
||||
}
|
||||
|
|
|
@ -7,10 +7,10 @@ Allows you to access the Gateway being used in a teleport event
|
|||
Fix the offset used for player teleportation
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
index 8e63135d42d1a06cc7741e33eb3e057321ea53bc..08d34dff616b6c117a969809cdeb3853e28dc473 100644
|
||||
index 9e0da9a5ca64c67da5c07989f9c1872fbc2a5d26..1606c8c0dd5e27b42d0fd9da0db8a02e50efc5f9 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
@@ -207,11 +207,11 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
|
||||
@@ -208,11 +208,11 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
|
||||
// CraftBukkit start - Fire PlayerTeleportEvent/EntityTeleportEvent
|
||||
if (entity1 instanceof ServerPlayer) {
|
||||
org.bukkit.craftbukkit.entity.CraftPlayer player = (CraftPlayer) entity1.getBukkitEntity();
|
||||
|
|
|
@ -7,10 +7,10 @@ Saving players async is extremely dangerous. This will force it to main
|
|||
the same way we handle async chunk loads.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index a8a0b00a6bcc52a94b99d520915c21cc3155bb06..18d1056b9a3d936a851f7e7a49981dd4bb203f1d 100644
|
||||
index e1d9f11a9d5333811fc8cb5dd95c0ca79fd3543c..e45568112220b246adf3efdc43d26258336efbf9 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1061,11 +1061,13 @@ public abstract class PlayerList {
|
||||
@@ -1062,11 +1062,13 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public void saveAll() {
|
||||
|
|
|
@ -21,10 +21,10 @@ index 4f3c82f1b5ae24d5f70318fa96fae2a58ce7fd9f..45236a077d798d6a257a2e982b589011
|
|||
|
||||
return true;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
index 59bad6c92cc421dd05c7315e2ab694a669433ab4..ae70ad9d6c02fcb5631a3c45db283b29844bbb0d 100644
|
||||
index 7ce46bd254e0f14b1bbafe37e0eb97a468a07083..00b46fd0b4a718756f8b21f203fd5679bc2a79d8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
@@ -39,9 +39,63 @@ public class ExperienceOrb extends Entity {
|
||||
@@ -40,9 +40,63 @@ public class ExperienceOrb extends Entity {
|
||||
public int value;
|
||||
private int count;
|
||||
private Player followingPlayer;
|
||||
|
@ -88,7 +88,7 @@ index 59bad6c92cc421dd05c7315e2ab694a669433ab4..ae70ad9d6c02fcb5631a3c45db283b29
|
|||
this.setPos(x, y, z);
|
||||
this.setYRot((float) (this.random.nextDouble() * 360.0D));
|
||||
this.setDeltaMovement((this.random.nextDouble() * 0.20000000298023224D - 0.10000000149011612D) * 2.0D, this.random.nextDouble() * 0.2D * 2.0D, (this.random.nextDouble() * 0.20000000298023224D - 0.10000000149011612D) * 2.0D);
|
||||
@@ -160,12 +214,20 @@ public class ExperienceOrb extends Entity {
|
||||
@@ -161,12 +215,20 @@ public class ExperienceOrb extends Entity {
|
||||
}
|
||||
|
||||
public static void award(ServerLevel world, Vec3 pos, int amount) {
|
||||
|
@ -110,7 +110,7 @@ index 59bad6c92cc421dd05c7315e2ab694a669433ab4..ae70ad9d6c02fcb5631a3c45db283b29
|
|||
}
|
||||
}
|
||||
|
||||
@@ -235,6 +297,7 @@ public class ExperienceOrb extends Entity {
|
||||
@@ -236,6 +298,7 @@ public class ExperienceOrb extends Entity {
|
||||
nbt.putShort("Age", (short) this.age);
|
||||
nbt.putShort("Value", (short) this.value);
|
||||
nbt.putInt("Count", this.count);
|
||||
|
@ -118,7 +118,7 @@ index 59bad6c92cc421dd05c7315e2ab694a669433ab4..ae70ad9d6c02fcb5631a3c45db283b29
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -243,6 +306,7 @@ public class ExperienceOrb extends Entity {
|
||||
@@ -244,6 +307,7 @@ public class ExperienceOrb extends Entity {
|
||||
this.age = nbt.getShort("Age");
|
||||
this.value = nbt.getShort("Value");
|
||||
this.count = Math.max(nbt.getInt("Count"), 1);
|
||||
|
@ -127,10 +127,10 @@ index 59bad6c92cc421dd05c7315e2ab694a669433ab4..ae70ad9d6c02fcb5631a3c45db283b29
|
|||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 9b55a2b2863c546e88f1bfa9014eb84fd317f3c8..6ac549316d056a0de02e062fd4a28d7ac02a9d98 100644
|
||||
index 5ba65d647903077b39d9475ef28bfa0c400edd7a..2c3439d12e40003032904ebdb480fa95dd2a9682 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1787,7 +1787,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1795,7 +1795,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
protected void dropExperience() {
|
||||
// CraftBukkit start - Update getExpReward() above if the removed if() changes!
|
||||
if (true && !(this instanceof net.minecraft.world.entity.boss.enderdragon.EnderDragon)) { // CraftBukkit - SPIGOT-2420: Special case ender dragon will drop the xp over time
|
||||
|
@ -173,10 +173,10 @@ index f307f9077917f426a90523708c572b95cc7b6778..907ed82fea71254d6624eda878e2668c
|
|||
// CraftBukkit end
|
||||
}
|
||||
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 335249181f34bfe8b0e359c591e4eae0af63b0fe..8670d8b2a08e96df787a91f36c48df8b345080dc 100644
|
||||
index d2d89a47ceae2431969502cb81ae93391a2ee16c..6376908df89af1eff3a948ca1faef5d4925f0c3b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -909,7 +909,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -913,7 +913,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
if (this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
|
||||
// CraftBukkit start - use event experience
|
||||
if (experience > 0) {
|
||||
|
@ -199,10 +199,10 @@ index 5385f0a1d0c5522a94e2a5ded779d68826537883..11322066522a3268063bad7267ef4dd4
|
|||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index 2471800014d1661c2f422e5a24f0f3b00fa838f2..f5ce6423b8146cc741023e15004fe9814a035da8 100644
|
||||
index 0df9780c1689532d0d9f236077400b298d8e9f68..9ab60fb1b7f9c8a342d9116e99f7f0a1e463a626 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -673,7 +673,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -674,7 +674,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
|
||||
if (this.level() instanceof ServerLevel) {
|
||||
if (this.dragonDeathTime > 150 && this.dragonDeathTime % 5 == 0 && true) { // CraftBukkit - SPIGOT-2420: Already checked for the game rule when calculating the xp
|
||||
|
@ -211,7 +211,7 @@ index 2471800014d1661c2f422e5a24f0f3b00fa838f2..f5ce6423b8146cc741023e15004fe981
|
|||
}
|
||||
|
||||
if (this.dragonDeathTime == 1 && !this.isSilent()) {
|
||||
@@ -702,7 +702,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -703,7 +703,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
this.move(MoverType.SELF, new Vec3(0.0D, 0.10000000149011612D, 0.0D));
|
||||
if (this.dragonDeathTime == 200 && this.level() instanceof ServerLevel) {
|
||||
if (true) { // CraftBukkit - SPIGOT-2420: Already checked for the game rule when calculating the xp
|
||||
|
@ -221,10 +221,10 @@ index 2471800014d1661c2f422e5a24f0f3b00fa838f2..f5ce6423b8146cc741023e15004fe981
|
|||
|
||||
if (this.dragonFight != null) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 4034b8e7503f611dc9be121d8da2020ae7155b8c..f0d5e45d0d6ac51106379d20690d34a032a24c39 100644
|
||||
index e7db715d45d27cbc9b3ed7cad1d907273b225c7f..0b34003058205f26a89d18dad06b2067dbe897d7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -638,7 +638,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -639,7 +639,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}
|
||||
|
||||
if (offer.shouldRewardExp()) {
|
||||
|
@ -234,10 +234,10 @@ index 4034b8e7503f611dc9be121d8da2020ae7155b8c..f0d5e45d0d6ac51106379d20690d34a0
|
|||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
index d4d1cad7963a5adcc8c32e1bc02104eb70514331..0321b4bb622930bfe57661b0e6b893d7635668fb 100644
|
||||
index 09448ca61b7d1faf3b2f83d7c9f8a14afee39b7b..6b8d6ae203b7f7f2b591c35586baa4e8951a3677 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
@@ -207,7 +207,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -208,7 +208,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
if (offer.shouldRewardExp()) {
|
||||
int i = 3 + this.random.nextInt(4);
|
||||
|
||||
|
@ -247,10 +247,10 @@ index d4d1cad7963a5adcc8c32e1bc02104eb70514331..0321b4bb622930bfe57661b0e6b893d7
|
|||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
|
||||
index 8b27b5118cbeeb0b25fb6a23056e51899be32035..94bdd467108bc5fd0211f67a792787ef7c356619 100644
|
||||
index 9bf5b67922f3368e1ee4d76f6297ebe425f3ceab..d7548eb7cd6986dcea6fbf4efb76b647cc350642 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
|
||||
@@ -522,7 +522,7 @@ public class FishingHook extends Projectile {
|
||||
@@ -523,7 +523,7 @@ public class FishingHook extends Projectile {
|
||||
this.level().addFreshEntity(entityitem);
|
||||
// CraftBukkit start - this.random.nextInt(6) + 1 -> playerFishEvent.getExpToDrop()
|
||||
if (playerFishEvent.getExpToDrop() > 0) {
|
||||
|
@ -260,16 +260,16 @@ index 8b27b5118cbeeb0b25fb6a23056e51899be32035..94bdd467108bc5fd0211f67a792787ef
|
|||
// CraftBukkit end
|
||||
if (itemstack1.is(ItemTags.FISHES)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownExperienceBottle.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownExperienceBottle.java
|
||||
index 5d0e2c53d41e897532a8ec3c0a7b33e9b60e9ab5..e53046c6d47b4fd3d82132bc980a31b9491df6a7 100644
|
||||
index fdab4a51ec7068047e899771aad1b9949a0113cb..7e46b1958f1139b3a97a5f11e06c6f85172d6192 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownExperienceBottle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownExperienceBottle.java
|
||||
@@ -51,7 +51,7 @@ public class ThrownExperienceBottle extends ThrowableItemProjectile {
|
||||
@@ -54,7 +54,7 @@ public class ThrownExperienceBottle extends ThrowableItemProjectile {
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
- ExperienceOrb.award((ServerLevel) this.level(), this.position(), i);
|
||||
+ ExperienceOrb.award((ServerLevel) this.level(), this.position(), i, org.bukkit.entity.ExperienceOrb.SpawnReason.EXP_BOTTLE, this.getOwner(), this); // Paper
|
||||
this.discard();
|
||||
this.discard(EntityRemoveEvent.Cause.HIT); // CraftBukkit - add Bukkit remove cause
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java
|
||||
|
|
|
@ -12,10 +12,10 @@ just as it does in Vanilla, but entity pushing logic will be capped.
|
|||
You can set this to 0 to disable collisions.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 158d830e7615ed396f7edd6b82daa4e4f876c894..0a31747076225d1221dce554135cde704c76eec4 100644
|
||||
index 3112eace3d9d3d7b21dfc267993cb9d84819dc11..c261971ab482abfa5a1ca51abd189eff16421534 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -393,6 +393,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -394,6 +394,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
public long activatedTick = Integer.MIN_VALUE;
|
||||
public void inactiveTick() { }
|
||||
// Spigot end
|
||||
|
@ -24,10 +24,10 @@ index 158d830e7615ed396f7edd6b82daa4e4f876c894..0a31747076225d1221dce554135cde70
|
|||
@javax.annotation.Nullable
|
||||
private org.bukkit.util.Vector origin;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 6ac549316d056a0de02e062fd4a28d7ac02a9d98..ec862d3a70b9d9f71873a71c1f1d143bc95799ae 100644
|
||||
index 2c3439d12e40003032904ebdb480fa95dd2a9682..ded2c573533699133309d9ed5250e6a0ce97cc54 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3361,10 +3361,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3369,10 +3369,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
Iterator iterator1 = list.iterator();
|
||||
|
|
|
@ -64,10 +64,10 @@ index fcaa31ccd6f6e6affaccf76403dbab26e6932571..1d8e17f4b862e71cc5ef8c5eabfb80dc
|
|||
if (waitForShutdown) {
|
||||
try {
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 18d1056b9a3d936a851f7e7a49981dd4bb203f1d..40af2325afea3e4831a9d8795ce1932a6a5663bf 100644
|
||||
index e45568112220b246adf3efdc43d26258336efbf9..1c313dbfc501ce5782fb2d7500b9af35f0855c46 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1175,8 +1175,15 @@ public abstract class PlayerList {
|
||||
@@ -1176,8 +1176,15 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public void removeAll() {
|
||||
|
|
|
@ -14,7 +14,7 @@ To be converted into a Paper-API event at some point in the future?
|
|||
public net.minecraft.world.entity.player.Player removeEntitiesOnShoulder()V
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 6fec49a0833300ff0e4ef0f22d21480dfac9a2c7..12cfc3ed36d6eebd477dfd9058b2852e0a0d98eb 100644
|
||||
index 69e525776d57b2fe80d8bb9e94e981e553f329a3..00870f788b40fc0943ef54da1e84c6e357640a32 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2177,6 +2177,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
@ -32,10 +32,10 @@ index 6fec49a0833300ff0e4ef0f22d21480dfac9a2c7..12cfc3ed36d6eebd477dfd9058b2852e
|
|||
case RELEASE_SHIFT_KEY:
|
||||
this.player.setShiftKeyDown(false);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 10c2c9d7c7feb878319eb19cd1fb6401da3b9189..6ff0c2107fa0623d30d9159e3c67388faf597440 100644
|
||||
index 0cd534ddc28758f7fa6203c66505f167ecbdd3de..7429df8c6f29f7216e33cde3226424936de97cf9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -588,6 +588,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -589,6 +589,7 @@ public abstract class Player extends LivingEntity {
|
||||
this.playShoulderEntityAmbientSound(this.getShoulderEntityLeft());
|
||||
this.playShoulderEntityAmbientSound(this.getShoulderEntityRight());
|
||||
if (!this.level().isClientSide && (this.fallDistance > 0.5F || this.isInWater()) || this.abilities.flying || this.isSleeping() || this.isInPowderSnow) {
|
||||
|
|
|
@ -25,7 +25,7 @@ Other changes:
|
|||
Co-Authored-By: Emilia Kond <emilia@rymiel.space>
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index e865c5ce514770f4fde9146b6e7138e88932c33b..d8f909f4f108343e3973e965af617596c91e3d0e 100644
|
||||
index f838b058e6cad9061929509047bbe25c65baecf6..f4d33c9c4c04e1a09259dd9cc7cb909e30506580 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -6,9 +6,30 @@ plugins {
|
||||
|
@ -60,7 +60,7 @@ index e865c5ce514770f4fde9146b6e7138e88932c33b..d8f909f4f108343e3973e965af617596
|
|||
implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion
|
||||
implementation("org.ow2.asm:asm-commons:9.5")
|
||||
implementation("org.spongepowered:configurate-yaml:4.2.0-SNAPSHOT") // Paper - config files
|
||||
@@ -79,7 +100,7 @@ relocation {
|
||||
@@ -80,7 +101,7 @@ relocation {
|
||||
}
|
||||
|
||||
tasks.shadowJar {
|
||||
|
@ -372,10 +372,10 @@ index 75083eeb9b413e6dd5375007360dce6857a08fff..d292fdb165436f0b9b46b32110f5e09a
|
|||
if (!SwingUtilities.isEventDispatchThread()) {
|
||||
SwingUtilities.invokeLater(() -> {
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 40af2325afea3e4831a9d8795ce1932a6a5663bf..db4480778e4b917a073c61f29cd45663ed859597 100644
|
||||
index 1c313dbfc501ce5782fb2d7500b9af35f0855c46..e35e202d49f01c0c97b8c3e41a14254cbd4f2c49 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -160,8 +160,7 @@ public abstract class PlayerList {
|
||||
@@ -161,8 +161,7 @@ public abstract class PlayerList {
|
||||
|
||||
public PlayerList(MinecraftServer server, LayeredRegistryAccess<RegistryLayer> registryManager, PlayerDataStorage saveHandler, int maxPlayers) {
|
||||
this.cserver = server.server = new CraftServer((DedicatedServer) server, this);
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: [PATCH] provide a configurable option to disable creeper lingering
|
|||
|
||||
|
||||
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 1c6ebab20ac03f0553e2a25eff10171a39e06a3f..db7485806d90fe90f806736ac55143564488467d 100644
|
||||
index 2c2dbe18e7c3c7fa9c98aaa619637f399e83f72e..79614aaa4832c969443d6393e7d5bb8a622a5d98 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -287,7 +287,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -288,7 +288,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
private void spawnLingeringCloud() {
|
||||
Collection<MobEffectInstance> collection = this.getActiveEffects();
|
||||
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Item#canEntityPickup
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index fa5d8a041858d17c785f033dd2aa3ab242069749..bb051d73a048b0a8ce245914f3564e39702b8452 100644
|
||||
index 2de1ad28d42d4beec69901bf985ac0be582f00b9..655dfa9113ca82dc56bc8f4b083ea049ee5b4bee 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -670,6 +670,11 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -671,6 +671,11 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
ItemEntity entityitem = (ItemEntity) iterator.next();
|
||||
|
||||
if (!entityitem.isRemoved() && !entityitem.getItem().isEmpty() && !entityitem.hasPickUpDelay() && this.wantsToPickUp(entityitem.getItem())) {
|
||||
|
@ -21,10 +21,10 @@ index fa5d8a041858d17c785f033dd2aa3ab242069749..bb051d73a048b0a8ce245914f3564e39
|
|||
}
|
||||
}
|
||||
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 5bb26ca5c81635d27ca59352d5184d8b4300e0b5..6c2e22f1b2b1ce2903c0ee1d2dbde96b40bd1624 100644
|
||||
index 270ae75863ff6e97e80641e94ce2ade07f683c5a..d1bd8b5e5b0873a526ae449986593867b10eec12 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -54,6 +54,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -55,6 +55,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
public UUID target;
|
||||
public final float bobOffs;
|
||||
private int lastTick = MinecraftServer.currentTick - 1; // CraftBukkit
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] PlayerPickupItemEvent#setFlyAtPlayer
|
|||
|
||||
|
||||
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 6c2e22f1b2b1ce2903c0ee1d2dbde96b40bd1624..1d7d3a7e3b4153b97d69eb1ae6e43a43a4ebabd4 100644
|
||||
index d1bd8b5e5b0873a526ae449986593867b10eec12..a66abc5e759ee0f170b5aadd2640613b98ef6942 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -423,6 +423,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -424,6 +424,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
// CraftBukkit start - fire PlayerPickupItemEvent
|
||||
int canHold = player.getInventory().canHold(itemstack);
|
||||
int remaining = i - canHold;
|
||||
|
@ -16,7 +16,7 @@ index 6c2e22f1b2b1ce2903c0ee1d2dbde96b40bd1624..1d7d3a7e3b4153b97d69eb1ae6e43a43
|
|||
|
||||
if (this.pickupDelay <= 0 && canHold > 0) {
|
||||
itemstack.setCount(canHold);
|
||||
@@ -430,8 +431,14 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -431,8 +432,14 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
PlayerPickupItemEvent playerEvent = new PlayerPickupItemEvent((Player) player.getBukkitEntity(), (org.bukkit.entity.Item) this.getBukkitEntity(), remaining);
|
||||
playerEvent.setCancelled(!playerEvent.getPlayer().getCanPickupItems());
|
||||
this.level().getCraftServer().getPluginManager().callEvent(playerEvent);
|
||||
|
@ -31,11 +31,11 @@ index 6c2e22f1b2b1ce2903c0ee1d2dbde96b40bd1624..1d7d3a7e3b4153b97d69eb1ae6e43a43
|
|||
return;
|
||||
}
|
||||
|
||||
@@ -461,6 +468,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -462,6 +469,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
// CraftBukkit end
|
||||
|
||||
if (this.pickupDelay == 0 && (this.target == null || this.target.equals(player.getUUID())) && player.getInventory().add(itemstack)) {
|
||||
+ if (flyAtPlayer) // Paper - PlayerPickupItemEvent
|
||||
player.take(this, i);
|
||||
if (itemstack.isEmpty()) {
|
||||
this.discard();
|
||||
this.discard(EntityRemoveEvent.Cause.PICKUP); // CraftBukkit - add Bukkit remove cause
|
||||
|
|
|
@ -5,18 +5,18 @@ Subject: [PATCH] PlayerAttemptPickupItemEvent
|
|||
|
||||
|
||||
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 1d7d3a7e3b4153b97d69eb1ae6e43a43a4ebabd4..1523be0c9f7ae3b8015b8017797601489c068e8c 100644
|
||||
index a66abc5e759ee0f170b5aadd2640613b98ef6942..d568726f80308e29bcfa3714728096d7d0aa822c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -36,6 +36,7 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.entity.EntityPickupItemEvent;
|
||||
@@ -37,6 +37,7 @@ import org.bukkit.event.entity.EntityPickupItemEvent;
|
||||
import org.bukkit.event.entity.EntityRemoveEvent;
|
||||
import org.bukkit.event.player.PlayerPickupItemEvent;
|
||||
// CraftBukkit end
|
||||
+import org.bukkit.event.player.PlayerAttemptPickupItemEvent; // Paper
|
||||
|
||||
public class ItemEntity extends Entity implements TraceableEntity {
|
||||
|
||||
@@ -425,6 +426,22 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -426,6 +427,22 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
int remaining = i - canHold;
|
||||
boolean flyAtPlayer = false; // Paper
|
||||
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Shoulder Entities Release API
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 6ff0c2107fa0623d30d9159e3c67388faf597440..cd5a4e91ee8da2a2a5d34ecc9a24394e131e79d0 100644
|
||||
index 7429df8c6f29f7216e33cde3226424936de97cf9..4bbf8bb418e3585be2efce5d9a8785faafe7cdde 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -1948,20 +1948,45 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1956,20 +1956,45 @@ public abstract class Player extends LivingEntity {
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Entity#fromMobSpawner()
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 0a31747076225d1221dce554135cde704c76eec4..6fbde57320a58600f8c4b9ce598fa93bd2772e8b 100644
|
||||
index c261971ab482abfa5a1ca51abd189eff16421534..fe314015f8cbc44e29a8ec73ecca4eeadd1da39f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -394,6 +394,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -395,6 +395,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
public void inactiveTick() { }
|
||||
// Spigot end
|
||||
protected int numCollisions = 0; // Paper - Cap entity collisions
|
||||
|
@ -16,7 +16,7 @@ index 0a31747076225d1221dce554135cde704c76eec4..6fbde57320a58600f8c4b9ce598fa93b
|
|||
// Paper start - Entity origin API
|
||||
@javax.annotation.Nullable
|
||||
private org.bukkit.util.Vector origin;
|
||||
@@ -2149,6 +2150,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -2162,6 +2163,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
nbttagcompound.put("Paper.Origin", this.newDoubleList(origin.getX(), origin.getY(), origin.getZ()));
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ index 0a31747076225d1221dce554135cde704c76eec4..6fbde57320a58600f8c4b9ce598fa93b
|
|||
// Paper end
|
||||
return nbttagcompound;
|
||||
} catch (Throwable throwable) {
|
||||
@@ -2289,6 +2294,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -2302,6 +2307,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
this.originWorld = originWorld;
|
||||
origin = new org.bukkit.util.Vector(originTag.getDouble(0), originTag.getDouble(1), originTag.getDouble(2));
|
||||
}
|
||||
|
@ -49,10 +49,10 @@ index a46293dafeb73f9206b92a2850df18a6a5f688b4..487e4211d6486d2b3052c931c27cee97
|
|||
if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, pos).isCancelled()) {
|
||||
continue;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 74937603e7b8308fd314d650d9d966e8abd2c725..deb355b2188a49f818aaddad6c4ce60de94428e0 100644
|
||||
index 4a875d038f1ab7f2bdc5f290a6ad71e4b61c6822..d715dcc9155ad9938bd4fbe0cde43079f614f203 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -1012,5 +1012,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -1013,5 +1013,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
//noinspection ConstantConditions
|
||||
return originVector.toLocation(world);
|
||||
}
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] ProfileWhitelistVerifyEvent
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index db4480778e4b917a073c61f29cd45663ed859597..7552d1b9e6c286daaa6b094af0fdebc2b300272a 100644
|
||||
index e35e202d49f01c0c97b8c3e41a14254cbd4f2c49..d2002567e10883bcf61a2036cea1b598aacc00da 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -631,9 +631,9 @@ public abstract class PlayerList {
|
||||
@@ -632,9 +632,9 @@ public abstract class PlayerList {
|
||||
|
||||
// return chatmessage;
|
||||
event.disallow(PlayerLoginEvent.Result.KICK_BANNED, io.papermc.paper.adventure.PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure
|
||||
|
@ -21,7 +21,7 @@ index db4480778e4b917a073c61f29cd45663ed859597..7552d1b9e6c286daaa6b094af0fdebc2
|
|||
} else if (this.getIpBans().isBanned(socketaddress) && !this.getIpBans().get(socketaddress).hasExpired()) {
|
||||
IpBanListEntry ipbanentry = this.ipBans.get(socketaddress);
|
||||
|
||||
@@ -1024,7 +1024,23 @@ public abstract class PlayerList {
|
||||
@@ -1025,7 +1025,23 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public boolean isWhiteListed(GameProfile profile) {
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: [PATCH] Send attack SoundEffects only to players who can see the
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index cd5a4e91ee8da2a2a5d34ecc9a24394e131e79d0..056b816c2959b44c24fca04e14e8d764b4a06b0f 100644
|
||||
index 4bbf8bb418e3585be2efce5d9a8785faafe7cdde..0043a1f877a0a74d361a37dfa0652d1931835988 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -1226,7 +1226,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1227,7 +1227,7 @@ public abstract class Player extends LivingEntity {
|
||||
int i = b0 + EnchantmentHelper.getKnockbackBonus(this);
|
||||
|
||||
if (this.isSprinting() && flag) {
|
||||
|
@ -18,7 +18,7 @@ index cd5a4e91ee8da2a2a5d34ecc9a24394e131e79d0..056b816c2959b44c24fca04e14e8d764
|
|||
++i;
|
||||
flag1 = true;
|
||||
}
|
||||
@@ -1301,7 +1301,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1302,7 +1302,7 @@ public abstract class Player extends LivingEntity {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -27,7 +27,7 @@ index cd5a4e91ee8da2a2a5d34ecc9a24394e131e79d0..056b816c2959b44c24fca04e14e8d764
|
|||
this.sweepAttack();
|
||||
}
|
||||
|
||||
@@ -1329,15 +1329,15 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1330,15 +1330,15 @@ public abstract class Player extends LivingEntity {
|
||||
}
|
||||
|
||||
if (flag2) {
|
||||
|
@ -46,7 +46,7 @@ index cd5a4e91ee8da2a2a5d34ecc9a24394e131e79d0..056b816c2959b44c24fca04e14e8d764
|
|||
}
|
||||
}
|
||||
|
||||
@@ -1389,7 +1389,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1390,7 +1390,7 @@ public abstract class Player extends LivingEntity {
|
||||
|
||||
this.causeFoodExhaustion(this.level().spigotConfig.combatExhaustion, EntityExhaustionEvent.ExhaustionReason.ATTACK); // CraftBukkit - EntityExhaustionEvent // Spigot - Change to use configurable value
|
||||
} else {
|
||||
|
@ -55,7 +55,7 @@ index cd5a4e91ee8da2a2a5d34ecc9a24394e131e79d0..056b816c2959b44c24fca04e14e8d764
|
|||
if (flag4) {
|
||||
target.clearFire();
|
||||
}
|
||||
@@ -1783,6 +1783,14 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1791,6 +1791,14 @@ public abstract class Player extends LivingEntity {
|
||||
public int getXpNeededForNextLevel() {
|
||||
return this.experienceLevel >= 30 ? 112 + (this.experienceLevel - 30) * 9 : (this.experienceLevel >= 15 ? 37 + (this.experienceLevel - 15) * 5 : 7 + this.experienceLevel * 2);
|
||||
}
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerArmorChangeEvent
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index ec862d3a70b9d9f71873a71c1f1d143bc95799ae..1203387260e5e2727ffb682882da85b8c89c1f4c 100644
|
||||
index ded2c573533699133309d9ed5250e6a0ce97cc54..bbf3286cb69f931be528726e45784eec9f8e0af3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3060,6 +3060,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3068,6 +3068,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
ItemStack itemstack1 = this.getItemBySlot(enumitemslot);
|
||||
|
||||
if (this.equipmentHasChanged(itemstack, itemstack1)) {
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: [PATCH] PlayerPickupExperienceEvent
|
|||
Allows plugins to cancel a player picking up an experience orb
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
index ae70ad9d6c02fcb5631a3c45db283b29844bbb0d..0f55715f2d97ab09746a51f9d39134b513778fdd 100644
|
||||
index 00b46fd0b4a718756f8b21f203fd5679bc2a79d8..97524656b8af7b80aeb7845575c704585dade725 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
@@ -312,7 +312,7 @@ public class ExperienceOrb extends Entity {
|
||||
@@ -313,7 +313,7 @@ public class ExperienceOrb extends Entity {
|
||||
@Override
|
||||
public void playerTouch(Player player) {
|
||||
if (!this.level().isClientSide) {
|
||||
|
|
|
@ -14,7 +14,7 @@ public net.minecraft.world.entity.ExperienceOrb durabilityToXp(I)I
|
|||
public net.minecraft.world.entity.ExperienceOrb xpToDurability(I)I
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 901a1c98024eb81d2fa3e7ca13add63864a9c5ef..1444b633a2b49ce492a8a3c2a9c4befb8c7618fd 100644
|
||||
index 901a1c98024eb81d2fa3e7ca13add63864a9c5ef..0eea0024deb19da924df584e5af58917c2f41188 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1546,7 +1546,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
@ -38,7 +38,7 @@ index 901a1c98024eb81d2fa3e7ca13add63864a9c5ef..1444b633a2b49ce492a8a3c2a9c4befb
|
|||
+ int i = Math.min(orb.xpToDurability(amount), itemstack.getDamageValue());
|
||||
+ org.bukkit.event.player.PlayerItemMendEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemMendEvent(handle, orb, itemstack, stackEntry.getKey(), i);
|
||||
+ i = event.getRepairAmount();
|
||||
+ orb.discard();
|
||||
+ orb.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DESPAWN);
|
||||
+ if (!event.isCancelled()) {
|
||||
+ amount -= orb.durabilityToXp(i);
|
||||
+ itemstack.setDamageValue(itemstack.getDamageValue() - i);
|
||||
|
|
|
@ -15,7 +15,7 @@ instead and save a lot of server resources.
|
|||
See: https://github.com/PaperMC/Paper/issues/917
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/util/SpawnUtil.java b/src/main/java/net/minecraft/util/SpawnUtil.java
|
||||
index b77ebe04f1018962b85110258c8a0a2db8612485..1954fdc7b72700d5948e93ebcb0e6a26fe244a1b 100644
|
||||
index d83444ccca674011c7c32c4a9287fbadc9b64494..c5d54abfcbd74c3041d9a46f77705460fa65ce30 100644
|
||||
--- a/src/main/java/net/minecraft/util/SpawnUtil.java
|
||||
+++ b/src/main/java/net/minecraft/util/SpawnUtil.java
|
||||
@@ -22,10 +22,10 @@ public class SpawnUtil {
|
||||
|
@ -76,10 +76,10 @@ index 382b55167dede435b034866bd394455f0f6f2a00..035af9ccf679a562203a4a2c4f2b3809
|
|||
|
||||
if (t0 != null) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index f0d5e45d0d6ac51106379d20690d34a032a24c39..bfd156acbae31619234fffb1804726090802fbae 100644
|
||||
index 0b34003058205f26a89d18dad06b2067dbe897d7..0a1a70edda66bf348b3e3a9df4670cd81561cd1f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -975,7 +975,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -976,7 +976,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}).limit(5L).collect(Collectors.toList());
|
||||
|
||||
if (list1.size() >= requiredCount) {
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Toggleable player crits
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 056b816c2959b44c24fca04e14e8d764b4a06b0f..e38f2e9a2ea616ebe5f167583fe339fc7244ccbf 100644
|
||||
index 0043a1f877a0a74d361a37dfa0652d1931835988..654654b1d9c10934af333dfe69c27a5d3997eda4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -1233,6 +1233,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1234,6 +1234,7 @@ public abstract class Player extends LivingEntity {
|
||||
|
||||
boolean flag2 = flag && this.fallDistance > 0.0F && !this.onGround() && !this.onClimbable() && !this.isInWater() && !this.hasEffect(MobEffects.BLINDNESS) && !this.isPassenger() && target instanceof LivingEntity;
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ This can be useful for changing name or skins after a player has logged in.
|
|||
public-f net.minecraft.world.entity.player.Player gameProfile
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index f60d754cb617df3c5ab8654eba66016c1cc04617..39af3e197502c1f262fbdd4e06dc0e3fc7537b77 100644
|
||||
index 5d4730b9ced378c1e77d7734f2f8aba6d09a19d0..f19ab219dc51e9f9fff119637b33281dac4e03d2 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1467,7 +1467,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
@ -40,10 +40,10 @@ index b41aa61f80cd4ab8ddd19da397244392f9efde78..e745061f3e6a4541f44ba119106915cd
|
|||
playerName = gameprofile.getName();
|
||||
uniqueId = gameprofile.getId();
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 7552d1b9e6c286daaa6b094af0fdebc2b300272a..9f8a95c8f46a11f36ff16863922a91a8d81d0bb3 100644
|
||||
index d2002567e10883bcf61a2036cea1b598aacc00da..31f9d5b32a562cd33d8989810026d996b3ab69aa 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -862,10 +862,16 @@ public abstract class PlayerList {
|
||||
@@ -863,10 +863,16 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public void sendPlayerPermissionLevel(ServerPlayer player) {
|
||||
|
@ -77,7 +77,7 @@ index 954825dcd011716dcd859aa285a8e3cdb6ff5464..34925d6448e0ef1d5bb4b24359f732b6
|
|||
|
||||
public Server getServer() {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 1444b633a2b49ce492a8a3c2a9c4befb8c7618fd..f33aee99de2007701bd593917a63e05c7fa5e349 100644
|
||||
index 0eea0024deb19da924df584e5af58917c2f41188..ac42d245f14c9b0565f64689b4646d84791b6a86 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -236,11 +236,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: [PATCH] Configurable sprint interruption on attack
|
|||
If the sprint interruption is disabled players continue sprinting when they attack entities.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index e38f2e9a2ea616ebe5f167583fe339fc7244ccbf..cd85cc78cc25a2291c1202d53af82c7c00ac39d2 100644
|
||||
index 654654b1d9c10934af333dfe69c27a5d3997eda4..b97a3c78ef2fc2865817ca2166f87a8d6e19055c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -1282,7 +1282,11 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1283,7 +1283,11 @@ public abstract class Player extends LivingEntity {
|
||||
}
|
||||
|
||||
this.setDeltaMovement(this.getDeltaMovement().multiply(0.6D, 1.0D, 0.6D));
|
||||
|
|
|
@ -22,10 +22,10 @@ index 96a87db9f8976d3f1ff09beb9598db31fff72d5b..25a1edf64602a13c07779e58b167a847
|
|||
this.setUsingItem(true);
|
||||
if (!this.isSilent()) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index d461f56cbc64efba422d748c42ec106f84423833..e0234ea1d55e918072574fb5d4b6cc75fc5d46d6 100644
|
||||
index c1f3086d37e2959bbcc23bc1b779215bc35c99c4..096e80bb71d10c897a20bb3c0b4b761328c9f56e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1880,4 +1880,14 @@ public class CraftEventFactory {
|
||||
@@ -1896,4 +1896,14 @@ public class CraftEventFactory {
|
||||
).callEvent();
|
||||
}
|
||||
// Paper end - PlayerUseUnknownEntityEvent
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityTeleportEndGatewayEvent
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
index 08d34dff616b6c117a969809cdeb3853e28dc473..223550eccdf0a5596b8595a30f02ad891ffd91ea 100644
|
||||
index 1606c8c0dd5e27b42d0fd9da0db8a02e50efc5f9..a57743b21b6075ba01def0a41fecbf90b2df7f85 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
|
||||
@@ -224,8 +224,14 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
|
||||
@@ -225,8 +225,14 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: [PATCH] Unset Ignited flag on cancel of Explosion Event
|
|||
Otherwise the creeper infinite explodes
|
||||
|
||||
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 db7485806d90fe90f806736ac55143564488467d..d08ccf5eb52e5975b161f5f7bcbdd385eb8318c9 100644
|
||||
index 79614aaa4832c969443d6393e7d5bb8a622a5d98..83b407e865e2ff4debb89c350727809601be1fa6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -278,6 +278,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -279,6 +279,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
// CraftBukkit start
|
||||
} else {
|
||||
this.swell = 0;
|
||||
|
|
|
@ -21,10 +21,10 @@ check is essentially the same as this.getHandle() == other.getHandle()
|
|||
However, replaced it too to make it clearer of intent.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index deb355b2188a49f818aaddad6c4ce60de94428e0..388c9db9d130071122e9f80749fb2eef05455408 100644
|
||||
index d715dcc9155ad9938bd4fbe0cde43079f614f203..34e4dd733a2e9ccc3c7f1b228825428100e583e9 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -499,14 +499,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -500,14 +500,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return false;
|
||||
}
|
||||
final CraftEntity other = (CraftEntity) obj;
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Make shield blocking delay configurable
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 1203387260e5e2727ffb682882da85b8c89c1f4c..001179978a81f2f7f1c56270b2a131dda7aaa881 100644
|
||||
index bbf3286cb69f931be528726e45784eec9f8e0af3..21bef887193c777ec1e311b3bf5c0213180ea4ca 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3820,12 +3820,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3828,12 +3828,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
if (this.isUsingItem() && !this.useItem.isEmpty()) {
|
||||
Item item = this.useItem.getItem();
|
||||
|
||||
|
@ -35,7 +35,7 @@ index 1203387260e5e2727ffb682882da85b8c89c1f4c..001179978a81f2f7f1c56270b2a131dd
|
|||
return this.isShiftKeyDown();
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 82773a05783b731e2f7bd00c8ec68090d15a7b66..ca92ece290c6dd164b3ba2ba46289350ae6829e8 100644
|
||||
index a2b2c3da97979b1684ec48934f82a784f1e63b6b..ccd2880da35263d1d16597eba2ec35b8b343cb5d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -839,5 +839,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
|
|
|
@ -7,10 +7,10 @@ Called when a player is firing a bow and the server is choosing an arrow to use.
|
|||
Plugins can skip selection of certain arrows and control which is used.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index cd85cc78cc25a2291c1202d53af82c7c00ac39d2..aad9add92eaff7205383033a0b03d072724bf428 100644
|
||||
index b97a3c78ef2fc2865817ca2166f87a8d6e19055c..0bff92eeade590852b9b37105a18df35f587559b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -2168,18 +2168,29 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -2176,18 +2176,29 @@ public abstract class Player extends LivingEntity {
|
||||
return ImmutableList.of(Pose.STANDING, Pose.CROUCHING, Pose.SWIMMING);
|
||||
}
|
||||
|
||||
|
|
|
@ -9,10 +9,10 @@ Co-authored-by: aerulion <aerulion@gmail.com>
|
|||
This event is called when an entity receives knockback by another entity.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 6fbde57320a58600f8c4b9ce598fa93bd2772e8b..cf907e0c1a89639639b6453032f8f6fe4e05a81c 100644
|
||||
index fe314015f8cbc44e29a8ec73ecca4eeadd1da39f..17a8c7e42b31513a4586cd2d40b2d58911814f75 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1856,8 +1856,22 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -1869,8 +1869,22 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
|
||||
public void push(double deltaX, double deltaY, double deltaZ) {
|
||||
|
@ -37,10 +37,10 @@ index 6fbde57320a58600f8c4b9ce598fa93bd2772e8b..cf907e0c1a89639639b6453032f8f6fe
|
|||
|
||||
protected void markHurt() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 001179978a81f2f7f1c56270b2a131dda7aaa881..4324c1d8d03f69bb40740269170fd70a317d299e 100644
|
||||
index 21bef887193c777ec1e311b3bf5c0213180ea4ca..83a56061ce23d3d6f7d8ad3201ce325106f8a4d0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1561,7 +1561,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1569,7 +1569,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
protected void blockedByShield(LivingEntity target) {
|
||||
|
@ -49,7 +49,7 @@ index 001179978a81f2f7f1c56270b2a131dda7aaa881..4324c1d8d03f69bb40740269170fd70a
|
|||
}
|
||||
|
||||
private boolean checkTotemDeathProtection(DamageSource source) {
|
||||
@@ -1824,7 +1824,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1832,7 +1832,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.knockback(strength, x, z, null, EntityKnockbackEvent.KnockbackCause.UNKNOWN);
|
||||
}
|
||||
|
||||
|
@ -58,7 +58,7 @@ index 001179978a81f2f7f1c56270b2a131dda7aaa881..4324c1d8d03f69bb40740269170fd70a
|
|||
d0 *= 1.0D - this.getAttributeValue(Attributes.KNOCKBACK_RESISTANCE);
|
||||
if (true || d0 > 0.0D) { // CraftBukkit - Call event even when force is 0
|
||||
//this.hasImpulse = true; // CraftBukkit - Move down
|
||||
@@ -1836,8 +1836,22 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1844,8 +1844,22 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -109,10 +109,10 @@ index 29cfd065f246bbd3d3c2a5bbd32c3f4813a02951..771d798fa3b367043129f41101c65f13
|
|||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index f5ce6423b8146cc741023e15004fe9814a035da8..666c62d796cae9a70516680e26196f7e02c53918 100644
|
||||
index 9ab60fb1b7f9c8a342d9116e99f7f0a1e463a626..0d84f1fb53384a827d7418c322a32e3286f4081a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -458,7 +458,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -459,7 +459,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
double d3 = entity.getZ() - d1;
|
||||
double d4 = Math.max(d2 * d2 + d3 * d3, 0.1D);
|
||||
|
||||
|
@ -148,10 +148,10 @@ index 81003ce3f05c6be6f52a92b86a4721235f4ce12a..cae7e3e85c3b911f50f8a06badf695c3
|
|||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index aad9add92eaff7205383033a0b03d072724bf428..de537f4e89ccadefafb0f3e6075dba5f030f2654 100644
|
||||
index 0bff92eeade590852b9b37105a18df35f587559b..c934c7614281f77376858909c86d9a1a73c8e174 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -1278,7 +1278,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1279,7 +1279,7 @@ public abstract class Player extends LivingEntity {
|
||||
if (target instanceof LivingEntity) {
|
||||
((LivingEntity) target).knockback((double) ((float) i * 0.5F), (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this, EntityKnockbackEvent.KnockbackCause.ENTITY_ATTACK); // CraftBukkit
|
||||
} else {
|
||||
|
@ -161,10 +161,10 @@ index aad9add92eaff7205383033a0b03d072724bf428..de537f4e89ccadefafb0f3e6075dba5f
|
|||
|
||||
this.setDeltaMovement(this.getDeltaMovement().multiply(0.6D, 1.0D, 0.6D));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||
index 0f700442a7559fac5d27d1fb6b3716f3853a9897..f3861cea4eb6a39fa16936383f8dabc6689a58a9 100644
|
||||
index c210ae3795b1bbaefbe84a6f62b9d3dd75d642a4..f1d7f202b99b8ae4c16d10956d68d74efae8445b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
||||
@@ -409,7 +409,7 @@ public abstract class AbstractArrow extends Projectile {
|
||||
@@ -410,7 +410,7 @@ public abstract class AbstractArrow extends Projectile {
|
||||
Vec3 vec3d = this.getDeltaMovement().multiply(1.0D, 0.0D, 1.0D).normalize().scale((double) this.knockback * 0.6D * d0);
|
||||
|
||||
if (vec3d.lengthSqr() > 0.0D) {
|
||||
|
|
|
@ -7,7 +7,7 @@ Allows you to determine why an inventory was closed, enabling plugin developers
|
|||
to "confirm" things based on if it was player triggered close or not.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 180a9ade7bbc84d8c64b6c92583ba870464c23a5..a6749080a192a591dd4e52f56b691df8d9cfcd98 100644
|
||||
index 256b9c6cbf52c252f8174d0aa74e1270fb092ae9..113dce44ce086272fe7f20a2007efadee142ff85 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1235,7 +1235,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
@ -96,10 +96,10 @@ index f19ab219dc51e9f9fff119637b33281dac4e03d2..29ffe034b3b7838e20be4d6a52a82cec
|
|||
this.player.doCloseContainer();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 9f8a95c8f46a11f36ff16863922a91a8d81d0bb3..e68a0c86f73325189a67186b058062509663f6e7 100644
|
||||
index 31f9d5b32a562cd33d8989810026d996b3ab69aa..2dac6be5b320d7c12aa70fd09d7d218b8cd89287 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -518,7 +518,7 @@ public abstract class PlayerList {
|
||||
@@ -519,7 +519,7 @@ public abstract class PlayerList {
|
||||
// CraftBukkit start - Quitting must be before we do final save of data, in case plugins need to modify it
|
||||
// See SPIGOT-5799, SPIGOT-6145
|
||||
if (entityplayer.containerMenu != entityplayer.inventoryMenu) {
|
||||
|
@ -109,10 +109,10 @@ index 9f8a95c8f46a11f36ff16863922a91a8d81d0bb3..e68a0c86f73325189a67186b05806250
|
|||
|
||||
PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(entityplayer.getBukkitEntity(), net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? entityplayer.getBukkitEntity().displayName() : io.papermc.paper.adventure.PaperAdventure.asAdventure(entityplayer.getDisplayName()))); // Paper - Adventure
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index de537f4e89ccadefafb0f3e6075dba5f030f2654..c794fa6290be9904f3e97e74be9959f243c00f58 100644
|
||||
index c934c7614281f77376858909c86d9a1a73c8e174..83c7ba56900ce40f71d98062bf15110a76597dce 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -264,7 +264,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -265,7 +265,7 @@ public abstract class Player extends LivingEntity {
|
||||
this.updateIsUnderwater();
|
||||
super.tick();
|
||||
if (!this.level().isClientSide && this.containerMenu != null && !this.containerMenu.stillValid(this)) {
|
||||
|
@ -121,7 +121,7 @@ index de537f4e89ccadefafb0f3e6075dba5f030f2654..c794fa6290be9904f3e97e74be9959f2
|
|||
this.containerMenu = this.inventoryMenu;
|
||||
}
|
||||
|
||||
@@ -496,6 +496,13 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -497,6 +497,13 @@ public abstract class Player extends LivingEntity {
|
||||
|
||||
}
|
||||
|
||||
|
@ -165,7 +165,7 @@ index 092d2bfab7e8fd9840e853f09adc85311ab29046..af6f8d11f0384c353332f5c5bb0967e5
|
|||
@Override
|
||||
public boolean isBlocking() {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index a77c15a9c351c9cd5e8b4832016ec6de30483ed6..ddf089d73a05792d99a96bb449717d82755f5cd9 100644
|
||||
index dbf67a52ae2e18589952b2d019b5258324ff3edc..b4212f5a5b3b1e5476f7598be165ffb1defb5c21 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1182,7 +1182,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
@ -178,10 +178,10 @@ index a77c15a9c351c9cd5e8b4832016ec6de30483ed6..ddf089d73a05792d99a96bb449717d82
|
|||
|
||||
// Check if the fromWorld and toWorld are the same.
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index e0234ea1d55e918072574fb5d4b6cc75fc5d46d6..9e2007967d093d7a72e980f578657e4bcb9badae 100644
|
||||
index 096e80bb71d10c897a20bb3c0b4b761328c9f56e..139d9b4a290d9089ba9a6c92ddcf04e1404c1074 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1262,7 +1262,7 @@ public class CraftEventFactory {
|
||||
@@ -1263,7 +1263,7 @@ public class CraftEventFactory {
|
||||
|
||||
public static AbstractContainerMenu callInventoryOpenEvent(ServerPlayer player, AbstractContainerMenu container, boolean cancelled) {
|
||||
if (player.containerMenu != player.inventoryMenu) { // fire INVENTORY_CLOSE if one already open
|
||||
|
@ -190,7 +190,7 @@ index e0234ea1d55e918072574fb5d4b6cc75fc5d46d6..9e2007967d093d7a72e980f578657e4b
|
|||
}
|
||||
|
||||
CraftServer server = player.level().getCraftServer();
|
||||
@@ -1449,8 +1449,18 @@ public class CraftEventFactory {
|
||||
@@ -1450,8 +1450,18 @@ public class CraftEventFactory {
|
||||
return event;
|
||||
}
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: [PATCH] add more information to Entity.toString()
|
|||
UUID, ticks lived, valid, dead
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index cf907e0c1a89639639b6453032f8f6fe4e05a81c..dadf26ee5b6be851473429dbef703037f0c0d9fe 100644
|
||||
index 17a8c7e42b31513a4586cd2d40b2d58911814f75..b718e5a1dd49dc855a1161106b53a1d6615e8b69 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3153,7 +3153,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -3166,7 +3166,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
public String toString() {
|
||||
String s = this.level() == null ? "~NULL~" : this.level().toString();
|
||||
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] EnderDragon Events
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/phases/DragonSittingFlamingPhase.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/phases/DragonSittingFlamingPhase.java
|
||||
index f72ad2e7d0d5953c906d0d9f8adb9ba74d1841be..bb8f50a47a88f4e4d440ae0b70a56e7f9c1467ca 100644
|
||||
index 3eaf64a6f66c6a844e30967e6b87432e559a59e7..5c5c71db73a2bfebbb33cebd6325a0f4fef1f239 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/phases/DragonSittingFlamingPhase.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/phases/DragonSittingFlamingPhase.java
|
||||
@@ -83,7 +83,13 @@ public class DragonSittingFlamingPhase extends AbstractDragonSittingPhase {
|
||||
@@ -88,7 +88,13 @@ public class DragonSittingFlamingPhase extends AbstractDragonSittingPhase {
|
||||
this.flame.setDuration(200);
|
||||
this.flame.setParticle(ParticleTypes.DRAGON_BREATH);
|
||||
this.flame.addEffect(new MobEffectInstance(MobEffects.HARM));
|
||||
|
@ -23,7 +23,7 @@ index f72ad2e7d0d5953c906d0d9f8adb9ba74d1841be..bb8f50a47a88f4e4d440ae0b70a56e7f
|
|||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/phases/DragonStrafePlayerPhase.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/phases/DragonStrafePlayerPhase.java
|
||||
index f54576f6450e24f574bfe7f4b8e2ad5d8c9f1ba3..9bf04f18d37356cdef1ef3a7f1e38a1801ad5713 100644
|
||||
index f54576f6450e24f574bfe7f4b8e2ad5d8c9f1ba3..561e9525c37952c6b2fb52811b3767eb1044773b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/phases/DragonStrafePlayerPhase.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/phases/DragonStrafePlayerPhase.java
|
||||
@@ -74,7 +74,9 @@ public class DragonStrafePlayerPhase extends AbstractDragonPhaseInstance {
|
||||
|
@ -32,22 +32,22 @@ index f54576f6450e24f574bfe7f4b8e2ad5d8c9f1ba3..9bf04f18d37356cdef1ef3a7f1e38a18
|
|||
dragonFireball.moveTo(o, p, q, 0.0F, 0.0F);
|
||||
+ if (new com.destroystokyo.paper.event.entity.EnderDragonShootFireballEvent((org.bukkit.entity.EnderDragon) dragon.getBukkitEntity(), (org.bukkit.entity.DragonFireball) dragonFireball.getBukkitEntity()).callEvent()) // Paper - EnderDragon Events
|
||||
this.dragon.level().addFreshEntity(dragonFireball);
|
||||
+ else dragonFireball.discard(); // Paper - EnderDragon Events
|
||||
+ else dragonFireball.discard(null); // Paper - EnderDragon Events
|
||||
this.fireballCharge = 0;
|
||||
if (this.currentPath != null) {
|
||||
while(!this.currentPath.isDone()) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/DragonFireball.java b/src/main/java/net/minecraft/world/entity/projectile/DragonFireball.java
|
||||
index 796a2a88134eee4021423fef132537a5e0680bc5..61a36c4e97ee532e53eee4da00a9aa7e4b3438f5 100644
|
||||
index a425659d89165610fdb1afa3095bf4ac867646ae..58723ea75f7db9bf3889b99139669b14a284a3a1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/DragonFireball.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/DragonFireball.java
|
||||
@@ -52,8 +52,10 @@ public class DragonFireball extends AbstractHurtingProjectile {
|
||||
@@ -62,8 +62,10 @@ public class DragonFireball extends AbstractHurtingProjectile {
|
||||
}
|
||||
}
|
||||
|
||||
+ if (new com.destroystokyo.paper.event.entity.EnderDragonFireballHitEvent((org.bukkit.entity.DragonFireball) this.getBukkitEntity(), list.stream().map(LivingEntity::getBukkitLivingEntity).collect(java.util.stream.Collectors.toList()), (org.bukkit.entity.AreaEffectCloud) areaEffectCloud.getBukkitEntity()).callEvent()) { // Paper - EnderDragon Events
|
||||
+ if (new com.destroystokyo.paper.event.entity.EnderDragonFireballHitEvent((org.bukkit.entity.DragonFireball) this.getBukkitEntity(), list.stream().map(LivingEntity::getBukkitLivingEntity).collect(java.util.stream.Collectors.toList()), (org.bukkit.entity.AreaEffectCloud) entityareaeffectcloud.getBukkitEntity()).callEvent()) { // Paper - EnderDragon Events
|
||||
this.level().levelEvent(2006, this.blockPosition(), this.isSilent() ? -1 : 1);
|
||||
this.level().addFreshEntity(areaEffectCloud);
|
||||
+ } else areaEffectCloud.discard(); // Paper - EnderDragon Events
|
||||
this.discard();
|
||||
this.level().addFreshEntity(entityareaeffectcloud);
|
||||
+ } else entityareaeffectcloud.discard(null); // Paper - EnderDragon Events
|
||||
this.discard(EntityRemoveEvent.Cause.HIT); // CraftBukkit - add Bukkit remove cause
|
||||
}
|
||||
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Option to prevent armor stands from doing entity lookups
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
index d04d0b9cbf91beb57da7e37e72f8e7c98cf6cf4c..e6e3a7ae08f7346ccbce02b9d36239485133e93a 100644
|
||||
index 1353bb583ec576345b7bfea5134c4b0d59811a07..1a3727bbd9d67c32846e7ad4bd4bc9001a4aa313 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
@@ -337,6 +337,7 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -338,6 +338,7 @@ public class ArmorStand extends LivingEntity {
|
||||
|
||||
@Override
|
||||
protected void pushEntities() {
|
||||
|
@ -17,7 +17,7 @@ index d04d0b9cbf91beb57da7e37e72f8e7c98cf6cf4c..e6e3a7ae08f7346ccbce02b9d3623948
|
|||
Iterator iterator = list.iterator();
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 8a7276f83744252ac5a418f9acb219e02c508b2f..37c50c9da4249a92811aaa5cef5743ccefdcb4a8 100644
|
||||
index 2bd7ad1065273c2a9150b3762aff13437bf4bec0..09d62573b013590e66bbd988be1442944775090e 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -767,6 +767,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
|
|
@ -39,7 +39,7 @@ index a6638e626600e4304a973497a39e3fac52203b16..c19069f65a9ecbc9000ea4333417a2df
|
|||
|
||||
BlockCanBuildEvent event = new BlockCanBuildEvent(CraftBlock.at(context.getLevel(), context.getClickedPos()), player, CraftBlockData.fromData(state), defaultReturn);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 37c50c9da4249a92811aaa5cef5743ccefdcb4a8..181201ecd6c617cc37ba097a667bd96ae3b1823e 100644
|
||||
index 09d62573b013590e66bbd988be1442944775090e..776aea2518aaa5e15bdd63f49b6948818cb9ad10 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -271,6 +271,45 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
@ -89,10 +89,10 @@ index 37c50c9da4249a92811aaa5cef5743ccefdcb4a8..181201ecd6c617cc37ba097a667bd96a
|
|||
public boolean isClientSide() {
|
||||
return this.isClientSide;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 9e2007967d093d7a72e980f578657e4bcb9badae..9d95dba058dd26db42d9e32b90399a78211bcd79 100644
|
||||
index 139d9b4a290d9089ba9a6c92ddcf04e1404c1074..4498bb89b219de0d1c62950b7aa5f17fe6eab7d0 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1299,6 +1299,14 @@ public class CraftEventFactory {
|
||||
@@ -1300,6 +1300,14 @@ public class CraftEventFactory {
|
||||
Projectile projectile = (Projectile) entity.getBukkitEntity();
|
||||
org.bukkit.entity.Entity collided = position.getEntity().getBukkitEntity();
|
||||
com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided);
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Allow disabling armor stand ticking
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
index e6e3a7ae08f7346ccbce02b9d36239485133e93a..ecce8036e58a9ed1408e110e75980bf77c18779a 100644
|
||||
index 1a3727bbd9d67c32846e7ad4bd4bc9001a4aa313..0634b88a5bbfb549d5ec5931e19f674fb9ca4cbe 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
@@ -93,9 +93,16 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -94,9 +94,16 @@ public class ArmorStand extends LivingEntity {
|
||||
public Rotations leftLegPose;
|
||||
public Rotations rightLegPose;
|
||||
public boolean canMove = true; // Paper
|
||||
|
@ -25,7 +25,7 @@ index e6e3a7ae08f7346ccbce02b9d36239485133e93a..ecce8036e58a9ed1408e110e75980bf7
|
|||
this.handItems = NonNullList.withSize(2, ItemStack.EMPTY);
|
||||
this.armorItems = NonNullList.withSize(4, ItemStack.EMPTY);
|
||||
this.headPose = ArmorStand.DEFAULT_HEAD_POSE;
|
||||
@@ -190,6 +197,7 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -191,6 +198,7 @@ public class ArmorStand extends LivingEntity {
|
||||
this.onEquipItem(enumitemslot, (ItemStack) this.armorItems.set(enumitemslot.getIndex(), itemstack), itemstack, silent); // CraftBukkit
|
||||
}
|
||||
|
||||
|
@ -33,7 +33,7 @@ index e6e3a7ae08f7346ccbce02b9d36239485133e93a..ecce8036e58a9ed1408e110e75980bf7
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -240,6 +248,7 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -241,6 +249,7 @@ public class ArmorStand extends LivingEntity {
|
||||
}
|
||||
|
||||
nbt.put("Pose", this.writePose());
|
||||
|
@ -41,7 +41,7 @@ index e6e3a7ae08f7346ccbce02b9d36239485133e93a..ecce8036e58a9ed1408e110e75980bf7
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -271,6 +280,12 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -272,6 +281,12 @@ public class ArmorStand extends LivingEntity {
|
||||
this.setNoBasePlate(nbt.getBoolean("NoBasePlate"));
|
||||
this.setMarker(nbt.getBoolean("Marker"));
|
||||
this.noPhysics = !this.hasPhysics();
|
||||
|
@ -54,7 +54,7 @@ index e6e3a7ae08f7346ccbce02b9d36239485133e93a..ecce8036e58a9ed1408e110e75980bf7
|
|||
CompoundTag nbttagcompound1 = nbt.getCompound("Pose");
|
||||
|
||||
this.readPose(nbttagcompound1);
|
||||
@@ -658,7 +673,29 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -659,7 +674,29 @@ public class ArmorStand extends LivingEntity {
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
|
@ -84,7 +84,7 @@ index e6e3a7ae08f7346ccbce02b9d36239485133e93a..ecce8036e58a9ed1408e110e75980bf7
|
|||
Rotations vector3f = (Rotations) this.entityData.get(ArmorStand.DATA_HEAD_POSE);
|
||||
|
||||
if (!this.headPose.equals(vector3f)) {
|
||||
@@ -787,31 +824,37 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -788,31 +825,37 @@ public class ArmorStand extends LivingEntity {
|
||||
public void setHeadPose(Rotations angle) {
|
||||
this.headPose = angle;
|
||||
this.entityData.set(ArmorStand.DATA_HEAD_POSE, angle);
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add TNTPrimeEvent
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index 666c62d796cae9a70516680e26196f7e02c53918..623a4cc921442dbba4f80df3be06762b4b1289ae 100644
|
||||
index 0d84f1fb53384a827d7418c322a32e3286f4081a..6d01175ea2092bc5f5ebb7aa066450bfec2443a1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -558,6 +558,11 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -559,6 +559,11 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
});
|
||||
craftBlock.getNMS().spawnAfterBreak((ServerLevel) this.level(), blockposition, ItemStack.EMPTY, false);
|
||||
}
|
||||
|
|
|
@ -8,10 +8,10 @@ Addresses two issues:
|
|||
- Allay duplication cooldown is saved and exposed as a long, but loaded as an int
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
index 0f55715f2d97ab09746a51f9d39134b513778fdd..36d5d1736bf826f3abc756277de431c94cabb744 100644
|
||||
index 97524656b8af7b80aeb7845575c704585dade725..a9c30fb4cfe4ff7bb27d498218373c572031fab8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
|
||||
@@ -295,7 +295,7 @@ public class ExperienceOrb extends Entity {
|
||||
@@ -296,7 +296,7 @@ public class ExperienceOrb extends Entity {
|
||||
public void addAdditionalSaveData(CompoundTag nbt) {
|
||||
nbt.putShort("Health", (short) this.health);
|
||||
nbt.putShort("Age", (short) this.age);
|
||||
|
@ -20,7 +20,7 @@ index 0f55715f2d97ab09746a51f9d39134b513778fdd..36d5d1736bf826f3abc756277de431c9
|
|||
nbt.putInt("Count", this.count);
|
||||
this.savePaperNBT(nbt); // Paper
|
||||
}
|
||||
@@ -304,7 +304,7 @@ public class ExperienceOrb extends Entity {
|
||||
@@ -305,7 +305,7 @@ public class ExperienceOrb extends Entity {
|
||||
public void readAdditionalSaveData(CompoundTag nbt) {
|
||||
this.health = nbt.getShort("Health");
|
||||
this.age = nbt.getShort("Age");
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Add Debug Entities option to debug dupe uuid issues
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index de328a93abcf23d3ff265557a7d8bad5be56287c..9f8ee9d9b5fec9ca9c5e8462ed1aef742fa628ac 100644
|
||||
index 2a0e81a3ec0774ad98e2d74ac7672c167e28f38e..05b838f7008d5d031b18e161bbde7e72b8205b90 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -1425,6 +1425,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
|
@ -26,7 +26,7 @@ index de328a93abcf23d3ff265557a7d8bad5be56287c..9f8ee9d9b5fec9ca9c5e8462ed1aef74
|
|||
|
||||
protected void tick() {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index a6749080a192a591dd4e52f56b691df8d9cfcd98..e1518465e4ffc473a75a57e4d9b3ad399a022589 100644
|
||||
index 113dce44ce086272fe7f20a2007efadee142ff85..0811a2e87192b46c39f54c26ce0e56fc6e9d87e5 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1197,6 +1197,12 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
@ -43,10 +43,10 @@ index a6749080a192a591dd4e52f56b691df8d9cfcd98..e1518465e4ffc473a75a57e4d9b3ad39
|
|||
// WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getKey(entity.getType())); // CraftBukkit
|
||||
return false;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 803802380883cb198b4a40c08d1540cacaca8c2f..5a837807037b2bf8c3cd5f7fd5965c26cbc79e1b 100644
|
||||
index b718e5a1dd49dc855a1161106b53a1d6615e8b69..31ff851cc15216fb5855f829f3fc22c1d26ece21 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -241,6 +241,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -242,6 +242,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper
|
||||
private CraftEntity bukkitEntity;
|
||||
|
||||
|
|
|
@ -23,10 +23,10 @@ Modified isEmpty to use the isEmpty() method instead of the slightly confusing s
|
|||
The point of this is readability, but does have a side-benefit of a small microptimization
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index e68a0c86f73325189a67186b058062509663f6e7..455f14d758551229d15d703990bb5225fff37700 100644
|
||||
index 2dac6be5b320d7c12aa70fd09d7d218b8cd89287..7d81334b8bbfc04f1188de777b0cacd6f80131d3 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -634,7 +634,7 @@ public abstract class PlayerList {
|
||||
@@ -635,7 +635,7 @@ public abstract class PlayerList {
|
||||
} else if (!this.isWhiteListed(gameprofile, event)) { // Paper - ProfileWhitelistVerifyEvent
|
||||
//ichatmutablecomponent = Component.translatable("multiplayer.disconnect.not_whitelisted"); // Paper
|
||||
//event.disallow(PlayerLoginEvent.Result.KICK_WHITELIST, net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(org.spigotmc.SpigotConfig.whitelistMessage)); // Spigot // Paper - Adventure - moved to isWhitelisted
|
||||
|
@ -36,10 +36,10 @@ index e68a0c86f73325189a67186b058062509663f6e7..455f14d758551229d15d703990bb5225
|
|||
|
||||
ichatmutablecomponent = Component.translatable("multiplayer.disconnect.banned_ip.reason", ipbanentry.getReason());
|
||||
diff --git a/src/main/java/net/minecraft/server/players/StoredUserList.java b/src/main/java/net/minecraft/server/players/StoredUserList.java
|
||||
index 4d6f5e627d386f9ca2d7653b0f485c82a13557f5..35f973cc2c0989256fa21abaf0327c2f36dbe4c9 100644
|
||||
index 36d87cb87c1c31b649bf9ae39191553acfc2cb0f..7e133752ccb1ea7c0b4fa781feb1a88e2cfdcf6d 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/StoredUserList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/StoredUserList.java
|
||||
@@ -31,7 +31,7 @@ public abstract class StoredUserList<K, V extends StoredUserEntry<K>> {
|
||||
@@ -30,7 +30,7 @@ public abstract class StoredUserList<K, V extends StoredUserEntry<K>> {
|
||||
private static final Logger LOGGER = LogUtils.getLogger();
|
||||
private static final Gson GSON = (new GsonBuilder()).setPrettyPrinting().create();
|
||||
private final File file;
|
||||
|
@ -48,7 +48,7 @@ index 4d6f5e627d386f9ca2d7653b0f485c82a13557f5..35f973cc2c0989256fa21abaf0327c2f
|
|||
|
||||
public StoredUserList(File file) {
|
||||
this.file = file;
|
||||
@@ -54,8 +54,11 @@ public abstract class StoredUserList<K, V extends StoredUserEntry<K>> {
|
||||
@@ -53,8 +53,11 @@ public abstract class StoredUserList<K, V extends StoredUserEntry<K>> {
|
||||
|
||||
@Nullable
|
||||
public V get(K key) {
|
||||
|
@ -62,7 +62,7 @@ index 4d6f5e627d386f9ca2d7653b0f485c82a13557f5..35f973cc2c0989256fa21abaf0327c2f
|
|||
}
|
||||
|
||||
public void remove(K key) {
|
||||
@@ -78,7 +81,7 @@ public abstract class StoredUserList<K, V extends StoredUserEntry<K>> {
|
||||
@@ -77,7 +80,7 @@ public abstract class StoredUserList<K, V extends StoredUserEntry<K>> {
|
||||
}
|
||||
|
||||
public boolean isEmpty() {
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Slime Pathfinder Events
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
index 897c815fb448d1e9ca75b7f8b93b4021dccf7596..168b422ac9f3f98630c4d05b64a9f0470b20fe61 100644
|
||||
index d536df2c23f8cae6bf920a5304d91f10a9902251..00dcbcbf20995ab6aca508d7ffe703bcb0d9b1a9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
@@ -115,6 +115,7 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -116,6 +116,7 @@ public class Slime extends Mob implements Enemy {
|
||||
@Override
|
||||
public void addAdditionalSaveData(CompoundTag nbt) {
|
||||
super.addAdditionalSaveData(nbt);
|
||||
|
@ -16,7 +16,7 @@ index 897c815fb448d1e9ca75b7f8b93b4021dccf7596..168b422ac9f3f98630c4d05b64a9f047
|
|||
nbt.putInt("Size", this.getSize() - 1);
|
||||
nbt.putBoolean("wasOnGround", this.wasOnGround);
|
||||
}
|
||||
@@ -123,6 +124,11 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -124,6 +125,11 @@ public class Slime extends Mob implements Enemy {
|
||||
public void readAdditionalSaveData(CompoundTag nbt) {
|
||||
this.setSize(nbt.getInt("Size") + 1, false);
|
||||
super.readAdditionalSaveData(nbt);
|
||||
|
@ -28,7 +28,7 @@ index 897c815fb448d1e9ca75b7f8b93b4021dccf7596..168b422ac9f3f98630c4d05b64a9f047
|
|||
this.wasOnGround = nbt.getBoolean("wasOnGround");
|
||||
}
|
||||
|
||||
@@ -471,7 +477,7 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -479,7 +485,7 @@ public class Slime extends Mob implements Enemy {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
|
@ -37,7 +37,7 @@ index 897c815fb448d1e9ca75b7f8b93b4021dccf7596..168b422ac9f3f98630c4d05b64a9f047
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -510,7 +516,15 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -518,7 +524,15 @@ public class Slime extends Mob implements Enemy {
|
||||
public boolean canUse() {
|
||||
LivingEntity entityliving = this.slime.getTarget();
|
||||
|
||||
|
@ -54,7 +54,7 @@ index 897c815fb448d1e9ca75b7f8b93b4021dccf7596..168b422ac9f3f98630c4d05b64a9f047
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -523,7 +537,15 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -531,7 +545,15 @@ public class Slime extends Mob implements Enemy {
|
||||
public boolean canContinueToUse() {
|
||||
LivingEntity entityliving = this.slime.getTarget();
|
||||
|
||||
|
@ -71,7 +71,7 @@ index 897c815fb448d1e9ca75b7f8b93b4021dccf7596..168b422ac9f3f98630c4d05b64a9f047
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -548,6 +570,13 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -556,6 +578,13 @@ public class Slime extends Mob implements Enemy {
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ index 897c815fb448d1e9ca75b7f8b93b4021dccf7596..168b422ac9f3f98630c4d05b64a9f047
|
|||
}
|
||||
|
||||
private static class SlimeRandomDirectionGoal extends Goal {
|
||||
@@ -563,7 +592,7 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -571,7 +600,7 @@ public class Slime extends Mob implements Enemy {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
|
@ -94,7 +94,7 @@ index 897c815fb448d1e9ca75b7f8b93b4021dccf7596..168b422ac9f3f98630c4d05b64a9f047
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -571,6 +600,11 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -579,6 +608,11 @@ public class Slime extends Mob implements Enemy {
|
||||
if (--this.nextRandomizeTime <= 0) {
|
||||
this.nextRandomizeTime = this.adjustedTickDelay(40 + this.slime.getRandom().nextInt(60));
|
||||
this.chosenDegrees = (float) this.slime.getRandom().nextInt(360);
|
||||
|
@ -106,7 +106,7 @@ index 897c815fb448d1e9ca75b7f8b93b4021dccf7596..168b422ac9f3f98630c4d05b64a9f047
|
|||
}
|
||||
|
||||
MoveControl controllermove = this.slime.getMoveControl();
|
||||
@@ -595,7 +629,7 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -603,7 +637,7 @@ public class Slime extends Mob implements Enemy {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
|
@ -115,7 +115,7 @@ index 897c815fb448d1e9ca75b7f8b93b4021dccf7596..168b422ac9f3f98630c4d05b64a9f047
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -610,4 +644,15 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -618,4 +652,15 @@ public class Slime extends Mob implements Enemy {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add More Creeper API
|
|||
|
||||
|
||||
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 d08ccf5eb52e5975b161f5f7bcbdd385eb8318c9..6a91960f93e624a4b975c1cf76698eb45ceda838 100644
|
||||
index 83b407e865e2ff4debb89c350727809601be1fa6..9657796d08f4a102d9d5ff7685f2a152d1a87fda 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -132,7 +132,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -133,7 +133,7 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
}
|
||||
|
||||
if (nbt.getBoolean("ignited")) {
|
||||
|
@ -17,7 +17,7 @@ index d08ccf5eb52e5975b161f5f7bcbdd385eb8318c9..6a91960f93e624a4b975c1cf76698eb4
|
|||
}
|
||||
|
||||
}
|
||||
@@ -315,7 +315,18 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -316,7 +316,18 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
}
|
||||
|
||||
public void ignite() {
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add ray tracing methods to LivingEntity
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 2900326a87d21c8a92edb303ed42fd11ea7f3010..b9d202cb06672f0791792ac676761c404ffb02bc 100644
|
||||
index 83a56061ce23d3d6f7d8ad3201ce325106f8a4d0..e8c4d42b1637752e69ea128fa7d0148bb5ffae06 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3841,6 +3841,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3849,6 +3849,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
// Paper start - Make shield blocking delay configurable
|
||||
|
@ -29,7 +29,7 @@ index 2900326a87d21c8a92edb303ed42fd11ea7f3010..b9d202cb06672f0791792ac676761c40
|
|||
|
||||
public int getShieldBlockingDelay() {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 8ac3beab73904db7362caa3054994b214c997cf7..1510b4d8fc08f4455b38ad4edb6bdf91ad317c96 100644
|
||||
index be06dda82db09947f60a353b0d5504955738b6b6..eb74778c0bb6fe6b7c09209eb58195e7fedc54ac 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -201,6 +201,33 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
|
|
|
@ -80,10 +80,10 @@ index 38a3b264ba72631c27203a178ac0bbdd36e10a10..80cedd5221d3c0dc475c631113e87825
|
|||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index b9d202cb06672f0791792ac676761c404ffb02bc..78f601ff13b160c0661ba0b60365403f9eb7fffb 100644
|
||||
index e8c4d42b1637752e69ea128fa7d0148bb5ffae06..39ff6dd7ee8e821f5693f6a6e01b713b25d30393 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -259,6 +259,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -260,6 +260,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
public Set<UUID> collidableExemptions = new HashSet<>();
|
||||
public boolean bukkitPickUpLoot;
|
||||
public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper
|
||||
|
@ -91,7 +91,7 @@ index b9d202cb06672f0791792ac676761c404ffb02bc..78f601ff13b160c0661ba0b60365403f
|
|||
|
||||
@Override
|
||||
public float getBukkitYaw() {
|
||||
@@ -1522,13 +1523,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1530,13 +1531,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
if (this.isDeadOrDying()) {
|
||||
if (!this.checkTotemDeathProtection(source)) {
|
||||
|
@ -109,7 +109,7 @@ index b9d202cb06672f0791792ac676761c404ffb02bc..78f601ff13b160c0661ba0b60365403f
|
|||
}
|
||||
} else if (flag1) {
|
||||
this.playHurtSound(source);
|
||||
@@ -1680,6 +1680,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1688,6 +1688,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
Entity entity = damageSource.getEntity();
|
||||
LivingEntity entityliving = this.getKillCredit();
|
||||
|
||||
|
@ -117,7 +117,7 @@ index b9d202cb06672f0791792ac676761c404ffb02bc..78f601ff13b160c0661ba0b60365403f
|
|||
if (this.deathScore >= 0 && entityliving != null) {
|
||||
entityliving.awardKillScore(this, this.deathScore, damageSource);
|
||||
}
|
||||
@@ -1691,24 +1692,59 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1699,24 +1700,59 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
if (!this.level().isClientSide && this.hasCustomName()) {
|
||||
if (org.spigotmc.SpigotConfig.logNamedDeaths) LivingEntity.LOGGER.info("Named entity {} died: {}", this, this.getCombatTracker().getDeathMessage().getString()); // Spigot
|
||||
}
|
||||
|
@ -182,7 +182,7 @@ index b9d202cb06672f0791792ac676761c404ffb02bc..78f601ff13b160c0661ba0b60365403f
|
|||
}
|
||||
}
|
||||
|
||||
@@ -1716,7 +1752,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1724,7 +1760,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
if (!this.level().isClientSide) {
|
||||
boolean flag = false;
|
||||
|
||||
|
@ -191,7 +191,7 @@ index b9d202cb06672f0791792ac676761c404ffb02bc..78f601ff13b160c0661ba0b60365403f
|
|||
if (this.level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) {
|
||||
BlockPos blockposition = this.blockPosition();
|
||||
BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState();
|
||||
@@ -1745,7 +1781,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1753,7 +1789,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -204,7 +204,7 @@ index b9d202cb06672f0791792ac676761c404ffb02bc..78f601ff13b160c0661ba0b60365403f
|
|||
Entity entity = source.getEntity();
|
||||
int i;
|
||||
|
||||
@@ -1760,18 +1800,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1768,18 +1808,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.dropEquipment(); // CraftBukkit - from below
|
||||
if (this.shouldDropLoot() && this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
|
||||
this.dropFromLootTable(source, flag);
|
||||
|
@ -234,10 +234,10 @@ index b9d202cb06672f0791792ac676761c404ffb02bc..78f601ff13b160c0661ba0b60365403f
|
|||
// CraftBukkit start
|
||||
public int getExpReward() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index bb051d73a048b0a8ce245914f3564e39702b8452..645fb2ec7d969068eb10d59d43a512c74cca5a58 100644
|
||||
index 655dfa9113ca82dc56bc8f4b083ea049ee5b4bee..3e6706671b3dc06b376eaa9d6d463c6a098104d1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -1057,6 +1057,12 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1058,6 +1058,12 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
|
||||
}
|
||||
|
||||
|
@ -250,7 +250,7 @@ index bb051d73a048b0a8ce245914f3564e39702b8452..645fb2ec7d969068eb10d59d43a512c7
|
|||
@Override
|
||||
protected void dropCustomDeathLoot(DamageSource source, int lootingMultiplier, boolean allowDrops) {
|
||||
super.dropCustomDeathLoot(source, lootingMultiplier, allowDrops);
|
||||
@@ -1065,6 +1071,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1066,6 +1072,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
|
||||
for (int k = 0; k < j; ++k) {
|
||||
EquipmentSlot enumitemslot = aenumitemslot[k];
|
||||
|
@ -258,7 +258,7 @@ index bb051d73a048b0a8ce245914f3564e39702b8452..645fb2ec7d969068eb10d59d43a512c7
|
|||
ItemStack itemstack = this.getItemBySlot(enumitemslot);
|
||||
float f = this.getEquipmentDropChance(enumitemslot);
|
||||
boolean flag1 = f > 1.0F;
|
||||
@@ -1075,7 +1082,13 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1076,7 +1083,13 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
}
|
||||
|
||||
this.spawnAtLocation(itemstack);
|
||||
|
@ -273,10 +273,10 @@ index bb051d73a048b0a8ce245914f3564e39702b8452..645fb2ec7d969068eb10d59d43a512c7
|
|||
}
|
||||
|
||||
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 8670d8b2a08e96df787a91f36c48df8b345080dc..950e4b476a03fb5c26351a3b4d1578975a0b0ea8 100644
|
||||
index 6376908df89af1eff3a948ca1faef5d4925f0c3b..4ac32078cb074a78a2bb83307013b849f8d59f23 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -711,16 +711,38 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -715,16 +715,38 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
return this.getTrustedUUIDs().contains(uuid);
|
||||
}
|
||||
|
||||
|
@ -344,10 +344,10 @@ index bb399f775a5530a01f59332848c8ab9b8eceb2b5..14edfe103e61024b569f33de0b6608f3
|
|||
public void addAdditionalSaveData(CompoundTag nbt) {
|
||||
super.addAdditionalSaveData(nbt);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
index ecce8036e58a9ed1408e110e75980bf77c18779a..ddd512e1d7608ec051fb5adf6ec2c6bbb93f5a9d 100644
|
||||
index 0634b88a5bbfb549d5ec5931e19f674fb9ca4cbe..11555d1b771f93234098a3bc6a6eaacddeeeb4f6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
@@ -492,8 +492,10 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -493,8 +493,10 @@ public class ArmorStand extends LivingEntity {
|
||||
}
|
||||
// CraftBukkit end
|
||||
if (source.is(DamageTypeTags.IS_EXPLOSION)) {
|
||||
|
@ -360,19 +360,19 @@ index ecce8036e58a9ed1408e110e75980bf77c18779a..ddd512e1d7608ec051fb5adf6ec2c6bb
|
|||
return false;
|
||||
} else if (source.is(DamageTypeTags.IGNITES_ARMOR_STANDS)) {
|
||||
if (this.isOnFire()) {
|
||||
@@ -536,9 +538,9 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -537,9 +539,9 @@ public class ArmorStand extends LivingEntity {
|
||||
this.gameEvent(GameEvent.ENTITY_DAMAGE, source.getEntity());
|
||||
this.lastHit = i;
|
||||
} else {
|
||||
- this.brokenByPlayer(source);
|
||||
+ org.bukkit.event.entity.EntityDeathEvent event = this.brokenByPlayer(source); // Paper
|
||||
this.showBreakingParticles();
|
||||
- this.discard(); // CraftBukkit - SPIGOT-4890: remain as this.discard() since above damagesource method will call death event
|
||||
- this.discard(EntityRemoveEvent.Cause.DEATH); // CraftBukkit - SPIGOT-4890: remain as this.discard() since above damagesource method will call death event
|
||||
+ if (!event.isCancelled()) this.kill(false); // Paper - we still need to kill to follow vanilla logic (emit the game event etc...)
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -590,8 +592,10 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -591,8 +593,10 @@ public class ArmorStand extends LivingEntity {
|
||||
|
||||
f1 -= amount;
|
||||
if (f1 <= 0.5F) {
|
||||
|
@ -385,7 +385,7 @@ index ecce8036e58a9ed1408e110e75980bf77c18779a..ddd512e1d7608ec051fb5adf6ec2c6bb
|
|||
} else {
|
||||
this.setHealth(f1);
|
||||
this.gameEvent(GameEvent.ENTITY_DAMAGE, damageSource.getEntity());
|
||||
@@ -599,7 +603,7 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -600,7 +604,7 @@ public class ArmorStand extends LivingEntity {
|
||||
|
||||
}
|
||||
|
||||
|
@ -394,7 +394,7 @@ index ecce8036e58a9ed1408e110e75980bf77c18779a..ddd512e1d7608ec051fb5adf6ec2c6bb
|
|||
ItemStack itemstack = new ItemStack(Items.ARMOR_STAND);
|
||||
|
||||
if (this.hasCustomName()) {
|
||||
@@ -607,10 +611,10 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -608,10 +612,10 @@ public class ArmorStand extends LivingEntity {
|
||||
}
|
||||
|
||||
this.drops.add(org.bukkit.craftbukkit.inventory.CraftItemStack.asBukkitCopy(itemstack)); // CraftBukkit - add to drops
|
||||
|
@ -407,7 +407,7 @@ index ecce8036e58a9ed1408e110e75980bf77c18779a..ddd512e1d7608ec051fb5adf6ec2c6bb
|
|||
this.playBrokenSound();
|
||||
// this.dropAllDeathLoot(damagesource); // CraftBukkit - moved down
|
||||
|
||||
@@ -632,7 +636,7 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -633,7 +637,7 @@ public class ArmorStand extends LivingEntity {
|
||||
this.armorItems.set(i, ItemStack.EMPTY);
|
||||
}
|
||||
}
|
||||
|
@ -416,7 +416,7 @@ index ecce8036e58a9ed1408e110e75980bf77c18779a..ddd512e1d7608ec051fb5adf6ec2c6bb
|
|||
|
||||
}
|
||||
|
||||
@@ -759,7 +763,16 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -760,7 +764,16 @@ public class ArmorStand extends LivingEntity {
|
||||
|
||||
@Override
|
||||
public void kill() {
|
||||
|
@ -431,11 +431,11 @@ index ecce8036e58a9ed1408e110e75980bf77c18779a..ddd512e1d7608ec051fb5adf6ec2c6bb
|
|||
+ org.bukkit.event.entity.EntityDeathEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDeathEvent(this, this.drops); // CraftBukkit - call event // Paper - make cancellable
|
||||
+ if (event.isCancelled()) return; // Paper - make cancellable
|
||||
+ } // Paper
|
||||
this.remove(Entity.RemovalReason.KILLED);
|
||||
this.remove(Entity.RemovalReason.KILLED, EntityRemoveEvent.Cause.DEATH); // CraftBukkit - add Bukkit remove cause
|
||||
this.gameEvent(GameEvent.ENTITY_DIE);
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 27d29187b5471fa9d1588b7e8e35539be8a861a0..8cda792c1700bbc511e364e28fd7ee6893fe8db2 100644
|
||||
index 65c56d29e04fd0853a8bfe9f943d27fe71849cc2..317fb90ad77aaaddc6a84d719de94d52bba12508 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2434,7 +2434,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
@ -455,10 +455,10 @@ index 27d29187b5471fa9d1588b7e8e35539be8a861a0..8cda792c1700bbc511e364e28fd7ee68
|
|||
|
||||
public void injectScaledMaxHealth(Collection<AttributeInstance> collection, boolean force) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 9d95dba058dd26db42d9e32b90399a78211bcd79..a08d1250cd5a5cc70e3796ac56a0cfaee6fe2b83 100644
|
||||
index 4498bb89b219de0d1c62950b7aa5f17fe6eab7d0..542b9ff7d845dcebcf6569a6d4bd9e97ac3a436d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -890,9 +890,16 @@ public class CraftEventFactory {
|
||||
@@ -891,9 +891,16 @@ public class CraftEventFactory {
|
||||
public static EntityDeathEvent callEntityDeathEvent(net.minecraft.world.entity.LivingEntity victim, List<org.bukkit.inventory.ItemStack> drops) {
|
||||
CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity();
|
||||
EntityDeathEvent event = new EntityDeathEvent(entity, drops, victim.getExpReward());
|
||||
|
@ -475,7 +475,7 @@ index 9d95dba058dd26db42d9e32b90399a78211bcd79..a08d1250cd5a5cc70e3796ac56a0cfae
|
|||
victim.expToDrop = event.getDroppedExp();
|
||||
|
||||
for (org.bukkit.inventory.ItemStack stack : event.getDrops()) {
|
||||
@@ -909,8 +916,15 @@ public class CraftEventFactory {
|
||||
@@ -910,8 +917,15 @@ public class CraftEventFactory {
|
||||
PlayerDeathEvent event = new PlayerDeathEvent(entity, drops, victim.getExpReward(), 0, deathMessage);
|
||||
event.setKeepInventory(keepInventory);
|
||||
event.setKeepLevel(victim.keepLevel); // SPIGOT-2222: pre-set keepLevel
|
||||
|
@ -491,7 +491,7 @@ index 9d95dba058dd26db42d9e32b90399a78211bcd79..a08d1250cd5a5cc70e3796ac56a0cfae
|
|||
|
||||
victim.keepLevel = event.getKeepLevel();
|
||||
victim.newLevel = event.getNewLevel();
|
||||
@@ -927,6 +941,31 @@ public class CraftEventFactory {
|
||||
@@ -928,6 +942,31 @@ public class CraftEventFactory {
|
||||
return event;
|
||||
}
|
||||
|
||||
|
|
|
@ -17,10 +17,10 @@ index be5e603d505566feac61cc7e591d35ce483a92df..8dcdc664470fcac00c203b9499ea0a45
|
|||
int k = j;
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||
index 2700f7dc650dc19da75e9351f6d558d05be80dc5..949eda8e743df7ab83f18f15471a33e538aecdc5 100644
|
||||
index 70400c9d8835046523c55e3777a2f02da6168dcb..b0c57922fa6160772ba1aaf61c0e97c03a0e6e8c 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||
@@ -299,6 +299,7 @@ public class BeehiveBlockEntity extends BlockEntity {
|
||||
@@ -303,6 +303,7 @@ public class BeehiveBlockEntity extends BlockEntity {
|
||||
}
|
||||
|
||||
private static void setBeeReleaseData(int ticks, Bee bee) {
|
||||
|
@ -28,7 +28,7 @@ index 2700f7dc650dc19da75e9351f6d558d05be80dc5..949eda8e743df7ab83f18f15471a33e5
|
|||
int j = bee.getAge();
|
||||
|
||||
if (j < 0) {
|
||||
@@ -306,6 +307,7 @@ public class BeehiveBlockEntity extends BlockEntity {
|
||||
@@ -310,6 +311,7 @@ public class BeehiveBlockEntity extends BlockEntity {
|
||||
} else if (j > 0) {
|
||||
bee.setAge(Math.max(0, j - ticks));
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ Subject: [PATCH] Add LivingEntity#getTargetEntity
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 78f601ff13b160c0661ba0b60365403f9eb7fffb..792473529c8afbabe2e501ab223eacaac08fcb96 100644
|
||||
index 39ff6dd7ee8e821f5693f6a6e01b713b25d30393..5a1dc8f196b274a822db4aa1fa48cd066f12da94 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -115,6 +115,7 @@ import net.minecraft.world.level.storage.loot.LootTable;
|
||||
|
@ -16,7 +16,7 @@ index 78f601ff13b160c0661ba0b60365403f9eb7fffb..792473529c8afbabe2e501ab223eacaa
|
|||
import net.minecraft.world.phys.HitResult;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
import net.minecraft.world.scores.PlayerTeam;
|
||||
@@ -3903,6 +3904,38 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3911,6 +3912,38 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
return this.level().clip(raytrace);
|
||||
}
|
||||
|
||||
|
@ -56,7 +56,7 @@ index 78f601ff13b160c0661ba0b60365403f9eb7fffb..792473529c8afbabe2e501ab223eacaa
|
|||
|
||||
public int getShieldBlockingDelay() {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 1510b4d8fc08f4455b38ad4edb6bdf91ad317c96..ea9a6446ed2dbddedbc615df93c9856a0a1f1a2e 100644
|
||||
index eb74778c0bb6fe6b7c09209eb58195e7fedc54ac..c9a487c1b85d46c1ce25147bd8a610a5631cdb5d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -1,5 +1,6 @@
|
||||
|
|
|
@ -20,10 +20,10 @@ this is going to be the best soultion all around.
|
|||
Improvements/suggestions welcome!
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index c8c781aac68beb72e9efd671fcbb3fecc53d686d..4f37305c032255a33d641da66333ae7cf2fdf668 100644
|
||||
index 31ff851cc15216fb5855f829f3fc22c1d26ece21..cb453b843ecf82454a8ade369d424d5e7bbda4c4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2557,11 +2557,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -2570,11 +2570,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
|
||||
public void removeVehicle() {
|
||||
|
@ -41,7 +41,7 @@ index c8c781aac68beb72e9efd671fcbb3fecc53d686d..4f37305c032255a33d641da66333ae7c
|
|||
}
|
||||
|
||||
}
|
||||
@@ -2592,7 +2597,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -2605,7 +2610,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -53,7 +53,7 @@ index c8c781aac68beb72e9efd671fcbb3fecc53d686d..4f37305c032255a33d641da66333ae7c
|
|||
if (entity.getVehicle() == this) {
|
||||
throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)");
|
||||
} else {
|
||||
@@ -2602,7 +2610,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -2615,7 +2623,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
if (this.getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) {
|
||||
VehicleExitEvent event = new VehicleExitEvent(
|
||||
(Vehicle) this.getBukkitEntity(),
|
||||
|
@ -62,7 +62,7 @@ index c8c781aac68beb72e9efd671fcbb3fecc53d686d..4f37305c032255a33d641da66333ae7c
|
|||
);
|
||||
// Suppress during worldgen
|
||||
if (this.valid) {
|
||||
@@ -2615,7 +2623,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -2628,7 +2636,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -72,10 +72,10 @@ index c8c781aac68beb72e9efd671fcbb3fecc53d686d..4f37305c032255a33d641da66333ae7c
|
|||
if (this.valid) {
|
||||
Bukkit.getPluginManager().callEvent(event);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 792473529c8afbabe2e501ab223eacaac08fcb96..7fb9880caa964df65402153b87a953200b930e24 100644
|
||||
index 5a1dc8f196b274a822db4aa1fa48cd066f12da94..f619171b3e436d7263d5229f7f9131954a0941f8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3484,9 +3484,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3492,9 +3492,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
@Override
|
||||
public void stopRiding() {
|
||||
|
@ -93,10 +93,10 @@ index 792473529c8afbabe2e501ab223eacaac08fcb96..7fb9880caa964df65402153b87a95320
|
|||
this.dismountVehicle(entity);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index c794fa6290be9904f3e97e74be9959f243c00f58..6ab6f520f2ccb60646660cb2990c5b91a0e91909 100644
|
||||
index 83c7ba56900ce40f71d98062bf15110a76597dce..3c3c953f05c18279d3245fe6bc8afef83cd62cd1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -1140,7 +1140,13 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1141,7 +1141,13 @@ public abstract class Player extends LivingEntity {
|
||||
|
||||
@Override
|
||||
public void removeVehicle() {
|
||||
|
|
|
@ -28,10 +28,10 @@ index 0627d51d41d492e07b230e9c398158d656493848..f500440ba1bcd36af3b3bc6470c108ec
|
|||
public boolean queueHealthUpdatePacket;
|
||||
public net.minecraft.network.protocol.game.ClientboundSetHealthPacket queuedHealthUpdatePacket;
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 455f14d758551229d15d703990bb5225fff37700..e2136ae52074f922a87ac30f5e34cb8035c70475 100644
|
||||
index 7d81334b8bbfc04f1188de777b0cacd6f80131d3..2a0d3319899f0b3f38135e25306b87b1974b3d83 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -179,6 +179,7 @@ public abstract class PlayerList {
|
||||
@@ -180,6 +180,7 @@ public abstract class PlayerList {
|
||||
|
||||
public void placeNewPlayer(Connection connection, ServerPlayer player, CommonListenerCookie clientData) {
|
||||
player.isRealPlayer = true; // Paper
|
||||
|
@ -106,7 +106,7 @@ index 34925d6448e0ef1d5bb4b24359f732b67aaa4230..0c1b5f625a351905e082b2c2a63bfd73
|
|||
public Location getLastDeathLocation() {
|
||||
if (this.getData().contains("LastDeathLocation", 10)) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 8cda792c1700bbc511e364e28fd7ee6893fe8db2..f309b16670d1814b7c4a1f8464e60af512b86da3 100644
|
||||
index 317fb90ad77aaaddc6a84d719de94d52bba12508..4a07e7d3df71f3bfc026e1f1c0abfe25999c6b8e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -197,6 +197,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Call WhitelistToggleEvent when whitelist is toggled
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index e2136ae52074f922a87ac30f5e34cb8035c70475..c137899597bf94b75b1ff80fae910db72f791bb8 100644
|
||||
index 2a0d3319899f0b3f38135e25306b87b1974b3d83..28b81e29be07902ad4d04aeb18bffd49757c3029 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1157,6 +1157,7 @@ public abstract class PlayerList {
|
||||
@@ -1158,6 +1158,7 @@ public abstract class PlayerList {
|
||||
}
|
||||
|
||||
public void setUsingWhiteList(boolean whitelistEnabled) {
|
||||
|
|
|
@ -22,7 +22,7 @@ index 2eddeb8d5239bbfeefbf4d3bd363f1ad083299b6..e2b44b8ddb8afc6e1f7dddadb434c226
|
|||
});
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index e1518465e4ffc473a75a57e4d9b3ad399a022589..4e7e3935a0040f48a1dc8f32e3da6d5a3ba154cb 100644
|
||||
index 0811a2e87192b46c39f54c26ce0e56fc6e9d87e5..57f129651778d6c20c695bf7b3a8b4d40c402a20 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1203,6 +1203,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
@ -34,10 +34,10 @@ index e1518465e4ffc473a75a57e4d9b3ad399a022589..4e7e3935a0040f48a1dc8f32e3da6d5a
|
|||
// WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getKey(entity.getType())); // CraftBukkit
|
||||
return false;
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index c137899597bf94b75b1ff80fae910db72f791bb8..6555d1e199f49c693270fb7068bc4c495038f77b 100644
|
||||
index 28b81e29be07902ad4d04aeb18bffd49757c3029..bc440f9a239d3935bf6837edf815d4fdc6093655 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -223,6 +223,11 @@ public abstract class PlayerList {
|
||||
@@ -224,6 +224,11 @@ public abstract class PlayerList {
|
||||
worldserver1 = worldserver;
|
||||
}
|
||||
|
||||
|
@ -49,7 +49,7 @@ index c137899597bf94b75b1ff80fae910db72f791bb8..6555d1e199f49c693270fb7068bc4c49
|
|||
player.setServerLevel(worldserver1);
|
||||
String s1 = connection.getLoggableAddress(this.server.logIPs());
|
||||
|
||||
@@ -354,7 +359,7 @@ public abstract class PlayerList {
|
||||
@@ -355,7 +360,7 @@ public abstract class PlayerList {
|
||||
// CraftBukkit start
|
||||
ServerLevel finalWorldServer = worldserver1;
|
||||
Entity entity = EntityType.loadEntityRecursive(nbttagcompound1.getCompound("Entity"), finalWorldServer, (entity1) -> {
|
||||
|
@ -59,10 +59,10 @@ index c137899597bf94b75b1ff80fae910db72f791bb8..6555d1e199f49c693270fb7068bc4c49
|
|||
});
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 4f37305c032255a33d641da66333ae7cf2fdf668..07613c1a337e4aa82daa83157f44056d90fc5c24 100644
|
||||
index cb453b843ecf82454a8ade369d424d5e7bbda4c4..dbca4d858dd3074fc0664bb6b578e94eeeed1298 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -237,6 +237,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -238,6 +238,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
}
|
||||
// Paper end - Share random for entities to make them more random
|
||||
|
@ -70,7 +70,7 @@ index 4f37305c032255a33d641da66333ae7cf2fdf668..07613c1a337e4aa82daa83157f44056d
|
|||
|
||||
public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper
|
||||
private CraftEntity bukkitEntity;
|
||||
@@ -2311,6 +2312,26 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -2324,6 +2325,26 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
|
||||
spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status
|
||||
|
@ -123,10 +123,10 @@ index faad948f089575e4988d989790cc1dd13f8a79cd..e143f42e71ac774d49b75e6d85591aa1
|
|||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 388c9db9d130071122e9f80749fb2eef05455408..3da7fbec0fb55fb590fc9ff4bd0f984a5cac9fba 100644
|
||||
index 34e4dd733a2e9ccc3c7f1b228825428100e583e9..d898b26d6d9c6999aa645f201bdbbd6e30073c0f 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -1018,5 +1018,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -1019,5 +1019,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
public boolean fromMobSpawner() {
|
||||
return getHandle().spawnedViaMobSpawner;
|
||||
}
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerPostRespawnEvent
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 6555d1e199f49c693270fb7068bc4c495038f77b..60e50ce92414515c22f4d71e517504a7377c7e64 100644
|
||||
index bc440f9a239d3935bf6837edf815d4fdc6093655..6bd83549e2ff84b1bc993ef2be79a336ced28f67 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -751,9 +751,14 @@ public abstract class PlayerList {
|
||||
@@ -752,9 +752,14 @@ public abstract class PlayerList {
|
||||
|
||||
boolean flag2 = false;
|
||||
|
||||
|
@ -24,7 +24,7 @@ index 6555d1e199f49c693270fb7068bc4c495038f77b..60e50ce92414515c22f4d71e517504a7
|
|||
ServerLevel worldserver1 = this.server.getLevel(entityplayer.getRespawnDimension());
|
||||
if (worldserver1 != null) {
|
||||
Optional optional;
|
||||
@@ -805,6 +810,7 @@ public abstract class PlayerList {
|
||||
@@ -806,6 +811,7 @@ public abstract class PlayerList {
|
||||
|
||||
location = respawnEvent.getRespawnLocation();
|
||||
if (!flag) entityplayer.reset(); // SPIGOT-4785
|
||||
|
@ -32,7 +32,7 @@ index 6555d1e199f49c693270fb7068bc4c495038f77b..60e50ce92414515c22f4d71e517504a7
|
|||
} else {
|
||||
location.setWorld(worldserver.getWorld());
|
||||
}
|
||||
@@ -863,6 +869,13 @@ public abstract class PlayerList {
|
||||
@@ -864,6 +870,13 @@ public abstract class PlayerList {
|
||||
if (entityplayer.connection.isDisconnected()) {
|
||||
this.save(entityplayer);
|
||||
}
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: [PATCH] don't go below 0 for pickupDelay, breaks picking up items
|
|||
vanilla checks for == 0
|
||||
|
||||
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 1523be0c9f7ae3b8015b8017797601489c068e8c..9badb48b6004c5799132ed70ddcc767bdd72510c 100644
|
||||
index d568726f80308e29bcfa3714728096d7d0aa822c..bfbbb9382cf483a23acf35c17250f6f9223f7507 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -140,6 +140,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -141,6 +141,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
// CraftBukkit start - Use wall time for pickup and despawn timers
|
||||
int elapsedTicks = MinecraftServer.currentTick - this.lastTick;
|
||||
if (this.pickupDelay != 32767) this.pickupDelay -= elapsedTicks;
|
||||
|
@ -17,7 +17,7 @@ index 1523be0c9f7ae3b8015b8017797601489c068e8c..9badb48b6004c5799132ed70ddcc767b
|
|||
if (this.age != -32768) this.age += elapsedTicks;
|
||||
this.lastTick = MinecraftServer.currentTick;
|
||||
// CraftBukkit end
|
||||
@@ -226,6 +227,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -227,6 +228,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
// CraftBukkit start - Use wall time for pickup and despawn timers
|
||||
int elapsedTicks = MinecraftServer.currentTick - this.lastTick;
|
||||
if (this.pickupDelay != 32767) this.pickupDelay -= elapsedTicks;
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] offset item frame ticking
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/HangingEntity.java b/src/main/java/net/minecraft/world/entity/decoration/HangingEntity.java
|
||||
index 469e4cc75eab1344a159ed5addd53f50cea7bd90..f88918b7c15b72f4cb1dd313734f550432fd5858 100644
|
||||
index b3d05578f38af41f242f6634864ce1d2ecac14f8..2446d649225f96748e2fbb1a53a9e1902ac22aa1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/decoration/HangingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/HangingEntity.java
|
||||
@@ -38,7 +38,7 @@ public abstract class HangingEntity extends Entity {
|
||||
@@ -39,7 +39,7 @@ public abstract class HangingEntity extends Entity {
|
||||
protected static final Predicate<Entity> HANGING_ENTITY = (entity) -> {
|
||||
return entity instanceof HangingEntity;
|
||||
};
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Prevent consuming the wrong itemstack
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 7fb9880caa964df65402153b87a953200b930e24..a2b13486bdcd4d50631053c0611ad86d628b7f1f 100644
|
||||
index f619171b3e436d7263d5229f7f9131954a0941f8..40ad459823268af0e57a348d241ac19bb576683a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3722,9 +3722,14 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3730,9 +3730,14 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
public void startUsingItem(InteractionHand hand) {
|
||||
|
@ -24,7 +24,7 @@ index 7fb9880caa964df65402153b87a953200b930e24..a2b13486bdcd4d50631053c0611ad86d
|
|||
this.useItem = itemstack;
|
||||
this.useItemRemaining = itemstack.getUseDuration();
|
||||
if (!this.level().isClientSide) {
|
||||
@@ -3804,6 +3809,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3812,6 +3817,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.releaseUsingItem();
|
||||
} else {
|
||||
if (!this.useItem.isEmpty() && this.isUsingItem()) {
|
||||
|
@ -32,7 +32,7 @@ index 7fb9880caa964df65402153b87a953200b930e24..a2b13486bdcd4d50631053c0611ad86d
|
|||
this.triggerItemUseEffects(this.useItem, 16);
|
||||
// CraftBukkit start - fire PlayerItemConsumeEvent
|
||||
ItemStack itemstack;
|
||||
@@ -3838,8 +3844,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3846,8 +3852,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
this.stopUsingItem();
|
||||
|
|
|
@ -33,11 +33,11 @@ But for those who are ok with leaving this inconsistent behavior, you may use WA
|
|||
It is recommended you regenerate the entities, as these were legit entities, and deserve your love.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index 9f8ee9d9b5fec9ca9c5e8462ed1aef742fa628ac..1b102f4c800dc6aa4e977c8ae8c9aada5d94e194 100644
|
||||
index 05b838f7008d5d031b18e161bbde7e72b8205b90..8805fd57e7198aa9afaafe45fab13fd343e2a545 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -880,6 +880,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
entity.discard();
|
||||
entity.discard(null); // CraftBukkit - add Bukkit remove cause
|
||||
needsRemoval = true;
|
||||
}
|
||||
+ checkDupeUUID(world, entity); // Paper - duplicate uuid resolving
|
||||
|
@ -67,7 +67,7 @@ index 9f8ee9d9b5fec9ca9c5e8462ed1aef742fa628ac..1b102f4c800dc6aa4e977c8ae8c9aada
|
|||
+ && Objects.equals(other.getEncodeId(), entity.getEncodeId())
|
||||
+ && entity.getBukkitEntity().getLocation().distance(other.getBukkitEntity().getLocation()) < level.paperConfig().entities.spawning.duplicateUuid.safeRegenDeleteRange
|
||||
+ ) {
|
||||
+ entity.discard();
|
||||
+ entity.discard(null);
|
||||
+ return true;
|
||||
+ }
|
||||
+ if (!other.isRemoved()) {
|
||||
|
@ -77,7 +77,7 @@ index 9f8ee9d9b5fec9ca9c5e8462ed1aef742fa628ac..1b102f4c800dc6aa4e977c8ae8c9aada
|
|||
+ break;
|
||||
+ }
|
||||
+ case DELETE: {
|
||||
+ entity.discard();
|
||||
+ entity.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
|
||||
+ return true;
|
||||
+ }
|
||||
+ default:
|
||||
|
|
|
@ -15,10 +15,10 @@ This patch resolves the conflict by offsetting checking Spigot's entity
|
|||
activation range check from an item's move method.
|
||||
|
||||
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 9badb48b6004c5799132ed70ddcc767bdd72510c..7d12bedc4b80b9bcf50f468a9204191bea0894c1 100644
|
||||
index bfbbb9382cf483a23acf35c17250f6f9223f7507..5994cb69575d365f435f5ef6da5fa61ee9298fe1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -168,7 +168,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -169,7 +169,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@ Subject: [PATCH] Alternative item-despawn-rate
|
|||
Co-authored-by: Noah van der Aa <ndvdaa@gmail.com>
|
||||
|
||||
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 7d12bedc4b80b9bcf50f468a9204191bea0894c1..7f8b35d6ae27086fa128abfe9b2369bb6c91ce60 100644
|
||||
index 5994cb69575d365f435f5ef6da5fa61ee9298fe1..e67e8d0593e3ba3fc8e9da59ad6494ea589ab337 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -56,6 +56,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -57,6 +57,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
public final float bobOffs;
|
||||
private int lastTick = MinecraftServer.currentTick - 1; // CraftBukkit
|
||||
public boolean canMobPickup = true; // Paper - Item#canEntityPickup
|
||||
|
@ -17,7 +17,7 @@ index 7d12bedc4b80b9bcf50f468a9204191bea0894c1..7f8b35d6ae27086fa128abfe9b2369bb
|
|||
|
||||
public ItemEntity(EntityType<? extends ItemEntity> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -208,7 +209,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -209,7 +210,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,7 @@ index 7d12bedc4b80b9bcf50f468a9204191bea0894c1..7f8b35d6ae27086fa128abfe9b2369bb
|
|||
// CraftBukkit start - fire ItemDespawnEvent
|
||||
if (CraftEventFactory.callItemDespawnEvent(this).isCancelled()) {
|
||||
this.age = 0;
|
||||
@@ -232,7 +233,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -233,7 +234,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
this.lastTick = MinecraftServer.currentTick;
|
||||
// CraftBukkit end
|
||||
|
||||
|
@ -35,7 +35,7 @@ index 7d12bedc4b80b9bcf50f468a9204191bea0894c1..7f8b35d6ae27086fa128abfe9b2369bb
|
|||
// CraftBukkit start - fire ItemDespawnEvent
|
||||
if (org.bukkit.craftbukkit.event.CraftEventFactory.callItemDespawnEvent(this).isCancelled()) {
|
||||
this.age = 0;
|
||||
@@ -288,7 +289,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -289,7 +290,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
private boolean isMergable() {
|
||||
ItemStack itemstack = this.getItem();
|
||||
|
||||
|
@ -44,7 +44,7 @@ index 7d12bedc4b80b9bcf50f468a9204191bea0894c1..7f8b35d6ae27086fa128abfe9b2369bb
|
|||
}
|
||||
|
||||
private void tryToMerge(ItemEntity other) {
|
||||
@@ -531,6 +532,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -532,6 +533,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
|
||||
public void setItem(ItemStack stack) {
|
||||
this.getEntityData().set(ItemEntity.DATA_ITEM, stack);
|
||||
|
@ -52,7 +52,7 @@ index 7d12bedc4b80b9bcf50f468a9204191bea0894c1..7f8b35d6ae27086fa128abfe9b2369bb
|
|||
}
|
||||
|
||||
@Override
|
||||
@@ -585,7 +587,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -586,7 +588,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
|
||||
public void makeFakeItem() {
|
||||
this.setNeverPickUp();
|
||||
|
|
|
@ -13,10 +13,10 @@ Quickly loading the exact world spawn chunk before searching the
|
|||
heightmap resolves the issue without having to load all spawn chunks.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 07613c1a337e4aa82daa83157f44056d90fc5c24..ee095e846697e316f5cb1506ee6f14519cbf51b0 100644
|
||||
index dbca4d858dd3074fc0664bb6b578e94eeeed1298..d539252518edcf9849acf5174f8285b571769780 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3347,6 +3347,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -3360,6 +3360,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
if (flag1) {
|
||||
blockposition1 = ServerLevel.END_SPAWN_POINT;
|
||||
} else {
|
||||
|
|
|
@ -7,10 +7,10 @@ Adds a new event similar to PlayerEggThrowEvent, but without the Player requirem
|
|||
(dispensers can throw eggs to hatch them, too).
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
|
||||
index 98d42143e70c5be809deb6c03270987ff9db46d5..785196e6f4677074890ca965e9add85ccfd0e6e3 100644
|
||||
index 02da4d1ff3c72e8adad2f4cee449ad21dec34e02..82bb8004635865f5202578d5a6f520048e7269d5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
|
||||
@@ -82,6 +82,13 @@ public class ThrownEgg extends ThrowableItemProjectile {
|
||||
@@ -83,6 +83,13 @@ public class ThrownEgg extends ThrowableItemProjectile {
|
||||
}
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
|
|
@ -7,10 +7,10 @@ Subject: [PATCH] Entity Jump API
|
|||
public net.minecraft.world.entity.LivingEntity jumping
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index a2b13486bdcd4d50631053c0611ad86d628b7f1f..c68eba06077c6f6894f2cc2947f51d8d1c86ef94 100644
|
||||
index 40ad459823268af0e57a348d241ac19bb576683a..f441d7a1188cecd91206d78b58457c330e4e8663 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3296,8 +3296,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3304,8 +3304,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
} else if (this.isInLava() && (!this.onGround() || d3 > d4)) {
|
||||
this.jumpInLiquid(FluidTags.LAVA);
|
||||
} else if ((this.onGround() || flag && d3 <= d4) && this.noJumpDelay == 0) {
|
||||
|
@ -22,10 +22,10 @@ index a2b13486bdcd4d50631053c0611ad86d628b7f1f..c68eba06077c6f6894f2cc2947f51d8d
|
|||
} else {
|
||||
this.noJumpDelay = 0;
|
||||
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 3d947293d33407e5d24f8fba738ab872e1d890b6..48df7de02e0765bfe62ae1b8a4c0029743430221 100644
|
||||
index 9c70f3bf7cc37a7df9d1b8c5d5f0f6264680e421..4224e8e75613b6ec0228b2757cb98140d83bc2e2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -527,7 +527,9 @@ public class Panda extends Animal {
|
||||
@@ -528,7 +528,9 @@ public class Panda extends Animal {
|
||||
Panda entitypanda = (Panda) iterator.next();
|
||||
|
||||
if (!entitypanda.isBaby() && entitypanda.onGround() && !entitypanda.isInWater() && entitypanda.canPerformAction()) {
|
||||
|
@ -50,7 +50,7 @@ index aba20a4352d8983b01ab5d329187588f68d3e405..aac60e85cd6dba7d87f4a1663c2c6295
|
|||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index ea9a6446ed2dbddedbc615df93c9856a0a1f1a2e..fd18531ff94daa6dc2994a69e1e647078a5a664c 100644
|
||||
index c9a487c1b85d46c1ce25147bd8a610a5631cdb5d..4cd34eb1930b9324be08e83aab21fc960eb7fca6 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -935,5 +935,19 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add option to nerf pigmen from nether portals
|
|||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index ee095e846697e316f5cb1506ee6f14519cbf51b0..fa0f57779251ea785dfa4fe299c1505e46aa1446 100644
|
||||
index d539252518edcf9849acf5174f8285b571769780..c113175f392710d2032f03a08e0243a02efe0709 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -396,6 +396,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -397,6 +397,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
public void inactiveTick() { }
|
||||
// Spigot end
|
||||
protected int numCollisions = 0; // Paper - Cap entity collisions
|
||||
|
@ -16,7 +16,7 @@ index ee095e846697e316f5cb1506ee6f14519cbf51b0..fa0f57779251ea785dfa4fe299c1505e
|
|||
public boolean spawnedViaMobSpawner; // Paper - Yes this name is similar to above, upstream took the better one
|
||||
// Paper start - Entity origin API
|
||||
@javax.annotation.Nullable
|
||||
@@ -2170,6 +2171,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -2183,6 +2184,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
if (spawnedViaMobSpawner) {
|
||||
nbttagcompound.putBoolean("Paper.FromMobSpawner", true);
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ index ee095e846697e316f5cb1506ee6f14519cbf51b0..fa0f57779251ea785dfa4fe299c1505e
|
|||
// Paper end
|
||||
return nbttagcompound;
|
||||
} catch (Throwable throwable) {
|
||||
@@ -2312,6 +2316,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -2325,6 +2329,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
}
|
||||
|
||||
spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status
|
||||
|
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] add hand to BlockMultiPlaceEvent
|
|||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index a08d1250cd5a5cc70e3796ac56a0cfaee6fe2b83..2b342f81ae8bfefe2a240351f28fcafc40609a75 100644
|
||||
index 542b9ff7d845dcebcf6569a6d4bd9e97ac3a436d..3dee6c973d4b4ac6f64fdcb5ac7fa681cefbdb1c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -400,13 +400,18 @@ public class CraftEventFactory {
|
||||
@@ -401,13 +401,18 @@ public class CraftEventFactory {
|
||||
}
|
||||
|
||||
org.bukkit.inventory.ItemStack item;
|
||||
|
|
|
@ -7,10 +7,10 @@ This fixes a lot of game state issues where packets were delayed for processing
|
|||
due to 1.15's new queue but processed while dead.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 6ab6f520f2ccb60646660cb2990c5b91a0e91909..d00d6cf28212ed72f49953a198caa447aefc138c 100644
|
||||
index 3c3c953f05c18279d3245fe6bc8afef83cd62cd1..603e003fbd39870a0e249151885b3b8f3e120afe 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -1152,7 +1152,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -1153,7 +1153,7 @@ public abstract class Player extends LivingEntity {
|
||||
|
||||
@Override
|
||||
protected boolean isImmobile() {
|
||||
|
|
|
@ -35,10 +35,10 @@ index e695b5ee0b9ce5dad81a7f894ef1e7fd868f11eb..b6698a65d778cea6b7dc9b8ebfceec24
|
|||
this.gameMode.setLevel((ServerLevel) world);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 60e50ce92414515c22f4d71e517504a7377c7e64..4530ba80f7d3983cf4ed9908eb1109c58aa425f2 100644
|
||||
index 6bd83549e2ff84b1bc993ef2be79a336ced28f67..8f23597eee06e721a25f7be3a5a65dff6a59ee55 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -226,6 +226,7 @@ public abstract class PlayerList {
|
||||
@@ -227,6 +227,7 @@ public abstract class PlayerList {
|
||||
// Paper start - Entity#getEntitySpawnReason
|
||||
if (nbttagcompound == null) {
|
||||
player.spawnReason = org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.DEFAULT; // set Player SpawnReason to DEFAULT on first login
|
||||
|
|
|
@ -12,10 +12,10 @@ The entity's current team collision rule causes them to NEVER collide.
|
|||
Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index c68eba06077c6f6894f2cc2947f51d8d1c86ef94..6112571e2e0bc9fe66d68fd095d395168c817822 100644
|
||||
index f441d7a1188cecd91206d78b58457c330e4e8663..178d8e9795a6c451e0ff350d9412bc2e0ee686ae 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3411,10 +3411,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3419,10 +3419,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
if (this.level().isClientSide()) {
|
||||
this.level().getEntities(EntityTypeTest.forClass(net.minecraft.world.entity.player.Player.class), this.getBoundingBox(), EntitySelector.pushableBy(this)).forEach(this::doPush);
|
||||
} else {
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue