From 8e08c1909b09b80c366c351e014147217733fafa Mon Sep 17 00:00:00 2001 From: iceBear67 Date: Mon, 20 Jul 2026 23:01:02 +0800 Subject: [PATCH] add recipe for bomb --- .../io/ib67/sfcraft/module/game/bomb/BombEntity.java | 8 ++++++-- src/main/resources/data/sfcraft/recipe/bomb.json | 10 ++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 src/main/resources/data/sfcraft/recipe/bomb.json diff --git a/src/main/java/io/ib67/sfcraft/module/game/bomb/BombEntity.java b/src/main/java/io/ib67/sfcraft/module/game/bomb/BombEntity.java index 1f15a2c..819f1b6 100644 --- a/src/main/java/io/ib67/sfcraft/module/game/bomb/BombEntity.java +++ b/src/main/java/io/ib67/sfcraft/module/game/bomb/BombEntity.java @@ -17,12 +17,14 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.projectile.throwableitemprojectile.ThrowableItemProjectile; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.BaseFireBlock; import net.minecraft.world.level.storage.ValueInput; import net.minecraft.world.level.storage.ValueOutput; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.Vec3; +import org.jspecify.annotations.NonNull; import java.util.function.Supplier; @@ -57,8 +59,10 @@ public class BombEntity extends ThrowableItemProjectile implements PolymerEntity } @Override - protected Item getDefaultItem() { - return defaultItem.get(); + protected @NonNull Item getDefaultItem() { + // defineSynchedData()(在 Entity 超类构造器中)会调用本方法,此时子类的 defaultItem 字段尚未赋值。 + // 该处返回值只是占位,真正的物品随后由 setItem(stack)/readAdditionalSaveData 覆盖。 + return defaultItem == null ? Items.SNOWBALL : defaultItem.get(); } @Override diff --git a/src/main/resources/data/sfcraft/recipe/bomb.json b/src/main/resources/data/sfcraft/recipe/bomb.json new file mode 100644 index 0000000..38f98db --- /dev/null +++ b/src/main/resources/data/sfcraft/recipe/bomb.json @@ -0,0 +1,10 @@ +{ + "type": "minecraft:crafting_shapeless", + "ingredients": [ + "minecraft:fire_charge", + "minecraft:redstone" + ], + "result": { + "id": "sfcraft:bomb" + } +}