Entity stuff, see #1905 (#1967)

* Squash the review stuff

Co-authored-by: Henry <obw@generalprogramming.org>
Co-authored-by: Thalia Nero <chrisvn00@gmail.com>

commit b9e91de684
Author: Henry <obw@generalprogramming.org>
Date:   Fri Jan 1 18:06:37 2021 +0000

    Apply some cleanup from code review

    Also removes some bits not present in 20w51a

    Co-authored-by: YanisBft <doublecraft.official@gmail.com>

commit e9f0cea6e7
Author: Henry Le Grys <henry@legrys.info>
Date:   Wed Dec 9 19:40:28 2020 +0000

    Add javadocs for MessageListener

commit a6fe16a9cd
Author: Henry Le Grys <henry@legrys.info>
Date:   Wed Dec 9 18:31:29 2020 +0000

    Apply some suggestions to clean up

    - Restored missing Entity methods
    - Fixed comment reference
    - Unmapped generic `flagSet`-named methods

commit cbacd58a0a
Author: Henry Le Grys <henry@legrys.info>
Date:   Thu Dec 3 18:56:45 2020 +0000

    Apply some suggestions & map extra names

commit 411b92b91f
Merge: c5287fed0 c0a046c66
Author: Henry Le Grys <henry@legrys.info>
Date:   Thu Dec 3 17:55:40 2020 +0000

    Merge 20w49a into world-entity

commit c5287fed06
Author: Thalia Nero <chrisvn00@gmail.com>
Date:   Wed Nov 11 23:18:02 2020 -0500

    listener -> handler

commit 490818513e
Merge: d74d922b0 3465a1132
Author: Thalia Nero <chrisvn00@gmail.com>
Date:   Sun Nov 8 14:53:43 2020 -0500

    Merge branch '20w45a' into world-entity

commit d74d922b0b
Author: Thalia Nero <chrisvn00@gmail.com>
Date:   Sat Nov 7 15:28:32 2020 -0500

    Update mappings from review.

commit fbb44ecbb9
Author: Thalia Nero <chrisvn00@gmail.com>
Date:   Sat Nov 7 01:51:17 2020 -0500

    Some docs and mapping of methods called by the entity stuff.

commit 095711c00a
Author: Thalia Nero <chrisvn00@gmail.com>
Date:   Sat Nov 7 01:28:23 2020 -0500

    Some parameters and mappings.

commit caea9fed00
Author: Thalia Nero <chrisvn00@gmail.com>
Date:   Sat Nov 7 01:14:33 2020 -0500

    Filter -> TypeFilter

commit 9d82f4bcc4
Author: Thalia Nero <chrisvn00@gmail.com>
Date:   Fri Nov 6 20:19:18 2020 -0500

    Map ChunkStatusChangeListener.

commit 4699e0991e
Author: Thalia Nero <chrisvn00@gmail.com>
Date:   Fri Nov 6 20:11:11 2020 -0500

    Map more entity loading stuff.

commit 8a30358ef2
Merge: 6d0aa8cff ee05e2b40
Author: Thalia Nero <chrisvn00@gmail.com>
Date:   Fri Nov 6 18:10:03 2020 -0500

    Merge branch '20w45a' of github.com:FabricMC/yarn into world-entity

commit 6d0aa8cff7
Author: Thalia Nero <chrisvn00@gmail.com>
Date:   Fri Nov 6 03:43:11 2020 -0500

    Map a lot of entity world interaction shenanigans. Feeling tired might remap later.

* Extra classes

* tweaks

* Revert some refactors

* meh, enigma bad

* move entitylike to world as it's more s/l related than actual entity

* Eliminate the "group"

Signed-off-by: liach <liach@users.noreply.github.com>

* Bunch renames, should make sense now

Signed-off-by: liach <liach@users.noreply.github.com>

* Fix javadoc types

Co-authored-by: YanisBft <doublecraft.official@gmail.com>

* Human-friendly name for synthetic fields in case they appear

* rename

Co-authored-by: liach <liach@users.noreply.github.com>
Co-authored-by: YanisBft <doublecraft.official@gmail.com>
This commit is contained in:
liach 2021-02-10 13:35:29 -06:00 committed by GitHub
parent 16b9ec5cf2
commit 47bdb3b9e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 531 additions and 99 deletions

View File

@ -1,8 +0,0 @@
CLASS net/minecraft/class_5565
METHOD method_31732 getDataVersion (Lnet/minecraft/class_2487;)I
ARG 0 tag
METHOD method_31733 putChunkPos (Lnet/minecraft/class_2487;Lnet/minecraft/class_1923;)V
ARG 0 tag
ARG 1 chunkPos
METHOD method_31736 getChunkPos (Lnet/minecraft/class_2487;)Lnet/minecraft/class_1923;
ARG 0 tag

View File

@ -1,4 +0,0 @@
CLASS net/minecraft/class_5569
METHOD method_31749 updateEntityPosition ()V
METHOD method_31750 remove (Lnet/minecraft/class_1297$class_5529;)V
ARG 1 reason

View File

@ -1,13 +0,0 @@
CLASS net/minecraft/class_5570
FIELD field_27244 LOGGER Lorg/apache/logging/log4j/Logger;
FIELD field_27245 entitiesById Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
FIELD field_27246 entitiesByUuid Ljava/util/Map;
METHOD method_31752 getEntity (I)Lnet/minecraft/class_5568;
ARG 1 id
METHOD method_31753 addEntity (Lnet/minecraft/class_5568;)V
ARG 1 entity
METHOD method_31755 getEntity (Ljava/util/UUID;)Lnet/minecraft/class_5568;
ARG 1 uuid
METHOD method_31756 getEntityCount ()I
METHOD method_31757 removeEntity (Lnet/minecraft/class_5568;)V
ARG 1 entity

View File

@ -1,6 +0,0 @@
CLASS net/minecraft/class_5577
METHOD method_31803 iterate ()Ljava/lang/Iterable;
METHOD method_31804 getById (I)Lnet/minecraft/class_5568;
ARG 1 id
METHOD method_31808 getByUuid (Ljava/util/UUID;)Lnet/minecraft/class_5568;
ARG 1 uuid

View File

