From 001998d87622146ccacb86470713b46331e233f1 Mon Sep 17 00:00:00 2001 From: liach <7806504+liach@users.noreply.github.com> Date: Sat, 2 May 2020 07:31:15 -0500 Subject: [PATCH] Spawn mappings (#1316) * Spawn mappings Signed-off-by: liach * Updates some stuff per juuz suggestion Signed-off-by: liach Co-authored-by: liach --- .../server/world/ChunkTicketManager.mapping | 2 +- .../server/world/ServerChunkManager.mapping | 5 ++ .../server/world/ServerWorld.mapping | 1 + .../minecraft/util/math/GravityField.mapping | 20 +++++ .../net/minecraft/world/SpawnHelper.mapping | 85 +++++++++++++++++++ .../net/minecraft/world/biome/Biome.mapping | 38 +++++++++ 6 files changed, 150 insertions(+), 1 deletion(-) create mode 100644 mappings/net/minecraft/util/math/GravityField.mapping diff --git a/mappings/net/minecraft/server/world/ChunkTicketManager.mapping b/mappings/net/minecraft/server/world/ChunkTicketManager.mapping index 8816a18a52..cec04f2cec 100644 --- a/mappings/net/minecraft/server/world/ChunkTicketManager.mapping +++ b/mappings/net/minecraft/server/world/ChunkTicketManager.mapping @@ -37,7 +37,7 @@ CLASS net/minecraft/class_3204 net/minecraft/server/world/ChunkTicketManager METHOD method_14051 handleChunkLeave (Lnet/minecraft/class_4076;Lnet/minecraft/class_3222;)V ARG 1 pos ARG 2 player - METHOD method_14052 getLevelCount ()I + METHOD method_14052 getSpawningChunkCount ()I METHOD method_14053 setLevel (JILnet/minecraft/class_3193;I)Lnet/minecraft/class_3193; ARG 1 pos ARG 3 level diff --git a/mappings/net/minecraft/server/world/ServerChunkManager.mapping b/mappings/net/minecraft/server/world/ServerChunkManager.mapping index f9fd363b1c..51ab35b815 100644 --- a/mappings/net/minecraft/server/world/ServerChunkManager.mapping +++ b/mappings/net/minecraft/server/world/ServerChunkManager.mapping @@ -14,6 +14,7 @@ CLASS net/minecraft/class_3215 net/minecraft/server/world/ServerChunkManager FIELD field_19335 chunkPosCache [J FIELD field_19336 chunkStatusCache [Lnet/minecraft/class_2806; FIELD field_19337 chunkCache [Lnet/minecraft/class_2791; + FIELD field_24455 spawnEntry Lnet/minecraft/class_1948$class_5262; METHOD (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_2794;IZLnet/minecraft/class_3949;Ljava/util/function/Supplier;)V ARG 3 dataFixer ARG 4 structureManager @@ -68,4 +69,8 @@ CLASS net/minecraft/class_3215 net/minecraft/server/world/ServerChunkManager ARG 1 pos ARG 3 chunk ARG 4 status + METHOD method_27907 ifChunkLoaded (JLjava/util/function/Consumer;)V + ARG 1 pos + ARG 3 chunkConsumer + METHOD method_27908 getSpawnInfo ()Lnet/minecraft/class_1948$class_5262; CLASS class_4212 MainThreadExecutor diff --git a/mappings/net/minecraft/server/world/ServerWorld.mapping b/mappings/net/minecraft/server/world/ServerWorld.mapping index 640d2ead60..fd01ac719d 100644 --- a/mappings/net/minecraft/server/world/ServerWorld.mapping +++ b/mappings/net/minecraft/server/world/ServerWorld.mapping @@ -150,6 +150,7 @@ CLASS net/minecraft/class_3218 net/minecraft/server/world/ServerWorld METHOD method_23660 wakeSleepingPlayers ()V METHOD method_24500 locateBiome (Lnet/minecraft/class_1959;Lnet/minecraft/class_2338;II)Lnet/minecraft/class_2338; METHOD method_27056 getStructureAccessor ()Lnet/minecraft/class_5138; + METHOD method_27909 iterateEntities ()Ljava/lang/Iterable; METHOD method_8416 addLightning (Lnet/minecraft/class_1538;)V METHOD method_8448 updateSleepingPlayers ()V METHOD method_8487 locateStructure (Ljava/lang/String;Lnet/minecraft/class_2338;IZ)Lnet/minecraft/class_2338; diff --git a/mappings/net/minecraft/util/math/GravityField.mapping b/mappings/net/minecraft/util/math/GravityField.mapping new file mode 100644 index 0000000000..5a142eb77a --- /dev/null +++ b/mappings/net/minecraft/util/math/GravityField.mapping @@ -0,0 +1,20 @@ +CLASS net/minecraft/class_5263 net/minecraft/util/math/GravityField + COMMENT Represents a density field in an area. Consider visualizing it like real + COMMENT life gravity's distortion of space. + FIELD field_24401 points Ljava/util/List; + METHOD method_27831 addPoint (Lnet/minecraft/class_2338;D)V + COMMENT Adds a point to the gravity field. + ARG 1 pos + ARG 2 mass + METHOD method_27832 calculate (Lnet/minecraft/class_2338;D)D + COMMENT Calculate the gravity on a potential point at {@code pos} with {@code mass}. + ARG 1 pos + ARG 2 mass + CLASS class_5264 Point + FIELD field_24402 pos Lnet/minecraft/class_2338; + FIELD field_24403 mass D + METHOD (Lnet/minecraft/class_2338;D)V + ARG 1 pos + ARG 2 mass + METHOD method_27833 getGravityFactor (Lnet/minecraft/class_2338;)D + ARG 1 pos diff --git a/mappings/net/minecraft/world/SpawnHelper.mapping b/mappings/net/minecraft/world/SpawnHelper.mapping index 47797f6167..fe4b50319f 100644 --- a/mappings/net/minecraft/world/SpawnHelper.mapping +++ b/mappings/net/minecraft/world/SpawnHelper.mapping @@ -1,10 +1,45 @@ CLASS net/minecraft/class_1948 net/minecraft/world/SpawnHelper + FIELD field_24392 CHUNK_AREA I + FIELD field_24393 SPAWNABLE_CATEGORIES [Lnet/minecraft/class_1311; FIELD field_9292 LOGGER Lorg/apache/logging/log4j/Logger; METHOD method_24930 spawnEntitiesInChunk (Lnet/minecraft/class_1311;Lnet/minecraft/class_3218;Lnet/minecraft/class_2791;Lnet/minecraft/class_2338;Lnet/minecraft/class_1948$class_5261;Lnet/minecraft/class_1948$class_5259;)V ARG 0 category ARG 1 world ARG 2 chunk ARG 3 pos + ARG 4 checker + ARG 5 runner + METHOD method_24931 createMob (Lnet/minecraft/class_3218;Lnet/minecraft/class_1299;)Lnet/minecraft/class_1308; + ARG 0 world + ARG 1 type + METHOD method_24932 isValidSpawn (Lnet/minecraft/class_3218;Lnet/minecraft/class_1308;D)Z + ARG 0 world + ARG 1 entity + ARG 2 squaredDistance + METHOD method_24933 isAcceptableSpawnPosition (Lnet/minecraft/class_3218;Lnet/minecraft/class_2791;Lnet/minecraft/class_2338$class_2339;D)Z + ARG 0 world + ARG 1 chunk + ARG 2 pos + ARG 3 squaredDistance + METHOD method_24934 canSpawn (Lnet/minecraft/class_3218;Lnet/minecraft/class_1311;Lnet/minecraft/class_5138;Lnet/minecraft/class_2794;Lnet/minecraft/class_1959$class_1964;Lnet/minecraft/class_2338$class_2339;D)Z + ARG 0 world + ARG 1 category + ARG 2 structureAccessor + ARG 3 chunkGenerator + ARG 4 spawnEntry + ARG 5 pos + ARG 6 squaredDistance + METHOD method_27815 setupSpawn (ILjava/lang/Iterable;Lnet/minecraft/class_1948$class_5260;)Lnet/minecraft/class_1948$class_5262; + ARG 0 spawningChunkCount + ARG 1 entities + ARG 2 chunkSource + METHOD method_27821 spawn (Lnet/minecraft/class_3218;Lnet/minecraft/class_2818;Lnet/minecraft/class_1948$class_5262;ZZZ)V + ARG 0 world + ARG 1 chunk + ARG 2 info + ARG 3 spawnAnimals + ARG 4 spawnMonsters + ARG 5 shouldSpawnAnimals METHOD method_27822 getBiomeDirectly (Lnet/minecraft/class_2338;Lnet/minecraft/class_2791;)Lnet/minecraft/class_1959; ARG 0 pos ARG 1 chunk @@ -17,6 +52,11 @@ CLASS net/minecraft/class_1948 net/minecraft/world/SpawnHelper ARG 2 x ARG 3 z METHOD method_8659 containsSpawnEntry (Lnet/minecraft/class_5138;Lnet/minecraft/class_2794;Lnet/minecraft/class_1311;Lnet/minecraft/class_1959$class_1964;Lnet/minecraft/class_2338;)Z + ARG 0 structureAccessor + ARG 1 chunkGenerator + ARG 2 category + ARG 3 spawnEntry + ARG 4 pos METHOD method_8660 canSpawn (Lnet/minecraft/class_1317$class_1319;Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;Lnet/minecraft/class_1299;)Z ARG 0 location ARG 1 world @@ -36,4 +76,49 @@ CLASS net/minecraft/class_1948 net/minecraft/world/SpawnHelper ARG 0 category ARG 1 world ARG 2 chunk + ARG 3 checker + ARG 4 runner METHOD method_8664 pickRandomSpawnEntry (Lnet/minecraft/class_5138;Lnet/minecraft/class_2794;Lnet/minecraft/class_1311;Ljava/util/Random;Lnet/minecraft/class_2338;)Lnet/minecraft/class_1959$class_1964; + ARG 0 structureAccessor + ARG 1 chunkGenerator + ARG 2 category + ARG 3 random + ARG 4 pos + CLASS class_5259 Runner + METHOD run (Lnet/minecraft/class_1308;Lnet/minecraft/class_2791;)V + ARG 1 entity + ARG 2 chunk + CLASS class_5260 ChunkSource + METHOD query (JLjava/util/function/Consumer;)V + ARG 1 pos + ARG 3 chunkConsumer + CLASS class_5261 Checker + METHOD test (Lnet/minecraft/class_1299;Lnet/minecraft/class_2338;Lnet/minecraft/class_2791;)Z + ARG 1 type + ARG 2 pos + ARG 3 chunk + CLASS class_5262 Info + FIELD field_24394 spawningChunkCount I + FIELD field_24395 categoryToCount Lit/unimi/dsi/fastutil/objects/Object2IntMap; + FIELD field_24396 densityField Lnet/minecraft/class_5263; + FIELD field_24397 categoryToCountView Lit/unimi/dsi/fastutil/objects/Object2IntMap; + FIELD field_24398 cachedPos Lnet/minecraft/class_2338; + FIELD field_24399 cachedEntityType Lnet/minecraft/class_1299; + FIELD field_24400 cachedDensityMass D + METHOD (ILit/unimi/dsi/fastutil/objects/Object2IntMap;Lnet/minecraft/class_5263;)V + ARG 1 spawningChunkCount + ARG 2 categoryToCount + ARG 3 densityField + METHOD method_27823 getSpawningChunkCount ()I + METHOD method_27824 test (Lnet/minecraft/class_1299;Lnet/minecraft/class_2338;Lnet/minecraft/class_2791;)Z + COMMENT @see SpawnHelper.Checker#test(EntityType, BlockPos, Chunk) + ARG 1 type + ARG 2 pos + ARG 3 chunk + METHOD method_27825 run (Lnet/minecraft/class_1308;Lnet/minecraft/class_2791;)V + COMMENT @see SpawnHelper.Runner#run(MobEntity, Chunk) + ARG 1 entity + ARG 2 chunk + METHOD method_27826 isBelowCap (Lnet/minecraft/class_1311;)Z + ARG 1 category + METHOD method_27830 getCategoryToCount ()Lit/unimi/dsi/fastutil/objects/Object2IntMap; diff --git a/mappings/net/minecraft/world/biome/Biome.mapping b/mappings/net/minecraft/world/biome/Biome.mapping index 55bd935207..e406d219c5 100644 --- a/mappings/net/minecraft/world/biome/Biome.mapping +++ b/mappings/net/minecraft/world/biome/Biome.mapping @@ -3,6 +3,7 @@ CLASS net/minecraft/class_1959 net/minecraft/world/biome/Biome FIELD field_21806 skyColor I FIELD field_22039 effects Lnet/minecraft/class_4763; FIELD field_22040 noisePoints Ljava/util/List; + FIELD field_24406 spawnDensities Ljava/util/Map; FIELD field_9323 BIOMES Ljava/util/Set; FIELD field_9324 FOLIAGE_NOISE Lnet/minecraft/class_3543; FIELD field_9325 spawns Ljava/util/Map; @@ -34,7 +35,14 @@ CLASS net/minecraft/class_1959 net/minecraft/world/biome/Biome METHOD method_24936 getMoodSound ()Ljava/util/Optional; METHOD method_24937 getAdditionsSound ()Ljava/util/Optional; METHOD method_27342 streamNoises ()Ljava/util/stream/Stream; + METHOD method_27835 getSpawnDensity (Lnet/minecraft/class_1299;)Lnet/minecraft/class_1959$class_5265; + ARG 1 type + METHOD method_27836 addSpawnDensity (Lnet/minecraft/class_1299;DD)V + ARG 1 type + ARG 2 maxMass + ARG 4 mass METHOD method_8684 hasStructureFeature (Lnet/minecraft/class_3195;)Z + ARG 1 structureFeature METHOD method_8685 canSetIce (Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;Z)Z ARG 1 world ARG 2 pos @@ -46,11 +54,13 @@ CLASS net/minecraft/class_1959 net/minecraft/world/biome/Biome METHOD method_8690 getMaxSpawnLimit ()F METHOD method_8691 addCarver (Lnet/minecraft/class_2893$class_2894;Lnet/minecraft/class_2922;)V ARG 1 step + ARG 2 configuredCarver METHOD method_8692 getSurfaceBuilder ()Lnet/minecraft/class_3504; METHOD method_8693 getName ()Lnet/minecraft/class_2561; METHOD method_8694 getPrecipitation ()Lnet/minecraft/class_1959$class_1963; METHOD method_8695 getDepth ()F METHOD method_8696 canSetSnow (Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;)Z + ARG 1 world ARG 2 blockPos METHOD method_8697 getSkyColor ()I METHOD method_8698 getFoliageColor ()I @@ -58,6 +68,12 @@ CLASS net/minecraft/class_1959 net/minecraft/world/biome/Biome ARG 1 category METHOD method_8702 generateFeatureStep (Lnet/minecraft/class_2893$class_2895;Lnet/minecraft/class_5138;Lnet/minecraft/class_2794;Lnet/minecraft/class_1936;JLnet/minecraft/class_2919;Lnet/minecraft/class_2338;)V ARG 1 step + ARG 2 structureAccessor + ARG 3 chunkGenerator + ARG 4 world + ARG 5 populationSeed + ARG 7 chunkRandom + ARG 8 pos METHOD method_8703 buildSurface (Ljava/util/Random;Lnet/minecraft/class_2791;IIIDLnet/minecraft/class_2680;Lnet/minecraft/class_2680;IJ)V ARG 1 random ARG 2 chunk @@ -74,11 +90,14 @@ CLASS net/minecraft/class_1959 net/minecraft/world/biome/Biome ARG 1 world ARG 2 blockPos METHOD method_8706 getStructureFeatureConfig (Lnet/minecraft/class_3195;)Lnet/minecraft/class_3037; + ARG 1 structureFeature METHOD method_8707 computeTemperature (Lnet/minecraft/class_2338;)F ARG 1 blockPos METHOD method_8708 addSpawn (Lnet/minecraft/class_1311;Lnet/minecraft/class_1959$class_1964;)V ARG 1 type + ARG 2 spawnEntry METHOD method_8710 addStructureFeature (Lnet/minecraft/class_2975;)V + ARG 1 configuredStructureFeature METHOD method_8711 getGrassColorAt (DD)I ARG 1 x ARG 3 z @@ -91,9 +110,11 @@ CLASS net/minecraft/class_1959 net/minecraft/world/biome/Biome METHOD method_8716 getModifiedBiome (Lnet/minecraft/class_1959;)Lnet/minecraft/class_1959; ARG 0 biome METHOD method_8717 getCarversForStep (Lnet/minecraft/class_2893$class_2894;)Ljava/util/List; + ARG 1 carver METHOD method_8718 getFlowerFeatures ()Ljava/util/List; METHOD method_8719 addFeature (Lnet/minecraft/class_2893$class_2895;Lnet/minecraft/class_2975;)V ARG 1 step + ARG 2 configuredFeature METHOD method_8721 getFeaturesForStep (Lnet/minecraft/class_2893$class_2895;)Ljava/util/List; ARG 1 feature METHOD method_8722 getSurfaceConfig ()Lnet/minecraft/class_3531; @@ -200,3 +221,20 @@ CLASS net/minecraft/class_1959 net/minecraft/world/biome/Biome COMMENT biome that offers a closest point to its arbitrary point. ARG 1 other COMMENT the other noise point + CLASS class_5265 SpawnDensity + COMMENT Embodies the density limit information of a type of entity in entity + COMMENT spawning logic. The density field is generated for all entities spawned + COMMENT than a specific type of entity. + FIELD field_24407 gravityLimit D + FIELD field_24408 mass D + METHOD (DD)V + ARG 1 gravityLimit + ARG 3 mass + METHOD method_27837 getGravityLimit ()D + COMMENT Represents the cap of gravity as in {@link + COMMENT net.minecraft.util.math.GravityField#calculate(BlockPos, double)} for + COMMENT entity spawning. If the cap is exceeded, the entity spawning attempt + COMMENT will skip. + METHOD method_27838 getMass ()D + COMMENT Represents the mass of each entity spawned. Will affect gravity + COMMENT calculation.