mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-22 16:39:22 +00:00
49 lines
2.8 KiB
Diff
49 lines
2.8 KiB
Diff
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 36a420f8cf463dcabe5717df1af59472db3142fc..3c5d8275782df8d9b3fb6e8047bfde02e26ca93f 100644
|
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
|
@@ -383,17 +383,19 @@ 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
|
|
if (entity.isRemoved() || !entity.blocksBuilding) {
|
|
continue;
|
|
}
|
|
+ // Leaf end
|
|
+
|
|
+ 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 8875cf92722a1a25c02cd887ff5d000a84e6722d..2b4279efe6698e786f9db8066f73b7934c8660d4 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
@@ -549,6 +549,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
return false;
|
|
}
|
|
OfflinePlayer other = (OfflinePlayer) obj;
|
|
+ if (this == obj) return true; // Leaf - reduce canSee work
|
|
if ((this.getUniqueId() == null) || (other.getUniqueId() == null)) {
|
|
return false;
|
|
}
|