@ -1,11 +0,0 @@
CLASS net/minecraft/class_5582
METHOD method_31869 (Lnet/minecraft/class_1923;)V
ARG 1 chunkPos
METHOD method_31870 addEntity (Lnet/minecraft/class_5568;)V
METHOD method_31874 getRegularEntityCount ()I
METHOD method_31875 (Lnet/minecraft/class_1923;)V
ARG 1 chunkPos
CLASS class_5583
FIELD field_27286 entity Lnet/minecraft/class_5568;
METHOD <init> (Lnet/minecraft/class_5582;Lnet/minecraft/class_5568;JLnet/minecraft/class_5572;)V
ARG 2 entity

View File

@ -1,8 +0,0 @@
CLASS net/minecraft/class_5584
FIELD field_27292 tracked Z
FIELD field_27293 tick Z
METHOD <init> (Ljava/lang/String;IZZ)V
ARG 3 tracked
ARG 4 tick
METHOD method_31883 shouldTick ()Z
METHOD method_31885 shouldTrack ()Z

View File

@ -0,0 +1,37 @@
CLASS net/minecraft/class_5582 net/minecraft/client/world/ClientEntityManager
FIELD field_27279 LOGGER Lorg/apache/logging/log4j/Logger;
FIELD field_27280 handler Lnet/minecraft/class_5576;
FIELD field_27281 index Lnet/minecraft/class_5570;
FIELD field_27282 cache Lnet/minecraft/class_5573;
FIELD field_27283 tickingChunkSections Lit/unimi/dsi/fastutil/longs/LongSet;
FIELD field_27284 lookup Lnet/minecraft/class_5577;
METHOD <init> (Ljava/lang/Class;Lnet/minecraft/class_5576;)V
ARG 1 entityClass
ARG 2 handler
METHOD method_31866 getLookup ()Lnet/minecraft/class_5577;
METHOD method_31867 (J)Lnet/minecraft/class_5584;
ARG 1 pos
METHOD method_31868 removeIfEmpty (JLnet/minecraft/class_5572;)V
ARG 1 packedChunkSection
ARG 3 entities
METHOD method_31869 startTicking (Lnet/minecraft/class_1923;)V
ARG 1 pos
METHOD method_31870 addEntity (Lnet/minecraft/class_5568;)V
ARG 1 entity
METHOD method_31871 (Lnet/minecraft/class_5572;)V
ARG 1 sections
METHOD method_31874 getEntityCount ()I
METHOD method_31875 stopTicking (Lnet/minecraft/class_1923;)V
ARG 1 pos
METHOD method_31877 (Lnet/minecraft/class_5572;)V
ARG 1 sections
METHOD method_31879 getDebugString ()Ljava/lang/String;
CLASS class_5583 Listener
FIELD field_27285 manager Lnet/minecraft/class_5582;
FIELD field_27286 entity Lnet/minecraft/class_5568;
FIELD field_27287 lastSectionPos J
FIELD field_27288 section Lnet/minecraft/class_5572;
METHOD <init> (Lnet/minecraft/class_5582;Lnet/minecraft/class_5568;JLnet/minecraft/class_5572;)V
ARG 2 entity
ARG 3 lastSectionPos
ARG 5 section

View File

@ -142,4 +142,4 @@ CLASS net/minecraft/class_638 net/minecraft/client/world/ClientWorld
ARG 1 difficultyLocked
METHOD method_28105 getSkyDarknessHeight ()D
METHOD method_28106 getHorizonShadingRatio ()D
CLASS class_5612 EntityLoader
CLASS class_5612 ClientEntityHandler

View File

@ -11,7 +11,8 @@ CLASS net/minecraft/class_2300 net/minecraft/command/EntitySelector
FIELD field_10829 localWorldOnly Z
FIELD field_10830 includesNonPlayers Z
FIELD field_10831 playerName Ljava/lang/String;
FIELD field_10832 type Lnet/minecraft/class_5575;
FIELD field_10832 entityFilter Lnet/minecraft/class_5575;
FIELD field_27774 PASSTHROUGH_FILTER Lnet/minecraft/class_5575;
METHOD <init> (IZZLjava/util/function/Predicate;Lnet/minecraft/class_2096$class_2099;Ljava/util/function/Function;Lnet/minecraft/class_238;Ljava/util/function/BiConsumer;ZLjava/lang/String;Ljava/util/UUID;Lnet/minecraft/class_1299;Z)V
ARG 1 count
ARG 2 includesNonPlayers

View File

