Moved FlatLevelPresets to BCLib and started WorldPresets
This commit is contained in:
parent
e8dbbffa8e
commit
375eb09bb9
5 changed files with 63 additions and 8 deletions
|
@ -11,6 +11,7 @@ import org.betterx.bclib.api.dataexchange.DataExchangeAPI;
|
|||
import org.betterx.bclib.api.dataexchange.handler.autosync.*;
|
||||
import org.betterx.bclib.api.tag.TagAPI;
|
||||
import org.betterx.bclib.config.Configs;
|
||||
import org.betterx.bclib.presets.WorldPresets;
|
||||
import org.betterx.bclib.recipes.AnvilRecipe;
|
||||
import org.betterx.bclib.recipes.CraftingRecipes;
|
||||
import org.betterx.bclib.registry.BaseBlockEntities;
|
||||
|
@ -37,6 +38,7 @@ public class BCLib implements ModInitializer {
|
|||
CraftingRecipes.init();
|
||||
WorldDataAPI.registerModCache(MOD_ID);
|
||||
DataExchangeAPI.registerMod(MOD_ID);
|
||||
WorldPresets.register();
|
||||
AnvilRecipe.register();
|
||||
|
||||
DataExchangeAPI.registerDescriptors(List.of(
|
||||
|
|
|
@ -35,11 +35,15 @@ public class TagAPI {
|
|||
"tags/worldgen/biome",
|
||||
b -> BiomeAPI.getBiomeID(b));
|
||||
|
||||
private static <T> TagType.RegistryBacked<T> registerType(DefaultedRegistry<T> registry) {
|
||||
public static <T> TagType.RegistryBacked<T> registerType(DefaultedRegistry<T> registry) {
|
||||
TagType<T> type = new TagType.RegistryBacked<>(registry);
|
||||
return (TagType.RegistryBacked<T>) TYPES.computeIfAbsent(type.directory, (dir) -> type);
|
||||
}
|
||||
|
||||
public static <T> TagType.Simple<T> registerType(Registry<T> registry, String directory) {
|
||||
return registerType(registry.key(), directory, (o) -> registry.getKey(o));
|
||||
}
|
||||
|
||||
public static <T> TagType.Simple<T> registerType(ResourceKey<? extends Registry<T>> registry,
|
||||
String directory,
|
||||
Function<T, ResourceLocation> locationProvider) {
|
||||
|
|
|
@ -3,7 +3,6 @@ package org.betterx.bclib.mixin.common;
|
|||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.data.BuiltinRegistries;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.world.level.biome.Biome;
|
||||
import net.minecraft.world.level.dimension.DimensionType;
|
||||
import net.minecraft.world.level.dimension.LevelStem;
|
||||
|
@ -14,7 +13,6 @@ import net.minecraft.world.level.levelgen.presets.WorldPresets;
|
|||
import net.minecraft.world.level.levelgen.structure.StructureSet;
|
||||
import net.minecraft.world.level.levelgen.synth.NormalNoise;
|
||||
|
||||
import org.betterx.bclib.BCLib;
|
||||
import org.betterx.bclib.world.generator.BCLibEndBiomeSource;
|
||||
import org.betterx.bclib.world.generator.BCLibNetherBiomeSource;
|
||||
import org.spongepowered.asm.mixin.Final;
|
||||
|
@ -27,7 +25,6 @@ import java.util.Map;
|
|||
|
||||
@Mixin(WorldPresets.Bootstrap.class)
|
||||
public abstract class WorldPresetsBootstrapMixin {
|
||||
private static final ResourceKey<WorldPreset> BCL_NORMAL = bcl_register("normal");
|
||||
@Shadow
|
||||
@Final
|
||||
private Registry<WorldPreset> presets;
|
||||
|
@ -54,9 +51,6 @@ public abstract class WorldPresetsBootstrapMixin {
|
|||
private Holder<NoiseGeneratorSettings> endNoiseSettings;
|
||||
|
||||
//see WorldPresets.register
|
||||
private static ResourceKey<WorldPreset> bcl_register(String string) {
|
||||
return ResourceKey.create(Registry.WORLD_PRESET_REGISTRY, BCLib.makeID(string));
|
||||
}
|
||||
|
||||
@ModifyArg(method = "run", at = @At(value = "INVOKE", ordinal = 0, target = "Lnet/minecraft/world/level/levelgen/presets/WorldPresets$Bootstrap;registerCustomOverworldPreset(Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/world/level/dimension/LevelStem;)Lnet/minecraft/core/Holder;"))
|
||||
private LevelStem bcl_getOverworldStem(LevelStem overworldStem) {
|
||||
|
@ -86,7 +80,8 @@ public abstract class WorldPresetsBootstrapMixin {
|
|||
bclNether,
|
||||
LevelStem.END,
|
||||
bclEnd));
|
||||
BuiltinRegistries.register(this.presets, BCL_NORMAL, preset);
|
||||
|
||||
BuiltinRegistries.register(this.presets, org.betterx.bclib.presets.WorldPresets.BCL_WORLD, preset);
|
||||
|
||||
return overworldStem;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
package org.betterx.bclib.presets;
|
||||
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.FlatLevelGeneratorPresetTags;
|
||||
import net.minecraft.world.level.levelgen.flat.FlatLevelGeneratorPreset;
|
||||
|
||||
import org.betterx.bclib.api.tag.TagAPI;
|
||||
import org.betterx.bclib.api.tag.TagType;
|
||||
|
||||
public class FlatLevelPresets {
|
||||
public static TagType.Simple<FlatLevelGeneratorPreset> FLAT_LEVEL_PRESETS =
|
||||
TagAPI.registerType(Registry.FLAT_LEVEL_GENERATOR_PRESET_REGISTRY,
|
||||
"tags/worldgen/flat_level_generator_preset",
|
||||
(b) -> null);
|
||||
|
||||
|
||||
public static ResourceKey<FlatLevelGeneratorPreset> register(ResourceLocation loc) {
|
||||
ResourceKey<FlatLevelGeneratorPreset> key = ResourceKey.create(Registry.FLAT_LEVEL_GENERATOR_PRESET_REGISTRY,
|
||||
loc);
|
||||
FLAT_LEVEL_PRESETS.addUntyped(FlatLevelGeneratorPresetTags.VISIBLE, key.location());
|
||||
return key;
|
||||
}
|
||||
}
|
29
src/main/java/org/betterx/bclib/presets/WorldPresets.java
Normal file
29
src/main/java/org/betterx/bclib/presets/WorldPresets.java
Normal file
|
@ -0,0 +1,29 @@
|
|||
package org.betterx.bclib.presets;
|
||||
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.data.BuiltinRegistries;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.WorldPresetTags;
|
||||
import net.minecraft.world.level.levelgen.presets.WorldPreset;
|
||||
|
||||
import org.betterx.bclib.BCLib;
|
||||
import org.betterx.bclib.api.tag.TagAPI;
|
||||
import org.betterx.bclib.api.tag.TagType;
|
||||
|
||||
public class WorldPresets {
|
||||
public static TagType.Simple<WorldPreset> WORLD_PRESETS =
|
||||
TagAPI.registerType(BuiltinRegistries.WORLD_PRESET, "tag/worldgen/world_preset");
|
||||
|
||||
public static ResourceKey<WorldPreset> BCL_WORLD = register(BCLib.makeID("normal"));
|
||||
|
||||
public static ResourceKey<WorldPreset> register(ResourceLocation loc) {
|
||||
ResourceKey<WorldPreset> key = ResourceKey.create(Registry.WORLD_PRESET_REGISTRY,
|
||||
loc);
|
||||
WORLD_PRESETS.addUntyped(WorldPresetTags.NORMAL, key.location());
|
||||
return key;
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue