-
-
Notifications
You must be signed in to change notification settings - Fork 57
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
110181c
commit 7fabd9d
Showing
1 changed file
with
63 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 | ||
From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> | ||
Date: Mon, 11 Sep 2023 15:47:19 -0400 | ||
Subject: [PATCH] Reduce canSee work | ||
|
||
Credit by: Martijn Muijsers <martijnmuijsers@live.nl>, MachineBreaker<machinebreaker> | ||
|
||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java | ||
index a3ce11801710a1f87afeab5eafcced8ca98d2b31..98db0ab64f4d3ce89462c0038d52c781cf70cfad 100644 | ||
--- a/src/main/java/net/minecraft/world/level/Level.java | ||
+++ b/src/main/java/net/minecraft/world/level/Level.java | ||
@@ -444,11 +444,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { | ||
for (int i = 0, len = entities.size(); i < len; ++i) { | ||
Entity entity = entities.get(i); | ||
|
||
- if (checkCanSee && source instanceof net.minecraft.server.level.ServerPlayer && entity instanceof net.minecraft.server.level.ServerPlayer | ||
- && !((net.minecraft.server.level.ServerPlayer) source).getBukkitEntity().canSee(((net.minecraft.server.level.ServerPlayer) entity).getBukkitEntity())) { | ||
- continue; | ||
- } | ||
- | ||
+ // Leaf - move up | ||
// !entity1.dead && entity1.i && (entity == null || !entity1.x(entity)); | ||
// elide the last check since vanilla calls with entity = null | ||
// only we care about the source for the canSee check | ||
@@ -456,6 +452,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable { | ||
continue; | ||
} | ||
|
||
+ if (checkCanSee && source instanceof net.minecraft.server.level.ServerPlayer && entity instanceof net.minecraft.server.level.ServerPlayer | ||
+ && !((net.minecraft.server.level.ServerPlayer) source).getBukkitEntity().canSee(((net.minecraft.server.level.ServerPlayer) entity).getBukkitEntity())) { | ||
+ continue; | ||
+ } | ||
+ | ||
if (net.minecraft.world.phys.shapes.Shapes.joinIsNotEmpty(voxelshape, net.minecraft.world.phys.shapes.Shapes.create(entity.getBoundingBox()), net.minecraft.world.phys.shapes.BooleanOp.AND)) { | ||
return false; | ||
} | ||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java | ||
index 70459d17c359d4cb90f9ca1d40492acf657d733f..8ee373cacbc1f9c7cb4f8300dcdbeeae4195fdae 100644 | ||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java | ||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java | ||
@@ -578,12 +578,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { | ||
this.getHandle().connection.send(packet); | ||
} | ||
|
||
+ // Leaf - TODO | ||
@Override | ||
public boolean equals(Object obj) { | ||
if (!(obj instanceof OfflinePlayer)) { | ||
return false; | ||
} | ||
OfflinePlayer other = (OfflinePlayer) obj; | ||
+ if (this == obj) return true; // Leaf | ||
if ((this.getUniqueId() == null) || (other.getUniqueId() == null)) { | ||
return false; | ||
} | ||
@@ -2100,6 +2102,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { | ||
return this.canSee((org.bukkit.entity.Entity) player); | ||
} | ||
|
||
+ // Leaf - TODO | ||
@Override | ||
public boolean canSee(org.bukkit.entity.Entity entity) { | ||
return this.equals(entity) || entity.isVisibleByDefault() ^ this.invertedVisibilityEntities.containsKey(entity.getUniqueId()); // SPIGOT-7312: Can always see self |