Pārlūkot izejas kodu

bugfixes and formatting

Kajetan Johannes Hammerle 3 gadi atpakaļ
vecāks
revīzija
1e056d4268

+ 2 - 1
src/main/java/me/km/blocks/BlockBookshelf.java

@@ -9,7 +9,8 @@ import net.minecraft.world.IWorldReader;
 
 public class BlockBookshelf extends Block {
     public BlockBookshelf() {
-        super(Block.Properties.create(Material.WOOD).hardnessAndResistance(1.5f).sound(SoundType.WOOD));
+        super(Block.Properties.create(Material.WOOD).hardnessAndResistance(1.5f)
+                .sound(SoundType.WOOD));
     }
 
     @Override

+ 2 - 2
src/main/java/me/km/blocks/BlockGravelSlab.java

@@ -25,8 +25,8 @@ public class BlockGravelSlab extends SlabBlock {
     }
 
     @Override
-    public ToolType getHarvestTool(BlockState state) {
-        return ToolType.SHOVEL;
+    public boolean isToolEffective(BlockState state, ToolType tool) {
+        return tool == ToolType.SHOVEL;
     }
 
     @Override

+ 2 - 1
src/main/java/me/km/blocks/BlockHayBed.java

@@ -11,7 +11,8 @@ import net.minecraft.world.IBlockReader;
 
 public class BlockHayBed extends BlockModBed {
     public BlockHayBed(String name) {
-        super(name, Block.Properties.create(Material.ORGANIC).hardnessAndResistance(0.5f).sound(SoundType.PLANT), 2.0);
+        super(name, Block.Properties.create(Material.ORGANIC).hardnessAndResistance(0.5f)
+                .sound(SoundType.PLANT), 2.0);
     }
 
     @Override

+ 2 - 1
src/main/java/me/km/blocks/BlockInvisible.java

@@ -15,7 +15,8 @@ public class BlockInvisible extends BarrierBlock {
     }
 
     @Override
-    public VoxelShape getShape(BlockState state, IBlockReader w, BlockPos pos, ISelectionContext context) {
+    public VoxelShape getShape(BlockState state, IBlockReader w, BlockPos pos,
+            ISelectionContext context) {
         return VoxelShapes.empty();
     }
 }

+ 21 - 11
src/main/java/me/km/blocks/BlockLantern.java

@@ -22,25 +22,32 @@ import net.minecraftforge.api.distmarker.Dist;
 import net.minecraftforge.api.distmarker.OnlyIn;
 
 public class BlockLantern extends DirectionalBlock {
-    protected static final VoxelShape HANGING_AABB = Block.makeCuboidShape(3.0, 2.0, 3.0, 13.0, 16.0, 13.0);
-    protected static final VoxelShape STANDING_AABB = Block.makeCuboidShape(3.0, 0.0, 3.0, 13.0, 12.0, 13.0);
+    protected static final VoxelShape HANGING_AABB =
+            Block.makeCuboidShape(3.0, 2.0, 3.0, 13.0, 16.0, 13.0);
+    protected static final VoxelShape STANDING_AABB =
+            Block.makeCuboidShape(3.0, 0.0, 3.0, 13.0, 12.0, 13.0);
 
-    protected static final VoxelShape TORCH_NORTH_AABB = Block.makeCuboidShape(3.0, 0.0, 6.0, 13.0, 16.0, 16.0);
-    protected static final VoxelShape TORCH_SOUTH_AABB = Block.makeCuboidShape(3.0, 0.0, 0.0, 13.0, 16.0, 10.0);
-    protected static final VoxelShape TORCH_WEST_AABB = Block.makeCuboidShape(6.0, 0.0, 3.0, 16.0, 16.0, 13.0);
-    protected static final VoxelShape TORCH_EAST_AABB = Block.makeCuboidShape(0, 0.0, 3.0, 10.0, 16.0, 13.0);
+    protected static final VoxelShape TORCH_NORTH_AABB =
+            Block.makeCuboidShape(3.0, 0.0, 6.0, 13.0, 16.0, 16.0);
+    protected static final VoxelShape TORCH_SOUTH_AABB =
+            Block.makeCuboidShape(3.0, 0.0, 0.0, 13.0, 16.0, 10.0);
+    protected static final VoxelShape TORCH_WEST_AABB =
+            Block.makeCuboidShape(6.0, 0.0, 3.0, 16.0, 16.0, 13.0);
+    protected static final VoxelShape TORCH_EAST_AABB =
+            Block.makeCuboidShape(0, 0.0, 3.0, 10.0, 16.0, 13.0);
 
     protected String name;
 
     public BlockLantern(String name) {
-        super(Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement().hardnessAndResistance(0.0f)
-                .setLightLevel(state -> 14).sound(SoundType.METAL));
+        super(Properties.create(Material.MISCELLANEOUS).doesNotBlockMovement()
+                .hardnessAndResistance(0.0f).setLightLevel(state -> 14).sound(SoundType.METAL));
         this.setRegistryName(name);
         this.setDefaultState(this.stateContainer.getBaseState().with(FACING, Direction.UP));
     }
 
     @Override
-    public VoxelShape getShape(BlockState state, IBlockReader w, BlockPos pos, ISelectionContext context) {
+    public VoxelShape getShape(BlockState state, IBlockReader w, BlockPos pos,
+            ISelectionContext context) {
         switch(state.get(FACING)) {
             case UP:
                 return STANDING_AABB;
@@ -106,7 +113,10 @@ public class BlockLantern extends DirectionalBlock {
     }
 
     @Override
-    public BlockState updatePostPlacement(BlockState state, Direction facing, BlockState facingState, IWorld w, BlockPos currentPos, BlockPos facingPos) {
-        return state.get(FACING).getOpposite() == facing && !state.isValidPosition(w, currentPos) ? Blocks.AIR.getDefaultState() : state;
+    public BlockState updatePostPlacement(BlockState state, Direction facing,
+            BlockState facingState, IWorld w, BlockPos currentPos, BlockPos facingPos) {
+        return state.get(FACING).getOpposite() == facing && !state.isValidPosition(w, currentPos)
+                ? Blocks.AIR.getDefaultState()
+                : state;
     }
 }

+ 24 - 0
src/main/java/me/km/blocks/BlockModSlab.java

@@ -0,0 +1,24 @@
+package me.km.blocks;
+
+import net.minecraft.block.BlockState;
+import net.minecraft.block.SlabBlock;
+import net.minecraftforge.common.ToolType;
+
+public class BlockModSlab extends SlabBlock {
+    private final ToolType tool;
+
+    public BlockModSlab(Properties properties, ToolType tool) {
+        super(properties);
+        this.tool = tool;
+    }
+
+    @Override
+    public boolean isToolEffective(BlockState state, ToolType tool) {
+        return this.tool == tool;
+    }
+
+    @Override
+    public ToolType getHarvestTool(BlockState state) {
+        return ToolType.SHOVEL;
+    }
+}

+ 5 - 3
src/main/java/me/km/blocks/ModBlocks.java

@@ -14,6 +14,7 @@ import net.minecraft.block.SlabBlock;
 import net.minecraft.item.Item;
 import net.minecraft.item.BlockItem;
 import net.minecraft.item.ItemGroup;
+import net.minecraftforge.common.ToolType;
 import net.minecraftforge.registries.IForgeRegistry;
 
 public class ModBlocks {
@@ -198,9 +199,10 @@ public class ModBlocks {
                         .sound(SoundType.GROUND).hardnessAndResistance(0.6f))
                                 .setRegistryName("gravel_slab"));
         coarseDirtSlab = register(r,
-                new SlabBlock(Properties.create(Material.EARTH, MaterialColor.DIRT)
-                        .sound(SoundType.GROUND).hardnessAndResistance(0.5f))
-                                .setRegistryName("coarse_dirt_slab"));
+                new BlockModSlab(
+                        Properties.create(Material.EARTH, MaterialColor.DIRT)
+                                .sound(SoundType.GROUND).hardnessAndResistance(0.5f),
+                        ToolType.SHOVEL).setRegistryName("coarse_dirt_slab"));
 
         // leaves
         cherryLeaves = register(r, createLeaves("cherry_leaves"));

+ 4 - 3
src/main/java/me/km/blocks/ModTree.java

@@ -23,13 +23,14 @@ public class ModTree extends Tree {
                 new SimpleBlockStateProvider(leaves),
                 new BlobFoliagePlacer(FeatureSpread.func_242252_a(2),
                         FeatureSpread.func_242252_a(0), 3),
-                new StraightTrunkPlacer(5, 2, 0),
-                new TwoLayerFeature(1, 0, 1)).setIgnoreVines().build();
+                new StraightTrunkPlacer(5, 2, 0), new TwoLayerFeature(1, 0, 1)).setIgnoreVines()
+                        .build();
     }
 
     @Nullable
     @Override
-    protected ConfiguredFeature<BaseTreeFeatureConfig, ?> getTreeFeature(Random r, boolean largeHive) {
+    protected ConfiguredFeature<BaseTreeFeatureConfig, ?> getTreeFeature(Random r,
+            boolean largeHive) {
         return Feature.TREE.withConfiguration(treeConfig);
     }
 }

+ 54 - 30
src/main/java/me/km/items/ModItems.java

@@ -196,11 +196,13 @@ public class ModItems {
     }
 
     private static Item newAxe(IItemTier tier, int attackDamageIn, float attackSpeedIn) {
-        return new ModItemAxe(tier, attackDamageIn, attackSpeedIn, (new Item.Properties()).group(ItemGroup.TOOLS));
+        return new ModItemAxe(tier, attackDamageIn, attackSpeedIn,
+                (new Item.Properties()).group(ItemGroup.TOOLS));
     }
 
     private static Item newHoe(IItemTier tier, int attackDamage, float speed) {
-        return new HoeItem(tier, attackDamage, speed, (new Item.Properties()).group(ItemGroup.TOOLS));
+        return new HoeItem(tier, attackDamage, speed,
+                (new Item.Properties()).group(ItemGroup.TOOLS));
     }
 
     private static Item newStick(IItemTier tier) {
@@ -232,33 +234,40 @@ public class ModItems {
     }
 
     private static Item newHerb() {
-        return new Item(new Properties().group(ItemGroup.FOOD).food(
-                new Food.Builder().hunger(2).saturation(0.1F).setAlwaysEdible().fastToEat().build()));
+        return new Item(new Properties().group(ItemGroup.FOOD).food(new Food.Builder().hunger(2)
+                .saturation(0.1F).setAlwaysEdible().fastToEat().build()));
     }
 
     private static Item newBerry() {
-        return new Item(new Properties().group(ItemGroup.FOOD).food(
-                new Food.Builder().hunger(2).saturation(0.1F).setAlwaysEdible().fastToEat().build()));
+        return new Item(new Properties().group(ItemGroup.FOOD).food(new Food.Builder().hunger(2)
+                .saturation(0.1F).setAlwaysEdible().fastToEat().build()));
     }
 
     private static Item newFood(int food, float saturation) {
-        return new Item(new Properties().group(ItemGroup.FOOD).food(
-                new Food.Builder().hunger(food).saturation(saturation).build()));
+        return new Item(new Properties().group(ItemGroup.FOOD)
+                .food(new Food.Builder().hunger(food).saturation(saturation).build()));
     }
 
     public static void init(IForgeRegistry<Item> r) {
         // nuggets and ingots
-        copperIngot = register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "copper_ingot");
-        copperNugget = register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "copper_nugget");
+        copperIngot =
+                register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "copper_ingot");
+        copperNugget =
+                register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "copper_nugget");
 
         tinIngot = register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "tin_ingot");
-        tinNugget = register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "tin_nugget");
+        tinNugget =
+                register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "tin_nugget");
 
