diff --git a/build.gradle b/build.gradle index 275c434..9d593ad 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ archivesBaseName = 'grassslabs' java.toolchain.languageVersion = JavaLanguageVersion.of(17) minecraft { - mappings channel: 'official', version: '1.19.2' + mappings channel: 'official', version: '1.20.1' accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') @@ -54,6 +54,6 @@ minecraft { jar.finalizedBy('reobfJar') dependencies { - minecraft 'net.minecraftforge:forge:1.19.2-43.1.15' + minecraft 'net.minecraftforge:forge:1.20.1-47.2.20' } diff --git a/src/main/java/com/kuraion/grassslabs/block/DirtCarpetBlock.java b/src/main/java/com/kuraion/grassslabs/block/DirtCarpetBlock.java index 7be4de6..f3401a9 100644 --- a/src/main/java/com/kuraion/grassslabs/block/DirtCarpetBlock.java +++ b/src/main/java/com/kuraion/grassslabs/block/DirtCarpetBlock.java @@ -2,28 +2,22 @@ package com.kuraion.grassslabs.block; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.CarpetBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.level.material.MaterialColor; -import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.LootParams; import java.util.Collections; import java.util.List; public class DirtCarpetBlock extends CarpetBlock { public DirtCarpetBlock() { - super(Properties.of(Material.DIRT).sound(SoundType.GRAVEL).strength(0.1f, 0.1f).lightLevel(s -> 0)); + super(Properties.copy(Blocks.DIRT).sound(SoundType.GRAVEL).strength(0.1f, 0.1f).lightLevel(s -> 0)); } @Override - public MaterialColor defaultMaterialColor() { - return MaterialColor.DIRT; - } - - @Override - public List getDrops(BlockState state, LootContext.Builder builder) { + public List getDrops(BlockState state, LootParams.Builder builder) { List dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; diff --git a/src/main/java/com/kuraion/grassslabs/block/DirtPathCarpetBlock.java b/src/main/java/com/kuraion/grassslabs/block/DirtPathCarpetBlock.java index 08c1149..fd80d54 100644 --- a/src/main/java/com/kuraion/grassslabs/block/DirtPathCarpetBlock.java +++ b/src/main/java/com/kuraion/grassslabs/block/DirtPathCarpetBlock.java @@ -2,28 +2,22 @@ package com.kuraion.grassslabs.block; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.CarpetBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.level.material.MaterialColor; -import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.LootParams; import java.util.Collections; import java.util.List; public class DirtPathCarpetBlock extends CarpetBlock { public DirtPathCarpetBlock() { - super(Properties.of(Material.DIRT).sound(SoundType.GRASS).strength(0.1f, 0.1f).lightLevel(s -> 0)); + super(Properties.copy(Blocks.DIRT).sound(SoundType.GRASS).strength(0.1f, 0.1f).lightLevel(s -> 0)); } @Override - public MaterialColor defaultMaterialColor() { - return MaterialColor.DIRT; - } - - @Override - public List getDrops(BlockState state, LootContext.Builder builder) { + public List getDrops(BlockState state, LootParams.Builder builder) { List dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; diff --git a/src/main/java/com/kuraion/grassslabs/block/DirtPathSlabBlock.java b/src/main/java/com/kuraion/grassslabs/block/DirtPathSlabBlock.java index 7e39340..a0b3d86 100644 --- a/src/main/java/com/kuraion/grassslabs/block/DirtPathSlabBlock.java +++ b/src/main/java/com/kuraion/grassslabs/block/DirtPathSlabBlock.java @@ -8,15 +8,13 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SlabBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.SlabType; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.level.material.MaterialColor; -import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.LootParams; import net.minecraft.world.phys.shapes.CollisionContext; -import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -27,7 +25,7 @@ public class DirtPathSlabBlock extends SlabBlock { public DirtPathSlabBlock() { - super(Properties.of(Material.DIRT).sound(SoundType.GRASS).strength(0.65f, 0.65f).lightLevel(s -> 0)); + super(Properties.copy(Blocks.DIRT).sound(SoundType.GRASS).strength(0.65f, 0.65f).lightLevel(s -> 0)); } protected static final VoxelShape BOTTOM_AABB = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 7.0D, 16.0D); @@ -47,16 +45,11 @@ public VoxelShape getShape(@NotNull BlockState p_56390_, BlockGetter p_56391_, B } @Override - public MaterialColor defaultMaterialColor() { - return MaterialColor.DIRT; - } - - @Override - public List getDrops(BlockState state, LootContext.Builder builder) { + public List getDrops(BlockState state, LootParams.Builder builder) { List dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; - return Collections.singletonList(new ItemStack(this, state.getValue(TYPE) == SlabType.DOUBLE ? 2 : 1)); + return Collections.singletonList(new ItemStack(this, 1)); } @OnlyIn(Dist.CLIENT) diff --git a/src/main/java/com/kuraion/grassslabs/block/DirtPathStairsBlock.java b/src/main/java/com/kuraion/grassslabs/block/DirtPathStairsBlock.java index ef4e54e..55566ee 100644 --- a/src/main/java/com/kuraion/grassslabs/block/DirtPathStairsBlock.java +++ b/src/main/java/com/kuraion/grassslabs/block/DirtPathStairsBlock.java @@ -3,23 +3,22 @@ import com.kuraion.grassslabs.init.GrassslabsModBlocks; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.StairBlock; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.LootParams; import java.util.Collections; import java.util.List; public class DirtPathStairsBlock extends StairBlock { public DirtPathStairsBlock() { - super(() -> (GrassslabsModBlocks.DIRT_PATH_SLAB.get()).defaultBlockState(), Properties.of(Material.DIRT).sound(SoundType.GRAVEL).strength(0.5f, 0.5f).lightLevel(s -> 0).dynamicShape()); + super(() -> (GrassslabsModBlocks.DIRT_PATH_SLAB.get()).defaultBlockState(), Properties.copy(Blocks.DIRT).sound(SoundType.GRAVEL).strength(0.5f, 0.5f).lightLevel(s -> 0).dynamicShape()); } @Override - public List getDrops(BlockState state, LootContext.Builder builder) { + public List getDrops(BlockState state, LootParams.Builder builder) { List dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; diff --git a/src/main/java/com/kuraion/grassslabs/block/DirtSlabBlock.java b/src/main/java/com/kuraion/grassslabs/block/DirtSlabBlock.java index 6b7db6e..bb0eb45 100644 --- a/src/main/java/com/kuraion/grassslabs/block/DirtSlabBlock.java +++ b/src/main/java/com/kuraion/grassslabs/block/DirtSlabBlock.java @@ -2,32 +2,25 @@ package com.kuraion.grassslabs.block; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SlabBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.properties.SlabType; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.level.material.MaterialColor; -import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.LootParams; import java.util.Collections; import java.util.List; public class DirtSlabBlock extends SlabBlock { public DirtSlabBlock() { - super(Properties.of(Material.DIRT).sound(SoundType.GRAVEL).strength(0.5f, 0.5f).lightLevel(s -> 0)); + super(Properties.copy(Blocks.DIRT).sound(SoundType.GRAVEL).strength(0.5f, 0.5f).lightLevel(s -> 0)); } @Override - public MaterialColor defaultMaterialColor() { - return MaterialColor.DIRT; - } - - @Override - public List getDrops(BlockState state, LootContext.Builder builder) { + public List getDrops(BlockState state, LootParams.Builder builder) { List dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; - return Collections.singletonList(new ItemStack(this, state.getValue(TYPE) == SlabType.DOUBLE ? 2 : 1)); + return Collections.singletonList(new ItemStack(this, 1)); } } diff --git a/src/main/java/com/kuraion/grassslabs/block/DirtStairsBlock.java b/src/main/java/com/kuraion/grassslabs/block/DirtStairsBlock.java index 2883756..97c4b63 100644 --- a/src/main/java/com/kuraion/grassslabs/block/DirtStairsBlock.java +++ b/src/main/java/com/kuraion/grassslabs/block/DirtStairsBlock.java @@ -3,22 +3,22 @@ import com.kuraion.grassslabs.init.GrassslabsModBlocks; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.StairBlock; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.LootParams; import java.util.Collections; import java.util.List; public class DirtStairsBlock extends StairBlock { public DirtStairsBlock() { - super(() -> (GrassslabsModBlocks.DIRT_SLAB.get()).defaultBlockState(), Properties.of(Material.DIRT).sound(SoundType.GRAVEL).strength(0.5f, 0.5f).lightLevel(s -> 0).dynamicShape()); + super(() -> (GrassslabsModBlocks.DIRT_SLAB.get()).defaultBlockState(), Properties.copy(Blocks.DIRT).sound(SoundType.GRAVEL).strength(0.5f, 0.5f).lightLevel(s -> 0).dynamicShape()); } @Override - public List getDrops(BlockState state, LootContext.Builder builder) { + public List getDrops(BlockState state, LootParams.Builder builder) { List dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; diff --git a/src/main/java/com/kuraion/grassslabs/block/GrassCarpetBlock.java b/src/main/java/com/kuraion/grassslabs/block/GrassCarpetBlock.java index a0c39e0..6c11975 100644 --- a/src/main/java/com/kuraion/grassslabs/block/GrassCarpetBlock.java +++ b/src/main/java/com/kuraion/grassslabs/block/GrassCarpetBlock.java @@ -6,12 +6,11 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.GrassColor; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.CarpetBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.level.material.MaterialColor; -import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.LootParams; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.client.event.RegisterColorHandlersEvent; @@ -28,17 +27,12 @@ public class GrassCarpetBlock extends CarpetBlock { private final Supplier flattenedBlock; public GrassCarpetBlock(RegistryObject flattenedBlock) { - super(Properties.of(Material.GRASS).sound(SoundType.GRASS).strength(0.1f, 0.1f).lightLevel(s -> 0)); + super(Properties.copy(Blocks.GRASS_BLOCK).sound(SoundType.GRASS).strength(0.1f, 0.1f).lightLevel(s -> 0)); this.flattenedBlock = flattenedBlock == null ? null : () -> flattenedBlock.get().defaultBlockState(); } @Override - public MaterialColor defaultMaterialColor() { - return MaterialColor.GRASS; - } - - @Override - public List getDrops(BlockState state, LootContext.Builder builder) { + public List getDrops(BlockState state, LootParams.Builder builder) { List dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; diff --git a/src/main/java/com/kuraion/grassslabs/block/GrassSlabBlock.java b/src/main/java/com/kuraion/grassslabs/block/GrassSlabBlock.java index 54b683b..2b68ecf 100644 --- a/src/main/java/com/kuraion/grassslabs/block/GrassSlabBlock.java +++ b/src/main/java/com/kuraion/grassslabs/block/GrassSlabBlock.java @@ -8,13 +8,11 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.GrassColor; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SlabBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.properties.SlabType; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.level.material.MaterialColor; -import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.LootParams; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.client.event.RegisterColorHandlersEvent; @@ -31,21 +29,16 @@ public class GrassSlabBlock extends SlabBlock { private final Supplier flattenedBlock; public GrassSlabBlock(RegistryObject flattenedBlock) { - super(Properties.of(Material.GRASS).sound(SoundType.GRASS).strength(0.6f, 0.6f).lightLevel(s -> 0)); + super(Properties.copy(Blocks.GRASS_BLOCK).sound(SoundType.GRASS).strength(0.6f, 0.6f).lightLevel(s -> 0)); this.flattenedBlock = flattenedBlock == null ? null : () -> flattenedBlock.get().defaultBlockState(); } @Override - public MaterialColor defaultMaterialColor() { - return MaterialColor.GRASS; - } - - @Override - public List getDrops(BlockState state, LootContext.Builder builder) { + public List getDrops(BlockState state, LootParams.Builder builder) { List dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; - return Collections.singletonList(new ItemStack(this, state.getValue(TYPE) == SlabType.DOUBLE ? 2 : 1)); + return Collections.singletonList(new ItemStack(this, 1)); } @OnlyIn(Dist.CLIENT) diff --git a/src/main/java/com/kuraion/grassslabs/block/GrassStairsBlock.java b/src/main/java/com/kuraion/grassslabs/block/GrassStairsBlock.java index 3bb4c4e..60f9cfd 100644 --- a/src/main/java/com/kuraion/grassslabs/block/GrassStairsBlock.java +++ b/src/main/java/com/kuraion/grassslabs/block/GrassStairsBlock.java @@ -8,11 +8,11 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.GrassColor; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.StairBlock; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.LootParams; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.client.event.RegisterColorHandlersEvent; @@ -29,12 +29,12 @@ public class GrassStairsBlock extends StairBlock { private final Supplier flattenedBlock; public GrassStairsBlock(RegistryObject flattenedBlock) { - super(() -> (GrassslabsModBlocks.GRASS_SLAB.get()).defaultBlockState(), Properties.of(Material.DIRT).sound(SoundType.GRAVEL).strength(0.5f, 0.5f).lightLevel(s -> 0).dynamicShape()); + super(() -> (GrassslabsModBlocks.GRASS_SLAB.get()).defaultBlockState(), Properties.copy(Blocks.GRASS_BLOCK).sound(SoundType.GRAVEL).strength(0.5f, 0.5f).lightLevel(s -> 0).dynamicShape()); this.flattenedBlock = flattenedBlock == null ? null : () -> flattenedBlock.get().defaultBlockState(); } @Override - public List getDrops(BlockState state, LootContext.Builder builder) { + public List getDrops(BlockState state, LootParams.Builder builder) { List dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; diff --git a/src/main/java/com/kuraion/grassslabs/block/MyceliumCarpetBlock.java b/src/main/java/com/kuraion/grassslabs/block/MyceliumCarpetBlock.java index da346a0..5f797a4 100644 --- a/src/main/java/com/kuraion/grassslabs/block/MyceliumCarpetBlock.java +++ b/src/main/java/com/kuraion/grassslabs/block/MyceliumCarpetBlock.java @@ -2,26 +2,22 @@ package com.kuraion.grassslabs.block; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.CarpetBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.level.material.MaterialColor; -import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.LootParams; import java.util.Collections; import java.util.List; public class MyceliumCarpetBlock extends CarpetBlock { public MyceliumCarpetBlock() { - super(Properties.of(Material.GRASS).sound(SoundType.GRASS).strength(0.5f, 0.6f).lightLevel(s -> 0)); + super(Properties.copy(Blocks.MYCELIUM).sound(SoundType.GRASS).strength(0.5f, 0.6f).lightLevel(s -> 0)); } @Override - public MaterialColor defaultMaterialColor() { return MaterialColor.GRASS; } - - @Override - public List getDrops(BlockState state, LootContext.Builder builder) { + public List getDrops(BlockState state, LootParams.Builder builder) { List dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; diff --git a/src/main/java/com/kuraion/grassslabs/block/MyceliumSlabBlock.java b/src/main/java/com/kuraion/grassslabs/block/MyceliumSlabBlock.java index ee7cfa0..ad79483 100644 --- a/src/main/java/com/kuraion/grassslabs/block/MyceliumSlabBlock.java +++ b/src/main/java/com/kuraion/grassslabs/block/MyceliumSlabBlock.java @@ -2,32 +2,25 @@ package com.kuraion.grassslabs.block; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SlabBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.properties.SlabType; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.level.material.MaterialColor; -import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.LootParams; import java.util.Collections; import java.util.List; public class MyceliumSlabBlock extends SlabBlock { public MyceliumSlabBlock() { - super(Properties.of(Material.GRASS).sound(SoundType.GRASS).strength(0.5f, 0.6f).lightLevel(s -> 0)); + super(Properties.copy(Blocks.MYCELIUM).sound(SoundType.GRASS).strength(0.5f, 0.6f).lightLevel(s -> 0)); } @Override - public MaterialColor defaultMaterialColor() { - return MaterialColor.GRASS; - } - - @Override - public List getDrops(BlockState state, LootContext.Builder builder) { + public List getDrops(BlockState state, LootParams.Builder builder) { List dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; - return Collections.singletonList(new ItemStack(this, state.getValue(TYPE) == SlabType.DOUBLE ? 2 : 1)); + return Collections.singletonList(new ItemStack(this, 1)); } } diff --git a/src/main/java/com/kuraion/grassslabs/block/MyceliumStairsBlock.java b/src/main/java/com/kuraion/grassslabs/block/MyceliumStairsBlock.java index 820f357..75366d5 100644 --- a/src/main/java/com/kuraion/grassslabs/block/MyceliumStairsBlock.java +++ b/src/main/java/com/kuraion/grassslabs/block/MyceliumStairsBlock.java @@ -3,23 +3,22 @@ import com.kuraion.grassslabs.init.GrassslabsModBlocks; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.StairBlock; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.LootParams; import java.util.Collections; import java.util.List; public class MyceliumStairsBlock extends StairBlock { public MyceliumStairsBlock() { - super(() -> (GrassslabsModBlocks.MYCELIUM_SLAB.get()).defaultBlockState(), Properties.of(Material.DIRT).sound(SoundType.GRAVEL).strength(0.5f, 0.5f).lightLevel(s -> 0).dynamicShape()); + super(() -> (GrassslabsModBlocks.MYCELIUM_SLAB.get()).defaultBlockState(), Properties.copy(Blocks.MYCELIUM).sound(SoundType.GRAVEL).strength(0.5f, 0.5f).lightLevel(s -> 0).dynamicShape()); } @Override - public List getDrops(BlockState state, LootContext.Builder builder) { + public List getDrops(BlockState state, LootParams.Builder builder) { List dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; diff --git a/src/main/java/com/kuraion/grassslabs/block/PodzolCarpetBlock.java b/src/main/java/com/kuraion/grassslabs/block/PodzolCarpetBlock.java index 05d7c67..dc695ab 100644 --- a/src/main/java/com/kuraion/grassslabs/block/PodzolCarpetBlock.java +++ b/src/main/java/com/kuraion/grassslabs/block/PodzolCarpetBlock.java @@ -2,26 +2,22 @@ package com.kuraion.grassslabs.block; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.CarpetBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.level.material.MaterialColor; -import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.LootParams; import java.util.Collections; import java.util.List; public class PodzolCarpetBlock extends CarpetBlock { public PodzolCarpetBlock() { - super(Properties.of(Material.GRASS).sound(SoundType.GRASS).strength(0.5f, 0.6f).lightLevel(s -> 0)); + super(Properties.copy(Blocks.PODZOL).sound(SoundType.GRASS).strength(0.5f, 0.6f).lightLevel(s -> 0)); } @Override - public MaterialColor defaultMaterialColor() { return MaterialColor.GRASS; } - - @Override - public List getDrops(BlockState state, LootContext.Builder builder) { + public List getDrops(BlockState state, LootParams.Builder builder) { List dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; diff --git a/src/main/java/com/kuraion/grassslabs/block/PodzolSlabBlock.java b/src/main/java/com/kuraion/grassslabs/block/PodzolSlabBlock.java index 1b7c7c2..ddfefc2 100644 --- a/src/main/java/com/kuraion/grassslabs/block/PodzolSlabBlock.java +++ b/src/main/java/com/kuraion/grassslabs/block/PodzolSlabBlock.java @@ -2,32 +2,25 @@ package com.kuraion.grassslabs.block; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SlabBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.properties.SlabType; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.level.material.MaterialColor; -import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.LootParams; import java.util.Collections; import java.util.List; public class PodzolSlabBlock extends SlabBlock { public PodzolSlabBlock() { - super(Properties.of(Material.GRASS).sound(SoundType.GRASS).strength(0.5f, 0.6f).lightLevel(s -> 0)); + super(Properties.copy(Blocks.PODZOL).sound(SoundType.GRASS).strength(0.5f, 0.6f).lightLevel(s -> 0)); } @Override - public MaterialColor defaultMaterialColor() { - return MaterialColor.GRASS; - } - - @Override - public List getDrops(BlockState state, LootContext.Builder builder) { + public List getDrops(BlockState state, LootParams.Builder builder) { List dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; - return Collections.singletonList(new ItemStack(this, state.getValue(TYPE) == SlabType.DOUBLE ? 2 : 1)); + return Collections.singletonList(new ItemStack(this, 1)); } } diff --git a/src/main/java/com/kuraion/grassslabs/block/PodzolStairsBlock.java b/src/main/java/com/kuraion/grassslabs/block/PodzolStairsBlock.java index ea9f665..e637daf 100644 --- a/src/main/java/com/kuraion/grassslabs/block/PodzolStairsBlock.java +++ b/src/main/java/com/kuraion/grassslabs/block/PodzolStairsBlock.java @@ -3,22 +3,22 @@ import com.kuraion.grassslabs.init.GrassslabsModBlocks; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.block.StairBlock; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.Material; -import net.minecraft.world.level.storage.loot.LootContext; +import net.minecraft.world.level.storage.loot.LootParams; import java.util.Collections; import java.util.List; public class PodzolStairsBlock extends StairBlock { public PodzolStairsBlock() { - super(() -> (GrassslabsModBlocks.PODZOL_SLAB.get()).defaultBlockState(), Properties.of(Material.DIRT).sound(SoundType.GRAVEL).strength(0.5f, 0.5f).lightLevel(s -> 0).dynamicShape()); + super(() -> (GrassslabsModBlocks.PODZOL_SLAB.get()).defaultBlockState(), Properties.copy(Blocks.PODZOL).sound(SoundType.GRAVEL).strength(0.5f, 0.5f).lightLevel(s -> 0).dynamicShape()); } @Override - public List getDrops(BlockState state, LootContext.Builder builder) { + public List getDrops(BlockState state, LootParams.Builder builder) { List dropsOriginal = super.getDrops(state, builder); if (!dropsOriginal.isEmpty()) return dropsOriginal; diff --git a/src/main/java/com/kuraion/grassslabs/init/GrassslabsModItems.java b/src/main/java/com/kuraion/grassslabs/init/GrassslabsModItems.java index fae67cb..2394f3b 100644 --- a/src/main/java/com/kuraion/grassslabs/init/GrassslabsModItems.java +++ b/src/main/java/com/kuraion/grassslabs/init/GrassslabsModItems.java @@ -3,8 +3,10 @@ import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.CreativeModeTabs; import net.minecraft.world.item.Item; import net.minecraft.world.level.block.Block; +import net.minecraftforge.event.BuildCreativeModeTabContentsEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.registries.ForgeRegistries; @@ -19,10 +21,20 @@ public static void onRegisterItems(RegisterEvent event) { if (event.getRegistryKey().equals(ForgeRegistries.Keys.ITEMS)){ GrassslabsModBlocks.BLOCKS.getEntries().forEach( (blockRegistryObject) -> { Block block = blockRegistryObject.get(); - Item.Properties properties = new Item.Properties().tab(CreativeModeTab.TAB_BUILDING_BLOCKS); + Item.Properties properties = new Item.Properties(); Supplier blockItemFactory = () -> new BlockItem(block, properties); event.register(ForgeRegistries.Keys.ITEMS, blockRegistryObject.getId(), blockItemFactory); }); } } + + @SubscribeEvent + public static void addCreative(BuildCreativeModeTabContentsEvent event) { + if (event.getTabKey() == CreativeModeTabs.BUILDING_BLOCKS) { + GrassslabsModBlocks.BLOCKS.getEntries().forEach( (blockRegistryObject) -> { + Block block = blockRegistryObject.get(); + event.accept(block); + }); + } + } } diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index 76c9fb2..b46d5f2 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -15,6 +15,6 @@ description='''Adds slabs, carpets and stairs for dirt blocks, grass blocks, pat [[dependencies.grassslabs]] modId="minecraft" mandatory=true - versionRange="[1.19,]" + versionRange="[1.20,]" ordering="NONE" side="BOTH"