Skip to content

Commit 82edaff

Browse files
committed
fix: made ASP spawn position work again
1 parent bc13b84 commit 82edaff

3 files changed

Lines changed: 21 additions & 1 deletion

File tree

build-data/legitslimepaper.at

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
# This file is auto generated, any changes may be overridden!
22
# See CONTRIBUTING.md on how to add access transformers.
33
public net.minecraft.server.MinecraftServer readScoreboard(Lnet/minecraft/world/level/storage/DimensionDataStorage;)V
4+
public net.minecraft.server.MinecraftServer worldData
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
--- a/src/main/java/com/infernalsuite/asp/SlimeNMSBridgeImpl.java
22
+++ b/src/main/java/com/infernalsuite/asp/SlimeNMSBridgeImpl.java
3-
@@ -79,6 +_,7 @@
3+
@@ -79,8 +_,10 @@
44
// Some stuff is needed when loading overworld world
55
SlimeLevelInstance instance = ((SlimeInMemoryWorld) this.loadInstance(defaultWorld, Level.OVERWORLD)).getInstance();
66
DimensionDataStorage worldpersistentdata = instance.getDataStorage();
77
+ instance.getServer().readScoreboard(worldpersistentdata); // Moose
88
instance.getCraftServer().scoreboardManager = new org.bukkit.craftbukkit.scoreboard.CraftScoreboardManager(instance.getServer(), instance.getScoreboard());
99
instance.getServer().commandStorage = new CommandStorage(worldpersistentdata);
10+
+ instance.getServer().worldData = instance.serverLevelData; // Moose - Set default spawn location correctly (and prob more)
1011

12+
return true;
13+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
--- a/net/minecraft/server/level/PlayerSpawnFinder.java
2+
+++ b/net/minecraft/server/level/PlayerSpawnFinder.java
3+
@@ -63,7 +_,12 @@
4+
playerSpawnFinder.scheduleNext();
5+
return playerSpawnFinder.finishedFuture;
6+
} else {
7+
- return CompletableFuture.completedFuture(fixupSpawnHeight(level, pos));
8+
+ // Moose start - ensure chunks are loaded for spawn search
9+
+ int sectionPosX = SectionPos.blockToSectionCoord(pos.getX());
10+
+ int sectionPosZ = SectionPos.blockToSectionCoord(pos.getZ());
11+
+ return level.moonrise$getChunkTaskScheduler().chunkHolderManager.addTicketAndLoadWithRadius(TicketType.SPAWN_SEARCH, new ChunkPos(sectionPosX, sectionPosZ), 0, net.minecraft.world.level.chunk.status.ChunkStatus.FULL, ca.spottedleaf.concurrentutil.util.Priority.HIGH).
12+
+ thenApply((v) -> { return fixupSpawnHeight(level, pos); });
13+
+ // Moose end
14+
}
15+
}
16+

0 commit comments

Comments
 (0)