From 96a334448eb1cb315b2d476b36447cf11884d80f Mon Sep 17 00:00:00 2001 From: Jottyfan Date: Mon, 13 Nov 2023 23:48:55 +0100 Subject: [PATCH] snapshot version --- gradle.properties | 12 +++--- .../blockentity/ItemHoarderBlockEntity.java | 8 ++-- .../blocks/BlockCottonplant.java | 4 +- .../blocks/BlockDirtSalpeter.java | 12 +++++- .../quickiefabric/blocks/BlockDrillDown.java | 7 ++++ .../quickiefabric/blocks/BlockDrillEast.java | 8 ++++ .../quickiefabric/blocks/BlockDrillNorth.java | 12 +++++- .../quickiefabric/blocks/BlockDrillSouth.java | 12 +++++- .../quickiefabric/blocks/BlockDrillWest.java | 12 +++++- .../blocks/BlockItemhoarder.java | 4 +- .../quickiefabric/blocks/BlockKelpstack.java | 12 +++++- .../blocks/BlockLavahoarder.java | 2 +- .../blocks/BlockMonsterhoarder.java | 8 ++-- .../blocks/BlockOreDeepslateSulphor.java | 3 +- .../blocks/BlockOreNetherSulphor.java | 3 +- .../blocks/BlockOreSalpeter.java | 3 +- .../blocks/BlockOreSandSalpeter.java | 3 +- .../quickiefabric/blocks/BlockOreSulphor.java | 3 +- .../quickiefabric/blocks/BlockSalpeter.java | 3 +- .../blocks/BlockSandSalpeter.java | 12 +++++- .../blocks/BlockSpeedpowder.java | 14 +++++-- .../quickiefabric/blocks/BlockSpreader.java | 8 ++++ .../blocks/BlockStackerDown.java | 8 ++++ .../blocks/BlockStackerEast.java | 8 ++++ .../blocks/BlockStackerNorth.java | 8 ++++ .../blocks/BlockStackerSouth.java | 8 ++++ .../quickiefabric/blocks/BlockStackerUp.java | 8 ++++ .../blocks/BlockStackerWest.java | 8 ++++ .../quickiefabric/blocks/BlockSulphor.java | 3 +- .../quickiefabric/blocks/QuickieBlocks.java | 2 - .../blocks/help/IntProviderHelper.java | 37 +++++++++++++++++++ .../quickiefabric/mixin/BlockBreakMixin.java | 8 ++-- src/main/resources/fabric.mod.json | 4 +- 33 files changed, 217 insertions(+), 50 deletions(-) create mode 100644 src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/help/IntProviderHelper.java diff --git a/gradle.properties b/gradle.properties index 36815dd..0a0fe2f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,17 +4,17 @@ # Fabric Properties # check these on https://fabricmc.net/versions.html - minecraft_version=1.20.2 - yarn_mappings=1.20.2+build.1 - loader_version=0.14.22 + minecraft_version=23w45a + yarn_mappings=23w45a+build.10 + loader_version=0.14.24 # Mod Properties - mod_version = 1.20.2.2 + mod_version = 1.20.3.0 maven_group = de.jottyfan.minecraft archives_base_name = quickiefabric # Dependencies - fabric_version=0.89.1+1.20.2 + fabric_version=0.90.8+1.20.3 # for ExtendedLeavesBlock - terraform_wood_api_version=7.0.1 + terraform_wood_api_version=9.0.0-alpha.3 diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/ItemHoarderBlockEntity.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/ItemHoarderBlockEntity.java index a286404..10fdab3 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/ItemHoarderBlockEntity.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blockentity/ItemHoarderBlockEntity.java @@ -81,7 +81,7 @@ public class ItemHoarderBlockEntity extends LootableContainerBlockEntity { @Override public void writeNbt(NbtCompound nbt) { super.writeNbt(nbt); - if (!this.serializeLootTable(nbt)) { + if (!this.writeLootTable(nbt)) { Inventories.writeNbt(nbt, this.stacks); } } @@ -90,7 +90,7 @@ public class ItemHoarderBlockEntity extends LootableContainerBlockEntity { public void readNbt(NbtCompound nbt) { super.readNbt(nbt); this.stacks = DefaultedList.ofSize(this.size(), ItemStack.EMPTY); - if (!this.deserializeLootTable(nbt)) { + if (!this.readLootTable(nbt)) { Inventories.readNbt(nbt, this.stacks); } } @@ -104,8 +104,8 @@ public class ItemHoarderBlockEntity extends LootableContainerBlockEntity { return 54; // container chest size (9 * 6) } - @Override - protected DefaultedList getInvStackList() { + @Override // before: getInvStackList + protected DefaultedList method_11282() { return stacks; } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockCottonplant.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockCottonplant.java index 0e4cdfc..a971790 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockCottonplant.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockCottonplant.java @@ -46,9 +46,9 @@ public class BlockCottonplant extends CropBlock { } @Override - public void onBreak(World world, BlockPos pos, BlockState state, PlayerEntity player) { + public BlockState onBreak(World world, BlockPos pos, BlockState state, PlayerEntity player) { spawnHarvested(world, pos, state); - super.onBreak(world, pos, state, player); + return super.onBreak(world, pos, state, player); } @Override diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDirtSalpeter.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDirtSalpeter.java index 4ff73f5..226d778 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDirtSalpeter.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDirtSalpeter.java @@ -4,11 +4,13 @@ import java.util.Arrays; import java.util.List; import java.util.Random; +import com.mojang.serialization.MapCodec; + import de.jottyfan.minecraft.quickiefabric.items.QuickieItems; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; -import net.minecraft.block.GravelBlock; +import net.minecraft.block.FallingBlock; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.loot.context.LootContextParameterSet.Builder; @@ -18,7 +20,7 @@ import net.minecraft.loot.context.LootContextParameterSet.Builder; * @author jotty * */ -public class BlockDirtSalpeter extends GravelBlock { +public class BlockDirtSalpeter extends FallingBlock { public BlockDirtSalpeter() { super(FabricBlockSettings.create().hardness(3.1f)); @@ -35,4 +37,10 @@ public class BlockDirtSalpeter extends GravelBlock { : new ItemStack[] { salpeterStack, dirtStack }; return Arrays.asList(spawnies); } + + @Override + protected MapCodec getCodec() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillDown.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillDown.java index 9968b13..438c607 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillDown.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillDown.java @@ -3,6 +3,8 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.ArrayList; import java.util.List; +import com.mojang.serialization.MapCodec; + import de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockDownEntity; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockEntityProvider; @@ -48,4 +50,9 @@ public class BlockDrillDown extends FallingBlock implements BlockEntityProvider public BlockEntityTicker getTicker(World world, BlockState state, BlockEntityType type){ return (world1, pos, state1, be) -> DrillBlockDownEntity.tick(world1, pos, state1, be); } + + @Override + protected MapCodec getCodec() { + return null; // TODO: what to return here? + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillEast.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillEast.java index 9c4ce61..3a86e6c 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillEast.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillEast.java @@ -3,6 +3,8 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.ArrayList; import java.util.List; +import com.mojang.serialization.MapCodec; + import de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockEastEntity; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockEntityProvider; @@ -49,4 +51,10 @@ public class BlockDrillEast extends FallingBlock implements BlockEntityProvider public BlockEntityTicker getTicker(World world, BlockState state, BlockEntityType type){ return (world1, pos, state1, be) -> DrillBlockEastEntity.tick(world1, pos, state1, be); } + + @Override + protected MapCodec getCodec() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillNorth.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillNorth.java index 9119bd8..2888201 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillNorth.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillNorth.java @@ -3,6 +3,8 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.ArrayList; import java.util.List; +import com.mojang.serialization.MapCodec; + import de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockNorthEntity; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockEntityProvider; @@ -18,12 +20,12 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; /** - * + * * @author jotty * */ public class BlockDrillNorth extends FallingBlock implements BlockEntityProvider { - + public BlockDrillNorth() { super(FabricBlockSettings.create().hardness(2.5f)); } @@ -49,4 +51,10 @@ public class BlockDrillNorth extends FallingBlock implements BlockEntityProvider public BlockEntityTicker getTicker(World world, BlockState state, BlockEntityType type){ return (world1, pos, state1, be) -> DrillBlockNorthEntity.tick(world1, pos, state1, be); } + + @Override + protected MapCodec getCodec() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillSouth.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillSouth.java index c7f06b7..4e48715 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillSouth.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillSouth.java @@ -3,6 +3,8 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.ArrayList; import java.util.List; +import com.mojang.serialization.MapCodec; + import de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockSouthEntity; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockEntityProvider; @@ -18,12 +20,12 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; /** - * + * * @author jotty * */ public class BlockDrillSouth extends FallingBlock implements BlockEntityProvider { - + public BlockDrillSouth() { super(FabricBlockSettings.create().hardness(2.5f)); } @@ -49,4 +51,10 @@ public class BlockDrillSouth extends FallingBlock implements BlockEntityProvider public BlockEntityTicker getTicker(World world, BlockState state, BlockEntityType type){ return (world1, pos, state1, be) -> DrillBlockSouthEntity.tick(world1, pos, state1, be); } + + @Override + protected MapCodec getCodec() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillWest.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillWest.java index 560a03a..a85784c 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillWest.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockDrillWest.java @@ -3,6 +3,8 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.ArrayList; import java.util.List; +import com.mojang.serialization.MapCodec; + import de.jottyfan.minecraft.quickiefabric.blockentity.DrillBlockWestEntity; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockEntityProvider; @@ -18,12 +20,12 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; /** - * + * * @author jotty * */ public class BlockDrillWest extends FallingBlock implements BlockEntityProvider { - + public BlockDrillWest() { super(FabricBlockSettings.create().hardness(2.5f)); } @@ -49,4 +51,10 @@ public class BlockDrillWest extends FallingBlock implements BlockEntityProvider public BlockEntityTicker getTicker(World world, BlockState state, BlockEntityType type){ return (world1, pos, state1, be) -> DrillBlockWestEntity.tick(world1, pos, state1, be); } + + @Override + protected MapCodec getCodec() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockItemhoarder.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockItemhoarder.java index 1fbc036..a03fc77 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockItemhoarder.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockItemhoarder.java @@ -61,7 +61,7 @@ public class BlockItemhoarder extends Block implements BlockEntityProvider { } @Override - public void onBreak(World world, BlockPos pos, BlockState state, PlayerEntity player) { + public BlockState onBreak(World world, BlockPos pos, BlockState state, PlayerEntity player) { BlockEntity blockEntity = world.getBlockEntity(pos); if (blockEntity instanceof ItemHoarderBlockEntity) { ItemHoarderBlockEntity ihbe = (ItemHoarderBlockEntity) blockEntity; @@ -69,7 +69,7 @@ public class BlockItemhoarder extends Block implements BlockEntityProvider { ItemScatterer.spawn(world, pos.getX(), pos.getY(), pos.getZ(), stack); } } - super.onBreak(world, pos, state, player); + return super.onBreak(world, pos, state, player); } @Override diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockKelpstack.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockKelpstack.java index c58c724..bd199c1 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockKelpstack.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockKelpstack.java @@ -3,9 +3,11 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.Arrays; import java.util.List; +import com.mojang.serialization.MapCodec; + import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockState; -import net.minecraft.block.GravelBlock; +import net.minecraft.block.FallingBlock; import net.minecraft.item.ItemStack; import net.minecraft.item.Items; import net.minecraft.loot.context.LootContextParameterSet.Builder; @@ -16,7 +18,7 @@ import net.minecraft.sound.BlockSoundGroup; * @author jotty * */ -public class BlockKelpstack extends GravelBlock { +public class BlockKelpstack extends FallingBlock { public BlockKelpstack() { super(FabricBlockSettings.create().hardness(0.1f).slipperiness(1.0f) @@ -27,4 +29,10 @@ public class BlockKelpstack extends GravelBlock { public List getDroppedStacks(BlockState blockState, Builder builder) { return Arrays.asList(new ItemStack[] { new ItemStack(Items.KELP, 9) }); } + + @Override + protected MapCodec getCodec() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockLavahoarder.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockLavahoarder.java index 59b449f..1350fdd 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockLavahoarder.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockLavahoarder.java @@ -31,7 +31,7 @@ import net.minecraft.world.World; public class BlockLavahoarder extends Block implements BlockEntityProvider { public BlockLavahoarder() { - super(FabricBlockSettings.create().hardness(2.5f).luminance(16)); + super(FabricBlockSettings.create().hardness(2.5f).luminance(state -> 15)); } @Override diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockMonsterhoarder.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockMonsterhoarder.java index d4adf3d..bac94b3 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockMonsterhoarder.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockMonsterhoarder.java @@ -5,10 +5,7 @@ import java.util.List; import de.jottyfan.minecraft.quickiefabric.blockentity.MonsterHoarderBlockEntity; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; -import net.minecraft.block.Block; -import net.minecraft.block.BlockEntityProvider; -import net.minecraft.block.BlockRenderType; -import net.minecraft.block.BlockState; +import net.minecraft.block.*; import net.minecraft.block.entity.BlockEntity; import net.minecraft.block.entity.BlockEntityTicker; import net.minecraft.block.entity.BlockEntityType; @@ -27,8 +24,9 @@ import net.minecraft.world.World; */ public class BlockMonsterhoarder extends Block implements BlockEntityProvider { + public BlockMonsterhoarder() { - super(FabricBlockSettings.create().hardness(2.5f).luminance(20)); + super(FabricBlockSettings.create().hardness(2.5f).luminance(state -> 15)); } @Override diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreDeepslateSulphor.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreDeepslateSulphor.java index 3d0769b..dd159d6 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreDeepslateSulphor.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreDeepslateSulphor.java @@ -3,6 +3,7 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.Arrays; import java.util.List; +import de.jottyfan.minecraft.quickiefabric.blocks.help.IntProviderHelper; import de.jottyfan.minecraft.quickiefabric.items.QuickieItems; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockState; @@ -19,7 +20,7 @@ import net.minecraft.loot.context.LootContextParameterSet.Builder; public class BlockOreDeepslateSulphor extends ExperienceDroppingBlock { public BlockOreDeepslateSulphor() { - super(FabricBlockSettings.create().hardness(1.9f).requiresTool()); + super(IntProviderHelper.of(0, 2), FabricBlockSettings.create().hardness(1.9f).requiresTool()); } @Override diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreNetherSulphor.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreNetherSulphor.java index 01263f6..e766a25 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreNetherSulphor.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreNetherSulphor.java @@ -3,6 +3,7 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.Arrays; import java.util.List; +import de.jottyfan.minecraft.quickiefabric.blocks.help.IntProviderHelper; import de.jottyfan.minecraft.quickiefabric.items.QuickieItems; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockState; @@ -19,7 +20,7 @@ import net.minecraft.loot.context.LootContextParameterSet.Builder; public class BlockOreNetherSulphor extends ExperienceDroppingBlock { public BlockOreNetherSulphor() { - super(FabricBlockSettings.create().hardness(2.1f).requiresTool()); + super(IntProviderHelper.of(0, 2), FabricBlockSettings.create().hardness(2.1f).requiresTool()); } @Override diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSalpeter.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSalpeter.java index abaee63..8ef109a 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSalpeter.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSalpeter.java @@ -3,6 +3,7 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.Arrays; import java.util.List; +import de.jottyfan.minecraft.quickiefabric.blocks.help.IntProviderHelper; import de.jottyfan.minecraft.quickiefabric.items.QuickieItems; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockState; @@ -19,7 +20,7 @@ import net.minecraft.util.math.random.Random; public class BlockOreSalpeter extends ExperienceDroppingBlock { public BlockOreSalpeter() { - super(FabricBlockSettings.create().hardness(3.1f).requiresTool()); + super(IntProviderHelper.of(0, 2), FabricBlockSettings.create().hardness(3.1f).requiresTool()); } @Override diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSandSalpeter.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSandSalpeter.java index e5a9a2a..cf1eff2 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSandSalpeter.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSandSalpeter.java @@ -3,6 +3,7 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.Arrays; import java.util.List; +import de.jottyfan.minecraft.quickiefabric.blocks.help.IntProviderHelper; import de.jottyfan.minecraft.quickiefabric.items.QuickieItems; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockState; @@ -20,7 +21,7 @@ import net.minecraft.util.math.random.Random; public class BlockOreSandSalpeter extends ExperienceDroppingBlock { public BlockOreSandSalpeter() { - super(FabricBlockSettings.create().hardness(2.9f).requiresTool()); + super(IntProviderHelper.of(0, 2), FabricBlockSettings.create().hardness(2.9f).requiresTool()); } @Override diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSulphor.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSulphor.java index 8b503e0..b66c8eb 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSulphor.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockOreSulphor.java @@ -3,6 +3,7 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.Arrays; import java.util.List; +import de.jottyfan.minecraft.quickiefabric.blocks.help.IntProviderHelper; import de.jottyfan.minecraft.quickiefabric.items.QuickieItems; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockState; @@ -19,7 +20,7 @@ import net.minecraft.loot.context.LootContextParameterSet.Builder; public class BlockOreSulphor extends ExperienceDroppingBlock { public BlockOreSulphor() { - super(FabricBlockSettings.create().hardness(1.9f).requiresTool()); + super(IntProviderHelper.of(0, 2), FabricBlockSettings.create().hardness(1.9f).requiresTool()); } @Override diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSalpeter.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSalpeter.java index 0b248a5..a232e8c 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSalpeter.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSalpeter.java @@ -3,6 +3,7 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.Arrays; import java.util.List; +import de.jottyfan.minecraft.quickiefabric.blocks.help.IntProviderHelper; import de.jottyfan.minecraft.quickiefabric.items.QuickieItems; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockState; @@ -18,7 +19,7 @@ import net.minecraft.loot.context.LootContextParameterSet.Builder; public class BlockSalpeter extends ExperienceDroppingBlock { public BlockSalpeter() { - super(FabricBlockSettings.create().hardness(0.5f)); + super(IntProviderHelper.of(0, 2), FabricBlockSettings.create().hardness(0.5f)); } @Override diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSandSalpeter.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSandSalpeter.java index a6ec56c..3ddb761 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSandSalpeter.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSandSalpeter.java @@ -3,11 +3,13 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.Arrays; import java.util.List; +import com.mojang.serialization.MapCodec; + import de.jottyfan.minecraft.quickiefabric.items.QuickieItems; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; -import net.minecraft.block.GravelBlock; +import net.minecraft.block.FallingBlock; import net.minecraft.item.ItemStack; import net.minecraft.loot.context.LootContextParameterSet.Builder; import net.minecraft.util.math.random.Random; @@ -17,7 +19,7 @@ import net.minecraft.util.math.random.Random; * @author jotty * */ -public class BlockSandSalpeter extends GravelBlock { +public class BlockSandSalpeter extends FallingBlock { public BlockSandSalpeter() { super(FabricBlockSettings.create().hardness(3.1f).requiresTool()); @@ -27,4 +29,10 @@ public class BlockSandSalpeter extends GravelBlock { public List getDroppedStacks(BlockState state, Builder builder) { return Arrays.asList(new ItemStack[] { new ItemStack(QuickieItems.SALPETER, 3 + Random.create().nextInt(2)), new ItemStack(Blocks.SAND) }); } + + @Override + protected MapCodec getCodec() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSpeedpowder.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSpeedpowder.java index d661ab3..a890b44 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSpeedpowder.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSpeedpowder.java @@ -3,10 +3,12 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.Arrays; import java.util.List; +import com.mojang.serialization.MapCodec; + import de.jottyfan.minecraft.quickiefabric.items.QuickieItems; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockState; -import net.minecraft.block.GravelBlock; +import net.minecraft.block.FallingBlock; import net.minecraft.item.ItemStack; import net.minecraft.loot.context.LootContextParameterSet.Builder; import net.minecraft.world.explosion.Explosion; @@ -16,10 +18,10 @@ import net.minecraft.world.explosion.Explosion; * @author jotty * */ -public class BlockSpeedpowder extends GravelBlock { +public class BlockSpeedpowder extends FallingBlock { public BlockSpeedpowder() { - super(FabricBlockSettings.create()); + super(FabricBlockSettings.create().luminance(state -> 12)); } @Override @@ -31,4 +33,10 @@ public class BlockSpeedpowder extends GravelBlock { public boolean shouldDropItemsOnExplosion(Explosion explosion) { return true; } + + @Override + protected MapCodec getCodec() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSpreader.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSpreader.java index eac5d48..b4fbe81 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSpreader.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSpreader.java @@ -2,6 +2,8 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.List; +import com.mojang.serialization.MapCodec; + import de.jottyfan.minecraft.quickiefabric.blockentity.BlockSpreaderEntity; import de.jottyfan.minecraft.quickiefabric.blockentity.QuickieFabricBlockEntity; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; @@ -48,4 +50,10 @@ public class BlockSpreader extends BlockWithEntity { public List getDroppedStacks(BlockState state, Builder builder) { return List.of(new ItemStack(QuickieBlocks.BLOCKSPREADER.asItem())); } + + @Override + protected MapCodec getCodec() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerDown.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerDown.java index 748efc9..c7533c9 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerDown.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerDown.java @@ -2,6 +2,8 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.List; +import com.mojang.serialization.MapCodec; + import de.jottyfan.minecraft.quickiefabric.blockentity.BlockStackerEntity; import de.jottyfan.minecraft.quickiefabric.blockentity.QuickieFabricBlockEntity; import de.jottyfan.minecraft.quickiefabric.blocks.help.BlockStacker; @@ -102,4 +104,10 @@ public class BlockStackerDown extends BlockWithEntity implements BlockStacker { public int getComparatorOutput(BlockState state, World world, BlockPos pos) { return ScreenHandler.calculateComparatorOutput(world.getBlockEntity(pos)); } + + @Override + protected MapCodec getCodec() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerEast.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerEast.java index 415a03c..ac427d2 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerEast.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerEast.java @@ -2,6 +2,8 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.List; +import com.mojang.serialization.MapCodec; + import de.jottyfan.minecraft.quickiefabric.blockentity.BlockStackerEntity; import de.jottyfan.minecraft.quickiefabric.blockentity.QuickieFabricBlockEntity; import de.jottyfan.minecraft.quickiefabric.blocks.help.BlockStacker; @@ -102,4 +104,10 @@ public class BlockStackerEast extends BlockWithEntity implements BlockStacker { public int getComparatorOutput(BlockState state, World world, BlockPos pos) { return ScreenHandler.calculateComparatorOutput(world.getBlockEntity(pos)); } + + @Override + protected MapCodec getCodec() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerNorth.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerNorth.java index 079e2f2..08b6657 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerNorth.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerNorth.java @@ -2,6 +2,8 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.List; +import com.mojang.serialization.MapCodec; + import de.jottyfan.minecraft.quickiefabric.blockentity.BlockStackerEntity; import de.jottyfan.minecraft.quickiefabric.blockentity.QuickieFabricBlockEntity; import de.jottyfan.minecraft.quickiefabric.blocks.help.BlockStacker; @@ -102,4 +104,10 @@ public class BlockStackerNorth extends BlockWithEntity implements BlockStacker { public int getComparatorOutput(BlockState state, World world, BlockPos pos) { return ScreenHandler.calculateComparatorOutput(world.getBlockEntity(pos)); } + + @Override + protected MapCodec getCodec() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerSouth.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerSouth.java index 7baba75..27a2a58 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerSouth.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerSouth.java @@ -2,6 +2,8 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.List; +import com.mojang.serialization.MapCodec; + import de.jottyfan.minecraft.quickiefabric.blockentity.BlockStackerEntity; import de.jottyfan.minecraft.quickiefabric.blockentity.QuickieFabricBlockEntity; import de.jottyfan.minecraft.quickiefabric.blocks.help.BlockStacker; @@ -102,4 +104,10 @@ public class BlockStackerSouth extends BlockWithEntity implements BlockStacker { public int getComparatorOutput(BlockState state, World world, BlockPos pos) { return ScreenHandler.calculateComparatorOutput(world.getBlockEntity(pos)); } + + @Override + protected MapCodec getCodec() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerUp.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerUp.java index 9b68340..62c6614 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerUp.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerUp.java @@ -2,6 +2,8 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.List; +import com.mojang.serialization.MapCodec; + import de.jottyfan.minecraft.quickiefabric.blockentity.BlockStackerEntity; import de.jottyfan.minecraft.quickiefabric.blockentity.QuickieFabricBlockEntity; import de.jottyfan.minecraft.quickiefabric.blocks.help.BlockStacker; @@ -102,4 +104,10 @@ public class BlockStackerUp extends BlockWithEntity implements BlockStacker { public int getComparatorOutput(BlockState state, World world, BlockPos pos) { return ScreenHandler.calculateComparatorOutput(world.getBlockEntity(pos)); } + + @Override + protected MapCodec getCodec() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerWest.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerWest.java index fd804c4..7449aa9 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerWest.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockStackerWest.java @@ -2,6 +2,8 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.List; +import com.mojang.serialization.MapCodec; + import de.jottyfan.minecraft.quickiefabric.blockentity.BlockStackerEntity; import de.jottyfan.minecraft.quickiefabric.blockentity.QuickieFabricBlockEntity; import de.jottyfan.minecraft.quickiefabric.blocks.help.BlockStacker; @@ -102,4 +104,10 @@ public class BlockStackerWest extends BlockWithEntity implements BlockStacker { public int getComparatorOutput(BlockState state, World world, BlockPos pos) { return ScreenHandler.calculateComparatorOutput(world.getBlockEntity(pos)); } + + @Override + protected MapCodec getCodec() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSulphor.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSulphor.java index 85dcbff..9999fef 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSulphor.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/BlockSulphor.java @@ -3,6 +3,7 @@ package de.jottyfan.minecraft.quickiefabric.blocks; import java.util.Arrays; import java.util.List; +import de.jottyfan.minecraft.quickiefabric.blocks.help.IntProviderHelper; import de.jottyfan.minecraft.quickiefabric.items.QuickieItems; import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.BlockState; @@ -18,7 +19,7 @@ import net.minecraft.loot.context.LootContextParameterSet.Builder; public class BlockSulphor extends ExperienceDroppingBlock { public BlockSulphor() { - super(FabricBlockSettings.create().hardness(0.5f)); + super(IntProviderHelper.of(0, 2), FabricBlockSettings.create().hardness(0.5f)); } @Override diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/QuickieBlocks.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/QuickieBlocks.java index 6c3d30f..9e32174 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/QuickieBlocks.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/QuickieBlocks.java @@ -1,7 +1,5 @@ package de.jottyfan.minecraft.quickiefabric.blocks; -import net.minecraft.item.ItemConvertible; - /** * * @author jotty diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/help/IntProviderHelper.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/help/IntProviderHelper.java new file mode 100644 index 0000000..757e302 --- /dev/null +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/blocks/help/IntProviderHelper.java @@ -0,0 +1,37 @@ +package de.jottyfan.minecraft.quickiefabric.blocks.help; + +import net.minecraft.util.math.intprovider.IntProvider; +import net.minecraft.util.math.intprovider.IntProviderType; +import net.minecraft.util.math.random.Random; + +/** + * + * @author jotty + * + */ +public class IntProviderHelper { + public static final IntProvider of(Integer min, Integer max) { + return new IntProvider() { + + @Override + public IntProviderType getType() { + return IntProviderType.CONSTANT; + } + + @Override + public int getMin() { + return min; + } + + @Override + public int getMax() { + return max; + } + + @Override + public int get(Random random) { + return random.nextBetween(min, max); + } + }; + } +} diff --git a/src/main/java/de/jottyfan/minecraft/quickiefabric/mixin/BlockBreakMixin.java b/src/main/java/de/jottyfan/minecraft/quickiefabric/mixin/BlockBreakMixin.java index c38ca66..3bd5c86 100644 --- a/src/main/java/de/jottyfan/minecraft/quickiefabric/mixin/BlockBreakMixin.java +++ b/src/main/java/de/jottyfan/minecraft/quickiefabric/mixin/BlockBreakMixin.java @@ -3,7 +3,7 @@ package de.jottyfan.minecraft.quickiefabric.mixin; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import de.jottyfan.minecraft.quickiefabric.event.BreakBlockCallback; import net.minecraft.block.Block; @@ -14,15 +14,15 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; /** - * + * * @author jotty * */ @Mixin(Block.class) public class BlockBreakMixin { - @Inject(at = @At("HEAD"), method = "onBreak(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/entity/player/PlayerEntity;)V") - private void onBreak(final World world, final BlockPos blockPos, final BlockState blockState, final PlayerEntity playerEntity, final CallbackInfo info) { + @Inject(at = @At("HEAD"), method = "onBreak(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/entity/player/PlayerEntity;)Lnet/minecraft/block/BlockState;") + private void onBreak(final World world, final BlockPos blockPos, final BlockState blockState, final PlayerEntity playerEntity, final CallbackInfoReturnable info) { ActionResult result = BreakBlockCallback.EVENT.invoker().injectBlockBreakCallback(world, blockPos, blockState, playerEntity); if (result == ActionResult.FAIL) { info.cancel(); diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 1ae6387..b9675fb 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -26,9 +26,9 @@ "quickiefabric.mixins.json" ], "depends": { - "fabricloader": ">=0.14.22", + "fabricloader": ">=0.14.24", "fabric": "*", - "minecraft": "1.20.2", + "minecraft": "1.20.3-alpha.23.45.a", "java": ">=17" }, "suggests": {