d09469e84b
* feat: add a config to allow to disable some check for operator * feat: leaves servux protocol * fix: upload missing files * Update Upstream(Luminol) * fix: upload missing files - 2 * fix: reuse tickCount * fix: fix * fix: adjust folia * add leaves license * add infinite support
36 lines
2.7 KiB
Diff
36 lines
2.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Helvetica Volubi <suisuroru@blue-millennium.fun>
|
|
Date: Sat, 2 Aug 2025 12:40:53 +0800
|
|
Subject: [PATCH] Leaves: Temporarily fix endermite spawn position
|
|
|
|
Should be removed when [https://github.com/PaperMC/Paper/pull/12912] merged
|
|
|
|
Co-authored by: Lumine1909 <133463833Lumine1909@users.noreply.github.com>
|
|
As a part of : Leaves (https://github.com/LeavesMC/Leaves/blob/4c4712d3304db7e977324b2bd6739f0c4433f80a/leaves-server/minecraft-patches/features/0140-Fix-endermite-spawn-position.patch)
|
|
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
|
|
|
|
diff --git a/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
|
index bded685ed1653e9a1e2d7d4a9c4f68da58a6b06e..7123e56d86db01073e8ea71ccce0f6308070c8ab 100644
|
|
--- a/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
|
+++ b/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
|
@@ -204,6 +204,9 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
|
|
Vec3 vec3 = this.oldPosition();
|
|
if (owner instanceof ServerPlayer serverPlayer) {
|
|
if (serverPlayer.connection.isAcceptingMessages()) {
|
|
+ // Paper start - fix endermite spawn position
|
|
+ double x = serverPlayer.getX(), y = serverPlayer.getY(), z = serverPlayer.getZ();
|
|
+ float yaw = serverPlayer.getYRot(), pitch = serverPlayer.getXRot();
|
|
// CraftBukkit start
|
|
ServerPlayer serverPlayer1 = serverPlayer.teleport(new TeleportTransition(serverLevel, vec3, Vec3.ZERO, 0.0F, 0.0F, Relative.union(Relative.ROTATION, Relative.DELTA), TeleportTransition.DO_NOTHING, org.bukkit.event.player.PlayerTeleportEvent.TeleportCause.ENDER_PEARL));
|
|
if (serverPlayer1 == null) {
|
|
@@ -214,7 +217,8 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
|
|
if (this.random.nextFloat() < 0.05F && serverLevel.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING)) {
|
|
Endermite endermite = EntityType.ENDERMITE.create(serverLevel, EntitySpawnReason.TRIGGERED);
|
|
if (endermite != null) {
|
|
- endermite.snapTo(owner.getX(), owner.getY(), owner.getZ(), owner.getYRot(), owner.getXRot());
|
|
+ endermite.snapTo(x, y, z, yaw, pitch);
|
|
+ // Paper end - fix endermite spawn position
|
|
serverLevel.addFreshEntity(endermite, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.ENDER_PEARL);
|
|
}
|
|
}
|