mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-23 17:09:29 +00:00
Updated Upstream (Hearse)
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: wangxyper <wangxyper@163.com>
|
||||
Date: Wed, 11 Jan 2023 20:24:40 +0800
|
||||
Subject: [PATCH] Hearse: Fix some concurrent problems in LivingEntity
|
||||
|
||||
Original license: MIT
|
||||
Original project: https://github.com/NaturalCodeClub/HearseRewrite
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 93c32dd39693b37efaa05af0486e1bdd298661f3..cdb33a430d0d1671899ab8bb0911193a5688af23 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -17,6 +17,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
+import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import java.util.function.Predicate;
|
||||
import javax.annotation.Nullable;
|
||||
import net.minecraft.BlockUtil;
|
||||
@@ -181,7 +182,7 @@ public abstract class LivingEntity extends Entity {
|
||||
public static final float EXTRA_RENDER_CULLING_SIZE_WITH_BIG_HAT = 0.5F;
|
||||
private final AttributeMap attributes;
|
||||
public CombatTracker combatTracker = new CombatTracker(this);
|
||||
- public final Map<MobEffect, MobEffectInstance> activeEffects = Maps.newHashMap();
|
||||
+ public final Map<MobEffect, MobEffectInstance> activeEffects = Maps.newConcurrentMap();
|
||||
private final NonNullList<ItemStack> lastHandItemStacks;
|
||||
private final NonNullList<ItemStack> lastArmorItemStacks;
|
||||
public boolean swinging;
|
||||
@@ -257,7 +258,7 @@ public abstract class LivingEntity extends Entity {
|
||||
// CraftBukkit start
|
||||
public int expToDrop;
|
||||
public boolean forceDrops;
|
||||
- public ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
|
||||
+ public List<org.bukkit.inventory.ItemStack> drops = new CopyOnWriteArrayList<>();
|
||||
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
|
||||
public boolean collides = true;
|
||||
public Set<UUID> collidableExemptions = new HashSet<>();
|
||||
@@ -875,7 +876,7 @@ public abstract class LivingEntity extends Entity {
|
||||
|
||||
// CraftBukkit start
|
||||
private boolean isTickingEffects = false;
|
||||
- private List<ProcessableEffect> effectsToProcess = Lists.newArrayList();
|
||||
+ private List<ProcessableEffect> effectsToProcess = Lists.newCopyOnWriteArrayList();
|
||||
|
||||
private static class ProcessableEffect {
|
||||
|
||||
@@ -1779,7 +1780,7 @@ public abstract class LivingEntity extends Entity {
|
||||
}
|
||||
}); // Paper end
|
||||
this.postDeathDropItems(deathEvent); // Paper
|
||||
- this.drops = new ArrayList<>();
|
||||
+ this.drops = new CopyOnWriteArrayList<>();
|
||||
// CraftBukkit end
|
||||
|
||||
// this.dropInventory();// CraftBukkit - moved up
|
||||
Reference in New Issue
Block a user