@ -11,6 +11,7 @@ CLASS net/minecraft/class_1297 net/minecraft/entity/Entity
FIELD field_25750 trackedPosition Lnet/minecraft/class_243;
FIELD field_26994 prevAge I
FIELD field_26995 removalReason Lnet/minecraft/class_1297$class_5529;
FIELD field_26996 entityChangeListener Lnet/minecraft/class_5569;
FIELD field_27857 inPowderSnow Z
FIELD field_27858 FROZEN_TICKS Lnet/minecraft/class_2940;
FIELD field_28628 wasInPowderSnow Z
@ -208,7 +209,17 @@ CLASS net/minecraft/class_1297 net/minecraft/entity/Entity
ARG 1 x
ARG 3 y
ARG 5 z
METHOD method_24204 streamPassengersRecursively ()Ljava/util/stream/Stream;
METHOD method_24204 streamSelfAndPassengers ()Ljava/util/stream/Stream;
COMMENT Returns a stream consisting of this entity and its passengers recursively.
COMMENT Each entity will appear before any of its passengers.
COMMENT
COMMENT <p>This may be less costly than {@link #streamPassengersAndSelf()} if the
COMMENT stream's iteration would terminates fast, such as finding an arbitrary
COMMENT match of entity in the passengers tree.
COMMENT
COMMENT @implNote The default implementation is not very efficient.
COMMENT
COMMENT @see #streamPassengersAndSelf()
METHOD method_24516 isInRange (Lnet/minecraft/class_1297;D)Z
ARG 1 other
ARG 2 radius
@ -266,7 +277,18 @@ CLASS net/minecraft/class_1297 net/minecraft/entity/Entity
METHOD method_31481 isRemoved ()Z
METHOD method_31482 unsetRemoved ()V
METHOD method_31483 getFirstPassenger ()Lnet/minecraft/class_1297;
METHOD method_31484 getPassengersStream ()Ljava/util/stream/Stream;
METHOD method_31484 streamIntoPassengers ()Ljava/util/stream/Stream;
METHOD method_31748 streamPassengersAndSelf ()Ljava/util/stream/Stream;
COMMENT Returns a stream consisting of this entity and its passengers recursively
COMMENT in which any entity appears only after all its passengers have appeared.
COMMENT
COMMENT <p>This is useful for actions that must be applied on passengers before
COMMENT applying on an entity, such as writing each entity to NBT data.
COMMENT
COMMENT @implNote The default implementation is very costly. I bet Mojangsta
COMMENT haven't used Java's FileTreeVisitor or any objectweb asm visitors!
COMMENT
COMMENT @see net.minecraft.entity.Entity#streamSelfAndPassengers()
METHOD method_32312 getFrozenTicks ()I
METHOD method_32313 getFreezingScale ()F
METHOD method_32314 isFreezing ()Z

View File

@ -1,10 +0,0 @@
CLASS net/minecraft/class_5568 net/minecraft/entity/EntityLike
METHOD method_24515 getBlockPos ()Lnet/minecraft/class_2338;
METHOD method_31745 setRemoved (Lnet/minecraft/class_1297$class_5529;)V
ARG 1 reason
METHOD method_31746 shouldSave ()Z
METHOD method_31747 isPlayer ()Z
METHOD method_31748 streamPassengers ()Ljava/util/stream/Stream;
METHOD method_5628 getId ()I
METHOD method_5667 getUuid ()Ljava/util/UUID;
METHOD method_5829 getBoundingBox ()Lnet/minecraft/class_238;

View File

@ -59,6 +59,9 @@ CLASS net/minecraft/class_1299 net/minecraft/entity/EntityType
COMMENT
COMMENT <p>This can be overwritten via {@link EntityType.Builder#allowSpawningInside(Block[])}
ARG 1 state
METHOD method_31489 streamFromNbt (Ljava/util/List;Lnet/minecraft/class_1937;)Ljava/util/stream/Stream;
ARG 0 entityNbtList
ARG 1 world
METHOD method_5881 loadFromEntityTag (Lnet/minecraft/class_1937;Lnet/minecraft/class_1657;Lnet/minecraft/class_1297;Lnet/minecraft/class_2487;)V
ARG 0 world
ARG 1 player

View File

@ -1,33 +1,132 @@
CLASS net/minecraft/class_5579 net/minecraft/server/world/ServerEntityManager
COMMENT An entity manager for a server environment.
FIELD field_27260 LOGGER Lorg/apache/logging/log4j/Logger;
FIELD field_27261 entityUuids Ljava/util/Set;
FIELD field_27262 entityLoader Lnet/minecraft/class_5576;
FIELD field_27264 trackedEntities Lnet/minecraft/class_5570;
FIELD field_27262 handler Lnet/minecraft/class_5576;
FIELD field_27263 dataAccess Lnet/minecraft/class_5571;
FIELD field_27264 index Lnet/minecraft/class_5570;
FIELD field_27265 cache Lnet/minecraft/class_5573;
FIELD field_27266 lookup Lnet/minecraft/class_5577;
FIELD field_27267 trackingStatuses Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;
FIELD field_27268 managedStatuses Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;
FIELD field_27269 pendingUnloads Lit/unimi/dsi/fastutil/longs/LongSet;
FIELD field_27270 loadingQueue Ljava/util/Queue;
METHOD <init> (Ljava/lang/Class;Lnet/minecraft/class_5576;Lnet/minecraft/class_5571;)V
ARG 2 entityLoader
ARG 1 entityClass
ARG 2 handler
ARG 3 dataAccess
METHOD method_31809 tick ()V
METHOD method_31810 readIfFresh (J)V
ARG 1 chunkPos
METHOD method_31811 entityLeftSection (JLnet/minecraft/class_5572;)V
ARG 1 sectionPos
ARG 3 section
METHOD method_31812 trySave (JLjava/util/function/Consumer;)Z
COMMENT Tries to save entities in a chunk and performs an {@code action} on each
COMMENT saved entity if successful.
COMMENT
COMMENT <p>If a chunk is {@link Status#FRESH} or {@link Status#PENDING}, it
COMMENT cannot be saved.
COMMENT
COMMENT @return whether the saving is successful
ARG 1 chunkPos
ARG 3 action
COMMENT action performed on each saved entity if saving is successful
METHOD method_31813 (Lnet/minecraft/class_4456;J)V
ARG 2 chunkPos
METHOD method_31814 (Lnet/minecraft/class_4456;Lnet/minecraft/class_5579$class_5581;J)V
ARG 3 sectionPos
METHOD method_31815 updateTrackingStatus (Lnet/minecraft/class_1923;Lnet/minecraft/class_3193$class_3194;)V
COMMENT Updates the tracking status of tracking sections in a chunk at {@code
COMMENT chunkPos} given the {@code levelType}.
COMMENT
COMMENT @see updateTrackingStatus(ChunkPos, EntityTrackingStatus)
ARG 1 chunkPos
COMMENT the chunk to update
ARG 2 levelType
COMMENT the updated level type of the chunk
METHOD method_31816 updateTrackingStatus (Lnet/minecraft/class_1923;Lnet/minecraft/class_5584;)V
COMMENT Updates the {@code trackingStatus} of tracking sections in a chunk
COMMENT at {@code chunkPos}.
ARG 1 chunkPos
COMMENT the chunk to update
ARG 2 trackingStatus
COMMENT the updated section tracking status
METHOD method_31818 addEntity (Lnet/minecraft/class_5568;)Z
COMMENT Adds a newly created entity to this manager.
COMMENT
COMMENT @return if the entity was added
ARG 1 entity
COMMENT the newly created entity
METHOD method_31820 addEntity (Lnet/minecraft/class_5568;Z)Z
COMMENT Loads or adds an entity to this manager.
COMMENT
COMMENT @return if the entity was loaded or added
ARG 1 entity
METHOD method_31831 canAddEntity (Lnet/minecraft/class_5568;)Z
COMMENT the entity
ARG 2 existing
COMMENT whether this entity is loaded from the map than created anew
METHOD method_31825 (Lnet/minecraft/class_5584;Lnet/minecraft/class_5572;)V
ARG 2 group
METHOD method_31826 dump (Ljava/io/Writer;)V
ARG 1 writer
METHOD method_31827 has (Ljava/util/UUID;)Z
ARG 1 uuid
METHOD method_31828 loadEntities (Ljava/util/stream/Stream;)V
COMMENT Loads a few entities from disk to this manager.
ARG 1 entities
METHOD method_31829 save ()V
METHOD method_31830 scheduleRead (J)V
ARG 1 chunkPos
METHOD method_31831 addEntityUuid (Lnet/minecraft/class_5568;)Z
ARG 1 entity
METHOD method_31838 (Lnet/minecraft/class_5568;)V
METHOD method_31832 getNeededLoadStatus (Lnet/minecraft/class_5568;Lnet/minecraft/class_5584;)Lnet/minecraft/class_5584;
ARG 0 entity
ARG 1 current
METHOD method_31835 addEntities (Ljava/util/stream/Stream;)V
COMMENT Adds a few newly created entities to this manager.
ARG 1 entities
METHOD method_31836 flush ()V
METHOD method_31837 unload (J)Z
ARG 1 chunkPos
METHOD method_31838 startTicking (Lnet/minecraft/class_5568;)V
ARG 1 entity
METHOD method_31843 removeEntity (Lnet/minecraft/class_5568;)V
METHOD method_31841 getLookup ()Lnet/minecraft/class_5577;
METHOD method_31842 (J)Z
ARG 1 pos
METHOD method_31843 stopTicking (Lnet/minecraft/class_5568;)V
ARG 1 entity
METHOD method_31845 getDebugString ()Ljava/lang/String;
METHOD method_31847 (Lnet/minecraft/class_5568;)V
METHOD method_31846 (J)V
ARG 1 pos
METHOD method_31847 startTracking (Lnet/minecraft/class_5568;)V
ARG 1 entity
METHOD method_31850 (Lnet/minecraft/class_5568;)V
METHOD method_31849 (J)Z
ARG 1 pos
METHOD method_31850 stopTracking (Lnet/minecraft/class_5568;)V
ARG 1 entity
METHOD method_31852 (Lnet/minecraft/class_5568;)V
METHOD method_31851 unloadChunks ()V
METHOD method_31852 unload (Lnet/minecraft/class_5568;)V
ARG 1 entity
METHOD method_31853 loadChunks ()V
METHOD method_31855 getLoadedChunks ()Lit/unimi/dsi/fastutil/longs/LongSet;
METHOD method_31857 (Lnet/minecraft/class_5568;)V
ARG 1 entity
METHOD method_31863 (Lnet/minecraft/class_5568;)V
ARG 1 entity
METHOD method_31864 (Lnet/minecraft/class_5568;)V
ARG 1 entity
CLASS class_5580
CLASS class_5580 Listener
FIELD field_27271 manager Lnet/minecraft/class_5579;
FIELD field_27272 entity Lnet/minecraft/class_5568;
FIELD field_27273 sectionPos J
FIELD field_27274 section Lnet/minecraft/class_5572;
METHOD <init> (Lnet/minecraft/class_5579;Lnet/minecraft/class_5568;JLnet/minecraft/class_5572;)V
ARG 2 entity
ARG 3 sectionPos
ARG 5 section
METHOD method_31865 updateLoadStatus (Lnet/minecraft/class_5584;Lnet/minecraft/class_5584;)V
ARG 1 oldStatus
ARG 2 newStatus
CLASS class_5581 Status
COMMENT The status of chunks within a server entity manager.

View File

@ -17,7 +17,7 @@ CLASS net/minecraft/class_3218 net/minecraft/server/world/ServerWorld
FIELD field_25142 enderDragonFight Lnet/minecraft/class_2881;
FIELD field_25143 shouldTickTime Z
FIELD field_25144 END_SPAWN_POS Lnet/minecraft/class_2338;
FIELD field_26932 mobSet Ljava/util/Set;
FIELD field_26932 loadedMobs Ljava/util/Set;
FIELD field_26933 dragonParts Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
FIELD field_26934 entityList Lnet/minecraft/class_5574;
FIELD field_26935 entityManager Lnet/minecraft/class_5579;
@ -185,9 +185,20 @@ CLASS net/minecraft/class_3218 net/minecraft/server/world/ServerWorld
METHOD method_30630 getSpawnAngle ()F
METHOD method_30736 shouldCreateNewEntityWithPassenger (Lnet/minecraft/class_1297;)Z
METHOD method_31268 getDebugString ()Ljava/lang/String;
METHOD method_31270 getTopFive (Ljava/lang/Iterable;Ljava/util/function/Function;)Ljava/lang/String;
COMMENT Categories {@code items} with the {@code classifier} and reports a message
COMMENT indicating the top five biggest categories.
ARG 0 items
COMMENT the items to classify
ARG 1 classifier
COMMENT the classifier that determines the category of any item
METHOD method_31419 getChunkSourceDebugString ()Ljava/lang/String;
METHOD method_31420 (Lnet/minecraft/class_3695;Lnet/minecraft/class_1297;)V
ARG 2 entity
METHOD method_31423 loadEntities (Ljava/util/stream/Stream;)V
ARG 1 entities
METHOD method_31426 addEntities (Ljava/util/stream/Stream;)V
ARG 1 entities
METHOD method_31430 shouldCancelSpawn (Lnet/minecraft/class_1297;)Z
ARG 1 entity
METHOD method_32817 sendVibrationPacket (Lnet/minecraft/class_5720;)V
@ -208,4 +219,4 @@ CLASS net/minecraft/class_3218 net/minecraft/server/world/ServerWorld
METHOD method_8554 setSpawnPos (Lnet/minecraft/class_2338;F)V
ARG 1 pos
ARG 2 angle
CLASS class_5526 EntityLoader
CLASS class_5526 ServerEntityHandler

View File

@ -0,0 +1,13 @@
CLASS net/minecraft/class_5575 net/minecraft/util/TypeFilter
COMMENT A filter that determines if an object of some supertype {@code B} can be
COMMENT treated as an object of some subtype {@code T}.
COMMENT
COMMENT @param <B> the base type that's the input to the filter
COMMENT @param <T> the desired type of this filter
METHOD method_31794 getBaseClass ()Ljava/lang/Class;
METHOD method_31795 instanceOf (Ljava/lang/Class;)Lnet/minecraft/class_5575;
COMMENT Creates a filter whose filtering condition is whether the object is an instance of the given class.
ARG 0 cls
METHOD method_31796 downcast (Ljava/lang/Object;)Ljava/lang/Object;
COMMENT Checks if the argument can be converted to the type {@code T} and returns the argument, or {@code null} otherwise.
ARG 1 obj

View File

@ -1,4 +1,12 @@
CLASS net/minecraft/class_3509 net/minecraft/util/collection/TypeFilterableList
COMMENT A collection allowing getting all elements of a specific type. Backed
COMMENT by {@link java.util.ArrayList}s.
COMMENT
COMMENT <p>This implementation is not efficient for frequent modifications. You
COMMENT shouldn't use this if you don't call {@link #getAllOfType(Class)}.
COMMENT
COMMENT @see #getAllOfType(Class)
COMMENT @param <T> the {@link #elementType common element type}
FIELD field_15635 allElements Ljava/util/List;
FIELD field_15636 elementsByType Ljava/util/Map;
FIELD field_15637 elementType Ljava/lang/Class;
@ -7,8 +15,22 @@ CLASS net/minecraft/class_3509 net/minecraft/util/collection/TypeFilterableList
METHOD add (Ljava/lang/Object;)Z
ARG 1 e
METHOD contains (Ljava/lang/Object;)Z
COMMENT {@inheritDoc}
COMMENT
COMMENT @throws IllegalArgumentException if {@code o} is not an instance of
COMMENT {@link #elementType}
ARG 1 o
METHOD method_15216 getAllOfType (Ljava/lang/Class;)Ljava/util/Collection;
COMMENT Returns all elements in this collection that are instances of {@code type}.
COMMENT The result is unmodifiable.
COMMENT
COMMENT <p>The {@code type}, or {@code S}, must extend the class' type parameter {@code T}.
COMMENT
COMMENT @param <S> the specialized type, effectively {@code S extends T}
COMMENT @throws IllegalArgumentException when {@code type} does not extend
COMMENT {@link #elementType}
COMMENT @return this collection's elements that are instances of {@code type}
ARG 1 type
COMMENT the specialized type, must extend {@link #elementType}
METHOD remove (Ljava/lang/Object;)Z
ARG 1 o

View File

@ -6,4 +6,18 @@ CLASS net/minecraft/class_3906 net/minecraft/util/thread/MessageListener
ARG 0 name
ARG 1 action
METHOD method_17345 ask (Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
COMMENT Asks a message provider for a message.
COMMENT
COMMENT The {@link CompletableFuture} returned from this function will never complete exceptionally.
COMMENT
COMMENT @return CompletableFuture future that completes with the received message
ARG 1 messageProvider
METHOD method_27918 askFallible (Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
COMMENT Asks a fallible message provider for a message.
COMMENT
COMMENT The provider is given a MessageListener that accepts a {@link Either} representing either
COMMENT a valid response (generic parameter Source) or an Exception, which decides whether the
COMMENT future completes successfully or exceptionally.
COMMENT
COMMENT @return CompletableFuture that may either complete successfully or exceptionally
ARG 1 messageProvider

View File

@ -8,7 +8,7 @@ CLASS net/minecraft/class_2852 net/minecraft/world/ChunkSerializer
ARG 0 pos
ARG 1 structureStarts
ARG 2 structureReferences
METHOD method_12386 writeEntities (Lnet/minecraft/class_3218;Lnet/minecraft/class_2487;Lnet/minecraft/class_2818;)V
METHOD method_12386 loadEntities (Lnet/minecraft/class_3218;Lnet/minecraft/class_2487;Lnet/minecraft/class_2818;)V
ARG 0 world
ARG 1 tag
ARG 2 chunk

View File

@ -6,6 +6,7 @@ CLASS net/minecraft/class_1941 net/minecraft/world/CollisionView
METHOD method_20743 getEntityCollisions (Lnet/minecraft/class_1297;Lnet/minecraft/class_238;Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
ARG 1 entity
ARG 2 box
ARG 3 predicate
METHOD method_20812 getBlockCollisions (Lnet/minecraft/class_1297;Lnet/minecraft/class_238;)Ljava/util/stream/Stream;
ARG 1 entity
ARG 2 box
@ -27,6 +28,7 @@ CLASS net/minecraft/class_1941 net/minecraft/world/CollisionView
METHOD method_8600 getCollisions (Lnet/minecraft/class_1297;Lnet/minecraft/class_238;Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
ARG 1 entity
ARG 2 box
ARG 3 predicate
METHOD method_8606 intersectsEntities (Lnet/minecraft/class_1297;)Z
ARG 1 entity
METHOD method_8611 intersectsEntities (Lnet/minecraft/class_1297;Lnet/minecraft/class_265;)Z

View File

@ -1,14 +1,30 @@
CLASS net/minecraft/class_5574 net/minecraft/world/EntityList
COMMENT A storage of entities that supports modification during iteration.
COMMENT
COMMENT <p>The entities are stored by their network IDs.
COMMENT
COMMENT @see EntityList#forEach(Consumer)
FIELD field_27254 entities Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
FIELD field_27256 cachedEntityList Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
METHOD method_31790 addEntity (Lnet/minecraft/class_1297;)V
FIELD field_27255 temp Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
FIELD field_27256 iterating Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
METHOD method_31789 ensureSafe ()V
COMMENT Ensures that the modified {@code entities} map is not currently iterated.
COMMENT If {@code entities} is iterated, this moves its value to {@code temp} so
COMMENT modification to {@code entities} is safe.
METHOD method_31790 add (Lnet/minecraft/class_1297;)V
ARG 1 entity
METHOD method_31791 forEachEntity (Ljava/util/function/Consumer;)V
COMMENT Runs an action on every single entity.
METHOD method_31791 forEach (Ljava/util/function/Consumer;)V
COMMENT Runs an {@code action} on every entity in this storage.
COMMENT
COMMENT @throws UnsupportedOperationException if there is an attempt to have more than one concurrent iteration
COMMENT <p>If this storage is updated during the iteration, the iteration will
COMMENT not be updated to reflect updated contents. For example, if an entity
COMMENT is added by the {@code action}, the {@code action} won't run on that
COMMENT entity later.
COMMENT
COMMENT @throws UnsupportedOperationException if this is called before an iteration
COMMENT has finished, such as within the {@code action} or from another thread
ARG 1 action
METHOD method_31792 removeEntity (Lnet/minecraft/class_1297;)V
METHOD method_31792 remove (Lnet/minecraft/class_1297;)V
ARG 1 entity
METHOD method_31793 hasEntity (Lnet/minecraft/class_1297;)Z
METHOD method_31793 has (Lnet/minecraft/class_1297;)Z
ARG 1 entity

View File

@ -1,14 +0,0 @@
CLASS net/minecraft/class_5576 net/minecraft/world/EntityLoader
COMMENT Isolates client and server side specific logic when loading and unloading entities to and from a world.
METHOD method_31797 onUnloadEntity (Ljava/lang/Object;)V
ARG 1 entity
METHOD method_31798 onLoadEntity (Ljava/lang/Object;)V
ARG 1 entity
METHOD method_31799 removeEntity (Ljava/lang/Object;)V
ARG 1 entity
METHOD method_31800 addEntity (Ljava/lang/Object;)V
ARG 1 entity
METHOD method_31801 destroyEntity (Ljava/lang/Object;)V
ARG 1 entity
METHOD method_31802 (Ljava/lang/Object;)V
ARG 1 entity

View File

@ -1,5 +1,8 @@
CLASS net/minecraft/class_1924 net/minecraft/world/EntityView
METHOD method_18023 getEntitiesByType (Lnet/minecraft/class_5575;Lnet/minecraft/class_238;Ljava/util/function/Predicate;)Ljava/util/List;
ARG 1 filter
ARG 2 box
ARG 3 predicate
METHOD method_18456 getPlayers ()Ljava/util/List;
METHOD method_18458 isPlayerInRange (DDDD)Z
ARG 1 x

View File

@ -79,7 +79,7 @@ CLASS net/minecraft/class_1937 net/minecraft/world/World
COMMENT <p>Debug worlds are not modifiable and are typically meant for development and debug use only.
COMMENT See <a href="https://minecraft.gamepedia.com/Debug_mode">the minecraft wiki</a> as well.
METHOD method_27983 getRegistryKey ()Lnet/minecraft/class_5321;
METHOD method_31592 getEntityIdMap ()Lnet/minecraft/class_5577;
METHOD method_31592 getEntityLookup ()Lnet/minecraft/class_5577;
METHOD method_31594 addBlockEntityTicker (Lnet/minecraft/class_5562;)V
ARG 1 ticker
METHOD method_31595 addBlockBreakParticles (Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)V

View File

@ -0,0 +1,6 @@
CLASS net/minecraft/class_5571 net/minecraft/world/chunk/ChunkDataAccess
METHOD method_31758 awaitAll ()V
METHOD method_31759 readChunkData (Lnet/minecraft/class_1923;)Ljava/util/concurrent/CompletableFuture;
ARG 1 pos
METHOD method_31760 writeChunkData (Lnet/minecraft/class_5566;)V
ARG 1 dataList

View File

@ -0,0 +1,9 @@
CLASS net/minecraft/class_5566 net/minecraft/world/chunk/ChunkDataList
FIELD field_27241 pos Lnet/minecraft/class_1923;
FIELD field_27242 backingList Ljava/util/List;
METHOD <init> (Lnet/minecraft/class_1923;Ljava/util/List;)V
ARG 1 pos
ARG 2 list
METHOD method_31741 getChunkPos ()Lnet/minecraft/class_1923;
METHOD method_31742 stream ()Ljava/util/stream/Stream;
METHOD method_31743 isEmpty ()Z

View File

@ -48,6 +48,9 @@ CLASS net/minecraft/class_2826 net/minecraft/world/chunk/ChunkSection
METHOD method_18090 isEmpty (Lnet/minecraft/class_2826;)Z
ARG 0 section
METHOD method_19523 hasAny (Ljava/util/function/Predicate;)Z
ARG 1 predicate
METHOD method_21731 (Lnet/minecraft/class_2680;I)V
ARG 1 state
ARG 2 count
METHOD method_31729 blockCoordFromChunkCoord (I)I
ARG 0 chunkPos

View File

@ -0,0 +1,4 @@
CLASS net/minecraft/class_5567 net/minecraft/world/chunk/ChunkStatusChangeListener
METHOD onChunkStatusChange (Lnet/minecraft/class_1923;Lnet/minecraft/class_3193$class_3194;)V
ARG 1 pos
ARG 2 levelType

View File

@ -0,0 +1,24 @@
CLASS net/minecraft/class_5565 net/minecraft/world/chunk/EntityChunkDataAccess
FIELD field_27231 dataFixer Lcom/mojang/datafixers/DataFixer;
FIELD field_27232 LOGGER Lorg/apache/logging/log4j/Logger;
FIELD field_27233 world Lnet/minecraft/class_3218;
FIELD field_27234 dataLoadWorker Lnet/minecraft/class_4698;
FIELD field_27235 emptyChunks Lit/unimi/dsi/fastutil/longs/LongSet;
FIELD field_27236 executor Ljava/util/concurrent/Executor;
METHOD <init> (Lnet/minecraft/class_3218;Ljava/io/File;Lcom/mojang/datafixers/DataFixer;ZLjava/util/concurrent/Executor;)V
ARG 1 world
ARG 2 chunkFile
ARG 3 dataFixer
ARG 4 dsync
ARG 5 executor
METHOD method_31732 getChunkDataVersion (Lnet/minecraft/class_2487;)I
ARG 0 chunkTag
METHOD method_31733 putChunkPos (Lnet/minecraft/class_2487;Lnet/minecraft/class_1923;)V
ARG 0 chunkTag
ARG 1 pos
METHOD method_31735 emptyDataList (Lnet/minecraft/class_1923;)Lnet/minecraft/class_5566;
ARG 0 pos
METHOD method_31736 getChunkPos (Lnet/minecraft/class_2487;)Lnet/minecraft/class_1923;
ARG 0 chunkTag
METHOD method_31737 fixChunkData (Lnet/minecraft/class_2487;)Lnet/minecraft/class_2487;
ARG 1 chunkTag

View File

@ -0,0 +1,9 @@
CLASS net/minecraft/class_5569 net/minecraft/world/entity/EntityChangeListener
COMMENT A listener for an entity's changes associated to saving.
COMMENT
COMMENT <p>Each callback is associated with an {@link net.minecraft.entity.Entity}.
FIELD field_27243 NONE Lnet/minecraft/class_5569;
COMMENT An empty listener.
METHOD method_31749 updateEntityPosition ()V
METHOD method_31750 remove (Lnet/minecraft/class_1297$class_5529;)V
ARG 1 reason

View File

@ -0,0 +1,30 @@
CLASS net/minecraft/class_5576 net/minecraft/world/entity/EntityHandler
COMMENT The entity handler exposes world's entity handling to entity managers.
COMMENT
COMMENT <p>Each handler is usually associated with a {@link net.minecraft.world.World}.
COMMENT
COMMENT @param <T> the type of entity handled
METHOD method_31797 stopTracking (Ljava/lang/Object;)V
COMMENT Unregisters an entity for tracking.
ARG 1 entity
COMMENT the tracked entity
METHOD method_31798 startTracking (Ljava/lang/Object;)V
COMMENT Registers an entity for tracking.
ARG 1 entity
COMMENT the entity to track
METHOD method_31799 stopTicking (Ljava/lang/Object;)V
COMMENT Unregisters an entity for ticking.
ARG 1 entity
COMMENT the ticked entity
METHOD method_31800 startTicking (Ljava/lang/Object;)V
COMMENT Registers an entity for ticking.
ARG 1 entity
COMMENT the entity to tick
METHOD method_31801 destroy (Ljava/lang/Object;)V
COMMENT Called when an entity is permanently destroyed.
ARG 1 entity
COMMENT the destroyed entity
METHOD method_31802 create (Ljava/lang/Object;)V
COMMENT Called when an entity is newly created.
ARG 1 entity
COMMENT the created entity

View File

@ -0,0 +1,18 @@
CLASS net/minecraft/class_5570 net/minecraft/world/entity/EntityIndex
COMMENT An index of entities by both their network IDs and UUIDs.
FIELD field_27244 LOGGER Lorg/apache/logging/log4j/Logger;
FIELD field_27245 idToEntity Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
FIELD field_27246 uuidToEntity Ljava/util/Map;
METHOD method_31751 iterate ()Ljava/lang/Iterable;
METHOD method_31752 get (I)Lnet/minecraft/class_5568;
ARG 1 id
METHOD method_31753 add (Lnet/minecraft/class_5568;)V
ARG 1 entity
METHOD method_31754 forEach (Lnet/minecraft/class_5575;Ljava/util/function/Consumer;)V
ARG 1 filter
ARG 2 action
METHOD method_31755 get (Ljava/util/UUID;)Lnet/minecraft/class_5568;
ARG 1 uuid
METHOD method_31756 size ()I
METHOD method_31757 remove (Lnet/minecraft/class_5568;)V
ARG 1 entity

View File

@ -0,0 +1,25 @@
CLASS net/minecraft/class_5568 net/minecraft/world/entity/EntityLike
COMMENT A prototype of entity that's suitable for entity manager to handle.
METHOD method_24515 getBlockPos ()Lnet/minecraft/class_2338;
METHOD method_31744 setListener (Lnet/minecraft/class_5569;)V
ARG 1 listener
METHOD method_31745 setRemoved (Lnet/minecraft/class_1297$class_5529;)V
ARG 1 reason
METHOD method_31746 shouldSave ()Z
METHOD method_31747 isPlayer ()Z
METHOD method_31748 streamPassengersAndSelf ()Ljava/util/stream/Stream;
COMMENT Returns a stream consisting of this entity and its passengers in which
COMMENT this entity's passengers are iterated before this entity.
COMMENT
COMMENT <p>Moreover, this stream guarantees that any entity only appears after
COMMENT all its passengers have appeared in the stream. This is useful for
COMMENT certain actions that must be applied on passengers before applying on
COMMENT this entity.
COMMENT
COMMENT @implNote The default implementation is very costly.
COMMENT
COMMENT @see net.minecraft.entity.Entity#streamSelfAndPassengers()
METHOD method_5628 getId ()I
COMMENT Returns the network ID of this entity.
METHOD method_5667 getUuid ()Ljava/util/UUID;
METHOD method_5829 getBoundingBox ()Lnet/minecraft/class_238;

View File

@ -0,0 +1,30 @@
CLASS net/minecraft/class_5577 net/minecraft/world/entity/EntityLookup
COMMENT An interface for looking up entities.
COMMENT
COMMENT <p>It supports iteration, accessing by ID, or by intersection with boxes.
COMMENT
COMMENT @param <T> the type of indexed entity
METHOD method_31803 iterate ()Ljava/lang/Iterable;
COMMENT Returns an unmodifiable iterable over all entities in this lookup.
METHOD method_31804 get (I)Lnet/minecraft/class_5568;
COMMENT Returns an entity by its network ID, or {@code null} if none is found.
ARG 1 id
METHOD method_31805 forEachIntersects (Lnet/minecraft/class_5575;Lnet/minecraft/class_238;Ljava/util/function/Consumer;)V
ARG 1 filter
ARG 2 box
ARG 3 action
METHOD method_31806 forEach (Lnet/minecraft/class_5575;Ljava/util/function/Consumer;)V
COMMENT Performs an {@code action} on each entity of type {@code U} within this
COMMENT lookup.
COMMENT
COMMENT @param <U> the type of entity to perform action on
ARG 1 filter
COMMENT specifies the desired type of entity
ARG 2 action
COMMENT the action to perform
METHOD method_31807 forEachIntersects (Lnet/minecraft/class_238;Ljava/util/function/Consumer;)V
ARG 1 box
ARG 2 action
METHOD method_31808 get (Ljava/util/UUID;)Lnet/minecraft/class_5568;
COMMENT Returns an entity by its UUID, or {@code null} if none is found.
ARG 1 uuid

View File

@ -0,0 +1,25 @@
CLASS net/minecraft/class_5572 net/minecraft/world/entity/EntityTrackingSection
COMMENT A collection of entities tracked within a chunk section.
FIELD field_27247 LOGGER Lorg/apache/logging/log4j/Logger;
FIELD field_27248 collection Lnet/minecraft/class_3509;
FIELD field_27249 status Lnet/minecraft/class_5584;
METHOD <init> (Ljava/lang/Class;Lnet/minecraft/class_5584;)V
ARG 1 entityClass
ARG 2 status
METHOD method_31761 isEmpty ()Z
METHOD method_31762 forEach (Lnet/minecraft/class_5575;Ljava/util/function/Predicate;Ljava/util/function/Consumer;)V
ARG 1 type
ARG 2 filter
ARG 3 action
METHOD method_31763 swapStatus (Lnet/minecraft/class_5584;)Lnet/minecraft/class_5584;
ARG 1 status
METHOD method_31764 add (Ljava/lang/Object;)V
ARG 1 obj
METHOD method_31765 forEach (Ljava/util/function/Predicate;Ljava/util/function/Consumer;)V
ARG 1 predicate
ARG 2 action
METHOD method_31766 stream ()Ljava/util/stream/Stream;
METHOD method_31767 remove (Ljava/lang/Object;)Z
ARG 1 obj
METHOD method_31768 getStatus ()Lnet/minecraft/class_5584;
METHOD method_31769 size ()I

View File

@ -0,0 +1,13 @@
CLASS net/minecraft/class_5584 net/minecraft/world/entity/EntityTrackingStatus
COMMENT The status of entity tracking sections within entity managers.
COMMENT
COMMENT @see EntityTrackingSection
FIELD field_27292 tracked Z
FIELD field_27293 tick Z
METHOD <init> (Ljava/lang/String;IZZ)V
ARG 3 tracked
ARG 4 tick
METHOD method_31883 shouldTick ()Z
METHOD method_31884 fromLevelType (Lnet/minecraft/class_3193$class_3194;)Lnet/minecraft/class_5584;
ARG 0 levelType
METHOD method_31885 shouldTrack ()Z

View File

@ -0,0 +1,47 @@
CLASS net/minecraft/class_5573 net/minecraft/world/entity/SectionedEntityCache
COMMENT Stores entities with the chunk sections they are in.
COMMENT
COMMENT @see EntityTrackingSection
FIELD field_27250 entityClass Ljava/lang/Class;
FIELD field_27251 posToStatus Lit/unimi/dsi/fastutil/longs/Long2ObjectFunction;
FIELD field_27252 trackingSections Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;
FIELD field_27253 trackedPositions Lit/unimi/dsi/fastutil/longs/LongSortedSet;
METHOD <init> (Ljava/lang/Class;Lit/unimi/dsi/fastutil/longs/Long2ObjectFunction;)V
ARG 1 entityClass
ARG 2 chunkStatusDiscriminator
METHOD method_31770 getChunkPositions ()Lit/unimi/dsi/fastutil/longs/LongSet;
METHOD method_31771 getSections (II)Lit/unimi/dsi/fastutil/longs/LongSortedSet;
ARG 1 chunkX
ARG 2 chunkZ
METHOD method_31772 getSections (J)Ljava/util/stream/LongStream;
ARG 1 chunkPos
METHOD method_31773 forEachIntersects (Lnet/minecraft/class_5575;Lnet/minecraft/class_238;Ljava/util/function/Consumer;)V
ARG 1 filter
ARG 2 box
ARG 3 action
METHOD method_31775 intersecting (Lnet/minecraft/class_238;)Ljava/util/function/Predicate;
ARG 0 box
METHOD method_31777 forEachInBox (Lnet/minecraft/class_238;Ljava/util/function/Consumer;)V
COMMENT Runs the given action on each collection of entities in the chunk sections within the given box.
ARG 1 box
ARG 2 action
METHOD method_31779 toPackedSectionPos (Lnet/minecraft/class_2338;)J
ARG 0 pos
METHOD method_31780 (Lit/unimi/dsi/fastutil/longs/LongSet;J)V
ARG 1 sectionPos
METHOD method_31781 sectionCount ()I
METHOD method_31782 getTrackingSections (J)Ljava/util/stream/Stream;
ARG 1 chunkPos
METHOD method_31783 forEachIntersects (Lnet/minecraft/class_238;Ljava/util/function/Consumer;)V
ARG 1 box
ARG 2 action
METHOD method_31784 getTrackingSection (J)Lnet/minecraft/class_5572;
ARG 1 sectionPos
METHOD method_31785 findTrackingSection (J)Lnet/minecraft/class_5572;
ARG 1 sectionPos
METHOD method_31786 removeSection (J)V
ARG 1 sectionPos
METHOD method_31787 chunkPosFromSectionPos (J)J
ARG 0 sectionPos
METHOD method_31788 addSection (J)Lnet/minecraft/class_5572;
ARG 1 sectionPos

View File

@ -0,0 +1,13 @@
CLASS net/minecraft/class_5578 net/minecraft/world/entity/SimpleEntityLookup
COMMENT An implementation of entity lookup backed by two separate {@link
COMMENT EntityIndex} and {@link SectionedEntityCache}.
COMMENT
COMMENT <p>It's up to the user to ensure that the index and the cache are
COMMENT consistent with each other.
COMMENT
COMMENT @param <T> the type of indexed entity
FIELD field_27258 index Lnet/minecraft/class_5570;
FIELD field_27259 cache Lnet/minecraft/class_5573;
METHOD <init> (Lnet/minecraft/class_5570;Lnet/minecraft/class_5573;)V
ARG 1 index
ARG 2 cache

View File

@ -13,12 +13,19 @@ CLASS net/minecraft/class_4698 net/minecraft/world/storage/StorageIoWorker
ARG 1 pos
METHOD method_23701 write (Lnet/minecraft/class_1923;Lnet/minecraft/class_4698$class_4699;)V
ARG 1 pos
ARG 2 result
METHOD method_23703 setResult (Lnet/minecraft/class_1923;Lnet/minecraft/class_2487;)Ljava/util/concurrent/CompletableFuture;
ARG 1 pos
ARG 2 nbt
METHOD method_23709 run (Ljava/util/function/Supplier;)Ljava/util/concurrent/CompletableFuture;
ARG 1 task
METHOD method_23719 writeResult ()V
METHOD method_27945 writeRemainingResults ()V
METHOD method_31738 readChunkData (Lnet/minecraft/class_1923;)Ljava/util/concurrent/CompletableFuture;
ARG 1 pos
CLASS class_4699 Result
FIELD field_21503 nbt Lnet/minecraft/class_2487;
FIELD field_21504 future Ljava/util/concurrent/CompletableFuture;
METHOD <init> (Lnet/minecraft/class_2487;)V
ARG 1 nbt
CLASS class_5276 Priority