Adjust some block's properties

This commit is contained in:
Sollace 2020-04-27 17:28:22 +02:00
parent 90c6775be7
commit c2a4e66d22
10 changed files with 82 additions and 102 deletions

View file

@ -5,10 +5,8 @@ import javax.annotation.Nullable;
import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.Race;
import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.entity.player.Pony;
import net.fabricmc.fabric.api.block.FabricBlockSettings;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.MaterialColor;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemPlacementContext; import net.minecraft.item.ItemPlacementContext;
import net.minecraft.state.StateManager; import net.minecraft.state.StateManager;
@ -21,12 +19,8 @@ import net.minecraft.world.BlockView;
public class ChiselledChitinBlock extends Block { public class ChiselledChitinBlock extends Block {
public ChiselledChitinBlock() { public ChiselledChitinBlock(Settings settings) {
super(FabricBlockSettings.of(UMaterials.HIVE) super(settings);
.strength(50, 2000)
.materialColor(MaterialColor.BLACK)
.build()
);
setDefaultState(stateManager.getDefaultState() setDefaultState(stateManager.getDefaultState()
.with(Properties.FACING, Direction.UP) .with(Properties.FACING, Direction.UP)
); );

View file

@ -3,11 +3,9 @@ package com.minelittlepony.unicopia.block;
import com.minelittlepony.unicopia.Race; import com.minelittlepony.unicopia.Race;
import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.entity.player.Pony;
import net.fabricmc.fabric.api.block.FabricBlockSettings;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.block.MaterialColor;
import net.minecraft.entity.EntityContext; import net.minecraft.entity.EntityContext;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.state.StateManager; import net.minecraft.state.StateManager;
@ -22,13 +20,8 @@ public class ChitinBlock extends Block {
public static final EnumProperty<Covering> COVERING = EnumProperty.of("covering", Covering.class); public static final EnumProperty<Covering> COVERING = EnumProperty.of("covering", Covering.class);
public ChitinBlock() { public ChitinBlock(Settings settings) {
super(FabricBlockSettings.of(UMaterials.HIVE) super(settings);
.hardness(50)
.strength(2000, 2000)
.materialColor(MaterialColor.BLACK)
.build()
);
setDefaultState(stateManager.getDefaultState().with(COVERING, Covering.UNCOVERED)); setDefaultState(stateManager.getDefaultState().with(COVERING, Covering.UNCOVERED));
} }

View file

@ -8,16 +8,13 @@ import javax.annotation.Nonnull;
import com.minelittlepony.unicopia.ducks.Colourful; import com.minelittlepony.unicopia.ducks.Colourful;
import com.minelittlepony.unicopia.entity.player.Pony; import com.minelittlepony.unicopia.entity.player.Pony;
import net.fabricmc.fabric.api.block.FabricBlockSettings;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.LeavesBlock; import net.minecraft.block.LeavesBlock;
import net.minecraft.block.Material;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.DyeItem; import net.minecraft.item.DyeItem;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.server.world.ServerWorld; import net.minecraft.server.world.ServerWorld;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.sound.SoundCategory; import net.minecraft.sound.SoundCategory;
import net.minecraft.sound.SoundEvents; import net.minecraft.sound.SoundEvents;
import net.minecraft.state.StateManager; import net.minecraft.state.StateManager;
@ -42,14 +39,8 @@ public class FruitLeavesBlock extends LeavesBlock implements Colourful {
private Function<World, ItemStack> fruitProducer = w -> ItemStack.EMPTY; private Function<World, ItemStack> fruitProducer = w -> ItemStack.EMPTY;
private Function<World, ItemStack> compostProducer = w -> ItemStack.EMPTY; private Function<World, ItemStack> compostProducer = w -> ItemStack.EMPTY;
public FruitLeavesBlock() { public FruitLeavesBlock(Settings settings) {
super(FabricBlockSettings.of(Material.LEAVES) super(settings);
.strength(0.2F, 0.2F)
.ticksRandomly()
.sounds(BlockSoundGroup.GRASS)
.build()
);
setDefaultState(stateManager.getDefaultState() setDefaultState(stateManager.getDefaultState()
.with(HEAVY, false) .with(HEAVY, false)
.with(DISTANCE, 7) .with(DISTANCE, 7)

View file

@ -11,8 +11,6 @@ import com.minelittlepony.unicopia.util.PosHelper;
import com.minelittlepony.unicopia.util.shape.Shape; import com.minelittlepony.unicopia.util.shape.Shape;
import com.minelittlepony.unicopia.util.shape.Sphere; 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.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
@ -24,7 +22,6 @@ import net.minecraft.item.ItemPlacementContext;
import net.minecraft.particle.BlockStateParticleEffect; import net.minecraft.particle.BlockStateParticleEffect;
import net.minecraft.particle.ParticleTypes; import net.minecraft.particle.ParticleTypes;
import net.minecraft.server.world.ServerWorld; import net.minecraft.server.world.ServerWorld;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.sound.SoundCategory; import net.minecraft.sound.SoundCategory;
import net.minecraft.state.StateManager; import net.minecraft.state.StateManager;
import net.minecraft.state.property.EnumProperty; 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); private static final Shape shape = new Sphere(false, 1.5);
public HiveWallBlock() { public HiveWallBlock(Settings settings) {
super(FabricBlockSettings.of(UMaterials.HIVE) super(settings);
.noCollision()
.strength(10, 10)
.hardness(2)
.ticksRandomly()
.lightLevel(1)
.sounds(BlockSoundGroup.SAND)
.breakByTool(FabricToolTags.PICKAXES, 1)
.build()
);
setDefaultState(stateManager.getDefaultState() setDefaultState(stateManager.getDefaultState()
.with(STATE, State.GROWING).with(AXIS, Axis.Y) .with(STATE, State.GROWING).with(AXIS, Axis.Y)
); );

View file

@ -1,16 +1,13 @@
package com.minelittlepony.unicopia.block; package com.minelittlepony.unicopia.block;
import net.fabricmc.fabric.api.block.FabricBlockSettings;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.FarmlandBlock; import net.minecraft.block.FarmlandBlock;
import net.minecraft.block.Material;
import net.minecraft.entity.EntityContext; import net.minecraft.entity.EntityContext;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.item.Items; import net.minecraft.item.Items;
import net.minecraft.item.LeadItem; import net.minecraft.item.LeadItem;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.util.ActionResult; import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand; import net.minecraft.util.Hand;
import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.hit.BlockHitResult;
@ -30,15 +27,8 @@ public class StickBlock extends Block {
9/16F, 15/16F, 9/16F 9/16F, 15/16F, 9/16F
)); ));
public StickBlock() { public StickBlock(Settings settings) {
super(FabricBlockSettings.of(Material.PLANT) super(settings);
.noCollision()
.strength(0.2F, 0.2F)
.ticksRandomly()
.lightLevel(1)
.sounds(BlockSoundGroup.WOOD)
.build()
);
} }
@Deprecated @Deprecated

View file

@ -1,17 +1,10 @@
package com.minelittlepony.unicopia.block; package com.minelittlepony.unicopia.block;
import net.fabricmc.fabric.api.block.FabricBlockSettings;
import net.minecraft.block.FallingBlock; import net.minecraft.block.FallingBlock;
import net.minecraft.block.Material;
import net.minecraft.sound.BlockSoundGroup;
@Deprecated
public class SugarBlock extends FallingBlock { public class SugarBlock extends FallingBlock {
public SugarBlock() { public SugarBlock(Settings settings) {
super(FabricBlockSettings.of(Material.SAND) super(settings);
.strength(10, 10)
.hardness(0.7F)
.sounds(BlockSoundGroup.SAND)
.build()
);
} }
} }

View file

@ -3,11 +3,9 @@ package com.minelittlepony.unicopia.block;
import com.minelittlepony.unicopia.gas.CloudFarmlandBlock; import com.minelittlepony.unicopia.gas.CloudFarmlandBlock;
import com.minelittlepony.unicopia.item.UItems; import com.minelittlepony.unicopia.item.UItems;
import net.fabricmc.fabric.api.block.FabricBlockSettings;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.CropBlock; import net.minecraft.block.CropBlock;
import net.minecraft.block.Material;
import net.minecraft.entity.EntityContext; import net.minecraft.entity.EntityContext;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@ -31,15 +29,8 @@ public class TomatoPlantBlock extends CropBlock {
public static final EnumProperty<Type> TYPE = EnumProperty.of("type", Type.class); public static final EnumProperty<Type> TYPE = EnumProperty.of("type", Type.class);
public TomatoPlantBlock() { public TomatoPlantBlock(Settings settings) {
super(FabricBlockSettings.of(Material.PLANT) super(settings);
.noCollision()
.strength(0.2F, 0.2F)
.ticksRandomly()
.lightLevel(1)
.sounds(BlockSoundGroup.WOOD)
.build()
);
setDefaultState(getDefaultState().with(TYPE, Type.NORMAL)); setDefaultState(getDefaultState().with(TYPE, Type.NORMAL));
} }

View file

@ -16,6 +16,7 @@ import net.fabricmc.fabric.api.block.FabricBlockSettings;
import net.fabricmc.fabric.api.tools.FabricToolTags; import net.fabricmc.fabric.api.tools.FabricToolTags;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.Blocks; import net.minecraft.block.Blocks;
import net.minecraft.block.FallingBlock;
import net.minecraft.block.Material; import net.minecraft.block.Material;
import net.minecraft.block.MaterialColor; import net.minecraft.block.MaterialColor;
import net.minecraft.block.SaplingBlock; import net.minecraft.block.SaplingBlock;
@ -37,8 +38,14 @@ public interface UBlocks {
CloudSlabBlock<CloudBlock> DENSE_CLOUD_SLAB = register(new CloudSlabBlock<>(ENCHANTED_CLOUD_BLOCK.getDefaultState(), GasState.DENSE.configure().build()), "dense_cloud_slab"); CloudSlabBlock<CloudBlock> 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"); 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 LIBRARY_DOOR = register(new DutchDoorBlock(FabricBlockSettings.of(Material.WOOD).
DutchDoorBlock BAKERY_DOOR = register(new DutchDoorBlock(FabricBlockSettings.of(Material.WOOD).sounds(BlockSoundGroup.WOOD).hardness(3).build()), "bakery_door"); 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"); DiamondDoorBlock DIAMOND_DOOR = register(new DiamondDoorBlock(), "diamond_door");
GemTorchBlock ENCHANTED_TORCH = register(new GemTorchBlock(FabricBlockSettings.of(Material.PART) GemTorchBlock ENCHANTED_TORCH = register(new GemTorchBlock(FabricBlockSettings.of(Material.PART)
@ -52,20 +59,51 @@ public interface UBlocks {
.ticksRandomly() .ticksRandomly()
.lightLevel(1).sounds(BlockSoundGroup.GLASS).build()), "enchanted_wall_torch"); .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"); 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"); StickBlock STICK = register(new StickBlock(FabricBlockSettings.of(Material.WOOD)
TomatoPlantBlock TOMATO_PLANT = register(new TomatoPlantBlock(), "tomato_plant"); .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"); HiveWallBlock HIVE_WALL_BLOCK = register(new HiveWallBlock(FabricBlockSettings.of(UMaterials.HIVE)
ChitinBlock CHITIN_SHELL_BLOCK = register(new ChitinBlock(), "chitin_shell_block"); .noCollision()
Block CHISELED_CHITIN_SHELL_BLOCK = register(new ChiselledChitinBlock(), "chiseled_chitin_shell_block"); .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() .ticksRandomly()
.breakInstantly() .breakInstantly()
.lightLevel(9) .lightLevel(9)
@ -79,8 +117,16 @@ public interface UBlocks {
.nonOpaque() .nonOpaque()
.build()), "slime_layer"); .build()), "slime_layer");
Block SUGAR_BLOCK = register(new SugarBlock(), "sugar_block"); Block SUGAR_BLOCK = register(new FallingBlock(FabricBlockSettings.of(Material.SAND)
Block APPLE_LEAVES = register(new FruitLeavesBlock() .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) .growthChance(1200)
.tint(0xFFEE81) .tint(0xFFEE81)
.fruit(W -> TreeType.OAK.pickRandomStack()) .fruit(W -> TreeType.OAK.pickRandomStack())
@ -88,8 +134,12 @@ public interface UBlocks {
SaplingBlock APPLE_SAPLING = register(new SaplingBlock( SaplingBlock APPLE_SAPLING = register(new SaplingBlock(
new CustomSaplingGenerator(5, Blocks.OAK_LOG.getDefaultState(), APPLE_LEAVES.getDefaultState()), new CustomSaplingGenerator(5, Blocks.OAK_LOG.getDefaultState(), APPLE_LEAVES.getDefaultState()),
FabricBlockSettings.of(Material.WOOD).build() FabricBlockSettings.of(Material.WOOD)
) {}, "apple_sapling"); .noCollision()
.ticksRandomly()
.breakInstantly()
.sounds(BlockSoundGroup.GRASS)
.build()) {}, "apple_sapling");
static <T extends Block> T register(T block, String name) { static <T extends Block> T register(T block, String name) {

View file

@ -6,4 +6,5 @@ import net.minecraft.block.MaterialColor;
public interface UMaterials { public interface UMaterials {
Material CLOUD = new Material.Builder(MaterialColor.WHITE).allowsMovement().build(); Material CLOUD = new Material.Builder(MaterialColor.WHITE).allowsMovement().build();
Material HIVE = new Material.Builder(MaterialColor.NETHER).build(); Material HIVE = new Material.Builder(MaterialColor.NETHER).build();
Material CHITIN = new Material.Builder(MaterialColor.BLACK).build();
} }

View file

@ -6,16 +6,12 @@ import com.minelittlepony.unicopia.util.WorldEvent;
import net.fabricmc.api.EnvType; import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment; 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.AnvilBlock;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.Material;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityContext; import net.minecraft.entity.EntityContext;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.server.world.ServerWorld; import net.minecraft.server.world.ServerWorld;
import net.minecraft.sound.BlockSoundGroup;
import net.minecraft.util.ActionResult; import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand; import net.minecraft.util.Hand;
import net.minecraft.util.hit.BlockHitResult; import net.minecraft.util.hit.BlockHitResult;
@ -26,15 +22,8 @@ import net.minecraft.world.BlockView;
import net.minecraft.world.World; import net.minecraft.world.World;
public class CloudAnvilBlock extends AnvilBlock implements Gas { public class CloudAnvilBlock extends AnvilBlock implements Gas {
public CloudAnvilBlock() { public CloudAnvilBlock(Settings settings) {
super(FabricBlockSettings.of(Material.WOOL) super(settings);
.strength(0.025F, 1)
.resistance(2000)
.breakByTool(FabricToolTags.SHOVELS, 0)
.sounds(BlockSoundGroup.WOOL)
.ticksRandomly()
.build()
);
} }
@Override @Override