From ad1383cf0c14031202680a1b1238661a78c81b2c Mon Sep 17 00:00:00 2001 From: Matteo Date: Tue, 12 Dec 2023 13:27:29 +0100 Subject: [PATCH] ready for 1.20.4 except customportalapi --- gradle.properties | 10 ++-- .../net/ugi/sculk_depths/SculkDepths.java | 3 ++ .../net/ugi/sculk_depths/block/ModBlocks.java | 48 +++++++++---------- .../block/custom/CephleraBlock.java | 13 +++-- .../block/custom/CephleraLightBlock.java | 6 +++ .../block/custom/CrystalBlock.java | 4 +- .../sculk_depths/block/custom/FlowBlock.java | 6 +++ .../ModCauldron/FlumrockCauldronBlock.java | 7 +++ .../KryslumFlumrockCauldronBlock.java | 7 +++ .../ModCauldron/ModCauldronBehavior.java | 18 +++---- .../SporeFlumrockCauldronBlock.java | 5 ++ .../block/custom/SoulFireBlock.java | 11 +++-- .../sapling/ValtroxSaplingGenerator.java | 16 ------- .../datagen/ModRecipeProvider.java | 1 - .../sculk_depths/world/WorldGenerator.java | 19 ++++++++ src/main/resources/fabric.mod.json | 6 +-- 16 files changed, 111 insertions(+), 69 deletions(-) delete mode 100644 src/main/java/net/ugi/sculk_depths/block/sapling/ValtroxSaplingGenerator.java create mode 100644 src/main/java/net/ugi/sculk_depths/world/WorldGenerator.java diff --git a/gradle.properties b/gradle.properties index cbf27b59..b82a9fe4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,9 +4,9 @@ org.gradle.parallel=true # Fabric Properties # check these on https://fabricmc.net/develop - minecraft_version=1.20.2 - yarn_mappings=1.20.2+build.1 - loader_version=0.14.22 + minecraft_version=1.20.4 + yarn_mappings=1.20.4+build.1 + loader_version=0.15.1 # Mod Properties mod_version = 0.0.9_b @@ -14,9 +14,9 @@ org.gradle.parallel=true archives_base_name = sculk_depths # Dependencies - fabric_version= 0.89.2+1.20.2 + fabric_version= 0.91.2+1.20.4 customportalapi_version = 0.0.1-beta64-1.20 - geckolib_version = fabric-1.20.2:4.2.3 + geckolib_version = fabric-1.20.4:4.3.1 # DevDependencies rei_version = 11.0.617+fabric diff --git a/src/main/java/net/ugi/sculk_depths/SculkDepths.java b/src/main/java/net/ugi/sculk_depths/SculkDepths.java index 15a589fb..0ad59f69 100644 --- a/src/main/java/net/ugi/sculk_depths/SculkDepths.java +++ b/src/main/java/net/ugi/sculk_depths/SculkDepths.java @@ -18,6 +18,7 @@ import net.ugi.sculk_depths.portal.Portals; import net.ugi.sculk_depths.sound.ModSounds; import net.ugi.sculk_depths.state.property.ModProperties; +import net.ugi.sculk_depths.world.WorldGenerator; import net.ugi.sculk_depths.world.gen.ModPlacementModifierType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -40,6 +41,8 @@ public void onInitialize() { ModItems.registerModItems(); SculkDepths.LOGGER.info("Registering Blocks for " + SculkDepths.MOD_ID); ModBlocks.registerModBlocks(); + SculkDepths.LOGGER.info("Registering Worldgen for " + SculkDepths.MOD_ID); + WorldGenerator.initWorldGen(); SculkDepths.LOGGER.info("Registering Portals for " + SculkDepths.MOD_ID); Portals.registerModPortals(); SculkDepths.LOGGER.info("Registering Sounds for " + SculkDepths.MOD_ID); diff --git a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java index a036c4d7..df6c9685 100644 --- a/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java +++ b/src/main/java/net/ugi/sculk_depths/block/ModBlocks.java @@ -22,9 +22,9 @@ import net.ugi.sculk_depths.block.custom.ModCauldron.SporeFlumrockCauldronBlock; import net.ugi.sculk_depths.block.custom.SoulFireBlock; import net.ugi.sculk_depths.block.custom.ModCauldron.ModCauldronBehavior; -import net.ugi.sculk_depths.block.sapling.ValtroxSaplingGenerator; import net.ugi.sculk_depths.fluid.ModFluids; import net.ugi.sculk_depths.item.ModItemGroup; +import net.ugi.sculk_depths.world.WorldGenerator; import net.ugi.sculk_depths.world.gen.feature.ModConfiguredFeatures; @@ -94,7 +94,7 @@ public class ModBlocks { new FenceBlock(FabricBlockSettings.copyOf(Blocks.OAK_FENCE).strength(2.0f)), ModItemGroup.SCULK_DEPTHS); public static final Block VALTROX_FENCE_GATE = registerBlock("valtrox_fence_gate", - new FenceGateBlock(FabricBlockSettings.copyOf(Blocks.OAK_FENCE_GATE).strength(2.0f), ModWoodType.VALTROX), ModItemGroup.SCULK_DEPTHS); + new FenceGateBlock(ModWoodType.VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_FENCE_GATE).strength(2.0f)), ModItemGroup.SCULK_DEPTHS); /*public static final Block VALTROX_DOOR = registerBlock("valtrox_door", new DoorBlock(FabricBlockSettings.copyOf(Blocks.OAK_DOOR).strength(2.0f), ModBlockSetType.VALTROX), ModItemGroup.SCULK_DEPTHS); @@ -103,22 +103,22 @@ public class ModBlocks { new TrapdoorBlock(FabricBlockSettings.copyOf(Blocks.OAK_TRAPDOOR).strength(2.0f), ModBlockSetType.VALTROX), ModItemGroup.SCULK_DEPTHS); */ public static final Block VALTROX_PRESSURE_PLATE = registerBlock("valtrox_pressure_plate", - new PressurePlateBlock(PressurePlateBlock.ActivationRule.EVERYTHING ,FabricBlockSettings.copyOf(Blocks.OAK_PRESSURE_PLATE) , ModBlockSetType.VALTROX), ModItemGroup.SCULK_DEPTHS); + new PressurePlateBlock(ModBlockSetType.VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_PRESSURE_PLATE)), ModItemGroup.SCULK_DEPTHS); public static final Block VALTROX_BUTTON = registerBlock("valtrox_button", - new ButtonBlock(FabricBlockSettings.copyOf(Blocks.OAK_BUTTON), ModBlockSetType.VALTROX, 30, true), ModItemGroup.SCULK_DEPTHS); + new ButtonBlock(ModBlockSetType.VALTROX, 30, FabricBlockSettings.copyOf(Blocks.OAK_BUTTON)), ModItemGroup.SCULK_DEPTHS); public static final Block VALTROX_SIGN = registerBlockWithoutBlockItem("valtrox_sign", - new SignBlock(FabricBlockSettings.copyOf(Blocks.OAK_SIGN), ModWoodType.VALTROX), ModItemGroup.SCULK_DEPTHS); + new SignBlock(ModWoodType.VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_SIGN)), ModItemGroup.SCULK_DEPTHS); public static final Block VALTROX_WALL_SIGN = registerBlockWithoutBlockItem("valtrox_wall_sign", - new WallSignBlock(FabricBlockSettings.copyOf(Blocks.OAK_SIGN), ModWoodType.VALTROX), ModItemGroup.SCULK_DEPTHS); + new WallSignBlock(ModWoodType.VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_SIGN)), ModItemGroup.SCULK_DEPTHS); public static final Block VALTROX_HANGING_SIGN = registerBlockWithoutBlockItem("valtrox_hanging_sign", - new HangingSignBlock(FabricBlockSettings.copyOf(Blocks.OAK_HANGING_SIGN), ModWoodType.VALTROX), ModItemGroup.SCULK_DEPTHS); + new HangingSignBlock(ModWoodType.VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_HANGING_SIGN)), ModItemGroup.SCULK_DEPTHS); public static final Block VALTROX_WALL_HANGING_SIGN = registerBlockWithoutBlockItem("valtrox_wall_hanging_sign", - new WallHangingSignBlock(FabricBlockSettings.copyOf(Blocks.OAK_HANGING_SIGN).dropsLike(VALTROX_HANGING_SIGN), ModWoodType.VALTROX), ModItemGroup.SCULK_DEPTHS); + new WallHangingSignBlock(ModWoodType.VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_HANGING_SIGN).dropsLike(VALTROX_HANGING_SIGN)), ModItemGroup.SCULK_DEPTHS); //dried valtrox blockset public static final Block DRIED_VALTROX_LOG = registerBlock("dried_valtrox_log", new PillarBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(2.5f)), ModItemGroup.SCULK_DEPTHS); @@ -142,7 +142,7 @@ public class ModBlocks { new FenceBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(2.5f)), ModItemGroup.SCULK_DEPTHS); public static final Block DRIED_VALTROX_FENCE_GATE = registerBlock("dried_valtrox_fence_gate", - new FenceGateBlock(FabricBlockSettings.copyOf(Blocks.OAK_FENCE_GATE).strength(2.0f), ModWoodType.DRIED_VALTROX), ModItemGroup.SCULK_DEPTHS); + new FenceGateBlock(ModWoodType.DRIED_VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_FENCE_GATE).strength(2.0f)), ModItemGroup.SCULK_DEPTHS); /*public static final Block DRIED_VALTROX_DOOR = registerBlock("dried_valtrox_door", new DoorBlock(FabricBlockSettings.copyOf(Blocks.OAK_DOOR).strength(2.0f), ModBlockSetType.DRIED_VALTROX), ModItemGroup.SCULK_DEPTHS); @@ -151,22 +151,22 @@ public class ModBlocks { new TrapdoorBlock(FabricBlockSettings.copyOf(Blocks.OAK_TRAPDOOR).strength(2.0f), ModBlockSetType.DRIED_VALTROX), ModItemGroup.SCULK_DEPTHS); */ public static final Block DRIED_VALTROX_PRESSURE_PLATE = registerBlock("dried_valtrox_pressure_plate", - new PressurePlateBlock(PressurePlateBlock.ActivationRule.EVERYTHING ,FabricBlockSettings.copyOf(Blocks.OAK_PRESSURE_PLATE), ModBlockSetType.DRIED_VALTROX), ModItemGroup.SCULK_DEPTHS); + new PressurePlateBlock(ModBlockSetType.DRIED_VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_PRESSURE_PLATE)), ModItemGroup.SCULK_DEPTHS); public static final Block DRIED_VALTROX_BUTTON = registerBlock("dried_valtrox_button", - new ButtonBlock(FabricBlockSettings.copyOf(Blocks.OAK_BUTTON), ModBlockSetType.DRIED_VALTROX, 30, true), ModItemGroup.SCULK_DEPTHS); + new ButtonBlock(ModBlockSetType.DRIED_VALTROX, 30, FabricBlockSettings.copyOf(Blocks.OAK_BUTTON)), ModItemGroup.SCULK_DEPTHS); public static final Block DRIED_VALTROX_SIGN = registerBlockWithoutBlockItem("dried_valtrox_sign", - new SignBlock(FabricBlockSettings.copyOf(Blocks.OAK_SIGN), ModWoodType.DRIED_VALTROX), ModItemGroup.SCULK_DEPTHS); + new SignBlock(ModWoodType.DRIED_VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_SIGN)), ModItemGroup.SCULK_DEPTHS); public static final Block DRIED_VALTROX_WALL_SIGN = registerBlockWithoutBlockItem("dried_valtrox_wall_sign", - new WallSignBlock(FabricBlockSettings.copyOf(Blocks.OAK_SIGN), ModWoodType.DRIED_VALTROX), ModItemGroup.SCULK_DEPTHS); + new WallSignBlock(ModWoodType.DRIED_VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_SIGN)), ModItemGroup.SCULK_DEPTHS); public static final Block DRIED_VALTROX_HANGING_SIGN = registerBlockWithoutBlockItem("dried_valtrox_hanging_sign", - new HangingSignBlock(FabricBlockSettings.copyOf(Blocks.OAK_SIGN), ModWoodType.DRIED_VALTROX), ModItemGroup.SCULK_DEPTHS); + new HangingSignBlock(ModWoodType.DRIED_VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_SIGN)), ModItemGroup.SCULK_DEPTHS); public static final Block DRIED_VALTROX_WALL_HANGING_SIGN = registerBlockWithoutBlockItem("dried_valtrox_wall_hanging_sign", - new WallHangingSignBlock(FabricBlockSettings.copyOf(Blocks.OAK_SIGN), ModWoodType.DRIED_VALTROX), ModItemGroup.SCULK_DEPTHS); + new WallHangingSignBlock(ModWoodType.DRIED_VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_SIGN)), ModItemGroup.SCULK_DEPTHS); //petrified valtrox blockset public static final Block PETRIFIED_VALTROX_LOG = registerBlock("petrified_valtrox_log", @@ -193,7 +193,7 @@ public class ModBlocks { new WallBlock(FabricBlockSettings.copyOf(Blocks.STONE).strength(3.0f).requiresTool()), ModItemGroup.SCULK_DEPTHS); public static final Block PETRIFIED_VALTROX_WALL_GATE = registerBlock("petrified_valtrox_wall_gate", - new FenceGateBlock(FabricBlockSettings.copyOf(Blocks.OAK_FENCE_GATE).strength(2.0f), ModWoodType.PETRIFIED_VALTROX), ModItemGroup.SCULK_DEPTHS); + new FenceGateBlock(ModWoodType.PETRIFIED_VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_FENCE_GATE).strength(2.0f)), ModItemGroup.SCULK_DEPTHS); /*public static final Block PETRIFIED_VALTROX_DOOR = registerBlock("petrified_valtrox_door", new DoorBlock(FabricBlockSettings.copyOf(Blocks.OAK_DOOR).strength(2.0f), ModBlockSetType.PETRIFIED_VALTROX), ModItemGroup.SCULK_DEPTHS); @@ -202,22 +202,22 @@ public class ModBlocks { new TrapdoorBlock(FabricBlockSettings.copyOf(Blocks.OAK_FENCE).strength(2.0f), ModBlockSetType.PETRIFIED_VALTROX), ModItemGroup.SCULK_DEPTHS); */ public static final Block PETRIFIED_VALTROX_PRESSURE_PLATE = registerBlock("petrified_valtrox_pressure_plate", - new PressurePlateBlock(PressurePlateBlock.ActivationRule.EVERYTHING ,FabricBlockSettings.copyOf(Blocks.STONE_PRESSURE_PLATE), ModBlockSetType.PETRIFIED_VALTROX), ModItemGroup.SCULK_DEPTHS); + new PressurePlateBlock(ModBlockSetType.PETRIFIED_VALTROX, FabricBlockSettings.copyOf(Blocks.STONE_PRESSURE_PLATE)), ModItemGroup.SCULK_DEPTHS); public static final Block PETRIFIED_VALTROX_BUTTON = registerBlock("petrified_valtrox_button", - new ButtonBlock(FabricBlockSettings.copyOf(Blocks.OAK_BUTTON), ModBlockSetType.PETRIFIED_VALTROX, 20, false), ModItemGroup.SCULK_DEPTHS); + new ButtonBlock(ModBlockSetType.PETRIFIED_VALTROX, 20, FabricBlockSettings.copyOf(Blocks.OAK_BUTTON)), ModItemGroup.SCULK_DEPTHS); public static final Block PETRIFIED_VALTROX_SIGN = registerBlockWithoutBlockItem("petrified_valtrox_sign", - new SignBlock(FabricBlockSettings.copyOf(Blocks.OAK_SIGN), ModWoodType.PETRIFIED_VALTROX), ModItemGroup.SCULK_DEPTHS); + new SignBlock(ModWoodType.PETRIFIED_VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_SIGN)), ModItemGroup.SCULK_DEPTHS); public static final Block PETRIFIED_VALTROX_WALL_SIGN = registerBlockWithoutBlockItem("petrified_valtrox_wall_sign", - new WallSignBlock(FabricBlockSettings.copyOf(Blocks.OAK_SIGN), ModWoodType.PETRIFIED_VALTROX), ModItemGroup.SCULK_DEPTHS); + new WallSignBlock(ModWoodType.PETRIFIED_VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_SIGN)), ModItemGroup.SCULK_DEPTHS); public static final Block PETRIFIED_VALTROX_HANGING_SIGN = registerBlockWithoutBlockItem("petrified_valtrox_hanging_sign", - new HangingSignBlock(FabricBlockSettings.copyOf(Blocks.OAK_SIGN), ModWoodType.PETRIFIED_VALTROX), ModItemGroup.SCULK_DEPTHS); + new HangingSignBlock(ModWoodType.PETRIFIED_VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_SIGN)), ModItemGroup.SCULK_DEPTHS); public static final Block PETRIFIED_VALTROX_WALL_HANGING_SIGN = registerBlockWithoutBlockItem("petrified_valtrox_wall_hanging_sign", - new WallHangingSignBlock(FabricBlockSettings.copyOf(Blocks.OAK_SIGN), ModWoodType.PETRIFIED_VALTROX), ModItemGroup.SCULK_DEPTHS); + new WallHangingSignBlock(ModWoodType.PETRIFIED_VALTROX, FabricBlockSettings.copyOf(Blocks.OAK_SIGN)), ModItemGroup.SCULK_DEPTHS); //zygrin set public static final Block ZYGRIN = registerBlock("zygrin", @@ -274,7 +274,7 @@ public class ModBlocks { //saplings public static final Block VALTROX_SAPLING = registerBlock("valtrox_sapling", - new SaplingBlock(new ValtroxSaplingGenerator(), FabricBlockSettings.copyOf(Blocks.OAK_SAPLING)), ModItemGroup.SCULK_DEPTHS); + new SaplingBlock(WorldGenerator.VALTROX_SAPLING_GENERATOR, FabricBlockSettings.copyOf(Blocks.OAK_SAPLING)), ModItemGroup.SCULK_DEPTHS); //vegetation public static final Block CEPHLERA = registerBlockWithoutBlockItem("cephlera", @@ -311,7 +311,7 @@ public class ModBlocks { public static final Block KRYSLUM = registerBlockWithoutBlockItem("kryslum", new FluidBlock(ModFluids.KRYSLUM_STILL, FabricBlockSettings.copyOf(Blocks.WATER).replaceable().noCollision().strength(100.0f).pistonBehavior(PistonBehavior.DESTROY).dropsNothing().liquid().solid().sounds(BlockSoundGroup.SCULK)), ModItemGroup.SCULK_DEPTHS); public static final Block FLUMROCK_CAULDRON = registerBlock("flumrock_cauldron", new FlumrockCauldronBlock(FabricBlockSettings.copyOf(Blocks.CAULDRON)), ModItemGroup.SCULK_DEPTHS); - public static final Block KRYSLUM_FLUMROCK_CAULDRON = registerBlockWithoutBlockItem("kryslum_flumrock_cauldron", new KryslumFlumrockCauldronBlock(FabricBlockSettings.copyOf(Blocks.CAULDRON), ModCauldronBehavior.KRYSLUM_FLUMROCK_CAULDRON_BEHAVIOR), ModItemGroup.SCULK_DEPTHS); + public static final Block KRYSLUM_FLUMROCK_CAULDRON = registerBlockWithoutBlockItem("kryslum_flumrock_cauldron", new KryslumFlumrockCauldronBlock(FabricBlockSettings.copyOf(Blocks.CAULDRON), ModCauldronBehavior.KRYSLUM_FLUMROCK_CAULDRON_BEHAVIOR.map()), ModItemGroup.SCULK_DEPTHS); /*public static final Block SPORE_FLUMROCK_CAULDRON = registerBlockWithoutBlockItem("spore_flumrock_cauldron", new SporeFlumrockCauldronBlock(FabricBlockSettings.copyOf(Blocks.CAULDRON), ModCauldronBehavior.SPORE_FLUMROCK_CAULDRON_BEHAVIOR), ModItemGroup.SCULK_DEPTHS); */ private static CrystalBlock createCrystalBlock(DyeColor color) { diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/CephleraBlock.java b/src/main/java/net/ugi/sculk_depths/block/custom/CephleraBlock.java index 09b7319d..80191274 100644 --- a/src/main/java/net/ugi/sculk_depths/block/custom/CephleraBlock.java +++ b/src/main/java/net/ugi/sculk_depths/block/custom/CephleraBlock.java @@ -1,14 +1,19 @@ package net.ugi.sculk_depths.block.custom; -import net.minecraft.block.AbstractBlock; -import net.minecraft.block.AbstractPlantBlock; -import net.minecraft.block.AbstractPlantStemBlock; -import net.minecraft.block.Block; +import com.mojang.serialization.MapCodec; +import net.minecraft.block.*; +import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.util.shape.VoxelShape; +import net.minecraft.world.BlockRenderView; import net.ugi.sculk_depths.block.ModBlocks; +import org.jetbrains.annotations.Nullable; public class CephleraBlock extends AbstractPlantBlock { + @Override + protected MapCodec getCodec() { + return null; + } public static final VoxelShape SHAPE = Block.createCuboidShape(1.0, 0.0, 1.0, 15.0, 16.0, 15.0); public CephleraBlock(AbstractBlock.Settings settings) { diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/CephleraLightBlock.java b/src/main/java/net/ugi/sculk_depths/block/custom/CephleraLightBlock.java index 4d5d1bd6..8a0f9e2b 100644 --- a/src/main/java/net/ugi/sculk_depths/block/custom/CephleraLightBlock.java +++ b/src/main/java/net/ugi/sculk_depths/block/custom/CephleraLightBlock.java @@ -1,6 +1,7 @@ package net.ugi.sculk_depths.block.custom; +import com.mojang.serialization.MapCodec; import net.minecraft.block.*; import net.minecraft.util.math.Direction; import net.minecraft.util.math.random.Random; @@ -8,6 +9,11 @@ import net.ugi.sculk_depths.block.ModBlocks; public class CephleraLightBlock extends AbstractPlantStemBlock { + @Override + protected MapCodec getCodec() { + return null; + } + protected static final VoxelShape SHAPE = Block.createCuboidShape(1.0, 0.0, 1.0, 15.0, 16.0, 15.0); public CephleraLightBlock(AbstractBlock.Settings settings) { diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/CrystalBlock.java b/src/main/java/net/ugi/sculk_depths/block/custom/CrystalBlock.java index 6a602a86..a6b5ba17 100644 --- a/src/main/java/net/ugi/sculk_depths/block/custom/CrystalBlock.java +++ b/src/main/java/net/ugi/sculk_depths/block/custom/CrystalBlock.java @@ -1,12 +1,12 @@ package net.ugi.sculk_depths.block.custom; import net.minecraft.block.AbstractBlock; -import net.minecraft.block.AbstractGlassBlock; import net.minecraft.block.Stainable; +import net.minecraft.block.TransparentBlock; import net.minecraft.util.DyeColor; public class CrystalBlock - extends AbstractGlassBlock + extends TransparentBlock implements Stainable { private final DyeColor color; diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/FlowBlock.java b/src/main/java/net/ugi/sculk_depths/block/custom/FlowBlock.java index 5b8821cd..5d210c53 100644 --- a/src/main/java/net/ugi/sculk_depths/block/custom/FlowBlock.java +++ b/src/main/java/net/ugi/sculk_depths/block/custom/FlowBlock.java @@ -1,5 +1,6 @@ package net.ugi.sculk_depths.block.custom; +import com.mojang.serialization.MapCodec; import net.minecraft.block.*; import net.minecraft.entity.ai.pathing.NavigationType; import net.minecraft.item.ItemPlacementContext; @@ -10,6 +11,11 @@ import net.minecraft.world.BlockView; public class FlowBlock extends RodBlock { + @Override + protected MapCodec getCodec() { + return null; + } + protected static final float field_31233 = 6.0f; protected static final float field_31234 = 10.0f; protected static final VoxelShape Y_SHAPE = Block.createCuboidShape(0.0, 0.0, 0.0, 16.0, 16.0, 16.0); diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/ModCauldron/FlumrockCauldronBlock.java b/src/main/java/net/ugi/sculk_depths/block/custom/ModCauldron/FlumrockCauldronBlock.java index f80f9e4a..717db473 100644 --- a/src/main/java/net/ugi/sculk_depths/block/custom/ModCauldron/FlumrockCauldronBlock.java +++ b/src/main/java/net/ugi/sculk_depths/block/custom/ModCauldron/FlumrockCauldronBlock.java @@ -1,6 +1,8 @@ package net.ugi.sculk_depths.block.custom.ModCauldron; +import com.mojang.serialization.MapCodec; import net.minecraft.block.AbstractCauldronBlock; +import net.minecraft.block.AbstractPlantStemBlock; import net.minecraft.block.BlockState; import net.minecraft.block.ShapeContext; import net.minecraft.util.function.BooleanBiFunction; @@ -10,6 +12,11 @@ import net.minecraft.world.BlockView; public class FlumrockCauldronBlock extends AbstractCauldronBlock { + @Override + protected MapCodec getCodec() { + return null; + } + private static final VoxelShape RAYCAST_SHAPE = AbstractCauldronBlock.createCuboidShape(1.5, 2.0, 1.5, 14.5, 16.0, 14.5); protected static final VoxelShape OUTLINE_SHAPE = VoxelShapes.combineAndSimplify(VoxelShapes.fullCube(), diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/ModCauldron/KryslumFlumrockCauldronBlock.java b/src/main/java/net/ugi/sculk_depths/block/custom/ModCauldron/KryslumFlumrockCauldronBlock.java index c0f19b1e..4d46418a 100644 --- a/src/main/java/net/ugi/sculk_depths/block/custom/ModCauldron/KryslumFlumrockCauldronBlock.java +++ b/src/main/java/net/ugi/sculk_depths/block/custom/ModCauldron/KryslumFlumrockCauldronBlock.java @@ -1,5 +1,6 @@ package net.ugi.sculk_depths.block.custom.ModCauldron; +import com.mojang.serialization.MapCodec; import net.minecraft.block.*; import net.minecraft.block.cauldron.CauldronBehavior; import net.minecraft.entity.Entity; @@ -36,6 +37,10 @@ public class KryslumFlumrockCauldronBlock extends AbstractCauldronBlock{ + @Override + protected MapCodec getCodec() { + return null; + } public static final IntProperty LEVEL = ModProperties.KRYSLUM_LEVEL; @@ -91,6 +96,8 @@ public boolean isFull(BlockState state) { return state.get(LEVEL) == 12; } + + @Override protected double getFluidHeight(BlockState state) { return (6.0 + (double)state.get(LEVEL).intValue() * 3.0) / 16.0; diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/ModCauldron/ModCauldronBehavior.java b/src/main/java/net/ugi/sculk_depths/block/custom/ModCauldron/ModCauldronBehavior.java index 084d3cb0..e546700a 100644 --- a/src/main/java/net/ugi/sculk_depths/block/custom/ModCauldron/ModCauldronBehavior.java +++ b/src/main/java/net/ugi/sculk_depths/block/custom/ModCauldron/ModCauldronBehavior.java @@ -32,17 +32,17 @@ public interface ModCauldronBehavior { public static final IntProperty KRYSLUM_LEVEL = ModProperties.KRYSLUM_LEVEL; public static final IntProperty SPORE_LEVEL = ModProperties.SPORE_LEVEL; - public static final Map EMPTY_FLUMROCK_CAULDRON_BEHAVIOR = CauldronBehavior.createMap(); - public static final Map KRYSLUM_FLUMROCK_CAULDRON_BEHAVIOR = CauldronBehavior.createMap(); + public static final CauldronBehavior.CauldronBehaviorMap EMPTY_FLUMROCK_CAULDRON_BEHAVIOR = CauldronBehavior.createMap("empty_flumrock_cauldron"); + public static final CauldronBehavior.CauldronBehaviorMap KRYSLUM_FLUMROCK_CAULDRON_BEHAVIOR = CauldronBehavior.createMap("kryslum_flumrock_cauldron"); - public static final Map SPORE_FLUMROCK_CAULDRON_BEHAVIOR = CauldronBehavior.createMap(); + public static final CauldronBehavior.CauldronBehaviorMap SPORE_FLUMROCK_CAULDRON_BEHAVIOR = CauldronBehavior.createMap("spore_flumrock_cauldron"); public static final CauldronBehavior FILL_WITH_KRYSLUM = (state, world, pos, player, hand, stack) -> CauldronBehavior.fillCauldron(world, pos, player, hand, stack, ModBlocks.KRYSLUM_FLUMROCK_CAULDRON.getDefaultState(), SoundEvents.ITEM_BUCKET_EMPTY); //public static final CauldronBehavior FILL_WITH_SPORE = (state, world, pos, player, hand, stack) -> CauldronBehavior.fillCauldron(world, pos, player, hand, stack, ModBlocks.SPORE_FLUMROCK_CAULDRON.getDefaultState(), SoundEvents.ITEM_BUCKET_EMPTY); public static void registerBehavior() { - registerBucketBehavior(EMPTY_FLUMROCK_CAULDRON_BEHAVIOR); + registerBucketBehavior(EMPTY_FLUMROCK_CAULDRON_BEHAVIOR.map()); - KRYSLUM_FLUMROCK_CAULDRON_BEHAVIOR.put(Items.BUCKET, (state, world, pos, player, hand, stack) -> { + KRYSLUM_FLUMROCK_CAULDRON_BEHAVIOR.map().put(Items.BUCKET, (state, world, pos, player, hand, stack) -> { if (!world.isClient) { Item item = stack.getItem(); player.setStackInHand(hand, ItemUsage.exchangeStack(stack, player, new ItemStack(ModItems.KRYSLUM_BUCKET))); @@ -55,7 +55,7 @@ public static void registerBehavior() { return ActionResult.success(world.isClient); }); - KRYSLUM_FLUMROCK_CAULDRON_BEHAVIOR.put(ModItems.KRYSLUM_BUCKET, (state, world, pos, player, hand, stack) -> { + KRYSLUM_FLUMROCK_CAULDRON_BEHAVIOR.map().put(ModItems.KRYSLUM_BUCKET, (state, world, pos, player, hand, stack) -> { if (state.get(KRYSLUM_LEVEL) == 12) { return ActionResult.PASS; } @@ -70,7 +70,7 @@ public static void registerBehavior() { return ActionResult.success(world.isClient); }); - KRYSLUM_FLUMROCK_CAULDRON_BEHAVIOR.put(ModItems.QUAZARITH_PIECES, (state, world, pos, player, hand, stack) -> { + KRYSLUM_FLUMROCK_CAULDRON_BEHAVIOR.map().put(ModItems.QUAZARITH_PIECES, (state, world, pos, player, hand, stack) -> { if (state.get(QUAZARITH_LEVEL) == 12) { return ActionResult.PASS; } @@ -88,7 +88,7 @@ public static void registerBehavior() { return ActionResult.success(world.isClient); }); - KRYSLUM_FLUMROCK_CAULDRON_BEHAVIOR.put(ModItems.CRUX, (state, world, pos, player, hand, stack) -> { + KRYSLUM_FLUMROCK_CAULDRON_BEHAVIOR.map().put(ModItems.CRUX, (state, world, pos, player, hand, stack) -> { if (state.get(CRUX_LEVEL) == 12) { return ActionResult.PASS; } @@ -106,7 +106,7 @@ public static void registerBehavior() { return ActionResult.success(world.isClient); }); - KRYSLUM_FLUMROCK_CAULDRON_BEHAVIOR.put(ModItems.QUAZARITH_INGOT, (state, world, pos, player, hand, stack) -> { + KRYSLUM_FLUMROCK_CAULDRON_BEHAVIOR.map().put(ModItems.QUAZARITH_INGOT, (state, world, pos, player, hand, stack) -> { if (state.get(QUAZARITH_LEVEL) > 8 || state.get(CRUX_LEVEL) > 8) { return ActionResult.PASS; } diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/ModCauldron/SporeFlumrockCauldronBlock.java b/src/main/java/net/ugi/sculk_depths/block/custom/ModCauldron/SporeFlumrockCauldronBlock.java index e2d5ecef..e0bf897e 100644 --- a/src/main/java/net/ugi/sculk_depths/block/custom/ModCauldron/SporeFlumrockCauldronBlock.java +++ b/src/main/java/net/ugi/sculk_depths/block/custom/ModCauldron/SporeFlumrockCauldronBlock.java @@ -1,5 +1,6 @@ package net.ugi.sculk_depths.block.custom.ModCauldron; +import com.mojang.serialization.MapCodec; import net.minecraft.block.AbstractCauldronBlock; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -44,6 +45,10 @@ public class SporeFlumrockCauldronBlock extends AbstractCauldronBlock{ + @Override + protected MapCodec getCodec() { + return null; + } //Item[] crystalItemArray = {ModItems.WHITE_CRYSTAL, ModItems.BLUE_CRYSTAL, ModItems.ORANGE_CRYSTAL, ModItems.LIME_CRYSTAL}; CrystalType[] crystalStateArray = {CrystalType.WHITE, CrystalType.BLUE, CrystalType.ORANGE, CrystalType.LIME}; diff --git a/src/main/java/net/ugi/sculk_depths/block/custom/SoulFireBlock.java b/src/main/java/net/ugi/sculk_depths/block/custom/SoulFireBlock.java index 07782cbd..abdda77b 100644 --- a/src/main/java/net/ugi/sculk_depths/block/custom/SoulFireBlock.java +++ b/src/main/java/net/ugi/sculk_depths/block/custom/SoulFireBlock.java @@ -1,10 +1,8 @@ package net.ugi.sculk_depths.block.custom; -import net.minecraft.block.AbstractBlock; -import net.minecraft.block.AbstractFireBlock; -import net.minecraft.block.BlockState; -import net.minecraft.block.Blocks; +import com.mojang.serialization.MapCodec; +import net.minecraft.block.*; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.world.WorldAccess; @@ -12,7 +10,10 @@ public class SoulFireBlock extends AbstractFireBlock { - + @Override + protected MapCodec getCodec() { + return null; + } public SoulFireBlock(AbstractBlock.Settings settings) { diff --git a/src/main/java/net/ugi/sculk_depths/block/sapling/ValtroxSaplingGenerator.java b/src/main/java/net/ugi/sculk_depths/block/sapling/ValtroxSaplingGenerator.java deleted file mode 100644 index d43b3700..00000000 --- a/src/main/java/net/ugi/sculk_depths/block/sapling/ValtroxSaplingGenerator.java +++ /dev/null @@ -1,16 +0,0 @@ -package net.ugi.sculk_depths.block.sapling; - -import net.minecraft.block.sapling.SaplingGenerator; -import net.minecraft.registry.RegistryKey; -import net.minecraft.util.math.random.Random; -import net.minecraft.world.gen.feature.ConfiguredFeature; -import net.ugi.sculk_depths.world.gen.feature.ModConfiguredFeatures; - -public class ValtroxSaplingGenerator extends SaplingGenerator { - public ValtroxSaplingGenerator() { - } - - protected RegistryKey> getTreeFeature(Random random, boolean bees) { - return ModConfiguredFeatures.VALTROX; - } -} diff --git a/src/main/java/net/ugi/sculk_depths/datagen/ModRecipeProvider.java b/src/main/java/net/ugi/sculk_depths/datagen/ModRecipeProvider.java index 9f5a79f6..95cf3e9c 100644 --- a/src/main/java/net/ugi/sculk_depths/datagen/ModRecipeProvider.java +++ b/src/main/java/net/ugi/sculk_depths/datagen/ModRecipeProvider.java @@ -3,7 +3,6 @@ import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider; import net.minecraft.data.server.recipe.RecipeExporter; -import net.minecraft.data.server.recipe.RecipeJsonProvider; import net.minecraft.data.server.recipe.ShapedRecipeJsonBuilder; import net.minecraft.item.ItemConvertible; import net.minecraft.item.Items; diff --git a/src/main/java/net/ugi/sculk_depths/world/WorldGenerator.java b/src/main/java/net/ugi/sculk_depths/world/WorldGenerator.java new file mode 100644 index 00000000..b3795d88 --- /dev/null +++ b/src/main/java/net/ugi/sculk_depths/world/WorldGenerator.java @@ -0,0 +1,19 @@ +package net.ugi.sculk_depths.world; + +import net.minecraft.block.SaplingGenerator; +import net.minecraft.util.Identifier; +import net.ugi.sculk_depths.SculkDepths; +import net.ugi.sculk_depths.world.gen.feature.ModConfiguredFeatures; + +import java.util.Optional; + +public class WorldGenerator { + public static void initWorldGen() {} + public static final SaplingGenerator VALTROX_SAPLING_GENERATOR = new SaplingGenerator( + new Identifier(SculkDepths.MOD_ID, "valtrox").toString(), + Optional.of(ModConfiguredFeatures.VALTROX), + Optional.empty(), + Optional.empty() + ); + + } \ No newline at end of file diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index ce777658..a12bed65 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -35,9 +35,9 @@ ], "depends": { - "fabricloader": ">=0.14.17", - "fabric-api": ">=0.85.0", - "minecraft": ">=1.20-", + "fabricloader": ">=0.15.0", + "fabric-api": ">=0.90.0", + "minecraft": ">=1.20.3", "geckolib": ">=4.1.1", "java": ">=17" },