Fixes for 1.19-pre1

This commit is contained in:
Frank 2022-05-19 21:11:51 +02:00
parent d533f93113
commit c6742982df
13 changed files with 165 additions and 174 deletions

View file

@ -2,35 +2,23 @@ package org.betterx.bclib.mixin.common;
import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.biome.BiomeSource;
import net.minecraft.world.level.biome.BiomeSource.StepFeatureData;
import com.google.common.base.Suppliers;
import org.betterx.bclib.BCLib;
import org.betterx.bclib.interfaces.BiomeSourceAccessor;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Mutable;
import org.spongepowered.asm.mixin.Shadow;
import java.util.List;
import java.util.Set;
import java.util.function.Supplier;
@Mixin(BiomeSource.class)
public abstract class BiomeSourceMixin implements BiomeSourceAccessor {
@Shadow
protected abstract List<StepFeatureData> buildFeaturesPerStep(List<Biome> list, boolean bl);
@Shadow
public abstract Set<Biome> possibleBiomes();
@Mutable
@Shadow
@Final
private Supplier<List<StepFeatureData>> featuresPerStep;
public void bclRebuildFeatures() {
//Feature sorting is now a task in ChunkGenerator
BCLib.LOGGER.info("Rebuilding features in BiomeSource " + this);
featuresPerStep = Suppliers.memoize(() -> buildFeaturesPerStep(this.possibleBiomes().stream().toList(), true));
//featuresPerStep = Suppliers.memoize(() -> FeatureSorter.buildFeaturesPerStep(this.possibleBiomes().stream().toList(), true));
}
}

View file

@ -2,18 +2,16 @@ package org.betterx.bclib.mixin.common;
import net.minecraft.resources.ResourceKey;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.Services;
import net.minecraft.server.WorldStem;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.progress.ChunkProgressListener;
import net.minecraft.server.level.progress.ChunkProgressListenerFactory;
import net.minecraft.server.packs.repository.PackRepository;
import net.minecraft.server.players.GameProfileCache;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.storage.LevelStorageSource.LevelStorageAccess;
import net.minecraft.world.level.storage.WorldData;
import com.mojang.authlib.GameProfileRepository;
import com.mojang.authlib.minecraft.MinecraftSessionService;
import com.mojang.datafixers.DataFixer;
import org.betterx.bclib.api.dataexchange.DataExchangeAPI;
import org.betterx.bclib.recipes.BCLRecipeManager;
@ -50,9 +48,7 @@ public class MinecraftServerMixin {
WorldStem worldStem,
Proxy proxy,
DataFixer dataFixer,
MinecraftSessionService minecraftSessionService,
GameProfileRepository gameProfileRepository,
GameProfileCache gameProfileCache,
Services services,
ChunkProgressListenerFactory chunkProgressListenerFactory,
CallbackInfo ci) {
DataExchangeAPI.prepareServerside();

View file

@ -1,7 +1,6 @@
package org.betterx.bclib.mixin.common;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.Tag;
import net.minecraft.tags.TagLoader;
import org.betterx.bclib.api.tag.TagAPI;
@ -11,6 +10,7 @@ import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyArg;
import java.util.List;
import java.util.Map;
@Mixin(TagLoader.class)
@ -20,7 +20,7 @@ public class TagLoaderMixin {
private String directory;
@ModifyArg(method = "loadAndBuild", at = @At(value = "INVOKE", target = "Lnet/minecraft/tags/TagLoader;build(Ljava/util/Map;)Ljava/util/Map;"))
public Map<ResourceLocation, Tag.Builder> be_modifyTags(Map<ResourceLocation, Tag.Builder> tagsMap) {
public Map<ResourceLocation, List<TagLoader.EntryWithSource>> be_modifyTags(Map<ResourceLocation, List<TagLoader.EntryWithSource>> tagsMap) {
return TagAPI.apply(directory, tagsMap);
}
}