Skip to content

Commit 2197ac7

Browse files
committed
Annotate CraftWorld.generator and biomeProvider
1 parent 5bd4ae9 commit 2197ac7

4 files changed

Lines changed: 25 additions & 25 deletions

File tree

paper-server/patches/features/0004-Anti-Xray.patch

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ index 3a384175f8e7f204234bbaf3081bdc20c47a0d4b..5699bc15eba92e22433a20cb8326b59f
143143

144144
private ClientboundLevelChunkWithLightPacket(RegistryFriendlyByteBuf buffer) {
145145
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
146-
index ef201f4add358fbf1818f3b2ec9e75fe2cce4c8b..fe9b4484d683fe48f435a053c9c90557fdf80e7b 100644
146+
index 6b67cc939851745718f919488c997eb6719a16fc..085040aa98704f2874bcd95b751b0a81dcdb15ad 100644
147147
--- a/net/minecraft/server/level/ServerLevel.java
148148
+++ b/net/minecraft/server/level/ServerLevel.java
149149
@@ -343,7 +343,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -186,7 +186,7 @@ index 342bc843c384761e883de861044f4f8930ae8763..14878690a88fd4de3e2c127086607e6c
186186
if (io.papermc.paper.event.packet.PlayerChunkLoadEvent.getHandlerList().getRegisteredListeners().length > 0) {
187187
new io.papermc.paper.event.packet.PlayerChunkLoadEvent(new org.bukkit.craftbukkit.CraftChunk(chunk), packetListener.getPlayer().getBukkitEntity()).callEvent();
188188
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
189-
index a2a4dbcfb77d44657b3dfbe97cb629de215c29eb..73717609fccd9af12e2cc39824106f49426b581c 100644
189+
index 9b2ee3e16e2c443e8ff03faec59dd55d729e9274..5ec9e3b37e575e9805bf9f0ce5cae5c1284461d8 100644
190190
--- a/net/minecraft/server/players/PlayerList.java
191191
+++ b/net/minecraft/server/players/PlayerList.java
192192
@@ -407,7 +407,7 @@ public abstract class PlayerList {
@@ -199,7 +199,7 @@ index a2a4dbcfb77d44657b3dfbe97cb629de215c29eb..73717609fccd9af12e2cc39824106f49
199199
}
200200
// Paper end - Send empty chunk
201201
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
202-
index 1f26826b2161cfeb27e5b2060e178b493e9142d9..63f8b0c47e3321b74f4b6bcbc1e28cd751911198 100644
202+
index 1bb40f18b671d63719d96a58ff283767c2cfe383..ba50f21707a69bbf720345996d7c83d2064e5246 100644
203203
--- a/net/minecraft/world/level/Level.java
204204
+++ b/net/minecraft/world/level/Level.java
205205
@@ -132,6 +132,7 @@ public abstract class Level implements LevelAccessor, UUIDLookup<Entity>, AutoCl
@@ -209,10 +209,10 @@ index 1f26826b2161cfeb27e5b2060e178b493e9142d9..63f8b0c47e3321b74f4b6bcbc1e28cd7
209209
+ public final io.papermc.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
210210
private final CraftWorld world;
211211
public boolean pvpMode;
212-
public org.bukkit.generator.ChunkGenerator generator;
212+
public @Nullable org.bukkit.generator.ChunkGenerator generator;
213213
@@ -201,7 +202,8 @@ public abstract class Level implements LevelAccessor, UUIDLookup<Entity>, AutoCl
214-
org.bukkit.generator.BiomeProvider biomeProvider, // CraftBukkit
215-
org.bukkit.World.Environment env, // CraftBukkit
214+
@Nullable org.bukkit.generator.BiomeProvider biomeProvider, // Paper
215+
org.bukkit.World.Environment environment, // Paper
216216
java.util.function.Function<org.spigotmc.SpigotWorldConfig, // Spigot - create per world config
217217
- io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator // Paper - create paper world config
218218
+ io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, // Paper - create paper world config

paper-server/patches/features/0015-Moonrise-optimisation-patches.patch

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26798,7 +26798,7 @@ index c50a1a01d167696134bd65b2d28db323d81d6ebd..5d63bf024cbcbd2f627c64fee77553c9
2679826798
}
2679926799
}
2680026800
diff --git a/net/minecraft/server/level/ServerEntity.java b/net/minecraft/server/level/ServerEntity.java
26801-
index 3f83a589442a80e9c16b5e9cd0f50792defd12bc..0005a1784ccaa00e5d6d67e7be98445150487982 100644
26801+
index 69fbcd734c269bbc9858b0ad0b3b268ddb81fcc6..a1ae77b70f69852d9e4332bf1cb3409c33b21de0 100644
2680226802
--- a/net/minecraft/server/level/ServerEntity.java
2680326803
+++ b/net/minecraft/server/level/ServerEntity.java
2680426804
@@ -104,6 +104,11 @@ public class ServerEntity {
@@ -26814,7 +26814,7 @@ index 3f83a589442a80e9c16b5e9cd0f50792defd12bc..0005a1784ccaa00e5d6d67e7be984451
2681426814
if (!passengers.equals(this.lastPassengers)) {
2681526815
List<UUID> list = this.mountedOrDismounted(passengers).map(Entity::getUUID).toList();
2681626816
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
26817-
index fe9b4484d683fe48f435a053c9c90557fdf80e7b..8afe96bfdc37e57129f1bb4af5b6d5cc22c11aee 100644
26817+
index 085040aa98704f2874bcd95b751b0a81dcdb15ad..cd72273468f596b640bd2d10d846fbe8813846a6 100644
2681826818
--- a/net/minecraft/server/level/ServerLevel.java
2681926819
+++ b/net/minecraft/server/level/ServerLevel.java
2682026820
@@ -166,7 +166,7 @@ import net.minecraft.world.phys.shapes.VoxelShape;
@@ -27565,7 +27565,7 @@ index fe9b4484d683fe48f435a053c9c90557fdf80e7b..8afe96bfdc37e57129f1bb4af5b6d5cc
2756527565
}
2756627566

2756727567
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
27568-
index a8c73bdf8fb130eed8922cb537a35cda07e66da5..3e73c69c9db8cbded28a001b20d9989acb11c638 100644
27568+
index a11591ea5e8aa1861d202db49ab200d814308c6d..31032beb40105b287e51206de2f68c9a070e8bdd 100644
2756927569
--- a/net/minecraft/server/level/ServerPlayer.java
2757027570
+++ b/net/minecraft/server/level/ServerPlayer.java
2757127571
@@ -187,7 +187,7 @@ import net.minecraft.world.scores.Team;
@@ -29725,7 +29725,7 @@ index 300f3ed58109219d97846082941b860585f66fed..892a7c1eb1b321ca6d5ca709142e7fea
2972529725

2972629726
// Paper start - Affects Spawning API
2972729727
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
29728-
index 63f8b0c47e3321b74f4b6bcbc1e28cd751911198..eb4d03cfdb34243901cfba832d35559d5be9e876 100644
29728+
index ba50f21707a69bbf720345996d7c83d2064e5246..e9751a95ffd88f365185d53f8764291d9d2473e2 100644
2972929729
--- a/net/minecraft/world/level/Level.java
2973029730
+++ b/net/minecraft/world/level/Level.java
2973129731
@@ -81,6 +81,7 @@ import net.minecraft.world.level.storage.LevelData;
@@ -30399,7 +30399,7 @@ index 63f8b0c47e3321b74f4b6bcbc1e28cd751911198..eb4d03cfdb34243901cfba832d35559d
3039930399
+ // Paper end - getblock optimisations - cache world height/sections
3040030400
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) levelData).getLevelName()); // Spigot
3040130401
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config
30402-
this.generator = gen;
30402+
this.generator = generator;
3040330403
@@ -281,6 +914,7 @@ public abstract class Level implements LevelAccessor, UUIDLookup<Entity>, AutoCl
3040430404
});
3040530405
// CraftBukkit end

