From 5f5c4f85c74404998a2ba4d0c92b0aeb9f05ec10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zo=C3=AB?= Date: Sat, 16 Jul 2022 14:05:27 -0700 Subject: [PATCH] Fixes --- .../nms/v1_19_R1/config/FertilizableConfig.java | 7 +++++-- .../dfsek/terra/mod/config/FertilizableConfig.java | 11 +++++++---- .../terra/mod/mixin/gameplay/BoneMealTaskMixin.java | 6 ++++-- .../main/java/com/dfsek/terra/mod/util/BiomeUtil.java | 8 +++++++- .../com/dfsek/terra/mod/util/FertilizableUtil.java | 8 +++++--- 5 files changed, 28 insertions(+), 12 deletions(-) diff --git a/platforms/bukkit/nms/v1_19_R1/src/main/java/com/dfsek/terra/bukkit/nms/v1_19_R1/config/FertilizableConfig.java b/platforms/bukkit/nms/v1_19_R1/src/main/java/com/dfsek/terra/bukkit/nms/v1_19_R1/config/FertilizableConfig.java index 110f7d5ae..50641ad75 100644 --- a/platforms/bukkit/nms/v1_19_R1/src/main/java/com/dfsek/terra/bukkit/nms/v1_19_R1/config/FertilizableConfig.java +++ b/platforms/bukkit/nms/v1_19_R1/src/main/java/com/dfsek/terra/bukkit/nms/v1_19_R1/config/FertilizableConfig.java @@ -3,6 +3,9 @@ package com.dfsek.terra.bukkit.nms.v1_19_R1.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; import com.dfsek.tectonic.api.config.template.object.ObjectTemplate; + +import com.dfsek.terra.api.structure.Structure; + import net.minecraft.resources.ResourceLocation; import java.util.Map; @@ -14,7 +17,7 @@ import com.dfsek.terra.api.util.collection.ProbabilityCollection; public class FertilizableConfig implements ObjectTemplate { @Value("strucutres") @Default - private ProbabilityCollection structures = null; + private ProbabilityCollection structures = null; @Value("cooldowns") @Default @@ -28,7 +31,7 @@ public class FertilizableConfig implements ObjectTemplate { @Default private Boolean villagerFertilizable = null; - public ProbabilityCollection getStructures() { + public ProbabilityCollection getStructures() { return structures; } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/FertilizableConfig.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/FertilizableConfig.java index d1fe3f92d..aa8f495d2 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/FertilizableConfig.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/config/FertilizableConfig.java @@ -3,6 +3,9 @@ package com.dfsek.terra.mod.config; import com.dfsek.tectonic.api.config.template.annotations.Default; import com.dfsek.tectonic.api.config.template.annotations.Value; import com.dfsek.tectonic.api.config.template.object.ObjectTemplate; + +import com.dfsek.terra.api.structure.Structure; + import net.minecraft.util.Identifier; import java.util.Map; @@ -14,7 +17,7 @@ import com.dfsek.terra.api.util.collection.ProbabilityCollection; public class FertilizableConfig implements ObjectTemplate { @Value("strucutres") @Default - private ProbabilityCollection structures = null; + private ProbabilityCollection structures = null; @Value("cooldowns") @Default @@ -22,13 +25,13 @@ public class FertilizableConfig implements ObjectTemplate { @Value("can-grow") @Default - private ConfiguredStructure canGrow = null; + private Structure canGrow = null; @Value("villager-fertilizable") @Default private Boolean villagerFertilizable = null; - public ProbabilityCollection getStructures() { + public ProbabilityCollection getStructures() { return structures; } @@ -36,7 +39,7 @@ public class FertilizableConfig implements ObjectTemplate { return cooldowns; } - public ConfiguredStructure getCanGrow() { + public Structure getCanGrow() { return canGrow; } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/gameplay/BoneMealTaskMixin.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/gameplay/BoneMealTaskMixin.java index 90e93b656..f21e424e0 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/gameplay/BoneMealTaskMixin.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/mixin/gameplay/BoneMealTaskMixin.java @@ -1,6 +1,8 @@ package com.dfsek.terra.mod.mixin.gameplay; +import com.dfsek.terra.api.structure.Structure; + import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.entity.ai.brain.task.BoneMealTask; @@ -38,10 +40,10 @@ public class BoneMealTaskMixin { Boolean villagerFertilizable = config.isVillagerFertilizable(); if(villagerFertilizable != null) { if(villagerFertilizable) { - ConfiguredStructure canGrow = config.getCanGrow(); + Structure canGrow = config.getCanGrow(); if(canGrow != null) { Random random = (Random) world.getRandom(); - cir.setReturnValue(canGrow.getStructure().get(random).generate( + cir.setReturnValue(canGrow.generate( Vector3Int.of(pos.getX(), pos.getY(), pos.getZ()), (WritableWorld) world, random, Rotation.NONE)); return; } diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/BiomeUtil.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/BiomeUtil.java index 4e13d6eec..ebc59e7cb 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/BiomeUtil.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/BiomeUtil.java @@ -62,7 +62,13 @@ public class BiomeUtil { */ protected static void registerBiome(Biome biome, ConfigPack pack, com.dfsek.terra.api.registry.key.RegistryKey id) { - VanillaBiomeProperties vanillaBiomeProperties = biome.getContext().get(VanillaBiomeProperties.class); + VanillaBiomeProperties vanillaBiomeProperties; + if (biome.getContext().has(VanillaBiomeProperties.class)) { + vanillaBiomeProperties = biome.getContext().get(VanillaBiomeProperties.class); + } else { + vanillaBiomeProperties = new VanillaBiomeProperties(); + } + net.minecraft.world.biome.Biome minecraftBiome = MinecraftUtil.createBiome(vanillaBiomeProperties); diff --git a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/FertilizableUtil.java b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/FertilizableUtil.java index 7ee320b75..d29af1232 100644 --- a/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/FertilizableUtil.java +++ b/platforms/mixin-common/src/main/java/com/dfsek/terra/mod/util/FertilizableUtil.java @@ -1,5 +1,7 @@ package com.dfsek.terra.mod.util; +import com.dfsek.terra.api.structure.Structure; + import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.server.world.ServerWorld; @@ -31,9 +33,9 @@ public class FertilizableUtil { Block block = state.getBlock(); FertilizableConfig config = map.get(Registry.BLOCK.getId(block)); if(config != null) { - ConfiguredStructure canGrow = config.getCanGrow(); + Structure canGrow = config.getCanGrow(); if(canGrow != null) { - if(!canGrow.getStructure().get(random).generate( + if(!canGrow.generate( Vector3Int.of(pos.getX(), pos.getY(), pos.getZ()), (WritableWorld) world, random, Rotation.NONE)) { return false; } @@ -44,7 +46,7 @@ public class FertilizableUtil { return true; } } - config.getStructures().get(random).getStructure().get(random).generate( + config.getStructures().get(random).generate( Vector3Int.of(pos.getX(), pos.getY(), pos.getZ()), (WritableWorld) world, random, Rotation.NONE); return true; }