A little more refactor

This commit is contained in:
Aleksey 2021-04-17 11:57:31 +03:00
parent 2b19382e88
commit 04e03cac07
3 changed files with 7 additions and 8 deletions

View file

@ -17,17 +17,14 @@ import ru.betterend.world.generator.GeneratorOptions;
public class DimensionTypeMixin { public class DimensionTypeMixin {
@Inject(method = "defaultEndGenerator", at = @At("HEAD"), cancellable = true) @Inject(method = "defaultEndGenerator", at = @At("HEAD"), cancellable = true)
private static void be_replaceGenerator(Registry<Biome> biomeRegistry, Registry<NoiseGeneratorSettings> chunkGeneratorSettingsRegistry, long seed, CallbackInfoReturnable<ChunkGenerator> info) { private static void be_replaceGenerator(Registry<Biome> biomeRegistry, Registry<NoiseGeneratorSettings> chunkGeneratorSettingsRegistry, long seed, CallbackInfoReturnable<ChunkGenerator> info) {
info.setReturnValue(new NoiseBasedChunkGenerator(new BetterEndBiomeSource(biomeRegistry, seed), seed, () -> { info.setReturnValue(new NoiseBasedChunkGenerator(new BetterEndBiomeSource(biomeRegistry, seed), seed,
return (NoiseGeneratorSettings) chunkGeneratorSettingsRegistry.getOrThrow(NoiseGeneratorSettings.END); () -> chunkGeneratorSettingsRegistry.getOrThrow(NoiseGeneratorSettings.END)));
}));
info.cancel();
} }
@Inject(method = "createDragonFight", at = @At("HEAD"), cancellable = true) @Inject(method = "createDragonFight", at = @At("HEAD"), cancellable = true)
private void be_hasEnderDragonFight(CallbackInfoReturnable<Boolean> info) { private void be_hasEnderDragonFight(CallbackInfoReturnable<Boolean> info) {
if (!GeneratorOptions.hasDragonFights()) { if (!GeneratorOptions.hasDragonFights()) {
info.setReturnValue(false); info.setReturnValue(false);
info.cancel();
} }
} }
} }

View file

@ -3,6 +3,8 @@ package ru.betterend.mixin.common;
import java.util.Map; import java.util.Map;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import com.google.common.collect.Maps;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.packs.resources.ResourceManager; import net.minecraft.server.packs.resources.ResourceManager;
import net.minecraft.tags.Tag; import net.minecraft.tags.Tag;
@ -23,7 +25,7 @@ public class TagLoaderMixin {
public void be_prepareReload(ResourceManager manager, Executor executor, CallbackInfoReturnable<CompletableFuture<Map<ResourceLocation, Tag.Builder>>> info) { public void be_prepareReload(ResourceManager manager, Executor executor, CallbackInfoReturnable<CompletableFuture<Map<ResourceLocation, Tag.Builder>>> info) {
CompletableFuture<Map<ResourceLocation, Tag.Builder>> future = info.getReturnValue(); CompletableFuture<Map<ResourceLocation, Tag.Builder>> future = info.getReturnValue();
info.setReturnValue(CompletableFuture.supplyAsync(() -> { info.setReturnValue(CompletableFuture.supplyAsync(() -> {
Map<ResourceLocation, Tag.Builder> map = future.join(); Map<ResourceLocation, Tag.Builder> map = Maps.newHashMap(future.join());
TagHelper.apply(directory, map); TagHelper.apply(directory, map);
return map; return map;
}, executor)); }, executor));

View file

@ -18,11 +18,11 @@ import ru.betterend.interfaces.IBiomeList;
@Mixin(value = WeightedBiomePicker.class, remap = false) @Mixin(value = WeightedBiomePicker.class, remap = false)
public class WeightedBiomePickerMixin implements IBiomeList { public class WeightedBiomePickerMixin implements IBiomeList {
private List<ResourceKey<Biome>> biomes = Lists.newArrayList(); private final List<ResourceKey<Biome>> biomes = Lists.newArrayList();
@Inject(method = "addBiome", at = @At("TAIL")) @Inject(method = "addBiome", at = @At("TAIL"))
private void be_addBiome(final ResourceKey<Biome> biome, final double weight, CallbackInfo info) { private void be_addBiome(final ResourceKey<Biome> biome, final double weight, CallbackInfo info) {
if (be_isCorrectPicker((WeightedBiomePicker) (Object) this)) { if (be_isCorrectPicker(WeightedBiomePicker.class.cast(this))) {
biomes.add(biome); biomes.add(biome);
} }
} }