Skip to content

Commit 87aa824

Browse files
committed
Beta Swords
1 parent c3a979d commit 87aa824

File tree

15 files changed

+116
-0
lines changed

15 files changed

+116
-0
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package com.github.ethanicuss.astraladditions.items.weapons;
2+
3+
import com.github.ethanicuss.astraladditions.AstralAdditions;
4+
import com.google.common.collect.ImmutableMultimap;
5+
import com.google.common.collect.Multimap;
6+
import net.minecraft.client.item.TooltipContext;
7+
import net.minecraft.entity.EquipmentSlot;
8+
import net.minecraft.entity.LivingEntity;
9+
import net.minecraft.entity.attribute.EntityAttribute;
10+
import net.minecraft.entity.attribute.EntityAttributeModifier;
11+
import net.minecraft.entity.attribute.EntityAttributes;
12+
import net.minecraft.item.Item;
13+
import net.minecraft.item.ItemStack;
14+
import net.minecraft.nbt.NbtCompound;
15+
import net.minecraft.sound.SoundCategory;
16+
import net.minecraft.sound.SoundEvents;
17+
import net.minecraft.text.LiteralText;
18+
import net.minecraft.text.Text;
19+
import net.minecraft.text.TranslatableText;
20+
import net.minecraft.util.Formatting;
21+
import net.minecraft.util.StringHelper;
22+
import net.minecraft.world.World;
23+
import org.jetbrains.annotations.Nullable;
24+
25+
import java.util.List;
26+
27+
public class BetaSwordItem extends Item {
28+
private final Multimap<EntityAttribute, EntityAttributeModifier> attributeModifiers;
29+
30+
public BetaSwordItem(Settings settings, double damage) {
31+
super(settings);
32+
ImmutableMultimap.Builder<EntityAttribute, EntityAttributeModifier> builder = ImmutableMultimap.builder();
33+
builder.put(EntityAttributes.GENERIC_ATTACK_DAMAGE, new EntityAttributeModifier(ATTACK_DAMAGE_MODIFIER_ID, "Weapon modifier", damage-1, EntityAttributeModifier.Operation.ADDITION));
34+
builder.put(EntityAttributes.GENERIC_ATTACK_SPEED, new EntityAttributeModifier(ATTACK_SPEED_MODIFIER_ID, "Weapon modifier", (double)12, EntityAttributeModifier.Operation.ADDITION));
35+
this.attributeModifiers = builder.build();
36+
}
37+
38+
@Override
39+
public Multimap<EntityAttribute, EntityAttributeModifier> getAttributeModifiers(EquipmentSlot slot) {
40+
if (slot == EquipmentSlot.MAINHAND) {
41+
return this.attributeModifiers;
42+
}
43+
return super.getAttributeModifiers(slot);
44+
}
45+
46+
@Override
47+
public boolean postHit(ItemStack stack, LivingEntity target, LivingEntity attacker) {
48+
if (!attacker.world.isClient()) {
49+
stack.damage(1, attacker, e -> e.sendEquipmentBreakStatus(EquipmentSlot.MAINHAND));
50+
}
51+
return true;
52+
}
53+
54+
@Override
55+
public void appendTooltip(ItemStack itemStack, @Nullable World world, List<Text> tooltip, TooltipContext context) {
56+
if (itemStack.hasNbt()) {
57+
NbtCompound nbtCompound = itemStack.getNbt();
58+
tooltip.add(new TranslatableText("tooltip." + AstralAdditions.MOD_ID + ".beta_sword_smell").formatted(Formatting.DARK_PURPLE));
59+
}
60+
}
61+
}

