From fcb330c2444e0dc8f2c7a519147d851891e620ca Mon Sep 17 00:00:00 2001 From: Badtz Date: Tue, 5 Mar 2024 19:47:44 -0800 Subject: [PATCH 1/2] add bonesteel bow --- .../me/woach/bone/items/ItemsRegistry.java | 8 +++++ .../resources/assets/bone/lang/en_us.json | 1 + .../bone/models/item/bonesteel_bow.json | 28 ++++++++++++++++++ .../models/item/bonesteel_bow_pulling_0.json | 6 ++++ .../models/item/bonesteel_bow_pulling_1.json | 6 ++++ .../models/item/bonesteel_bow_pulling_2.json | 6 ++++ .../bone/textures/item/bonesteel_bow.png | Bin 0 -> 315 bytes .../textures/item/bonesteel_bow_pulling_0.png | Bin 0 -> 347 bytes .../textures/item/bonesteel_bow_pulling_1.png | Bin 0 -> 370 bytes .../textures/item/bonesteel_bow_pulling_2.png | Bin 0 -> 446 bytes .../data/bone/tags/items/can_boneforge.json | 3 +- .../resources/data/minecraft/recipes/bow.json | 23 -------------- 12 files changed, 57 insertions(+), 24 deletions(-) create mode 100644 src/main/resources/assets/bone/models/item/bonesteel_bow.json create mode 100644 src/main/resources/assets/bone/models/item/bonesteel_bow_pulling_0.json create mode 100644 src/main/resources/assets/bone/models/item/bonesteel_bow_pulling_1.json create mode 100644 src/main/resources/assets/bone/models/item/bonesteel_bow_pulling_2.json create mode 100644 src/main/resources/assets/bone/textures/item/bonesteel_bow.png create mode 100644 src/main/resources/assets/bone/textures/item/bonesteel_bow_pulling_0.png create mode 100644 src/main/resources/assets/bone/textures/item/bonesteel_bow_pulling_1.png create mode 100644 src/main/resources/assets/bone/textures/item/bonesteel_bow_pulling_2.png delete mode 100644 src/main/resources/data/minecraft/recipes/bow.json diff --git a/src/main/java/me/woach/bone/items/ItemsRegistry.java b/src/main/java/me/woach/bone/items/ItemsRegistry.java index dcab90a..d3a33a3 100644 --- a/src/main/java/me/woach/bone/items/ItemsRegistry.java +++ b/src/main/java/me/woach/bone/items/ItemsRegistry.java @@ -16,6 +16,7 @@ import net.minecraft.item.ArmorItem.Type; import net.minecraft.item.AxeItem; import net.minecraft.item.BlockItem; +import net.minecraft.item.BowItem; import net.minecraft.item.HoeItem; import net.minecraft.item.Item; import net.minecraft.item.PickaxeItem; @@ -41,6 +42,7 @@ public enum ItemsRegistry { BONESTEEL_SHOVEL("bonesteel_shovel", () -> ItemBuilder.newToolItem(ShovelItem::new, 1.5F, -3.0F)), BONESTEEL_HOE("bonesteel_hoe", () -> ItemBuilder.newToolItem(HoeItem::new, -1, -1.0F)), BONESTEEL_SWORD("bonesteel_sword", () -> ItemBuilder.newToolItem(SwordItem::new, 3, -2.2F)), + BONESTEEL_BOW("bonesteel_bow", () -> ItemBuilder.newItemBow()), AMETHYST_DUST("amethyst_dust", ItemBuilder::newItemDust), LAPIS_DUST("lapis_dust", ItemBuilder::newItemDust), EMERALD_DUST("emerald_dust", ItemBuilder::newItemDust), @@ -88,6 +90,10 @@ protected static Item newItemDust() { return new Item(new FabricItemSettings().maxCount(16).rarity(Rarity.EPIC)); } + protected static Item newItemBow() { + return new BowItem(new FabricItemSettings().maxDamage(512).rarity(Rarity.EPIC)); + } + protected static Item newItemArmor(Type armorType) { return new ArmorItem(new BonesteelArmorMaterial(), armorType, new FabricItemSettings().rarity(Rarity.EPIC)); } @@ -134,6 +140,8 @@ public static Item itemToBonesteelItem(Item equipment) { return ItemsRegistry.BONESTEEL_HOE.get(); if (equipment instanceof SwordItem) return ItemsRegistry.BONESTEEL_SWORD.get(); + if (equipment instanceof BowItem) + return ItemsRegistry.BONESTEEL_BOW.get(); return null; } } diff --git a/src/main/resources/assets/bone/lang/en_us.json b/src/main/resources/assets/bone/lang/en_us.json index 7fd6fed..6d1dc90 100644 --- a/src/main/resources/assets/bone/lang/en_us.json +++ b/src/main/resources/assets/bone/lang/en_us.json @@ -21,6 +21,7 @@ "item.bone.bonesteel_chestplate": "Bonesteel Chestplate", "item.bone.bonesteel_leggings": "Bonesteel Leggings", "item.bone.bonesteel_boots": "Bonesteel Boots", + "item.bone.bonesteel_bow": "Bonesteel Bow", "item.bone.bone": "Bone", "itemGroup.bone.bone": "Bone", "item.bone.tier": "Tier %s", diff --git a/src/main/resources/assets/bone/models/item/bonesteel_bow.json b/src/main/resources/assets/bone/models/item/bonesteel_bow.json new file mode 100644 index 0000000..dcda168 --- /dev/null +++ b/src/main/resources/assets/bone/models/item/bonesteel_bow.json @@ -0,0 +1,28 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "bone:item/bonesteel_bow" + }, + "overrides": [ + { + "predicate": { + "pulling": 1 + }, + "model": "bone:item/bonesteel_bow_pulling_0" + }, + { + "predicate": { + "pulling": 1, + "pull": 0.65 + }, + "model": "bone:item/bonesteel_bow_pulling_1" + }, + { + "predicate": { + "pulling": 1, + "pull": 0.9 + }, + "model": "bone:item/bonesteel_bow_pulling_2" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/bone/models/item/bonesteel_bow_pulling_0.json b/src/main/resources/assets/bone/models/item/bonesteel_bow_pulling_0.json new file mode 100644 index 0000000..1adabf9 --- /dev/null +++ b/src/main/resources/assets/bone/models/item/bonesteel_bow_pulling_0.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "bone:item/bonesteel_bow_pulling_0" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/bone/models/item/bonesteel_bow_pulling_1.json b/src/main/resources/assets/bone/models/item/bonesteel_bow_pulling_1.json new file mode 100644 index 0000000..88b61d9 --- /dev/null +++ b/src/main/resources/assets/bone/models/item/bonesteel_bow_pulling_1.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "bone:item/bonesteel_bow_pulling_1" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/bone/models/item/bonesteel_bow_pulling_2.json b/src/main/resources/assets/bone/models/item/bonesteel_bow_pulling_2.json new file mode 100644 index 0000000..197d5eb --- /dev/null +++ b/src/main/resources/assets/bone/models/item/bonesteel_bow_pulling_2.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "bone:item/bonesteel_bow_pulling_2" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/bone/textures/item/bonesteel_bow.png b/src/main/resources/assets/bone/textures/item/bonesteel_bow.png new file mode 100644 index 0000000000000000000000000000000000000000..a22695b689b9946ed31c30dcaf6935af11c3463b GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ+nVO$@hV3)_A%&hFJK|o$SbWNI}5Wvi-DPcFe3B!Y@R7(hHt%vo61Pu!6ha{1b=0 zp>S4VoYR5>vn4rv1^e1BF1wp>J2AO*)!Cn0%xAH9Zu$K-Y38oWiW5I>4-qpy@x`*> zXI_&>T725{KXqr9y6D@>Ur&ux^}d$&F__Iu&BI$w;CRsh literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/bone/textures/item/bonesteel_bow_pulling_0.png b/src/main/resources/assets/bone/textures/item/bonesteel_bow_pulling_0.png new file mode 100644 index 0000000000000000000000000000000000000000..48ad944bfa19844088cd1d4436e028c9bc5b87b6 GIT binary patch literal 347 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;>1s;*b z3=DjSK$uZf!>a)(C|TkfQ4*Y=R#Ki=l*&+$n3-3imzP?iV4`QBXK1jNi|YVT(G5=* z#}EtuZ;oWg%cqf;%fwtuy;DQK45S*<~hK_sClCA>ycHJapiht zXARVqrJ1HVFy9uxl4Q>CEM>;o6NyaBEV=IAjLn=2Zt)p0h+PU$G+_AHZEX8*{mkgj z%iakLn^bo@dhCPg} m{13b>To_{v9V8447#P&_r#x?s7AgYzk-^i|&t;ucLK6Ty`E+Ff literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/bone/textures/item/bonesteel_bow_pulling_1.png b/src/main/resources/assets/bone/textures/item/bonesteel_bow_pulling_1.png new file mode 100644 index 0000000000000000000000000000000000000000..8f25e5662e9075b7ff79b500eb83c09b4e3dbf7d GIT binary patch literal 370 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ+nVO$@hV39(%ethFJI~FW`ESo%dt@@9!hC~eyp-6@!Y?@BjSb~{_@-;i%GTIm?FwICQTch5U zmeLSveCFhdwg%M;2ll*+S@Wns{csN3#)Ux|3BQ}7?rdu|IXH)RQ6Lj1N5L&VBZegs zchA3QOV}#Q;$XJ;HXE~obCRpXPtoFW$<+M Kb6Mw<&;$T9yoNmh literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/bone/textures/item/bonesteel_bow_pulling_2.png b/src/main/resources/assets/bone/textures/item/bonesteel_bow_pulling_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8958b181f9300c7e7aefdde4529771eb53b5bb05 GIT binary patch literal 446 zcmV;v0YUzWP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!T1$^j}*^>OY7E@zDX?)R3Uy z|4(n9XE=80E+Y_tHS%$DFns#@gW>q)dyF7MKztAzq~6^^>pw^i#aS>#-tLwR&tJY{ zIB@hL!_|Aw;A&v6rmsHWRN0|=`AJESe*<4$Z||jn&H9Iw_rmYto0e5 zy!ya!_{e#v3?`5g7lN{&27okz{00hbn6p8KfLsDrg$5)=1)wY_02u%aZKx0!fcWU4 zKd(C%g%5TC$Yu~g4lob^@j)StYzVsT7$FRcCS(AT^KjQ=urx7bxN-dvO6bD_5oQ}U ze}m){=t53D)2Vj+qitj>)Las)>eNTX*$ oGlm+RfKUP=2+*U9FkoN+07dzrOxitlC;$Ke07*qoM6N<$f^8SD-~a#s literal 0 HcmV?d00001 diff --git a/src/main/resources/data/bone/tags/items/can_boneforge.json b/src/main/resources/data/bone/tags/items/can_boneforge.json index 937cf38..7cf75aa 100644 --- a/src/main/resources/data/bone/tags/items/can_boneforge.json +++ b/src/main/resources/data/bone/tags/items/can_boneforge.json @@ -19,6 +19,7 @@ "bone:bonesteel_helmet", "bone:bonesteel_chestplate", "bone:bonesteel_leggings", - "bone:bonesteel_boots" + "bone:bonesteel_boots", + "bone:bonesteel_bow" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/recipes/bow.json b/src/main/resources/data/minecraft/recipes/bow.json deleted file mode 100644 index 00e703f..0000000 --- a/src/main/resources/data/minecraft/recipes/bow.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - " TS", - "I S", - " TS" - ], - "key": { - "S": { - "item": "minecraft:string" - }, - "T": { - "item": "minecraft:stick" - }, - "I": { - "item": "minecraft:iron_ingot" - } - }, - "result": { - "item": "minecraft:bow", - "count": 1 - } -} \ No newline at end of file From 3a0cc7284b8443ac58ceca896c1dcacf619f263e Mon Sep 17 00:00:00 2001 From: Badtz Date: Tue, 5 Mar 2024 20:17:41 -0800 Subject: [PATCH 2/2] Create custom bow class --- src/main/java/me/woach/bone/items/BoneSteelBow.java | 12 ++++++++++++ src/main/java/me/woach/bone/items/ItemsRegistry.java | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 src/main/java/me/woach/bone/items/BoneSteelBow.java diff --git a/src/main/java/me/woach/bone/items/BoneSteelBow.java b/src/main/java/me/woach/bone/items/BoneSteelBow.java new file mode 100644 index 0000000..6d29c2a --- /dev/null +++ b/src/main/java/me/woach/bone/items/BoneSteelBow.java @@ -0,0 +1,12 @@ +package me.woach.bone.items; + +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.minecraft.item.BowItem; +import net.minecraft.util.Rarity; + +public class BoneSteelBow extends BowItem { + public BoneSteelBow() { + super(new FabricItemSettings().maxDamage(512).rarity(Rarity.EPIC)); + } + +} diff --git a/src/main/java/me/woach/bone/items/ItemsRegistry.java b/src/main/java/me/woach/bone/items/ItemsRegistry.java index d3a33a3..46d9311 100644 --- a/src/main/java/me/woach/bone/items/ItemsRegistry.java +++ b/src/main/java/me/woach/bone/items/ItemsRegistry.java @@ -91,7 +91,7 @@ protected static Item newItemDust() { } protected static Item newItemBow() { - return new BowItem(new FabricItemSettings().maxDamage(512).rarity(Rarity.EPIC)); + return new BoneSteelBow(); } protected static Item newItemArmor(Type armorType) {