9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2025-12-29 20:09:23 +00:00

0120/0132

This commit is contained in:
MC_XiaoHei
2025-07-03 15:15:39 +08:00
parent 72bbb2d9c5
commit 0e65b948fe
31 changed files with 113 additions and 107 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Placing locked hopper no longer send NC updates
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
index ac4996dda7bcf5f20391f45e3f703b21557a1669..31f52bef093849dc15add696bb7bcfb5f326589a 100644
index 590252ca203124f0b720a73f174c92fbe49bc685..f847d6c9ce70c66fc36733d8b5aa002e40be4cac 100644
--- a/net/minecraft/world/level/Level.java
+++ b/net/minecraft/world/level/Level.java
@@ -1210,7 +1210,11 @@ public abstract class Level implements LevelAccessor, UUIDLookup<Entity>, AutoCl

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Vanilla hopper
This is a temporary solution designed to attempt to restore the vanilla behavior of the funnel while preserving optimizations as much as possible. It should ultimately be replaced by the optimization solution provided by lithium.
diff --git a/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/net/minecraft/world/level/block/entity/HopperBlockEntity.java
index 7140571ef324f823942bc2c528cb66dac9e91d94..93dc766b1c4093b1d2bdf7f97951ea82a51cf4e4 100644
index 47281ac61c6a462a47c60cc51f48440d3691effd..86d14299f7c3b0ba52adebdad07f14fc46f794dd 100644
--- a/net/minecraft/world/level/block/entity/HopperBlockEntity.java
+++ b/net/minecraft/world/level/block/entity/HopperBlockEntity.java
@@ -285,36 +285,48 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Old hopper suckin behavior
diff --git a/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/net/minecraft/world/level/block/entity/HopperBlockEntity.java
index 93dc766b1c4093b1d2bdf7f97951ea82a51cf4e4..4d270a77cbb043e16360ae1f2bf03bf0ae32eb38 100644
index 86d14299f7c3b0ba52adebdad07f14fc46f794dd..7cdd7c864dc8e4d4da01bcb2e71ebbccbdc67816 100644
--- a/net/minecraft/world/level/block/entity/HopperBlockEntity.java
+++ b/net/minecraft/world/level/block/entity/HopperBlockEntity.java
@@ -597,7 +597,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix falling block's block location
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 0227bb06cfd7d5280a2b7c09e7e659806bedadcd..c7b085ac004f6be4e10ae929d2fed47dd916e2c9 100644
index e3256e6358aa9bcbc943d427a295ebeab9b73951..7bbfa9ba0af4e5b745e789775c6e77dcf42a2849 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -4822,6 +4822,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -5021,6 +5021,15 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
int floor = Mth.floor(x);
int floor1 = Mth.floor(y);
int floor2 = Mth.floor(z);

View File

