mirror of
https://github.com/PaperMC/Folia.git
synced 2024-12-22 16:47:51 +01:00
Properly merge/split tracker entities
Fixes https://github.com/PaperMC/Folia/issues/256 https://github.com/PaperMC/Folia/issues/255
This commit is contained in:
parent
61dcc07256
commit
dafae4f54a
@ -2832,10 +2832,10 @@ index 0000000000000000000000000000000000000000..a1e1782d87403ca8934d37361be7ba66
|
|||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/io/papermc/paper/threadedregions/RegionizedWorldData.java b/src/main/java/io/papermc/paper/threadedregions/RegionizedWorldData.java
|
diff --git a/src/main/java/io/papermc/paper/threadedregions/RegionizedWorldData.java b/src/main/java/io/papermc/paper/threadedregions/RegionizedWorldData.java
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..6277d69efb9945fcfe7a5e1ad6597e92527f9112
|
index 0000000000000000000000000000000000000000..5dc4c8a5b896f519be5414d4a53a71144c225324
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/src/main/java/io/papermc/paper/threadedregions/RegionizedWorldData.java
|
+++ b/src/main/java/io/papermc/paper/threadedregions/RegionizedWorldData.java
|
||||||
@@ -0,0 +1,760 @@
|
@@ -0,0 +1,772 @@
|
||||||
+package io.papermc.paper.threadedregions;
|
+package io.papermc.paper.threadedregions;
|
||||||
+
|
+
|
||||||
+import ca.spottedleaf.moonrise.common.list.IteratorSafeOrderedReferenceSet;
|
+import ca.spottedleaf.moonrise.common.list.IteratorSafeOrderedReferenceSet;
|
||||||
@ -2934,6 +2934,12 @@ index 0000000000000000000000000000000000000000..6277d69efb9945fcfe7a5e1ad6597e92
|
|||||||
+ for (final Iterator<Mob> iterator = from.navigatingMobs.unsafeIterator(); iterator.hasNext();) {
|
+ for (final Iterator<Mob> iterator = from.navigatingMobs.unsafeIterator(); iterator.hasNext();) {
|
||||||
+ into.navigatingMobs.add(iterator.next());
|
+ into.navigatingMobs.add(iterator.next());
|
||||||
+ }
|
+ }
|
||||||
|
+ for (final Iterator<Entity> iterator = from.trackerEntities.iterator(); iterator.hasNext();) {
|
||||||
|
+ into.trackerEntities.add(iterator.next());
|
||||||
|
+ }
|
||||||
|
+ for (final Iterator<Entity> iterator = from.trackerUnloadedEntities.iterator(); iterator.hasNext();) {
|
||||||
|
+ into.trackerUnloadedEntities.add(iterator.next());
|
||||||
|
+ }
|
||||||
+ // block ticking
|
+ // block ticking
|
||||||
+ into.blockEvents.addAll(from.blockEvents);
|
+ into.blockEvents.addAll(from.blockEvents);
|
||||||
+ // ticklists use game time
|
+ // ticklists use game time
|
||||||
@ -3032,6 +3038,12 @@ index 0000000000000000000000000000000000000000..6277d69efb9945fcfe7a5e1ad6597e92
|
|||||||
+ if (entity instanceof Mob mob && from.navigatingMobs.contains(mob)) {
|
+ if (entity instanceof Mob mob && from.navigatingMobs.contains(mob)) {
|
||||||
+ into.navigatingMobs.add(mob);
|
+ into.navigatingMobs.add(mob);
|
||||||
+ }
|
+ }
|
||||||
|
+ if (from.trackerEntities.contains(entity)) {
|
||||||
|
+ into.trackerEntities.add(entity);
|
||||||
|
+ }
|
||||||
|
+ if (from.trackerUnloadedEntities.contains(entity)) {
|
||||||
|
+ into.trackerUnloadedEntities.add(entity);
|
||||||
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ // block ticking
|
+ // block ticking
|
||||||
+ for (final BlockEventData blockEventData : from.blockEvents) {
|
+ for (final BlockEventData blockEventData : from.blockEvents) {
|
||||||
|
Loading…
Reference in New Issue
Block a user