mirror of
https://github.com/PaperMC/Paper.git
synced 2025-02-03 21:37:28 +01:00
More more more more more more more more patches
This commit is contained in:
parent
5c5a21fb9f
commit
b5f8080674
98 changed files with 27 additions and 102 deletions
patches/server
Add-Alternate-Current-redstone-implementation.patchAdd-EntityDyeEvent-and-CollarColorable-interface.patchAdd-EntityPortalReadyEvent.patchAdd-Moving-Piston-API.patchAdd-NamespacedKey-biome-methods.patchAdd-Player-Warden-Warning-API.patchAdd-Player-getFishHook.patchAdd-PlayerInventorySlotChangeEvent.patchAdd-PlayerStopUsingItemEvent.patchAdd-PrePlayerAttackEntityEvent.patchAdd-Velocity-IP-Forwarding-Support.patchAdd-WardenAngerChangeEvent.patchAdd-a-consumer-parameter-to-ProjectileSource-launchP.patchAdd-async-catcher-to-PlayerConnection-internalTelepo.patchAdd-custom-destroyerIdentity-to-sendBlockDamage.patchAdd-entity-knockback-API.patchAdd-fire-tick-delay-option.patchAdd-getDrops-to-BlockState.patchAdd-missing-BlockFadeEvents.patchAdd-missing-important-BlockStateListPopulator-method.patchAdd-option-for-strict-advancement-dimension-checks.patchAdd-paper-dumplisteners-command.patchAdd-pre-unbreaking-amount-to-PlayerItemDamageEvent.patchAdd-some-minimal-debug-information-to-chat-packet-er.patchAdd-support-for-Proxy-Protocol.patchAdd-various-missing-EntityDropItemEvent-calls.patchAdded-EntityToggleSitEvent.patchAdded-byte-array-serialization-deserialization-for-P.patchAllow-changing-bed-s-occupied-property.patchBlock-Ticking-API.patchCall-BlockPhysicsEvent-more-often.patchCollision-API.patchConfigurable-chat-thread-limit.patchCorrectly-handle-interactions-with-items-on-cooldown.patchCustom-Chat-Completion-Suggestions-API.patchDetect-headless-JREs.patchDisable-component-selector-resolving-in-books-by-def.patchDo-not-accept-invalid-client-settings.patchDo-not-sync-load-chunk-for-dynamic-game-event-listen.patchDon-t-broadcast-messages-to-command-blocks.patchDon-t-print-component-in-resource-pack-rejection-mes.patchDon-t-tick-markers.patchDon-t-use-level-random-in-entity-constructors.patchDont-resent-entity-on-art-update.patchElder-Guardian-appearance-API.patchEntityPickupItemEvent-fixes.patchFallingBlock-auto-expire-setting.patchFire-CauldronLevelChange-on-initial-fill.patchFire-EntityChangeBlockEvent-in-more-places.patchFix-Bee-flower-NPE.patchFix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patchFix-EndDragonFight-killed-statuses-should-be-false-f.patchFix-EntityArgument-suggestion-permissions-to-align-w.patchFix-EntityCombustEvent-cancellation-cant-fully-preve.patchFix-FurnaceInventory-for-smokers-and-blast-furnaces.patchFix-NPE-for-BlockDataMeta-getBlockData.patchFix-OfflinePlayer-getBedSpawnLocation.patchFix-Spigot-Config-not-using-commands.spam-exclusions.patchFix-a-bunch-of-vanilla-bugs.patchFix-async-entity-add-due-to-fungus-trees.patchFix-custom-piglin-loved-items.patchFix-plugin-loggers-on-server-shutdown.patchFix-slime-spawners-not-spawning-outside-slime-chunks.patchFix-suggest-command-message-for-brigadier-syntax-exc.patchFriction-API.patchIgnore-impossible-spawn-tick.patchItemStack-damage-API.patchMissing-eating-regain-reason.patchMissing-effect-cause.patchMitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patchMore-Teleport-API.patchMore-vanilla-friendly-methods-to-update-trades.patchNameable-Banner-API.patchPass-ServerLevel-for-gamerule-callbacks.patchPrevent-compass-from-loading-chunks.patchPrevent-empty-items-from-being-added-to-world.patchPrevent-entity-loading-causing-async-lookups.patchRemove-invalid-signature-login-stacktrace.patchRemove-unnecessary-onTrackingStart-during-navigation.patchSanitize-Sent-BlockEntity-NBT.patchSend-block-entities-after-destroy-prediction.patchSet-position-before-player-sending-on-dimension-chan.patchStop-large-look-changes-from-crashing-the-server.patchThrow-exception-on-world-create-while-being-ticked.patchTrack-projectile-source-for-fireworks-from-dispenser.patchTrigger-bee_nest_destroyed-trigger-in-the-correct-pl.patchUse-thread-safe-random-in-ServerLoginPacketListenerI.patchWarn-on-plugins-accessing-faraway-chunks.patchWorkaround-for-client-lag-spikes-MC-162253.patchWorldCreator-keepSpawnLoaded.patchcheck-global-player-list-where-appropriate.patchensure-reset-EnderDragon-boss-event-name.patchfix-Jigsaw-block-kicking-user.patchfix-MC-252817-green-map-markers-do-not-disappear.patchfix-powder-snow-cauldrons-not-turning-to-water.patchfixed-entity-vehicle-collision-event-not-called.patchoptimized-dirt-and-snow-spreading.patchuse-BlockFormEvent-for-mud-converting-into-clay.patch
|
@ -8,7 +8,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/ma
|
|||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
public void releaseUsingItem() {
|
||||
if (!this.useItem.isEmpty()) {
|
|
@ -11,7 +11,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
@@ -0,0 +0,0 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
}
|
||||
|
||||
public void internalTeleport(double d0, double d1, double d2, float f, float f1, Set<ClientboundPlayerPositionPacket.RelativeArgument> set, boolean flag) {
|
||||
public void internalTeleport(double d0, double d1, double d2, float f, float f1, Set<RelativeMovement> set) { // Paper
|
||||
+ org.spigotmc.AsyncCatcher.catchOp("teleport"); // Paper
|
||||
// Paper start
|
||||
if (player.isRemoved()) {
|
|
@ -35,7 +35,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
try {
|
||||
@@ -0,0 +0,0 @@ public class ServerConnectionListener {
|
||||
int j = ServerConnectionListener.this.server.getRateLimitPacketsPerSecond();
|
||||
Object object = j > 0 ? new RateKickingConnection(j) : new Connection(PacketFlow.SERVERBOUND);
|
||||
Connection object = j > 0 ? new RateKickingConnection(j) : new Connection(PacketFlow.SERVERBOUND); // CraftBukkit - decompile error
|
||||
|
||||
+ // Paper start - Add support for Proxy Protocol
|
||||
+ if (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.proxyProtocol) {
|
||||
|
@ -61,6 +61,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
// ServerConnectionListener.this.connections.add((Connection) object); // CraftBukkit - decompile error
|
||||
pending.add((Connection) object); // Paper
|
||||
channel.pipeline().addLast("packet_handler", (ChannelHandler) object);
|
||||
//ServerConnectionListener.this.connections.add(object);
|
||||
pending.add(object); // Paper
|
||||
channelpipeline.addLast("packet_handler", (ChannelHandler) object);
|
|
@ -34,7 +34,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src
|
|||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -0,0 +0,0 @@ public class ItemEntity extends Entity {
|
||||
@@ -0,0 +0,0 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
}
|
||||
|
||||
public ItemEntity(Level world, double x, double y, double z, ItemStack stack) {
|
||||
|
@ -52,7 +52,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/
|
|||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
|
||||
@@ -0,0 +0,0 @@ public class PrimedTnt extends Entity {
|
||||
@@ -0,0 +0,0 @@ public class PrimedTnt extends Entity implements TraceableEntity {
|
||||
public PrimedTnt(Level world, double x, double y, double z, @Nullable LivingEntity igniter) {
|
||||
this(EntityType.TNT, world);
|
||||
this.setPos(x, y, z);
|
|
@ -189,14 +189,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
|
||||
if (i < 8 && ComposterBlock.COMPOSTABLES.containsKey(itemstack.getItem())) {
|
||||
if (i < 7 && !world.isClientSide) {
|
||||
- BlockState iblockdata1 = ComposterBlock.addItem(state, world, pos, itemstack);
|
||||
- BlockState iblockdata1 = ComposterBlock.addItem(player, state, world, pos, itemstack);
|
||||
+ // Paper start - EntityChangeBlockEvent
|
||||
+ double rand = world.getRandom().nextDouble();
|
||||
+ BlockState dummyBlockState = ComposterBlock.addItem(state, org.bukkit.craftbukkit.util.DummyGeneratorAccess.INSTANCE, pos, itemstack, rand);
|
||||
+ BlockState dummyBlockState = ComposterBlock.addItem(player, state, org.bukkit.craftbukkit.util.DummyGeneratorAccess.INSTANCE, pos, itemstack, rand);
|
||||
+ if (state != dummyBlockState && org.bukkit.craftbukkit.event.CraftEventFactory.callEntityChangeBlockEvent(player, pos, dummyBlockState).isCancelled()) { // if block state will change and event cancelled
|
||||
+ return InteractionResult.sidedSuccess(world.isClientSide);
|
||||
+ }
|
||||
+ BlockState iblockdata1 = ComposterBlock.addItem(state, world, pos, itemstack, rand);
|
||||
+ BlockState iblockdata1 = ComposterBlock.addItem(player, state, world, pos, itemstack, rand);
|
||||
+ // Paper end
|
||||
|
||||
world.levelEvent(1500, pos, state != iblockdata1 ? 1 : 0);
|
|
@ -86,35 +86,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
}
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/damagesource/EntityDamageSource.java b/src/main/java/net/minecraft/world/damagesource/EntityDamageSource.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/damagesource/EntityDamageSource.java
|
||||
+++ b/src/main/java/net/minecraft/world/damagesource/EntityDamageSource.java
|
||||
@@ -0,0 +0,0 @@ public class EntityDamageSource extends DamageSource {
|
||||
|
||||
@Override
|
||||
public boolean scalesWithDifficulty() {
|
||||
- return this.entity instanceof LivingEntity && !(this.entity instanceof Player);
|
||||
+ return super.scalesWithDifficulty() || this.entity instanceof LivingEntity && !(this.entity instanceof Player); // Paper - fix MC-258535 - respect the scalesWithDifficulty override
|
||||
}
|
||||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity {
|
||||
// CraftBukkit end
|
||||
float f3 = this.getHealth();
|
||||
|
||||
- this.setHealth(f3 - f);
|
||||
+ // Paper start - MC-121048
|
||||
this.getCombatTracker().recordDamage(damagesource, f3, f);
|
||||
+ this.setHealth(f3 - f);
|
||||
+ // Paper end
|
||||
// CraftBukkit start
|
||||
if (!human) {
|
||||
this.setAbsorptionAmount(this.getAbsorptionAmount() - f);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Saddleable.java b/src/main/java/net/minecraft/world/entity/Saddleable.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Saddleable.java
|
||||
|
@ -193,26 +164,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
if (!player.getAbilities().instabuild) {
|
||||
stack.shrink(1);
|
||||
}
|
||||
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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -0,0 +0,0 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
this.level.playSound(player, this.getX(), this.getY(), this.getZ(), soundeffect, this.getSoundSource(), 1.0F, this.random.nextFloat() * 0.4F + 0.8F);
|
||||
if (!this.level.isClientSide) {
|
||||
this.ignite();
|
||||
+ if (itemstack.isDamageableItem()) { // Paper - only call hurtAndBreak for a damageable item - MC-257875
|
||||
itemstack.hurtAndBreak(1, player, (entityhuman1) -> {
|
||||
entityhuman1.broadcastBreakEvent(hand);
|
||||
});
|
||||
+ // Paper start - just consume the item - MC-257875
|
||||
+ } else if (!player.getAbilities().instabuild) {
|
||||
+ itemstack.shrink(1);
|
||||
+ }
|
||||
+ // Paper end
|
||||
}
|
||||
|
||||
return InteractionResult.sidedSuccess(this.level.isClientSide);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/CatSpawner.java b/src/main/java/net/minecraft/world/entity/npc/CatSpawner.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/CatSpawner.java
|
|
@ -8,7 +8,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/ma
|
|||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
public boolean bukkitPickUpLoot;
|
||||
public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper
|
||||
public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event
|
||||
|
@ -16,7 +16,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
|
||||
@Override
|
||||
public float getBukkitYaw() {
|
||||
@@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
public boolean shouldDiscardFriction() {
|
||||
|
@ -25,7 +25,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
}
|
||||
|
||||
public void setDiscardFriction(boolean noDrag) {
|
||||
@@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
@Override
|
||||
public void addAdditionalSaveData(CompoundTag nbt) {
|
||||
|
@ -37,7 +37,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
nbt.putFloat("Health", this.getHealth());
|
||||
nbt.putShort("HurtTime", (short) this.hurtTime);
|
||||
nbt.putInt("HurtByTimestamp", this.lastHurtByMobTimestamp);
|
||||
@@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
absorptionAmount = 0;
|
||||
}
|
||||
this.setAbsorptionAmount(absorptionAmount);
|
||||
|
@ -57,7 +57,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src
|
|||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -0,0 +0,0 @@ public class ItemEntity extends Entity {
|
||||
@@ -0,0 +0,0 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
private int lastTick = MinecraftServer.currentTick - 1; // CraftBukkit
|
||||
public boolean canMobPickup = true; // Paper
|
||||
private int despawnRate = -1; // Paper
|
||||
|
@ -65,7 +65,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
|
||||
public ItemEntity(EntityType<? extends ItemEntity> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -0,0 +0,0 @@ public class ItemEntity extends Entity {
|
||||
@@ -0,0 +0,0 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
this.move(MoverType.SELF, this.getDeltaMovement());
|
||||
float f1 = 0.98F;
|
||||
|
||||
|
@ -75,10 +75,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ f1 = 1F;
|
||||
+ } else if (this.onGround) {
|
||||
+ // Paper end
|
||||
f1 = this.level.getBlockState(new BlockPos(this.getX(), this.getY() - 1.0D, this.getZ())).getBlock().getFriction() * 0.98F;
|
||||
f1 = this.level.getBlockState(BlockPos.containing(this.getX(), this.getY() - 1.0D, this.getZ())).getBlock().getFriction() * 0.98F;
|
||||
}
|
||||
|
||||
@@ -0,0 +0,0 @@ public class ItemEntity extends Entity {
|
||||
@@ -0,0 +0,0 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
|
||||
@Override
|
||||
public void addAdditionalSaveData(CompoundTag nbt) {
|
||||
|
@ -90,7 +90,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
nbt.putShort("Health", (short) this.health);
|
||||
nbt.putShort("Age", (short) this.age);
|
||||
nbt.putShort("PickupDelay", (short) this.pickupDelay);
|
||||
@@ -0,0 +0,0 @@ public class ItemEntity extends Entity {
|
||||
@@ -0,0 +0,0 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
this.thrower = nbt.getUUID("Thrower");
|
||||
}
|
||||
|
|
@ -9,7 +9,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
@@ -0,0 +0,0 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, i, 0), this, org.bukkit.event.entity.EntityPotionEffectEvent.Cause.AXOLOTL); // CraftBukkit
|
||||
player.addEffect(new MobEffectInstance(MobEffects.REGENERATION, j, 0), this, org.bukkit.event.entity.EntityPotionEffectEvent.Cause.AXOLOTL); // CraftBukkit
|
||||
}
|
||||
|
||||
- player.removeEffect(MobEffects.DIG_SLOWDOWN);
|
|
@ -22,7 +22,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src
|
|||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -0,0 +0,0 @@ public class ItemEntity extends Entity {
|
||||
@@ -0,0 +0,0 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
}
|
||||
|
||||
public void setItem(ItemStack stack) {
|
|
@ -9,7 +9,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/ma
|
|||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.level.getProfiler().pop();
|
||||
this.level.getProfiler().push("rangeChecks");
|
||||
|
||||
|
@ -57,7 +57,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
|||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
@@ -0,0 +0,0 @@ public abstract class Projectile extends Entity {
|
||||
@@ -0,0 +0,0 @@ public abstract class Projectile extends Entity implements TraceableEntity {
|
||||
}
|
||||
|
||||
protected static float lerpRotation(float prevRot, float newRot) {
|
|
@ -47,8 +47,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
this.angerNearbyBees(world, pos);
|
||||
}
|
||||
|
||||
- CriteriaTriggers.BEE_NEST_DESTROYED.trigger((ServerPlayer) player, state, stack, tileentitybeehive.getOccupantCount());
|
||||
+ // CriteriaTriggers.BEE_NEST_DESTROYED.trigger((ServerPlayer) player, state, stack, tileentitybeehive.getOccupantCount()); // Paper - moved until after items are dropped
|
||||
- CriteriaTriggers.BEE_NEST_DESTROYED.trigger((ServerPlayer) player, state, tool, tileentitybeehive.getOccupantCount());
|
||||
+ // CriteriaTriggers.BEE_NEST_DESTROYED.trigger((ServerPlayer) player, state, tool, tileentitybeehive.getOccupantCount()); // Paper - moved until after items are dropped
|
||||
}
|
||||
|
||||
}
|
|
@ -20,7 +20,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -0,0 +0,0 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
+ // Paper start - Fix MC-162253
|
|
@ -21,19 +21,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
+ }
|
||||
+ // Paper end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity {
|
||||
}
|
||||
|
||||
public void onItemPickup(ItemEntity item) {
|
||||
- net.minecraft.world.entity.player.Player entityhuman = item.getThrower() != null ? this.level.getPlayerByUUID(item.getThrower()) : null;
|
||||
+ net.minecraft.world.entity.player.Player entityhuman = item.getThrower() != null ? this.level.getGlobalPlayerByUUID(item.getThrower()) : null; // Paper - check all players
|
||||
|
||||
if (entityhuman instanceof ServerPlayer) {
|
||||
CriteriaTriggers.THROWN_ITEM_PICKED_UP_BY_ENTITY.trigger((ServerPlayer) entityhuman, item.getItem(), this);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Animal.java b/src/main/java/net/minecraft/world/entity/animal/Animal.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Animal.java
|
||||
|
@ -47,19 +34,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
|||
|
||||
return entityhuman instanceof ServerPlayer ? (ServerPlayer) entityhuman : null;
|
||||
}
|
||||
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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -0,0 +0,0 @@ public class ItemEntity extends Entity {
|
||||
Level world = this.level;
|
||||
|
||||
Objects.requireNonNull(this.level);
|
||||
- return (Entity) Util.mapNullable(uuid, world::getPlayerByUUID);
|
||||
+ return (Entity) Util.mapNullable(uuid, world::getGlobalPlayerByUUID); // Paper - check all players
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
Loading…
Add table
Reference in a new issue