From c82e2900f6f02d6dc506c8cb2f7af03fec3848a7 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Sat, 4 Dec 2021 15:26:47 +0300 Subject: [PATCH 1/3] Possible biome surface fix --- gradle.properties | 2 +- .../java/ru/bclib/world/biomes/BCLBiome.java | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/gradle.properties b/gradle.properties index 537d4fc9..b2deca00 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,7 +11,7 @@ loader_version= 0.12.8 fabric_version = 0.44.0+1.18 # Mod Properties -mod_version = 1.0.0 +mod_version = 1.0.1 maven_group = ru.bclib archives_base_name = bclib diff --git a/src/main/java/ru/bclib/world/biomes/BCLBiome.java b/src/main/java/ru/bclib/world/biomes/BCLBiome.java index 12990b13..bb59bc15 100644 --- a/src/main/java/ru/bclib/world/biomes/BCLBiome.java +++ b/src/main/java/ru/bclib/world/biomes/BCLBiome.java @@ -8,6 +8,7 @@ import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.levelgen.SurfaceRules; +import net.minecraft.world.level.levelgen.SurfaceRules.RuleSource; import net.minecraft.world.level.levelgen.feature.ConfiguredStructureFeature; import org.jetbrains.annotations.Nullable; import ru.bclib.api.biomes.BiomeAPI; @@ -16,6 +17,8 @@ import ru.bclib.util.WeightedList; import java.util.List; import java.util.Map; import java.util.Random; +import java.util.function.Consumer; +import java.util.function.Supplier; public class BCLBiome { private final List structures = Lists.newArrayList(); @@ -24,7 +27,7 @@ public class BCLBiome { private final ResourceLocation biomeID; private final Biome biome; - private SurfaceRules.RuleSource surface; + private Runnable surfaceInit; private BCLBiome biomeParent; private Biome actualBiome; private BCLBiome edge; @@ -229,9 +232,8 @@ public class BCLBiome { structures.forEach(s -> BiomeAPI.addBiomeStructure(BiomeAPI.getBiomeKey(actualBiome), s)); } - if (this.surface!=null){ - ResourceKey key = BiomeAPI.getBiomeKey(actualBiome); - BiomeAPI.addSurfaceRule(biomeID, SurfaceRules.ifTrue(SurfaceRules.isBiome(key), surface)); + if (this.surfaceInit != null){ + surfaceInit.run(); } } @@ -317,7 +319,10 @@ public class BCLBiome { * Sets biome surface rule. * @param surface {@link SurfaceRules.RuleSource} rule. */ - public void setSurface(SurfaceRules.RuleSource surface) { - this.surface = surface; + public void setSurface(RuleSource surface) { + this.surfaceInit = () -> { + ResourceKey key = BiomeAPI.getBiomeKey(biome); + BiomeAPI.addSurfaceRule(biomeID, SurfaceRules.ifTrue(SurfaceRules.isBiome(key), surface)); + }; } } From d983613872be51eb475eabac603ff350f82647e3 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Sat, 4 Dec 2021 15:30:36 +0300 Subject: [PATCH 2/3] Small changes --- src/main/java/ru/bclib/world/biomes/BCLBiome.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/ru/bclib/world/biomes/BCLBiome.java b/src/main/java/ru/bclib/world/biomes/BCLBiome.java index bb59bc15..37bfc640 100644 --- a/src/main/java/ru/bclib/world/biomes/BCLBiome.java +++ b/src/main/java/ru/bclib/world/biomes/BCLBiome.java @@ -27,7 +27,7 @@ public class BCLBiome { private final ResourceLocation biomeID; private final Biome biome; - private Runnable surfaceInit; + private Consumer surfaceInit; private BCLBiome biomeParent; private Biome actualBiome; private BCLBiome edge; @@ -232,8 +232,8 @@ public class BCLBiome { structures.forEach(s -> BiomeAPI.addBiomeStructure(BiomeAPI.getBiomeKey(actualBiome), s)); } - if (this.surfaceInit != null){ - surfaceInit.run(); + if (this.surfaceInit != null) { + surfaceInit.accept(actualBiome); } } @@ -320,8 +320,8 @@ public class BCLBiome { * @param surface {@link SurfaceRules.RuleSource} rule. */ public void setSurface(RuleSource surface) { - this.surfaceInit = () -> { - ResourceKey key = BiomeAPI.getBiomeKey(biome); + this.surfaceInit = (actualBiome) -> { + ResourceKey key = BiomeAPI.getBiomeKey(actualBiome); BiomeAPI.addSurfaceRule(biomeID, SurfaceRules.ifTrue(SurfaceRules.isBiome(key), surface)); }; } From 60251a7b79a65f9d90cc92355e559064089109e6 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Sat, 4 Dec 2021 15:32:05 +0300 Subject: [PATCH 3/3] Cleanup --- src/main/java/ru/bclib/blocks/BaseOreBlock.java | 4 ---- src/main/java/ru/bclib/world/biomes/BCLBiome.java | 1 - 2 files changed, 5 deletions(-) diff --git a/src/main/java/ru/bclib/blocks/BaseOreBlock.java b/src/main/java/ru/bclib/blocks/BaseOreBlock.java index 4067aa72..c899efcf 100644 --- a/src/main/java/ru/bclib/blocks/BaseOreBlock.java +++ b/src/main/java/ru/bclib/blocks/BaseOreBlock.java @@ -5,7 +5,6 @@ import net.fabricmc.fabric.api.tool.attribute.v1.FabricToolTags; import net.fabricmc.fabric.impl.object.builder.FabricBlockInternals; import net.minecraft.client.renderer.block.model.BlockModel; import net.minecraft.resources.ResourceLocation; -import net.minecraft.tags.Tag.Named; import net.minecraft.util.Mth; import net.minecraft.util.valueproviders.UniformInt; import net.minecraft.world.item.Item; @@ -13,7 +12,6 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraft.world.item.enchantment.Enchantments; import net.minecraft.world.level.ItemLike; -import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.OreBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; @@ -21,9 +19,7 @@ import net.minecraft.world.level.material.Material; import net.minecraft.world.level.material.MaterialColor; import net.minecraft.world.level.storage.loot.LootContext; import net.minecraft.world.level.storage.loot.parameters.LootContextParams; -import ru.bclib.api.TagAPI; import ru.bclib.interfaces.BlockModelProvider; -import ru.bclib.interfaces.TagProvider; import ru.bclib.util.MHelper; import java.util.Collections; diff --git a/src/main/java/ru/bclib/world/biomes/BCLBiome.java b/src/main/java/ru/bclib/world/biomes/BCLBiome.java index 37bfc640..8e823b63 100644 --- a/src/main/java/ru/bclib/world/biomes/BCLBiome.java +++ b/src/main/java/ru/bclib/world/biomes/BCLBiome.java @@ -18,7 +18,6 @@ import java.util.List; import java.util.Map; import java.util.Random; import java.util.function.Consumer; -import java.util.function.Supplier; public class BCLBiome { private final List structures = Lists.newArrayList();