From 28761d44c0424fee355b6b149d30eb56050a9da3 Mon Sep 17 00:00:00 2001 From: Jottyfan Date: Sat, 10 Jan 2026 17:14:40 +0100 Subject: [PATCH] added armor --- .../minecraft/item/ModArmorMaterial.java | 30 +++++++++++++ .../de/jottyfan/minecraft/item/ModItems.java | 41 +++++++++++------- .../assets/gtamfmd/equipment/ruby.json | 14 ++++++ .../assets/gtamfmd/items/ruby_boots.json | 6 +++ .../assets/gtamfmd/items/ruby_chestplate.json | 6 +++ .../assets/gtamfmd/items/ruby_helmet.json | 6 +++ .../assets/gtamfmd/items/ruby_leggings.json | 6 +++ .../resources/assets/gtamfmd/lang/de_de.json | 6 ++- .../resources/assets/gtamfmd/lang/en_us.json | 6 ++- .../gtamfmd/models/item/ruby_boots.json | 6 +++ .../gtamfmd/models/item/ruby_chestplate.json | 6 +++ .../gtamfmd/models/item/ruby_helmet.json | 6 +++ .../gtamfmd/models/item/ruby_leggings.json | 6 +++ .../entity/equipment/humanoid/ruby.png | Bin 0 -> 1310 bytes .../equipment/humanoid_leggings/ruby.png | Bin 0 -> 730 bytes .../gtamfmd/textures/item/ruby_boots.png | Bin 0 -> 366 bytes .../gtamfmd/textures/item/ruby_chestplate.png | Bin 0 -> 465 bytes .../gtamfmd/textures/item/ruby_helmet.png | Bin 0 -> 396 bytes .../gtamfmd/textures/item/ruby_leggings.png | Bin 0 -> 379 bytes .../gtamfmd/recipe/shaped_ruby_boots.json | 14 ++++++ .../recipe/shaped_ruby_chestplate.json | 16 +++++++ .../gtamfmd/recipe/shaped_ruby_helmet.json | 14 ++++++ .../gtamfmd/recipe/shaped_ruby_leggings.json | 15 +++++++ 23 files changed, 187 insertions(+), 17 deletions(-) create mode 100644 src/main/java/de/jottyfan/minecraft/item/ModArmorMaterial.java create mode 100644 src/main/resources/assets/gtamfmd/equipment/ruby.json create mode 100644 src/main/resources/assets/gtamfmd/items/ruby_boots.json create mode 100644 src/main/resources/assets/gtamfmd/items/ruby_chestplate.json create mode 100644 src/main/resources/assets/gtamfmd/items/ruby_helmet.json create mode 100644 src/main/resources/assets/gtamfmd/items/ruby_leggings.json create mode 100644 src/main/resources/assets/gtamfmd/models/item/ruby_boots.json create mode 100644 src/main/resources/assets/gtamfmd/models/item/ruby_chestplate.json create mode 100644 src/main/resources/assets/gtamfmd/models/item/ruby_helmet.json create mode 100644 src/main/resources/assets/gtamfmd/models/item/ruby_leggings.json create mode 100644 src/main/resources/assets/gtamfmd/textures/entity/equipment/humanoid/ruby.png create mode 100644 src/main/resources/assets/gtamfmd/textures/entity/equipment/humanoid_leggings/ruby.png create mode 100644 src/main/resources/assets/gtamfmd/textures/item/ruby_boots.png create mode 100644 src/main/resources/assets/gtamfmd/textures/item/ruby_chestplate.png create mode 100644 src/main/resources/assets/gtamfmd/textures/item/ruby_helmet.png create mode 100644 src/main/resources/assets/gtamfmd/textures/item/ruby_leggings.png create mode 100644 src/main/resources/data/gtamfmd/recipe/shaped_ruby_boots.json create mode 100644 src/main/resources/data/gtamfmd/recipe/shaped_ruby_chestplate.json create mode 100644 src/main/resources/data/gtamfmd/recipe/shaped_ruby_helmet.json create mode 100644 src/main/resources/data/gtamfmd/recipe/shaped_ruby_leggings.json diff --git a/src/main/java/de/jottyfan/minecraft/item/ModArmorMaterial.java b/src/main/java/de/jottyfan/minecraft/item/ModArmorMaterial.java new file mode 100644 index 0000000..88e8395 --- /dev/null +++ b/src/main/java/de/jottyfan/minecraft/item/ModArmorMaterial.java @@ -0,0 +1,30 @@ +package de.jottyfan.minecraft.item; + +import java.util.EnumMap; + +import de.jottyfan.minecraft.Gtamfmd; +import net.minecraft.item.equipment.ArmorMaterial; +import net.minecraft.item.equipment.EquipmentAsset; +import net.minecraft.item.equipment.EquipmentType; +import net.minecraft.registry.Registry; +import net.minecraft.registry.RegistryKey; +import net.minecraft.sound.SoundEvents; +import net.minecraft.util.Identifier; +import net.minecraft.util.Util; + +public class ModArmorMaterial { + public static RegistryKey> REGISTRY_KEY = RegistryKey + .ofRegistry(Identifier.ofVanilla("equipment_asset")); + + public static final RegistryKey RUBY_KEY = RegistryKey.of(REGISTRY_KEY, + Identifier.of(Gtamfmd.MOD_ID, "ruby")); + + public static final ArmorMaterial RUBY_ARMOR_MATERIAL = new ArmorMaterial(500, + Util.make(new EnumMap<>(EquipmentType.class), map -> { + map.put(EquipmentType.BOOTS, 3); + map.put(EquipmentType.LEGGINGS,4); + map.put(EquipmentType.CHESTPLATE, 10); + map.put(EquipmentType.HELMET, 3); + map.put(EquipmentType.BODY, 5); + }), 20, SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND, 0, 0, null, RUBY_KEY); +} diff --git a/src/main/java/de/jottyfan/minecraft/item/ModItems.java b/src/main/java/de/jottyfan/minecraft/item/ModItems.java index e8ec3dd..ab0a843 100644 --- a/src/main/java/de/jottyfan/minecraft/item/ModItems.java +++ b/src/main/java/de/jottyfan/minecraft/item/ModItems.java @@ -5,6 +5,7 @@ import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents; import net.minecraft.item.Item; import net.minecraft.item.Item.Settings; import net.minecraft.item.ItemGroups; +import net.minecraft.item.equipment.EquipmentType; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; @@ -13,19 +14,26 @@ import net.minecraft.util.Identifier; public class ModItems { - public static final Item STUB = registerStubItem( - Identifier.of(Gtamfmd.MOD_ID, "stub"), new Item.Settings()); + public static final Item STUB = registerStubItem(Identifier.of(Gtamfmd.MOD_ID, "stub"), new Item.Settings()); - public static final Item RUBY = registerItem( - Identifier.of(Gtamfmd.MOD_ID, "ruby"), new Item.Settings()); - public static final Item GINGERBREAD = registerItem( - Identifier.of(Gtamfmd.MOD_ID, "gingerbread"), new Item.Settings() - .food(Food.GINGERBREAD.get())); + public static final Item RUBY = registerItem(Identifier.of(Gtamfmd.MOD_ID, "ruby"), new Item.Settings()); + public static final Item GINGERBREAD = registerItem(Identifier.of(Gtamfmd.MOD_ID, "gingerbread"), + new Item.Settings().food(Food.GINGERBREAD.get())); + + public static final Item RUBY_BOOTS = registerArmorItem("ruby_boots", EquipmentType.BOOTS); + public static final Item RUBY_HELMET = registerArmorItem("ruby_helmet", EquipmentType.HELMET); + public static final Item RUBY_CHESTPLATE = registerArmorItem("ruby_chestplate", EquipmentType.CHESTPLATE); + public static final Item RUBY_LEGGINGS = registerArmorItem("ruby_leggings", EquipmentType.LEGGINGS); + + private static Item registerArmorItem(String name, EquipmentType type) { + Identifier identifier = Identifier.of(Gtamfmd.MOD_ID, name); + Item.Settings settings = new Item.Settings().maxCount(1).armor(ModArmorMaterial.RUBY_ARMOR_MATERIAL, type); + return registerItem(identifier, settings); + } private static Item registerStubItem(Identifier identifier, Settings settings) { return Registry.register(Registries.ITEM, identifier, new StubItem( - settings.useItemPrefixedTranslationKey() - .registryKey(RegistryKey.of(RegistryKeys.ITEM, identifier)))); + settings.useItemPrefixedTranslationKey().registryKey(RegistryKey.of(RegistryKeys.ITEM, identifier)))); } private static Item registerItem(Identifier identifier, Settings settings) { @@ -37,11 +45,14 @@ public class ModItems { public static void registerModItems() { Gtamfmd.LOGGER.info("registering mod items for " + Gtamfmd.MOD_ID); - ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS) - .register(entries -> { - entries.add(STUB); - entries.add(RUBY); - entries.add(GINGERBREAD); - }); + ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS).register(entries -> { + entries.add(STUB); + entries.add(RUBY); + entries.add(GINGERBREAD); + entries.add(RUBY_HELMET); + entries.add(RUBY_CHESTPLATE); + entries.add(RUBY_LEGGINGS); + entries.add(RUBY_BOOTS); + }); } } diff --git a/src/main/resources/assets/gtamfmd/equipment/ruby.json b/src/main/resources/assets/gtamfmd/equipment/ruby.json new file mode 100644 index 0000000..47eb0db --- /dev/null +++ b/src/main/resources/assets/gtamfmd/equipment/ruby.json @@ -0,0 +1,14 @@ +{ + "layers": { + "humanoid": [ + { + "texture": "gtamfmd:ruby" + } + ], + "humanoid_leggings": [ + { + "texture": "gtamfmd:ruby" + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/gtamfmd/items/ruby_boots.json b/src/main/resources/assets/gtamfmd/items/ruby_boots.json new file mode 100644 index 0000000..7944224 --- /dev/null +++ b/src/main/resources/assets/gtamfmd/items/ruby_boots.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "gtamfmd:item/ruby_boots" + } +} diff --git a/src/main/resources/assets/gtamfmd/items/ruby_chestplate.json b/src/main/resources/assets/gtamfmd/items/ruby_chestplate.json new file mode 100644 index 0000000..a11207b --- /dev/null +++ b/src/main/resources/assets/gtamfmd/items/ruby_chestplate.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "gtamfmd:item/ruby_chestplate" + } +} diff --git a/src/main/resources/assets/gtamfmd/items/ruby_helmet.json b/src/main/resources/assets/gtamfmd/items/ruby_helmet.json new file mode 100644 index 0000000..c72bcd9 --- /dev/null +++ b/src/main/resources/assets/gtamfmd/items/ruby_helmet.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "gtamfmd:item/ruby_helmet" + } +} diff --git a/src/main/resources/assets/gtamfmd/items/ruby_leggings.json b/src/main/resources/assets/gtamfmd/items/ruby_leggings.json new file mode 100644 index 0000000..3c6e059 --- /dev/null +++ b/src/main/resources/assets/gtamfmd/items/ruby_leggings.json @@ -0,0 +1,6 @@ +{ + "model": { + "type": "minecraft:model", + "model": "gtamfmd:item/ruby_leggings" + } +} diff --git a/src/main/resources/assets/gtamfmd/lang/de_de.json b/src/main/resources/assets/gtamfmd/lang/de_de.json index 34a75aa..813322e 100644 --- a/src/main/resources/assets/gtamfmd/lang/de_de.json +++ b/src/main/resources/assets/gtamfmd/lang/de_de.json @@ -4,5 +4,9 @@ "item.gtamfmd.ruby": "Rubin", "item.gtamfmd.ruby_block": "Rubinblock", "item.gtamfmd.ruby_ore": "Rubinerz", - "item.gtamfmd.christmastree": "Weihnachtsbaum" + "item.gtamfmd.christmastree": "Weihnachtsbaum", + "item.gtamfmd.ruby_helmet": "Rubinhelm", + "item.gtamfmd.ruby_chestplate": "Rubinbrustpanzer", + "item.gtamfmd.ruby_leggings": "Rubinhose", + "item.gtamfmd.ruby_boots": "Rubinschuhe" } diff --git a/src/main/resources/assets/gtamfmd/lang/en_us.json b/src/main/resources/assets/gtamfmd/lang/en_us.json index fcc82a6..4aca011 100644 --- a/src/main/resources/assets/gtamfmd/lang/en_us.json +++ b/src/main/resources/assets/gtamfmd/lang/en_us.json @@ -4,5 +4,9 @@ "item.gtamfmd.ruby": "Ruby", "item.gtamfmd.ruby_block": "Ruby block", "item.gtamfmd.ruby_ore": "Ruby ore", - "item.gtamfmd.christmastree": "Christmas tree" + "item.gtamfmd.christmastree": "Christmas tree", + "item.gtamfmd.ruby_helmet": "ruby helmet", + "item.gtamfmd.ruby_chestplate": "ruby chestplate", + "item.gtamfmd.ruby_leggings": "ruby leggings", + "item.gtamfmd.ruby_boots": "ruby boots" } diff --git a/src/main/resources/assets/gtamfmd/models/item/ruby_boots.json b/src/main/resources/assets/gtamfmd/models/item/ruby_boots.json new file mode 100644 index 0000000..34f965d --- /dev/null +++ b/src/main/resources/assets/gtamfmd/models/item/ruby_boots.json @@ -0,0 +1,6 @@ +{ + "parent": "item/coal", + "textures": { + "layer0": "gtamfmd:item/ruby_boots" + } +} diff --git a/src/main/resources/assets/gtamfmd/models/item/ruby_chestplate.json b/src/main/resources/assets/gtamfmd/models/item/ruby_chestplate.json new file mode 100644 index 0000000..fbfca9f --- /dev/null +++ b/src/main/resources/assets/gtamfmd/models/item/ruby_chestplate.json @@ -0,0 +1,6 @@ +{ + "parent": "item/coal", + "textures": { + "layer0": "gtamfmd:item/ruby_chestplate" + } +} diff --git a/src/main/resources/assets/gtamfmd/models/item/ruby_helmet.json b/src/main/resources/assets/gtamfmd/models/item/ruby_helmet.json new file mode 100644 index 0000000..d962ac9 --- /dev/null +++ b/src/main/resources/assets/gtamfmd/models/item/ruby_helmet.json @@ -0,0 +1,6 @@ +{ + "parent": "item/coal", + "textures": { + "layer0": "gtamfmd:item/ruby_helmet" + } +} diff --git a/src/main/resources/assets/gtamfmd/models/item/ruby_leggings.json b/src/main/resources/assets/gtamfmd/models/item/ruby_leggings.json new file mode 100644 index 0000000..d224d68 --- /dev/null +++ b/src/main/resources/assets/gtamfmd/models/item/ruby_leggings.json @@ -0,0 +1,6 @@ +{ + "parent": "item/coal", + "textures": { + "layer0": "gtamfmd:item/ruby_leggings" + } +} diff --git a/src/main/resources/assets/gtamfmd/textures/entity/equipment/humanoid/ruby.png b/src/main/resources/assets/gtamfmd/textures/entity/equipment/humanoid/ruby.png new file mode 100644 index 0000000000000000000000000000000000000000..219ce91703500d71297ac668c0d44e6a7d77ebd3 GIT binary patch literal 1310 zcmV+(1>yRMP)z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy24YJ`L;$M*T>usL4NUL=000SaNLh0L01FcU01FcV0GgZ_00007 zbV*G`2kHR|4lWklo66?^00d%5L_t(&-tAexZyHw|{~UKk7xYLiv1BL+sH(^c7qBc@ zvWV<4qLIfqOWG;!5cLm8q>fgzM9Suc(OujwRVw7Hj6$IO=Jj57?ZgWNIC;NWb9-|fBoygR->-}m!H!6{PCtUBDb002zY#Xjxb+FDX@fkhhxl&w4f z%of_EV*tR>`W^t_&E^g+x(s9hm@U+9uOS?Zi>+XS;WEgn2H>`ZcIg=5SR9A-eX$=# z{QqG9zeMI!AB@wmF1!H(gMcXKWzlD%o}zeZBY>0)CYT6&eI|-P2Dvv$-Rb zWu^{Xg6dDAlryW2e6N$oxovd~@m@WFe9r&ee_qCpx{uHRAYE8QyL9Zy^;VUmVb;KH z3)#v8@b61#Rk?V6Sl`E62-^0Kn_1pTKPk>A7hfY;3!VYdT=NUc7p55`VA#DbBa591{<3 zdc6JD(ko#&)V;UK$Rj{jzNsl_nl+(3Q*~s@-zWg!yf|?VHnv6B7LB|E0I#0@>ME)! zn0W8F?^^Np5poYfMjD4Asxeh}LtQy>d;4)c{P@5lk>d=2K%qeznD zH+k(bxCMG~34g7SbNAok`*Dqa9A=Oj5jc~aEG!~DH!VJFEH8KzC>nX^%j}K5_@a?_ z%9&NCoLO~>M&3ym7KL)z7vI8IUJ#1TKDmo@>AqO|pQj6pVtwWlp z3@o7d*zF35Om)KpKw#<$W}n;@WGs|R3hp42DDrOO(Q{lgXT_SZ^7^p8@A8#l8-S_0 zXm#cAJ6hjEdTtt_T+*YwAKz{2MBIdF-d37g>uBsc^zXj<5ZYybUIGVSzjT^rZTJSD zX^|L~0B9H92@khAKR%dXp6QYY?~91T`aUA_DKtBDnP@plV*thcXNH;rttxlfo~D4? z7LL~UdXCNgc=EoCk0erk3D+PpXv3xn_BLQur7)EDXkI9Xoa|BA>+*cD+3}L!`!tg{ zkH#zDucB16`c+lJlOf2X@|qMS#fks>@iH!$Ur~(%WIKuo$(lXF&vA3r~x|hc^*iXQB!R z6AYnT64=~i=hFAvC@4P-AfFhg)9+AZi4BWyX%*Zfnjs#GUy~NYkmHibX7oR?l#UrLW3=B+i zo-U3d8Ta0X`+7fd5U9;;JF0k7t$wtR$x5V$*ws-6Dmc@ncUB$qM3fA*3+G}{%(vV>R7w;#P zW9rt6&a6lUB)l;|GF_t1j%gb$!R&dwaTsKI}Goy!dk8qZcdLZp_+# zk)7d_$}6i6S0ou~{(bY@^F!!HRGt!tQ<(vWQyjB{Kud-AzVzqK3P++pFOyeYz}2gp zW437b#=UWCgE>Pp;#SXm_F0C->*;Cr1{+Sn0B4rZ-Mig5ZgTe~ HDWM4fR;(wi literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gtamfmd/textures/item/ruby_boots.png b/src/main/resources/assets/gtamfmd/textures/item/ruby_boots.png new file mode 100644 index 0000000000000000000000000000000000000000..a06b9b3229f79be3184d7cedb48a76eed263a98c GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jPK-BC>eK@{Ea{HEjtmSN z`?>!lvI6-E$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e4;`njw}!^gFN52cQUNfk$L90|U1(2s1Lwnj--eWH0gbb!C6W$i-*G9Bx<~2o&1n z>Eak-aXL9c;!}fQ?16db|JnD{ez@%D7LydwXgmM!e=yki;d^~3-_`#uMp^p!@aPy(9mZ=Z-K67@O1TaS?83{1OW8pg-ied literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gtamfmd/textures/item/ruby_chestplate.png b/src/main/resources/assets/gtamfmd/textures/item/ruby_chestplate.png new file mode 100644 index 0000000000000000000000000000000000000000..0f66dbac58d1e9784c7c6941a54e0d87310d69c7 GIT binary patch literal 465 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jPK-BC>eK@{Ea{HEjtmSN z`?>!lvI6-E$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e4;`njw}!^gFN52cQUNfk$L90|U1(2s1Lwnj--eWH0gbb!C6W$i-*Gr`f>&2IvA& zPZ!4!i_^&o5*Y_h95`?wK|krgeC(qKvzvQP)a=Q6i^C5VV423sky&<+Oz>8X3hTm?ICV-0xkOtHkUq%6zzfMx)fJ zT@tebd2Uqa={B3}muha?q{kd>!QIT+EPYsy&79|O{++#NK74tsYcapGv9a;t&F{;3 zuJSK8viV!l-FV!6(!=Yg>mCg~2eut1hvxM2&DfxMB%Q;NdBe>n|2eF&4_+RR=HV&dc)LyJmxiaLtwQwE v&5}!gUfs}USHzHH%8eK@{Ea{HEjtmSN z`?>!lvI6-E$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e4;`njw}!^gFN52cQUNfk$L90|U1(2s1Lwnj--eWH0gbb!C6W$i-*Gap3W)n?Rup zo-U3d7N_4%wC6t?o39WB758tHEiR z$0II=?i*lq+60hBVXk(=>q-6;OXk;vd$@?2>=gNkt_fJ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/gtamfmd/textures/item/ruby_leggings.png b/src/main/resources/assets/gtamfmd/textures/item/ruby_leggings.png new file mode 100644 index 0000000000000000000000000000000000000000..1ebbe78968e5ef7cb73ce139028d80ee80210098 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jPK-BC>eK@{Ea{HEjtmSN z`?>!lvI6-E$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD8ZKG z?e4;`njw}!^gFN52cQUNfk$L90|U1(2s1Lwnj--eWH0gbb!C6W$i-)9xl7=u0#Inb zr;B5V#p&b(iHrjsdI{&#|I1H*l)itS;hlelvjvxDeyjQRf4}~pzw&JRfaL$*hwlHs zUuFCM|FzdY|Az)${=d3t#iED