diff --git a/src/main/java/net/krituximon/stalinium/datagen/ModItemTagProvider.java b/src/main/java/net/krituximon/stalinium/datagen/ModItemTagProvider.java index 6100ffd..8e20784 100644 --- a/src/main/java/net/krituximon/stalinium/datagen/ModItemTagProvider.java +++ b/src/main/java/net/krituximon/stalinium/datagen/ModItemTagProvider.java @@ -36,6 +36,8 @@ public class ModItemTagProvider extends ItemTagsProvider { .add(ModItems.STALINIUM_HOE.get()); this.tag(ItemTags.PICKAXES) .add(ModItems.STALINIUM_PICKAXE.get()); + this.tag(ItemTags.MACE_ENCHANTABLE) + .add(ModItems.STALINIUM_MACE.get()); this.tag(ItemTags.HEAD_ARMOR) .add(ModItems.STALINIUM_HELMET.get()); this.tag(ItemTags.CHEST_ARMOR) diff --git a/src/main/java/net/krituximon/stalinium/item/ModItems.java b/src/main/java/net/krituximon/stalinium/item/ModItems.java index 2ec06c7..9643569 100644 --- a/src/main/java/net/krituximon/stalinium/item/ModItems.java +++ b/src/main/java/net/krituximon/stalinium/item/ModItems.java @@ -6,6 +6,10 @@ import net.krituximon.stalinium.sound.ModSounds; import net.minecraft.core.component.DataComponents; import net.minecraft.world.item.*; import net.minecraft.world.item.component.Unbreakable; +import net.minecraft.world.item.component.ItemAttributeModifiers; +import net.minecraft.world.entity.EquipmentSlot; +import net.minecraft.world.entity.ai.attributes.AttributeModifier; +import net.minecraft.world.entity.ai.attributes.Attributes; import net.neoforged.bus.api.IEventBus; import net.neoforged.neoforge.registries.DeferredItem; import net.neoforged.neoforge.registries.DeferredRegister; @@ -63,6 +67,11 @@ public class ModItems { () -> new StaliniumBootsItem(ModArmorMaterials.STALINIUM_ARMOR_MATERIAL, ArmorItem.Type.BOOTS, new Item.Properties().component(DataComponents.UNBREAKABLE, new Unbreakable(true)).stacksTo(1))); + public static final DeferredItem STALINIUM_MACE = ITEMS.register("stalinium_mace", + () -> new StaliniumMaceItem(new Item.Properties() + .component(DataComponents.UNBREAKABLE, new Unbreakable(true)) + .attributes(StaliniumMaceItem.createAttributes()))); + public static final DeferredItem STALINIUM_SMITHING_TEMPLATE = ITEMS.register("stalinium_smithing_template", () -> new Item(new Item.Properties())); diff --git a/src/main/java/net/krituximon/stalinium/item/custom/StaliniumMaceItem.java b/src/main/java/net/krituximon/stalinium/item/custom/StaliniumMaceItem.java new file mode 100644 index 0000000..c5aa5b5 --- /dev/null +++ b/src/main/java/net/krituximon/stalinium/item/custom/StaliniumMaceItem.java @@ -0,0 +1,36 @@ +package net.krituximon.stalinium.item.custom; + +import net.minecraft.world.entity.EquipmentSlotGroup; +import net.minecraft.world.entity.ai.attributes.AttributeModifier; +import net.minecraft.world.entity.ai.attributes.Attributes; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.MaceItem; +import net.minecraft.world.item.component.ItemAttributeModifiers; + +public class StaliniumMaceItem extends MaceItem { + public StaliniumMaceItem(Properties properties) { + super(properties); + } + + @Override + public boolean isDamageable(ItemStack stack) { + return false; + } + + @Override + public boolean isDamaged(ItemStack stack) { + return false; + } + + @Override + public int getEnchantmentValue() { + return 25; + } + + public static ItemAttributeModifiers createAttributes() { + return ItemAttributeModifiers.builder().add(Attributes.ATTACK_DAMAGE, new AttributeModifier( + BASE_ATTACK_DAMAGE_ID, (double)9.0F, AttributeModifier.Operation.ADD_VALUE), + EquipmentSlotGroup.MAINHAND).add(Attributes.ATTACK_SPEED, new AttributeModifier(BASE_ATTACK_SPEED_ID, + (double)-2.4F, AttributeModifier.Operation.ADD_VALUE), EquipmentSlotGroup.MAINHAND).build(); + } +} diff --git a/src/main/resources/assets/stalinium/lang/en_us.json b/src/main/resources/assets/stalinium/lang/en_us.json index a66a27a..e5bcc85 100644 --- a/src/main/resources/assets/stalinium/lang/en_us.json +++ b/src/main/resources/assets/stalinium/lang/en_us.json @@ -6,6 +6,7 @@ "item.stalinium.stalinium_shovel": "Stalinium Shovel", "item.stalinium.stalinium_hoe": "Stalinium Hoe", "item.stalinium.stalinium_pickaxe": "Stalinium Pickaxe", + "item.stalinium.stalinium_mace": "Stalinium Mace", "advancements.stalinium.stalinium.root.title": "The Start of the Revolution", "advancements.stalinium.stalinium.root.desc": "Welcome to Stalinium", diff --git a/src/main/resources/data/stalinium/recipe/stalinium_trim_from_stalinium_press.json b/src/main/resources/data/stalinium/recipe/stalinium_trim_from_stalinium_press.json new file mode 100644 index 0000000..890d863 --- /dev/null +++ b/src/main/resources/data/stalinium/recipe/stalinium_trim_from_stalinium_press.json @@ -0,0 +1,9 @@ +{ + "type": "stalinium:stalinium_press", + "nugget": { + "item": "stalinium:compressed_bedrock" + }, + "result": { + "id": "stalinium:stalinium_ingot" + } +} \ No newline at end of file