From ea6a55651bf1405ac2eaf90d33b0151979188c93 Mon Sep 17 00:00:00 2001 From: Jottyfan Date: Thu, 17 Jul 2025 19:21:31 +0200 Subject: [PATCH] finished armor --- gradle.properties | 2 +- .../jottyfan/quickiemod/item/ArmorStack.java | 21 ++++++++++++ .../quickiemod/item/ModArmorMaterials.java | 31 +++++++++++++++++ .../de/jottyfan/quickiemod/item/ModItems.java | 32 +++++++++++------- .../quickiemod/equipment/turquoise.json | 14 ++++++++ .../entity/equipment/humanoid/turquoise.png | Bin 0 -> 5529 bytes .../equipment/humanoid_leggings/turquoise.png | Bin 0 -> 4960 bytes .../textures/item/turquoise_boots.png | Bin 4355 -> 4587 bytes .../textures/item/turquoise_chestplate.png | Bin 4450 -> 4684 bytes .../textures/item/turquoise_helmet.png | Bin 4369 -> 4602 bytes .../textures/item/turquoise_leggings.png | Bin 4372 -> 4601 bytes 11 files changed, 87 insertions(+), 13 deletions(-) create mode 100644 src/main/java/de/jottyfan/quickiemod/item/ArmorStack.java create mode 100644 src/main/java/de/jottyfan/quickiemod/item/ModArmorMaterials.java create mode 100644 src/main/resources/assets/quickiemod/equipment/turquoise.json create mode 100644 src/main/resources/assets/quickiemod/textures/entity/equipment/humanoid/turquoise.png create mode 100644 src/main/resources/assets/quickiemod/textures/entity/equipment/humanoid_leggings/turquoise.png diff --git a/gradle.properties b/gradle.properties index f76c622..b37cb2c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ yarn_mappings=1.21.7+build.2 loader_version=0.16.14 # Mod Properties -mod_version=1.21.7.3 +mod_version=1.21.7.4 maven_group=de.jottyfan.quickiemod archives_base_name=quickiemod diff --git a/src/main/java/de/jottyfan/quickiemod/item/ArmorStack.java b/src/main/java/de/jottyfan/quickiemod/item/ArmorStack.java new file mode 100644 index 0000000..32c2cb9 --- /dev/null +++ b/src/main/java/de/jottyfan/quickiemod/item/ArmorStack.java @@ -0,0 +1,21 @@ +package de.jottyfan.quickiemod.item; + +import net.minecraft.item.Item; +import net.minecraft.item.equipment.EquipmentType; +import net.minecraft.registry.RegistryKey; +import net.minecraft.registry.RegistryKeys; +import net.minecraft.util.Identifier; + +/** + * + * @author jotty + * + */ +public class ArmorStack extends Item { + + public ArmorStack(Identifier identifier, EquipmentType type) { + super(new Item.Settings().maxCount(1).useItemPrefixedTranslationKey() + .registryKey(RegistryKey.of(RegistryKeys.ITEM, identifier)) + .armor(ModArmorMaterials.TURQUOISE_ARMOR_MATERIAL, type)); + } +} diff --git a/src/main/java/de/jottyfan/quickiemod/item/ModArmorMaterials.java b/src/main/java/de/jottyfan/quickiemod/item/ModArmorMaterials.java new file mode 100644 index 0000000..bd49444 --- /dev/null +++ b/src/main/java/de/jottyfan/quickiemod/item/ModArmorMaterials.java @@ -0,0 +1,31 @@ +package de.jottyfan.quickiemod.item; + +import java.util.EnumMap; + +import de.jottyfan.quickiemod.Quickiemod; +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; + +/** + * + * @author jotty + * + */ +public class ModArmorMaterials { + static RegistryKey> REGISTRY_KEY = RegistryKey.ofRegistry(Identifier.ofVanilla("equipment_asset")); + public static final RegistryKey TURQUOISE_KEY = RegistryKey.of(REGISTRY_KEY, Identifier.of(Quickiemod.MOD_ID, "turquoise")); + + public static final ArmorMaterial TURQUOISE_ARMOR_MATERIAL = new ArmorMaterial(500, Util.make(new EnumMap<>(EquipmentType.class), map -> { + map.put(EquipmentType.BOOTS, 4); + map.put(EquipmentType.LEGGINGS, 8); + map.put(EquipmentType.CHESTPLATE, 15); + map.put(EquipmentType.HELMET, 4); + map.put(EquipmentType.BODY, 8); + }), 20, SoundEvents.ITEM_ARMOR_EQUIP_DIAMOND, 0, 0, null, TURQUOISE_KEY); +} diff --git a/src/main/java/de/jottyfan/quickiemod/item/ModItems.java b/src/main/java/de/jottyfan/quickiemod/item/ModItems.java index 1b86097..7b18570 100644 --- a/src/main/java/de/jottyfan/quickiemod/item/ModItems.java +++ b/src/main/java/de/jottyfan/quickiemod/item/ModItems.java @@ -6,6 +6,7 @@ import java.util.List; import de.jottyfan.quickiemod.Quickiemod; import de.jottyfan.quickiemod.identifier.ModIdentifiers; import net.minecraft.item.Item; +import net.minecraft.item.equipment.EquipmentType; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; import net.minecraft.util.Identifier; @@ -64,14 +65,15 @@ public class ModItems { new Item64Stack(ModIdentifiers.ITEM_RAWTURQUOISE)); public static final Item ITEM_TURQUOISEINGOT = registerItem(ModIdentifiers.ITEM_TURQUOISEINGOT, new Item64Stack(ModIdentifiers.ITEM_TURQUOISEINGOT)); - public static final Item ITEM_TURQUOISE_BOOTS = registerItem(ModIdentifiers.ITEM_TURQUOISE_BOOTS, - new Item64Stack(ModIdentifiers.ITEM_TURQUOISE_BOOTS)); - public static final Item ITEM_TURQUOISE_HELMET = registerItem(ModIdentifiers.ITEM_TURQUOISE_HELMET, - new Item64Stack(ModIdentifiers.ITEM_TURQUOISE_HELMET)); - public static final Item ITEM_TURQUOISE_LEGGINGS = registerItem(ModIdentifiers.ITEM_TURQUOISE_LEGGINGS, - new Item64Stack(ModIdentifiers.ITEM_TURQUOISE_LEGGINGS)); - public static final Item ITEM_TURQUOISE_CHESTPLATE = registerItem(ModIdentifiers.ITEM_TURQUOISE_CHESTPLATE, - new Item64Stack(ModIdentifiers.ITEM_TURQUOISE_CHESTPLATE)); + + public static final Item ARMOR_TURQUOISE_BOOTS = registerArmorItem(ModIdentifiers.ITEM_TURQUOISE_BOOTS, + new ArmorStack(ModIdentifiers.ITEM_TURQUOISE_BOOTS, EquipmentType.BOOTS)); + public static final Item ARMOR_TURQUOISE_HELMET = registerArmorItem(ModIdentifiers.ITEM_TURQUOISE_HELMET, + new ArmorStack(ModIdentifiers.ITEM_TURQUOISE_HELMET, EquipmentType.HELMET)); + public static final Item ARMOR_TURQUOISE_LEGGINGS = registerArmorItem(ModIdentifiers.ITEM_TURQUOISE_LEGGINGS, + new ArmorStack(ModIdentifiers.ITEM_TURQUOISE_LEGGINGS, EquipmentType.LEGGINGS)); + public static final Item ARMOR_TURQUOISE_CHESTPLATE = registerArmorItem(ModIdentifiers.ITEM_TURQUOISE_CHESTPLATE, + new ArmorStack(ModIdentifiers.ITEM_TURQUOISE_CHESTPLATE, EquipmentType.CHESTPLATE)); public static final Item TOOL_SPEEDPOWDERAXE = registerItem(ModIdentifiers.TOOL_SPEEDPOWDERAXE, new ToolSpeedpowderAxe(ModIdentifiers.TOOL_SPEEDPOWDERAXE)); @@ -102,6 +104,11 @@ public class ModItems { return Registry.register(Registries.ITEM, identifier, item); } + private static final Item registerArmorItem(Identifier identifier, Item item) { + + return Registry.register(Registries.ITEM, identifier, item); + } + public static final List registerModItems() { Quickiemod.LOGGER.debug(String.format("registering item %s", Quickiemod.MOD_ID)); @@ -128,10 +135,11 @@ public class ModItems { items.add(ITEM_COPPERSTUB); items.add(ITEM_RAWTURQUOISE); items.add(ITEM_TURQUOISEINGOT); - items.add(ITEM_TURQUOISE_BOOTS); - items.add(ITEM_TURQUOISE_HELMET); - items.add(ITEM_TURQUOISE_LEGGINGS); - items.add(ITEM_TURQUOISE_CHESTPLATE); + + items.add(ARMOR_TURQUOISE_BOOTS); + items.add(ARMOR_TURQUOISE_HELMET); + items.add(ARMOR_TURQUOISE_LEGGINGS); + items.add(ARMOR_TURQUOISE_CHESTPLATE); items.add(TOOL_SPEEDPOWDERPICKAXE); items.add(TOOL_SPEEDPOWDERAXE); diff --git a/src/main/resources/assets/quickiemod/equipment/turquoise.json b/src/main/resources/assets/quickiemod/equipment/turquoise.json new file mode 100644 index 0000000..488e117 --- /dev/null +++ b/src/main/resources/assets/quickiemod/equipment/turquoise.json @@ -0,0 +1,14 @@ +{ + "layers": { + "humanoid": [ + { + "texture": "quickiemod:turquoise" + } + ], + "humanoid_leggings": [ + { + "texture": "quickiemod:turquoise" + } + ] + } +} \ No newline at end of file diff --git a/src/main/resources/assets/quickiemod/textures/entity/equipment/humanoid/turquoise.png b/src/main/resources/assets/quickiemod/textures/entity/equipment/humanoid/turquoise.png new file mode 100644 index 0000000000000000000000000000000000000000..0b5dedefd37501ec396b1c93099f91ec8d7ba55d GIT binary patch literal 5529 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 BLi7Lt literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/quickiemod/textures/entity/equipment/humanoid_leggings/turquoise.png b/src/main/resources/assets/quickiemod/textures/entity/equipment/humanoid_leggings/turquoise.png new file mode 100644 index 0000000000000000000000000000000000000000..6b6e5dc1f3a027d535b37f79fbc3c24c3f398472 GIT binary patch literal 4960 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/quickiemod/textures/item/turquoise_boots.png b/src/main/resources/assets/quickiemod/textures/item/turquoise_boots.png index edc22168f4188eb4e6798d70cf4f1a980d5478da..1940f6f7343f2123157cf573907207e98137bc5c 100644 GIT binary patch delta 1000 zcmV*BI_fNBmu;cB_Dr54#OY}yYq@YA;AH{bLiSh`@x>S0BKdGS;9?h$%?hQ7Hke5UdqZcj=;1P=Nw6+0Yt2!cN#?t+t| zi*Zn#A)V#%je}G6FXNGALZxBy!+6L!+;s`6rD)Bk-xJefze&o91@f+u& z%L31gn3?oEafDbbcCgaHtYm7$Q^ZkK(`&e5hSsQ zB}fpVpoTIkuo0tOC&faV&J#ZVVb?E_OCeVoj2sK7LWAu3!T;cQe{ZeAuoK11oUqM7uRh~*#j><;QfrgDF+PR0=;Wq-&*H5eE>4ltJDo}a0rYQDSO@L-94Rs`?sdmzaO6Fa=5XD znos}$4qItdSaeuTvxWkM0wgpuWHDuAGBqtRGdMUcG&p8CEjcwfF)cS`GiEbpGdD0e zIAxPA1*Z)%H#adjFf}$dH90pkli~$%3NbfSF*!OgGdePpTm~cxF*j5(IXW;iIx@40 z1`+|2xdvP$W-vA~H#9agEj2h~F)cJXW@0TkVr643GBjc`H!(40H#0XmlQ{=U3o$oT zF*!OgGdeOgvyKOD2!FGz*vtR`00v@9M??Ss0Av7wTP0hg00009a7bBm000XU000XU z0RWnu7ytkO2XskIMF;5z5fK9!^|(Gn00027NklEJC! zTw+)OpS{}u|NsC0U-Kfd z#3qK-09*=j0jw^#cH<7|2JqRd{kK_Hi&G)YP>BVZ49Ee=gs%D8jXMm#p8miv;Mdb1 z4A*YlVbIc0K{130*#?;Ach&PzH9z|R7eluIo=|>0`v4dGar+h4#Dbm%aH$(&0061| WWX)p?Ret~g00{s|MNUMnLSTXcC95z1 delta 904 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 h&*~o<5(x}h9Du%I@O1TaS?83{1OSc_pJM<3 delta 940 zcmV;d15^C^BatGIBmuyYB_V$UAqf2U6g>h0Djdh{+N3w=@rw)FtZgT893B~wG+xg~ zx=mo_#HC5qTEW1|irs{OqaU1s4~_s%vEXTC(;|$?pX>_1)muJ00Dz(LqkwWLqi~Na&Km7Y-Iod zc$|HaJxIeq9K~N#r6LuFRuJisp*q<`MI37ticlfc3avVrT>1q~3`vTMqu^R_@ME#+ z;Nq;SgR3A2et@_OPKtjnQsV!TLW>v=j{EWM-sA2aAT(=CvwD(%rrTyVof7kf6*2UR z5CjY%hKS58V^)$f@Eu?G2=MhT!L$6&{W%8IqQ!uKNStJbX%nv#PjA`==Y8TRtH>(x zIq|qj7bJe>P2FSS)w3(#5P|YQ$5-aaDiQDPPEYta9GstkvqQ zeNXzBx-kgEztj(KcAgY5dj z|KNAGR%vp=OA4oe-WSLD7zIMRK&#<6-^Y&AIst;uz?I(dZ#03KPtqG5Eq(+HZUYzB z9ZlH-E_Z<8Cqq6qWmgK)6iOxF{fxe;07Pzq{#CEH_C8J@fE;y|xd9Fifw3}Wulc;Y zue-N@&$Rpd0brYQpU>Hz4FCWQc(a89iUK5MW;8T0Fk>_=V`E}wEi^b}H!WdiG-E9= zWHMtiWnndDH!)+AGX}P+K;GmWB$7_=UX}8Gb$M z{r}_kQxrp(uxV~Ib70siZV7>)!L!uh|Ry=4$;Eyij96E*{m1Qjy;diEBM85kHC z-c|QvjRhuBqU_hxuY?V_cH<7*Ru){R!KFD{LOO$^z3+Xw`wkGARi;@z2|&|rGm}b+x%{dadPN9BG=qrA%rfRADGlH8b&mkw z@8UemzwXa5pcX6!1b;;01T##Vc!PLm(>6Ho6GvECR*BDvCrr8^@gvt2kKZ_#To!m{ z#LQ;qi6g{fsf(2^W@S?&o+gf}nojvb&SRDH7H6$mXYG6P7lsS^$}-n!jUk0aEJ1<@ z1$9(Vg^f7vIw=-1be{C_kGg(|Tnf1=VB}ap4H{(E5B>+gdw**crzX9ma1!W!ah#7B z5ZVP=4afODcAVA;5PSx%^p3yQ1ZF=;Z*;Wi5iqz7TwHfFWe>RA0Y;t-*_2%=NJ}Ud zf%h}|raUlw3-qsfeQTfN^a03HuhKWb!67hSqU?2_clUMo?cbVq|9${!r*fm+1&DC~ z01jJeR9JLaO|ymqgaRaDVK`$rF*r0WIAS<6Ei__bH!WghI5aIdF=aJjH#0J1GG;WB zE(NCzGB-CdIWRXjIWRdfIg{cAa0@XvR53X^Ff}?bHbC@Yd7vNT)S}xZx}G)lDKx`4#SItnG7!yW-?sZdxdxdV79+V zn917t6oT&3(%d-CM7_+7l;K+glvb!Kd!*U>VjWSe=ra$&V+6gDVi~o kGI}b5C0ktL7=r@<0DUB7vU>wskpKVy07*qoM6N<$f_lxRSpWb4 delta 943 zcmV;g15o_=Ba|YLBmuyYB_V$UAqf2E6g>h0Djvt}+N3w=@rw)FtZgR&hDSyO#_Rcj z+XN*6$yG}$1r5@qQ8%LK=!Z`zhmQnLvee_bW zo|b{Tk$QNVgEr93&?_Nk2l;oW6YvJqfLQ{)o72Vs00Dz(LqkwWLqi~Na&Km7Y-Iod zc$|HaJxIeq9K~N#r6Mg3RuEChP@U|eB92;xB2);qLaPoYmwrK$h9t$sQE)9d__0`Z zaBPxSzWV$rrTyZnGmzNRWbC6 z5CjZh1QD58#+)Rj;5)wV5#Z}xoM-u;`*TFpyv2ZkNIc67(3QNPu~_V2rGr_?)QG2uW2%3qQ@)V(SmnIMS*z4o z>z@3D;k>@G%ypW>NMaF7kRU=q4P{hdBTlPMiiI@oCw%-vu3sXTLas6xITlcb2HEw4 z|H1EWt-|DlmlRF_-7k*wF$#osfo9!tzK)BVfh)c3uQq_0PtxmcEp`O-Z37qA zZB5w&E_Z;zCqq6qWmgK)6bc34{fxdT2lU?py=z`?t$mz602%5kbpsq60%JwWUiW!- zPiJrco@w>>15_+>nwoxrrT_p9c(a58iUK5KG%z?fV>vM`GGsS5Ei^MYHZ5W?V__{e zVP<1DH(@noVlyz4G6km%F*G?bI50CfGB`LhIFsfDa0@UpR5CLCL_t(I%VS^|Xuyarz-O=bAD7}^&)zcpxc!t7r)hlldjA*xzWE;p7XH5Z zf8p<&|GnPs{qOa5?|-RPeg8RBrBN(k!Di5+KerfGetLo-&L+)`A;yHw0GQ@$H|{W8 zyKx6^7_i`yxOU?X!;6F_h~Hydix~`@^|7jB!e#r5geHa`x1Tcpxc!vzU3D)`7ck+n z9mVfb!lW5M3Sc5+J1qWj1twM({CfJ8fmm@Sbel-gjFFVlQyDDT;u0Sm000n7WN!^! R`N9AI002ovPDHLkV1hN>ry2kN