java.lang.Object
net.minecraft.world.item.Item
net.minecraft.world.item.ArrowItem
tech.anonymoushacker1279.immersiveweapons.item.projectile.bullet.AbstractBulletItem
All Implemented Interfaces:
net.minecraft.world.flag.FeatureElement, net.minecraft.world.level.ItemLike, net.minecraftforge.common.extensions.IForgeItem
Direct Known Subclasses:
AstralMusketBallItem, CobaltMusketBallItem, CopperMusketBallItem, DiamondMusketBallItem, FlareItem, GoldenMusketBallItem, IronMusketBallItem, MoltenMusketBallItem, NetheriteMusketBallItem, StarstormMusketBallItem, StoneMusketBallItem, TeslaMusketBallItem, VentusMusketBallItem, WoodenMusketBallItem

public abstract class AbstractBulletItem extends net.minecraft.world.item.ArrowItem
  • Nested Class Summary

    Nested classes/interfaces inherited from class net.minecraft.world.item.Item

    net.minecraft.world.item.Item.Properties
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    double
     

    Fields inherited from class net.minecraft.world.item.Item

    BASE_ATTACK_DAMAGE_UUID, BASE_ATTACK_SPEED_UUID, BY_BLOCK, canRepair, EAT_DURATION, MAX_BAR_WIDTH, MAX_STACK_SIZE

    Fields inherited from interface net.minecraft.world.flag.FeatureElement

    FILTERED_REGISTRIES
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    AbstractBulletItem(net.minecraft.world.item.Item.Properties properties, double damage)
    Constructor for AbstractBulletItem.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    createBullet(net.minecraft.world.level.Level level, net.minecraft.world.entity.LivingEntity shooter)
     
    boolean
    isInfinite(net.minecraft.world.item.ItemStack bullet, net.minecraft.world.item.ItemStack gun, net.minecraft.world.entity.player.Player player)
    Check if the bullet is infinite.
    float
     

    Methods inherited from class net.minecraft.world.item.ArrowItem

    createArrow

    Methods inherited from class net.minecraft.world.item.Item

    appendHoverText, asItem, builtInRegistryHolder, byBlock, byId, canAttackBlock, canBeDepleted, canBeHurtBy, canFitInsideContainerItems, finishUsingItem, getBarColor, getBarWidth, getCraftingRemainingItem, getDefaultAttributeModifiers, getDefaultInstance, getDescription, getDescriptionId, getDescriptionId, getDestroySpeed, getDrinkingSound, getEatingSound, getEnchantmentValue, getFoodProperties, getId, getMaxDamage, getMaxStackSize, getName, getOrCreateDescriptionId, getPlayerPOVHitResult, getRarity, getRenderPropertiesInternal, getTooltipImage, getUseAnimation, getUseDuration, hasCraftingRemainingItem, hurtEnemy, initializeClient, interactLivingEntity, inventoryTick, isBarVisible, isComplex, isCorrectToolForDrops, isEdible, isEnchantable, isFireResistant, isFoil, isRepairable, isValidRepairItem, mineBlock, onCraftedBy, onDestroyed, onUseTick, overrideOtherStackedOnMe, overrideStackedOnOther, releaseUsing, requiredFeatures, shouldOverrideMultiplayerNbt, toString, use, useOn, useOnRelease, verifyTagAfterLoad

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface net.minecraft.world.flag.FeatureElement

    isEnabled

    Methods inherited from interface net.minecraftforge.common.extensions.IForgeItem

    canApplyAtEnchantingTable, canContinueUsing, canDisableShield, canElytraFly, canEquip, canGrindstoneRepair, canPerformAction, canWalkOnPowderedSnow, createEntity, damageItem, doesSneakBypassUse, elytraFlightTick, getAllEnchantments, getArmorTexture, getAttributeModifiers, getBurnTime, getCraftingRemainingItem, getCreatorModId, getDamage, getDefaultTooltipHideFlags, getEnchantmentLevel, getEnchantmentValue, getEntityLifespan, getEquipmentSlot, getFoodProperties, getHighlightTip, getMaxDamage, getMaxStackSize, getShareTag, getSweepHitBox, getXpRepairRatio, hasCraftingRemainingItem, hasCustomEntity, initCapabilities, isBookEnchantable, isCorrectToolForDrops, isDamageable, isDamaged, isEnderMask, isNotReplaceableByPickAction, isPiglinCurrency, makesPiglinsNeutral, onArmorTick, onBlockStartBreak, onDestroyed, onDroppedByPlayer, onEntityItemUpdate, onEntitySwing, onHorseArmorTick, onItemUseFirst, onLeftClickEntity, onStopUsing, readShareTag, setDamage, shouldCauseBlockBreakReset, shouldCauseReequipAnimation
  • Field Details

    • damage

      public double damage
  • Constructor Details

    • AbstractBulletItem

      protected AbstractBulletItem(net.minecraft.world.item.Item.Properties properties, double damage)
      Constructor for AbstractBulletItem.
      Parameters:
      properties - the Properties for the item
  • Method Details

    • canBeInfinite

      public boolean canBeInfinite()
    • misfireChance

      public float misfireChance()
    • createBullet

      public BulletEntity createBullet(net.minecraft.world.level.Level level, net.minecraft.world.entity.LivingEntity shooter)
    • isInfinite

      public boolean isInfinite(net.minecraft.world.item.ItemStack bullet, net.minecraft.world.item.ItemStack gun, net.minecraft.world.entity.player.Player player)
      Check if the bullet is infinite. A more flexible check than Vanilla provides. Restricts the ability to lower level bullets, for balance.
      Overrides:
      isInfinite in class net.minecraft.world.item.ArrowItem
      Parameters:
      bullet - the bullet being checked
      gun - the gun firing the bullet
      player - the player firing the gun
      Returns:
      boolean