mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-02 13:07:06 +01:00
4cdbb0c86c
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: 044d4ee9 SPIGOT-7283, SPIGOT-7318: Add AsyncStructureGenerateEvent and BlockState cloning 57b73d57 PR-913: Deprecate Projectile#doesBounce() and #setBounce() 43373c44 PR-904: Update FeatureFlag for 1.20.2 a7bbbf0c PR-911: Expand DataPack API with 1.20.2 pack version methods 0341e3a0 SPIGOT-7489: Add TeleportDuration to Display Entity bcd8d2aa PR-912: Update Minecraft Wiki URLs CraftBukkit Changes: 99aafc222 Increase outdated build delay dab849f08 SPIGOT-7283, SPIGOT-7318: Add AsyncStructureGenerateEvent and BlockState cloning 041b29ae3 Upgrade specialsource-maven-plugin 851a32cff PR-1263: Remove unused implementation of AbstractProjectile#doesBounce() and #setBounce() 251af0da3 PR-1261: Expand DataPack API with 1.20.2 pack version methods 46e4ba627 Upgrade specialsource-maven-plugin df3738a24 SPIGOT-7489: Add TeleportDuration to Display Entity 8d0fea457 PR-1262: Update Minecraft Wiki URLs e62905aab SPIGOT-7490: Fix entity equipment updates Spigot Changes: a0f3d486 Rebuild patches
39 lines
2.3 KiB
Diff
39 lines
2.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Warrior <50800980+Warriorrrr@users.noreply.github.com>
|
|
Date: Mon, 7 Aug 2023 12:58:28 +0200
|
|
Subject: [PATCH] Cache map ids on item frames
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
|
index 625a598eb5f3c9c5ea60ae9ea50974bb08abbf85..9f1b424f8437f0f859d4f177ecc52233ad8e3357 100644
|
|
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
|
|
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
|
@@ -118,7 +118,7 @@ public class ServerEntity {
|
|
ItemStack itemstack = entityitemframe.getItem();
|
|
|
|
if (this.level.paperConfig().maps.itemFrameCursorUpdateInterval > 0 && this.tickCount % this.level.paperConfig().maps.itemFrameCursorUpdateInterval == 0 && itemstack.getItem() instanceof MapItem) { // CraftBukkit - Moved this.tickCounter % 10 logic here so item frames do not enter the other blocks // Paper - Make item frame map cursor update interval configurable
|
|
- Integer integer = MapItem.getMapId(itemstack);
|
|
+ Integer integer = entityitemframe.cachedMapId; // Paper
|
|
MapItemSavedData worldmap = MapItem.getSavedData(integer, this.level);
|
|
|
|
if (worldmap != null) {
|
|
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
|
|
index dcf245387f59ce730cb2cfb5fc0e837a20d3dfe5..759ecd79534a7706f7d4a63eb9dacbefcfe54674 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
|
|
@@ -50,6 +50,7 @@ public class ItemFrame extends HangingEntity {
|
|
public static final int NUM_ROTATIONS = 8;
|
|
public float dropChance;
|
|
public boolean fixed;
|
|
+ public Integer cachedMapId; // Paper
|
|
|
|
public ItemFrame(EntityType<? extends ItemFrame> type, Level world) {
|
|
super(type, world);
|
|
@@ -393,6 +394,7 @@ public class ItemFrame extends HangingEntity {
|
|
}
|
|
|
|
private void onItemChanged(ItemStack stack) {
|
|
+ this.cachedMapId = MapItem.getMapId(stack); // Paper
|
|
if (!stack.isEmpty() && stack.getFrame() != this) {
|
|
stack.setEntityRepresentation(this);
|
|
}
|