Skip to content

Commit

Permalink
Fixed incompatibility with mods that add biomes to the game
Browse files Browse the repository at this point in the history
  • Loading branch information
Sollace committed Sep 21, 2024
1 parent a7a1ae4 commit 475ff74
Showing 1 changed file with 13 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package com.minelittlepony.hdskins.client.gui.player;

import java.util.HashMap;
import java.util.List;
import java.util.UUID;
import java.util.function.Supplier;
import java.util.stream.Stream;

import com.google.common.base.Suppliers;
import com.mojang.authlib.GameProfile;

import net.fabricmc.fabric.impl.resource.loader.ModResourcePackUtil;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.network.ClientConnectionState;
Expand All @@ -22,10 +23,14 @@
import net.minecraft.registry.*;
import net.minecraft.resource.*;
import net.minecraft.resource.featuretoggle.FeatureSet;
import net.minecraft.server.SaveLoading;
import net.minecraft.server.ServerLinks;

interface DummyNetworkHandler {
Supplier<ClientPlayNetworkHandler> INSTANCE = Suppliers.memoize(() -> new ClientPlayNetworkHandler(MinecraftClient.getInstance(), new ClientConnection(NetworkSide.CLIENTBOUND), createConnectionState()));
Supplier<ClientPlayNetworkHandler> INSTANCE = Suppliers.memoize(() -> new ClientPlayNetworkHandler(
MinecraftClient.getInstance(),
new ClientConnection(NetworkSide.CLIENTBOUND), createConnectionState()
));

private static ClientConnectionState createConnectionState() {
return new ClientConnectionState(
Expand All @@ -41,9 +46,11 @@ private static ClientConnectionState createConnectionState() {

private static DynamicRegistryManager.Immutable createRegistries() {
var registries = ClientDynamicRegistryType.createCombinedDynamicRegistries();
return registries.with(ClientDynamicRegistryType.REMOTE, RegistryLoader.loadFromResource(new LifecycledResourceManagerImpl(ResourceType.SERVER_DATA,
List.of(VanillaDataPackProvider.createDefaultPack())), registries.getCombinedRegistryManager(),
Stream.concat(RegistryLoader.DYNAMIC_REGISTRIES.stream(), RegistryLoader.DIMENSION_REGISTRIES.stream()).toList()
)).getCombinedRegistryManager();
var packManager = VanillaDataPackProvider.createManager(FabricLoader.getInstance().getGameDir().resolve("datapacks"), MinecraftClient.getInstance().getSymlinkFinder());
var manager = new SaveLoading.DataPacks(packManager, ModResourcePackUtil.createDefaultDataConfiguration(), true, true).load().getSecond();
var registriesToLoad = Stream.concat(RegistryLoader.DYNAMIC_REGISTRIES.stream(), RegistryLoader.DIMENSION_REGISTRIES.stream()).toList();
return registries
.with(ClientDynamicRegistryType.REMOTE, RegistryLoader.loadFromResource(manager, registries.getCombinedRegistryManager(), registriesToLoad))
.getCombinedRegistryManager();
}
}

0 comments on commit 475ff74

Please sign in to comment.