@@ -0,0 +1,47 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Lumine1909 <133463833+Lumine1909@users.noreply.github.com>
Date: Thu, 6 Feb 2025 00:14:22 +0800
Subject: [PATCH] NOT_FINISH Bytebuf API
diff --git a/net/minecraft/network/chat/Component.java b/net/minecraft/network/chat/Component.java
index 7b88a74885d14759c4e459861e213d28893a6a19..1ea43690876bbc8f9066a1bd36a3b59eef27d96f 100644
--- a/net/minecraft/network/chat/Component.java
+++ b/net/minecraft/network/chat/Component.java
@@ -23,6 +23,18 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.FormattedCharSequence;
import net.minecraft.world.level.ChunkPos;
+/* TODO: where?
+ .getOrThrow(JsonParseException::new);
+ }
+
+ static JsonElement serialize(Component component, HolderLookup.Provider provider) {
+ public static JsonElement serialize(Component component, HolderLookup.Provider provider) { // Leaves - package -> public
+ return ComponentSerialization.CODEC
+ .encodeStart(provider.createSerializationContext(JsonOps.INSTANCE), component)
+ .getOrThrow(JsonParseException::new);
+
+ */
+
public interface Component extends Message, FormattedText, Iterable<Component> { // CraftBukkit
// CraftBukkit start
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index 968a6bbff3540d781c0925a0db96c0492283d1f2..0d511f3dbb6c41c4ca152303123f3bc2dd90cbbc 100644
--- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java
@@ -385,6 +385,13 @@ public abstract class PlayerList {
boolean _boolean = gameRules.getBoolean(GameRules.RULE_DO_IMMEDIATE_RESPAWN);
boolean _boolean1 = gameRules.getBoolean(GameRules.RULE_REDUCEDDEBUGINFO);
boolean _boolean2 = gameRules.getBoolean(GameRules.RULE_LIMITED_CRAFTING);
+
+ // Leaves start - Bytebuf API
+ if (!(player instanceof org.leavesmc.leaves.bot.ServerBot) && !(player instanceof org.leavesmc.leaves.replay.ServerPhotographer)) {
+ this.cserver.getBytebufHandler().injectPlayer(player);
+ }
+ // Leaves end - Bytebuf API
+
serverGamePacketListenerImpl.send(
new ClientboundLoginPacket(
player.getId(),

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Allow grindstone overstacking
diff --git a/net/minecraft/world/inventory/AbstractContainerMenu.java b/net/minecraft/world/inventory/AbstractContainerMenu.java
index 8aa689129334f75986fb7a18895e2c3fb3c365c8..3686a28bacf267e4be4fa36f6482ac416c2873ee 100644
index f151ec990241d091daedcb2af8f3f36fae5f277b..2dae8f5bdb32e0bd6bba3c522fb9e1c0b9e82bd8 100644
--- a/net/minecraft/world/inventory/AbstractContainerMenu.java
+++ b/net/minecraft/world/inventory/AbstractContainerMenu.java
@@ -754,10 +754,15 @@ public abstract class AbstractContainerMenu {
@@ -40,7 +40,7 @@ index 8aa689129334f75986fb7a18895e2c3fb3c365c8..3686a28bacf267e4be4fa36f6482ac41
if (isCheck) {
stack.shrink(Math.min(stack.getCount(), i1));
diff --git a/net/minecraft/world/inventory/GrindstoneMenu.java b/net/minecraft/world/inventory/GrindstoneMenu.java
index 6eaa468c90a826f9fdecf2cf672c4893122d2504..b7ef712181c88bac7ccb505147013405cb05c6cb 100644
index 18c15a7657e6fd994a8f17d0812c822d6adc8eab..00a0ce28632a7f515a94087c2752e8787212f0d9 100644
--- a/net/minecraft/world/inventory/GrindstoneMenu.java
+++ b/net/minecraft/world/inventory/GrindstoneMenu.java
@@ -178,7 +178,7 @@ public class GrindstoneMenu extends AbstractContainerMenu {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable MC-67
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index c7b085ac004f6be4e10ae929d2fed47dd916e2c9..4d91f2eb00ab9ab5daaf559ae4ed04f99875092b 100644
index 7bbfa9ba0af4e5b745e789775c6e77dcf42a2849..4547d836f4536ef4e003b772f5c526a691392934 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -3974,6 +3974,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -4195,6 +4195,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public boolean canTeleport(Level fromLevel, Level toLevel) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Can disable LivingEntity aiStep alive check
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index ce624ed17bc5c9b5e13d280f8dda736581b21821..d2f5118ceeebf95496daabf7597655d6565ad116 100644
index 305c099d32f1472a6e8909cdf2a53cec8a31afb5..0fca2df8899d285bd09e5a4ebcc09c05f222f13a 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -3233,7 +3233,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3285,7 +3285,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
}
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix FallingBlockEntity Duplicate
diff --git a/net/minecraft/world/entity/item/FallingBlockEntity.java b/net/minecraft/world/entity/item/FallingBlockEntity.java
index 31edd0d45ac6c38887e4cebffe5a7cf377b47466..b6e188cf9f224a9c4b75339acd0306758bf0cb71 100644
index 595dee03e3a7d98d703e48fb53d82d7f392a2b3d..0fd2c522a5fb038a8c002970af6feebd9dc9c436 100644
--- a/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -382,7 +382,7 @@ public class FallingBlockEntity extends Entity {
@@ -387,7 +387,7 @@ public class FallingBlockEntity extends Entity {
ResourceKey<Level> resourceKey1 = this.level().dimension();
boolean flag = (resourceKey1 == Level.END || resourceKey == Level.END) && resourceKey1 != resourceKey;
Entity entity = super.teleport(teleportTransition);

View File

@@ -99,7 +99,7 @@ index 42ee3f32fe44c1f0680c994a69201f7bd7792673..19214c236bca4e454e3bbe7dc50e00b6
protected void affectNeighborsAfterRemoval(BlockState state, ServerLevel level, BlockPos pos, boolean movedByPiston) {
if (!movedByPiston && this.getSignalForState(state) > 0) {
diff --git a/net/minecraft/world/level/block/BaseRailBlock.java b/net/minecraft/world/level/block/BaseRailBlock.java
index 4e13f5b233018d648f8ff83447624353fd62683b..8ecc438a518703aedd5aeed00727023ff26555c5 100644
index 5f99e18244501ed2d85be77b71f48cc93058cdb7..6bf50d9c3921b15f40b4fba273abeb4c2e0f30b3 100644
--- a/net/minecraft/world/level/block/BaseRailBlock.java
+++ b/net/minecraft/world/level/block/BaseRailBlock.java
@@ -121,6 +121,23 @@ public abstract class BaseRailBlock extends Block implements SimpleWaterloggedBl
@@ -729,7 +729,7 @@ index 6c789e56f21f01252c21786cfeb48d88485b5636..e24a61a4e2dac0159d52f07c93ddf860
protected void affectNeighborsAfterRemoval(BlockState state, ServerLevel level, BlockPos pos, boolean movedByPiston) {
BlockPos blockPos = pos.relative(state.getValue(FACING).getOpposite());
diff --git a/net/minecraft/world/level/block/state/BlockBehaviour.java b/net/minecraft/world/level/block/state/BlockBehaviour.java
index bbb1abfbfe7afd7b631cf269c1e338697cd016d2..768e5c6f1c0ce7d4bec41c37668249e708ebb4bc 100644
index be66f0f1cb1b0bcec8f9489a1fdd8777df1adb6b..67719dce9017a4c86a70b62fb660bddc636d5582 100644
--- a/net/minecraft/world/level/block/state/BlockBehaviour.java
+++ b/net/minecraft/world/level/block/state/BlockBehaviour.java
@@ -171,6 +171,15 @@ public abstract class BlockBehaviour implements FeatureElement {
@@ -762,10 +762,10 @@ index bbb1abfbfe7afd7b631cf269c1e338697cd016d2..768e5c6f1c0ce7d4bec41c37668249e7
this.getBlock().affectNeighborsAfterRemoval(this.asState(), level, pos, movedByPiston);
}
diff --git a/net/minecraft/world/level/chunk/LevelChunk.java b/net/minecraft/world/level/chunk/LevelChunk.java
index 845319dd3e355f739cce70b7df3172dd146601b1..d0ae0a73f2a635c008e2d60374d5b85a10216c96 100644
index 2cdca2917ce6a4912b57594697bf5543801eb868..d0d78d35c87973629dcd83b22ac0435a7498fe00 100644
--- a/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/net/minecraft/world/level/chunk/LevelChunk.java
@@ -394,20 +394,26 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
@@ -396,20 +396,26 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
boolean flag = !blockState.is(block);
boolean flag1 = (flags & 64) != 0;
boolean flag2 = (flags & 256) == 0;

View File

@@ -21,7 +21,7 @@ index 80f17f33f670018240c854df589cf90cdeab6e70..4c6ce6a4a730033802651b0c0052fc46
if (raidAt == null || raidAt.getRaidOmenLevel() < raidAt.getMaxRaidOmenLevel()) {
serverPlayer.addEffect(new MobEffectInstance(MobEffects.RAID_OMEN, 600, amplifier));
diff --git a/net/minecraft/world/entity/raid/Raid.java b/net/minecraft/world/entity/raid/Raid.java
index 62a3a8d46e10e6f02e3f515bbce5d9ba1f6566b8..6a45e00490f0067d25010371f7c5fa40bbe7671c 100644
index b3a29ce523fb5de71589c7c17598bba17622f988..b74ad31e5bcac5e557f18ccfb5c92d4d94a0ba6d 100644
--- a/net/minecraft/world/entity/raid/Raid.java
+++ b/net/minecraft/world/entity/raid/Raid.java
@@ -333,7 +333,20 @@ public class Raid {
@@ -109,10 +109,10 @@ index 62a3a8d46e10e6f02e3f515bbce5d9ba1f6566b8..6a45e00490f0067d25010371f7c5fa40
return this.addWaveMob(level, wave, raider, true);
}
diff --git a/net/minecraft/world/entity/raid/Raider.java b/net/minecraft/world/entity/raid/Raider.java
index 39a6a4579931d7edb7ab8c072d62cfc9b02791c8..23c0581ad4e3921f89070609ec7c01d8a5a9b2de 100644
index 7b697f1dfe8131296ef55cd88a8b9d7cd884eb44..56995040e0bb23e55031cd1179faa770596e15a3 100644
--- a/net/minecraft/world/entity/raid/Raider.java
+++ b/net/minecraft/world/entity/raid/Raider.java
@@ -127,6 +127,43 @@ public abstract class Raider extends PatrollingMonster {
@@ -128,6 +128,43 @@ public abstract class Raider extends PatrollingMonster {
currentRaid.removeFromRaid(serverLevel, this, false);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow anvil destroy item entities
diff --git a/net/minecraft/world/entity/item/FallingBlockEntity.java b/net/minecraft/world/entity/item/FallingBlockEntity.java
index b6e188cf9f224a9c4b75339acd0306758bf0cb71..ff8cd3d52bf9f3d117abfd7022d7f2ac8525e46a 100644
index 0fd2c522a5fb038a8c002970af6feebd9dc9c436..2d0d6ad8c37c3187fbf35e5c7ff9a509da59c648 100644
--- a/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -275,7 +275,7 @@ public class FallingBlockEntity extends Entity {
@@ -282,7 +282,7 @@ public class FallingBlockEntity extends Entity {
if (ceil < 0) {
return false;
} else {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable collision behavior
diff --git a/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java b/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
index a97a2a8492f3858e3b622d26768b4d819c9b47a7..7178f8477d5c3840225b21ec1fb6612e660b85d3 100644
index 01cd38bba2deb6cf65c82b4e4ec352a2998fd339..8eb8e1447043498c6a0db1b56e877a91cd5fc438 100644
--- a/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
+++ b/ca/spottedleaf/moonrise/patches/collisions/CollisionUtil.java
@@ -101,6 +101,14 @@ public final class CollisionUtil {

View File

@@ -5,37 +5,33 @@ Subject: [PATCH] Fix EntityPortalExitEvent logic
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 4d91f2eb00ab9ab5daaf559ae4ed04f99875092b..b478a1fedeeee2c19bddc66e2ae4152b4d72c724 100644
index 4547d836f4536ef4e003b772f5c526a691392934..1ae96278974a767482f520e2ace69e91a2de2e4c 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -3778,19 +3778,29 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
if (this.portalProcess != null) { // if in a portal
org.bukkit.craftbukkit.entity.CraftEntity bukkitEntity = this.getBukkitEntity();
+ org.bukkit.util.Vector after = org.bukkit.craftbukkit.util.CraftVector.toBukkit(velocity); // Leaves - fix
org.bukkit.event.entity.EntityPortalExitEvent event = new org.bukkit.event.entity.EntityPortalExitEvent(
bukkitEntity,
bukkitEntity.getLocation(), to.clone(),
- bukkitEntity.getVelocity(), org.bukkit.craftbukkit.util.CraftVector.toBukkit(velocity)
+ bukkitEntity.getVelocity(), after // Leaves - fix
@@ -3985,19 +3985,21 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
);
event.callEvent();
+ // Leaves start - fix
// Only change the target if actually needed, since we reset relative flags
- if (!event.isCancelled() && event.getTo() != null && (!event.getTo().equals(event.getFrom()) || !event.getAfter().equals(event.getBefore()))) { // todo this looks broken
- to = event.getTo().clone();
- velocity = org.bukkit.craftbukkit.util.CraftVector.toVec3(event.getAfter());
- if (event.isCancelled() || !to.equals(event.getTo()) || !after.equals(event.getAfter())) {
- if (event.isCancelled() || event.getTo() == null) {
- org.bukkit.World toWorld = to.getWorld();
- to = event.getFrom().clone();
- to.setWorld(toWorld); // cancelling doesn't cancel the teleport just the position/velocity (old quirk)
- velocity = org.bukkit.craftbukkit.util.CraftVector.toVec3(event.getBefore());
- } else {
- to = event.getTo().clone();
+ if (event.isCancelled() || (!to.equals(event.getTo()) || !after.equals(event.getAfter()))) {
+ if (!event.isCancelled()) {
+ if (event.getTo() != null) {
+ to = event.getTo().clone();
+ }
+ velocity = org.bukkit.craftbukkit.util.CraftVector.toVec3(event.getAfter());
velocity = org.bukkit.craftbukkit.util.CraftVector.toVec3(event.getAfter());
+ } else {
+ to = event.getFrom().clone();
+ velocity = Vec3.ZERO;
+ }
}
teleportTransition = new TeleportTransition(((org.bukkit.craftbukkit.CraftWorld) to.getWorld()).getHandle(), org.bukkit.craftbukkit.util.CraftLocation.toVec3(to), velocity, to.getYaw(), to.getPitch(), teleportTransition.missingRespawnBlock(), teleportTransition.asPassenger(), Set.of(), teleportTransition.postTeleportTransition(), teleportTransition.cause());
}
+ // Leaves end - fix

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix CraftPortalEvent logic
diff --git a/net/minecraft/world/level/block/EndPortalBlock.java b/net/minecraft/world/level/block/EndPortalBlock.java
index cf2b105c98a3b22b9bea59cbafcd598657dc92b5..22ffa5743f95d28f29084f1dd357015aee032711 100644
index f6c64277c3d6e16250e2bf963b6427404e27aa9b..2d908255439ea548aa7679219b5092334243a641 100644
--- a/net/minecraft/world/level/block/EndPortalBlock.java
+++ b/net/minecraft/world/level/block/EndPortalBlock.java
@@ -103,9 +103,9 @@ public class EndPortalBlock extends BaseEntityBlock implements Portal {
@@ -105,9 +105,9 @@ public class EndPortalBlock extends BaseEntityBlock implements Portal {
}
// CraftBukkit start

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Xaero Map Protocol
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index df58e2cd1a8be7c4b24a747ca40d0e79bf40f976..f6c2f02e1a7f5ac2d7bb584893457761fe30b509 100644
index 0d511f3dbb6c41c4ca152303123f3bc2dd90cbbc..5a9aa8da0c0e17b4a0d33d2d56e2e6954381dc4e 100644
--- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java
@@ -1343,6 +1343,7 @@ public abstract class PlayerList {
@@ -1319,6 +1319,7 @@ public abstract class PlayerList {
player.connection.send(new ClientboundInitializeBorderPacket(worldBorder));
player.connection.send(new ClientboundSetTimePacket(level.getGameTime(), level.getDayTime(), level.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)));
player.connection.send(new ClientboundSetDefaultSpawnPositionPacket(level.getSharedSpawnPos(), level.getSharedSpawnAngle()));

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Skip negligible planar movement multiplication
This patch is Powered by Gale(https://github.com/Dreeam-qwq/Gale)
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 91038b21164d3e1bf6406117478454d38b24bb81..d768b1de1bc75ab73198379b1099cc09f58d1ca4 100644
index 1ae96278974a767482f520e2ace69e91a2de2e4c..2d1c112b7f762de3b7444b9da25f767aac57404d 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -1218,8 +1218,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -1234,8 +1234,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Skippable raid height check
diff --git a/net/minecraft/world/entity/raid/Raid.java b/net/minecraft/world/entity/raid/Raid.java
index 6a45e00490f0067d25010371f7c5fa40bbe7671c..8e08a187da6f40d1b3bc990401af36e510537777 100644
index b74ad31e5bcac5e557f18ccfb5c92d4d94a0ba6d..14cbc32c1ebb1eb777c9ae45ff5b2178b469dea2 100644
--- a/net/minecraft/world/entity/raid/Raid.java
+++ b/net/minecraft/world/entity/raid/Raid.java
@@ -687,7 +687,7 @@ public class Raid {

View File

@@ -5,15 +5,15 @@ Subject: [PATCH] Vanilla player display name
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index f144a8bd5eb55ce093ad92ffd1304860dc52c1b1..fa93076169e19c7d2d1134dea297968a650dc220 100644
index f618619124fad4c432adb171513a73ca8aa9c4d4..4cded55b91031ae9f801d26dd385d661f719ed5e 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -471,7 +471,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -478,7 +478,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
this.object = null;
// CraftBukkit start
this.displayName = this.getScoreboardName();
- this.adventure$displayName = net.kyori.adventure.text.Component.text(this.getScoreboardName()); // Paper
+ this.adventure$displayName = org.leavesmc.leaves.LeavesConfig.fix.vanillaDisplayName ? io.papermc.paper.adventure.PaperAdventure.asAdventure(this.getDisplayName()) : net.kyori.adventure.text.Component.text(this.getScoreboardName()); // Paper // Leaves - Vanilla display name
this.bukkitPickUpLoot = true;
this.maxHealthCache = this.getMaxHealth();
}
// CraftBukkit end

View File

@@ -5,19 +5,19 @@ Subject: [PATCH] Fix SculkCatalyst exp skip
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index 8c7fce6d97a4a526c06bba8bb20d1e64d3d94e92..b2bb4a2c1ba2e924f380f69365ce7384db21eed6 100644
index 4cded55b91031ae9f801d26dd385d661f719ed5e..e183131afca79d468f83d6230164e2cac304e98b 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -1091,7 +1091,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -1103,7 +1103,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
}
// SPIGOT-5478 must be called manually now
- if (event.shouldDropExperience()) this.dropExperience(this.serverLevel(), cause.getEntity()); // Paper - tie to event
+ if (shouldDropExperience(event.shouldDropExperience(), event.forceUseEventDropStatus())) this.dropExperience(this.serverLevel(), cause.getEntity()); // Paper - tie to event // Leaves - exp fix
- if (event.shouldDropExperience()) this.dropExperience(this.level(), cause.getEntity()); // Paper - tie to event
+ if (shouldDropExperience(event.shouldDropExperience(), event.forceUseEventDropStatus())) this.dropExperience(this.level(), cause.getEntity()); // Paper - tie to event // Leaves - exp fix
// we clean the player's inventory after the EntityDeathEvent is called so plugins can get the exact state of the inventory.
if (!event.getKeepInventory()) {
// Paper start - PlayerDeathEvent#getItemsToKeep
@@ -1138,6 +1138,15 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -1150,6 +1150,15 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
this.setClientLoaded(false);
}
@@ -34,18 +34,18 @@ index 8c7fce6d97a4a526c06bba8bb20d1e64d3d94e92..b2bb4a2c1ba2e924f380f69365ce7384
AABB aabb = new AABB(this.blockPosition()).inflate(32.0, 10.0, 32.0);
this.level()
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index d2f5118ceeebf95496daabf7597655d6565ad116..8975acf713dd806693e3b3045c98e53321a2e5f4 100644
index 0fca2df8899d285bd09e5a4ebcc09c05f222f13a..b33c78f836830dd47e275cab9c9f87531152a96b 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -264,6 +264,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
protected final EntityEquipment equipment;
@@ -277,6 +277,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
private Waypoint.Icon locatorBarIcon = new Waypoint.Icon();
// CraftBukkit start
public int expToDrop;
+ public int expToReward; // Leaves - exp fix
public List<DefaultDrop> drops = new java.util.ArrayList<>(); // Paper - Restore vanilla drops behavior
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
public boolean collides = true;
@@ -1829,6 +1830,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1861,6 +1862,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
entity.killedEntity((ServerLevel) this.level(), this);
}
this.gameEvent(GameEvent.ENTITY_DIE);
@@ -53,7 +53,7 @@ index d2f5118ceeebf95496daabf7597655d6565ad116..8975acf713dd806693e3b3045c98e533
} else {
this.dead = false;
this.setHealth((float) deathEvent.getReviveHealth());
@@ -1902,7 +1904,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1934,7 +1936,7 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin
this.drops = new java.util.ArrayList<>();
// this.dropEquipment(level); // CraftBukkit - moved up
// CraftBukkit end
@@ -63,7 +63,7 @@ index d2f5118ceeebf95496daabf7597655d6565ad116..8975acf713dd806693e3b3045c98e533
}
diff --git a/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.java b/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.java
index 2627583ab12d886b1fba0b1d1e599f942926b499..be09fa81ed1e58a271156299dacf49be649eecfc 100644
index 0a94670dc20bb9c521b0395633eb100393895f6a..a2f73e8210ac554a7529067bbe9f50267f2bf0e2 100644
--- a/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.java
+++ b/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.java
@@ -96,8 +96,7 @@ public class SculkCatalystBlockEntity extends BlockEntity implements GameEventLi

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Vanilla creative pickup behavior
diff --git a/net/minecraft/world/entity/player/Inventory.java b/net/minecraft/world/entity/player/Inventory.java
index 57bf2819271b3293a065b58d31b609f8463811b4..1d61b01d32783357ea5d766cb716ba4c7edb1407 100644
index cc1a69293c31f23965b869e6899d89ad45312129..f6fa8dfe5c8ba33f770f2e53aaa3f4de6ad8918f 100644
--- a/net/minecraft/world/entity/player/Inventory.java
+++ b/net/minecraft/world/entity/player/Inventory.java
@@ -159,6 +159,13 @@ public class Inventory implements Container, Nameable {
@@ -176,6 +176,13 @@ public class Inventory implements Container, Nameable {
// CraftBukkit start - Watch method above! :D
public int canHold(ItemStack itemStack) {
int remains = itemStack.getCount();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Vanilla portal handle
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index d768b1de1bc75ab73198379b1099cc09f58d1ca4..0ec5603097a984713bc3ae7a03a7535e552cf851 100644
index 2d1c112b7f762de3b7444b9da25f767aac57404d..b42b0788b7df9f39429d18ce12b525beb7609bd5 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -807,6 +807,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -836,6 +836,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
// CraftBukkit start
public void postTick() {
@@ -16,7 +16,7 @@ index d768b1de1bc75ab73198379b1099cc09f58d1ca4..0ec5603097a984713bc3ae7a03a7535e
// No clean way to break out of ticking once the entity has been copied to a new world, so instead we move the portalling later in the tick cycle
if (!(this instanceof ServerPlayer) && this.isAlive()) { // Paper - don't attempt to teleport dead entities
this.handlePortal();
@@ -827,7 +828,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -856,7 +857,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.boardingCooldown--;
}
@@ -26,10 +26,10 @@ index d768b1de1bc75ab73198379b1099cc09f58d1ca4..0ec5603097a984713bc3ae7a03a7535e
this.spawnSprintParticle();
}
diff --git a/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/net/minecraft/world/entity/vehicle/AbstractMinecart.java
index 99617c08cbd989092ba357d8df928786fd04c89a..619f87b4ce69629b230229f33487fc653f6a39a7 100644
index 7e61d68b36ca2768f70dc1fc130a8d7b95347b6b..8e73204f6e7d159d66c3d90c7e2845bfde867e7a 100644
--- a/net/minecraft/world/entity/vehicle/AbstractMinecart.java
+++ b/net/minecraft/world/entity/vehicle/AbstractMinecart.java
@@ -294,7 +294,7 @@ public abstract class AbstractMinecart extends VehicleEntity {
@@ -293,7 +293,7 @@ public abstract class AbstractMinecart extends VehicleEntity {
}
this.checkBelowWorld();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix chunk reload detector
diff --git a/net/minecraft/server/level/ServerEntity.java b/net/minecraft/server/level/ServerEntity.java
index 7681195587d361acf524d09ad3958e628aad73b6..edf9c01fd64d269a5d78d805db91177095edffc7 100644
index f6b2d541fdfd11c6ff6033fbf4cd5153796634e3..5e06cc272b9617d780c507b5b819b380e7462eaf 100644
--- a/net/minecraft/server/level/ServerEntity.java
+++ b/net/minecraft/server/level/ServerEntity.java
@@ -396,7 +396,7 @@ public class ServerEntity {
@@ -390,7 +390,7 @@ public class ServerEntity {
if (!list.isEmpty()) {
consumer.accept(new ClientboundSetEquipmentPacket(this.entity.getId(), list, true)); // Paper - data sanitization
}

View File

@@ -1,37 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Lumine1909 <133463833+Lumine1909@users.noreply.github.com>
Date: Thu, 6 Feb 2025 00:14:22 +0800
Subject: [PATCH] Bytebuf API
diff --git a/net/minecraft/network/chat/Component.java b/net/minecraft/network/chat/Component.java
index c6e4f72825c868b416ce2e81fc6d9b5bfdbd85f2..5c4d0a9297387503f48cb4c1d6db6aedc6ad8258 100644
--- a/net/minecraft/network/chat/Component.java
+++ b/net/minecraft/network/chat/Component.java
@@ -248,7 +248,7 @@ public interface Component extends Message, FormattedText, Iterable<Component> {
.getOrThrow(JsonParseException::new);
}
- static JsonElement serialize(Component component, HolderLookup.Provider provider) {
+ public static JsonElement serialize(Component component, HolderLookup.Provider provider) { // Leaves - package -> public
return ComponentSerialization.CODEC
.encodeStart(provider.createSerializationContext(JsonOps.INSTANCE), component)
.getOrThrow(JsonParseException::new);
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index 0dee4945feb6d4cb2f520d346bf8be4fa36fb868..df58e2cd1a8be7c4b24a747ca40d0e79bf40f976 100644
--- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java
@@ -377,6 +377,13 @@ public abstract class PlayerList {
boolean _boolean = gameRules.getBoolean(GameRules.RULE_DO_IMMEDIATE_RESPAWN);
boolean _boolean1 = gameRules.getBoolean(GameRules.RULE_REDUCEDDEBUGINFO);
boolean _boolean2 = gameRules.getBoolean(GameRules.RULE_LIMITED_CRAFTING);
+
+ // Leaves start - Bytebuf API
+ if (!(player instanceof org.leavesmc.leaves.bot.ServerBot) && !(player instanceof org.leavesmc.leaves.replay.ServerPhotographer)) {
+ this.cserver.getBytebufHandler().injectPlayer(player);
+ }
+ // Leaves end - Bytebuf API
+
serverGamePacketListenerImpl.send(
new ClientboundLoginPacket(
player.getId(),