-        bronzeIngot = register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "bronze_ingot");
-        bronzeNugget = register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "bronze_nugget");
+        bronzeIngot =
+                register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "bronze_ingot");
+        bronzeNugget =
+                register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "bronze_nugget");
 
-        silverIngot = register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "silver_ingot");
-        silverNugget = register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "silver_nugget");
+        silverIngot =
+                register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "silver_ingot");
+        silverNugget =
+                register(r, new Item(new Properties().group(ItemGroup.MATERIALS)), "silver_nugget");
 
         // tools and swords
         copperSword = register(r, newSword(ModItemTier.COPPER), "copper_sword");
@@ -276,20 +285,32 @@ public class ModItems {
         sling = register(r, new ItemSling(192), "sling");
 
         // armor
-        copperHelmet = register(r, newArmor(ModArmorMaterial.COPPER, EquipmentSlotType.HEAD), "copper_helmet");
-        copperChestplate = register(r, newArmor(ModArmorMaterial.COPPER, EquipmentSlotType.CHEST), "copper_chestplate");
-        copperLeggings = register(r, newArmor(ModArmorMaterial.COPPER, EquipmentSlotType.LEGS), "copper_leggings");
-        copperBoots = register(r, newArmor(ModArmorMaterial.COPPER, EquipmentSlotType.FEET), "copper_boots");
-
-        bronzeHelmet = register(r, newArmor(ModArmorMaterial.BRONZE, EquipmentSlotType.HEAD), "bronze_helmet");
-        bronzeChestplate = register(r, newArmor(ModArmorMaterial.BRONZE, EquipmentSlotType.CHEST), "bronze_chestplate");
-        bronzeLeggings = register(r, newArmor(ModArmorMaterial.BRONZE, EquipmentSlotType.LEGS), "bronze_leggings");
-        bronzeBoots = register(r, newArmor(ModArmorMaterial.BRONZE, EquipmentSlotType.FEET), "bronze_boots");
-
-        cylinder = register(r, new ItemCylinder(ModArmorMaterial.CYLINDER, new Properties()), "cylinder");
-        suitChestplate = register(r, newArmor(ModArmorMaterial.SILK, EquipmentSlotType.CHEST), "suit_chestplate");
-        suitLeggings = register(r, newArmor(ModArmorMaterial.SILK, EquipmentSlotType.LEGS), "suit_leggings");
-        suitBoots = register(r, newArmor(ModArmorMaterial.SILK, EquipmentSlotType.FEET), "suit_boots");
+        copperHelmet = register(r, newArmor(ModArmorMaterial.COPPER, EquipmentSlotType.HEAD),
+                "copper_helmet");
+        copperChestplate = register(r, newArmor(ModArmorMaterial.COPPER, EquipmentSlotType.CHEST),
+                "copper_chestplate");
+        copperLeggings = register(r, newArmor(ModArmorMaterial.COPPER, EquipmentSlotType.LEGS),
+                "copper_leggings");
+        copperBoots = register(r, newArmor(ModArmorMaterial.COPPER, EquipmentSlotType.FEET),
+                "copper_boots");
+
+        bronzeHelmet = register(r, newArmor(ModArmorMaterial.BRONZE, EquipmentSlotType.HEAD),
+                "bronze_helmet");
+        bronzeChestplate = register(r, newArmor(ModArmorMaterial.BRONZE, EquipmentSlotType.CHEST),
+                "bronze_chestplate");
+        bronzeLeggings = register(r, newArmor(ModArmorMaterial.BRONZE, EquipmentSlotType.LEGS),
+                "bronze_leggings");
+        bronzeBoots = register(r, newArmor(ModArmorMaterial.BRONZE, EquipmentSlotType.FEET),
+                "bronze_boots");
+
+        cylinder = register(r, new ItemCylinder(ModArmorMaterial.CYLINDER, new Properties()),
+                "cylinder");
+        suitChestplate = register(r, newArmor(ModArmorMaterial.SILK, EquipmentSlotType.CHEST),
+                "suit_chestplate");
+        suitLeggings = register(r, newArmor(ModArmorMaterial.SILK, EquipmentSlotType.LEGS),
+                "suit_leggings");
+        suitBoots =
+                register(r, newArmor(ModArmorMaterial.SILK, EquipmentSlotType.FEET), "suit_boots");
 
         strawHat = register(r, new ItemHat(ModArmorMaterial.STRAW, new Properties()), "straw_hat");
 
@@ -351,7 +372,10 @@ public class ModItems {
         goldCoin = register(r, newItem(ItemGroup.MISC), "coin_gold");
 
         // misc
-        realHayBed = register(r, new BedItem(ModBlocks.realHayBed, (new Item.Properties()).maxStackSize(1).group(ItemGroup.DECORATIONS)), "real_hay_bed");
+        realHayBed = register(r,
+                new BedItem(ModBlocks.realHayBed,
+                        (new Item.Properties()).maxStackSize(1).group(ItemGroup.DECORATIONS)),
+                "real_hay_bed");
         hayBundle = register(r, newItem(ItemGroup.MATERIALS), "hay_bundle");
         batWing = register(r, newItem(ItemGroup.MATERIALS), "bat_wing");
         wolfFur = register(r, newItem(ItemGroup.MATERIALS), "wolf_fur");

+ 32 - 0
src/main/resources/data/km/loot_tables/blocks/coarse_dirt_slab.json

@@ -0,0 +1,32 @@
+{
+  "type": "minecraft:block",
+  "pools": [
+    {
+      "rolls": 1,
+      "entries": [
+        {
+          "type": "minecraft:item",
+          "functions": [
+            {
+              "function": "minecraft:set_count",
+              "conditions": [
+                {
+                  "condition": "minecraft:block_state_property",
+                  "block": "km:coarse_dirt_slab",
+                  "properties": {
+                    "type": "double"
+                  }
+                }
+              ],
+              "count": 2
+            },
+            {
+              "function": "minecraft:explosion_decay"
+            }
+          ],
+          "name": "km:coarse_dirt_slab"
+        }
+      ]
+    }
+  ]
+}