Mapped various aspects of sendings chunks to players and ChunkSectionPos. (#1605)

This commit is contained in:
shartte 2020-07-29 02:40:32 +02:00 committed by GitHub
parent 70b1474a32
commit 65873e03a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 96 additions and 7 deletions

View File

@ -7,9 +7,15 @@ CLASS net/minecraft/class_2672 net/minecraft/network/packet/s2c/play/ChunkDataS2
FIELD field_12238 blockEntities Ljava/util/List;
FIELD field_16416 heightmaps Lnet/minecraft/class_2487;
FIELD field_20664 biomeArray [I
FIELD field_25720 retainLighting Z
METHOD <init> (Lnet/minecraft/class_2818;IZ)V
ARG 1 chunk
ARG 2 includedSectionsMask
COMMENT a bitmask of the vertical chunk sections that should be included in this packet.
COMMENT 65535 will send all sections.
ARG 3 retainLighting
COMMENT indicates that the client should not recalculate lighting for the vertical sections
COMMENT included in this packet.
METHOD method_11521 getReadBuffer ()Lnet/minecraft/class_2540;
METHOD method_11522 getDataSize (Lnet/minecraft/class_2818;I)I
ARG 1 chunk
@ -25,3 +31,6 @@ CLASS net/minecraft/class_2672 net/minecraft/network/packet/s2c/play/ChunkDataS2
METHOD method_11530 isFullChunk ()Z
METHOD method_16123 getHeightmaps ()Lnet/minecraft/class_2487;
METHOD method_22422 getBiomeArray ()[I
METHOD method_30144 shouldRetainLighting ()Z
COMMENT Indicates whether the client should skip updating the lighting information
COMMENT of the vertical sections included in this packet.

View File

@ -1 +1,16 @@
CLASS net/minecraft/class_2637 net/minecraft/network/packet/s2c/play/ChunkDeltaUpdateS2CPacket
FIELD field_26345 sectionPos Lnet/minecraft/class_4076;
FIELD field_26346 packedLocalPos [S
COMMENT The packed local positions {@see ChunkSectionPos#getPackedLocalPos} for
COMMENT each entry in {@see #blockState}.
FIELD field_26347 blockState [Lnet/minecraft/class_2680;
METHOD <init> (Lnet/minecraft/class_4076;Lit/unimi/dsi/fastutil/shorts/ShortSet;Lnet/minecraft/class_2826;)V
ARG 1 sectionPos
COMMENT the position of the given chunk section that will be sent to the client
ARG 2 updatedLocalPosSet
COMMENT the set of packed local positions within the given chunk section that should be included in the packet
ARG 3 section
METHOD method_30620 allocateBuffers (I)V
ARG 1 posCount
METHOD method_30621 visitUpdates (Ljava/util/function/BiConsumer;)V
COMMENT Calls the given consumer for each pair of block position and block state contained in this packet.

View File

@ -20,6 +20,13 @@ CLASS net/minecraft/class_3193 net/minecraft/server/world/ChunkHolder
FIELD field_17210 playersWatchingChunkProvider Lnet/minecraft/class_3193$class_3897;
FIELD field_19238 accessible Z
FIELD field_19333 tickingFuture Ljava/util/concurrent/CompletableFuture;
FIELD field_25803 pendingBlockUpdates Z
COMMENT Indicates that {@link #blockUpdatesBySection} contains at least one entry.
FIELD field_25804 blockUpdatesBySection [Lit/unimi/dsi/fastutil/shorts/ShortSet;
COMMENT Contains the packed chunk-local positions that have been marked for update
COMMENT by {@link #markForBlockUpdate}, grouped by their vertical chunk section.
COMMENT <p>
COMMENT Entries for a section are null if the section has no positions marked for update.
METHOD <init> (Lnet/minecraft/class_1923;ILnet/minecraft/class_3568;Lnet/minecraft/class_3193$class_3896;Lnet/minecraft/class_3193$class_3897;)V
ARG 1 pos
ARG 2 level
@ -51,6 +58,7 @@ CLASS net/minecraft/class_3193 net/minecraft/server/world/ChunkHolder
METHOD method_14012 markForLightUpdate (Lnet/minecraft/class_1944;I)V
ARG 1 type
ARG 2 y
COMMENT chunk section y coordinate
METHOD method_15890 setLevel (I)V
ARG 1 level
METHOD method_16143 combineSavingFuture (Ljava/util/concurrent/CompletableFuture;)V
@ -64,17 +72,18 @@ CLASS net/minecraft/class_3193 net/minecraft/server/world/ChunkHolder
METHOD method_17208 getCompletedLevel ()I
METHOD method_20384 isAccessible ()Z
METHOD method_20385 updateAccessibleStatus ()V
METHOD method_20456 finalizeChunk (Lnet/minecraft/class_2821;)V
ARG 1 chunk
METHOD method_20456 setCompletedChunk (Lnet/minecraft/class_2821;)V
METHOD method_20725 getAccessibleFuture ()Ljava/util/concurrent/CompletableFuture;
METHOD method_21737 getValidFutureFor (Lnet/minecraft/class_2806;)Ljava/util/concurrent/CompletableFuture;
ARG 1 leastStatus
METHOD method_23270 getCurrentStatus ()Lnet/minecraft/class_2806;
METHOD method_23271 getLevelType ()Lnet/minecraft/class_3193$class_3194;
METHOD method_30311 tryUpdateBlockEntityAt (Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)V
CLASS class_3194 LevelType
METHOD method_14014 isAfter (Lnet/minecraft/class_3193$class_3194;)Z
ARG 1 levelType
CLASS class_3724 Unloaded
COMMENT Used to represent a chunk that has not been loaded yet.
FIELD field_16433 INSTANCE Lnet/minecraft/class_3193$class_3724;
CLASS class_3896 LevelUpdateListener
METHOD method_17209 updateLevel (Lnet/minecraft/class_1923;Ljava/util/function/IntSupplier;ILjava/util/function/IntConsumer;)V

View File

@ -85,6 +85,7 @@ CLASS net/minecraft/class_3215 net/minecraft/server/world/ServerChunkManager
ARG 1 pos
ARG 3 chunk
ARG 4 status
METHOD method_23273 getChunkLoadingDebugInfo (Lnet/minecraft/class_1923;)Ljava/lang/String;
METHOD method_27907 ifChunkLoaded (JLjava/util/function/Consumer;)V
ARG 1 pos
ARG 3 chunkConsumer

View File

@ -130,6 +130,7 @@ CLASS net/minecraft/class_3898 net/minecraft/server/world/ThreadedAnvilChunkStor
ARG 1 pos
METHOD method_21619 dump (Ljava/io/Writer;)V
METHOD method_21676 getFutureStatus (Ljava/util/concurrent/CompletableFuture;)Ljava/lang/String;
METHOD method_23272 getChunkLoadingDebugInfo (Lnet/minecraft/class_1923;)Ljava/lang/String;
CLASS class_3208 EntityTracker
FIELD field_18246 entry Lnet/minecraft/class_3231;
FIELD field_18247 entity Lnet/minecraft/class_1297;

View File

@ -5,51 +5,77 @@ CLASS net/minecraft/class_4076 net/minecraft/util/math/ChunkSectionPos
ARG 3 z
METHOD method_18674 getSectionX ()I
METHOD method_18675 getSectionCoord (I)I
COMMENT Converts a world coordinate to the corresponding chunk-section coordinate.
ARG 0 coord
METHOD method_18676 from (III)Lnet/minecraft/class_4076;
COMMENT Creates a chunk section position from its x-, y- and z-coordinates.
ARG 0 x
ARG 1 y
ARG 2 z
METHOD method_18677 from (J)Lnet/minecraft/class_4076;
COMMENT Creates a chunk section position from its packed representation.
COMMENT @see #asLong
ARG 0 packed
METHOD method_18678 offset (JIII)J
COMMENT Offsets a packed chunk section position by the given offsets.
COMMENT @see #asLong
ARG 0 packed
ARG 2 x
ARG 3 y
ARG 4 z
METHOD method_18679 offset (JLnet/minecraft/class_2350;)J
COMMENT Offsets a packed chunk section position in the given direction.
COMMENT @see #asLong
ARG 0 packed
ARG 2 direction
METHOD method_18680 from (Lnet/minecraft/class_1297;)Lnet/minecraft/class_4076;
ARG 0 entity
METHOD method_18681 from (Lnet/minecraft/class_1923;I)Lnet/minecraft/class_4076;
COMMENT Creates a chunk section position from a chunk position and the y-coordinate of the vertical section.
ARG 0 chunkPos
ARG 1 y
METHOD method_18682 from (Lnet/minecraft/class_2338;)Lnet/minecraft/class_4076;
ARG 0 pos
METHOD method_18683 getSectionY ()I
METHOD method_18684 getLocalCoord (I)I
COMMENT Converts a world coordinate to the local coordinate system (0-15) of its corresponding chunk section.
ARG 0 coord
METHOD method_18685 asLong (III)J
ARG 0 x
ARG 1 y
ARG 2 z
METHOD method_18686 getX (J)I
METHOD method_18686 unpackX (J)I
COMMENT Gets the chunk section x-coordinate from the given packed chunk section coordinate.
COMMENT @see #asLong
ARG 0 packed
METHOD method_18687 getSectionZ ()I
METHOD method_18688 getBlockCoord (I)I
COMMENT Converts the given chunk section coordinate to the world coordinate system.
COMMENT The returned coordinate will always be at the origin of the chunk section in world space.
ARG 0 sectionCoord
METHOD method_18689 getY (J)I
METHOD method_18689 unpackY (J)I
COMMENT Gets the chunk section y-coordinate from the given packed chunk section coordinate.
COMMENT @see #asLong
ARG 0 packed
METHOD method_18690 getZ (J)I
METHOD method_18690 unpackZ (J)I
COMMENT Gets the chunk section z-coordinate from the given packed chunk section coordinate.
COMMENT @see #asLong
ARG 0 packed
METHOD method_18691 fromBlockPos (J)J
COMMENT Gets the packed chunk section coordinate for a given packed {@link BlockPos}.
COMMENT @see #asLong
COMMENT @see BlockPos#asLong
ARG 0 blockPos
METHOD method_18692 toChunkPos ()Lnet/minecraft/class_1923;
METHOD method_18693 withZeroZ (J)J
METHOD method_18693 withZeroY (J)J
COMMENT Gets the packed chunk section coordinate at y=0 for the same chunk as
COMMENT the given packed chunk section coordinate.
COMMENT @see #asLong
ARG 0 pos
METHOD method_18694 asLong ()J
METHOD method_19454 getPackedLocalPos (Lnet/minecraft/class_2338;)S
METHOD method_19454 packLocal (Lnet/minecraft/class_2338;)S
COMMENT Returns the local position of the given block position relative to
COMMENT its respective chunk section, packed into a short.
ARG 0 pos
METHOD method_19527 getMinX ()I
METHOD method_19528 getMinY ()I
@ -73,6 +99,34 @@ CLASS net/minecraft/class_4076 net/minecraft/util/math/ChunkSectionPos
METHOD method_22446 stream (Lnet/minecraft/class_1923;I)Ljava/util/stream/Stream;
ARG 0 center
ARG 1 radius
METHOD method_30551 unpackLocalX (S)I
COMMENT Gets the local x-coordinate from the given packed local position.
COMMENT @see #packLocal
ARG 0 packedLocalPos
METHOD method_30552 unpackLocalY (S)I
COMMENT Gets the local y-coordinate from the given packed local position.
COMMENT @see #packLocal
ARG 0 packedLocalPos
METHOD method_30553 unpackLocalZ (S)I
COMMENT Gets the local z-coordinate from the given packed local position.
COMMENT @see #packLocal
ARG 0 packedLocalPos
METHOD method_30554 unpackBlockX (S)I
COMMENT Gets the world x-coordinate of the given local position within this chunk section.
COMMENT @see #packLocal
ARG 1 packedLocalPos
METHOD method_30555 unpackBlockY (S)I
COMMENT Gets the world y-coordinate of the given local position within this chunk section.
COMMENT @see #packLocal
ARG 1 packedLocalPos
METHOD method_30556 unpackBlockZ (S)I
COMMENT Gets the world z-coordinate of the given local position within this chunk section.
COMMENT @see #packLocal
ARG 1 packedLocalPos
METHOD method_30557 unpackBlockPos (S)Lnet/minecraft/class_2338;
COMMENT Gets the world position of the given local position within this chunk section.
COMMENT @see #packLocal
ARG 1 packedLocalPos
CLASS 1
FIELD field_19263 iterator Lnet/minecraft/class_3980;
METHOD tryAdvance (Ljava/util/function/Consumer;)Z