From 6e2fa1e621ecb6753ae7032c978fec0624c7766a Mon Sep 17 00:00:00 2001 From: IM23a-spirgif Date: Fri, 16 May 2025 10:08:40 +0200 Subject: [PATCH] Add Stalinium Sword item --- .../stalinium/datagen/ModItemModelProvider.java | 6 ++++++ .../stalinium/datagen/ModRecipeProvider.java | 8 ++++++++ .../stalinium/item/ModCreativeModeTabs.java | 1 + .../net/krituximon/stalinium/item/ModItems.java | 8 ++++++-- .../net/krituximon/stalinium/item/ModTiers.java | 13 +++++++++++++ .../resources/assets/stalinium/lang/en_us.json | 1 + .../stalinium/textures/item/stalinium_axe.png | Bin 507 -> 277 bytes .../stalinium/textures/item/stalinium_sword.png | Bin 521 -> 386 bytes 8 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 src/main/java/net/krituximon/stalinium/item/ModTiers.java diff --git a/src/main/java/net/krituximon/stalinium/datagen/ModItemModelProvider.java b/src/main/java/net/krituximon/stalinium/datagen/ModItemModelProvider.java index 4b3f8eb..0bc0782 100644 --- a/src/main/java/net/krituximon/stalinium/datagen/ModItemModelProvider.java +++ b/src/main/java/net/krituximon/stalinium/datagen/ModItemModelProvider.java @@ -16,5 +16,11 @@ public class ModItemModelProvider extends ItemModelProvider { basicItem(ModItems.STALINIUM_INGOT.get()); basicItem(ModItems.SOVIET_ANTHEM_MUSIC_DISC.get()); basicItem(ModItems.STALINIUM_NUGGET.get()); + singleTexture( + "stalinium_sword", + mcLoc("item/handheld"), + "layer0", + modLoc("item/stalinium_sword") + ); } } diff --git a/src/main/java/net/krituximon/stalinium/datagen/ModRecipeProvider.java b/src/main/java/net/krituximon/stalinium/datagen/ModRecipeProvider.java index d30d24f..68bee05 100644 --- a/src/main/java/net/krituximon/stalinium/datagen/ModRecipeProvider.java +++ b/src/main/java/net/krituximon/stalinium/datagen/ModRecipeProvider.java @@ -44,5 +44,13 @@ public class ModRecipeProvider extends RecipeProvider implements IConditionBuild .define('N', ModItems.STALINIUM_NUGGET.get()) .define('S', Items.NETHER_STAR) .unlockedBy("has_nugget", has(ModItems.STALINIUM_NUGGET)).save(recipeOutput); + + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ModItems.STALINIUM_SWORD.get()) + .pattern("I") + .pattern("I") + .pattern("G") + .define('I', ModItems.STALINIUM_INGOT.get()) + .define('G', Items.GOLD_BLOCK) + .unlockedBy("has_ingot", has(ModItems.STALINIUM_INGOT)).save(recipeOutput); } } diff --git a/src/main/java/net/krituximon/stalinium/item/ModCreativeModeTabs.java b/src/main/java/net/krituximon/stalinium/item/ModCreativeModeTabs.java index 6409f04..cd7caa1 100644 --- a/src/main/java/net/krituximon/stalinium/item/ModCreativeModeTabs.java +++ b/src/main/java/net/krituximon/stalinium/item/ModCreativeModeTabs.java @@ -26,6 +26,7 @@ public class ModCreativeModeTabs { output.accept(ModBlocks.STALINIUM_ORE.get()); output.accept(ModBlocks.COMPRESSED_BEDROCK.get()); output.accept(ModBlocks.STALINIUM_PRESS.get()); + output.accept(ModItems.STALINIUM_SWORD.get()); }).build()); public static void register(IEventBus eventBus) { diff --git a/src/main/java/net/krituximon/stalinium/item/ModItems.java b/src/main/java/net/krituximon/stalinium/item/ModItems.java index 0f2bf84..4a90ab1 100644 --- a/src/main/java/net/krituximon/stalinium/item/ModItems.java +++ b/src/main/java/net/krituximon/stalinium/item/ModItems.java @@ -1,10 +1,11 @@ package net.krituximon.stalinium.item; -import ca.weblite.objc.Proxy; import net.krituximon.stalinium.Stalinium; import net.krituximon.stalinium.sound.ModSounds; import net.minecraft.world.item.Item; +import net.minecraft.world.item.SwordItem; import net.neoforged.bus.api.IEventBus; +import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredItem; import net.neoforged.neoforge.registries.DeferredRegister; @@ -13,13 +14,16 @@ public class ModItems { public static final DeferredItem STALINIUM_INGOT = ITEMS.register("stalinium_ingot", () -> new Item(new Item.Properties())); - + public static final DeferredItem STALINIUM_NUGGET = ITEMS.register("stalinium_nugget", () -> new Item(new Item.Properties())); public static final DeferredItem SOVIET_ANTHEM_MUSIC_DISC = ITEMS.register("soviet_anthem_music_disc", () -> new Item(new Item.Properties().jukeboxPlayable(ModSounds.SOVIET_ANTHEM_KEY).stacksTo(1))); + public static final DeferredItem STALINIUM_SWORD = ITEMS.register("stalinium_sword", + () -> new SwordItem(ModTiers.STALINIUM, new Item.Properties() + .attributes(SwordItem.createAttributes(ModTiers.STALINIUM, 8, -2.75f)))); public static void register(IEventBus eventBus) { ITEMS.register(eventBus); diff --git a/src/main/java/net/krituximon/stalinium/item/ModTiers.java b/src/main/java/net/krituximon/stalinium/item/ModTiers.java new file mode 100644 index 0000000..036ea47 --- /dev/null +++ b/src/main/java/net/krituximon/stalinium/item/ModTiers.java @@ -0,0 +1,13 @@ +package net.krituximon.stalinium.item; + +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Tier; +import net.minecraft.world.item.component.Tool; +import net.minecraft.world.item.crafting.Ingredient; +import net.minecraft.world.level.block.Block; +import net.neoforged.neoforge.common.SimpleTier; + +public class ModTiers { + public static final Tier STALINIUM = new SimpleTier(BlockTags.INCORRECT_FOR_NETHERITE_TOOL, 4096, 1f, 1f, 25, () -> Ingredient.of(ModItems.STALINIUM_INGOT.get(), ModItems.STALINIUM_NUGGET.get())); +} diff --git a/src/main/resources/assets/stalinium/lang/en_us.json b/src/main/resources/assets/stalinium/lang/en_us.json index 78d4a29..f6f0b7a 100644 --- a/src/main/resources/assets/stalinium/lang/en_us.json +++ b/src/main/resources/assets/stalinium/lang/en_us.json @@ -1,6 +1,7 @@ { "item.stalinium.stalinium_ingot": "Stalinium Ingot", "item.stalinium.stalinium_nugget": "Stalinium Nugget", + "item.stalinium.stalinium_sword": "Stalinium Sword", "item.stalinium.soviet_anthem_music_disc": "Soviet Anthem Music Disc", "item.stalinium.soviet_anthem_music_disc.desc": "Orchestra of the Ministry of Defense of the USSR - Soviet Union national anthem", diff --git a/src/main/resources/assets/stalinium/textures/item/stalinium_axe.png b/src/main/resources/assets/stalinium/textures/item/stalinium_axe.png index 0fa533faafaee18b7433fc06ad03068fbcb58f6b..89b9b90be7f8f26a74e68bfaab0e85c1e55cc90d 100644 GIT binary patch delta 260 zcmV+f0sH>@1C;`h8Gi-<001BJ|6u?C00DDSM?wIu&K&6g007TPL_t(IjbmV-2WVkn z_}{|7@E@BT3o)8q{2d{jjr;%CFfcF@Z2(O3>D`BMs$s&X+0;}MMYEcsIK%&Us9wQo zz!@~YxVSLG%a?B%0)v2o7; literal 507 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}50G|-o76yhB{*IHmSazCfu2K|V+Q$&Uz);G-;9}0RdohE(HiNsht(}=U zP`Tmm_2+;TUrCT(@PA~$;CkTB37`yTfk$L9P{CmkW;~w1A_XWYQQ{g=5}cn_Ql40p z$`Fv4nOCCc=Nh75s%NNY-hJ)6B~Z<_)CkWsPfsld4j_k>L5h);ff2~^0%B<>8{|6; zMrN=$6Oe7l$OQIn6p)?S&H@(C0jH>LQ-Ev`U;>)M1XdYjX#r$Gbr~8MfMiwO=k+c&*?JVnjPi7G4ABUVJ>xBOK!Jlf zz(;hY?)Uw9AGt5DnY5hwr9Pj@YeuikFT7J4I7%2#9Bt$^y5Ts}IBPnuR;!@nyR`jl ybS7L%i&Qv&Pxy&#wL^vch4+;_QFmUy=zPV#o|#+gvDQp(kd2bT>qFLxME>2MFytHMWILw?+TJK}`-Vm77aLQ;ioyQy@4sH5iB?a<<43 zTo}Ty!IXQEI{hxs!}C0!@9&LAV+A=Nv%R(od{8a{aDM+pW`7mfA9%~gox-hhNgBG6 zR=FgVP#FN6#1CSyTP#RJSK<~65qMt0C(ty_goy)^w+wo3J#x8qF59o%g?cwP*al3` zqaJd1K(=&6yE|k&{^q7TjKC3tKHysh`!TpP3fNIu9)n2&CO*a*NFE4)4VC3RnEVMx zGMJSS018sU3v1Q9GUe7Xq@kNS%G}r0G|-o76yhB{*D0*3_DFVX9;qxQWP&`V3^Fs;$qITw2#4Fn_>52hAt)s zJD_?71`pXki+~h=NswRge-yxQ<<5+SKq<}wkH}&M2EM}}%y>M1MG8<*qQo_#Bsf2< zq&%@Gl_4N8Gp|I?&oxBBRL@Y)y!+aBOQ4!jLcwhCLr68kqPYMC?GqtodqnO1!RLj0uY1r!)P>18GvClft`T`sKUU=*nn{X z#8i+D)&&rgrU2O>zyvgh39K^6(gMhW>M}Gi0LiMl&+A=mvh^sCnd0f<7@`pz+V3fJ zK!JmWy`bCk$N%Ey9cg-(bp57YFy7E}ky*)()uWC{q@$GELttC-0;RT$J1yeMOYYoo zJ(5<>+n`x*wWra-POn?ZJa My85}Sb4q9e0K_AJSpWb4