paper-server/patches/sources/net/minecraft/world/level/Level.java.patch

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
+ // CraftBukkit start
2525
+ private final CraftWorld world;
2626
+ public boolean pvpMode;
27-
+ public org.bukkit.generator.ChunkGenerator generator;
27+
+ public @Nullable org.bukkit.generator.ChunkGenerator generator;
2828
+
2929
+ public boolean captureBlockStates = false;
3030
+ public boolean captureTreeGeneration = false;
@@ -81,16 +81,16 @@
8181
long biomeZoomSeed,
8282
- int maxChainedNeighborUpdates
8383
+ int maxChainedNeighborUpdates,
84-
+ org.bukkit.generator.ChunkGenerator gen, // CraftBukkit
85-
+ org.bukkit.generator.BiomeProvider biomeProvider, // CraftBukkit
86-
+ org.bukkit.World.Environment env, // CraftBukkit
84+
+ @Nullable org.bukkit.generator.ChunkGenerator generator, // Paper
85+
+ @Nullable org.bukkit.generator.BiomeProvider biomeProvider, // Paper
86+
+ org.bukkit.World.Environment environment, // Paper
8787
+ java.util.function.Function<org.spigotmc.SpigotWorldConfig, // Spigot - create per world config
8888
+ io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator // Paper - create paper world config
8989
) {
9090
+ this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) levelData).getLevelName()); // Spigot
9191
+ this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config
92-
+ this.generator = gen;
93-
+ this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
92+
+ this.generator = generator;
93+
+ this.world = new CraftWorld((ServerLevel) this, generator, biomeProvider, environment);
9494
+
9595
+ for (SpawnCategory spawnCategory : SpawnCategory.values()) {
9696
+ if (org.bukkit.craftbukkit.util.CraftSpawnCategory.isValidForLimits(spawnCategory)) {

paper-server/src/main/java/org/bukkit/craftbukkit/CraftWorld.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -157,8 +157,8 @@ public class CraftWorld extends CraftRegionAccessor implements World {
157157
private WorldBorder worldBorder;
158158
private Environment environment;
159159
private final CraftServer server = (CraftServer) Bukkit.getServer();
160-
private final ChunkGenerator generator;
161-
private final BiomeProvider biomeProvider;
160+
private final @Nullable ChunkGenerator generator;
161+
private final @Nullable BiomeProvider biomeProvider;
162162
private final List<BlockPopulator> populators = new ArrayList<BlockPopulator>();
163163
private final BlockMetadataStore blockMetadata = new BlockMetadataStore(this);
164164
private final Object2IntOpenHashMap<SpawnCategory> spawnCategoryLimit = new Object2IntOpenHashMap<>();
@@ -286,12 +286,12 @@ public boolean hasStructureAt(final io.papermc.paper.math.Position position, fin
286286

287287
private static final Random rand = new Random();
288288

289-
public CraftWorld(ServerLevel world, ChunkGenerator gen, BiomeProvider biomeProvider, Environment env) {
289+
public CraftWorld(ServerLevel world, @Nullable ChunkGenerator generator, @Nullable BiomeProvider biomeProvider, Environment environment) {
290290
this.world = world;
291-
this.generator = gen;
291+
this.generator = generator;
292292
this.biomeProvider = biomeProvider;
293293

294-
this.environment = env;
294+
this.environment = environment;
295295
// Paper start - per world spawn limits
296296
for (SpawnCategory spawnCategory : SpawnCategory.values()) {
297297
if (CraftSpawnCategory.isValidForLimits(spawnCategory)) {
@@ -909,7 +909,7 @@ public boolean createExplosion(Location loc, float power, boolean setFire, boole
909909
}
910910

911911
@Override
912-
public Environment getEnvironment() {
912+
public @NotNull Environment getEnvironment() {
913913
return this.environment;
914914
}
915915

@@ -924,12 +924,12 @@ public Chunk getChunkAt(Location location) {
924924
}
925925

926926
@Override
927-
public ChunkGenerator getGenerator() {
927+
public @Nullable ChunkGenerator getGenerator() {
928928
return this.generator;
929929
}
930930

931931
@Override
932-
public BiomeProvider getBiomeProvider() {
932+
public @Nullable BiomeProvider getBiomeProvider() {
933933
return this.biomeProvider;
934934
}
935935

0 commit comments

Comments
 (0)