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 0fa533f..89b9b90 100644 Binary files a/src/main/resources/assets/stalinium/textures/item/stalinium_axe.png and b/src/main/resources/assets/stalinium/textures/item/stalinium_axe.png differ diff --git a/src/main/resources/assets/stalinium/textures/item/stalinium_sword.png b/src/main/resources/assets/stalinium/textures/item/stalinium_sword.png index dc15e29..6a24e18 100644 Binary files a/src/main/resources/assets/stalinium/textures/item/stalinium_sword.png and b/src/main/resources/assets/stalinium/textures/item/stalinium_sword.png differ