diff --git a/src/main/java/org/betterx/bclib/api/v2/WorldDataAPI.java b/src/main/java/org/betterx/bclib/api/v2/WorldDataAPI.java deleted file mode 100644 index f3814f75..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/WorldDataAPI.java +++ /dev/null @@ -1,77 +0,0 @@ -package org.betterx.bclib.api.v2; - -import org.betterx.worlds.together.world.WorldConfig; - -import net.minecraft.nbt.CompoundTag; - -import java.io.File; - -/** - * @deprecated Implementation moved to {@link WorldConfig} - */ -@Deprecated(forRemoval = true) -public class WorldDataAPI { - /** - * @deprecated use {@link WorldConfig#load(File)} instead - */ - @Deprecated(forRemoval = true) - public static void load(File dataDir) { - WorldConfig.load(dataDir); - } - - /** - * @deprecated use {@link WorldConfig#registerModCache(String)} instead - */ - @Deprecated(forRemoval = true) - public static void registerModCache(String modID) { - WorldConfig.registerModCache(modID); - } - - /** - * @deprecated use {@link WorldConfig#getRootTag(String)} instead - */ - @Deprecated(forRemoval = true) - public static CompoundTag getRootTag(String modID) { - return WorldConfig.getRootTag(modID); - } - - /** - * @deprecated use {@link WorldConfig#hasMod(String)} instead - */ - @Deprecated(forRemoval = true) - public static boolean hasMod(String modID) { - return WorldConfig.hasMod(modID); - } - - /** - * @deprecated use {@link WorldConfig#getCompoundTag(String, String)} instead - */ - @Deprecated(forRemoval = true) - public static CompoundTag getCompoundTag(String modID, String path) { - return WorldConfig.getCompoundTag(modID, path); - } - - /** - * @deprecated use {@link WorldConfig#saveFile(String)} instead - */ - @Deprecated(forRemoval = true) - public static void saveFile(String modID) { - WorldConfig.saveFile(modID); - } - - /** - * @deprecated use {@link WorldConfig#getModVersion(String)} instead - */ - @Deprecated(forRemoval = true) - public static String getModVersion(String modID) { - return WorldConfig.getModVersion(modID); - } - - /** - * @deprecated use {@link WorldConfig#getIntModVersion(String)} instead - */ - @Deprecated(forRemoval = true) - public static int getIntModVersion(String modID) { - return WorldConfig.getIntModVersion(modID); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/generator/BCLBiomeSource.java b/src/main/java/org/betterx/bclib/api/v2/generator/BCLBiomeSource.java index c98ec535..305e0cd5 100644 --- a/src/main/java/org/betterx/bclib/api/v2/generator/BCLBiomeSource.java +++ b/src/main/java/org/betterx/bclib/api/v2/generator/BCLBiomeSource.java @@ -1,7 +1,6 @@ package org.betterx.bclib.api.v2.generator; import org.betterx.bclib.BCLib; -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; import org.betterx.bclib.api.v2.levelgen.biomes.InternalBiomeAPI; import org.betterx.worlds.together.biomesource.BiomeSourceFromRegistry; import org.betterx.worlds.together.biomesource.BiomeSourceHelper; @@ -35,7 +34,6 @@ public abstract class BCLBiomeSource extends BiomeSource implements BiomeSourceW .location() .toString())) .toList(); - biomes.forEach(biome -> BiomeAPI.sortBiomeFeatures(biome)); return biomes; } diff --git a/src/main/java/org/betterx/bclib/api/v2/generator/GeneratorOptions.java b/src/main/java/org/betterx/bclib/api/v2/generator/GeneratorOptions.java index 79679d8b..2c68c7ae 100644 --- a/src/main/java/org/betterx/bclib/api/v2/generator/GeneratorOptions.java +++ b/src/main/java/org/betterx/bclib/api/v2/generator/GeneratorOptions.java @@ -2,10 +2,6 @@ package org.betterx.bclib.api.v2.generator; import org.betterx.bclib.config.Configs; -import java.awt.*; -import java.util.function.BiFunction; -import java.util.function.Function; - public class GeneratorOptions { //private static BiFunction endLandFunction; private static boolean fixEndBiomeSource = true; @@ -16,85 +12,6 @@ public class GeneratorOptions { fixNetherBiomeSource = Configs.GENERATOR_CONFIG.getBoolean("options.biomeSource", "fixNetherBiomeSource", true); } - @Deprecated(forRemoval = true) - public static int getBiomeSizeNether() { - return 256; - } - - @Deprecated(forRemoval = true) - public static int getVerticalBiomeSizeNether() { - return 86; - } - - @Deprecated(forRemoval = true) - public static int getBiomeSizeEndLand() { - return 256; - } - - @Deprecated(forRemoval = true) - public static int getBiomeSizeEndVoid() { - return 256; - } - - /** - * @param endLandFunction - * @deprecated use {@link #setEndLandFunction(BiFunction)} instead - */ - @Deprecated(forRemoval = true) - public static void setEndLandFunction(Function endLandFunction) { - //GeneratorOptions.endLandFunction = (p, h) -> endLandFunction.apply(p); - } - - @Deprecated(forRemoval = true) - public static void setEndLandFunction(BiFunction endLandFunction) { - ///GeneratorOptions.endLandFunction = endLandFunction; - } - - @Deprecated(forRemoval = true) - public static BiFunction getEndLandFunction() { - return (a, b) -> true;//endLandFunction; - } - - @Deprecated(forRemoval = true) - public static long getFarEndBiomes() { - return 1000000; - } - - /** - * Set distance of far End biomes generation, in blocks - * - * @param distance - */ - @Deprecated(forRemoval = true) - public static void setFarEndBiomes(int distance) { - } - - /** - * Set distance of far End biomes generation, in blocks^2 - * - * @param distanceSqr the distance squared - */ - @Deprecated(forRemoval = true) - public static void setFarEndBiomesSqr(long distanceSqr) { - - } - - @Deprecated(forRemoval = true) - public static boolean customNetherBiomeSource() { - return true; - } - - @Deprecated(forRemoval = true) - public static boolean customEndBiomeSource() { - return true; - } - - - @Deprecated(forRemoval = true) - public static boolean useVerticalBiomes() { - return true; - } - public static boolean fixEndBiomeSource() { return fixEndBiomeSource; } diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/LevelGenEvents.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/LevelGenEvents.java index ee63198f..1028f9d6 100644 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/LevelGenEvents.java +++ b/src/main/java/org/betterx/bclib/api/v2/levelgen/LevelGenEvents.java @@ -8,7 +8,6 @@ import org.betterx.bclib.api.v2.generator.BCLibEndBiomeSource; import org.betterx.bclib.api.v2.generator.config.BCLEndBiomeSourceConfig; import org.betterx.bclib.api.v2.levelgen.biomes.InternalBiomeAPI; import org.betterx.bclib.api.v2.poi.PoiManager; -import org.betterx.bclib.api.v2.tag.TagAPI; import org.betterx.bclib.registry.PresetsRegistry; import org.betterx.worlds.together.tag.v3.TagManager; import org.betterx.worlds.together.world.WorldConfig; @@ -57,9 +56,6 @@ public class LevelGenEvents { String directory, Map> tagsMap ) { - //make sure we include Tags registered by the deprecated API - TagAPI.apply(directory, tagsMap); - if (directory.equals(TagManager.BIOMES.directory)) { InternalBiomeAPI._runBiomeTagAdders(); } diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiome.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiome.java index c4ca450c..f7de7825 100644 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiome.java +++ b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiome.java @@ -227,15 +227,6 @@ public class BCLBiome extends BCLBiomeSettings implements BiomeData { this(ResourceKey.create(Registry.BIOME_REGISTRY, biomeID), null); } - /** - * Create wrapper for existing biome using biome instance from {@link BuiltinRegistries}. - * - * @param biomeToRegister {@link Biome} to wrap. - */ - @Deprecated(forRemoval = true) - protected BCLBiome(Biome biomeToRegister) { - this(biomeToRegister, null); - } /** * Create wrapper for existing biome using biome instance from {@link BuiltinRegistries}. @@ -243,21 +234,11 @@ public class BCLBiome extends BCLBiomeSettings implements BiomeData { * @param biomeToRegister {@link Biome} to wrap. * @param settings The Settings for this Biome or {@code null} if you want to apply default settings */ - @Deprecated(forRemoval = true) - protected BCLBiome(Biome biomeToRegister, VanillaBiomeSettings settings) { + @ApiStatus.Internal + BCLBiome(Biome biomeToRegister, VanillaBiomeSettings settings) { this(BiomeAPI.getBiomeID(biomeToRegister), biomeToRegister, settings); } - /** - * Create wrapper for existing biome using biome instance from {@link BuiltinRegistries}. - * - * @param biomeToRegister {@link Biome} to wrap. - * @param biomeID Teh ResoureLocation for this Biome - */ - @Deprecated(forRemoval = true) - public BCLBiome(ResourceLocation biomeID, Biome biomeToRegister) { - this(biomeID, biomeToRegister, (BCLBiomeSettings) null); - } /** * Create wrapper for existing biome using biome instance from {@link BuiltinRegistries}. @@ -434,18 +415,6 @@ public class BCLBiome extends BCLBiomeSettings implements BiomeData { return biomeID; } - - /** - * Getter for biome from buil-in registry. For datapack biomes will be same as actual biome. - * - * @return {@link Biome}. - */ - @Deprecated(forRemoval = true) - public Biome getBiome() { - if (biomeToRegister != null) return biomeToRegister; - return BiomeAPI.getFromBuiltinRegistry(biomeKey).value(); - } - /** * Getter for biomeKey * @@ -466,58 +435,6 @@ public class BCLBiome extends BCLBiomeSettings implements BiomeData { } - - /** - * Getter for custom data. Will get custom data object or null if object doesn't exists. - * - * @param name {@link String} name of data object. - * @return object value or null. - */ - @Nullable - @SuppressWarnings("unchecked") - @Deprecated(forRemoval = true) - public T getCustomData(String name) { - return (T) customData.get(name); - } - - /** - * Getter for custom data. Will get custom data object or default value if object doesn't exists. - * - * @param name {@link String} name of data object. - * @param defaultValue object default value. - * @return object value or default value. - */ - @SuppressWarnings("unchecked") - @Deprecated(forRemoval = true) - public T getCustomData(String name, T defaultValue) { - return (T) customData.getOrDefault(name, defaultValue); - } - - /** - * Adds custom data object to this biome instance. - * - * @param name {@link String} name of data object. - * @param obj any data to add. - * @return same {@link BCLBiome}. - */ - @Deprecated(forRemoval = true) - public BCLBiome addCustomData(String name, Object obj) { - customData.put(name, obj); - return this; - } - - /** - * Adds custom data object to this biome instance. - * - * @param data a {@link Map} with custom data. - * @return same {@link BCLBiome}. - */ - @Deprecated(forRemoval = true) - public BCLBiome addCustomData(Map data) { - customData.putAll(data); - return this; - } - @Override public boolean equals(Object obj) { if (obj == this) { diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiomeBuilder.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiomeBuilder.java index e1754eab..885599b7 100644 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiomeBuilder.java +++ b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiomeBuilder.java @@ -1,8 +1,8 @@ package org.betterx.bclib.api.v2.levelgen.biomes; -import org.betterx.bclib.api.v2.levelgen.features.BCLFeature; import org.betterx.bclib.api.v2.levelgen.structures.BCLStructure; import org.betterx.bclib.api.v2.levelgen.surface.SurfaceRuleBuilder; +import org.betterx.bclib.api.v3.levelgen.features.BCLFeature; import org.betterx.bclib.entity.BCLEntityWrapper; import org.betterx.bclib.mixin.common.BiomeGenerationSettingsAccessor; import org.betterx.bclib.util.CollectionsUtil; @@ -46,7 +46,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; -import java.util.function.BiFunction; import java.util.function.Consumer; public class BCLBiomeBuilder { @@ -601,15 +600,6 @@ public class BCLBiomeBuilder { return this; } - /** - * Adds new feature to the biome. - * - * @param feature {@link BCLFeature}. - * @return same {@link BCLBiomeBuilder} instance. - */ - public BCLBiomeBuilder feature(BCLFeature feature) { - return feature(feature.getDecoration(), feature.getPlacedFeature()); - } /** * Adds new feature to the biome. @@ -617,7 +607,7 @@ public class BCLBiomeBuilder { * @param feature {@link BCLFeature}. * @return same {@link BCLBiomeBuilder} instance. */ - public BCLBiomeBuilder feature(org.betterx.bclib.api.v3.levelgen.features.BCLFeature feature) { + public BCLBiomeBuilder feature(BCLFeature feature) { return feature(feature.decoration, feature.placedFeature); } @@ -863,17 +853,6 @@ public class BCLBiomeBuilder { return build((BiomeSupplier) BCLBiome::new); } - /** - * Finalize biome creation. - * - * @param biomeConstructor {@link BiFunction} biome constructor. - * @return created {@link BCLBiome} instance. - * @deprecated Replaced with {@link #build(BiomeSupplier)} - */ - @Deprecated(forRemoval = true) - public T build(BiFunction biomeConstructor) { - return build((id, biome, settings) -> biomeConstructor.apply(id, biome)); - } /** * Finalize biome creation. diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiomeRegistry.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiomeRegistry.java index 6256eeb3..ae926be0 100644 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiomeRegistry.java +++ b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BCLBiomeRegistry.java @@ -59,11 +59,6 @@ public class BCLBiomeRegistry { return codec.codec(); } - @Deprecated(forRemoval = true) - public static ResourceKey register(BCLBiome biome) { - return register(null, biome); - } - /** * Register new Biome Data * diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BiomeAPI.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BiomeAPI.java index a2e9232d..cf3b7e53 100644 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BiomeAPI.java +++ b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/BiomeAPI.java @@ -1,7 +1,7 @@ package org.betterx.bclib.api.v2.levelgen.biomes; import org.betterx.bclib.BCLib; -import org.betterx.bclib.api.v2.levelgen.features.BCLFeature; +import org.betterx.bclib.api.v3.levelgen.features.BCLFeature; import org.betterx.bclib.interfaces.SurfaceMaterialProvider; import org.betterx.bclib.mixin.common.BiomeGenerationSettingsAccessor; import org.betterx.bclib.mixin.common.MobSpawnSettingsAccessor; @@ -55,6 +55,26 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; public class BiomeAPI { + /** + * Register {@link BCLBiome} instance and its {@link Biome} if necessary. + * + * @param bclbiome {@link BCLBiome} + * @param dim The Dimension fo rthis Biome + * @return {@link BCLBiome} + */ + public static BCLBiome registerBuiltinBiomeAndOverrideIntendedDimension(BCLBiome bclbiome, BiomeType dim) { + return registerBiomeAndOverrideIntendedDimension(bclbiome, dim, BuiltinRegistries.BIOME); + } + + static BCLBiome registerBiomeAndOverrideIntendedDimension( + BCLBiome bclbiome, + BiomeType dim, + Registry registryOrNull + ) { + bclbiome._setIntendedType(dim); + return registerBiome(bclbiome, registryOrNull); + } + public static class BiomeType { public static final Codec DIRECT_CODEC = RecordCodecBuilder.create(instance -> instance .group( @@ -209,14 +229,6 @@ public class BiomeAPI { } } - /** - * Empty biome used as default value if requested biome doesn't exist or linked. Shouldn't be registered anywhere to prevent bugs. - * Have {@code Biomes.THE_VOID} as the reference biome. - * - * @deprecated use {@link BCLBiomeRegistry#EMPTY_BIOME} instead - */ - public static final BCLBiome EMPTY_BIOME = BCLBiomeRegistry.EMPTY_BIOME; - public static final BCLBiome NETHER_WASTES_BIOME = InternalBiomeAPI.wrapNativeBiome( Biomes.NETHER_WASTES, InternalBiomeAPI.OTHER_NETHER @@ -270,35 +282,6 @@ public class BiomeAPI { InternalBiomeAPI.OTHER_END_VOID ); - @Deprecated(forRemoval = true) - public static BCLBiome registerBiome(BCLBiome bclbiome) { - return InternalBiomeAPI.registerBuiltinBiome(bclbiome); - } - - /** - * Register {@link BCLBiome} instance and its {@link Biome} if necessary. - * - * @param bclbiome {@link BCLBiome} - * @param dim The Dimension fo rthis Biome - * @return {@link BCLBiome} - */ - @Deprecated(forRemoval = true) - public static BCLBiome registerBiome(BCLBiome bclbiome, BiomeType dim) { - return registerBiome(bclbiome, dim, BuiltinRegistries.BIOME); - } - - /** - * Register {@link BCLBiome} instance and its {@link Biome} if necessary. - * - * @param bclbiome {@link BCLBiome} - * @param dim The Dimension fo rthis Biome - * @return {@link BCLBiome} - */ - @Deprecated(forRemoval = true) - static BCLBiome registerBiome(BCLBiome bclbiome, BiomeType dim, Registry registryOrNull) { - bclbiome._setIntendedType(dim); - return registerBiome(bclbiome, registryOrNull); - } /** * Register {@link BCLBiome} instance and its {@link Biome} if necessary. @@ -347,7 +330,7 @@ public class BiomeAPI { } public static BCLBiome registerSubBiome(BCLBiome parent, BCLBiome subBiome, BiomeType dim) { - registerBiome(subBiome, dim); + registerBuiltinBiomeAndOverrideIntendedDimension(subBiome, dim); parent.addSubBiome(subBiome); return subBiome; @@ -366,7 +349,7 @@ public class BiomeAPI { * @return {@link BCLBiome} */ public static BCLBiome registerEndLandBiome(BCLBiome biome) { - registerBiome(biome, BiomeType.BCL_END_LAND); + registerBuiltinBiomeAndOverrideIntendedDimension(biome, BiomeType.BCL_END_LAND); float weight = biome.getGenChance(); ResourceKey key = biome.getBiomeKey(); @@ -390,7 +373,7 @@ public class BiomeAPI { * @return {@link BCLBiome} */ public static BCLBiome registerEndVoidBiome(BCLBiome biome) { - registerBiome(biome, BiomeType.BCL_END_VOID); + registerBuiltinBiomeAndOverrideIntendedDimension(biome, BiomeType.BCL_END_VOID); float weight = biome.getGenChance(); ResourceKey key = biome.getBiomeKey(); @@ -409,7 +392,7 @@ public class BiomeAPI { * @return {@link BCLBiome} */ public static BCLBiome registerEndCenterBiome(BCLBiome biome) { - registerBiome(biome, BiomeType.BCL_END_CENTER); + registerBuiltinBiomeAndOverrideIntendedDimension(biome, BiomeType.BCL_END_CENTER); float weight = biome.getGenChance(); ResourceKey key = biome.getBiomeKey(); @@ -428,7 +411,7 @@ public class BiomeAPI { * @return {@link BCLBiome} */ public static BCLBiome registerEndBarrensBiome(BCLBiome highlandBiome, BCLBiome biome) { - registerBiome(biome, BiomeType.BCL_END_BARRENS); + registerBuiltinBiomeAndOverrideIntendedDimension(biome, BiomeType.BCL_END_BARRENS); float weight = biome.getGenChance(); ResourceKey key = biome.getBiomeKey(); @@ -448,7 +431,7 @@ public class BiomeAPI { * @return {@link BCLBiome} */ public static BCLBiome registerNetherBiome(BCLBiome bclBiome) { - registerBiome(bclBiome, BiomeType.BCL_NETHER); + registerBuiltinBiomeAndOverrideIntendedDimension(bclBiome, BiomeType.BCL_NETHER); ResourceKey key = bclBiome.getBiomeKey(); if (!bclBiome.isEdgeBiome()) { @@ -457,25 +440,6 @@ public class BiomeAPI { return bclBiome; } - - /** - * Get {@link BCLBiome} from {@link Biome} instance on server. Used to convert world biomes to BCLBiomes. - * - * @param biome - {@link Holder} from world. - * @return {@link BCLBiome} or {@code BiomeAPI.EMPTY_BIOME}. - */ - @Deprecated(forRemoval = true) - public static BCLBiome getFromBiome(Holder biome) { - if (InternalBiomeAPI.biomeRegistry == null) { - return BCLBiomeRegistry.EMPTY_BIOME; - } - return BCLBiomeRegistry - .getOrElseEmpty( - InternalBiomeAPI.registryAccess, - biome.unwrapKey().orElseThrow().location() - ); - } - /** * Get {@link BCLBiome} from biome on client. Used in fog rendering. * @@ -648,18 +612,6 @@ public class BiomeAPI { return BuiltinRegistries.BIOME.getHolder(key).orElse(null); } - @Deprecated(forRemoval = true) - public static boolean registryContains(ResourceKey key) { - if (InternalBiomeAPI.biomeRegistry != null) - return InternalBiomeAPI.biomeRegistry.containsKey(key); - return builtinRegistryContains(key); - } - - @Nullable - @Deprecated(forRemoval = true) - public static boolean builtinRegistryContains(ResourceKey key) { - return BuiltinRegistries.BIOME.containsKey(key); - } public static boolean isDatapackBiome(ResourceLocation biomeID) { return getFromBuiltinRegistry(biomeID) == null; @@ -781,40 +733,6 @@ public class BiomeAPI { } - /** - * Create a unique sort order for all Features of the Biome. This method is automatically called for each Biome - * after all biome Modifications were executed. - * - * @param biome The {@link Biome} to sort the features for - */ - @Deprecated(forRemoval = true) - public static void sortBiomeFeatures(Holder biome) { - //sortBiomeFeatures(biome.value()); - } - - static void sortBiomeFeatures(Biome biome) { -// BiomeGenerationSettings settings = biome.getGenerationSettings(); -// BiomeGenerationSettingsAccessor accessor = (BiomeGenerationSettingsAccessor) settings; -// List> featureList = CollectionsUtil.getMutable(accessor.bclib_getFeatures()); -// final int size = featureList.size(); -// for (int i = 0; i < size; i++) { -// List> features = getFeaturesListCopy(featureList, i); -// sortFeatures(features); -// featureList.set(i, HolderSet.direct(features)); -// } -// accessor.bclib_setFeatures(featureList); - } - - /** - * Adds new features to existing biome. - * - * @param biome {@link Biome} to add features in. - * @param feature {@link ConfiguredFeature} to add. - */ - public static void addBiomeFeature(Holder biome, BCLFeature feature) { - addBiomeFeature(biome, feature.getDecoration(), feature.getPlacedFeature()); - } - /** * Adds new features to existing biome. * @@ -823,7 +741,7 @@ public class BiomeAPI { */ public static void addBiomeFeature( Holder biome, - org.betterx.bclib.api.v3.levelgen.features.BCLFeature feature + BCLFeature feature ) { addBiomeFeature(biome, feature.getDecoration(), feature.getPlacedFeature()); } @@ -1009,85 +927,4 @@ public class BiomeAPI { return features.get(index).stream().collect(Collectors.toList()); } - - /** - * Register {@link BCLBiome} instance and its {@link Biome} if necessary. - * After that biome will be added to BCLib Nether Biome Generator and into Fabric Biome API. - * - * @param biome {@link BCLBiome} - * @return {@link BCLBiome} - */ - @Deprecated(forRemoval = true) - public static BCLBiome registerNetherBiome(Biome biome) { - return InternalBiomeAPI.wrapNativeBiome(biome, -1, InternalBiomeAPI.OTHER_NETHER); - } - - @Deprecated(forRemoval = true) - public static BCLBiome registerEndLandBiome(Holder biome) { - return InternalBiomeAPI.wrapNativeBiome(biome.unwrapKey().orElseThrow(), InternalBiomeAPI.OTHER_END_LAND); - } - - /** - * Register {@link BCLBiome} instance and its {@link Biome} if necessary. - * After that biome will be added to BCLib End Biome Generator and into Fabric Biome API as a void biome (will generate only in the End void - between islands). - * - * @param biome {@link BCLBiome} - * @return {@link BCLBiome} - */ - @Deprecated(forRemoval = true) - public static BCLBiome registerEndVoidBiome(Holder biome) { - return InternalBiomeAPI.wrapNativeBiome(biome.unwrapKey().orElseThrow(), InternalBiomeAPI.OTHER_END_VOID); - } - - /** - * Register {@link BCLBiome} wrapper for {@link Biome}. - * After that biome will be added to BCLib End Biome Generator and into Fabric Biome API as a land biome (will generate only on islands). - * - * @param biome {@link BCLBiome}; - * @param genChance float generation chance. - * @return {@link BCLBiome} - */ - @Deprecated(forRemoval = true) - public static BCLBiome registerEndLandBiome(Holder biome, float genChance) { - return InternalBiomeAPI.wrapNativeBiome( - biome.unwrapKey().orElseThrow(), - genChance, - InternalBiomeAPI.OTHER_END_LAND - ); - } - - /** - * Register {@link BCLBiome} instance and its {@link Biome} if necessary. - * After that biome will be added to BCLib End Biome Generator and into Fabric Biome API as a void biome (will generate only in the End void - between islands). - * - * @param biome {@link BCLBiome}. - * @param genChance float generation chance. - * @return {@link BCLBiome} - */ - @Deprecated(forRemoval = true) - public static BCLBiome registerEndVoidBiome(Holder biome, float genChance) { - return InternalBiomeAPI.wrapNativeBiome( - biome.unwrapKey().orElseThrow(), - genChance, - InternalBiomeAPI.OTHER_END_VOID - ); - } - - - @Deprecated(forRemoval = true) - public static BCLBiome registerEndBiome(Holder biome) { - BCLBiome bclBiome = new BCLBiome(biome.value(), null); - - registerBiome(bclBiome, BiomeType.END); - return bclBiome; - } - - - @Deprecated(forRemoval = true) - public static BCLBiome registerCenterBiome(Holder biome) { - BCLBiome bclBiome = new BCLBiome(biome.value(), null); - - registerBiome(bclBiome, BiomeType.END_CENTER); - return bclBiome; - } } diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/InternalBiomeAPI.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/InternalBiomeAPI.java index 6b387090..53e782a2 100644 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/InternalBiomeAPI.java +++ b/src/main/java/org/betterx/bclib/api/v2/levelgen/biomes/InternalBiomeAPI.java @@ -1,10 +1,7 @@ package org.betterx.bclib.api.v2.levelgen.biomes; import org.betterx.bclib.BCLib; -import org.betterx.bclib.interfaces.BiomeSourceAccessor; -import org.betterx.bclib.interfaces.NoiseGeneratorSettingsProvider; import org.betterx.bclib.mixin.common.BiomeGenerationSettingsAccessor; -import org.betterx.worlds.together.surfaceRules.SurfaceRuleProvider; import net.minecraft.core.Holder; import net.minecraft.core.Registry; @@ -12,13 +9,10 @@ import net.minecraft.core.RegistryAccess; import net.minecraft.data.BuiltinRegistries; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.level.ServerLevel; import net.minecraft.world.level.Level; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.BiomeSource; -import net.minecraft.world.level.chunk.ChunkGenerator; import net.minecraft.world.level.dimension.LevelStem; -import net.minecraft.world.level.levelgen.NoiseGeneratorSettings; import net.minecraft.world.level.levelgen.placement.PlacedFeature; import net.fabricmc.fabric.api.event.registry.DynamicRegistrySetupCallback; @@ -185,64 +179,10 @@ public class InternalBiomeAPI { } } - @Deprecated(forRemoval = true) - public static void applyModificationsDeprecated(ServerLevel level) { - //TODO: Now Disabled, because we fix the settings when everything gets loaded - if (level != null) return; - - NoiseGeneratorSettings noiseGeneratorSettings = null; - final ChunkGenerator chunkGenerator = level.getChunkSource().getGenerator(); - final BiomeSource source = chunkGenerator.getBiomeSource(); - final Set> biomes = source.possibleBiomes(); - - if (chunkGenerator instanceof NoiseGeneratorSettingsProvider gen) - noiseGeneratorSettings = gen.bclib_getNoiseGeneratorSettings(); - - // Datapacks (like Amplified Nether)will change the GeneratorSettings upon load, so we will - // only use the default Setting for Nether/End if we were unable to find a settings object - if (noiseGeneratorSettings == null) { - if (level.dimension() == Level.NETHER) { - noiseGeneratorSettings = BuiltinRegistries.NOISE_GENERATOR_SETTINGS.get(NoiseGeneratorSettings.NETHER); - } else if (level.dimension() == Level.END) { - noiseGeneratorSettings = BuiltinRegistries.NOISE_GENERATOR_SETTINGS.get(NoiseGeneratorSettings.END); - } - } - - List>> modifications = MODIFICATIONS.get(level - .dimensionTypeRegistration() - .unwrapKey() - .orElseThrow()); - for (Holder biomeHolder : biomes) { - if (biomeHolder.isBound()) { - applyModificationsAndUpdateFeatures(modifications, biomeHolder); - } - } - - - if (noiseGeneratorSettings != null) { - final SurfaceRuleProvider provider = SurfaceRuleProvider.class.cast(noiseGeneratorSettings); - // Multiple Biomes can use the same generator. So we need to keep track of all Biomes that are - // Provided by all the BiomeSources that use the same generator. - // This happens for example when using the MiningDimensions, which reuses the generator for the - // Nethering Dimension - //MODIFIED_SURFACE_PROVIDERS.add(provider); - - //provider.bclib_addBiomeSource(source); - } else { - BCLib.LOGGER.warning("No generator for " + source); - } - - ((BiomeSourceAccessor) source).bclRebuildFeatures(); - } - public static void applyModifications(BiomeSource source, ResourceKey dimension) { BCLib.LOGGER.info("\nApply Modifications for " + dimension.location() + source.toString() .replace("\n", "\n ")); - /*if (dimension.location().equals(LevelStem.NETHER)){ - if (source instanceof BCLBiomeSource s) { - NetherBiomes.useLegacyGeneration = s.biomeSourceVersion==BCLBiomeSource.BIOME_SOURCE_VERSION_SQUARE; - } - }*/ + final Set> biomes = source.possibleBiomes(); List>> modifications = MODIFICATIONS.get(dimension); for (Holder biomeHolder : biomes) { @@ -262,8 +202,6 @@ public class InternalBiomeAPI { consumer.accept(biomeID, biome); }); } - - BiomeAPI.sortBiomeFeatures(biome); } private static final Set BIOMES_TO_SORT = Sets.newHashSet(); @@ -333,28 +271,6 @@ public class InternalBiomeAPI { return bclBiome; } - /** - * Register {@link BCLBiome} wrapper for {@link Biome}. - * After that biome will be added to BCLib End Biome Generator and into Fabric Biome API as a land biome (will generate only on islands). - * - * @param biome The source biome to wrap - * @param genChance generation chance. - * @return {@link BCLBiome} - */ - @Deprecated(forRemoval = true) - static BCLBiome wrapNativeBiome(Biome biome, float genChance, BiomeAPI.BiomeType type) { - BCLBiome bclBiome = BiomeAPI.getBiome(biome); - if (bclBiome == BCLBiomeRegistry.EMPTY_BIOME) { - bclBiome = new BCLBiome( - biome, - genChance < 0 ? null : VanillaBiomeSettings.createVanilla().setGenChance(genChance).build() - ); - } - - BiomeAPI.registerBiome(bclBiome, type, null); - return bclBiome; - } - static { DynamicRegistrySetupCallback.EVENT.register(registryManager -> { Optional> oBiomeRegistry = registryManager.registry(Registry.BIOME_REGISTRY); @@ -415,4 +331,5 @@ public class InternalBiomeAPI { public static BCLBiome registerBuiltinBiome(BCLBiome bclbiome) { return BiomeAPI.registerBiome(bclbiome, BuiltinRegistries.BIOME); } + } diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/BCLCommonFeatures.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/BCLCommonFeatures.java deleted file mode 100644 index a3983e06..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/BCLCommonFeatures.java +++ /dev/null @@ -1,166 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features; - -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.levelgen.GenerationStep.Decoration; -import net.minecraft.world.level.levelgen.feature.Feature; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.levelgen.feature.configurations.OreConfiguration; -import net.minecraft.world.level.levelgen.placement.PlacementModifier; -import net.minecraft.world.level.levelgen.structure.templatesystem.BlockMatchTest; - -@Deprecated(forRemoval = true) -public class BCLCommonFeatures { - /** - * Will create a basic plant feature. - * - * @param id {@link ResourceLocation} feature ID. - * @param feature {@link Feature} with {@link NoneFeatureConfiguration} config. - * @param density iterations per chunk. - * @return new BCLFeature instance. - */ - public static BCLFeature makeVegetationFeature( - ResourceLocation id, - Feature feature, - int density - ) { - return makeVegetationFeature(id, feature, density, false); - } - - /** - * Will create a basic plant feature. - * - * @param id {@link ResourceLocation} feature ID. - * @param feature {@link Feature} with {@link NoneFeatureConfiguration} config. - * @param density iterations per chunk. - * @param allHeight if {@code true} will generate plant on all layers, if {@code false} - only on surface. - * @return new BCLFeature instance. - */ - public static BCLFeature makeVegetationFeature( - ResourceLocation id, - Feature feature, - int density, - boolean allHeight - ) { - if (allHeight) { - return BCLFeatureBuilder - .start(id, feature) - .countLayers(density) - .squarePlacement() - .onlyInBiome() - .buildAndRegister(); - } else { - return BCLFeatureBuilder - .start(id, feature) - .countMax(density) - .squarePlacement() - .heightmap() - .onlyInBiome() - .buildAndRegister(); - } - } - - /** - * Will create feature which will be generated once in each chunk. - * - * @param id {@link ResourceLocation} feature ID. - * @param decoration {@link Decoration} feature step. - * @param feature {@link Feature} with {@link NoneFeatureConfiguration} config. - * @return new BCLFeature instance. - */ - public static BCLFeature makeChunkFeature( - ResourceLocation id, - Decoration decoration, - Feature feature - ) { - return BCLFeatureBuilder.start(id, feature).decoration(decoration).count(1).onlyInBiome().buildAndRegister(); - } - - /** - * Will create feature with chanced decoration, chance for feature to generate per chunk is 1 / chance. - * - * @param id {@link ResourceLocation} feature ID. - * @param decoration {@link Decoration} feature step. - * @param feature {@link Feature} with {@link NoneFeatureConfiguration} config. - * @param chance chance for feature to be generated in. - * @return new BCLFeature instance. - */ - public static BCLFeature makeChancedFeature( - ResourceLocation id, - Decoration decoration, - Feature feature, - int chance - ) { - return BCLFeatureBuilder.start(id, feature) - .decoration(decoration) - .onceEvery(chance) - .squarePlacement() - .onlyInBiome() - .buildAndRegister(); - } - - /** - * Will create feature with specified generation iterations per chunk. - * - * @param id {@link ResourceLocation} feature ID. - * @param decoration {@link Decoration} feature step. - * @param feature {@link Feature} with {@link NoneFeatureConfiguration} config. - * @param count iterations steps. - * @return new BCLFeature instance. - */ - public static BCLFeature makeCountFeature( - ResourceLocation id, - Decoration decoration, - Feature feature, - int count - ) { - return BCLFeatureBuilder.start(id, feature) - .decoration(decoration) - .count(count) - .squarePlacement() - .onlyInBiome() - .buildAndRegister(); - } - - /** - * Will create a basic ore feature. - * - * @param id {@link ResourceLocation} feature ID. - * @param blockOre {@link Decoration} feature step. - * @param hostBlock {@link Block} to generate feature in. - * @param veins iterations per chunk. - * @param veinSize size of ore vein. - * @param airDiscardChance chance that this orge gets discarded when it is exposed to air - * @param placement {@link net.minecraft.world.level.levelgen.placement.PlacementModifier} for the ore distribution, - * for example {@code PlacementUtils.FULL_RANGE}, {@code PlacementUtils.RANGE_10_10} - * @param rare when true, this is placed as a rare resource - * @return new BCLFeature instance. - */ - public static BCLFeature makeOreFeature( - ResourceLocation id, - Block blockOre, - Block hostBlock, - int veins, - int veinSize, - float airDiscardChance, - PlacementModifier placement, - boolean rare - ) { - BCLFeatureBuilder builder = BCLFeatureBuilder.start(id, Feature.ORE).decoration(Decoration.UNDERGROUND_ORES); - - if (rare) { - builder.onceEvery(veins); - } else { - builder.count(veins); - } - - builder.modifier(placement).squarePlacement().onlyInBiome(); - - return builder.buildAndRegister(new OreConfiguration( - new BlockMatchTest(hostBlock), - blockOre.defaultBlockState(), - veinSize, - airDiscardChance - )); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/BCLFeature.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/BCLFeature.java deleted file mode 100644 index 2632905c..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/BCLFeature.java +++ /dev/null @@ -1,290 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features; - -import org.betterx.bclib.BCLib; -import org.betterx.bclib.api.v2.levelgen.features.config.ScatterFeatureConfig; -import org.betterx.bclib.api.v2.levelgen.features.features.ScatterFeature; -import org.betterx.bclib.api.v2.levelgen.features.features.WeightedRandomSelectorFeature; -import org.betterx.bclib.api.v3.levelgen.features.BCLConfigureFeature; -import org.betterx.bclib.api.v3.levelgen.features.BCLFeatureBuilder; -import org.betterx.bclib.api.v3.levelgen.features.UserGrowableFeature; -import org.betterx.bclib.api.v3.levelgen.features.config.ConditionFeatureConfig; -import org.betterx.bclib.api.v3.levelgen.features.config.PlaceFacingBlockConfig; -import org.betterx.bclib.api.v3.levelgen.features.config.SequenceFeatureConfig; -import org.betterx.bclib.api.v3.levelgen.features.config.TemplateFeatureConfig; - -import net.minecraft.core.BlockPos; -import net.minecraft.core.Holder; -import net.minecraft.core.Registry; -import net.minecraft.data.BuiltinRegistries; -import net.minecraft.data.worldgen.features.FeatureUtils; -import net.minecraft.data.worldgen.placement.PlacementUtils; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.levelgen.GenerationStep.Decoration; -import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; -import net.minecraft.world.level.levelgen.feature.Feature; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; -import net.minecraft.world.level.levelgen.feature.configurations.RandomFeatureConfiguration; -import net.minecraft.world.level.levelgen.feature.configurations.RandomPatchConfiguration; -import net.minecraft.world.level.levelgen.placement.PlacedFeature; -import net.minecraft.world.level.levelgen.placement.PlacementModifier; - -import java.util.Map; -import java.util.Optional; - -/** - * @param - * @param - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.BCLFeature} instead - */ -@Deprecated(forRemoval = true) -public class BCLFeature, FC extends FeatureConfiguration> { - /** - * @deprecated Replace by {@link org.betterx.bclib.api.v3.levelgen.features.BCLFeature#PLACE_BLOCK} - */ - @Deprecated(forRemoval = true) - public static final Feature PLACE_BLOCK = org.betterx.bclib.api.v3.levelgen.features.BCLFeature.PLACE_BLOCK; - - @Deprecated(forRemoval = true) - public static final Feature SCATTER_ON_SOLID = register( - BCLib.makeID("scatter_on_solid"), - new ScatterFeature<>(ScatterFeatureConfig.OnSolid.CODEC) - ); - - @Deprecated(forRemoval = true) - public static final Feature SCATTER_EXTEND_TOP = register( - BCLib.makeID("scatter_extend_top"), - new ScatterFeature<>(ScatterFeatureConfig.ExtendTop.CODEC) - ); - - @Deprecated(forRemoval = true) - public static final Feature SCATTER_EXTEND_BOTTOM = register( - BCLib.makeID("scatter_extend_bottom"), - new ScatterFeature<>(ScatterFeatureConfig.ExtendBottom.CODEC) - ); - - @Deprecated(forRemoval = true) - public static final Feature RANDOM_SELECTOR = register( - BCLib.makeID("random_select"), - new WeightedRandomSelectorFeature() - ); - - /** - * @deprecated Replace by {@link org.betterx.bclib.api.v3.levelgen.features.BCLFeature#TEMPLATE} - */ - @Deprecated(forRemoval = true) - public static final Feature TEMPLATE = org.betterx.bclib.api.v3.levelgen.features.BCLFeature.TEMPLATE; - /** - * @deprecated Replace by {@link org.betterx.bclib.api.v3.levelgen.features.BCLFeature#MARK_POSTPROCESSING} - */ - @Deprecated(forRemoval = true) - public static final Feature MARK_POSTPROCESSING = org.betterx.bclib.api.v3.levelgen.features.BCLFeature.MARK_POSTPROCESSING; - /** - * @deprecated Replace by {@link org.betterx.bclib.api.v3.levelgen.features.BCLFeature#SEQUENCE} - */ - @Deprecated(forRemoval = true) - public static final Feature SEQUENCE = org.betterx.bclib.api.v3.levelgen.features.BCLFeature.SEQUENCE; - /** - * @deprecated Replace by {@link org.betterx.bclib.api.v3.levelgen.features.BCLFeature#CONDITION} - */ - @Deprecated(forRemoval = true) - public static final Feature CONDITION = org.betterx.bclib.api.v3.levelgen.features.BCLFeature.CONDITION; - - public final ResourceLocation id; - - org.betterx.bclib.api.v3.levelgen.features.BCLFeature proxy; - - @Deprecated(forRemoval = true) - public BCLFeature( - ResourceLocation id, - F feature, - Decoration featureStep, - FC configuration, - PlacementModifier[] modifiers - ) { - this(id, feature, featureStep, configuration, buildPlacedFeature(id, feature, configuration, modifiers)); - } - - private static boolean containsObj(Registry registry, E obj) { - Optional, E>> optional = registry - .entrySet() - .stream() - .filter(entry -> entry.getValue() == obj) - .findAny(); - return optional.isPresent(); - } - - private static , FC extends FeatureConfiguration> org.betterx.bclib.api.v3.levelgen.features.BCLFeature build( - ResourceLocation id, - F feature, - Decoration featureStep, - FC configuration, - Holder placedFeature - ) { - BCLConfigureFeature cfg = BCLFeatureBuilder.start(id, feature) - .configuration(configuration) - .build(); - if (!BuiltinRegistries.PLACED_FEATURE.containsKey(id)) { - Registry.register(BuiltinRegistries.PLACED_FEATURE, id, placedFeature.value()); - } - if (!Registry.FEATURE.containsKey(id) && !containsObj(Registry.FEATURE, feature)) { - Registry.register(Registry.FEATURE, id, feature); - } - return new org.betterx.bclib.api.v3.levelgen.features.BCLFeature<>(cfg, placedFeature, featureStep); - } - - @Deprecated(forRemoval = true) - public BCLFeature( - ResourceLocation id, - F feature, - Decoration featureStep, - FC configuration, - Holder placedFeature - ) { - this(build(id, feature, featureStep, configuration, placedFeature)); - } - - @Deprecated(forRemoval = true) - public BCLFeature(org.betterx.bclib.api.v3.levelgen.features.BCLFeature proxy) { - this.proxy = proxy; - this.id = proxy.configuredFeature.id; - } - - private static > Holder buildPlacedFeature( - ResourceLocation id, - F feature, - FC configuration, - PlacementModifier[] modifiers - ) { - Holder> configuredFeature; - if (!BuiltinRegistries.CONFIGURED_FEATURE.containsKey(id)) { - configuredFeature = (Holder>) (Object) FeatureUtils.register( - id.toString(), - feature, - configuration - ); - } else { - configuredFeature = BuiltinRegistries.CONFIGURED_FEATURE - .getHolder(ResourceKey.create( - BuiltinRegistries.CONFIGURED_FEATURE.key(), - id - )) - .orElseThrow(); - } - - if (!BuiltinRegistries.PLACED_FEATURE.containsKey(id)) { - return PlacementUtils.register(id.toString(), configuredFeature, modifiers); - } else { - return BuiltinRegistries.PLACED_FEATURE.getHolder(ResourceKey.create( - BuiltinRegistries.PLACED_FEATURE.key(), - id - )).orElseThrow(); - } - } - - /** - * @param string - * @param feature - * @param - * @param - * @return - * @deprecated Use {@link org.betterx.bclib.api.v3.levelgen.features.BCLFeature#register(ResourceLocation, Feature)} instead - */ - @Deprecated(forRemoval = true) - public static > F register( - ResourceLocation string, - F feature - ) { - return org.betterx.bclib.api.v3.levelgen.features.BCLFeature.register(string, feature); - } - - /** - * Get raw feature. - * - * @return {@link Feature}. - */ - public F getFeature() { - return proxy.getFeature(); - } - - public BCLConfigureFeature getConfFeature() { - return proxy.configuredFeature; - } - - /** - * Get configured feature. - * - * @return {@link PlacedFeature}. - */ - public Holder getPlacedFeature() { - return proxy.getPlacedFeature(); - } - - /** - * Get feature decoration step. - * - * @return {@link Decoration}. - */ - public Decoration getDecoration() { - return proxy.getDecoration(); - } - - public FC getConfiguration() { - return proxy.getConfiguration(); - } - - public boolean place(ServerLevel level, BlockPos pos, RandomSource random) { - return place(this.getFeature(), this.getConfiguration(), level, pos, random); - } - - private static boolean placeUnbound( - Feature feature, - FeatureConfiguration config, - ServerLevel level, - BlockPos pos, - RandomSource random - ) { - if (config instanceof RandomPatchConfiguration rnd) { - var configured = rnd.feature().value().feature().value(); - feature = configured.feature(); - config = configured.config(); - } - - if (feature instanceof UserGrowableFeature growable) { - return growable.grow(level, pos, random, config); - } - - FeaturePlaceContext context = new FeaturePlaceContext( - Optional.empty(), - level, - level.getChunkSource().getGenerator(), - random, - pos, - config - ); - return feature.place(context); - } - - public static boolean place( - Feature feature, - ServerLevel level, - BlockPos pos, - RandomSource random - ) { - return placeUnbound(feature, FeatureConfiguration.NONE, level, pos, random); - } - - public static boolean place( - Feature feature, - FC config, - ServerLevel level, - BlockPos pos, - RandomSource random - ) { - return placeUnbound(feature, config, level, pos, random); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/BCLFeatureBuilder.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/BCLFeatureBuilder.java deleted file mode 100644 index c34eb278..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/BCLFeatureBuilder.java +++ /dev/null @@ -1,402 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features; - -import org.betterx.bclib.api.v2.levelgen.features.placement.IsEmptyAboveSampledFilter; -import org.betterx.bclib.api.v2.levelgen.features.placement.MinEmptyFilter; -import org.betterx.bclib.api.v2.levelgen.features.placement.Stencil; -import org.betterx.bclib.api.v3.levelgen.features.placement.*; -import org.betterx.worlds.together.tag.v3.CommonBlockTags; - -import net.minecraft.core.Direction; -import net.minecraft.core.Vec3i; -import net.minecraft.data.worldgen.placement.PlacementUtils; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.valueproviders.IntProvider; -import net.minecraft.util.valueproviders.UniformInt; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.GenerationStep.Decoration; -import net.minecraft.world.level.levelgen.blockpredicates.BlockPredicate; -import net.minecraft.world.level.levelgen.feature.Feature; -import net.minecraft.world.level.levelgen.feature.SimpleBlockFeature; -import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration; -import net.minecraft.world.level.levelgen.feature.configurations.SimpleBlockConfiguration; -import net.minecraft.world.level.levelgen.feature.stateproviders.BlockStateProvider; -import net.minecraft.world.level.levelgen.placement.*; -import net.minecraft.world.level.material.Material; - -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; - -/** - * @param - * @param - * @deprecated please use {@link org.betterx.bclib.api.v3.levelgen.features.BCLFeatureBuilder} instead - */ -@Deprecated(forRemoval = true) -public class BCLFeatureBuilder> { - private final List modifications = new ArrayList<>(5); - private final ResourceLocation featureID; - private Decoration decoration = Decoration.VEGETAL_DECORATION; - private final F feature; - private BlockStateProvider provider; - - private BCLFeatureBuilder(ResourceLocation featureID, F feature) { - this.featureID = featureID; - this.feature = feature; - } - - /** - * Starts a new {@link BCLFeature} builder. - * - * @param featureID {@link ResourceLocation} feature identifier. - * @param feature {@link Feature} to construct. - * @return {@link BCLFeatureBuilder} instance. - */ - public static BCLFeatureBuilder start(ResourceLocation featureID, Feature feature) { - return new BCLFeatureBuilder(featureID, feature); - } - - public static BCLFeatureBuilder start( - ResourceLocation featureID, - Block block - ) { - return start(featureID, BlockStateProvider.simple(block)); - } - - public static BCLFeatureBuilder start( - ResourceLocation featureID, - BlockState state - ) { - return start(featureID, BlockStateProvider.simple(state)); - } - - public static BCLFeatureBuilder start( - ResourceLocation featureID, - BlockStateProvider provider - ) { - BCLFeatureBuilder builder = new BCLFeatureBuilder( - featureID, - Feature.SIMPLE_BLOCK - ); - builder.provider = provider; - return builder; - } - - /** - * Set generation step for the feature. Default is {@code VEGETAL_DECORATION}. - * - * @param decoration {@link Decoration} step. - * @return same {@link BCLFeatureBuilder} instance. - */ - public BCLFeatureBuilder decoration(Decoration decoration) { - this.decoration = decoration; - return this; - } - - /** - * Add feature placement modifier. Used as a condition for feature how to generate. - * - * @param modifier {@link PlacementModifier}. - * @return same {@link BCLFeatureBuilder} instance. - */ - public BCLFeatureBuilder modifier(PlacementModifier modifier) { - modifications.add(modifier); - return this; - } - - public BCLFeatureBuilder modifier(List modifiers) { - modifications.addAll(modifiers); - return this; - } - - /** - * Generate feature in certain iterations (per chunk). - * - * @param count how many times feature will be generated in chunk. - * @return same {@link BCLFeatureBuilder} instance. - */ - public BCLFeatureBuilder count(int count) { - return modifier(CountPlacement.of(count)); - } - - /** - * Generate feature in certain iterations (per chunk). Count can be between 0 and max value. - * - * @param count maximum amount of iterations per chunk. - * @return same {@link BCLFeatureBuilder} instance. - */ - public BCLFeatureBuilder countMax(int count) { - return modifier(CountPlacement.of(UniformInt.of(0, count))); - } - - public BCLFeatureBuilder countRange(int min, int max) { - return modifier(CountPlacement.of(UniformInt.of(min, max))); - } - - /** - * Generate feature in certain iterations (per chunk). - * Feature will be generated on all layers (example - Nether plants). - * - * @param count how many times feature will be generated in chunk layers. - * @return same {@link BCLFeatureBuilder} instance. - */ - @SuppressWarnings("deprecation") - public BCLFeatureBuilder countLayers(int count) { - return modifier(CountOnEveryLayerPlacement.of(count)); - } - - /** - * Generate feature in certain iterations (per chunk). Count can be between 0 and max value. - * Feature will be generated on all layers (example - Nether plants). - * - * @param count maximum amount of iterations per chunk layers. - * @return same {@link BCLFeatureBuilder} instance. - */ - @SuppressWarnings("deprecation") - public BCLFeatureBuilder countLayersMax(int count) { - return modifier(CountOnEveryLayerPlacement.of(UniformInt.of(0, count))); - } - - /** - * Will place feature once every n-th attempts (in average). - * - * @param n amount of attempts. - * @return same {@link BCLFeatureBuilder} instance. - */ - public BCLFeatureBuilder onceEvery(int n) { - return modifier(RarityFilter.onAverageOnceEvery(n)); - } - - /** - * Restricts feature generation only to biome where feature was added. - * - * @return same {@link BCLFeatureBuilder} instance. - */ - public BCLFeatureBuilder onlyInBiome() { - return modifier(BiomeFilter.biome()); - } - - public BCLFeatureBuilder squarePlacement() { - return modifier(InSquarePlacement.spread()); - } - - public BCLFeatureBuilder stencil() { - return modifier(Stencil.all()); - } - - public BCLFeatureBuilder all() { - return modifier(All.simple()); - } - - public BCLFeatureBuilder stencilOneIn4() { - return modifier(Stencil.oneIn4()); - } - - /** - * Select random height that is 10 above min Build height and 10 below max generation height - * - * @return The instance it was called on - */ - public BCLFeatureBuilder randomHeight10FromFloorCeil() { - return modifier(PlacementUtils.RANGE_10_10); - } - - /** - * Select random height that is 4 above min Build height and 10 below max generation height - * - * @return The instance it was called on - */ - public BCLFeatureBuilder randomHeight4FromFloorCeil() { - return modifier(PlacementUtils.RANGE_4_4); - } - - /** - * Select random height that is 8 above min Build height and 10 below max generation height - * - * @return The instance it was called on - */ - public BCLFeatureBuilder randomHeight8FromFloorCeil() { - return modifier(PlacementUtils.RANGE_8_8); - } - - /** - * Select random height that is above min Build height and 10 below max generation height - * - * @return The instance it was called on - */ - public BCLFeatureBuilder randomHeight() { - return modifier(PlacementUtils.FULL_RANGE); - } - - public BCLFeatureBuilder isEmptyAbove4() { - return modifier(IsEmptyAboveSampledFilter.emptyAbove4()); - } - - public BCLFeatureBuilder isEmptyAbove2() { - return modifier(IsEmptyAboveSampledFilter.emptyAbove2()); - } - - public BCLFeatureBuilder isEmptyAbove() { - return modifier(IsEmptyAboveSampledFilter.emptyAbove()); - } - - public BCLFeatureBuilder isEmptyBelow4() { - return modifier(IsEmptyAboveSampledFilter.emptyBelow4()); - } - - public BCLFeatureBuilder isEmptyBelow2() { - return modifier(IsEmptyAboveSampledFilter.emptyBelow2()); - } - - public BCLFeatureBuilder isEmptyBelow() { - return modifier(IsEmptyAboveSampledFilter.emptyBelow()); - } - - public BCLFeatureBuilder isEmptyAbove(int d1, int d2) { - return modifier(new IsEmptyAboveSampledFilter(d1, d2)); - } - - public BCLFeatureBuilder onEveryLayer() { - return modifier(OnEveryLayer.simple()); - } - - public BCLFeatureBuilder underEveryLayer() { - return modifier(UnderEveryLayer.simple()); - } - - public BCLFeatureBuilder spreadHorizontal(IntProvider p) { - return modifier(RandomOffsetPlacement.horizontal(p)); - } - - public BCLFeatureBuilder spreadVertical(IntProvider p) { - return modifier(RandomOffsetPlacement.horizontal(p)); - } - - public BCLFeatureBuilder spread(IntProvider horizontal, IntProvider vertical) { - return modifier(RandomOffsetPlacement.of(horizontal, vertical)); - } - - public BCLFeatureBuilder offset(Direction dir) { - return modifier(Offset.inDirection(dir)); - } - - public BCLFeatureBuilder offset(Vec3i dir) { - return modifier(new Offset(dir)); - } - - /** - * Cast a downward ray with max {@code distance} length to find the next solid Block. - * - * @param distance The maximum search Distance - * @return The instance it was called on - * @see #findSolidSurface(Direction, int) for Details - */ - public BCLFeatureBuilder findSolidFloor(int distance) { - return modifier(FindSolidInDirection.down(distance)); - } - - public BCLFeatureBuilder noiseBasedCount(float noiseLevel, int belowNoiseCount, int aboveNoiseCount) { - return modifier(NoiseThresholdCountPlacement.of(noiseLevel, belowNoiseCount, aboveNoiseCount)); - } - - public BCLFeatureBuilder extendDown(int min, int max) { - return modifier(new Extend(Direction.DOWN, UniformInt.of(min, max))); - } - - public BCLFeatureBuilder inBasinOf(BlockPredicate... predicates) { - return modifier(new IsBasin(BlockPredicate.anyOf(predicates))); - } - - public BCLFeatureBuilder inOpenBasinOf(BlockPredicate... predicates) { - return modifier(IsBasin.openTop(BlockPredicate.anyOf(predicates))); - } - - public BCLFeatureBuilder is(BlockPredicate... predicates) { - return modifier(new Is(BlockPredicate.anyOf(predicates), Optional.empty())); - } - - public BCLFeatureBuilder isAbove(BlockPredicate... predicates) { - return modifier(new Is(BlockPredicate.anyOf(predicates), Optional.of(Direction.DOWN.getNormal()))); - } - - public BCLFeatureBuilder isUnder(BlockPredicate... predicates) { - return modifier(new Is(BlockPredicate.anyOf(predicates), Optional.of(Direction.UP.getNormal()))); - } - - public BCLFeatureBuilder findSolidCeil(int distance) { - return modifier(FindSolidInDirection.up(distance)); - } - - public BCLFeatureBuilder hasMinimumDownwardSpace() { - return modifier(MinEmptyFilter.down()); - } - - public BCLFeatureBuilder hasMinimumUpwardSpace() { - return modifier(MinEmptyFilter.up()); - } - - - /** - * Cast a ray with max {@code distance} length to find the next solid Block. The ray will travel through replaceable - * Blocks (see {@link Material#isReplaceable()}) and will be accepted if it hits a block with the - * {@link CommonBlockTags#TERRAIN}-tag - * - * @param dir The direction the ray is cast - * @param distance The maximum search Distance - * @return The instance it was called on - * @see #findSolidSurface(Direction, int) for Details - */ - public BCLFeatureBuilder findSolidSurface(Direction dir, int distance) { - return modifier(new FindSolidInDirection(dir, distance, 0)); - } - - public BCLFeatureBuilder findSolidSurface(List dir, int distance, boolean randomSelect) { - return modifier(new FindSolidInDirection(dir, distance, randomSelect, 0)); - } - - public BCLFeatureBuilder heightmap() { - return modifier(PlacementUtils.HEIGHTMAP); - } - - public BCLFeatureBuilder heightmapTopSolid() { - return modifier(PlacementUtils.HEIGHTMAP_TOP_SOLID); - } - - public BCLFeatureBuilder heightmapWorldSurface() { - return modifier(PlacementUtils.HEIGHTMAP_WORLD_SURFACE); - } - - /** - * Builds a new {@link BCLFeature} instance. Features will be registered during this process. - * - * @param configuration any {@link FeatureConfiguration} for provided {@link Feature}. - * @return created {@link BCLFeature} instance. - */ - public BCLFeature buildAndRegister(FC configuration) { - PlacementModifier[] modifiers = modifications.toArray(new PlacementModifier[modifications.size()]); - return new BCLFeature(featureID, feature, decoration, configuration, modifiers); - } - - /** - * Builds a new {@link BCLFeature} instance with {@code NONE} {@link FeatureConfiguration}. - * Features will be registered during this process. - * - * @return created {@link BCLFeature} instance. - */ - public BCLFeature buildAndRegister() { - if (this.feature == Feature.SIMPLE_BLOCK && provider != null) - return buildAndRegister((FC) new SimpleBlockConfiguration(provider)); - return buildAndRegister((FC) FeatureConfiguration.NONE); - } - - @Deprecated(forRemoval = true) - public BCLFeature build(FC configuration) { - return buildAndRegister(configuration); - } - - @Deprecated(forRemoval = true) - public BCLFeature build() { - return buildAndRegister(); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/FastFeatures.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/FastFeatures.java deleted file mode 100644 index dd994fed..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/FastFeatures.java +++ /dev/null @@ -1,255 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features; - -@Deprecated(forRemoval = true) -public class FastFeatures { -// @Deprecated(forRemoval = true) -// public static RandomPatchConfiguration grassPatch(BlockStateProvider stateProvider, int tries) { -// return FeatureUtils.simpleRandomPatchConfiguration( -// tries, -// PlacementUtils.onlyWhenEmpty(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(stateProvider)) -// ); -// } -// -// @Deprecated(forRemoval = true) -// public static BCLFeature, ScatterFeatureConfig.OnSolid> vine( -// ResourceLocation location, -// boolean onFloor, -// boolean sparse, -// ScatterFeatureConfig.Builder builder -// ) { -// return scatter(location, onFloor, sparse, builder, -// org.betterx.bclib.api.v3.levelgen.features.BCLFeature.SCATTER_ON_SOLID -// ); -// } -// -// @Deprecated(forRemoval = true) -// public static BCLFeature scatter( -// ResourceLocation location, -// boolean onFloor, -// boolean sparse, -// ScatterFeatureConfig.Builder builder, -// Feature scatterFeature -// ) { -// BCLFeatureBuilder fBuilder = BCLFeatureBuilder.start(location, scatterFeature); -// if (onFloor) { -// fBuilder.findSolidFloor(3).isEmptyAbove2(); -// builder.onFloor(); -// } else { -// fBuilder.findSolidCeil(3).isEmptyBelow2(); -// builder.onCeil(); -// } -// if (sparse) { -// fBuilder.onceEvery(3); -// } -// -// return fBuilder -// .is(BlockPredicate.ONLY_IN_AIR_PREDICATE) -// .buildAndRegister(builder.build()); -// } -// -// @Deprecated(forRemoval = true) -// public static BCLFeature patch(ResourceLocation location, Block block) { -// return patch(location, block, 96, 7, 3); -// } -// -// @Deprecated(forRemoval = true) -// public static BCLFeature -// patch(ResourceLocation location, Block block, int attempts, int xzSpread, int ySpread) { -// return patch( -// location, -// attempts, -// xzSpread, -// ySpread, -// Feature.SIMPLE_BLOCK, -// new SimpleBlockConfiguration(BlockStateProvider.simple(block)) -// ); -// } -// -// @Deprecated(forRemoval = true) -// public static BCLFeature -// patch(ResourceLocation location, BlockStateProvider provider, int attempts, int xzSpread, int ySpread) { -// return patch( -// location, -// attempts, -// xzSpread, -// ySpread, -// Feature.SIMPLE_BLOCK, -// new SimpleBlockConfiguration(provider) -// ); -// } -// -// @Deprecated(forRemoval = true) -// public static BCLFeature patchWitRandomInt(ResourceLocation location, Block block, IntegerProperty prop) { -// return patchWitRandomInt(location, block, prop, 96, 7, 3); -// } -// -// @Deprecated(forRemoval = true) -// public static BCLFeature -// patchWitRandomInt( -// ResourceLocation location, -// Block block, -// IntegerProperty prop, -// int attempts, -// int xzSpread, -// int ySpread -// ) { -// return patch( -// location, -// attempts, -// xzSpread, -// ySpread, -// simple(location, ySpread, false, block.defaultBlockState(), prop) -// ); -// } -// -// @Deprecated(forRemoval = true) -// public static BCLFeature -// simple( -// ResourceLocation location, -// int searchDist, -// boolean rare, -// Feature feature -// ) { -// return simple(location, searchDist, rare, feature, NoneFeatureConfiguration.NONE); -// } -// -// @Deprecated(forRemoval = true) -// public static BCLFeature -// single(ResourceLocation location, Block block) { -// return single(location, BlockStateProvider.simple(block)); -// -// } -// -// @Deprecated(forRemoval = true) -// public static BCLFeature -// single(ResourceLocation location, BlockStateProvider provider) { -// return BCLFeatureBuilder -// .start(location, provider) -// .buildAndRegister(); -// } -// -// @Deprecated(forRemoval = true) -// public static BCLFeature -// simple(ResourceLocation location, Feature feature) { -// return BCLFeatureBuilder -// .start(location, feature) -// .buildAndRegister(); -// } -// -// @Deprecated(forRemoval = true) -// public static BCLFeature -// simple( -// ResourceLocation location, -// int searchDist, -// boolean rare, -// BlockState baseState, -// IntegerProperty property -// ) { -// int min = Integer.MAX_VALUE; -// int max = Integer.MIN_VALUE; -// -// for (Integer i : property.getPossibleValues()) { -// if (i < min) min = i; -// if (i > max) max = i; -// } -// -// return simple( -// location, -// searchDist, -// rare, -// Feature.SIMPLE_BLOCK, -// new SimpleBlockConfiguration(new RandomizedIntStateProvider( -// BlockStateProvider.simple(baseState), -// property, -// UniformInt.of(min, max) -// )) -// ); -// } -// -// @Deprecated(forRemoval = true) -// -// public static BCLFeature, FC> -// simple( -// ResourceLocation location, -// int searchDist, -// boolean rare, -// Feature feature, -// FC config -// ) { -// BCLFeatureBuilder builder = BCLFeatureBuilder -// .start(location, feature) -// .findSolidFloor(Math.min(12, searchDist)) -// .is(BlockPredicate.ONLY_IN_AIR_PREDICATE); -// if (rare) { -// builder.onceEvery(4); -// } -// return builder.buildAndRegister(config); -// } -// -// @Deprecated(forRemoval = true) -// public static BCLFeature -// patch(ResourceLocation location, Feature feature) { -// return patch(location, 96, 7, 3, feature, FeatureConfiguration.NONE); -// } -// -// -// @Deprecated(forRemoval = true) -// public static BCLFeature -// patch( -// ResourceLocation location, -// int attempts, -// int xzSpread, -// int ySpread, -// Feature feature -// ) { -// return patch(location, attempts, xzSpread, ySpread, feature, FeatureConfiguration.NONE); -// } -// -// @Deprecated(forRemoval = true) -// public static BCLFeature -// patch( -// ResourceLocation location, -// int attempts, -// int xzSpread, -// int ySpread, -// Feature feature, -// FC config -// ) { -// final BCLFeature SINGLE = simple(location, ySpread, false, feature, config); -// return patch(location, attempts, xzSpread, ySpread, SINGLE); -// } -// -// @Deprecated(forRemoval = true) -// public static BCLFeature -// wallPatch( -// ResourceLocation location, -// Block block, -// int attempts, -// int xzSpread, -// int ySpread -// ) { -// final BCLFeature SINGLE = simple(location, ySpread, false, -// org.betterx.bclib.api.v3.levelgen.features.BCLFeature.PLACE_BLOCK, -// new PlaceFacingBlockConfig(block, PlaceFacingBlockConfig.HORIZONTAL) -// ); -// return patch(location, attempts, xzSpread, ySpread, SINGLE); -// } -// -// @Deprecated(forRemoval = true) -// public static BCLFeature -// patch( -// ResourceLocation location, -// int attempts, -// int xzSpread, -// int ySpread, -// BCLFeature single -// ) { -// ResourceLocation patchLocation = new ResourceLocation(location.getNamespace(), location.getPath() + "_patch"); -// -// return BCLFeatureBuilder -// .start(patchLocation, Feature.RANDOM_PATCH) -// .buildAndRegister(new RandomPatchConfiguration(attempts, xzSpread, ySpread, single.getPlacedFeature())); -// } -// - -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/UserGrowableFeature.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/UserGrowableFeature.java deleted file mode 100644 index 0935ab8d..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/UserGrowableFeature.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features; - -import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration; - -/** - * @param - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.UserGrowableFeature} instead - */ -@Deprecated(forRemoval = true) -public interface UserGrowableFeature extends org.betterx.bclib.api.v3.levelgen.features.UserGrowableFeature { -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/blockpredicates/Types.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/blockpredicates/Types.java deleted file mode 100644 index c4f3f704..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/blockpredicates/Types.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.blockpredicates; - -import org.betterx.bclib.api.v3.levelgen.features.blockpredicates.BlockPredicates; -import org.betterx.bclib.api.v3.levelgen.features.blockpredicates.IsFullShape; - -import com.mojang.serialization.Codec; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.levelgen.blockpredicates.BlockPredicate; -import net.minecraft.world.level.levelgen.blockpredicates.BlockPredicateType; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.blockpredicates.BlockPredicates} instead - */ -@Deprecated(forRemoval = true) -public class Types { - /** - * @deprecated Please use {@link BlockPredicates#FULL_SHAPE} instead - */ - @Deprecated(forRemoval = true) - public static final BlockPredicateType FULL_SHAPE = BlockPredicates.FULL_SHAPE; - - /** - * @param location - * @param codec - * @param

- * @return - * @deprecated Please use {@link BlockPredicates#register(ResourceLocation, Codec)} instead - */ - @Deprecated(forRemoval = true) - public static

BlockPredicateType

register(ResourceLocation location, Codec

codec) { - return BlockPredicates.register(location, codec); - } - - public static void ensureStaticInitialization() { - - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/config/ConditionFeatureConfig.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/config/ConditionFeatureConfig.java deleted file mode 100644 index 1161cb3a..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/config/ConditionFeatureConfig.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.config; - -import org.betterx.bclib.api.v2.levelgen.features.BCLFeature; - -import net.minecraft.core.Holder; -import net.minecraft.world.level.levelgen.placement.PlacedFeature; -import net.minecraft.world.level.levelgen.placement.PlacementFilter; -import net.minecraft.world.level.levelgen.placement.PlacementModifier; - -import java.util.Optional; -import org.jetbrains.annotations.NotNull; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.config.ConditionFeatureConfig} instead - */ -@Deprecated(forRemoval = true) -public class ConditionFeatureConfig extends org.betterx.bclib.api.v3.levelgen.features.config.ConditionFeatureConfig { - - public ConditionFeatureConfig(@NotNull PlacementFilter filter, @NotNull BCLFeature okFeature) { - super(filter, okFeature); - } - - public ConditionFeatureConfig( - @NotNull PlacementFilter filter, - @NotNull BCLFeature okFeature, - @NotNull BCLFeature failFeature - ) { - super(filter, okFeature, failFeature); - } - - public ConditionFeatureConfig(@NotNull PlacementFilter filter, @NotNull Holder okFeature) { - super(filter, okFeature); - } - - public ConditionFeatureConfig( - @NotNull PlacementFilter filter, - @NotNull Holder okFeature, - @NotNull Holder failFeature - ) { - super(filter, okFeature, failFeature); - } - - protected ConditionFeatureConfig( - @NotNull PlacementModifier filter, - @NotNull Holder okFeature, - @NotNull Optional> failFeature - ) { - super(filter, okFeature, failFeature); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/config/PlaceBlockFeatureConfig.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/config/PlaceBlockFeatureConfig.java deleted file mode 100644 index 8593750f..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/config/PlaceBlockFeatureConfig.java +++ /dev/null @@ -1,32 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.config; - -import net.minecraft.util.random.SimpleWeightedRandomList; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.stateproviders.BlockStateProvider; - -import java.util.List; - -@Deprecated(forRemoval = true) -public abstract class PlaceBlockFeatureConfig extends org.betterx.bclib.api.v3.levelgen.features.config.PlaceBlockFeatureConfig { - - public PlaceBlockFeatureConfig(Block block) { - super(block); - } - - public PlaceBlockFeatureConfig(BlockState state) { - super(state); - } - - public PlaceBlockFeatureConfig(List states) { - super(states); - } - - public PlaceBlockFeatureConfig(SimpleWeightedRandomList blocks) { - super(blocks); - } - - public PlaceBlockFeatureConfig(BlockStateProvider blocks) { - super(blocks); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/config/PlaceFacingBlockConfig.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/config/PlaceFacingBlockConfig.java deleted file mode 100644 index d4790e59..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/config/PlaceFacingBlockConfig.java +++ /dev/null @@ -1,37 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.config; - -import net.minecraft.core.Direction; -import net.minecraft.util.random.SimpleWeightedRandomList; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.stateproviders.BlockStateProvider; - -import java.util.List; - - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.config.PlaceFacingBlockConfig} instead - */ -@Deprecated(forRemoval = true) -public class PlaceFacingBlockConfig extends org.betterx.bclib.api.v3.levelgen.features.config.PlaceFacingBlockConfig { - - public PlaceFacingBlockConfig(Block block, List dir) { - super(block, dir); - } - - public PlaceFacingBlockConfig(BlockState state, List dir) { - super(state, dir); - } - - public PlaceFacingBlockConfig(List states, List dir) { - super(states, dir); - } - - public PlaceFacingBlockConfig(SimpleWeightedRandomList blocks, List dir) { - super(blocks, dir); - } - - public PlaceFacingBlockConfig(BlockStateProvider blocks, List dir) { - super(blocks, dir); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/config/SequenceFeatureConfig.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/config/SequenceFeatureConfig.java deleted file mode 100644 index 6487cd77..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/config/SequenceFeatureConfig.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.config; - -import net.minecraft.core.Holder; -import net.minecraft.world.level.levelgen.placement.PlacedFeature; - -import java.util.List; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.config.SequenceFeatureConfig instead} - */ -@Deprecated(forRemoval = true) -public class SequenceFeatureConfig extends org.betterx.bclib.api.v3.levelgen.features.config.SequenceFeatureConfig { - - public SequenceFeatureConfig(List> features) { - super(features); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/config/TemplateFeatureConfig.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/config/TemplateFeatureConfig.java deleted file mode 100644 index e414a37c..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/config/TemplateFeatureConfig.java +++ /dev/null @@ -1,23 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.config; - -import org.betterx.bclib.api.v2.levelgen.structures.StructurePlacementType; -import org.betterx.bclib.api.v2.levelgen.structures.StructureWorldNBT; - -import net.minecraft.resources.ResourceLocation; - -import java.util.List; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.config.TemplateFeatureConfig} instead - */ -@Deprecated(forRemoval = true) -public class TemplateFeatureConfig extends org.betterx.bclib.api.v3.levelgen.features.config.TemplateFeatureConfig { - - public TemplateFeatureConfig(ResourceLocation location, int offsetY, StructurePlacementType type) { - super(location, offsetY, type); - } - - public TemplateFeatureConfig(List structures) { - super(structures); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/ConditionFeature.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/ConditionFeature.java deleted file mode 100644 index cefc2c70..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/ConditionFeature.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.features; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.features.ConditionFeature} instead. - */ -@Deprecated(forRemoval = true) -public class ConditionFeature extends org.betterx.bclib.api.v3.levelgen.features.features.ConditionFeature { -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/MarkPostProcessingFeature.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/MarkPostProcessingFeature.java deleted file mode 100644 index 182c32c0..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/MarkPostProcessingFeature.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.features; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.features.MarkPostProcessingFeature} instead. - */ -@Deprecated(forRemoval = true) -public class MarkPostProcessingFeature extends org.betterx.bclib.api.v3.levelgen.features.features.MarkPostProcessingFeature { -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/PlaceBlockFeature.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/PlaceBlockFeature.java deleted file mode 100644 index a7073933..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/PlaceBlockFeature.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.features; - -import org.betterx.bclib.api.v3.levelgen.features.config.PlaceBlockFeatureConfig; - -import com.mojang.serialization.Codec; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.features.PlaceBlockFeature} instead. - */ -@Deprecated(forRemoval = true) -public class PlaceBlockFeature extends org.betterx.bclib.api.v3.levelgen.features.features.PlaceBlockFeature { - - public PlaceBlockFeature(Codec codec) { - super(codec); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/ScatterFeature.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/ScatterFeature.java deleted file mode 100644 index 016ece3f..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/ScatterFeature.java +++ /dev/null @@ -1,249 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.features; - -import org.betterx.bclib.api.v2.levelgen.features.config.ScatterFeatureConfig; -import org.betterx.bclib.api.v3.levelgen.features.UserGrowableFeature; -import org.betterx.bclib.util.BlocksHelper; - -import com.mojang.serialization.Codec; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.LevelAccessor; -import net.minecraft.world.level.ServerLevelAccessor; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.Feature; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; - -import java.util.Optional; - -@Deprecated(forRemoval = true) -public class ScatterFeature - extends Feature implements UserGrowableFeature { - - public ScatterFeature(Codec configCodec) { - super(configCodec); - } - - @Override - public boolean place(FeaturePlaceContext featurePlaceContext) { - final WorldGenLevel level = featurePlaceContext.level(); - final BlockPos origin = featurePlaceContext.origin(); - final RandomSource random = featurePlaceContext.random(); - - ScatterFeatureConfig config = featurePlaceContext.config(); - Optional direction = getTipDirection(level, origin, random, config); - if (direction.isEmpty()) { - return false; - } - BlockPos basePos = origin.relative(direction.get(), -1); - - - int i = (int) (random.nextFloat() * (1 + config.maxHeight - config.minHeight) + config.minHeight); - growCenterPillar(level, origin, basePos, direction.get(), i, config, random); - return true; - } - - - protected void growCenterPillar( - LevelAccessor level, - BlockPos origin, - BlockPos basePos, - Direction direction, - int centerHeight, - ScatterFeatureConfig config, - RandomSource random - ) { - if (config.isValidBase(level.getBlockState(basePos))) { - final Direction surfaceDirection = direction.getOpposite(); - BlockPos.MutableBlockPos POS = new BlockPos.MutableBlockPos(); - int adaptedHeight = freeHeight(level, direction, centerHeight, config, origin); - buildPillarWithBase(level, origin, basePos, direction, adaptedHeight, config, random, false); - - final double distNormalizer = (config.maxSpread * Math.sqrt(2)); - final int tryCount = config.spreadCount.sample(random); - for (int i = 0; i < tryCount; i++) { - int x = origin.getX() + (int) (random.nextGaussian() * config.maxSpread); - int z = origin.getZ() + (int) (random.nextGaussian() * config.maxSpread); - POS.set(x, basePos.getY(), z); - - if (BlocksHelper.findSurroundingSurface(level, POS, surfaceDirection, 4, config::isValidBase)) { - int myHeight = freeHeight( - level, - direction, - centerHeight, - config, - POS - ); - - int dx = x - POS.getX(); - int dz = z - POS.getZ(); - float sizeFactor = (1 - (float) (Math.sqrt(dx * dx + dz * dz) / distNormalizer)); - sizeFactor = (1 - (random.nextFloat() * config.sizeVariation)) * sizeFactor; - myHeight = (int) Math.min(Math.max( - config.minHeight, - config.minHeight + sizeFactor * (myHeight - config.minHeight) - ), config.maxHeight); - - BlockState baseState = level.getBlockState(POS.relative(direction.getOpposite())); - if (!config.isValidBase(baseState)) { - System.out.println("Starting from " + baseState + " at " + POS.relative(direction.getOpposite())); - } - buildPillarWithBase(level, - POS, - POS.relative(direction.getOpposite()), - direction, - myHeight, - config, - random, false - ); - } - } - } - } - - private int freeHeight( - LevelAccessor level, - Direction direction, - int defaultHeight, - ScatterFeatureConfig config, - BlockPos POS - ) { - int myHeight; - if (config.growWhileFree) { - myHeight = BlocksHelper.blockCount( - level, - POS, - direction, - config.maxHeight, - BlocksHelper::isFree - ); - } else { - myHeight = defaultHeight; - } - return Math.max(config.minHeight, myHeight); - } - - private void buildPillarWithBase( - LevelAccessor level, - BlockPos origin, - BlockPos basePos, - Direction direction, - int height, - ScatterFeatureConfig config, - RandomSource random, - boolean force - ) { - if (force || BlocksHelper.isFreeSpace(level, origin, direction, height, BlocksHelper::isFree)) { - createPatchOfBaseBlocks(level, random, basePos, config); - BlockState bottom = config.bottomBlock.getState(random, origin); - if (bottom.canSurvive(level, origin)) { - buildPillar(level, origin, direction, height, config, random); - } - } - } - - private void buildPillar( - LevelAccessor level, - BlockPos origin, - Direction direction, - int height, - ScatterFeatureConfig config, - RandomSource random - ) { - - final BlockPos.MutableBlockPos POS = origin.mutable(); - for (int size = 0; size < height; size++) { - BlockState state = config.createBlock(size, height - 1, random, POS); - BlocksHelper.setWithoutUpdate(level, POS, state); - POS.move(direction); - } - } - - private Optional getTipDirection( - LevelAccessor levelAccessor, - BlockPos blockPos, - RandomSource randomSource, - ScatterFeatureConfig config - ) { - boolean onCeil = config.floorChance < 1 && config.isValidBase(levelAccessor.getBlockState(blockPos.above())); - boolean onFloor = config.floorChance > 0 && config.isValidBase(levelAccessor.getBlockState(blockPos.below())); - - if (onCeil && onFloor) { - return Optional.of(config.isFloor(randomSource) ? Direction.DOWN : Direction.UP); - } - if (onCeil) { - return Optional.of(Direction.DOWN); - } - if (onFloor) { - return Optional.of(Direction.UP); - } - return Optional.empty(); - } - - private void createPatchOfBaseBlocks( - LevelAccessor levelAccessor, - RandomSource randomSource, - BlockPos blockPos, - ScatterFeatureConfig config - ) { - if (config.baseState.isPresent() && config.baseReplaceChance > 0 && randomSource.nextFloat() < config.baseReplaceChance) { - final BlockState baseState = config.baseState.get(); - BlockPos pos; - for (Direction direction : Direction.Plane.HORIZONTAL) { - if (randomSource.nextFloat() > config.chanceOfDirectionalSpread) continue; - pos = blockPos.relative(direction); - placeBaseBlockIfPossible(levelAccessor, pos, baseState); - - if (randomSource.nextFloat() > config.chanceOfSpreadRadius2) continue; - pos = pos.relative(Direction.getRandom(randomSource)); - placeBaseBlockIfPossible(levelAccessor, pos, baseState); - - if (randomSource.nextFloat() > config.chanceOfSpreadRadius3) continue; - pos = pos.relative(Direction.getRandom(randomSource)); - placeBaseBlockIfPossible(levelAccessor, pos, baseState); - } - placeBaseBlockIfPossible(levelAccessor, blockPos, baseState); - } - } - - protected void placeBaseBlockIfPossible( - LevelAccessor levelAccessor, - BlockPos blockPos, - BlockState baseState - ) { - BlockState blockState = levelAccessor.getBlockState(blockPos); - if (BlocksHelper.isTerrain(blockState)) { - levelAccessor.setBlock(blockPos, baseState, 2); - } - } - - @Override - public boolean grow( - ServerLevelAccessor level, - BlockPos origin, - RandomSource random, - FC config - ) { - Optional oDirection = getTipDirection(level, origin, random, config); - if (oDirection.isEmpty()) { - return false; - } - Direction direction = oDirection.get(); - BlockPos basePos = origin.relative(direction, -1); - - if (config.isValidBase(level.getBlockState(basePos))) { - int centerHeight = (int) (random.nextFloat() * (1 + config.maxHeight - config.minHeight) + config.minHeight); - centerHeight = freeHeight( - level, - direction, - centerHeight, - config, - origin.relative(direction, 1) - ) + 1; - buildPillarWithBase(level, origin, basePos, direction, centerHeight, config, random, true); - } - return false; - } - -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/SequenceFeature.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/SequenceFeature.java deleted file mode 100644 index 908062aa..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/SequenceFeature.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.features; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.features.SequenceFeature} instead. - */ -@Deprecated(forRemoval = true) -public class SequenceFeature extends org.betterx.bclib.api.v3.levelgen.features.features.SequenceFeature { - -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/SurfaceFeature.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/SurfaceFeature.java deleted file mode 100644 index df6117b0..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/SurfaceFeature.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.features; - -import org.betterx.bclib.util.BlocksHelper; - -import com.mojang.serialization.Codec; -import net.minecraft.core.BlockPos; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.feature.Feature; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration; -import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; - -import java.util.Optional; - -@Deprecated(forRemoval = true) -public abstract class SurfaceFeature extends Feature { - public static abstract class DefaultConfiguration extends SurfaceFeature { - protected DefaultConfiguration() { - super(NoneFeatureConfiguration.CODEC); - } - } - - protected SurfaceFeature(Codec codec) { - super(codec); - } - - protected abstract boolean isValidSurface(BlockState state); - - protected int minHeight(FeaturePlaceContext ctx) { - return ctx.chunkGenerator().getSeaLevel(); - } - - @Override - public boolean place(FeaturePlaceContext ctx) { - Optional pos = BlocksHelper.findSurfaceBelow( - ctx.level(), - ctx.origin(), - minHeight(ctx), - this::isValidSurface - ); - if (pos.isPresent()) { - generate(pos.get(), ctx); - return true; - } - - - return false; - } - - protected abstract void generate(BlockPos centerPos, FeaturePlaceContext ctx); -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/TemplateFeature.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/TemplateFeature.java deleted file mode 100644 index e7a86062..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/TemplateFeature.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.features; - -import org.betterx.bclib.api.v3.levelgen.features.config.TemplateFeatureConfig; - -import com.mojang.serialization.Codec; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.features.TemplateFeature} instead. - */ -@Deprecated(forRemoval = true) -public class TemplateFeature extends org.betterx.bclib.api.v3.levelgen.features.features.TemplateFeature { - - public TemplateFeature(Codec codec) { - super(codec); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/WeightedRandomSelectorFeature.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/WeightedRandomSelectorFeature.java deleted file mode 100644 index 74aa362e..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/features/WeightedRandomSelectorFeature.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.features; - -import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.chunk.ChunkGenerator; -import net.minecraft.world.level.levelgen.feature.Feature; -import net.minecraft.world.level.levelgen.feature.FeaturePlaceContext; -import net.minecraft.world.level.levelgen.feature.WeightedPlacedFeature; -import net.minecraft.world.level.levelgen.feature.configurations.RandomFeatureConfiguration; -import net.minecraft.world.level.levelgen.placement.PlacedFeature; - - -@Deprecated(forRemoval = true) -public class WeightedRandomSelectorFeature extends Feature { - public WeightedRandomSelectorFeature() { - super(RandomFeatureConfiguration.CODEC); - } - - public boolean place(FeaturePlaceContext ctx) { - final WorldGenLevel level = ctx.level(); - final ChunkGenerator generator = ctx.chunkGenerator(); - final RandomFeatureConfiguration cfg = ctx.config(); - final RandomSource random = ctx.random(); - final BlockPos pos = ctx.origin(); - - PlacedFeature selected = cfg.defaultFeature.value(); - if (!cfg.features.isEmpty()) { - final float totalWeight = cfg.features.stream().map(w -> w.chance).reduce(0.0f, (p, c) -> p + c); - float bar = random.nextFloat() * totalWeight; - - for (WeightedPlacedFeature f : cfg.features) { - selected = f.feature.value(); - bar -= f.chance; - if (bar < 0) break; - } - } - return selected.place(level, generator, random, pos); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/All.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/All.java deleted file mode 100644 index 0d89537d..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/All.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.placement; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.All} instead. - */ -@Deprecated(forRemoval = true) -public class All extends org.betterx.bclib.api.v3.levelgen.features.placement.All { - -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/Debug.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/Debug.java deleted file mode 100644 index d81a8c52..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/Debug.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.placement; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.Debug} instead. - */ -@Deprecated(forRemoval = true) -public class Debug extends org.betterx.bclib.api.v3.levelgen.features.placement.Debug { - -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/Extend.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/Extend.java deleted file mode 100644 index c431d980..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/Extend.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.placement; - -import net.minecraft.core.Direction; -import net.minecraft.util.valueproviders.IntProvider; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.Extend} instead. - */ -@Deprecated(forRemoval = true) -public class Extend extends org.betterx.bclib.api.v3.levelgen.features.placement.Extend { - public Extend(Direction direction, IntProvider length) { - super(direction, length); - } -} \ No newline at end of file diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/FindSolidInDirection.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/FindSolidInDirection.java deleted file mode 100644 index 12bcbdcc..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/FindSolidInDirection.java +++ /dev/null @@ -1,25 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.placement; - -import net.minecraft.core.Direction; - -import java.util.List; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.FindSolidInDirection} instead. - */ -@Deprecated(forRemoval = true) -public class FindSolidInDirection extends org.betterx.bclib.api.v3.levelgen.features.placement.FindSolidInDirection { - - - public FindSolidInDirection(Direction direction, int maxSearchDistance) { - super(direction, maxSearchDistance, 0); - } - - public FindSolidInDirection(List direction, int maxSearchDistance) { - super(direction, maxSearchDistance, 0); - } - - public FindSolidInDirection(List direction, int maxSearchDistance, boolean randomSelect) { - super(direction, maxSearchDistance, randomSelect, 0); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/ForAll.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/ForAll.java deleted file mode 100644 index 5f6ac277..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/ForAll.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.placement; - -import net.minecraft.world.level.levelgen.placement.PlacementModifier; - -import java.util.List; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.ForAll} instead. - */ -@Deprecated(forRemoval = true) -public class ForAll extends org.betterx.bclib.api.v3.levelgen.features.placement.ForAll { - - public ForAll(List modifiers) { - super(modifiers); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/Is.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/Is.java deleted file mode 100644 index 360dadf2..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/Is.java +++ /dev/null @@ -1,17 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.placement; - -import net.minecraft.core.Vec3i; -import net.minecraft.world.level.levelgen.blockpredicates.BlockPredicate; - -import java.util.Optional; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.Is} instead. - */ -@Deprecated(forRemoval = true) -public class Is extends org.betterx.bclib.api.v3.levelgen.features.placement.Is { - - public Is(BlockPredicate predicate, Optional offset) { - super(predicate, offset); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/IsBasin.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/IsBasin.java deleted file mode 100644 index c96d3506..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/IsBasin.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.placement; - -import net.minecraft.world.level.levelgen.blockpredicates.BlockPredicate; - -import java.util.Optional; - - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.IsBasin} instead. - */ -@Deprecated(forRemoval = true) -public class IsBasin extends org.betterx.bclib.api.v3.levelgen.features.placement.IsBasin { - - public IsBasin(BlockPredicate predicate) { - super(predicate); - } - - public IsBasin(BlockPredicate predicate, Optional topPredicate) { - super(predicate, topPredicate); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/IsEmptyAboveSampledFilter.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/IsEmptyAboveSampledFilter.java deleted file mode 100644 index d1f587b0..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/IsEmptyAboveSampledFilter.java +++ /dev/null @@ -1,75 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.placement; - -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; -import net.minecraft.core.BlockPos; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.levelgen.placement.PlacementContext; -import net.minecraft.world.level.levelgen.placement.PlacementFilter; -import net.minecraft.world.level.levelgen.placement.PlacementModifierType; - -/** - * Tests if there is air at two locations above the tested block position - */ -@Deprecated(forRemoval = true) -public class IsEmptyAboveSampledFilter extends PlacementFilter { - private static final IsEmptyAboveSampledFilter DEFAULT = new IsEmptyAboveSampledFilter(4, 2); - private static final IsEmptyAboveSampledFilter DEFAULT1 = new IsEmptyAboveSampledFilter(1, 1); - private static final IsEmptyAboveSampledFilter DEFAULT2 = new IsEmptyAboveSampledFilter(1, 2); - - private static final IsEmptyAboveSampledFilter BELOW_DEFAULT = new IsEmptyAboveSampledFilter(-4, -2); - private static final IsEmptyAboveSampledFilter BELOW_DEFAULT1 = new IsEmptyAboveSampledFilter(-1, -1); - private static final IsEmptyAboveSampledFilter BELOW_DEFAULT2 = new IsEmptyAboveSampledFilter(-1, -2); - public static final Codec CODEC = RecordCodecBuilder.create((instance) -> instance - .group( - Codec.intRange(-32, 32).fieldOf("d1").orElse(4).forGetter((p) -> p.distance1), - Codec.intRange(-32, 32).fieldOf("d2").orElse(2).forGetter((p) -> p.distance1) - ) - .apply(instance, IsEmptyAboveSampledFilter::new)); - - public static PlacementFilter emptyAbove4() { - return DEFAULT; - } - - public static PlacementFilter emptyAbove2() { - return DEFAULT2; - } - - public static PlacementFilter emptyAbove() { - return DEFAULT1; - } - - public static PlacementFilter emptyBelow4() { - return BELOW_DEFAULT; - } - - public static PlacementFilter emptyBelow2() { - return BELOW_DEFAULT2; - } - - public static PlacementFilter emptyBelow() { - return BELOW_DEFAULT1; - } - - public IsEmptyAboveSampledFilter(int d1, int d2) { - this.distance1 = d1; - this.distance2 = d2; - } - - private final int distance1; - private final int distance2; - - - @Override - protected boolean shouldPlace(PlacementContext ctx, RandomSource random, BlockPos pos) { - WorldGenLevel level = ctx.getLevel(); - return level.isEmptyBlock(pos.above(distance1)) - && (distance1 == distance2 || level.isEmptyBlock(pos.above(distance2))); - } - - @Override - public PlacementModifierType type() { - return PlacementModifiers.IS_EMPTY_ABOVE_SAMPLED_FILTER; - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/MinEmptyFilter.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/MinEmptyFilter.java deleted file mode 100644 index 51d5cc87..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/MinEmptyFilter.java +++ /dev/null @@ -1,65 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.placement; - -import org.betterx.bclib.util.BlocksHelper; - -import com.mojang.serialization.Codec; -import com.mojang.serialization.codecs.RecordCodecBuilder; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.util.RandomSource; -import net.minecraft.world.level.levelgen.placement.PlacementContext; -import net.minecraft.world.level.levelgen.placement.PlacementFilter; -import net.minecraft.world.level.levelgen.placement.PlacementModifier; -import net.minecraft.world.level.levelgen.placement.PlacementModifierType; - -@Deprecated(forRemoval = true) -public class MinEmptyFilter extends PlacementFilter { - private static final MinEmptyFilter DOWN = new MinEmptyFilter(Direction.DOWN, 2); - private static final MinEmptyFilter UP = new MinEmptyFilter(Direction.UP, 2); - public static final Codec CODEC = RecordCodecBuilder.create((instance) -> instance - .group( - Direction.CODEC.fieldOf("dir").orElse(Direction.DOWN).forGetter((p) -> p.direction), - Codec.intRange(1, 32).fieldOf("dist").orElse(12).forGetter((p) -> p.distance) - ) - .apply(instance, MinEmptyFilter::new)); - - private final Direction direction; - private final int distance; - - protected MinEmptyFilter(Direction direction, int distance) { - this.direction = direction; - this.distance = distance; - } - - public static PlacementModifier down() { - return DOWN; - } - - public static PlacementModifier down(int dist) { - return new MinEmptyFilter(Direction.DOWN, dist); - } - - public static PlacementModifier up() { - return UP; - } - - public static PlacementModifier up(int dist) { - return new MinEmptyFilter(Direction.UP, dist); - } - - @Override - protected boolean shouldPlace(PlacementContext ctx, RandomSource randomSource, BlockPos pos) { - return BlocksHelper.isFreeSpace( - ctx.getLevel(), - pos.relative(direction), - direction, - distance - 1, - BlocksHelper::isFree - ); - } - - @Override - public PlacementModifierType type() { - return PlacementModifiers.MIN_EMPTY_FILTER; - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/Offset.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/Offset.java deleted file mode 100644 index 388515c2..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/Offset.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.placement; - -import net.minecraft.core.Vec3i; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.Offset} instead. - */ -@Deprecated(forRemoval = true) -public class Offset extends org.betterx.bclib.api.v3.levelgen.features.placement.Offset { - - public Offset(Vec3i offset) { - super(offset); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/OnEveryLayer.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/OnEveryLayer.java deleted file mode 100644 index b4d89677..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/OnEveryLayer.java +++ /dev/null @@ -1,14 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.placement; - -import java.util.Optional; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.OnEveryLayer} instead - */ -@Deprecated(forRemoval = true) -public class OnEveryLayer extends org.betterx.bclib.api.v3.levelgen.features.placement.OnEveryLayer { - - protected OnEveryLayer(Optional minHeight, Optional maxHeight) { - super(minHeight, maxHeight); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/PlacementModifiers.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/PlacementModifiers.java deleted file mode 100644 index 7977cfbd..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/PlacementModifiers.java +++ /dev/null @@ -1,133 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.placement; - -import org.betterx.bclib.BCLib; -import org.betterx.bclib.api.v3.levelgen.features.placement.All; -import org.betterx.bclib.api.v3.levelgen.features.placement.Debug; -import org.betterx.bclib.api.v3.levelgen.features.placement.Extend; -import org.betterx.bclib.api.v3.levelgen.features.placement.FindSolidInDirection; -import org.betterx.bclib.api.v3.levelgen.features.placement.ForAll; -import org.betterx.bclib.api.v3.levelgen.features.placement.Is; -import org.betterx.bclib.api.v3.levelgen.features.placement.IsBasin; -import org.betterx.bclib.api.v3.levelgen.features.placement.Offset; -import org.betterx.bclib.api.v3.levelgen.features.placement.OnEveryLayer; -import org.betterx.bclib.api.v3.levelgen.features.placement.Stencil; -import org.betterx.bclib.api.v3.levelgen.features.placement.UnderEveryLayer; -import org.betterx.bclib.api.v3.levelgen.features.placement.*; - -import com.mojang.serialization.Codec; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.levelgen.placement.PlacementModifier; -import net.minecraft.world.level.levelgen.placement.PlacementModifierType; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers} instead - */ -@Deprecated(forRemoval = true) -public class PlacementModifiers { - /** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers#NOISE_FILTER} instead - */ - @Deprecated(forRemoval = true) - public static final PlacementModifierType NOISE_FILTER = org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers.NOISE_FILTER; - /** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers#DEBUG} instead - */ - @Deprecated(forRemoval = true) - public static final PlacementModifierType DEBUG = org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers.DEBUG; - @Deprecated(forRemoval = true) - public static final PlacementModifierType IS_EMPTY_ABOVE_SAMPLED_FILTER = register( - "is_empty_above_sampled_filter", - IsEmptyAboveSampledFilter.CODEC - ); - - public static final PlacementModifierType MIN_EMPTY_FILTER = register( - "min_empty_filter", - MinEmptyFilter.CODEC - ); - - /** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers#FOR_ALL} instead - */ - @Deprecated(forRemoval = true) - public static final PlacementModifierType FOR_ALL = org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers.FOR_ALL; - - /** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers#SOLID_IN_DIR} instead - */ - @Deprecated(forRemoval = true) - public static final PlacementModifierType SOLID_IN_DIR = org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers.SOLID_IN_DIR; - - /** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers#STENCIL} instead - */ - @Deprecated(forRemoval = true) - public static final PlacementModifierType STENCIL = org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers.STENCIL; - - /** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers#ALL} instead - */ - @Deprecated(forRemoval = true) - public static final PlacementModifierType ALL = org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers.ALL; - - /** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers#IS_BASIN} instead - */ - @Deprecated(forRemoval = true) - public static final PlacementModifierType IS_BASIN = org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers.IS_BASIN; - - /** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers#IS} instead - */ - @Deprecated(forRemoval = true) - public static final PlacementModifierType IS = org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers.IS; - - /** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers#OFFSET} instead - */ - @Deprecated(forRemoval = true) - public static final PlacementModifierType OFFSET = org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers.OFFSET; - - /** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers#EXTEND} instead - */ - @Deprecated(forRemoval = true) - public static final PlacementModifierType EXTEND = org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers.EXTEND; - - /** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers#ON_EVERY_LAYER} instead - */ - @Deprecated(forRemoval = true) - public static final PlacementModifierType ON_EVERY_LAYER = org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers.ON_EVERY_LAYER; - - /** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers#UNDER_EVERY_LAYER} instead - */ - @Deprecated(forRemoval = true) - public static final PlacementModifierType UNDER_EVERY_LAYER = org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers.UNDER_EVERY_LAYER; - - private static

PlacementModifierType

register(String path, Codec

codec) { - return register(BCLib.makeID(path), codec); - } - - - /** - * @param location - * @param codec - * @param

- * @return - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers#register(ResourceLocation, Codec)} instead - */ - @Deprecated(forRemoval = true) - public static

PlacementModifierType

register( - ResourceLocation location, - Codec

codec - ) { - return org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers.register(location, codec); - } - - @Deprecated(forRemoval = true) - public static void ensureStaticInitialization() { - - } -} - diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/Stencil.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/Stencil.java deleted file mode 100644 index c6f91c4d..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/Stencil.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.placement; - -import java.util.List; - - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.Stencil} instead - */ -@Deprecated(forRemoval = true) -public class Stencil extends org.betterx.bclib.api.v3.levelgen.features.placement.Stencil { - - public Stencil(Boolean[] stencil, int selectOneIn) { - super(stencil, selectOneIn); - } - - public Stencil(List stencil, int selectOneIn) { - super(stencil, selectOneIn); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/UnderEveryLayer.java b/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/UnderEveryLayer.java deleted file mode 100644 index 36259571..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/levelgen/features/placement/UnderEveryLayer.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.betterx.bclib.api.v2.levelgen.features.placement; - -import java.util.Optional; - -/** - * @deprecated Please use {@link org.betterx.bclib.api.v3.levelgen.features.placement.UnderEveryLayer} instead - */ -@Deprecated(forRemoval = true) -public class UnderEveryLayer - extends org.betterx.bclib.api.v3.levelgen.features.placement.UnderEveryLayer { - - protected UnderEveryLayer(Optional minHeight, Optional maxHeight) { - super(minHeight, maxHeight); - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/poi/BCLPoiType.java b/src/main/java/org/betterx/bclib/api/v2/poi/BCLPoiType.java index 99a5a0fe..7c2a3204 100644 --- a/src/main/java/org/betterx/bclib/api/v2/poi/BCLPoiType.java +++ b/src/main/java/org/betterx/bclib/api/v2/poi/BCLPoiType.java @@ -2,7 +2,6 @@ package org.betterx.bclib.api.v2.poi; import net.minecraft.core.BlockPos; import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerLevel; import net.minecraft.tags.TagKey; import net.minecraft.world.entity.ai.village.poi.PoiManager; @@ -97,22 +96,4 @@ public class BCLPoiType { return record.map(poiRecord -> poiRecord.getPos()); } - - /** - * @param location - * @param matchingStates - * @param maxTickets - * @param validRanges - * @return - * @deprecated Please use {@link org.betterx.bclib.api.v2.poi.PoiManager#register(ResourceLocation, Set, int, int)} instead - */ - @Deprecated(forRemoval = true) - public static BCLPoiType register( - ResourceLocation location, - Set matchingStates, - int maxTickets, - int validRanges - ) { - return org.betterx.bclib.api.v2.poi.PoiManager.register(location, matchingStates, maxTickets, validRanges); - } } diff --git a/src/main/java/org/betterx/bclib/api/v2/tag/CommonBiomeTags.java b/src/main/java/org/betterx/bclib/api/v2/tag/CommonBiomeTags.java deleted file mode 100644 index df8402d5..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/tag/CommonBiomeTags.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.betterx.bclib.api.v2.tag; - -import net.minecraft.tags.TagKey; -import net.minecraft.world.level.biome.Biome; - -/** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBiomeTags} - */ -@Deprecated(forRemoval = true) -public class CommonBiomeTags { - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBiomeTags#IN_NETHER} - **/ - @Deprecated(forRemoval = true) - public static final TagKey IN_NETHER = org.betterx.worlds.together.tag.v3.CommonBiomeTags.IN_NETHER; -} diff --git a/src/main/java/org/betterx/bclib/api/v2/tag/CommonBlockTags.java b/src/main/java/org/betterx/bclib/api/v2/tag/CommonBlockTags.java deleted file mode 100644 index 38d1d7cf..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/tag/CommonBlockTags.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.betterx.bclib.api.v2.tag; - -import net.minecraft.tags.TagKey; -import net.minecraft.world.level.block.Block; - -/** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags} - */ -@Deprecated(forRemoval = true) -public class CommonBlockTags { - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#BARREL} - **/ - @Deprecated(forRemoval = true) - public static final TagKey BARREL = org.betterx.worlds.together.tag.v3.CommonBlockTags.BARREL; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#BOOKSHELVES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey BOOKSHELVES = org.betterx.worlds.together.tag.v3.CommonBlockTags.BOOKSHELVES; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#CHEST} - **/ - @Deprecated(forRemoval = true) - public static final TagKey CHEST = org.betterx.worlds.together.tag.v3.CommonBlockTags.CHEST; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#END_STONES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey END_STONES = org.betterx.worlds.together.tag.v3.CommonBlockTags.END_STONES; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#GEN_END_STONES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey GEN_END_STONES = org.betterx.worlds.together.tag.v3.CommonBlockTags.GEN_END_STONES; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#IMMOBILE} - **/ - @Deprecated(forRemoval = true) - public static final TagKey IMMOBILE = org.betterx.worlds.together.tag.v3.CommonBlockTags.IMMOBILE; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#LEAVES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey LEAVES = org.betterx.worlds.together.tag.v3.CommonBlockTags.LEAVES; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#NETHERRACK} - **/ - @Deprecated(forRemoval = true) - public static final TagKey NETHERRACK = org.betterx.worlds.together.tag.v3.CommonBlockTags.NETHERRACK; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#MYCELIUM} - **/ - @Deprecated(forRemoval = true) - public static final TagKey MYCELIUM = org.betterx.worlds.together.tag.v3.CommonBlockTags.MYCELIUM; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#NETHER_MYCELIUM} - **/ - @Deprecated(forRemoval = true) - public static final TagKey NETHER_MYCELIUM = org.betterx.worlds.together.tag.v3.CommonBlockTags.NETHER_MYCELIUM; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#NETHER_PORTAL_FRAME} - **/ - @Deprecated(forRemoval = true) - public static final TagKey NETHER_PORTAL_FRAME = org.betterx.worlds.together.tag.v3.CommonBlockTags.NETHER_PORTAL_FRAME; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#NETHER_STONES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey NETHER_STONES = org.betterx.worlds.together.tag.v3.CommonBlockTags.NETHER_STONES; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#NETHER_ORES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey NETHER_ORES = org.betterx.worlds.together.tag.v3.CommonBlockTags.NETHER_ORES; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#END_ORES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey END_ORES = org.betterx.worlds.together.tag.v3.CommonBlockTags.END_ORES; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#SAPLINGS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey SAPLINGS = org.betterx.worlds.together.tag.v3.CommonBlockTags.SAPLINGS; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#SOUL_GROUND} - **/ - @Deprecated(forRemoval = true) - public static final TagKey SOUL_GROUND = org.betterx.worlds.together.tag.v3.CommonBlockTags.SOUL_GROUND; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#WOODEN_BARREL} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_BARREL = org.betterx.worlds.together.tag.v3.CommonBlockTags.WOODEN_BARREL; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#WOODEN_CHEST} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_CHEST = org.betterx.worlds.together.tag.v3.CommonBlockTags.WOODEN_CHEST; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#WORKBENCHES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WORKBENCHES = org.betterx.worlds.together.tag.v3.CommonBlockTags.WORKBENCHES; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#DRAGON_IMMUNE} - **/ - @Deprecated(forRemoval = true) - public static final TagKey DRAGON_IMMUNE = org.betterx.worlds.together.tag.v3.CommonBlockTags.DRAGON_IMMUNE; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#MINABLE_WITH_HAMMER} - **/ - @Deprecated(forRemoval = true) - public static final TagKey MINABLE_WITH_HAMMER = org.betterx.worlds.together.tag.v3.CommonBlockTags.MINABLE_WITH_HAMMER; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#IS_OBSIDIAN} - **/ - @Deprecated(forRemoval = true) - public static final TagKey IS_OBSIDIAN = org.betterx.worlds.together.tag.v3.CommonBlockTags.IS_OBSIDIAN; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#TERRAIN} - **/ - @Deprecated(forRemoval = true) - public static final TagKey TERRAIN = org.betterx.worlds.together.tag.v3.CommonBlockTags.TERRAIN; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonBlockTags#NETHER_TERRAIN} - **/ - @Deprecated(forRemoval = true) - public static final TagKey NETHER_TERRAIN = org.betterx.worlds.together.tag.v3.CommonBlockTags.NETHER_TERRAIN; -} diff --git a/src/main/java/org/betterx/bclib/api/v2/tag/CommonItemTags.java b/src/main/java/org/betterx/bclib/api/v2/tag/CommonItemTags.java deleted file mode 100644 index 543c7fd9..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/tag/CommonItemTags.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.betterx.bclib.api.v2.tag; - -import net.minecraft.tags.TagKey; -import net.minecraft.world.item.Item; - -/** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonItemTags} - */ -@Deprecated(forRemoval = true) -public class CommonItemTags { - - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonItemTags#HAMMERS} - **/ - @Deprecated(forRemoval = true) - public final static TagKey HAMMERS = org.betterx.worlds.together.tag.v3.CommonItemTags.HAMMERS; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonItemTags#BARREL} - **/ - @Deprecated(forRemoval = true) - public static final TagKey BARREL = org.betterx.worlds.together.tag.v3.CommonItemTags.BARREL; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonItemTags#CHEST} - **/ - @Deprecated(forRemoval = true) - public static final TagKey CHEST = org.betterx.worlds.together.tag.v3.CommonItemTags.CHEST; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonItemTags#SHEARS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey SHEARS = org.betterx.worlds.together.tag.v3.CommonItemTags.SHEARS; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonItemTags#FURNACES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey FURNACES = org.betterx.worlds.together.tag.v3.CommonItemTags.FURNACES; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonItemTags#IRON_INGOTS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey IRON_INGOTS = org.betterx.worlds.together.tag.v3.CommonItemTags.IRON_INGOTS; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonItemTags#LEAVES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey LEAVES = org.betterx.worlds.together.tag.v3.CommonItemTags.LEAVES; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonItemTags#SAPLINGS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey SAPLINGS = org.betterx.worlds.together.tag.v3.CommonItemTags.SAPLINGS; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonItemTags#SOUL_GROUND} - **/ - @Deprecated(forRemoval = true) - public static final TagKey SOUL_GROUND = org.betterx.worlds.together.tag.v3.CommonItemTags.SOUL_GROUND; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonItemTags#WOODEN_BARREL} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_BARREL = org.betterx.worlds.together.tag.v3.CommonItemTags.WOODEN_BARREL; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonItemTags#WOODEN_CHEST} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_CHEST = org.betterx.worlds.together.tag.v3.CommonItemTags.WOODEN_CHEST; - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.tag.v3.CommonItemTags#WORKBENCHES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WORKBENCHES = org.betterx.worlds.together.tag.v3.CommonItemTags.WORKBENCHES; - -} diff --git a/src/main/java/org/betterx/bclib/api/v2/tag/NamedBlockTags.java b/src/main/java/org/betterx/bclib/api/v2/tag/NamedBlockTags.java deleted file mode 100644 index 5e423797..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/tag/NamedBlockTags.java +++ /dev/null @@ -1,162 +0,0 @@ -package org.betterx.bclib.api.v2.tag; - -import net.minecraft.tags.BlockTags; -import net.minecraft.tags.TagKey; -import net.minecraft.world.level.block.Block; - -/** - * @deprecated Replaced by {@link BlockTags} - */ -@Deprecated(forRemoval = true) -public class NamedBlockTags { - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#ANVIL} - **/ - @Deprecated(forRemoval = true) - public static final TagKey ANVIL = BlockTags.ANVIL; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#BUTTONS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey BUTTONS = BlockTags.BUTTONS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#CLIMBABLE} - **/ - @Deprecated(forRemoval = true) - public static final TagKey CLIMBABLE = BlockTags.CLIMBABLE; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#DOORS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey DOORS = BlockTags.DOORS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#FENCES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey FENCES = BlockTags.FENCES; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#FENCE_GATES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey FENCE_GATES = BlockTags.FENCE_GATES; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#LEAVES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey LEAVES = BlockTags.LEAVES; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#LOGS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey LOGS = BlockTags.LOGS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#LOGS_THAT_BURN} - **/ - @Deprecated(forRemoval = true) - public static final TagKey LOGS_THAT_BURN = BlockTags.LOGS_THAT_BURN; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#NYLIUM} - **/ - @Deprecated(forRemoval = true) - public static final TagKey NYLIUM = BlockTags.NYLIUM; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#PLANKS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey PLANKS = BlockTags.PLANKS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#PRESSURE_PLATES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey PRESSURE_PLATES = BlockTags.PRESSURE_PLATES; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#SAPLINGS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey SAPLINGS = BlockTags.SAPLINGS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#SIGNS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey SIGNS = BlockTags.SIGNS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#SLABS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey SLABS = BlockTags.SLABS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#STAIRS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey STAIRS = BlockTags.STAIRS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#STONE_PRESSURE_PLATES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey STONE_PRESSURE_PLATES = BlockTags.STONE_PRESSURE_PLATES; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#TRAPDOORS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey TRAPDOORS = BlockTags.TRAPDOORS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#WALLS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WALLS = BlockTags.WALLS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#WOODEN_BUTTONS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_BUTTONS = BlockTags.WOODEN_BUTTONS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#WOODEN_DOORS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_DOORS = BlockTags.WOODEN_DOORS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#WOODEN_FENCES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_FENCES = BlockTags.WOODEN_FENCES; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#WOODEN_PRESSURE_PLATES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_PRESSURE_PLATES = BlockTags.WOODEN_PRESSURE_PLATES; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#WOODEN_SLABS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_SLABS = BlockTags.WOODEN_SLABS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#WOODEN_STAIRS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_STAIRS = BlockTags.WOODEN_STAIRS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#WOODEN_TRAPDOORS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_TRAPDOORS = BlockTags.WOODEN_TRAPDOORS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#SOUL_FIRE_BASE_BLOCKS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey SOUL_FIRE_BASE_BLOCKS = BlockTags.SOUL_FIRE_BASE_BLOCKS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#SOUL_SPEED_BLOCKS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey SOUL_SPEED_BLOCKS = BlockTags.SOUL_SPEED_BLOCKS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#BEACON_BASE_BLOCKS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey BEACON_BASE_BLOCKS = BlockTags.BEACON_BASE_BLOCKS; - /** - * @deprecated replaced by {@link net.minecraft.tags.BlockTags#STONE_BRICKS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey STONE_BRICKS = BlockTags.STONE_BRICKS; -} diff --git a/src/main/java/org/betterx/bclib/api/v2/tag/NamedItemTags.java b/src/main/java/org/betterx/bclib/api/v2/tag/NamedItemTags.java deleted file mode 100644 index 68165e05..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/tag/NamedItemTags.java +++ /dev/null @@ -1,128 +0,0 @@ -package org.betterx.bclib.api.v2.tag; - -import net.minecraft.tags.ItemTags; -import net.minecraft.tags.TagKey; -import net.minecraft.world.item.Item; - - -/** - * @deprecated Replaced by {@link ItemTags} - */ -@Deprecated(forRemoval = true) -public class NamedItemTags { - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#BUTTONS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey BUTTONS = ItemTags.BUTTONS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#DOORS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey DOORS = ItemTags.DOORS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#FENCES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey FENCES = ItemTags.FENCES; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#LEAVES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey LEAVES = ItemTags.LEAVES; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#LOGS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey LOGS = ItemTags.LOGS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#LOGS_THAT_BURN} - **/ - @Deprecated(forRemoval = true) - public static final TagKey LOGS_THAT_BURN = ItemTags.LOGS_THAT_BURN; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#PLANKS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey PLANKS = ItemTags.PLANKS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#SAPLINGS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey SAPLINGS = ItemTags.SAPLINGS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#SIGNS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey SIGNS = ItemTags.SIGNS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#SLABS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey SLABS = ItemTags.SLABS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#STAIRS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey STAIRS = ItemTags.STAIRS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#TRAPDOORS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey TRAPDOORS = ItemTags.TRAPDOORS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#WOODEN_BUTTONS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_BUTTONS = ItemTags.WOODEN_BUTTONS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#WOODEN_DOORS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_DOORS = ItemTags.WOODEN_DOORS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#WOODEN_FENCES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_FENCES = ItemTags.WOODEN_FENCES; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#WOODEN_PRESSURE_PLATES} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_PRESSURE_PLATES = ItemTags.WOODEN_PRESSURE_PLATES; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#WOODEN_SLABS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_SLABS = ItemTags.WOODEN_SLABS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#WOODEN_STAIRS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_STAIRS = ItemTags.WOODEN_STAIRS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#WOODEN_TRAPDOORS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey WOODEN_TRAPDOORS = ItemTags.WOODEN_TRAPDOORS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#BEACON_PAYMENT_ITEMS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey BEACON_PAYMENT_ITEMS = ItemTags.BEACON_PAYMENT_ITEMS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#STONE_BRICKS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey STONE_BRICKS = ItemTags.STONE_BRICKS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#STONE_CRAFTING_MATERIALS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey STONE_CRAFTING_MATERIALS = ItemTags.STONE_CRAFTING_MATERIALS; - /** - * @deprecated replaced by {@link net.minecraft.tags.ItemTags#STONE_TOOL_MATERIALS} - **/ - @Deprecated(forRemoval = true) - public static final TagKey STONE_TOOL_MATERIALS = ItemTags.STONE_TOOL_MATERIALS; -} diff --git a/src/main/java/org/betterx/bclib/api/v2/tag/NamedMineableTags.java b/src/main/java/org/betterx/bclib/api/v2/tag/NamedMineableTags.java deleted file mode 100644 index 29f16d16..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/tag/NamedMineableTags.java +++ /dev/null @@ -1,48 +0,0 @@ -package org.betterx.bclib.api.v2.tag; - -import org.betterx.worlds.together.tag.v3.MineableTags; - -import net.minecraft.tags.TagKey; -import net.minecraft.world.level.block.Block; - -/** - * @deprecated Replaced by {@link MineableTags} - */ -@Deprecated(forRemoval = true) -public class NamedMineableTags { - /** - * @deprecated use {@link MineableTags#AXE} instead - **/ - @Deprecated(forRemoval = true) - public static final TagKey AXE = MineableTags.AXE; - /** - * @deprecated use {@link MineableTags#HOE} instead - **/ - @Deprecated(forRemoval = true) - public static final TagKey HOE = MineableTags.HOE; - /** - * @deprecated use {@link MineableTags#PICKAXE} instead - **/ - @Deprecated(forRemoval = true) - public static final TagKey PICKAXE = MineableTags.PICKAXE; - /** - * @deprecated use {@link MineableTags#SHEARS} instead - **/ - @Deprecated(forRemoval = true) - public static final TagKey SHEARS = MineableTags.SHEARS; - /** - * @deprecated use {@link MineableTags#SHOVEL} instead - **/ - @Deprecated(forRemoval = true) - public static final TagKey SHOVEL = MineableTags.SHOVEL; - /** - * @deprecated use {@link MineableTags#SWORD} instead - **/ - @Deprecated(forRemoval = true) - public static final TagKey SWORD = MineableTags.SWORD; - /** - * @deprecated use {@link MineableTags#HAMMER} instead - **/ - @Deprecated(forRemoval = true) - public static final TagKey HAMMER = MineableTags.HAMMER; -} diff --git a/src/main/java/org/betterx/bclib/api/v2/tag/NamedToolTags.java b/src/main/java/org/betterx/bclib/api/v2/tag/NamedToolTags.java deleted file mode 100644 index 72a197cf..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/tag/NamedToolTags.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.betterx.bclib.api.v2.tag; - -import org.betterx.worlds.together.tag.v3.ToolTags; - -import net.minecraft.tags.TagKey; -import net.minecraft.world.item.Item; - -/** - * @deprecated Replaced by {@link ToolTags} - */ -@Deprecated(forRemoval = true) -public class NamedToolTags { - /** - * @deprecated use {@link ToolTags#FABRIC_AXES} instead - **/ - @Deprecated(forRemoval = true) - public static final TagKey FABRIC_AXES = ToolTags.FABRIC_AXES; - /** - * @deprecated use {@link ToolTags#FABRIC_HOES} instead - **/ - @Deprecated(forRemoval = true) - public static final TagKey FABRIC_HOES = ToolTags.FABRIC_HOES; - /** - * @deprecated use {@link ToolTags#FABRIC_PICKAXES} instead - **/ - @Deprecated(forRemoval = true) - public static final TagKey FABRIC_PICKAXES = ToolTags.FABRIC_PICKAXES; - /** - * @deprecated use {@link ToolTags#FABRIC_SHEARS} instead - **/ - @Deprecated(forRemoval = true) - public static final TagKey FABRIC_SHEARS = ToolTags.FABRIC_SHEARS; - /** - * @deprecated use {@link ToolTags#FABRIC_SHOVELS} instead - **/ - @Deprecated(forRemoval = true) - public static final TagKey FABRIC_SHOVELS = ToolTags.FABRIC_SHOVELS; - /** - * @deprecated use {@link ToolTags#FABRIC_SWORDS} instead - **/ - @Deprecated(forRemoval = true) - public static final TagKey FABRIC_SWORDS = ToolTags.FABRIC_SWORDS; - - -} diff --git a/src/main/java/org/betterx/bclib/api/v2/tag/TagAPI.java b/src/main/java/org/betterx/bclib/api/v2/tag/TagAPI.java deleted file mode 100644 index 774d33f9..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/tag/TagAPI.java +++ /dev/null @@ -1,282 +0,0 @@ -package org.betterx.bclib.api.v2.tag; - -import org.betterx.bclib.api.v2.levelgen.biomes.BiomeAPI; -import org.betterx.worlds.together.mixin.common.DiggerItemAccessor; -import org.betterx.worlds.together.tag.v3.TagManager; -import org.betterx.worlds.together.tag.v3.TagRegistry; - -import net.minecraft.core.DefaultedRegistry; -import net.minecraft.core.Registry; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.TagKey; -import net.minecraft.tags.TagLoader; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.ItemLike; -import net.minecraft.world.level.biome.Biome; -import net.minecraft.world.level.block.Block; - -import com.google.common.collect.Maps; - -import java.util.List; -import java.util.Map; -import java.util.function.Function; - -/** - * @deprecated Replaced by {@link TagManager} - */ -@Deprecated(forRemoval = true) -public class TagAPI { - private static final Map> TYPES = Maps.newHashMap(); - - /** - * @deprecated Replaced by {@link TagManager#BLOCKS} - */ - @Deprecated(forRemoval = true) - public static TagType.RegistryBacked BLOCKS = registerType(Registry.BLOCK); - /** - * @deprecated Replaced by {@link TagManager#ITEMS} - */ - @Deprecated(forRemoval = true) - public static TagType.RegistryBacked ITEMS = registerType(Registry.ITEM); - - /** - * @deprecated Replaced by {@link TagManager#BIOMES} - */ - @Deprecated(forRemoval = true) - public static TagType.Simple BIOMES = registerType( - Registry.BIOME_REGISTRY, - "tags/worldgen/biome", - b -> BiomeAPI.getBiomeID(b) - ); - - /** - * @deprecated Replaced by {@link TagManager#registerType(DefaultedRegistry)} - */ - @Deprecated(forRemoval = true) - public static TagType.RegistryBacked registerType(DefaultedRegistry registry) { - TagType type = new TagType.RegistryBacked<>(registry); - return (TagType.RegistryBacked) TYPES.computeIfAbsent(type.directory, (dir) -> type); - } - - /** - * @deprecated Replaced by {@link TagManager#registerType(Registry, String)} - */ - @Deprecated(forRemoval = true) - public static TagType.Simple registerType(Registry registry, String directory) { - return registerType(registry.key(), directory, (o) -> registry.getKey(o)); - } - - /** - * @deprecated Replaced by {@link TagManager#registerType(ResourceKey, String, Function)} - */ - @Deprecated(forRemoval = true) - public static TagType.Simple registerType( - ResourceKey> registry, - String directory, - Function locationProvider - ) { - return (TagType.Simple) TYPES.computeIfAbsent( - directory, - (dir) -> new TagType.Simple<>( - registry, - dir, - locationProvider - ) - ); - } - - /** - * @deprecated Replaced by {@link TagManager#registerType(ResourceKey, String)} - */ - @Deprecated(forRemoval = true) - public static TagType.UnTyped registerType(ResourceKey> registry, String directory) { - return (TagType.UnTyped) TYPES.computeIfAbsent(directory, (dir) -> new TagType.UnTyped<>(registry, dir)); - } - - /** - * @deprecated Replaced by {@link TagRegistry#makeTag(String, String)} on {@link TagManager#BIOMES} - */ - @Deprecated(forRemoval = true) - public static TagKey makeBiomeTag(String modID, String name) { - return TagManager.BIOMES.makeTag(new ResourceLocation(modID, name)); - } - - - /** - * @deprecated Replaced by {@link TagRegistry.Biomes#makeStructureTag(String, String)} on {@link TagManager#BIOMES} - */ - @Deprecated(forRemoval = true) - public static TagKey makeStructureTag(String modID, String name) { - return TagManager.BIOMES.makeStructureTag(modID, name); - } - - - /** - * @deprecated Replaced by {@link TagRegistry#makeTag(String, String)} on {@link TagManager#BLOCKS} - */ - @Deprecated(forRemoval = true) - public static TagKey makeBlockTag(String modID, String name) { - return TagManager.BLOCKS.makeTag(new ResourceLocation(modID, name)); - } - - /** - * @deprecated Replaced by {@link TagRegistry#makeTag(ResourceLocation)} on {@link TagManager#BLOCKS} - */ - @Deprecated(forRemoval = true) - public static TagKey makeBlockTag(ResourceLocation id) { - return TagManager.BLOCKS.makeTag(id); - } - - /** - * @deprecated Replaced by {@link TagRegistry#makeTag(String, String)} on {@link TagManager#ITEMS} - */ - @Deprecated(forRemoval = true) - public static TagKey makeItemTag(String modID, String name) { - return TagManager.ITEMS.makeTag(new ResourceLocation(modID, name)); - } - - /** - * @deprecated Replaced by {@link TagRegistry#makeTag(ResourceLocation)} on {@link TagManager#ITEMS} - */ - @Deprecated(forRemoval = true) - public static TagKey makeItemTag(ResourceLocation id) { - return TagManager.ITEMS.makeTag(id); - } - - /** - * @deprecated Replaced by {@link TagRegistry#makeCommonTag(String)} on {@link TagManager#BLOCKS} - */ - @Deprecated(forRemoval = true) - public static TagKey makeCommonBlockTag(String name) { - return TagManager.BLOCKS.makeCommonTag(name); - } - - /** - * @deprecated Replaced by {@link TagRegistry#makeCommonTag(String)} on {@link TagManager#ITEMS} - */ - @Deprecated(forRemoval = true) - public static TagKey makeCommonItemTag(String name) { - return TagManager.ITEMS.makeCommonTag(name); - } - - /** - * @deprecated Replaced by {@link TagRegistry#makeCommonTag(String)} on {@link TagManager#BIOMES} - */ - @Deprecated(forRemoval = true) - public static TagKey makeCommonBiomeTag(String name) { - return TagManager.BIOMES.makeCommonTag(name); - } - - /** - * Initializes basic tags. Should be called only in BCLib main class. - */ - @Deprecated(forRemoval = true) - public static void init() { - } - - /** - * Please use {@link TagManager}.BIOMES.add(biome, tagIDs) instead - * - * @deprecated - */ - @Deprecated(forRemoval = true) - @SafeVarargs - public static void addBiomeTags(Biome biome, TagKey... tagIDs) { - TagManager.BIOMES.add(biome, tagIDs); - } - - - /** - * Please use {@link TagManager}.BIOMES.add(tagID, biomes) instead - * - * @deprecated - */ - @Deprecated(forRemoval = true) - public static void addBiomeTag(TagKey tagID, Biome... biomes) { - TagManager.BIOMES.add(tagID, biomes); - } - - - /** - * Please use {@link TagManager}.BLOCKS.add(block, tagIDs) instead - * - * @deprecated - */ - @Deprecated(forRemoval = true) - @SafeVarargs - public static void addBlockTags(Block block, TagKey... tagIDs) { - TagManager.BLOCKS.add(block, tagIDs); - } - - - /** - * Please use {@link TagManager}.BIOMES.add(tagID, blocks) instead - * - * @deprecated - */ - @Deprecated(forRemoval = true) - public static void addBlockTag(TagKey tagID, Block... blocks) { - TagManager.BLOCKS.add(tagID, blocks); - } - - /** - * Please use {@link TagManager}.ITEMS.add(item, tagIDs) instead - * - * @deprecated - */ - @Deprecated(forRemoval = true) - @SafeVarargs - public static void addItemTags(ItemLike item, TagKey... tagIDs) { - TagManager.ITEMS.add(item.asItem(), tagIDs); - } - - /** - * @deprecated - */ - @Deprecated(forRemoval = true) - public static void addItemTag(TagKey tagID, ItemLike... items) { - for (ItemLike i : items) { - TagManager.ITEMS.add(i.asItem(), tagID); - } - } - - /** - * Please use {@link TagManager}.ITEMS.add(tagID, items) instead - * - * @deprecated - */ - @Deprecated(forRemoval = true) - public static void addItemTag(TagKey tagID, Item... items) { - TagManager.ITEMS.add(tagID, items); - } - - - @Deprecated(forRemoval = true) - public static Map> apply( - String directory, - Map> tagsMap - ) { - TagType type = TYPES.get(directory); - if (type != null) { - type.apply(tagsMap); - } - return tagsMap; - } - - - /** - * @param stack - * @param tag - * @return - * @deprecated call {@link TagManager#isToolWithMineableTag(ItemStack, TagKey)} instead - */ - @Deprecated(forRemoval = true) - public static boolean isToolWithMineableTag(ItemStack stack, TagKey tag) { - if (stack.getItem() instanceof DiggerItemAccessor dig) { - return dig.bclib_getBlockTag().equals(tag); - } - return false; - } -} diff --git a/src/main/java/org/betterx/bclib/api/v2/tag/TagType.java b/src/main/java/org/betterx/bclib/api/v2/tag/TagType.java deleted file mode 100644 index 38b6d6ee..00000000 --- a/src/main/java/org/betterx/bclib/api/v2/tag/TagType.java +++ /dev/null @@ -1,260 +0,0 @@ -package org.betterx.bclib.api.v2.tag; - -import org.betterx.bclib.BCLib; -import org.betterx.bclib.api.v2.levelgen.biomes.InternalBiomeAPI; -import org.betterx.worlds.together.tag.v3.TagRegistry; - -import net.minecraft.core.DefaultedRegistry; -import net.minecraft.core.Registry; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.TagEntry; -import net.minecraft.tags.TagKey; -import net.minecraft.tags.TagLoader; -import net.minecraft.tags.TagManager; -import net.minecraft.world.level.biome.Biome; - -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Sets; - -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.function.BiConsumer; -import java.util.function.Function; - -/** - * @deprecated Replaced by {@link TagRegistry} - */ -@Deprecated(forRemoval = true) -public class TagType { - boolean isFrozen = false; - - /** - * @deprecated Replaced by {@link TagRegistry.RegistryBacked} - */ - @Deprecated(forRemoval = true) - public static class RegistryBacked extends Simple { - private final DefaultedRegistry registry; - - RegistryBacked(DefaultedRegistry registry) { - super( - registry.key(), - TagManager.getTagDir(registry.key()), - (T element) -> { - ResourceLocation id = registry.getKey(element); - if (id != registry.getDefaultKey()) { - return id; - } - return null; - } - ); - this.registry = registry; - } - - @Override - public TagKey makeTag(ResourceLocation id) { - initializeTag(id); - return registry - .getTagNames() - .filter(tagKey -> tagKey.location().equals(id)) - .findAny() - .orElse(TagKey.create(registry.key(), id)); - } - } - - /** - * @deprecated Replaced by {@link TagRegistry.Simple} - */ - @Deprecated(forRemoval = true) - public static class Simple extends TagType { - Simple( - ResourceKey> registry, - String directory, - Function locationProvider - ) { - super(registry, directory, locationProvider); - } - - public void add(TagKey tagID, T... elements) { - super.add(tagID, elements); - } - - public void add(T element, TagKey... tagIDs) { - super.add(element, tagIDs); - } - - @Deprecated(forRemoval = true) - public void add(ResourceLocation tagID, T... elements) { - super.add(tagID, elements); - } - - @Deprecated(forRemoval = true) - public void add(T element, ResourceLocation... tagIDs) { - super.add(element, tagIDs); - } - } - - /** - * @deprecated Replaced by {@link TagRegistry.UnTyped} - */ - @Deprecated(forRemoval = true) - public static class UnTyped extends TagType { - UnTyped( - ResourceKey> registry, - String directory - ) { - super(registry, directory, (t) -> { - throw new RuntimeException("Using Untyped TagType with Type-Dependant access. "); - }); - } - } - - public final String directory; - private final Map> tags = Maps.newConcurrentMap(); - public final ResourceKey> registryKey; - private final Function locationProvider; - - private TagType( - ResourceKey> registry, - String directory, - Function locationProvider - ) { - this.registryKey = registry; - this.directory = directory; - this.locationProvider = locationProvider; - } - - protected void initializeTag(ResourceLocation tagID) { - getSetForTag(tagID); - } - - public Set getSetForTag(ResourceLocation tagID) { - return tags.computeIfAbsent(tagID, k -> Sets.newHashSet()); - } - - public Set getSetForTag(TagKey tag) { - if (tag == null) { - return new HashSet<>(); - } - return getSetForTag(tag.location()); - } - - - /** - * Get or create a {@link TagKey}. - * - * @param id - {@link ResourceLocation} of the tag; - * @return the corresponding TagKey {@link TagKey}. - */ - public TagKey makeTag(ResourceLocation id) { - return creatTagKey(id); - } - - protected TagKey creatTagKey(ResourceLocation id) { - initializeTag(id); - return TagKey.create(registryKey, id); - } - - /** - * Get or create a common {@link TagKey} (namespace is 'c'). - * - * @param name - The name of the Tag; - * @return the corresponding TagKey {@link TagKey}. - * @see Fabric Wiki (Tags) - */ - public TagKey makeCommonTag(String name) { - return creatTagKey(new ResourceLocation("c", name)); - } - - public void addUntyped(TagKey tagID, ResourceLocation... elements) { - if (isFrozen) BCLib.LOGGER.warning("Adding Tag " + tagID + " after the API was frozen."); - Set set = getSetForTag(tagID); - for (ResourceLocation id : elements) { - if (id != null) { - set.add(TagEntry.element(id)); - } - } - } - - public void addUntyped(ResourceLocation element, TagKey... tagIDs) { - for (TagKey tagID : tagIDs) { - addUntyped(tagID, element); - } - } - - public void addOtherTags(TagKey tagID, TagKey... tags) { - if (isFrozen) BCLib.LOGGER.warning("Adding Tag " + tagID + " after the API was frozen."); - Set set = getSetForTag(tagID); - for (TagKey tag : tags) { - ResourceLocation id = tag.location(); - if (id != null) { - set.add(TagEntry.tag(id)); - } - } - } - - /** - * Adds one Tag to multiple Elements. - * - * @param tagID {@link TagKey< Biome >} tag ID. - * @param elements array of Elements to add into tag. - */ - protected void add(TagKey tagID, T... elements) { - if (isFrozen) BCLib.LOGGER.warning("Adding Tag " + tagID + " after the API was frozen."); - Set set = getSetForTag(tagID); - for (T element : elements) { - ResourceLocation id = locationProvider.apply(element); - if (id != null) { - set.add(TagEntry.element(id)); - } - } - } - - protected void add(T element, TagKey... tagIDs) { - for (TagKey tagID : tagIDs) { - add(tagID, element); - } - } - - @Deprecated(forRemoval = true) - protected void add(ResourceLocation tagID, T... elements) { - if (isFrozen) BCLib.LOGGER.warning("Adding Tag " + tagID + " after the API was frozen."); - Set set = getSetForTag(tagID); - for (T element : elements) { - ResourceLocation id = locationProvider.apply(element); - if (id != null) { - set.add(TagEntry.element(id)); - } - } - } - - @Deprecated(forRemoval = true) - protected void add(T element, ResourceLocation... tagIDs) { - for (ResourceLocation tagID : tagIDs) { - add(tagID, element); - } - } - - public void forEach(BiConsumer> consumer) { - tags.forEach(consumer); - } - - public void apply(Map> tagsMap) { - if (Registry.BIOME_REGISTRY.equals(registryKey)) InternalBiomeAPI._runBiomeTagAdders(); - - //this.isFrozen = true; - this.forEach((id, ids) -> apply(id, tagsMap.computeIfAbsent(id, key -> Lists.newArrayList()), ids)); - } - - private static List apply( - ResourceLocation id, - List builder, - Set ids - ) { - ids.forEach(value -> builder.add(new TagLoader.EntryWithSource(value, BCLib.MOD_ID))); - return builder; - } -} diff --git a/src/main/java/org/betterx/bclib/api/v3/levelgen/features/BCLFeature.java b/src/main/java/org/betterx/bclib/api/v3/levelgen/features/BCLFeature.java index fa2cf696..dd784b5d 100644 --- a/src/main/java/org/betterx/bclib/api/v3/levelgen/features/BCLFeature.java +++ b/src/main/java/org/betterx/bclib/api/v3/levelgen/features/BCLFeature.java @@ -21,7 +21,7 @@ public class BCLFeature, FC extends FeatureConfiguration> new PlaceBlockFeature<>(PlaceFacingBlockConfig.CODEC) ); - + public static final Feature TEMPLATE = register( BCLib.makeID("template"), new TemplateFeature( @@ -53,8 +53,7 @@ public class BCLFeature, FC extends FeatureConfiguration> public final GenerationStep.Decoration decoration; @ApiStatus.Internal - @Deprecated(forRemoval = true) - public BCLFeature( + BCLFeature( BCLConfigureFeature configuredFeature, Holder placed, GenerationStep.Decoration decoration diff --git a/src/main/java/org/betterx/bclib/api/v3/levelgen/features/config/ConditionFeatureConfig.java b/src/main/java/org/betterx/bclib/api/v3/levelgen/features/config/ConditionFeatureConfig.java index 8dd40dfd..35b91261 100644 --- a/src/main/java/org/betterx/bclib/api/v3/levelgen/features/config/ConditionFeatureConfig.java +++ b/src/main/java/org/betterx/bclib/api/v3/levelgen/features/config/ConditionFeatureConfig.java @@ -1,6 +1,6 @@ package org.betterx.bclib.api.v3.levelgen.features.config; -import org.betterx.bclib.api.v2.levelgen.features.BCLFeature; +import org.betterx.bclib.api.v3.levelgen.features.BCLFeature; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; diff --git a/src/main/java/org/betterx/bclib/api/v3/levelgen/features/config/SequenceFeatureConfig.java b/src/main/java/org/betterx/bclib/api/v3/levelgen/features/config/SequenceFeatureConfig.java index 91c8a7a0..f0e5f300 100644 --- a/src/main/java/org/betterx/bclib/api/v3/levelgen/features/config/SequenceFeatureConfig.java +++ b/src/main/java/org/betterx/bclib/api/v3/levelgen/features/config/SequenceFeatureConfig.java @@ -1,6 +1,6 @@ package org.betterx.bclib.api.v3.levelgen.features.config; -import org.betterx.bclib.api.v2.levelgen.features.BCLFeature; +import org.betterx.bclib.api.v3.levelgen.features.BCLFeature; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; @@ -23,11 +23,7 @@ public class SequenceFeatureConfig implements FeatureConfiguration { private final List> features; - public static SequenceFeatureConfig create(List> features) { - return new SequenceFeatureConfig(features.stream().map(f -> f.getPlacedFeature()).toList()); - } - - public static SequenceFeatureConfig createSequence(List> features) { + public static SequenceFeatureConfig createSequence(List> features) { return new SequenceFeatureConfig(features.stream().map(f -> f.getPlacedFeature()).toList()); } diff --git a/src/main/java/org/betterx/bclib/blocks/FeatureHangingSaplingBlock.java b/src/main/java/org/betterx/bclib/blocks/FeatureHangingSaplingBlock.java index 790886be..b42a8bce 100644 --- a/src/main/java/org/betterx/bclib/blocks/FeatureHangingSaplingBlock.java +++ b/src/main/java/org/betterx/bclib/blocks/FeatureHangingSaplingBlock.java @@ -11,8 +11,6 @@ import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfigur import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.VoxelShape; -import java.util.function.Function; - public abstract class FeatureHangingSaplingBlock, FC extends FeatureConfiguration> extends FeatureSaplingBlock { private static final VoxelShape SHAPE = Block.box(4, 2, 4, 12, 16, 12); @@ -35,27 +33,6 @@ public abstract class FeatureHangingSaplingBlock, FC exten super(properties, featureSupplier); } - @Deprecated(forRemoval = true) - public FeatureHangingSaplingBlock(Function featureSupplier) { - super(featureSupplier); - } - - @Deprecated(forRemoval = true) - public FeatureHangingSaplingBlock( - Function featureSupplier, - int light - ) { - super(light, featureSupplier); - } - - @Deprecated(forRemoval = true) - public FeatureHangingSaplingBlock( - BlockBehaviour.Properties properties, - Function featureSupplier - ) { - super(properties, featureSupplier); - } - @Override public boolean canSurvive(BlockState blockState, LevelReader levelReader, BlockPos blockPos) { final BlockPos target = blockPos.above(); diff --git a/src/main/java/org/betterx/bclib/blocks/FeatureSaplingBlock.java b/src/main/java/org/betterx/bclib/blocks/FeatureSaplingBlock.java index 067310c4..ac5d0f12 100644 --- a/src/main/java/org/betterx/bclib/blocks/FeatureSaplingBlock.java +++ b/src/main/java/org/betterx/bclib/blocks/FeatureSaplingBlock.java @@ -1,7 +1,6 @@ package org.betterx.bclib.blocks; import org.betterx.bclib.api.v3.levelgen.features.BCLConfigureFeature; -import org.betterx.bclib.api.v3.levelgen.features.BCLFeature; import org.betterx.bclib.client.models.BasePatterns; import org.betterx.bclib.client.models.ModelsHelper; import org.betterx.bclib.client.models.PatternsHelper; @@ -25,7 +24,6 @@ import net.minecraft.world.level.block.SaplingBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.GenerationStep; import net.minecraft.world.level.levelgen.feature.Feature; import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration; import net.minecraft.world.level.material.Material; @@ -40,7 +38,6 @@ import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import java.util.Collections; import java.util.List; import java.util.Optional; -import java.util.function.Function; import org.jetbrains.annotations.Nullable; public class FeatureSaplingBlock, FC extends FeatureConfiguration> extends SaplingBlock implements RenderLayerProvider, BlockModelProvider { @@ -84,56 +81,10 @@ public class FeatureSaplingBlock, FC extends FeatureConfig this.feature = featureSupplier; } - @Deprecated(forRemoval = true) - public FeatureSaplingBlock(Function featureSupplier) { - this( - FabricBlockSettings.of(Material.PLANT) - .collidable(false) - .instabreak() - .sound(SoundType.GRASS) - .randomTicks(), - featureSupplier - ); - } - - @Deprecated(forRemoval = true) - public FeatureSaplingBlock( - int light, - Function featureSupplier - ) { - this( - FabricBlockSettings.of(Material.PLANT) - .collidable(false) - .luminance(light) - .instabreak() - .sound(SoundType.GRASS) - .randomTicks(), - featureSupplier - ); - } - - @Deprecated(forRemoval = true) - public FeatureSaplingBlock( - BlockBehaviour.Properties properties, - Function featureSupplier - ) { - super(null, properties); - this.feature = (s) -> featureSupplier.apply(s).getConfFeature(); - } - protected BCLConfigureFeature getConfiguredFeature(BlockState state) { return feature != null ? feature.get(state) : null; } - @Deprecated(forRemoval = true) - protected org.betterx.bclib.api.v2.levelgen.features.BCLFeature getFeature(BlockState state) { - return new org.betterx.bclib.api.v2.levelgen.features.BCLFeature(new BCLFeature<>( - getConfiguredFeature(state), - null, - GenerationStep.Decoration.TOP_LAYER_MODIFICATION - )); - } - @Override public List getDrops(BlockState state, LootContext.Builder builder) { return Collections.singletonList(new ItemStack(this)); @@ -159,9 +110,8 @@ public class FeatureSaplingBlock, FC extends FeatureConfig @Override public void advanceTree(ServerLevel world, BlockPos pos, BlockState blockState, RandomSource random) { - var conf = getConfiguredFeature(blockState); - if (conf == null) getFeature(blockState).place(world, pos, random); - else conf.placeInWorld(world, pos, random); + BCLConfigureFeature conf = getConfiguredFeature(blockState); + conf.placeInWorld(world, pos, random); } @Override diff --git a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridCell.java b/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridCell.java deleted file mode 100644 index ad0a4050..00000000 --- a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridCell.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.betterx.bclib.client.gui.gridlayout; - -import org.betterx.bclib.interfaces.TriConsumer; - -import com.mojang.blaze3d.vertex.PoseStack; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - -import java.util.List; -import java.util.function.Function; - -@Deprecated(forRemoval = true) -@Environment(EnvType.CLIENT) -class GridCell extends GridCellDefinition { - public final float height; - Function componentPlacer; - TriConsumer customRender; - - GridCell( - double width, - double height, - GridLayout.GridValueType widthType, - Function componentPlacer, - TriConsumer customRender - ) { - super(width, widthType); - this.height = (float) height; - this.componentPlacer = componentPlacer; - this.customRender = customRender; - } - - protected GridElement buildElementAt(int left, int top, int width, final List collector) { - return new GridElement(left, top, width, (int) this.height, componentPlacer, customRender); - } -} diff --git a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridCheckboxCell.java b/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridCheckboxCell.java deleted file mode 100644 index a89114e9..00000000 --- a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridCheckboxCell.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.betterx.bclib.client.gui.gridlayout; - -import net.minecraft.client.gui.components.Checkbox; -import net.minecraft.network.chat.Component; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - -import java.util.function.Consumer; - -@Deprecated(forRemoval = true) -@Environment(EnvType.CLIENT) -class SignalingCheckBox extends Checkbox { - private final Consumer onChange; - - public SignalingCheckBox( - int left, - int top, - int width, - int height, - Component component, - boolean checked, - Consumer onChange - ) { - super(left, top, width, height, component, checked); - this.onChange = onChange; - if (onChange != null) - onChange.accept(checked); - } - - @Override - public void onPress() { - super.onPress(); - if (onChange != null) - onChange.accept(this.selected()); - } -} - -@Deprecated(forRemoval = true) -@Environment(EnvType.CLIENT) -public class GridCheckboxCell extends GridCell implements GridWidgetWithEnabledState { - private boolean checked; - private Checkbox lastCheckbox; - private boolean enabled; - private final float alpha; - - GridCheckboxCell( - Component text, - boolean checked, - float alpha, - double width, - GridLayout.GridValueType widthType, - double height - ) { - this(text, checked, alpha, width, widthType, height, null); - } - - GridCheckboxCell( - Component text, - boolean checked, - float alpha, - double width, - GridLayout.GridValueType widthType, - double height, - Consumer onChange - ) { - super(width, height, widthType, null, null); - lastCheckbox = null; - enabled = true; - this.alpha = alpha; - this.componentPlacer = (transform) -> { - Checkbox cb = new SignalingCheckBox(transform.left, transform.top, transform.width, transform.height, - text, - checked, - (state) -> { - this.checked = state; - if (onChange != null) onChange.accept(state); - } - ); - cb.setAlpha(alpha); - lastCheckbox = cb; - setEnabled(enabled); - return cb; - }; - - } - - public boolean isChecked() { - return checked; - } - - public boolean isEnabled() { - return enabled; - } - - public void setEnabled(boolean enabled) { - if (lastCheckbox != null) { - lastCheckbox.active = enabled; - lastCheckbox.setAlpha(enabled ? alpha : (alpha * 0.5f)); - } - this.enabled = enabled; - } -} diff --git a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridColumn.java b/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridColumn.java deleted file mode 100644 index 530e1aa9..00000000 --- a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridColumn.java +++ /dev/null @@ -1,79 +0,0 @@ -package org.betterx.bclib.client.gui.gridlayout; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - -import java.util.List; - -/** - * @deprecated Please use {@link org.betterx.ui.layout.components.VerticalStack} instead - */ -@Deprecated(forRemoval = true) -@Environment(EnvType.CLIENT) -public class GridColumn extends GridContainer { - GridColumn(double width) { - super(width); - } - - GridColumn(double width, GridLayout.GridValueType widthType) { - super(width, widthType); - } - - public GridRow addRow() { - return addRow(GridLayout.VerticalAlignment.TOP); - } - - public GridRow addRow(GridLayout.VerticalAlignment align) { - GridRow row = new GridRow( - 1.0, - widthType == GridLayout.GridValueType.INHERIT - ? GridLayout.GridValueType.INHERIT - : GridLayout.GridValueType.PERCENTAGE, - align - ); - this.cells.add(row); - return row; - } - - - public void addSpacerRow() { - this.addSpacerRow(4); - } - - public void addSpacerRow(int height) { - GridCell cell = new GridCell(1.0, height, GridLayout.GridValueType.PERCENTAGE, null, null); - this.cells.add(cell); - } - - @Override - public int calculateWidth(final int parentWidth) { - if (widthType == GridLayout.GridValueType.INHERIT) { - return cells.stream() - .filter(row -> row.widthType == GridLayout.GridValueType.INHERIT) - .map(row -> row.buildElement(0, 0, 1, 0, 0, null).width) - .reduce(0, (p, c) -> Math.max(p, c)); - - } else { - return super.calculateWidth(parentWidth); - } - } - - - @Override - protected GridElement buildElementAt(int left, int inTop, int width, final List collector) { - int height = 0; - int top = inTop; - - if (widthType == GridLayout.GridValueType.INHERIT) { - width = calculateWidth(width); - } - - for (GridCellDefinition row : cells) { - GridElement element = row.buildElement(width, 0, 1, left, top, collector); - top += element.height; - height += element.height; - } - - return new GridElement(left, inTop, width, height); - } -} diff --git a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridCustomRenderCell.java b/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridCustomRenderCell.java deleted file mode 100644 index 99e72167..00000000 --- a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridCustomRenderCell.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.betterx.bclib.client.gui.gridlayout; - -import org.betterx.bclib.client.gui.gridlayout.GridLayout.GridValueType; - -import com.mojang.blaze3d.vertex.PoseStack; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - - -@Deprecated(forRemoval = true) -@Environment(EnvType.CLIENT) -public abstract class GridCustomRenderCell extends GridCell { - protected GridCustomRenderCell(double width, GridValueType widthType, double height) { - super(width, height, widthType, null, null); - this.customRender = this::onRender; - } - - public abstract void onRender(PoseStack poseStack, GridTransform transform, Object context); -} diff --git a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridImageCell.java b/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridImageCell.java deleted file mode 100644 index 89c742ca..00000000 --- a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridImageCell.java +++ /dev/null @@ -1,52 +0,0 @@ -package org.betterx.bclib.client.gui.gridlayout; - -import com.mojang.blaze3d.platform.GlStateManager; -import com.mojang.blaze3d.systems.RenderSystem; -import net.minecraft.client.gui.GuiComponent; -import net.minecraft.client.renderer.GameRenderer; -import net.minecraft.resources.ResourceLocation; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - -@Deprecated(forRemoval = true) -@Environment(EnvType.CLIENT) -public class GridImageCell extends GridCell { - GridImageCell( - ResourceLocation location, - double width, - GridLayout.GridValueType widthType, - double height, - float alpha, - int uvLeft, - int uvTop, - int uvWidth, - int uvHeight, - int resourceWidth, - int resourceHeight - ) { - super(width, height, widthType, null, (poseStack, transform, context) -> { - RenderSystem.setShader(GameRenderer::getPositionTexShader); - RenderSystem.setShaderTexture(0, location); - RenderSystem.enableBlend(); - RenderSystem.blendFunc( - GlStateManager.SourceFactor.SRC_ALPHA, - GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA - ); - RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, alpha); - GuiComponent.blit( - poseStack, - transform.left, - transform.top, - transform.width, - transform.height, - uvLeft, - uvTop, - uvWidth, - uvHeight, - resourceWidth, - resourceHeight - ); - }); - } -} diff --git a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridLayout.java b/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridLayout.java deleted file mode 100644 index f29e740d..00000000 --- a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridLayout.java +++ /dev/null @@ -1,234 +0,0 @@ -package org.betterx.bclib.client.gui.gridlayout; - -import org.betterx.bclib.client.gui.gridlayout.GridLayout.GridValueType; -import org.betterx.bclib.interfaces.TriConsumer; -import org.betterx.bclib.util.Pair; - -import com.mojang.blaze3d.vertex.PoseStack; -import net.minecraft.client.gui.components.AbstractWidget; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - -import java.util.LinkedList; -import java.util.List; -import java.util.function.Function; - - -@Deprecated(forRemoval = true) -@Environment(EnvType.CLIENT) -abstract class GridCellDefinition { - public final float width; - public final GridLayout.GridValueType widthType; - - public GridCellDefinition(double width, GridLayout.GridValueType widthType) { - this.width = (float) width; - this.widthType = widthType; - } - - public int calculateWidth(final int parentWidth) { - if (widthType == GridLayout.GridValueType.CONSTANT) { - return (int) this.width; - } else if (widthType == GridValueType.PERCENTAGE) { - return (int) (this.width * parentWidth); - } else { - return 0; - } - } - - final GridElement buildElement( - final int parentWidth, - final int autoWidth, - final float autoWidthSum, - int left, - final int top, - final List collector - ) { - final int width = widthType == GridValueType.FILL - ? (int) ((this.width / autoWidthSum) * autoWidth) - : calculateWidth(parentWidth); - - final GridElement el = buildElementAt(left, top, width, collector); - if (collector != null) { - collector.add(el); - } - return el; - } - - abstract protected GridElement buildElementAt(int left, int top, int width, final List collector); -} - -@Deprecated(forRemoval = true) -@Environment(EnvType.CLIENT) -class GridElement extends GridTransform { - final Function componentPlacer; - final TriConsumer customRender; - Object renderContext; - - GridElement( - int left, - int top, - int width, - int height, - Function componentPlacer, - TriConsumer customRender - ) { - super(left, top, width, height); - this.componentPlacer = componentPlacer; - this.customRender = customRender; - } - - GridElement(int left, int top, int width, int height) { - this(left, top, width, height, null, null); - } - - GridTransform transformWithPadding(int leftPadding, int topPadding) { - return new GridTransform(left + leftPadding, top + topPadding, width, height); - } -} - -@Deprecated(forRemoval = true) -@Environment(EnvType.CLIENT) -abstract class GridContainer extends GridCellDefinition { - protected List cells; - - public GridContainer(double width) { - this(width, GridLayout.GridValueType.CONSTANT); - } - - GridContainer(double width, GridLayout.GridValueType widthType) { - super(width, widthType); - cells = new LinkedList<>(); - } -} - - -/** - * @deprecated Please use {@link org.betterx.ui.layout.components.Panel} instead - */ -@Deprecated(forRemoval = true) -@Environment(EnvType.CLIENT) -public class GridLayout extends GridColumn { - public static final int COLOR_WHITE = 0xFFFFFFFF; - public static final int COLOR_RED = 0xFFDB1F48; - public static final int COLOR_CYAN = 0xFF01949A; - public static final int COLOR_GREEN = 0xFF00FF00; - public static final int COLOR_DARK_GREEN = 0xFF007F00; - public static final int COLOR_YELLOW = 0xFFFAD02C; - public static final int COLOR_BLUE = 0xFF0000FF; - public static final int COLOR_GRAY = 0xFF7F7F7F; - - public final GridScreen screen; - public final int screenHeight; - public final int sidePadding; - public final int initialTopPadding; - public final boolean centerVertically; - private int height; - private int topPadding; - - private List elements; - - public GridLayout(GridScreen screen) { - this(screen, 0, true); - } - - public GridLayout(GridScreen screen, int topPadding, boolean centerVertically) { - this(screen, topPadding, 20, centerVertically); - } - - public GridLayout(GridScreen screen, int topPadding, int sidePadding, boolean centerVertically) { - super(screen.width - 2 * sidePadding, GridValueType.CONSTANT); - this.screen = screen; - this.screenHeight = screen.height; - height = 0; - this.topPadding = topPadding; - this.sidePadding = sidePadding; - this.initialTopPadding = topPadding; - this.centerVertically = centerVertically; - } - - public int getHeight() { - return height; - } - - public int getTopPadding() { - return topPadding; - } - - void buildLayout() { - elements = new LinkedList<>(); - GridElement el = this.buildElement((int) this.width, 0, 1, 0, 0, elements); - this.height = el.height; - if (centerVertically && el.height + initialTopPadding < screenHeight) { - topPadding = (screenHeight - el.height) >> 1; - } else { - topPadding = initialTopPadding; - } - - } - - public List> movableWidgets = new LinkedList<>(); - - public void finalizeLayout() { - buildLayout(); - - elements - .stream() - .filter(element -> element.componentPlacer != null) - .forEach(element -> { - final GridTransform transform = element.transformWithPadding(sidePadding, topPadding); - final Object context = element.componentPlacer.apply(transform); - if (element.customRender != null) { - element.renderContext = context; - } else if (context instanceof AbstractWidget) { - final AbstractWidget widget = (AbstractWidget) context; - movableWidgets.add(new Pair(widget, widget.y)); - screen.addRenderableWidget(widget); - } - }); - } - - public void render(PoseStack poseStack) { - if (elements == null) return; - elements - .stream() - .filter(element -> element.customRender != null) - .forEach(element -> element.customRender.accept( - poseStack, - element.transformWithPadding(sidePadding, topPadding), - element.renderContext - )); - } - - - public enum VerticalAlignment { - TOP, CENTER, BOTTOM - } - - public enum Alignment { - LEFT, CENTER, RIGHT - } - - /** - * Determines how a measurement value is interpreted - */ - public enum GridValueType { - /** - * The value is a constant pixel size - */ - CONSTANT, - /** - * The Value is relative to the parent size - */ - PERCENTAGE, - /** - * The value will be set to fill up the remaining space (i.e. when this is applied to a width of a row element, - * a {@link #FILL}-type may be used to right align (FILL - CONSTANT) or center (FILL - CONSTANT - FILL) elements. - */ - FILL, - /** - * Calculate size based on child-elements - */ - INHERIT - } -} diff --git a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridMessageCell.java b/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridMessageCell.java deleted file mode 100644 index be396a83..00000000 --- a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridMessageCell.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.betterx.bclib.client.gui.gridlayout; - -import net.minecraft.client.gui.Font; -import net.minecraft.client.gui.components.MultiLineLabel; -import net.minecraft.network.chat.Component; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - -import java.util.List; - -@Deprecated(forRemoval = true) -@Environment(EnvType.CLIENT) -public class GridMessageCell extends GridCell { - private final Font font; - private Component text; - private MultiLineLabel lastLabel; - private GridTransform lastTransform; - - GridMessageCell( - double width, - GridLayout.GridValueType widthType, - GridLayout.Alignment contentAlignment, - Font font, - Component text - ) { - this(width, widthType, contentAlignment, font, text, GridLayout.COLOR_WHITE); - } - - GridMessageCell( - double width, - GridLayout.GridValueType widthType, - GridLayout.Alignment contentAlignment, - Font font, - Component text, - int color - ) { - super(width, -1, widthType, null, null); - this.font = font; - this.text = text; - - customRender = (poseStack, transform, context) -> { - //MultiLineLabel label = (MultiLineLabel) context; - if (contentAlignment == GridLayout.Alignment.CENTER) { - lastLabel.renderCentered( - poseStack, - transform.width / 2 + transform.left, - transform.top, - font.lineHeight, - color - ); - } else if (contentAlignment == GridLayout.Alignment.LEFT) { - lastLabel.renderLeftAligned(poseStack, transform.left, transform.top, font.lineHeight, color); - } - }; - } - - public void setText(Component text) { - this.text = text; - if (lastTransform != null) { - create(lastTransform); - } - } - - private MultiLineLabel getLabel(GridTransform transform) { - return lastLabel; - } - - protected void create(GridTransform transform) { - this.lastTransform = transform; - this.lastLabel = MultiLineLabel.create(font, text, transform.width); - } - - @Override - protected GridElement buildElementAt(int left, int top, int width, List collector) { - create(new GridTransform(left, top, width, 0)); - int promptLines = this.lastLabel.getLineCount() + 1; - int height = promptLines * 9; - - return new GridElement(left, top, width, height, this::getLabel, customRender); - } -} diff --git a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridRow.java b/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridRow.java deleted file mode 100644 index d80075de..00000000 --- a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridRow.java +++ /dev/null @@ -1,455 +0,0 @@ -package org.betterx.bclib.client.gui.gridlayout; - -import net.minecraft.client.gui.Font; -import net.minecraft.client.gui.components.Button; -import net.minecraft.client.gui.components.Button.OnPress; -import net.minecraft.network.chat.Component; -import net.minecraft.resources.ResourceLocation; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.function.Consumer; -import java.util.function.Function; - -/** - * @deprecated Please use {@link org.betterx.ui.layout.components.HorizontalStack} instead - */ -@Deprecated(forRemoval = true) -@Environment(EnvType.CLIENT) -public class GridRow extends GridContainer { - public final GridLayout.VerticalAlignment alignment; - - GridRow(double width) { - this(width, GridLayout.VerticalAlignment.TOP); - } - - GridRow(double width, GridLayout.GridValueType widthType) { - this(width, widthType, GridLayout.VerticalAlignment.CENTER); - } - - GridRow(double width, GridLayout.VerticalAlignment alignment) { - super(width); - this.alignment = alignment; - } - - GridRow(double width, GridLayout.GridValueType widthType, GridLayout.VerticalAlignment alignment) { - super(width, widthType); - this.alignment = alignment; - } - - public GridColumn addColumn(double width, GridLayout.GridValueType widthType) { - GridColumn cell = new GridColumn(width, widthType); - this.cells.add(cell); - return cell; - } - - public GridCell addComponent(double height, Function componentPlacer) { - return addComponent(1.0, GridLayout.GridValueType.PERCENTAGE, height, componentPlacer); - } - - public GridCell addComponent( - double width, - GridLayout.GridValueType widthType, - double height, - Function componentPlacer - ) { - GridCell cell = new GridCell(width, height, widthType, componentPlacer, null); - this.cells.add(cell); - return cell; - } - - - public GridCell addButton(Component text, double height, OnPress onPress) { - return addButton(text, 1.0, GridLayout.GridValueType.PERCENTAGE, height, onPress); - } - - public GridCell addButton(Component text, float alpha, double height, OnPress onPress) { - return addButton(text, alpha, 1.0, GridLayout.GridValueType.PERCENTAGE, height, onPress); - } - - public GridCell addButton(Component text, double height, Font font, OnPress onPress) { - return addButton(text, 1.0f, height, font, onPress); - } - - public GridCell addButton(Component text, float alpha, double height, Font font, OnPress onPress) { - final int width = font.width(text.getVisualOrderText()) + 24; - return addButton(text, alpha, width, GridLayout.GridValueType.CONSTANT, height, onPress); - } - - public GridCell addButton( - Component text, - double width, - GridLayout.GridValueType widthType, - double height, - OnPress onPress - ) { - return addButton(text, 1.0f, width, widthType, height, onPress); - } - - public GridCell addButton( - Component text, - float alpha, - double width, - GridLayout.GridValueType widthType, - double height, - OnPress onPress - ) { - GridCell cell = new GridCell(width, height, widthType, (transform) -> { - Button customButton = new Button( - transform.left, - transform.top, - transform.width, - transform.height, - text, - onPress - ); - customButton.setAlpha(alpha); - return customButton; - }, null); - this.cells.add(cell); - return cell; - } - - public GridCheckboxCell addCheckbox(Component text, boolean checked, Font font, Consumer onChange) { - final int width = font.width(text.getVisualOrderText()) + 24 + 2 * 12; - return addCheckbox(text, checked, width, widthType, onChange); - } - - public GridCheckboxCell addCheckbox( - Component text, boolean checked, double width, - GridLayout.GridValueType widthType, Consumer onChange - ) { - - GridCheckboxCell cell = new GridCheckboxCell(text, checked, 1.0f, width, widthType, 20, onChange); - this.cells.add(cell); - return cell; - } - - public GridCheckboxCell addCheckbox(Component text, boolean checked, int height) { - return addCheckbox(text, checked, 1.0f, height); - } - - public GridCheckboxCell addCheckbox(Component text, boolean checked, float alpha, int height) { - return addCheckbox(text, checked, alpha, 1.0, GridLayout.GridValueType.PERCENTAGE, height); - } - - public GridCheckboxCell addCheckbox(Component text, boolean checked, int height, Font font) { - return addCheckbox(text, checked, 1.0f, height, font); - } - - public GridCheckboxCell addCheckbox(Component text, boolean checked, float alpha, int height, Font font) { - final int width = font.width(text.getVisualOrderText()) + 24 + 2 * 12; - return addCheckbox(text, checked, alpha, width, GridLayout.GridValueType.CONSTANT, height); - } - - public GridCheckboxCell addCheckbox( - Component text, - boolean checked, - double width, - GridLayout.GridValueType widthType, - int height - ) { - return addCheckbox(text, checked, 1.0f, width, widthType, height); - } - - public GridCheckboxCell addCheckbox( - Component text, - boolean checked, - float alpha, - double width, - GridLayout.GridValueType widthType, - int height - ) { - GridCheckboxCell cell = new GridCheckboxCell(text, checked, alpha, width, widthType, height); - this.cells.add(cell); - return cell; - } - - public GridCustomRenderCell addCustomRender(GridCustomRenderCell cell) { - this.cells.add(cell); - return cell; - } - - public GridCell addImage(ResourceLocation location, int width, int height) { - return addImage(location, 1.0f, width, height); - } - - public GridCell addImage(ResourceLocation location, float alpha, int width, int height) { - return addImage( - location, - alpha, - width, - GridLayout.GridValueType.CONSTANT, - height, - 0, - 0, - width, - height, - width, - height - ); - } - - public GridCell addImage( - ResourceLocation location, - double width, - GridLayout.GridValueType widthType, - int height, - int resourceWidth, - int resourceHeight - ) { - return addImage(location, 1.0f, width, widthType, height, resourceWidth, resourceHeight); - } - - public GridCell addImage( - ResourceLocation location, - float alpha, - double width, - GridLayout.GridValueType widthType, - int height, - int resourceWidth, - int resourceHeight - ) { - return addImage( - location, - alpha, - width, - widthType, - height, - 0, - 0, - resourceWidth, - resourceWidth, - resourceWidth, - resourceHeight - ); - } - - public GridCell addImage( - ResourceLocation location, - double width, - GridLayout.GridValueType widthType, - int height, - int uvLeft, - int uvTop, - int uvWidth, - int uvHeight, - int resourceWidth, - int resourceHeight - ) { - return addImage( - location, - 1.0f, - width, - widthType, - height, - uvLeft, - uvTop, - uvWidth, - uvHeight, - resourceWidth, - resourceHeight - ); - } - - public GridCell addImage( - ResourceLocation location, - float alpha, - double width, - GridLayout.GridValueType widthType, - int height, - int uvLeft, - int uvTop, - int uvWidth, - int uvHeight, - int resourceWidth, - int resourceHeight - ) { - GridCell cell = new GridImageCell( - location, - width, - widthType, - height, - alpha, - uvLeft, - uvTop, - uvWidth, - uvHeight, - resourceWidth, - resourceHeight - ); - this.cells.add(cell); - return cell; - } - - - public GridColumn addFiller() { - return addFiller(1); - } - - public GridColumn addFiller(float portion) { - GridColumn cell = new GridColumn(portion, GridLayout.GridValueType.FILL); - this.cells.add(cell); - return cell; - } - - public void addSpacer() { - addSpacer(12); - } - - public void addSpacer(int width) { - GridCell cell = new GridCell(width, 0, GridLayout.GridValueType.CONSTANT, null, null); - this.cells.add(cell); - } - - - public GridMessageCell addMessage(Component text, Font font, GridLayout.Alignment contentAlignment) { - return addMessage(text, font, GridLayout.COLOR_WHITE, contentAlignment); - } - - public GridMessageCell addMessage(Component text, Font font, int color, GridLayout.Alignment contentAlignment) { - return addMessage(text, 1.0, GridLayout.GridValueType.PERCENTAGE, font, color, contentAlignment); - } - - public GridMessageCell addMessage( - Component text, - double width, - GridLayout.GridValueType widthType, - Font font, - GridLayout.Alignment contentAlignment - ) { - return addMessage(text, width, widthType, font, GridLayout.COLOR_WHITE, contentAlignment); - } - - public GridMessageCell addMessage( - Component text, - double width, - GridLayout.GridValueType widthType, - Font font, - int color, - GridLayout.Alignment contentAlignment - ) { - GridMessageCell cell = new GridMessageCell(width, widthType, contentAlignment, font, text, color); - this.cells.add(cell); - return cell; - } - - public GridStringCell addString(Component text, GridScreen parent) { - return this.addString(text, GridLayout.COLOR_WHITE, parent); - } - - - public GridStringCell addString(Component text, int color, GridScreen parent) { - final int width = parent.getWidth(text); - return this.addString( - text, - width, - GridLayout.GridValueType.CONSTANT, - color, - GridLayout.Alignment.CENTER, - parent - ); - } - - public GridStringCell addString(Component text, GridLayout.Alignment contentAlignment, GridScreen parent) { - return this.addString(text, GridLayout.COLOR_WHITE, contentAlignment, parent); - } - - public GridStringCell addString( - Component text, - int color, - GridLayout.Alignment contentAlignment, - GridScreen parent - ) { - return this.addString(text, 1.0, GridLayout.GridValueType.PERCENTAGE, color, contentAlignment, parent); - } - - public GridStringCell addString( - Component text, - double width, - GridLayout.GridValueType widthType, - GridLayout.Alignment contentAlignment, - GridScreen parent - ) { - return addString(text, width, widthType, GridLayout.COLOR_WHITE, contentAlignment, parent); - } - - public GridStringCell addString( - Component text, - double width, - GridLayout.GridValueType widthType, - int color, - GridLayout.Alignment contentAlignment, - GridScreen parent - ) { - GridStringCell cell = new GridStringCell( - width, - widthType, - parent.getFont().lineHeight, - contentAlignment, - parent, - text, - color - ); - this.cells.add(cell); - return cell; - } - - @Override - protected GridElement buildElementAt(int inLeft, int top, int width, final List collector) { - int height = 0; - int left = inLeft; - if (widthType == GridLayout.GridValueType.INHERIT) { - final int originalWidth = width; - width = cells.stream() - .filter(row -> row.widthType == GridLayout.GridValueType.CONSTANT || row.widthType == GridLayout.GridValueType.INHERIT) - .map(row -> row.buildElement(0, 0, 1, 0, 0, null).width) - .reduce(0, (p, c) -> p + c); - } - - final int inheritedWidth = width; - final int fixedWidth = cells.stream() - .filter(col -> col.widthType != GridLayout.GridValueType.FILL) - .map(col -> col.calculateWidth(inheritedWidth)) - .reduce(0, (p, c) -> p + c); - final float autoWidthSum = cells.stream() - .filter(col -> col.widthType == GridLayout.GridValueType.FILL) - .map(col -> col.width) - .reduce(0.0f, (p, c) -> p + c); - final int autoWidth = width - fixedWidth; - - if (alignment == GridLayout.VerticalAlignment.TOP) { - for (GridCellDefinition col : cells) { - GridElement element = col.buildElement(width, autoWidth, autoWidthSum, left, top, collector); - left += element.width; - height = Math.max(height, element.height); - } - } else { - //first iteration will collect heights, second one will transform top position for alignment - Map cache = new HashMap<>(); - for (GridCellDefinition col : cells) { - GridElement element = col.buildElement(width, autoWidth, autoWidthSum, left, top, null); - left += element.width; - height = Math.max(height, element.height); - cache.put(col, element); - } - - left = inLeft; - for (GridCellDefinition col : cells) { - GridElement element = cache.get(col); - final int topOffset = (alignment == GridLayout.VerticalAlignment.BOTTOM) - ? (height - element.height) - : (height - element.height) >> 1; - element = col.buildElement(width, autoWidth, autoWidthSum, left, top + topOffset, collector); - left += element.width; - } - } - - - return new GridElement(inLeft, top, width, height); - } -} diff --git a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridScreen.java b/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridScreen.java deleted file mode 100644 index d38e2926..00000000 --- a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridScreen.java +++ /dev/null @@ -1,269 +0,0 @@ -package org.betterx.bclib.client.gui.gridlayout; - -import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.*; -import net.minecraft.client.gui.Font; -import net.minecraft.client.gui.components.Widget; -import net.minecraft.client.gui.components.events.GuiEventListener; -import net.minecraft.client.gui.narration.NarratableEntry; -import net.minecraft.client.gui.screens.Screen; -import net.minecraft.client.renderer.GameRenderer; -import net.minecraft.network.chat.Component; -import net.minecraft.util.Mth; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - -import org.jetbrains.annotations.Nullable; - -/** - * @deprecated Use {@link org.betterx.ui.vanilla.LayoutScreen} or {@link org.betterx.ui.vanilla.LayoutScreenWithIcon} instead - */ -@Deprecated(forRemoval = true) -@Environment(EnvType.CLIENT) -public abstract class GridScreen extends Screen { - protected GridLayout grid = null; - public final int topPadding; - public final int sidePadding; - public final boolean centerVertically; - @Nullable - public final Screen parent; - - protected int scrollPos = 0; - - public GridScreen(Component title) { - this(null, title); - } - - public GridScreen(@Nullable Screen parent, Component title) { - this(parent, title, 0, true); - } - - public GridScreen(Component title, int topPadding, boolean centerVertically) { - this(null, title, topPadding, 20, centerVertically); - } - - public GridScreen(@Nullable Screen parent, Component title, int topPadding, boolean centerVertically) { - this(parent, title, topPadding, 20, centerVertically); - } - - public GridScreen(Component title, int topPadding, int sidePadding, boolean centerVertically) { - this(null, title, topPadding, sidePadding, centerVertically); - } - - public GridScreen( - @Nullable Screen parent, - Component title, - int topPadding, - int sidePadding, - boolean centerVertically - ) { - super(title); - - this.parent = parent; - this.topPadding = topPadding; - this.sidePadding = sidePadding; - this.centerVertically = centerVertically; - } - - @Override - public void onClose() { - this.minecraft.setScreen(parent); - } - - public Font getFont() { - return this.font; - } - - @Override - public boolean isPauseScreen() { - return true; - } - - @Override - public T addRenderableWidget(T guiEventListener) { - return super.addRenderableWidget(guiEventListener); - } - - protected void addTitle() { - grid.addRow().addString(this.title, GridLayout.Alignment.CENTER, this); - grid.addSpacerRow(15); - } - - final protected void init() { - super.init(); - this.grid = new GridLayout(this, this.topPadding, this.sidePadding, this.centerVertically); - - addTitle(); - - initLayout(); - grid.finalizeLayout(); - } - - protected abstract void initLayout(); - - protected void renderScreen(PoseStack poseStack, int i, int j, float f) { - super.render(poseStack, i, j, f); - } - - public void render(PoseStack poseStack, int i, int j, float f) { - this.renderDirtBackground(i); - renderGrid(poseStack); - super.render(poseStack, i, j, f); - } - - protected void renderGrid(PoseStack poseStack) { - if (grid != null) { - if (isScrollable()) { - for (var item : grid.movableWidgets) { - item.first.y = item.second + scrollPos; - } - - renderScroll(poseStack); - - poseStack.pushPose(); - poseStack.translate(0, scrollPos, 0); - grid.render(poseStack); - poseStack.popPose(); - } else { - grid.render(poseStack); - } - } - } - - public static int getWidth(Component text, Font font) { - return font.width(text.getVisualOrderText()); - } - - public int getWidth(Component text) { - return getWidth(text, getFont()); - } - - public void setScrollPos(int sp) { - scrollPos = Math.max(getMaxScrollPos(), Math.min(0, sp)); - } - - public int getScrollPos() { - return scrollPos; - } - - public int getScrollHeight() { - if (grid != null) return grid.getHeight() + topPadding; - return height; - } - - public int getMaxScrollPos() { - return height - (getScrollHeight() + topPadding); - } - - public boolean isScrollable() { - return height < getScrollHeight(); - } - - public boolean isMouseOverScroller(double x, double y) { - return y >= 0 && y <= height && x >= width - SCROLLER_WIDTH && x <= width; - } - - private boolean scrolling = false; - - protected void updateScrollingState(double x, double y, int i) { - this.scrolling = i == 0 && x >= width - SCROLLER_WIDTH && x < width; - } - - private static final int SCROLLER_WIDTH = 6; - - private void renderScroll(PoseStack poseStack) { - final int y1 = height; - final int y0 = 0; - final int yd = y1 - y0; - final int maxPosition = getScrollHeight() + topPadding; - - final int x0 = width - SCROLLER_WIDTH; - final int x1 = width; - - Tesselator tesselator = Tesselator.getInstance(); - BufferBuilder bufferBuilder = tesselator.getBuilder(); - RenderSystem.disableTexture(); - RenderSystem.setShader(GameRenderer::getPositionColorShader); - int widgetHeight = (int) ((float) (yd * yd) / (float) maxPosition); - widgetHeight = Mth.clamp(widgetHeight, 32, yd - 8); - float relPos = (float) this.getScrollPos() / this.getMaxScrollPos(); - int top = (int) (relPos * (yd - widgetHeight)) + y0; - if (top < y0) { - top = y0; - } - - bufferBuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_COLOR); - - //scroller background - bufferBuilder.vertex(x0, y1, 0.0D).color(0, 0, 0, 255).endVertex(); - bufferBuilder.vertex(x1, y1, 0.0D).color(0, 0, 0, 255).endVertex(); - bufferBuilder.vertex(x1, y0, 0.0D).color(0, 0, 0, 255).endVertex(); - bufferBuilder.vertex(x0, y0, 0.0D).color(0, 0, 0, 255).endVertex(); - - //scroll widget shadow - bufferBuilder.vertex(x0, top + widgetHeight, 0.0D).color(128, 128, 128, 255).endVertex(); - bufferBuilder.vertex(x1, top + widgetHeight, 0.0D).color(128, 128, 128, 255).endVertex(); - bufferBuilder.vertex(x1, top, 0.0D).color(128, 128, 128, 255).endVertex(); - bufferBuilder.vertex(x0, top, 0.0D).color(128, 128, 128, 255).endVertex(); - - //scroll widget - bufferBuilder.vertex(x0, top + widgetHeight - 1, 0.0D) - .color(192, 192, 192, 255) - .endVertex(); - bufferBuilder.vertex(x1 - 1, top + widgetHeight - 1, 0.0D) - .color(192, 192, 192, 255) - .endVertex(); - bufferBuilder.vertex(x1 - 1, top, 0.0D).color(192, 192, 192, 255).endVertex(); - bufferBuilder.vertex(x0, top, 0.0D).color(192, 192, 192, 255).endVertex(); - tesselator.end(); - } - - public boolean mouseClicked(double x, double y, int i) { - this.updateScrollingState(x, y, i); - if (this.scrolling) { - return true; - } else { - return super.mouseClicked(x, y, i); - } - } - - public boolean mouseDragged(double xAbs, double yAbs, int i, double dX, double dY) { - if (super.mouseDragged(xAbs, yAbs, i, dX, dY)) { - return true; - } else if (i == 0 && this.scrolling) { - if (yAbs < 0) { - this.setScrollPos(0); - } else if (yAbs > height) { - this.setScrollPos(this.getMaxScrollPos()); - } else { - this.setScrollPos((int) (this.getScrollPos() - dY * 2)); - } - - return true; - } else { - return false; - } - } - - public boolean mouseScrolled(double d, double e, double f) { - if (isScrollable()) { - setScrollPos((int) (scrollPos + f * 10)); - } - return true; - } - - public boolean keyPressed(int keyCode, int j, int k) { - if (super.keyPressed(keyCode, j, k)) { - return true; - } else if (keyCode == 264) { - this.mouseScrolled(0, -1.0f, 0); - return true; - } else if (keyCode == 265) { - this.mouseScrolled(0, 1.0, 0); - return true; - } else { - return false; - } - } -} diff --git a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridStringCell.java b/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridStringCell.java deleted file mode 100644 index e708bf38..00000000 --- a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridStringCell.java +++ /dev/null @@ -1,56 +0,0 @@ -package org.betterx.bclib.client.gui.gridlayout; - -import net.minecraft.client.gui.GuiComponent; -import net.minecraft.network.chat.Component; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - -@Deprecated(forRemoval = true) -@Environment(EnvType.CLIENT) -public class GridStringCell extends GridCell { - private Component text; - - GridStringCell( - double width, - GridLayout.GridValueType widthType, - int height, - GridLayout.Alignment contentAlignment, - GridScreen parent, - Component text - ) { - this(width, widthType, height, contentAlignment, parent, text, GridLayout.COLOR_WHITE); - - } - - GridStringCell( - double width, - GridLayout.GridValueType widthType, - int height, - GridLayout.Alignment contentAlignment, - GridScreen parent, - Component text, - int color - ) { - super(width, height, widthType, null, null); - this.text = text; - this.customRender = (poseStack, transform, context) -> { - if (contentAlignment == GridLayout.Alignment.CENTER) { - GuiComponent.drawCenteredString( - poseStack, - parent.getFont(), - this.text, - transform.width / 2 + transform.left, - transform.top, - color - ); - } else if (contentAlignment == GridLayout.Alignment.LEFT) { - GuiComponent.drawString(poseStack, parent.getFont(), this.text, transform.left, transform.top, color); - } - }; - } - - public void setText(Component newText) { - this.text = newText; - } -} diff --git a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridTransform.java b/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridTransform.java deleted file mode 100644 index ef56a93c..00000000 --- a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridTransform.java +++ /dev/null @@ -1,26 +0,0 @@ -package org.betterx.bclib.client.gui.gridlayout; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; - -@Deprecated(forRemoval = true) -@Environment(EnvType.CLIENT) -public class GridTransform { - public final int left; - public final int top; - public final int width; - public final int height; - - GridTransform(int left, int top, int width, int height) { - this.left = left; - this.top = top; - this.width = width; - this.height = height; - } - - @Override - public String toString() { - return "{" + "left=" + left + ", top=" + top + ", width=" + width + ", height=" + height + '}'; - } - -} diff --git a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridWidgetWithEnabledState.java b/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridWidgetWithEnabledState.java deleted file mode 100644 index a2747bda..00000000 --- a/src/main/java/org/betterx/bclib/client/gui/gridlayout/GridWidgetWithEnabledState.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.betterx.bclib.client.gui.gridlayout; - -@Deprecated(forRemoval = true) -public interface GridWidgetWithEnabledState { - boolean isEnabled(); - void setEnabled(boolean enabled); -} diff --git a/src/main/java/org/betterx/bclib/client/gui/screens/ModListScreen.java b/src/main/java/org/betterx/bclib/client/gui/screens/ModListScreen.java index 60a39948..149d4a9d 100644 --- a/src/main/java/org/betterx/bclib/client/gui/screens/ModListScreen.java +++ b/src/main/java/org/betterx/bclib/client/gui/screens/ModListScreen.java @@ -1,8 +1,8 @@ package org.betterx.bclib.client.gui.screens; import org.betterx.bclib.api.v2.dataexchange.handler.autosync.HelloClient; -import org.betterx.bclib.client.gui.gridlayout.GridLayout; import org.betterx.bclib.util.Triple; +import org.betterx.ui.ColorUtil; import org.betterx.ui.layout.components.HorizontalStack; import org.betterx.ui.layout.components.LayoutComponent; import org.betterx.ui.layout.components.Text; @@ -196,29 +196,29 @@ public class ModListScreen extends BCLibLayoutScreen { final int state = t.second; final String stateString = t.third; - int color = GridLayout.COLOR_RED; + int color = ColorUtil.RED; final String typeText; if (state == STATE_VERSION || state == STATE_VERSION_NOT_OFFERED || state == STATE_VERSION_CLIENT_ONLY) { typeText = "[VERSION]"; if (state == STATE_VERSION_NOT_OFFERED) { - color = GridLayout.COLOR_YELLOW; + color = ColorUtil.YELLOW; } else if (state == STATE_VERSION_CLIENT_ONLY) { - color = GridLayout.COLOR_DARK_GREEN; + color = ColorUtil.DARK_GREEN; } } else if (state == STATE_MISSING || state == STATE_MISSING_NOT_OFFERED) { typeText = "[MISSING]"; if (state == STATE_MISSING_NOT_OFFERED) { - color = GridLayout.COLOR_YELLOW; + color = ColorUtil.YELLOW; } } else if (state == STATE_SERVER_MISSING || state == STATE_SERVER_MISSING_CLIENT_MOD) { if (state == STATE_SERVER_MISSING_CLIENT_MOD) { - color = GridLayout.COLOR_CYAN; + color = ColorUtil.AQUA; typeText = "[OK]"; } else { typeText = "[NOT ON SERVER]"; } } else { - color = GridLayout.COLOR_DARK_GREEN; + color = ColorUtil.DARK_GREEN; typeText = "[OK]"; } Component dash = Component.literal("-"); @@ -237,7 +237,7 @@ public class ModListScreen extends BCLibLayoutScreen { row = grid.addRow(); row.addSpacer(4 + dashText.getContentWidth()); row.addText(fit(), fit(), Component.literal(stateString)) - .setColor(GridLayout.COLOR_GRAY); + .setColor(ColorUtil.GRAY); } grid.addSpacer(4); diff --git a/src/main/java/org/betterx/bclib/integration/ModIntegration.java b/src/main/java/org/betterx/bclib/integration/ModIntegration.java index f5a42211..329f7dbb 100644 --- a/src/main/java/org/betterx/bclib/integration/ModIntegration.java +++ b/src/main/java/org/betterx/bclib/integration/ModIntegration.java @@ -1,7 +1,6 @@ package org.betterx.bclib.integration; import org.betterx.bclib.BCLib; -import org.betterx.bclib.api.v2.levelgen.features.BCLFeature; import org.betterx.worlds.together.tag.v3.TagManager; import net.minecraft.core.Holder; @@ -14,9 +13,7 @@ import net.minecraft.world.item.Item; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.levelgen.GenerationStep; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; -import net.minecraft.world.level.levelgen.feature.Feature; import net.minecraft.world.level.levelgen.placement.PlacedFeature; import net.fabricmc.loader.api.FabricLoader; @@ -64,25 +61,6 @@ public abstract class ModIntegration { return FabricLoader.getInstance().isModLoaded(modID); } - @Deprecated(forRemoval = true) - public BCLFeature getFeature(String featureID, String placedFeatureID, GenerationStep.Decoration featureStep) { - ResourceLocation id = getID(featureID); - Feature feature = Registry.FEATURE.get(id); - Holder featurePlaced = BuiltinRegistries.PLACED_FEATURE.getHolder(getFeatureKey(placedFeatureID)) - .orElse(null); - return new BCLFeature( - id, - feature, - featureStep, - featurePlaced.value().getFeatures().map(f -> f.config()).findFirst().orElse(null), - featurePlaced - ); - } - - @Deprecated(forRemoval = true) - public BCLFeature getFeature(String name, GenerationStep.Decoration featureStep) { - return getFeature(name, name, featureStep); - } public ConfiguredFeature getConfiguredFeature(String name) { return BuiltinRegistries.CONFIGURED_FEATURE.get(getID(name)); diff --git a/src/main/java/org/betterx/bclib/items/BaseDiscItem.java b/src/main/java/org/betterx/bclib/items/BaseDiscItem.java index 839ae39e..18227f20 100644 --- a/src/main/java/org/betterx/bclib/items/BaseDiscItem.java +++ b/src/main/java/org/betterx/bclib/items/BaseDiscItem.java @@ -3,36 +3,18 @@ package org.betterx.bclib.items; import org.betterx.bclib.BCLib; import net.minecraft.sounds.SoundEvent; +import net.minecraft.world.item.Item; import net.minecraft.world.item.RecordItem; import java.lang.reflect.Constructor; -public class BaseDiscItem extends RecordItem { - /** - * @param comparatorOutput - * @param sound - * @param settings - * @deprecated Please use {@link BaseDiscItem#create(int, SoundEvent, Properties, int)} instead - */ - @Deprecated(forRemoval = true) - public BaseDiscItem(int comparatorOutput, SoundEvent sound, Properties settings) { - this(comparatorOutput, sound, settings, 30); - } - - - /** - * @param comparatorOutput - * @param sound - * @param settings - * @param lengthInSeconds - * @deprecated Please use {@link BaseDiscItem#create(int, SoundEvent, Properties, int)} instead - */ - @Deprecated(forRemoval = true) - public BaseDiscItem(int comparatorOutput, SoundEvent sound, Properties settings, int lengthInSeconds) { - super(comparatorOutput, sound, settings); - } - - public static RecordItem create(int comparatorOutput, SoundEvent sound, Properties settings, int lengthInSeconds) { +public class BaseDiscItem { + public static RecordItem create( + int comparatorOutput, + SoundEvent sound, + Item.Properties settings, + int lengthInSeconds + ) { for (Constructor c : RecordItem.class.getDeclaredConstructors()) { if (c.getParameterCount() == 4) { var types = c.getParameterTypes(); @@ -40,7 +22,7 @@ public class BaseDiscItem extends RecordItem { if ( types[0].isAssignableFrom(int.class) && types[1].isAssignableFrom(SoundEvent.class) - && types[2].isAssignableFrom(Properties.class) + && types[2].isAssignableFrom(Item.Properties.class) && types[3].isAssignableFrom(int.class) ) { c.setAccessible(true); @@ -57,7 +39,7 @@ public class BaseDiscItem extends RecordItem { if ( types[0].isAssignableFrom(int.class) && types[1].isAssignableFrom(SoundEvent.class) - && types[2].isAssignableFrom(Properties.class) + && types[2].isAssignableFrom(Item.Properties.class) ) { c.setAccessible(true); try { diff --git a/src/main/java/org/betterx/bclib/presets/FlatLevelPresets.java b/src/main/java/org/betterx/bclib/presets/FlatLevelPresets.java deleted file mode 100644 index 618f7e9a..00000000 --- a/src/main/java/org/betterx/bclib/presets/FlatLevelPresets.java +++ /dev/null @@ -1,28 +0,0 @@ -package org.betterx.bclib.presets; - -import org.betterx.worlds.together.tag.v3.TagRegistry; - -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.levelgen.flat.FlatLevelGeneratorPreset; - -/** - * @deprecated Use {@link org.betterx.worlds.together.flatLevel.FlatLevelPresets} instead - */ -@Deprecated(forRemoval = true) -public class FlatLevelPresets { - /** - * @deprecated Use {@link org.betterx.worlds.together.flatLevel.FlatLevelPresets#FLAT_LEVEL_PRESETS} instead - */ - @Deprecated(forRemoval = true) - public static TagRegistry.Simple FLAT_LEVEL_PRESETS = org.betterx.worlds.together.flatLevel.FlatLevelPresets.FLAT_LEVEL_PRESETS; - - - /** - * @deprecated Use {@link org.betterx.worlds.together.flatLevel.FlatLevelPresets#register(ResourceLocation)} instead - */ - @Deprecated(forRemoval = true) - public static ResourceKey register(ResourceLocation loc) { - return org.betterx.worlds.together.flatLevel.FlatLevelPresets.register(loc); - } -} diff --git a/src/main/java/org/betterx/bclib/util/BlocksHelper.java b/src/main/java/org/betterx/bclib/util/BlocksHelper.java index 5bb5e4f5..d385855b 100644 --- a/src/main/java/org/betterx/bclib/util/BlocksHelper.java +++ b/src/main/java/org/betterx/bclib/util/BlocksHelper.java @@ -7,7 +7,6 @@ import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.core.Direction; import net.minecraft.util.RandomSource; import net.minecraft.world.level.BlockGetter; -import net.minecraft.world.level.ClipContext.Fluid; import net.minecraft.world.level.LevelAccessor; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; @@ -326,17 +325,6 @@ public class BlocksHelper { return state.getFluidState().getType() instanceof LavaFluid; } - /** - * Check if block is {@link Fluid} or not. - * - * @param state - {@link BlockState} to check. - * @return {@code true} if block is fluid and {@code false} if not. - */ - @Deprecated(forRemoval = true) - public static boolean isFluidOld(BlockState state) { - return !state.getFluidState().isEmpty(); - } - public static boolean isFluid(BlockState state) { return state.getMaterial().isLiquid(); } diff --git a/src/main/java/org/betterx/bclib/util/ColorExtractor.java b/src/main/java/org/betterx/bclib/util/ColorExtractor.java index aa73d7bb..9c1d0132 100644 --- a/src/main/java/org/betterx/bclib/util/ColorExtractor.java +++ b/src/main/java/org/betterx/bclib/util/ColorExtractor.java @@ -1,5 +1,7 @@ package org.betterx.bclib.util; +import org.betterx.ui.ColorUtil; + import java.util.ArrayList; import java.util.Comparator; import java.util.List; diff --git a/src/main/java/org/betterx/bclib/util/ColorUtil.java b/src/main/java/org/betterx/bclib/util/ColorUtil.java deleted file mode 100644 index 197dc349..00000000 --- a/src/main/java/org/betterx/bclib/util/ColorUtil.java +++ /dev/null @@ -1,165 +0,0 @@ -package org.betterx.bclib.util; - -import com.mojang.blaze3d.platform.NativeImage; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.Mth; -import net.minecraft.world.item.Item; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.fabricmc.fabric.impl.client.indigo.renderer.helper.ColorHelper; - -import com.google.common.collect.Maps; - -import java.util.Map; - -/** - * @deprecated Please use {@link org.betterx.ui.ColorUtil} instead - */ -@Deprecated(forRemoval = true) -public class ColorUtil { - private static final float[] FLOAT_BUFFER = new float[4]; - private static final int ALPHA = 255 << 24; - - /** - * @deprecated Please use {@link org.betterx.ui.ColorUtil#color(int, int, int)} instead - */ - @Deprecated(forRemoval = true) - public static int color(int r, int g, int b) { - return ALPHA | (r << 16) | (g << 8) | b; - } - - - /** - * @deprecated Please use {@link org.betterx.ui.ColorUtil#color(String)} instead - */ - @Deprecated(forRemoval = true) - public static int color(String hex) { - int r = Integer.parseInt(hex.substring(0, 2), 16); - int g = Integer.parseInt(hex.substring(2, 4), 16); - int b = Integer.parseInt(hex.substring(4, 6), 16); - return color(r, g, b); - } - - - /** - * @deprecated Please use {@link org.betterx.ui.ColorUtil#toIntArray(int)} instead - */ - @Deprecated(forRemoval = true) - public static int[] toIntArray(int color) { - return new int[]{(color >> 24) & 255, (color >> 16) & 255, (color >> 8) & 255, color & 255}; - } - - /** - * @deprecated Please use {@link org.betterx.ui.ColorUtil#toFloatArray(int)} instead - */ - @Deprecated(forRemoval = true) - public static float[] toFloatArray(int color) { - FLOAT_BUFFER[0] = ((color >> 16 & 255) / 255.0F); - FLOAT_BUFFER[1] = ((color >> 8 & 255) / 255.0F); - FLOAT_BUFFER[2] = ((color & 255) / 255.0F); - FLOAT_BUFFER[3] = ((color >> 24 & 255) / 255.0F); - - return FLOAT_BUFFER; - } - - /** - * @deprecated Please use {@link org.betterx.ui.ColorUtil#RGBtoHSB(int, int, int, float[])} instead - */ - @Deprecated(forRemoval = true) - public static float[] RGBtoHSB(int r, int g, int b, float[] hsbvals) { - return org.betterx.ui.ColorUtil.RGBtoHSB(r, g, b, hsbvals); - } - - /** - * @deprecated Please use {@link org.betterx.ui.ColorUtil#HSBtoRGB(float, float, float)} instead - */ - @Deprecated(forRemoval = true) - public static int HSBtoRGB(float hue, float saturation, float brightness) { - return org.betterx.ui.ColorUtil.HSBtoRGB(hue, saturation, brightness); - } - - /** - * @deprecated Please use {@link org.betterx.ui.ColorUtil#parseHex(String)} instead - */ - @Deprecated(forRemoval = true) - public static int parseHex(String hexColor) { - return org.betterx.ui.ColorUtil.parseHex(hexColor); - } - - /** - * @deprecated Please use {@link org.betterx.ui.ColorUtil#toABGR(int)} instead - */ - @Deprecated(forRemoval = true) - public static int toABGR(int color) { - int r = (color >> 16) & 255; - int g = (color >> 8) & 255; - int b = color & 255; - return 0xFF000000 | b << 16 | g << 8 | r; - } - - /** - * @deprecated Please use {@link org.betterx.ui.ColorUtil#ABGRtoARGB(int)} instead - */ - @Deprecated(forRemoval = true) - public static int ABGRtoARGB(int color) { - int a = (color >> 24) & 255; - int b = (color >> 16) & 255; - int g = (color >> 8) & 255; - int r = color & 255; - return a << 24 | r << 16 | g << 8 | b; - } - - /** - * @deprecated Please use {@link org.betterx.ui.ColorUtil#colorBrigtness(int, float)} instead - */ - @Deprecated(forRemoval = true) - public static int colorBrigtness(int color, float val) { - RGBtoHSB((color >> 16) & 255, (color >> 8) & 255, color & 255, FLOAT_BUFFER); - FLOAT_BUFFER[2] += val / 10.0F; - FLOAT_BUFFER[2] = Mth.clamp(FLOAT_BUFFER[2], 0.0F, 1.0F); - return HSBtoRGB(FLOAT_BUFFER[0], FLOAT_BUFFER[1], FLOAT_BUFFER[2]); - } - - /** - * @deprecated Please use {@link org.betterx.ui.ColorUtil#applyTint(int, int)} instead - */ - @Deprecated(forRemoval = true) - public static int applyTint(int color, int tint) { - return colorBrigtness(ColorHelper.multiplyColor(color, tint), 1.5F); - } - - /** - * @deprecated Please use {@link org.betterx.ui.ColorUtil#colorDistance(int, int)} instead - */ - @Deprecated(forRemoval = true) - public static int colorDistance(int color1, int color2) { - int r1 = (color1 >> 16) & 255; - int g1 = (color1 >> 8) & 255; - int b1 = color1 & 255; - int r2 = (color2 >> 16) & 255; - int g2 = (color2 >> 8) & 255; - int b2 = color2 & 255; - return MHelper.sqr(r1 - r2) + MHelper.sqr(g1 - g2) + MHelper.sqr(b1 - b2); - } - - private static final Map colorPalette = Maps.newHashMap(); - - /** - * @deprecated Please use {@link org.betterx.ui.ColorUtil#extractColor(Item)} instead - */ - @Deprecated(forRemoval = true) - @Environment(EnvType.CLIENT) - public static int extractColor(Item item) { - return org.betterx.ui.ColorUtil.extractColor(item); - } - - /** - * @deprecated Please use {@link org.betterx.ui.ColorUtil#loadImage(ResourceLocation, int, int)} instead - */ - @Deprecated(forRemoval = true) - @Environment(EnvType.CLIENT) - public static NativeImage loadImage(ResourceLocation image, int w, int h) { - return org.betterx.ui.ColorUtil.loadImage(image, w, h); - } -} \ No newline at end of file diff --git a/src/main/java/org/betterx/bclib/util/Logger.java b/src/main/java/org/betterx/bclib/util/Logger.java deleted file mode 100644 index d7115089..00000000 --- a/src/main/java/org/betterx/bclib/util/Logger.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.betterx.bclib.util; - -import org.apache.logging.log4j.Level; -import org.apache.logging.log4j.LogManager; - - -/** - * @deprecated Please use {@link org.betterx.worlds.together.util.Logger} instead - */ -@Deprecated(forRemoval = true) -public final class Logger { - private static final org.apache.logging.log4j.Logger LOGGER = LogManager.getLogger(); - private final String modPref; - - - /** - * @deprecated Please use {@link org.betterx.worlds.together.util.Logger#Logger(String)} instead - */ - @Deprecated(forRemoval = true) - public Logger(String modID) { - this.modPref = "[" + modID + "] "; - } - - public void log(Level level, String message) { - LOGGER.log(level, modPref + message); - } - - public void log(Level level, String message, Object... params) { - LOGGER.log(level, modPref + message, params); - } - - public void debug(Object message) { - this.log(Level.DEBUG, message.toString()); - } - - public void debug(Object message, Object... params) { - this.log(Level.DEBUG, message.toString(), params); - } - - public void catching(Throwable ex) { - this.error(ex.getLocalizedMessage()); - LOGGER.catching(ex); - } - - public void info(String message) { - this.log(Level.INFO, message); - } - - public void info(String message, Object... params) { - this.log(Level.INFO, message, params); - } - - public void warning(String message, Object... params) { - this.log(Level.WARN, message, params); - } - - public void warning(String message, Object obj, Exception ex) { - LOGGER.warn(modPref + message, obj, ex); - } - - public void error(String message) { - this.log(Level.ERROR, message); - } - - public void error(String message, Object obj, Exception ex) { - LOGGER.error(modPref + message, obj, ex); - } - - public void error(String message, Exception ex) { - LOGGER.error(modPref + message, ex); - } -} diff --git a/src/main/java/org/betterx/bclib/util/MethodReplace.java b/src/main/java/org/betterx/bclib/util/MethodReplace.java index dbe1a7f5..05c933ec 100644 --- a/src/main/java/org/betterx/bclib/util/MethodReplace.java +++ b/src/main/java/org/betterx/bclib/util/MethodReplace.java @@ -19,12 +19,6 @@ public class MethodReplace { MethodReplace.item = item; } - @Deprecated(forRemoval = true) - public static void addBlockReplace(Block block, Function blockReplace) { - MethodReplace.blockReplace = blockReplace; - MethodReplace.block = block; - } - @Nullable public static Function getItemReplace(Item item) { if (MethodReplace.item != item) { @@ -34,15 +28,4 @@ public class MethodReplace { itemReplace = null; return replace; } - - @Nullable - @Deprecated(forRemoval = true) - public static Function getBlockReplace(Block block) { - if (MethodReplace.block != block) { - return null; - } - Function replace = blockReplace; - blockReplace = null; - return replace; - } } diff --git a/src/main/java/org/betterx/bclib/util/ModUtil.java b/src/main/java/org/betterx/bclib/util/ModUtil.java deleted file mode 100644 index e90d988a..00000000 --- a/src/main/java/org/betterx/bclib/util/ModUtil.java +++ /dev/null @@ -1,439 +0,0 @@ -package org.betterx.bclib.util; - -import org.betterx.bclib.BCLib; -import org.betterx.worlds.together.WorldsTogether; -import org.betterx.worlds.together.util.PathUtil; - -import net.fabricmc.loader.api.*; -import net.fabricmc.loader.api.metadata.*; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; -import com.google.gson.stream.JsonReader; - -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.URI; -import java.nio.charset.StandardCharsets; -import java.nio.file.FileSystem; -import java.nio.file.FileSystems; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.*; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -/** - * @deprecated Replaced by {@link org.betterx.worlds.together.util.ModUtil} - */ -@Deprecated(forRemoval = true) -public class ModUtil { - private static Map mods; - - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.util.ModUtil#invalidateCachedMods()} - */ - @Deprecated(forRemoval = true) - public static void invalidateCachedMods() { - mods = null; - } - - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.util.ModUtil#getMods()} ()} - */ - @Deprecated(forRemoval = true) - public static Map getMods() { - if (mods != null) return mods; - - mods = new HashMap<>(); - PathUtil.fileWalker(PathUtil.MOD_FOLDER.toFile(), false, (ModUtil::accept)); - - return mods; - } - - private static ModMetadata readJSON(InputStream is, String sourceFile) throws IOException { - try (com.google.gson.stream.JsonReader reader = new JsonReader(new InputStreamReader( - is, - StandardCharsets.UTF_8 - ))) { - JsonObject data = JsonParser.parseReader(reader) - .getAsJsonObject(); - Version ver; - try { - ver = SemanticVersion.parse(data.get("version").getAsString()); - } catch (VersionParsingException e) { - BCLib.LOGGER.error("Unable to parse Version in " + sourceFile); - return null; - } - - if (data.get("id") == null) { - BCLib.LOGGER.error("Unable to read ID in " + sourceFile); - return null; - } - - if (data.get("name") == null) { - BCLib.LOGGER.error("Unable to read name in " + sourceFile); - return null; - } - - return new ModMetadata() { - @Override - public Version getVersion() { - return ver; - } - - @Override - public String getType() { - return "fabric"; - } - - @Override - public String getId() { - return data.get("id") - .getAsString(); - } - - @Override - public Collection getProvides() { - return new ArrayList<>(); - } - - @Override - public ModEnvironment getEnvironment() { - JsonElement env = data.get("environment"); - if (env == null) { - BCLib.LOGGER.warning("No environment specified in " + sourceFile); - //return ModEnvironment.UNIVERSAL; - } - final String environment = env == null ? "" : env.getAsString() - .toLowerCase(Locale.ROOT); - - if (environment.isEmpty() || environment.equals("*") || environment.equals("\"*\"") || environment.equals( - "common")) { - JsonElement entrypoints = data.get("entrypoints"); - boolean hasClient = true; - - //check if there is an actual client entrypoint - if (entrypoints != null && entrypoints.isJsonObject()) { - JsonElement client = entrypoints.getAsJsonObject() - .get("client"); - if (client != null && client.isJsonArray()) { - hasClient = client.getAsJsonArray() - .size() > 0; - } else if (client == null || !client.isJsonPrimitive()) { - hasClient = false; - } else if (!client.getAsJsonPrimitive() - .isString()) { - hasClient = false; - } - } - - //if (hasClient == false) return ModEnvironment.SERVER; - return ModEnvironment.UNIVERSAL; - } else if (environment.equals("client")) { - return ModEnvironment.CLIENT; - } else if (environment.equals("server")) { - return ModEnvironment.SERVER; - } else { - BCLib.LOGGER.error("Unable to read environment in " + sourceFile); - return ModEnvironment.UNIVERSAL; - } - } - - @Override - public Collection getDepends() { - return new ArrayList<>(); - } - - @Override - public Collection getRecommends() { - return new ArrayList<>(); - } - - @Override - public Collection getSuggests() { - return new ArrayList<>(); - } - - @Override - public Collection getConflicts() { - return new ArrayList<>(); - } - - @Override - public Collection getBreaks() { - return new ArrayList<>(); - } - - public Collection getDependencies() { - return new ArrayList<>(); - } - - @Override - public String getName() { - return data.get("name") - .getAsString(); - } - - @Override - public String getDescription() { - return ""; - } - - @Override - public Collection getAuthors() { - return new ArrayList<>(); - } - - @Override - public Collection getContributors() { - return new ArrayList<>(); - } - - @Override - public ContactInformation getContact() { - return null; - } - - @Override - public Collection getLicense() { - return new ArrayList<>(); - } - - @Override - public Optional getIconPath(int size) { - return Optional.empty(); - } - - @Override - public boolean containsCustomValue(String key) { - return false; - } - - @Override - public CustomValue getCustomValue(String key) { - return null; - } - - @Override - public Map getCustomValues() { - return new HashMap<>(); - } - - @Override - public boolean containsCustomElement(String key) { - return false; - } - - public JsonElement getCustomElement(String key) { - return null; - } - }; - } - } - - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.util.ModUtil#getModInfo(String)} - */ - @Deprecated(forRemoval = true) - public static ModInfo getModInfo(String modID) { - return getModInfo(modID, true); - } - - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.util.ModUtil#getModInfo(String, boolean)} - */ - @Deprecated(forRemoval = true) - public static ModInfo getModInfo(String modID, boolean matchVersion) { - getMods(); - final ModInfo mi = mods.get(modID); - if (mi == null || (matchVersion && !org.betterx.worlds.together.util.ModUtil.getModVersion(modID) - .equals(mi.getVersion()))) - return null; - return mi; - } - - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.util.ModUtil#getModVersion(String)} - */ - @Deprecated(forRemoval = true) - public static String getModVersion(String modID) { - if (modID == WorldsTogether.MOD_ID) modID = BCLib.MOD_ID; - - Optional optional = FabricLoader.getInstance() - .getModContainer(modID); - if (optional.isPresent()) { - ModContainer modContainer = optional.get(); - return org.betterx.worlds.together.util.ModUtil.ModInfo.versionToString(modContainer.getMetadata() - .getVersion()); - - } - - return org.betterx.worlds.together.util.ModUtil.getModVersionFromJar(modID); - } - - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.util.ModUtil#getModVersionFromJar(String)} - */ - @Deprecated(forRemoval = true) - public static String getModVersionFromJar(String modID) { - final ModInfo mi = getModInfo(modID, false); - if (mi != null) return mi.getVersion(); - - return "0.0.0"; - } - - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.util.ModUtil#convertModVersion(String)} - */ - @Deprecated(forRemoval = true) - public static int convertModVersion(String version) { - if (version.isEmpty()) { - return 0; - } - try { - int res = 0; - final String semanticVersionPattern = "(\\d+)\\.(\\d+)(\\.(\\d+))?\\D*"; - final Matcher matcher = Pattern.compile(semanticVersionPattern) - .matcher(version); - if (matcher.find()) { - if (matcher.groupCount() > 0) - res = matcher.group(1) == null ? 0 : ((Integer.parseInt(matcher.group(1)) & 0xFF) << 22); - if (matcher.groupCount() > 1) - res |= matcher.group(2) == null ? 0 : ((Integer.parseInt(matcher.group(2)) & 0xFF) << 14); - if (matcher.groupCount() > 3) - res |= matcher.group(4) == null ? 0 : Integer.parseInt(matcher.group(4)) & 0x3FFF; - } - - return res; - } catch (Exception e) { - return 0; - } - } - - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.util.ModUtil#convertModVersion(int)} - */ - @Deprecated(forRemoval = true) - public static String convertModVersion(int version) { - int a = (version >> 22) & 0xFF; - int b = (version >> 14) & 0xFF; - int c = version & 0x3FFF; - return String.format(Locale.ROOT, "%d.%d.%d", a, b, c); - } - - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.util.ModUtil#isLargerVersion(String, String)} - */ - @Deprecated(forRemoval = true) - public static boolean isLargerVersion(String v1, String v2) { - return org.betterx.worlds.together.util.ModUtil.convertModVersion(v1) > org.betterx.worlds.together.util.ModUtil.convertModVersion( - v2); - } - - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.util.ModUtil#isLargerOrEqualVersion(String, String)} - */ - @Deprecated(forRemoval = true) - public static boolean isLargerOrEqualVersion(String v1, String v2) { - return org.betterx.worlds.together.util.ModUtil.convertModVersion(v1) >= org.betterx.worlds.together.util.ModUtil.convertModVersion( - v2); - } - - private static void accept(Path file) { - try { - URI uri = URI.create("jar:" + file.toUri()); - - FileSystem fs; - // boolean doClose = false; - try { - fs = FileSystems.getFileSystem(uri); - } catch (Exception e) { - // doClose = true; - fs = FileSystems.newFileSystem(file); - } - if (fs != null) { - try { - Path modMetaFile = fs.getPath("fabric.mod.json"); - if (modMetaFile != null) { - try (InputStream is = Files.newInputStream(modMetaFile)) { - //ModMetadata mc = ModMetadataParser.parseMetadata(is, uri.toString(), new LinkedList()); - ModMetadata mc = readJSON(is, uri.toString()); - if (mc != null) { - mods.put(mc.getId(), new ModInfo(mc, file)); - } - } - } - } catch (Exception e) { - BCLib.LOGGER.error("Error for " + uri + ": " + e); - } - //if (doClose) fs.close(); - } - } catch (Exception e) { - BCLib.LOGGER.error("Error for " + file.toUri() + ": " + e); - e.printStackTrace(); - } - } - - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.util.ModUtil.ModInfo} - */ - @Deprecated(forRemoval = true) - public static class ModInfo { - public final ModMetadata metadata; - public final Path jarPath; - - ModInfo(ModMetadata metadata, Path jarPath) { - this.metadata = metadata; - this.jarPath = jarPath; - } - - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.util.ModUtil.ModInfo#versionToString(Version)} - */ - @Deprecated(forRemoval = true) - public static String versionToString(Version v) { - if (v instanceof SemanticVersion) { - return org.betterx.worlds.together.util.ModUtil.ModInfo.versionToString((SemanticVersion) v); - } - return org.betterx.worlds.together.util.ModUtil.convertModVersion( - org.betterx.worlds.together.util.ModUtil.convertModVersion(v.toString()) - ); - } - - /** - * @deprecated Replaced by {@link org.betterx.worlds.together.util.ModUtil.ModInfo#versionToString(SemanticVersion)} - */ - @Deprecated(forRemoval = true) - public static String versionToString(SemanticVersion v) { - StringBuilder stringBuilder = new StringBuilder(); - boolean first = true; - final int cCount = Math.min(v.getVersionComponentCount(), 3); - for (int i = 0; i < cCount; i++) { - if (first) { - first = false; - } else { - stringBuilder.append('.'); - } - - stringBuilder.append(v.getVersionComponent(i)); - } - - return stringBuilder.toString(); - } - - @Override - public String toString() { - return "ModInfo{" + "id=" + metadata.getId() + ", version=" + metadata.getVersion() + ", jarPath=" + jarPath + '}'; - } - - public String getVersion() { - if (metadata == null) { - return "0.0.0"; - } - return org.betterx.worlds.together.util.ModUtil.ModInfo.versionToString(metadata.getVersion()); - } - } -} diff --git a/src/main/java/org/betterx/bclib/util/PathUtil.java b/src/main/java/org/betterx/bclib/util/PathUtil.java deleted file mode 100644 index 3abf09ab..00000000 --- a/src/main/java/org/betterx/bclib/util/PathUtil.java +++ /dev/null @@ -1,62 +0,0 @@ -package org.betterx.bclib.util; - -import java.io.File; -import java.nio.file.Path; -import java.util.function.Consumer; - - -/** - * @deprecated replaced by {@link org.betterx.worlds.together.util.PathUtil} - */ -@Deprecated(forRemoval = true) -public class PathUtil { - /** - * @deprecated replaced by {@link org.betterx.worlds.together.util.PathUtil#GAME_FOLDER} - */ - @Deprecated(forRemoval = true) - public final static Path GAME_FOLDER = org.betterx.worlds.together.util.PathUtil.GAME_FOLDER; - - /** - * @deprecated replaced by {@link org.betterx.worlds.together.util.PathUtil#MOD_FOLDER} - */ - @Deprecated(forRemoval = true) - public final static Path MOD_FOLDER = org.betterx.worlds.together.util.PathUtil.MOD_FOLDER; - - /** - * @deprecated replaced by {@link org.betterx.worlds.together.util.PathUtil#MOD_BAK_FOLDER} - */ - @Deprecated(forRemoval = true) - public final static Path MOD_BAK_FOLDER = org.betterx.worlds.together.util.PathUtil.MOD_BAK_FOLDER; - - /** - * @deprecated replaced by {@link org.betterx.worlds.together.util.PathUtil#isChildOf(Path, Path)} - */ - @Deprecated(forRemoval = true) - public static boolean isChildOf(Path parent, Path child) { - return org.betterx.worlds.together.util.PathUtil.isChildOf(parent, child); - } - - /** - * @deprecated replaced by {@link org.betterx.worlds.together.util.PathUtil#fileWalker(File, Consumer)} - */ - @Deprecated(forRemoval = true) - public static void fileWalker(File path, Consumer pathConsumer) { - org.betterx.worlds.together.util.PathUtil.fileWalker(path, pathConsumer); - } - - /** - * @deprecated replaced by {@link org.betterx.worlds.together.util.PathUtil#fileWalker(File, boolean, Consumer)} - */ - @Deprecated(forRemoval = true) - public static void fileWalker(File path, boolean recursive, Consumer pathConsumer) { - org.betterx.worlds.together.util.PathUtil.fileWalker(path, recursive, pathConsumer); - } - - /** - * @deprecated replaced by {@link org.betterx.worlds.together.util.PathUtil#humanReadableFileSize(long)} - */ - @Deprecated(forRemoval = true) - public static String humanReadableFileSize(long size) { - return org.betterx.worlds.together.util.PathUtil.humanReadableFileSize(size); - } -} diff --git a/src/main/java/org/betterx/worlds/together/tag/v3/TagRegistry.java b/src/main/java/org/betterx/worlds/together/tag/v3/TagRegistry.java index 27bc6153..88f4b2bc 100644 --- a/src/main/java/org/betterx/worlds/together/tag/v3/TagRegistry.java +++ b/src/main/java/org/betterx/worlds/together/tag/v3/TagRegistry.java @@ -1,6 +1,5 @@ package org.betterx.worlds.together.tag.v3; -import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiome; import org.betterx.worlds.together.WorldsTogether; import net.minecraft.core.DefaultedRegistry; @@ -100,24 +99,6 @@ public class TagRegistry { } } - /** - * Adds one Tag to multiple Elements. - * - * @param tagID {@link TagKey< Biome >} tag ID. - * @param elements array of Elements to add into tag. - */ - @Deprecated(forRemoval = true) - public void add(TagKey tagID, BCLBiome... elements) { - if (isFrozen) WorldsTogether.LOGGER.warning("Adding Tag " + tagID + " after the API was frozen."); - Set set = getSetForTag(tagID); - for (BCLBiome element : elements) { - ResourceLocation id = element.getID(); - if (id != null) { - set.add(TagEntry.element(id)); - } - } - } - public TagKey makeStructureTag(String modID, String name) { return makeTag(modID, "has_structure/" + name); } @@ -274,25 +255,6 @@ public class TagRegistry { } } - @Deprecated(forRemoval = true) - protected void add(ResourceLocation tagID, T... elements) { - if (isFrozen) WorldsTogether.LOGGER.warning("Adding Tag " + tagID + " after the API was frozen."); - Set set = getSetForTag(tagID); - for (T element : elements) { - ResourceLocation id = locationProvider.apply(element); - if (id != null) { - set.add(TagEntry.element(id)); - } - } - } - - @Deprecated(forRemoval = true) - protected void add(T element, ResourceLocation... tagIDs) { - for (ResourceLocation tagID : tagIDs) { - add(tagID, element); - } - } - public void forEach(BiConsumer> consumer) { tags.forEach(consumer); }