Class AbstractGunAmmoItem

java.lang.Object
net.minecraft.world.item.Item
me.desht.pneumaticcraft.common.item.minigun.AbstractGunAmmoItem
All Implemented Interfaces:
net.minecraft.world.flag.FeatureElement, net.minecraft.world.level.ItemLike, net.minecraftforge.common.extensions.IForgeItem
Direct Known Subclasses:
ArmorPiercingGunAmmoItem, ExplosiveGunAmmoItem, FreezingGunAmmoItem, IncendiaryGunAmmoItem, StandardGunAmmoItem, WeightedGunAmmoItem

public abstract class AbstractGunAmmoItem extends net.minecraft.world.item.Item
  • Nested Class Summary

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

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

    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
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    appendHoverText(net.minecraft.world.item.ItemStack stack, net.minecraft.world.level.Level world, List<net.minecraft.network.chat.Component> infoList, net.minecraft.world.item.TooltipFlag extraInfo)
     
    float
    getAirUsageMultiplier(Minigun minigun, net.minecraft.world.item.ItemStack ammoStack)
    Get the air usage multiplier.
    abstract int
    getAmmoColor(net.minecraft.world.item.ItemStack ammo)
    Get the color used to render this ammo, both when rendering the minigun model, and when drawing the bullet traces.
    int
    getAmmoCost(net.minecraft.world.item.ItemStack ammoStack)
    Get the cost to fire this ammo, which is the number of rounds used up in one shot.
    protected float
    getDamageMultiplier(net.minecraft.world.entity.Entity target, net.minecraft.world.item.ItemStack ammoStack)
    Get the damage multiplier.
    protected net.minecraft.world.damagesource.DamageSource
     
    int
    getMaxDamage(net.minecraft.world.item.ItemStack stack)
     
    float
    getRangeMultiplier(net.minecraft.world.item.ItemStack ammoStack)
    Get this ammo's range modifier.
    int
    onBlockHit(Minigun minigun, net.minecraft.world.item.ItemStack ammo, net.minecraft.world.phys.BlockHitResult brtr)
    Called when a block is shot by the minigun's wielder.
    int
    onTargetHit(Minigun minigun, net.minecraft.world.item.ItemStack ammo, net.minecraft.world.entity.Entity target)
    Called when an entity is shot by the minigun's wielder.

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

    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, getMaxStackSize, getShareTag, getSweepHitBox, getXpRepairRatio, hasCraftingRemainingItem, hasCustomEntity, initCapabilities, isBookEnchantable, isCorrectToolForDrops, isDamageable, isDamaged, isEnderMask, isNotReplaceableByPickAction, isPiglinCurrency, makesPiglinsNeutral, onArmorTick, onBlockStartBreak, onDestroyed, onDroppedByPlayer, onEntityItemUpdate, onEntitySwing, onHorseArmorTick, onInventoryTick, onItemUseFirst, onLeftClickEntity, onStopUsing, readShareTag, setDamage, shouldCauseBlockBreakReset, shouldCauseReequipAnimation
  • Constructor Details

    • AbstractGunAmmoItem

      public AbstractGunAmmoItem()
  • Method Details

    • getMaxDamage

      public int getMaxDamage(net.minecraft.world.item.ItemStack stack)
    • getRangeMultiplier

      public float getRangeMultiplier(net.minecraft.world.item.ItemStack ammoStack)
      Get this ammo's range modifier.
      Parameters:
      ammoStack - this ammo
      Returns:
      the range modifier; base minigun range is multiplied by this value
    • getAirUsageMultiplier

      public float getAirUsageMultiplier(Minigun minigun, net.minecraft.world.item.ItemStack ammoStack)
      Get the air usage multiplier.
      Parameters:
      minigun - the minigun being used
      ammoStack - this ammo
      Returns:
      the usage multiplier; base minigun air usage is multiplied by this value
    • getDamageMultiplier

      protected float getDamageMultiplier(net.minecraft.world.entity.Entity target, net.minecraft.world.item.ItemStack ammoStack)
      Get the damage multiplier.
      Parameters:
      target - the current target
      ammoStack - this ammo
      Returns:
      the damage multiplier; standard physical minigun bullet damage is multiplied by this value
    • getAmmoColor

      public abstract int getAmmoColor(net.minecraft.world.item.ItemStack ammo)
      Get the color used to render this ammo, both when rendering the minigun model, and when drawing the bullet traces.
      Parameters:
      ammo - the ammo cartridge
      Returns:
      a rendering color (ARGB format)
    • getAmmoCost

      public int getAmmoCost(net.minecraft.world.item.ItemStack ammoStack)
      Get the cost to fire this ammo, which is the number of rounds used up in one shot.
      Parameters:
      ammoStack - the ammo stack
      Returns:
      the ammo cost
    • getDamageSource

      protected net.minecraft.world.damagesource.DamageSource getDamageSource(Minigun minigun)
    • appendHoverText

      public void appendHoverText(net.minecraft.world.item.ItemStack stack, net.minecraft.world.level.Level world, List<net.minecraft.network.chat.Component> infoList, net.minecraft.world.item.TooltipFlag extraInfo)
      Overrides:
      appendHoverText in class net.minecraft.world.item.Item
    • onTargetHit

      public int onTargetHit(Minigun minigun, net.minecraft.world.item.ItemStack ammo, net.minecraft.world.entity.Entity target)
      Called when an entity is shot by the minigun's wielder. This method is responsible for applying any damage and other possible effects to the entity.
      Parameters:
      minigun - the minigun being used
      ammo - the ammo cartridge stack used
      target - the targeted entity
      Returns:
      the number of rounds fired
    • onBlockHit

      public int onBlockHit(Minigun minigun, net.minecraft.world.item.ItemStack ammo, net.minecraft.world.phys.BlockHitResult brtr)
      Called when a block is shot by the minigun's wielder.
      Parameters:
      minigun - the minigun being used
      ammo - the ammo cartridge stack used
      brtr - the block raytrace result
      Returns:
      the number of rounds fired