Make REQUIRES_SYNC volatile
This commit is contained in:
parent
f3b7ba0e52
commit
6d6cc40efa
|
@ -115,7 +115,7 @@ public class PlayerlistTracker extends ChunkMap.TrackedEntity {
|
|||
|
||||
private static final MethodHandle E = NMS.getGetter(ServerEntity.class, "e");
|
||||
private static final MethodHandle F = NMS.getGetter(ServerEntity.class, "f");
|
||||
private static boolean REQUIRES_SYNC;
|
||||
private static volatile boolean REQUIRES_SYNC;
|
||||
private static final MethodHandle TRACKER = NMS.getFirstGetter(TrackedEntity.class, Entity.class);
|
||||
private static final MethodHandle TRACKER_ENTRY = NMS.getFirstGetter(TrackedEntity.class, ServerEntity.class);
|
||||
private static final MethodHandle TRACKING_RANGE = NMS.getFirstGetter(TrackedEntity.class, int.class);
|
||||
|
|
|
@ -115,7 +115,7 @@ public class PlayerlistTracker extends ChunkMap.TrackedEntity {
|
|||
|
||||
private static final MethodHandle E = NMS.getGetter(ServerEntity.class, "e");
|
||||
private static final MethodHandle F = NMS.getGetter(ServerEntity.class, "f");
|
||||
private static boolean REQUIRES_SYNC;
|
||||
private static volatile boolean REQUIRES_SYNC;
|
||||
private static final MethodHandle TRACKER = NMS.getFirstGetter(TrackedEntity.class, Entity.class);
|
||||
private static final MethodHandle TRACKER_ENTRY = NMS.getFirstGetter(TrackedEntity.class, ServerEntity.class);
|
||||
private static final MethodHandle TRACKING_RANGE = NMS.getFirstGetter(TrackedEntity.class, int.class);
|
||||
|
|
|
@ -138,7 +138,7 @@ public class CitizensEntityTracker extends ChunkMap.TrackedEntity {
|
|||
|
||||
private static final MethodHandle E = NMS.getGetter(ServerEntity.class, "e");
|
||||
private static final MethodHandle F = NMS.getGetter(ServerEntity.class, "f");
|
||||
private static boolean REQUIRES_SYNC = false;
|
||||
private static volatile boolean REQUIRES_SYNC = false;
|
||||
private static final MethodHandle TRACKER = NMS.getFirstGetter(TrackedEntity.class, Entity.class);
|
||||
private static final MethodHandle TRACKER_ENTRY = NMS.getFirstGetter(TrackedEntity.class, ServerEntity.class);
|
||||
private static final MethodHandle TRACKING_RANGE = NMS.getFirstGetter(TrackedEntity.class, int.class);
|
||||
|
|
|
@ -6,7 +6,6 @@ import java.net.Socket;
|
|||
import java.util.List;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.craftbukkit.v1_20_R1.CraftServer;
|
||||
import org.bukkit.craftbukkit.v1_20_R1.entity.CraftPlayer;
|
||||
import org.bukkit.entity.Player;
|
||||
|
@ -122,7 +121,7 @@ public class EntityHumanNPC extends ServerPlayer implements NPCHolder, Skinnable
|
|||
boolean navigating = npc.getNavigator().isNavigating() || ai.getMoveControl().hasWanted();
|
||||
if (!navigating && getBukkitEntity() != null
|
||||
&& (!npc.hasTrait(Gravity.class) || npc.getOrAddTrait(Gravity.class).hasGravity())
|
||||
&& Util.isLoaded(getBukkitEntity().getLocation(LOADED_LOCATION))
|
||||
&& Util.isLoaded(getBukkitEntity().getLocation())
|
||||
&& SpigotUtil.checkYSafe(getY(), getBukkitEntity().getWorld())) {
|
||||
moveWithFallDamage(Vec3.ZERO);
|
||||
}
|
||||
|
@ -480,5 +479,4 @@ public class EntityHumanNPC extends ServerPlayer implements NPCHolder, Skinnable
|
|||
private static final float EPSILON = 0.003F;
|
||||
private static final MethodHandle GAMEMODE_SETTING = NMS.getFirstMethodHandle(ServerPlayerGameMode.class, true,
|
||||
GameType.class, GameType.class);
|
||||
private static final Location LOADED_LOCATION = new Location(null, 0, 0, 0);
|
||||
}
|
||||
|
|
|
@ -85,7 +85,7 @@ public class CitizensEntityTracker extends ChunkMap.TrackedEntity {
|
|||
REQUIRES_SYNC = !Bukkit.isPrimaryThread();
|
||||
}
|
||||
NPCSeenByPlayerEvent event = new NPCSeenByPlayerEvent(npc, entityplayer.getBukkitEntity());
|
||||
Util.callEventPossiblySync(event, REQUIRES_SYNC);
|
||||
REQUIRES_SYNC = Util.callEventPossiblySync(event, REQUIRES_SYNC);
|
||||
if (event.isCancelled())
|
||||
return;
|
||||
Integer trackingRange = npc.data().<Integer> get(NPC.Metadata.TRACKING_RANGE);
|
||||
|
@ -141,7 +141,7 @@ public class CitizensEntityTracker extends ChunkMap.TrackedEntity {
|
|||
|
||||
private static final MethodHandle E = NMS.getGetter(ServerEntity.class, "e");
|
||||
private static final MethodHandle F = NMS.getGetter(ServerEntity.class, "f");
|
||||
private static Boolean REQUIRES_SYNC;
|
||||
private static volatile Boolean REQUIRES_SYNC;
|
||||
private static final MethodHandle TRACKER = NMS.getFirstGetter(TrackedEntity.class, Entity.class);
|
||||
private static final MethodHandle TRACKER_ENTRY = NMS.getFirstGetter(TrackedEntity.class, ServerEntity.class);
|
||||
private static final MethodHandle TRACKING_RANGE = NMS.getFirstGetter(TrackedEntity.class, int.class);
|
||||
|
|
Loading…
Reference in New Issue