mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-19 14:59:32 +00:00
@@ -0,0 +1,34 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Lumine1909 <133463833Lumine1909@users.noreply.github.com>
|
||||
Date: Thu, 31 Jul 2025 11:44:14 +0800
|
||||
Subject: [PATCH] Fix endermite spawn position
|
||||
|
||||
|
||||
diff --git a/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
||||
index 4b04ca7d50d7a85827bd89fff24434e603e99579..8030bd1935cdcf5a2673142bc3a19f7cc7be405b 100644
|
||||
--- a/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
||||
+++ b/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
||||
@@ -119,6 +119,9 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
|
||||
Vec3 vec3 = this.oldPosition();
|
||||
if (owner instanceof ServerPlayer serverPlayer) {
|
||||
if (serverPlayer.connection.isAcceptingMessages()) {
|
||||
+ // Leaves start - vanilla endermite spawn
|
||||
+ 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) {
|
||||
@@ -129,7 +132,12 @@ 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());
|
||||
+ if (org.leavesmc.leaves.LeavesConfig.fix.vanillaEndermiteSpawn) {
|
||||
+ endermite.snapTo(x, y, z, yaw, pitch);
|
||||
+ } else {
|
||||
+ endermite.snapTo(owner.getX(), owner.getY(), owner.getZ(), owner.getYRot(), owner.getXRot());
|
||||
+ }
|
||||
+ // Leaves end - vanilla endermite spawn
|
||||
serverLevel.addFreshEntity(endermite, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.ENDER_PEARL);
|
||||
}
|
||||
}
|
||||
@@ -1212,6 +1212,9 @@ public final class LeavesConfig {
|
||||
@GlobalConfig("vanilla-fluid-pushing")
|
||||
public boolean vanillaFluidPushing = true;
|
||||
|
||||
@GlobalConfig("vanilla-endermite-spawn")
|
||||
public boolean vanillaEndermiteSpawn = true;
|
||||
|
||||
@GlobalConfig(value = "collision-behavior")
|
||||
public CollisionBehavior collisionBehavior = CollisionBehavior.BLOCK_SHAPE_VANILLA;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user