diff --git a/src/main/java/com/minelittlepony/unicopia/block/ChiselledChitinBlock.java b/src/main/java/com/minelittlepony/unicopia/block/ChiselledChitinBlock.java index 2c28673f..92dbbdc6 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/ChiselledChitinBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/ChiselledChitinBlock.java @@ -5,10 +5,8 @@ import javax.annotation.Nullable; import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.entity.player.Pony; -import net.fabricmc.fabric.api.block.FabricBlockSettings; import net.minecraft.block.Block; import net.minecraft.block.BlockState; -import net.minecraft.block.MaterialColor; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemPlacementContext; import net.minecraft.state.StateManager; @@ -21,12 +19,8 @@ import net.minecraft.world.BlockView; public class ChiselledChitinBlock extends Block { - public ChiselledChitinBlock() { - super(FabricBlockSettings.of(UMaterials.HIVE) - .strength(50, 2000) - .materialColor(MaterialColor.BLACK) - .build() - ); + public ChiselledChitinBlock(Settings settings) { + super(settings); setDefaultState(stateManager.getDefaultState() .with(Properties.FACING, Direction.UP) ); diff --git a/src/main/java/com/minelittlepony/unicopia/block/ChitinBlock.java b/src/main/java/com/minelittlepony/unicopia/block/ChitinBlock.java index 6b70140c..f188bc81 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/ChitinBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/ChitinBlock.java @@ -3,11 +3,9 @@ package com.minelittlepony.unicopia.block; import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.entity.player.Pony; -import net.fabricmc.fabric.api.block.FabricBlockSettings; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; -import net.minecraft.block.MaterialColor; import net.minecraft.entity.EntityContext; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.state.StateManager; @@ -22,13 +20,8 @@ public class ChitinBlock extends Block { public static final EnumProperty COVERING = EnumProperty.of("covering", Covering.class); - public ChitinBlock() { - super(FabricBlockSettings.of(UMaterials.HIVE) - .hardness(50) - .strength(2000, 2000) - .materialColor(MaterialColor.BLACK) - .build() - ); + public ChitinBlock(Settings settings) { + super(settings); setDefaultState(stateManager.getDefaultState().with(COVERING, Covering.UNCOVERED)); } diff --git a/src/main/java/com/minelittlepony/unicopia/block/FruitLeavesBlock.java b/src/main/java/com/minelittlepony/unicopia/block/FruitLeavesBlock.java index a911bbe9..3ec657f2 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/FruitLeavesBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/FruitLeavesBlock.java @@ -8,16 +8,13 @@ import javax.annotation.Nonnull; import com.minelittlepony.unicopia.ducks.Colourful; import com.minelittlepony.unicopia.entity.player.Pony; -import net.fabricmc.fabric.api.block.FabricBlockSettings; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.LeavesBlock; -import net.minecraft.block.Material; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.DyeItem; import net.minecraft.item.ItemStack; import net.minecraft.server.world.ServerWorld; -import net.minecraft.sound.BlockSoundGroup; import net.minecraft.sound.SoundCategory; import net.minecraft.sound.SoundEvents; import net.minecraft.state.StateManager; @@ -42,14 +39,8 @@ public class FruitLeavesBlock extends LeavesBlock implements Colourful { private Function fruitProducer = w -> ItemStack.EMPTY; private Function compostProducer = w -> ItemStack.EMPTY; - public FruitLeavesBlock() { - super(FabricBlockSettings.of(Material.LEAVES) - .strength(0.2F, 0.2F) - .ticksRandomly() - .sounds(BlockSoundGroup.GRASS) - .build() - ); - + public FruitLeavesBlock(Settings settings) { + super(settings); setDefaultState(stateManager.getDefaultState() .with(HEAVY, false) .with(DISTANCE, 7) diff --git a/src/main/java/com/minelittlepony/unicopia/block/HiveWallBlock.java b/src/main/java/com/minelittlepony/unicopia/block/HiveWallBlock.java index f4ddef72..262b8b41 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/HiveWallBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/HiveWallBlock.java @@ -11,8 +11,6 @@ import com.minelittlepony.unicopia.util.PosHelper; import com.minelittlepony.unicopia.util.shape.Shape; import com.minelittlepony.unicopia.util.shape.Sphere; -import net.fabricmc.fabric.api.block.FabricBlockSettings; -import net.fabricmc.fabric.api.tools.FabricToolTags; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; @@ -24,7 +22,6 @@ import net.minecraft.item.ItemPlacementContext; import net.minecraft.particle.BlockStateParticleEffect; import net.minecraft.particle.ParticleTypes; import net.minecraft.server.world.ServerWorld; -import net.minecraft.sound.BlockSoundGroup; import net.minecraft.sound.SoundCategory; import net.minecraft.state.StateManager; import net.minecraft.state.property.EnumProperty; @@ -45,17 +42,8 @@ public class HiveWallBlock extends FallingBlock { private static final Shape shape = new Sphere(false, 1.5); - public HiveWallBlock() { - super(FabricBlockSettings.of(UMaterials.HIVE) - .noCollision() - .strength(10, 10) - .hardness(2) - .ticksRandomly() - .lightLevel(1) - .sounds(BlockSoundGroup.SAND) - .breakByTool(FabricToolTags.PICKAXES, 1) - .build() - ); + public HiveWallBlock(Settings settings) { + super(settings); setDefaultState(stateManager.getDefaultState() .with(STATE, State.GROWING).with(AXIS, Axis.Y) ); diff --git a/src/main/java/com/minelittlepony/unicopia/block/StickBlock.java b/src/main/java/com/minelittlepony/unicopia/block/StickBlock.java index 14df6728..4d064b17 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/StickBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/StickBlock.java @@ -1,16 +1,13 @@ package com.minelittlepony.unicopia.block; -import net.fabricmc.fabric.api.block.FabricBlockSettings; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.FarmlandBlock; -import net.minecraft.block.Material; import net.minecraft.entity.EntityContext; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.item.LeadItem; -import net.minecraft.sound.BlockSoundGroup; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.hit.BlockHitResult; @@ -30,15 +27,8 @@ public class StickBlock extends Block { 9/16F, 15/16F, 9/16F )); - public StickBlock() { - super(FabricBlockSettings.of(Material.PLANT) - .noCollision() - .strength(0.2F, 0.2F) - .ticksRandomly() - .lightLevel(1) - .sounds(BlockSoundGroup.WOOD) - .build() - ); + public StickBlock(Settings settings) { + super(settings); } @Deprecated diff --git a/src/main/java/com/minelittlepony/unicopia/block/SugarBlock.java b/src/main/java/com/minelittlepony/unicopia/block/SugarBlock.java index f435aa4c..3faa528f 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/SugarBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/SugarBlock.java @@ -1,17 +1,10 @@ package com.minelittlepony.unicopia.block; -import net.fabricmc.fabric.api.block.FabricBlockSettings; import net.minecraft.block.FallingBlock; -import net.minecraft.block.Material; -import net.minecraft.sound.BlockSoundGroup; +@Deprecated public class SugarBlock extends FallingBlock { - public SugarBlock() { - super(FabricBlockSettings.of(Material.SAND) - .strength(10, 10) - .hardness(0.7F) - .sounds(BlockSoundGroup.SAND) - .build() - ); + public SugarBlock(Settings settings) { + super(settings); } } diff --git a/src/main/java/com/minelittlepony/unicopia/block/TomatoPlantBlock.java b/src/main/java/com/minelittlepony/unicopia/block/TomatoPlantBlock.java index 339fc703..18db1e17 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/TomatoPlantBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/block/TomatoPlantBlock.java @@ -3,11 +3,9 @@ package com.minelittlepony.unicopia.block; import com.minelittlepony.unicopia.gas.CloudFarmlandBlock; import com.minelittlepony.unicopia.item.UItems; -import net.fabricmc.fabric.api.block.FabricBlockSettings; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.CropBlock; -import net.minecraft.block.Material; import net.minecraft.entity.EntityContext; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; @@ -31,15 +29,8 @@ public class TomatoPlantBlock extends CropBlock { public static final EnumProperty TYPE = EnumProperty.of("type", Type.class); - public TomatoPlantBlock() { - super(FabricBlockSettings.of(Material.PLANT) - .noCollision() - .strength(0.2F, 0.2F) - .ticksRandomly() - .lightLevel(1) - .sounds(BlockSoundGroup.WOOD) - .build() - ); + public TomatoPlantBlock(Settings settings) { + super(settings); setDefaultState(getDefaultState().with(TYPE, Type.NORMAL)); } diff --git a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java index 053d7b55..bd4aafde 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java +++ b/src/main/java/com/minelittlepony/unicopia/block/UBlocks.java @@ -16,6 +16,7 @@ import net.fabricmc.fabric.api.block.FabricBlockSettings; import net.fabricmc.fabric.api.tools.FabricToolTags; import net.minecraft.block.Block; import net.minecraft.block.Blocks; +import net.minecraft.block.FallingBlock; import net.minecraft.block.Material; import net.minecraft.block.MaterialColor; import net.minecraft.block.SaplingBlock; @@ -37,8 +38,14 @@ public interface UBlocks { CloudSlabBlock DENSE_CLOUD_SLAB = register(new CloudSlabBlock<>(ENCHANTED_CLOUD_BLOCK.getDefaultState(), GasState.DENSE.configure().build()), "dense_cloud_slab"); CloudDoorBlock MISTED_GLASS_DOOR = register(new CloudDoorBlock(), "misted_glass_door"); - DutchDoorBlock LIBRARY_DOOR = register(new DutchDoorBlock(FabricBlockSettings.of(Material.WOOD).sounds(BlockSoundGroup.WOOD).hardness(3).build()), "library_door"); - DutchDoorBlock BAKERY_DOOR = register(new DutchDoorBlock(FabricBlockSettings.of(Material.WOOD).sounds(BlockSoundGroup.WOOD).hardness(3).build()), "bakery_door"); + DutchDoorBlock LIBRARY_DOOR = register(new DutchDoorBlock(FabricBlockSettings.of(Material.WOOD). + sounds(BlockSoundGroup.WOOD) + .hardness(3) + .build()), "library_door"); + DutchDoorBlock BAKERY_DOOR = register(new DutchDoorBlock(FabricBlockSettings.of(Material.WOOD) + .sounds(BlockSoundGroup.WOOD) + .hardness(3) + .build()), "bakery_door"); DiamondDoorBlock DIAMOND_DOOR = register(new DiamondDoorBlock(), "diamond_door"); GemTorchBlock ENCHANTED_TORCH = register(new GemTorchBlock(FabricBlockSettings.of(Material.PART) @@ -52,20 +59,51 @@ public interface UBlocks { .ticksRandomly() .lightLevel(1).sounds(BlockSoundGroup.GLASS).build()), "enchanted_wall_torch"); - CloudAnvilBlock CLOUD_ANVIL = register(new CloudAnvilBlock(), "cloud_anvil"); + CloudAnvilBlock CLOUD_ANVIL = register(new CloudAnvilBlock(GasState.NORMAL.configure() + .strength(0.025F, 1) + .resistance(2000) + .breakByTool(FabricToolTags.SHOVELS, 0) + .ticksRandomly() + .build()), "cloud_anvil"); CloudFenceBlock CLOUD_FENCE = register(new CloudFenceBlock(GasState.NORMAL), "cloud_fence"); - TallCropBlock ALFALFA_CROPS = register(new TallCropBlock(FabricBlockSettings.of(Material.PLANT).noCollision().ticksRandomly().breakInstantly().sounds(BlockSoundGroup.CROP).build()), "alfalfa_crops"); + TallCropBlock ALFALFA_CROPS = register(new TallCropBlock(FabricBlockSettings.of(Material.PLANT) + .noCollision() + .ticksRandomly() + .breakInstantly() + .sounds(BlockSoundGroup.CROP).build()), "alfalfa_crops"); - StickBlock STICK = register(new StickBlock(), "stick"); - TomatoPlantBlock TOMATO_PLANT = register(new TomatoPlantBlock(), "tomato_plant"); + StickBlock STICK = register(new StickBlock(FabricBlockSettings.of(Material.WOOD) + .noCollision() + .strength(0.2F, 0.2F) + .build()), "stick"); + TomatoPlantBlock TOMATO_PLANT = register(new TomatoPlantBlock(FabricBlockSettings.of(Material.PLANT) + .noCollision() + .strength(0.2F, 0.2F) + .ticksRandomly() + .lightLevel(1) + .sounds(BlockSoundGroup.WOOD) + .build()), "tomato_plant"); - HiveWallBlock HIVE_WALL_BLOCK = register(new HiveWallBlock(), "hive_wall_block"); - ChitinBlock CHITIN_SHELL_BLOCK = register(new ChitinBlock(), "chitin_shell_block"); - Block CHISELED_CHITIN_SHELL_BLOCK = register(new ChiselledChitinBlock(), "chiseled_chitin_shell_block"); + HiveWallBlock HIVE_WALL_BLOCK = register(new HiveWallBlock(FabricBlockSettings.of(UMaterials.HIVE) + .noCollision() + .strength(10, 10) + .hardness(2) + .ticksRandomly() + .lightLevel(1) + .sounds(BlockSoundGroup.SAND) + .breakByTool(FabricToolTags.PICKAXES, 1) + .build()), "hive_wall_block"); + ChitinBlock CHITIN_SHELL_BLOCK = register(new ChitinBlock(FabricBlockSettings.of(UMaterials.CHITIN) + .hardness(50) + .strength(2000, 2000) + .build()), "chitin_shell_block"); + Block CHISELED_CHITIN_SHELL_BLOCK = register(new ChiselledChitinBlock(FabricBlockSettings.of(UMaterials.CHITIN) + .strength(50, 2000) + .build()), "chiseled_chitin_shell_block"); - SlimeDropBlock SLIME_DROP = register(new SlimeDropBlock(FabricBlockSettings.of(UMaterials.HIVE) + SlimeDropBlock SLIME_DROP = register(new SlimeDropBlock(FabricBlockSettings.of(UMaterials.HIVE, MaterialColor.GRASS) .ticksRandomly() .breakInstantly() .lightLevel(9) @@ -79,8 +117,16 @@ public interface UBlocks { .nonOpaque() .build()), "slime_layer"); - Block SUGAR_BLOCK = register(new SugarBlock(), "sugar_block"); - Block APPLE_LEAVES = register(new FruitLeavesBlock() + Block SUGAR_BLOCK = register(new FallingBlock(FabricBlockSettings.of(Material.SAND) + .strength(10, 10) + .hardness(0.7F) + .sounds(BlockSoundGroup.SAND) + .build()), "sugar_block"); + Block APPLE_LEAVES = register(new FruitLeavesBlock(FabricBlockSettings.of(Material.LEAVES) + .strength(0.2F, 0.2F) + .ticksRandomly() + .sounds(BlockSoundGroup.GRASS) + .build()) .growthChance(1200) .tint(0xFFEE81) .fruit(W -> TreeType.OAK.pickRandomStack()) @@ -88,8 +134,12 @@ public interface UBlocks { SaplingBlock APPLE_SAPLING = register(new SaplingBlock( new CustomSaplingGenerator(5, Blocks.OAK_LOG.getDefaultState(), APPLE_LEAVES.getDefaultState()), - FabricBlockSettings.of(Material.WOOD).build() - ) {}, "apple_sapling"); + FabricBlockSettings.of(Material.WOOD) + .noCollision() + .ticksRandomly() + .breakInstantly() + .sounds(BlockSoundGroup.GRASS) + .build()) {}, "apple_sapling"); static T register(T block, String name) { diff --git a/src/main/java/com/minelittlepony/unicopia/block/UMaterials.java b/src/main/java/com/minelittlepony/unicopia/block/UMaterials.java index 114fbc3d..cedd5488 100644 --- a/src/main/java/com/minelittlepony/unicopia/block/UMaterials.java +++ b/src/main/java/com/minelittlepony/unicopia/block/UMaterials.java @@ -6,4 +6,5 @@ import net.minecraft.block.MaterialColor; public interface UMaterials { Material CLOUD = new Material.Builder(MaterialColor.WHITE).allowsMovement().build(); Material HIVE = new Material.Builder(MaterialColor.NETHER).build(); + Material CHITIN = new Material.Builder(MaterialColor.BLACK).build(); } diff --git a/src/main/java/com/minelittlepony/unicopia/gas/CloudAnvilBlock.java b/src/main/java/com/minelittlepony/unicopia/gas/CloudAnvilBlock.java index 16bb7b61..6bec2a60 100644 --- a/src/main/java/com/minelittlepony/unicopia/gas/CloudAnvilBlock.java +++ b/src/main/java/com/minelittlepony/unicopia/gas/CloudAnvilBlock.java @@ -6,16 +6,12 @@ import com.minelittlepony.unicopia.util.WorldEvent; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.block.FabricBlockSettings; -import net.fabricmc.fabric.api.tools.FabricToolTags; import net.minecraft.block.AnvilBlock; import net.minecraft.block.BlockState; -import net.minecraft.block.Material; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityContext; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.server.world.ServerWorld; -import net.minecraft.sound.BlockSoundGroup; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.hit.BlockHitResult; @@ -26,15 +22,8 @@ import net.minecraft.world.BlockView; import net.minecraft.world.World; public class CloudAnvilBlock extends AnvilBlock implements Gas { - public CloudAnvilBlock() { - super(FabricBlockSettings.of(Material.WOOL) - .strength(0.025F, 1) - .resistance(2000) - .breakByTool(FabricToolTags.SHOVELS, 0) - .sounds(BlockSoundGroup.WOOL) - .ticksRandomly() - .build() - ); + public CloudAnvilBlock(Settings settings) { + super(settings); } @Override