From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Samsuik <40902469+Samsuik@users.noreply.github.com> Date: Thu, 3 Aug 2023 13:48:27 +0100 Subject: [PATCH] Add utility methods to EntitySlices diff --git a/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java b/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java index 1d6b96fd6dae9524c31e71a778351e8b2d325b7f..ce231d8b230d4983b21c597357c0b22377e4bcca 100644 --- a/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java +++ b/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java @@ -246,6 +246,12 @@ public final class ChunkEntitySlices { return true; } + + // Sakura start + public Entity[] getSectionEntities(int sectionY) { + return this.allEntities.getSectionEntities(sectionY); + } + // Sakura end public void getHardCollidingEntities(final Entity except, final AABB box, final List into, final Predicate predicate) { this.hardCollidingEntities.getEntities(except, box, into, predicate); @@ -424,6 +430,18 @@ public final class ChunkEntitySlices { this.nonEmptyBitset[sectionIndex >>> 6] ^= (1L << (sectionIndex & (Long.SIZE - 1))); } } + + // Sakura start + public Entity[] getSectionEntities(int sectionY) { + var list = entitiesBySection[sectionY - this.manager.minSection]; + + if (list != null) { + return list.storage; + } + + return new Entity[0]; + } + // Sakura end public void getEntities(final Entity except, final AABB box, final List into, final Predicate predicate) { if (this.count == 0) {