|
21 | 21 | import baritone.api.utils.accessor.ILootTable; |
22 | 22 | import com.google.common.collect.ImmutableMap; |
23 | 23 | import com.google.common.collect.ImmutableSet; |
24 | | -import net.minecraft.Util; |
25 | 24 | import net.minecraft.client.Minecraft; |
26 | | -import net.minecraft.commands.Commands; |
| 25 | +import net.minecraft.core.HolderLookup; |
27 | 26 | import net.minecraft.core.LayeredRegistryAccess; |
28 | 27 | import net.minecraft.core.Registry; |
29 | 28 | import net.minecraft.core.RegistryAccess; |
30 | 29 | import net.minecraft.resources.RegistryDataLoader; |
31 | 30 | import net.minecraft.resources.ResourceKey; |
32 | | -import net.minecraft.resources.ResourceLocation; |
33 | 31 | import net.minecraft.server.MinecraftServer; |
34 | 32 | import net.minecraft.server.RegistryLayer; |
35 | 33 | import net.minecraft.server.ReloadableServerRegistries; |
36 | | -import net.minecraft.server.ReloadableServerResources; |
37 | 34 | import net.minecraft.server.level.ServerLevel; |
38 | 35 | import net.minecraft.server.level.progress.ChunkProgressListener; |
39 | 36 | import net.minecraft.server.packs.PackType; |
40 | 37 | import net.minecraft.server.packs.VanillaPackResources; |
41 | | -import net.minecraft.server.packs.repository.PackRepository; |
42 | 38 | import net.minecraft.server.packs.repository.ServerPacksSource; |
43 | 39 | import net.minecraft.server.packs.resources.CloseableResourceManager; |
44 | 40 | import net.minecraft.server.packs.resources.MultiPackResourceManager; |
45 | | -import net.minecraft.server.packs.resources.ResourceManager; |
46 | 41 | import net.minecraft.tags.TagLoader; |
47 | 42 | import net.minecraft.world.RandomSequences; |
48 | 43 | import net.minecraft.world.flag.FeatureFlagSet; |
|
51 | 46 | import net.minecraft.world.item.Items; |
52 | 47 | import net.minecraft.world.level.CustomSpawner; |
53 | 48 | import net.minecraft.world.level.Level; |
54 | | -import net.minecraft.world.level.WorldDataConfiguration; |
55 | 49 | import net.minecraft.world.level.block.Block; |
56 | 50 | import net.minecraft.world.level.block.state.BlockState; |
57 | 51 | import net.minecraft.world.level.block.state.properties.Property; |
58 | 52 | import net.minecraft.world.level.dimension.LevelStem; |
59 | 53 | import net.minecraft.world.level.storage.LevelStorageSource; |
60 | 54 | import net.minecraft.world.level.storage.ServerLevelData; |
61 | | -import net.minecraft.world.level.storage.loot.BuiltInLootTables; |
62 | 55 | import net.minecraft.world.level.storage.loot.LootContext; |
63 | 56 | import net.minecraft.world.level.storage.loot.LootParams; |
64 | 57 | import net.minecraft.world.level.storage.loot.LootTable; |
@@ -307,11 +300,26 @@ public static Unsafe getUnsafe() { |
307 | 300 | } |
308 | 301 |
|
309 | 302 | public static CompletableFuture<RegistryAccess> load() { |
310 | | - PackRepository packRepository = Minecraft.getInstance().getResourcePackRepository(); |
311 | | - CloseableResourceManager closeableResourceManager = new MultiPackResourceManager(PackType.SERVER_DATA, packRepository.openAllSelected()); |
312 | | - LayeredRegistryAccess<RegistryLayer> layeredRegistryAccess = RegistryLayer.createRegistryAccess(); |
| 303 | + // Simplified from {@link net.minecraft.server.WorldLoader#load()} |
| 304 | + CloseableResourceManager closeableResourceManager = new MultiPackResourceManager( |
| 305 | + PackType.SERVER_DATA, |
| 306 | + List.of(ServerPacksSource.createVanillaPackSource()) |
| 307 | + ); |
| 308 | + LayeredRegistryAccess<RegistryLayer> baseLayeredRegistry = RegistryLayer.createRegistryAccess(); |
313 | 309 | List<Registry.PendingTags<?>> pendingTags = TagLoader.loadTagsForExistingRegistries( |
314 | | - closeableResourceManager, layeredRegistryAccess.getLayer(RegistryLayer.STATIC) |
| 310 | + closeableResourceManager, baseLayeredRegistry.getLayer(RegistryLayer.STATIC) |
| 311 | + ); |
| 312 | + List<HolderLookup.RegistryLookup<?>> worldGenRegistryLookupList = TagLoader.buildUpdatedLookups( |
| 313 | + baseLayeredRegistry.getAccessForLoading(RegistryLayer.WORLDGEN), |
| 314 | + pendingTags |
| 315 | + ); |
| 316 | + LayeredRegistryAccess<RegistryLayer> layeredRegistryAccess = baseLayeredRegistry.replaceFrom( |
| 317 | + RegistryLayer.WORLDGEN, |
| 318 | + RegistryDataLoader.load( |
| 319 | + closeableResourceManager, |
| 320 | + worldGenRegistryLookupList, |
| 321 | + RegistryDataLoader.WORLDGEN_REGISTRIES |
| 322 | + ) |
315 | 323 | ); |
316 | 324 | return ReloadableServerRegistries.reload( |
317 | 325 | layeredRegistryAccess, |
|
0 commit comments