src/main/java/com/github/ethanicuss/astraladditions/registry/ModItems.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@ public class ModItems {
5353
public static final Item CHROMATIC_VACUUM = new ChromaticVacuumItem(new FabricItemSettings().group(ItemGroup.TOOLS).maxCount(1).maxDamage(512));
5454
public static final Item SHOTGUN = new ShotgunItem(new FabricItemSettings().group(ItemGroup.TOOLS).maxCount(1).maxDamage(512));
5555
public static final Item MACHINEGUN = new MachinegunItem(new FabricItemSettings().group(ItemGroup.TOOLS).maxCount(1).maxDamage(1024));
56+
public static final Item BETA_IRON_SWORD = new BetaSwordItem(new FabricItemSettings().group(ItemGroup.COMBAT).maxCount(1).rarity(Rarity.COMMON).maxDamage(250), 4);
57+
public static final Item BETA_DIAMOND_SWORD = new BetaSwordItem(new FabricItemSettings().group(ItemGroup.COMBAT).maxCount(1).rarity(Rarity.COMMON).maxDamage(1561), 5);
58+
public static final Item BETA_DESH_SWORD = new BetaSwordItem(new FabricItemSettings().group(ItemGroup.COMBAT).maxCount(1).rarity(Rarity.UNCOMMON).maxDamage(1024), 5);
59+
public static final Item BETA_OSTRUM_SWORD = new BetaSwordItem(new FabricItemSettings().group(ItemGroup.COMBAT).maxCount(1).rarity(Rarity.UNCOMMON).maxDamage(1561), 6);
60+
public static final Item BETA_CALORITE_SWORD = new BetaSwordItem(new FabricItemSettings().group(ItemGroup.COMBAT).maxCount(1).rarity(Rarity.RARE).maxDamage(2048), 7);
61+
public static final Item BETA_ENDER_SWORD = new BetaSwordItem(new FabricItemSettings().group(ItemGroup.COMBAT).maxCount(1).rarity(Rarity.EPIC).maxDamage(2560), 8);
5662

5763
//!Ethan Balance the food ;-;
5864
public static final Item SHIMMER_FISHING_ROD = new ShimmerFishingRodItem(new Item.Settings().maxCount(1).maxDamage(150).rarity(Rarity.EPIC).group(ItemGroup.TOOLS));
@@ -112,6 +118,12 @@ public static void registerItems() {
112118
Registry.register(Registry.ITEM, new Identifier(AstralAdditions.MOD_ID, "rapier"), RAPIER);
113119
Registry.register(Registry.ITEM, new Identifier(AstralAdditions.MOD_ID, "parry_shield"), SHIELD);
114120
Registry.register(Registry.ITEM, new Identifier(AstralAdditions.MOD_ID, "cogfly"), COGFLY);
121+
Registry.register(Registry.ITEM, new Identifier(AstralAdditions.MOD_ID, "beta_iron_weapon"), BETA_IRON_SWORD);
122+
Registry.register(Registry.ITEM, new Identifier(AstralAdditions.MOD_ID, "beta_diamond_weapon"), BETA_DIAMOND_SWORD);
123+
Registry.register(Registry.ITEM, new Identifier(AstralAdditions.MOD_ID, "beta_desh_weapon"), BETA_DESH_SWORD);
124+
Registry.register(Registry.ITEM, new Identifier(AstralAdditions.MOD_ID, "beta_ostrum_weapon"), BETA_OSTRUM_SWORD);
125+
Registry.register(Registry.ITEM, new Identifier(AstralAdditions.MOD_ID, "beta_calorite_weapon"), BETA_CALORITE_SWORD);
126+
Registry.register(Registry.ITEM, new Identifier(AstralAdditions.MOD_ID, "beta_ender_weapon"), BETA_ENDER_SWORD);
115127
addSacrificeItem(AWAKENED_SHIMMER_HEART, ModEntities.SHIMMER_BLAZE);
116128

117129
Registry.register(Registry.ITEM, new Identifier(AstralAdditions.MOD_ID, "shimmer_fishing_rod"), SHIMMER_FISHING_ROD);

src/main/resources/assets/astraladditions/lang/en_us.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,12 @@
4343
"item.astraladditions.rapier": "Rapier",
4444
"item.astraladditions.parry_shield": "Round Shield",
4545
"item.astraladditions.cogfly": "Cogfly",
46+
"item.astraladditions.beta_iron_weapon": "Beta Iron Sword",
47+
"item.astraladditions.beta_diamond_weapon": "Beta Diamond Sword",
48+
"item.astraladditions.beta_desh_weapon": "Beta Desh Sword",
49+
"item.astraladditions.beta_ostrum_weapon": "Beta Ostrum Sword",
50+
"item.astraladditions.beta_calorite_weapon": "Beta Calorite Sword",
51+
"item.astraladditions.beta_ender_weapon": "Beta Ender Sword",
4652

4753
"item.astraladditions.shimmer_fishing_rod": "Shimmer Fishing Rod",
4854
"item.astraladditions.shimmering_thread": "Shimmering Thread",
@@ -130,6 +136,7 @@
130136
"item.minecraft.tipped_arrow.effect.sputum": "Arrow of Sputum",
131137

132138
"tooltip.astraladditions.cogfly": "W.I.P for 2.2",
139+
"tooltip.astraladditions.beta_sword_smell": "It smells like thick fog",
133140

134141
"music.astraladditions.track.nostalgia.title": "Nostalgia",
135142
"music.astraladditions.track.nostalgia.artist": "Tsugomori",
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:item/handheld",
3+
"textures": {
4+
"layer0": "astraladditions:item/beta_calorite_weapon"
5+
}
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:item/handheld",
3+
"textures": {
4+
"layer0": "astraladditions:item/beta_desh_weapon"
5+
}
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:item/handheld",
3+
"textures": {
4+
"layer0": "astraladditions:item/beta_diamond_weapon"
5+
}
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:item/handheld",
3+
"textures": {
4+
"layer0": "astraladditions:item/beta_ender_weapon"
5+
}
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:item/handheld",
3+
"textures": {
4+
"layer0": "astraladditions:item/beta_iron_weapon"
5+
}
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "minecraft:item/handheld",
3+
"textures": {
4+
"layer0": "astraladditions:item/beta_ostrum_weapon"
5+
}
6+
}
486 Bytes
Loading

0 commit comments

Comments
 (0)