diff --git a/src/main/java/com/jenny/compressedtnt/datagen/ModItemModelProvider.java b/src/main/java/com/jenny/compressedtnt/datagen/ModItemModelProvider.java index 0045972..5c84faf 100644 --- a/src/main/java/com/jenny/compressedtnt/datagen/ModItemModelProvider.java +++ b/src/main/java/com/jenny/compressedtnt/datagen/ModItemModelProvider.java @@ -21,6 +21,7 @@ public class ModItemModelProvider extends ItemModelProvider { protected void registerModels() { simpleItem(items.TNT_ARROW); simpleItem(items.CONCUSSIVE_ARROW); + simpleItem(items.CARPET_ARROW); } private ItemModelBuilder simpleItem(RegistryObject item) { diff --git a/src/main/java/com/jenny/compressedtnt/items/ArrowAbstract.java b/src/main/java/com/jenny/compressedtnt/items/ArrowAbstract.java new file mode 100644 index 0000000..8798c32 --- /dev/null +++ b/src/main/java/com/jenny/compressedtnt/items/ArrowAbstract.java @@ -0,0 +1,38 @@ +package com.jenny.compressedtnt.items; + +import net.minecraft.ChatFormatting; +import net.minecraft.network.chat.Component; +import net.minecraft.network.chat.MutableComponent; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.projectile.AbstractArrow; +import net.minecraft.world.item.ArrowItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.Level; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +import static com.jenny.compressedtnt.Compressedtnt.MODID; + +public abstract class ArrowAbstract extends ArrowItem { + public ArrowAbstract(Item.Properties properties){ + super(properties); + } + + @Override + public void appendHoverText(@NotNull ItemStack pStack, @Nullable Level pLevel, @NotNull List pTooltipComponents, @NotNull TooltipFlag pIsAdvanced) { + String key = String.format("tooltip.%s.%s", MODID, this); + MutableComponent toolTip = Component.translatable(key); + if (!toolTip.getString().equals(key)) { + pTooltipComponents.add(toolTip.withStyle(ChatFormatting.DARK_BLUE)); + super.appendHoverText(pStack, pLevel, pTooltipComponents, pIsAdvanced); + } + } + + @Override + @NotNull + public abstract AbstractArrow createArrow(@NotNull Level pLevel, @NotNull ItemStack pStack, @NotNull LivingEntity pShooter); +} diff --git a/src/main/java/com/jenny/compressedtnt/items/ArrowCarpet.java b/src/main/java/com/jenny/compressedtnt/items/ArrowCarpet.java index 86996ee..1e57a1d 100644 --- a/src/main/java/com/jenny/compressedtnt/items/ArrowCarpet.java +++ b/src/main/java/com/jenny/compressedtnt/items/ArrowCarpet.java @@ -1,15 +1,13 @@ package com.jenny.compressedtnt.items; import com.jenny.compressedtnt.entities.arrows.carpetArrow; -import com.jenny.compressedtnt.entities.arrows.tntArrow; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.projectile.AbstractArrow; -import net.minecraft.world.item.ArrowItem; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; -public class ArrowCarpet extends ArrowItem { +public class ArrowCarpet extends ArrowAbstract { public ArrowCarpet(Properties properties){ super(properties); } diff --git a/src/main/java/com/jenny/compressedtnt/items/ArrowConcussive.java b/src/main/java/com/jenny/compressedtnt/items/ArrowConcussive.java index 1e9e90e..de11396 100644 --- a/src/main/java/com/jenny/compressedtnt/items/ArrowConcussive.java +++ b/src/main/java/com/jenny/compressedtnt/items/ArrowConcussive.java @@ -3,13 +3,12 @@ package com.jenny.compressedtnt.items; import com.jenny.compressedtnt.entities.arrows.concussiveArrow; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.projectile.AbstractArrow; -import net.minecraft.world.item.ArrowItem; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; -public class ArrowConcussive extends ArrowItem { +public class ArrowConcussive extends ArrowAbstract { public ArrowConcussive(Item.Properties properties){ super(properties); } diff --git a/src/main/java/com/jenny/compressedtnt/items/ArrowTNT.java b/src/main/java/com/jenny/compressedtnt/items/ArrowTNT.java index 3a63d9a..1e6fef1 100644 --- a/src/main/java/com/jenny/compressedtnt/items/ArrowTNT.java +++ b/src/main/java/com/jenny/compressedtnt/items/ArrowTNT.java @@ -3,13 +3,12 @@ package com.jenny.compressedtnt.items; import com.jenny.compressedtnt.entities.arrows.tntArrow; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.projectile.AbstractArrow; -import net.minecraft.world.item.ArrowItem; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import org.jetbrains.annotations.NotNull; -public class ArrowTNT extends ArrowItem { +public class ArrowTNT extends ArrowAbstract { public ArrowTNT(Item.Properties properties){ super(properties); } diff --git a/src/main/resources/assets/compressedtnt/lang/en_us.json b/src/main/resources/assets/compressedtnt/lang/en_us.json index 74ff4d9..ff45361 100644 --- a/src/main/resources/assets/compressedtnt/lang/en_us.json +++ b/src/main/resources/assets/compressedtnt/lang/en_us.json @@ -13,5 +13,9 @@ "item.compressedtnt.arrow_tnt": "TNT Arrow", "item.compressedtnt.arrow_concussive": "Concussive Arrow", - "item.compressedtnt.arrow_carpet": "Carpet Bombing Arrow" + "item.compressedtnt.arrow_carpet": "Carpet Bombing Arrow", + + "tooltip.compressedtnt.arrow_tnt": "explodes on impact", + "tooltip.compressedtnt.arrow_concussive": "explodes on impact without block damage", + "tooltip.compressedtnt.arrow_carpet": "splits into multiple TNT arrows when it starts falling" } \ No newline at end of file