mirror of https://github.com/FabricMC/yarn.git
Refactors to ThreadedAnvilChunkStorage and ChunkHolder generation logic (#1542)
* Refactors to ThreadedAnvilChunkStorage and ChunkHolder generation logic * revert statusListeners * improve consistency of future-returning functions * ChunkHolder.ticking -> accessible * Update ChunkStatus "distance from full" mappings and name ChunkHolder#future more specific to saving * Remove `await` prefix for consistency
This commit is contained in:
parent
c2f5c6e69f
commit
d51da147c1
|
@ -10,15 +10,15 @@ CLASS net/minecraft/class_3193 net/minecraft/server/world/ChunkHolder
|
|||
FIELD field_16425 futuresByStatus Ljava/util/concurrent/atomic/AtomicReferenceArray;
|
||||
FIELD field_16426 UNLOADED_CHUNK Lcom/mojang/datafixers/util/Either;
|
||||
FIELD field_16427 UNLOADED_WORLD_CHUNK Lcom/mojang/datafixers/util/Either;
|
||||
FIELD field_16428 future Ljava/util/concurrent/CompletableFuture;
|
||||
FIELD field_16428 savingFuture Ljava/util/concurrent/CompletableFuture;
|
||||
FIELD field_16429 UNLOADED_WORLD_CHUNK_FUTURE Ljava/util/concurrent/CompletableFuture;
|
||||
FIELD field_16430 UNLOADED_CHUNK_FUTURE Ljava/util/concurrent/CompletableFuture;
|
||||
FIELD field_16431 borderFuture Ljava/util/concurrent/CompletableFuture;
|
||||
FIELD field_16431 accessibleFuture Ljava/util/concurrent/CompletableFuture;
|
||||
FIELD field_16432 lastTickLevel I
|
||||
FIELD field_17208 completedLevel I
|
||||
FIELD field_17209 levelUpdateListener Lnet/minecraft/class_3193$class_3896;
|
||||
FIELD field_17210 playersWatchingChunkProvider Lnet/minecraft/class_3193$class_3897;
|
||||
FIELD field_19238 ticking Z
|
||||
FIELD field_19238 accessible Z
|
||||
FIELD field_19333 tickingFuture Ljava/util/concurrent/CompletableFuture;
|
||||
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
|
||||
|
@ -28,15 +28,16 @@ CLASS net/minecraft/class_3193 net/minecraft/server/world/ChunkHolder
|
|||
ARG 5 playersWatchingChunkProvider
|
||||
METHOD method_13992 sendPacketToPlayersWatching (Lnet/minecraft/class_2596;Z)V
|
||||
ARG 2 onlyOnWatchDistanceEdge
|
||||
METHOD method_13993 createFuture (Lnet/minecraft/class_2806;Lnet/minecraft/class_3898;)Ljava/util/concurrent/CompletableFuture;
|
||||
METHOD method_13993 getChunkAt (Lnet/minecraft/class_2806;Lnet/minecraft/class_3898;)Ljava/util/concurrent/CompletableFuture;
|
||||
ARG 1 targetStatus
|
||||
ARG 2 chunkStorage
|
||||
METHOD method_13994 getPos ()Lnet/minecraft/class_1923;
|
||||
METHOD method_14000 getFuture ()Ljava/util/concurrent/CompletableFuture;
|
||||
METHOD method_14000 getSavingFuture ()Ljava/util/concurrent/CompletableFuture;
|
||||
METHOD method_14002 markForBlockUpdate (Lnet/minecraft/class_2338;)V
|
||||
METHOD method_14003 getEntityTickingFuture ()Ljava/util/concurrent/CompletableFuture;
|
||||
METHOD method_14005 getLevel ()I
|
||||
METHOD method_14006 flushUpdates (Lnet/minecraft/class_2818;)V
|
||||
ARG 1 chunk
|
||||
METHOD method_14007 tick (Lnet/minecraft/class_3898;)V
|
||||
ARG 1 chunkStorage
|
||||
METHOD method_14008 getLevelType (I)Lnet/minecraft/class_3193$class_3194;
|
||||
|
@ -44,28 +45,31 @@ CLASS net/minecraft/class_3193 net/minecraft/server/world/ChunkHolder
|
|||
METHOD method_14009 sendBlockEntityUpdatePacket (Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)V
|
||||
ARG 1 world
|
||||
ARG 2 pos
|
||||
METHOD method_14010 getCompletedChunk ()Lnet/minecraft/class_2791;
|
||||
METHOD method_14011 getTargetGenerationStatus (I)Lnet/minecraft/class_2806;
|
||||
METHOD method_14010 getCurrentChunk ()Lnet/minecraft/class_2791;
|
||||
METHOD method_14011 getTargetStatusForLevel (I)Lnet/minecraft/class_2806;
|
||||
ARG 0 level
|
||||
METHOD method_14012 markForLightUpdate (Lnet/minecraft/class_1944;I)V
|
||||
ARG 1 type
|
||||
ARG 2 y
|
||||
METHOD method_15890 setLevel (I)V
|
||||
ARG 1 level
|
||||
METHOD method_16143 updateFuture (Ljava/util/concurrent/CompletableFuture;)V
|
||||
ARG 1 newChunkFuture
|
||||
METHOD method_16143 combineSavingFuture (Ljava/util/concurrent/CompletableFuture;)V
|
||||
ARG 1 then
|
||||
METHOD method_16144 getWorldChunk ()Lnet/minecraft/class_2818;
|
||||
METHOD method_16145 getTickingFuture ()Ljava/util/concurrent/CompletableFuture;
|
||||
METHOD method_16146 getFuture (Lnet/minecraft/class_2806;)Ljava/util/concurrent/CompletableFuture;
|
||||
METHOD method_16146 getFutureFor (Lnet/minecraft/class_2806;)Ljava/util/concurrent/CompletableFuture;
|
||||
ARG 1 leastStatus
|
||||
METHOD method_17207 setCompletedLevel (I)V
|
||||
ARG 1 level
|
||||
METHOD method_17208 getCompletedLevel ()I
|
||||
METHOD method_20384 isTicking ()Z
|
||||
METHOD method_20385 updateTickingStatus ()V
|
||||
METHOD method_20725 getBorderFuture ()Ljava/util/concurrent/CompletableFuture;
|
||||
METHOD method_21737 getNowFuture (Lnet/minecraft/class_2806;)Ljava/util/concurrent/CompletableFuture;
|
||||
METHOD method_20384 isAccessible ()Z
|
||||
METHOD method_20385 updateAccessibleStatus ()V
|
||||
METHOD method_20456 finalizeChunk (Lnet/minecraft/class_2821;)V
|
||||
ARG 1 chunk
|
||||
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;
|
||||
CLASS class_3194 LevelType
|
||||
METHOD method_14014 isAfter (Lnet/minecraft/class_3193$class_3194;)Z
|
||||
|
|
|
@ -23,7 +23,10 @@ CLASS net/minecraft/class_3898 net/minecraft/server/world/ThreadedAnvilChunkStor
|
|||
FIELD field_18242 entityTrackers Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;
|
||||
FIELD field_18243 watchDistance I
|
||||
FIELD field_18307 loadedChunks Lit/unimi/dsi/fastutil/longs/LongSet;
|
||||
FIELD field_18807 chunksToUnload Lit/unimi/dsi/fastutil/longs/Long2ObjectLinkedOpenHashMap;
|
||||
FIELD field_18808 pointOfInterestStorage Lnet/minecraft/class_4153;
|
||||
FIELD field_19343 unloadTaskQueue Ljava/util/Queue;
|
||||
FIELD field_23786 chunkToType Lit/unimi/dsi/fastutil/longs/Long2ByteMap;
|
||||
METHOD <init> (Lnet/minecraft/class_3218;Lnet/minecraft/class_32$class_5143;Lcom/mojang/datafixers/DataFixer;Lnet/minecraft/class_3485;Ljava/util/concurrent/Executor;Lnet/minecraft/class_1255;Lnet/minecraft/class_2823;Lnet/minecraft/class_2794;Lnet/minecraft/class_3949;Ljava/util/function/Supplier;IZ)V
|
||||
ARG 3 dataFixer
|
||||
ARG 5 workerExecutor
|
||||
|
@ -40,19 +43,23 @@ CLASS net/minecraft/class_3898 net/minecraft/server/world/ThreadedAnvilChunkStor
|
|||
ARG 1 pos
|
||||
ARG 3 level
|
||||
ARG 4 holder
|
||||
METHOD method_17220 createChunkRegionFuture (Lnet/minecraft/class_1923;ILjava/util/function/IntFunction;)Ljava/util/concurrent/CompletableFuture;
|
||||
METHOD method_17220 getRegion (Lnet/minecraft/class_1923;ILjava/util/function/IntFunction;)Ljava/util/concurrent/CompletableFuture;
|
||||
ARG 1 centerChunk
|
||||
ARG 2 margin
|
||||
ARG 3 distanceToStatus
|
||||
METHOD method_17226 convertToFullChunk (Lnet/minecraft/class_3193;)Ljava/util/concurrent/CompletableFuture;
|
||||
METHOD method_17228 save (Lnet/minecraft/class_2791;)Z
|
||||
ARG 1 chunk
|
||||
METHOD method_17229 getRequiredStatusForGeneration (Lnet/minecraft/class_2806;I)Lnet/minecraft/class_2806;
|
||||
ARG 1 centerChunkTargetStatus
|
||||
ARG 2 distance
|
||||
METHOD method_17233 tick (Ljava/util/function/BooleanSupplier;)V
|
||||
ARG 1 shouldKeepTicking
|
||||
METHOD method_17235 createTickingFuture (Lnet/minecraft/class_3193;)Ljava/util/concurrent/CompletableFuture;
|
||||
METHOD method_17236 createChunkFuture (Lnet/minecraft/class_3193;Lnet/minecraft/class_2806;)Ljava/util/concurrent/CompletableFuture;
|
||||
METHOD method_17235 makeChunkTickable (Lnet/minecraft/class_3193;)Ljava/util/concurrent/CompletableFuture;
|
||||
ARG 1 holder
|
||||
METHOD method_17236 getChunk (Lnet/minecraft/class_3193;Lnet/minecraft/class_2806;)Ljava/util/concurrent/CompletableFuture;
|
||||
ARG 1 holder
|
||||
ARG 2 requiredStatus
|
||||
METHOD method_17241 sendWatchPackets (Lnet/minecraft/class_3222;Lnet/minecraft/class_1923;[Lnet/minecraft/class_2596;ZZ)V
|
||||
ARG 1 player
|
||||
ARG 2 pos
|
||||
|
@ -62,7 +69,7 @@ CLASS net/minecraft/class_3898 net/minecraft/server/world/ThreadedAnvilChunkStor
|
|||
METHOD method_17242 save (Z)V
|
||||
ARG 1 flush
|
||||
METHOD method_17244 updateHolderMap ()Z
|
||||
METHOD method_17247 createEntityTickingChunkFuture (Lnet/minecraft/class_1923;)Ljava/util/concurrent/CompletableFuture;
|
||||
METHOD method_17247 makeChunkEntitiesTickable (Lnet/minecraft/class_1923;)Ljava/util/concurrent/CompletableFuture;
|
||||
ARG 1 pos
|
||||
METHOD method_17253 getTotalChunksLoadedCount ()I
|
||||
METHOD method_17255 getCurrentChunkHolder (J)Lnet/minecraft/class_3193;
|
||||
|
@ -111,10 +118,14 @@ CLASS net/minecraft/class_3898 net/minecraft/server/world/ThreadedAnvilChunkStor
|
|||
ARG 1 pos
|
||||
METHOD method_20458 tryUnloadChunk (JLnet/minecraft/class_3193;)V
|
||||
ARG 1 pos
|
||||
METHOD method_20580 createBorderFuture (Lnet/minecraft/class_3193;)Ljava/util/concurrent/CompletableFuture;
|
||||
METHOD method_20576 enableTickSchedulers (Lnet/minecraft/class_2818;)Ljava/util/concurrent/CompletableFuture;
|
||||
METHOD method_20580 makeChunkAccessible (Lnet/minecraft/class_3193;)Ljava/util/concurrent/CompletableFuture;
|
||||
ARG 1 holder
|
||||
METHOD method_20605 unloadChunks (Ljava/util/function/BooleanSupplier;)V
|
||||
ARG 1 shouldKeepTicking
|
||||
METHOD method_20617 generateChunk (Lnet/minecraft/class_3193;Lnet/minecraft/class_2806;)Ljava/util/concurrent/CompletableFuture;
|
||||
METHOD method_20617 upgradeChunk (Lnet/minecraft/class_3193;Lnet/minecraft/class_2806;)Ljava/util/concurrent/CompletableFuture;
|
||||
ARG 1 holder
|
||||
ARG 2 requiredStatus
|
||||
METHOD method_20619 loadChunk (Lnet/minecraft/class_1923;)Ljava/util/concurrent/CompletableFuture;
|
||||
ARG 1 pos
|
||||
METHOD method_21619 dump (Ljava/io/Writer;)V
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
CLASS net/minecraft/class_2806 net/minecraft/world/chunk/ChunkStatus
|
||||
FIELD field_12787 chunkType Lnet/minecraft/class_2806$class_2808;
|
||||
FIELD field_12788 STATUS_TO_TARGET_GENERATION_RADIUS Lit/unimi/dsi/fastutil/ints/IntList;
|
||||
FIELD field_12788 STATUS_TO_DISTANCE Lit/unimi/dsi/fastutil/ints/IntList;
|
||||
FIELD field_12789 id Ljava/lang/String;
|
||||
FIELD field_12791 DISTANCE_TO_TARGET_GENERATION_STATUS Ljava/util/List;
|
||||
FIELD field_12791 DISTANCE_TO_STATUS Ljava/util/List;
|
||||
FIELD field_12792 generationTask Lnet/minecraft/class_2806$class_2807;
|
||||
FIELD field_12793 heightMapTypes Ljava/util/EnumSet;
|
||||
FIELD field_12802 taskMargin I
|
||||
|
@ -10,7 +10,7 @@ CLASS net/minecraft/class_2806 net/minecraft/world/chunk/ChunkStatus
|
|||
FIELD field_16647 previous Lnet/minecraft/class_2806;
|
||||
FIELD field_19159 PRE_CARVER_HEIGHTMAPS Ljava/util/EnumSet;
|
||||
FIELD field_19160 POST_CARVER_HEIGHTMAPS Ljava/util/EnumSet;
|
||||
FIELD field_19345 STATUS_BUMP_NO_GEN_TASK Lnet/minecraft/class_2806$class_4305;
|
||||
FIELD field_19345 STATUS_BUMP_LOAD_TASK Lnet/minecraft/class_2806$class_4305;
|
||||
COMMENT A load task which only bumps the chunk status of the chunk.
|
||||
FIELD field_19346 loadTask Lnet/minecraft/class_2806$class_4305;
|
||||
METHOD <init> (Ljava/lang/String;Lnet/minecraft/class_2806;ILjava/util/EnumSet;Lnet/minecraft/class_2806$class_2808;Lnet/minecraft/class_2806$class_2807;Lnet/minecraft/class_2806$class_4305;)V
|
||||
|
@ -36,17 +36,17 @@ CLASS net/minecraft/class_2806 net/minecraft/world/chunk/ChunkStatus
|
|||
ARG 3 structureManager
|
||||
ARG 4 lightingProvider
|
||||
ARG 6 chunks
|
||||
METHOD method_12155 getMaxTargetGenerationRadius ()I
|
||||
METHOD method_12155 getMaxDistanceFromFull ()I
|
||||
METHOD method_12160 getHeightmapTypes ()Ljava/util/EnumSet;
|
||||
METHOD method_12161 getTargetGenerationStatus (I)Lnet/minecraft/class_2806;
|
||||
ARG 0 distance
|
||||
METHOD method_12161 byDistanceFromFull (I)Lnet/minecraft/class_2806;
|
||||
ARG 0 level
|
||||
METHOD method_12164 getChunkType ()Lnet/minecraft/class_2806$class_2808;
|
||||
METHOD method_12165 isAtLeast (Lnet/minecraft/class_2806;)Z
|
||||
ARG 1 chunk
|
||||
METHOD method_12168 get (Ljava/lang/String;)Lnet/minecraft/class_2806;
|
||||
METHOD method_12168 byId (Ljava/lang/String;)Lnet/minecraft/class_2806;
|
||||
ARG 0 id
|
||||
METHOD method_12172 getId ()Ljava/lang/String;
|
||||
METHOD method_12175 getTargetGenerationRadius (Lnet/minecraft/class_2806;)I
|
||||
METHOD method_12175 getDistanceFromFull (Lnet/minecraft/class_2806;)I
|
||||
ARG 0 status
|
||||
METHOD method_16555 register (Ljava/lang/String;Lnet/minecraft/class_2806;ILjava/util/EnumSet;Lnet/minecraft/class_2806$class_2808;Lnet/minecraft/class_2806$class_3768;)Lnet/minecraft/class_2806;
|
||||
ARG 0 id
|
||||
|
|
|
@ -32,7 +32,11 @@ CLASS net/minecraft/class_5138 net/minecraft/world/gen/StructureAccessor
|
|||
ARG 1 piece
|
||||
METHOD method_28387 (Lnet/minecraft/class_2338;Lnet/minecraft/class_3449;)Z
|
||||
ARG 1 structureStart
|
||||
METHOD method_28388 getStructureAt (Lnet/minecraft/class_2338;ZLnet/minecraft/class_3195;)Lnet/minecraft/class_3449;
|
||||
ARG 1 pos
|
||||
ARG 2 matchChildren
|
||||
ARG 3 feature
|
||||
METHOD method_28389 (ZLnet/minecraft/class_2338;Lnet/minecraft/class_3449;)Z
|
||||
ARG 2 structureStart
|
||||
METHOD method_29951 (Lnet/minecraft/class_3233;)Lnet/minecraft/class_5138;
|
||||
METHOD method_29951 forRegion (Lnet/minecraft/class_3233;)Lnet/minecraft/class_5138;
|
||||
ARG 1 region
|
||||
|
|
Loading…
Reference in New Issue