mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2026-01-06 15:51:31 +00:00
Skip-MapItem-update-if-the-map-does-not-have-the-Cra
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: lilingfengdev <145678359+lilingfengdev@users.noreply.github.com>
|
||||
Date: Wed, 17 Jan 2024 19:57:53 +0800
|
||||
Subject: [PATCH]
|
||||
SparklyPaper-Skip-MapItem-update-if-the-map-does-not-have-the-Cra
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/MapItem.java b/src/main/java/net/minecraft/world/item/MapItem.java
|
||||
index 6cfd169c2c32b644d70907358c2d4a2087c00a68..62aa1717eee90032c2ddf848424e903cc952a913 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/MapItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/MapItem.java
|
||||
@@ -32,6 +32,9 @@ import net.minecraft.world.level.levelgen.Heightmap;
|
||||
import net.minecraft.world.level.material.FluidState;
|
||||
import net.minecraft.world.level.material.MapColor;
|
||||
import net.minecraft.world.level.saveddata.maps.MapItemSavedData;
|
||||
+// Leaf Start
|
||||
+import org.dreeam.leaf.LeafConfig;
|
||||
+// Leaf end
|
||||
|
||||
public class MapItem extends ComplexItem {
|
||||
|
||||
@@ -314,6 +317,7 @@ public class MapItem extends ComplexItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
+
|
||||
public void inventoryTick(ItemStack stack, Level world, Entity entity, int slot, boolean selected) {
|
||||
if (!world.isClientSide) {
|
||||
MapItemSavedData worldmap = MapItem.getSavedData(stack, world);
|
||||
@@ -325,7 +329,7 @@ public class MapItem extends ComplexItem {
|
||||
worldmap.tickCarriedBy(entityhuman, stack);
|
||||
}
|
||||
|
||||
- if (!worldmap.locked && (selected || entity instanceof Player && ((Player) entity).getOffhandItem() == stack)) {
|
||||
+ if (!worldmap.locked && (!LeafConfig.skipMapItemDataUpdatesIfMapDoesNotHaveCraftMapRenderer || worldmap.mapView.getRenderers().stream().anyMatch(mapRenderer -> mapRenderer.getClass() == org.bukkit.craftbukkit.map.CraftMapRenderer.class)) && (selected || entity instanceof Player && ((Player) entity).getOffhandItem() == stack)) { // SparklyPaper - don't update maps if they don't have the CraftMapRenderer in the render list
|
||||
this.update(world, entity, worldmap);
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/dreeam/leaf/LeafConfig.java b/src/main/java/org/dreeam/leaf/LeafConfig.java
|
||||
index 728082120af5a7afe20078b3fa6d80605f5ff6c7..db12eb7e81307cc3fd4fe0602697e32e71289f7e 100644
|
||||
--- a/src/main/java/org/dreeam/leaf/LeafConfig.java
|
||||
+++ b/src/main/java/org/dreeam/leaf/LeafConfig.java
|
||||
@@ -321,4 +321,8 @@ public class LeafConfig {
|
||||
private static void getVanillaTeleport() {
|
||||
vanillaEndTeleport = getBoolean("vanillaEndTeleport",vanillaEndTeleport,"Vanilla End Gateway Teleport");
|
||||
}
|
||||
+ public static boolean skipMapItemDataUpdatesIfMapDoesNotHaveCraftMapRenderer=true;
|
||||
+ private static void getSkipMapItemDataUpdatesIfMapDoesNotHaveCraftMapRenderer() {
|
||||
+ skipMapItemDataUpdatesIfMapDoesNotHaveCraftMapRenderer = getBoolean("skipMapItemDataUpdatesIfMapDoesNotHaveCraftMapRenderer",skipMapItemDataUpdatesIfMapDoesNotHaveCraftMapRenderer);
|
||||
+ }
|
||||
}
|
||||
Reference in New Issue
Block a user