|
31 | 31 | import net.minecraft.core.SectionPos; |
32 | 32 | import net.minecraft.core.registries.Registries; |
33 | 33 | import net.minecraft.nbt.CompoundTag; |
| 34 | +import net.minecraft.resources.ResourceKey; |
34 | 35 | import net.minecraft.server.level.ServerLevel; |
35 | 36 | import net.minecraft.util.Tuple; |
36 | 37 | import net.minecraft.world.entity.Entity; |
|
60 | 61 | import org.spongepowered.api.world.volume.stream.StreamOptions; |
61 | 62 | import org.spongepowered.api.world.volume.stream.VolumeElement; |
62 | 63 | import org.spongepowered.api.world.volume.stream.VolumeStream; |
| 64 | +import org.spongepowered.common.SpongeCommon; |
63 | 65 | import org.spongepowered.common.accessor.client.multiplayer.ClientLevelAccessor; |
64 | 66 | import org.spongepowered.common.accessor.server.level.ServerLevelAccessor; |
65 | 67 | import org.spongepowered.common.accessor.world.level.block.entity.BlockEntityAccessor; |
@@ -177,7 +179,11 @@ public static boolean setBiomeOnNativeChunk(final int x, final int y, final int |
177 | 179 | final int maskedX = x & 3; |
178 | 180 | final int maskedY = y & 3; |
179 | 181 | final int maskedZ = z & 3; |
180 | | - final var old = ((PalettedContainer<Holder<Biome>>) section.getBiomes()).getAndSet(maskedX, maskedY, maskedZ, Holder.direct((Biome) (Object) biome)); |
| 182 | + final Registry<Biome> biomeRegistry = SpongeCommon.vanillaRegistry(Registries.BIOME); |
| 183 | + final ResourceKey<Biome> biomeResourceKey = biomeRegistry.getResourceKey((Biome) (Object) biome) |
| 184 | + .orElseThrow(() -> new IllegalStateException("Missing resource in " + biomeRegistry.key() + ": " + biome)); |
| 185 | + final Holder.Reference<Biome> biomeHolder = biomeRegistry.getHolderOrThrow(biomeResourceKey); |
| 186 | + final var old = ((PalettedContainer<Holder<Biome>>) section.getBiomes()).getAndSet(maskedX, maskedY, maskedZ, biomeHolder); |
181 | 187 | if (old.value() == (Object) biome) { |
182 | 188 | return false; |
183 | 189 | } |
|
0 commit comments