Class AbstractGunItem
java.lang.Object
net.minecraft.world.item.Item
tech.anonymoushacker1279.immersiveweapons.item.gun.AbstractGunItem
- All Implemented Interfaces:
net.minecraft.world.flag.FeatureElement, net.minecraft.world.level.ItemLike, net.neoforged.neoforge.common.extensions.IItemExtension
- Direct Known Subclasses:
MusketItem, SimplePistolItem, SimpleShotgunItem
public abstract class AbstractGunItem
extends net.minecraft.world.item.Item
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class net.minecraft.world.item.Item
net.minecraft.world.item.Item.Properties, net.minecraft.world.item.Item.TooltipContext -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final Predicate<net.minecraft.world.item.ItemStack> protected static final Predicate<net.minecraft.world.item.ItemStack> protected static final Predicate<net.minecraft.world.item.ItemStack> protected static final Predicate<net.minecraft.world.item.ItemStack> protected static final Predicate<net.minecraft.world.item.ItemStack> static final net.neoforged.neoforge.registries.datamaps.DataMapType<net.minecraft.world.item.Item, FlammablePowder> Fields inherited from class net.minecraft.world.item.Item
ABSOLUTE_MAX_STACK_SIZE, APPROXIMATELY_INFINITE_USE_DURATION, BASE_ATTACK_DAMAGE_ID, BASE_ATTACK_SPEED_ID, BY_BLOCK, canCombineRepair, CODEC, CODEC_WITH_BOUND_COMPONENTS, DEFAULT_MAX_STACK_SIZE, descriptionId, MAX_BAR_WIDTH, STREAM_CODECFields inherited from interface net.minecraft.world.flag.FeatureElement
FILTERED_REGISTRIES -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractGunItem(net.minecraft.world.item.Item.Properties properties) -
Method Summary
Modifier and TypeMethodDescriptionnet.minecraft.world.item.ItemGet the default ammunition.net.minecraft.world.item.ItemGet the default powder.net.minecraft.world.item.ItemStackfindAmmo(net.minecraft.world.item.ItemStack gun, net.minecraft.world.entity.LivingEntity livingEntity) @Nullable AbstractGunItem.PowderTypefindPowder(net.minecraft.world.item.ItemStack gun, net.minecraft.world.entity.LivingEntity livingEntity) floatintgetBulletsToFire(net.minecraft.world.item.ItemStack itemStack) Get the number of bullets to fire.intnet.minecraft.sounds.SoundEventGet the fire sound.floatgetFireVelocity(net.minecraft.world.item.ItemStack gun, float powderModifier, net.minecraft.world.entity.LivingEntity shooter) protected static net.minecraft.world.item.ItemStackgetHeldPredicate(net.minecraft.world.entity.LivingEntity livingEntity, Predicate<net.minecraft.world.item.ItemStack> predicate) floatPredicate<net.minecraft.world.item.ItemStack> Get the predicate to match ammunition when searching the player's inventory, not their main/offhandintintGet the maximum number of bullets that can be fired at once.floatfloatintgetUseDuration(net.minecraft.world.item.ItemStack pStack, net.minecraft.world.entity.LivingEntity livingEntity) protected voidhandleAmmoStack(net.minecraft.world.item.ItemStack gun, net.minecraft.world.item.ItemStack ammo, int bulletsToFire, net.minecraft.world.entity.player.Player player) protected voidhandleMuzzleFlash(net.minecraft.world.level.Level level, net.minecraft.world.entity.LivingEntity shooter, AbstractGunItem.PowderType powderType) protected voidhandlePowderStack(@Nullable AbstractGunItem.PowderType powderType, net.minecraft.world.entity.player.Player player) voidprepareBulletForFire(net.minecraft.world.item.ItemStack gun, BulletEntity bulletEntity, net.minecraft.world.entity.LivingEntity shooter, float powderModifier) booleanreleaseUsing(net.minecraft.world.item.ItemStack gun, net.minecraft.world.level.Level level, net.minecraft.world.entity.LivingEntity livingEntity, int timeLeft) voidsetupFire(net.minecraft.world.entity.LivingEntity shooter, BulletEntity bullet, net.minecraft.world.item.ItemStack gun, @Nullable net.minecraft.world.item.ItemStack ammo, AbstractGunItem.PowderType powderType) net.minecraft.world.InteractionResultuse(net.minecraft.world.level.Level level, net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand hand) Methods inherited from class net.minecraft.world.item.Item
appendHoverText, asItem, builtInRegistryHolder, byBlock, byId, canDestroyBlock, canFitInsideContainerItems, components, computeDefaultResource, finishUsingItem, getAttackDamageBonus, getBarColor, getBarWidth, getCraftingRemainder, getDefaultInstance, getDefaultMaxStackSize, getDescriptionId, getDestroySpeed, getId, getItemDamageSource, getName, getPlayerPOVHitResult, getTooltipImage, getUseAnimation, hurtEnemy, interactLivingEntity, inventoryTick, isBarVisible, isCombineRepairable, isCorrectToolForDrops, isFoil, mineBlock, onCraftedBy, onCraftedPostProcess, onDestroyed, onUseTick, overrideOtherStackedOnMe, overrideStackedOnOther, postHurtEnemy, requiredFeatures, resetDefaultResource, shouldPrintOpWarning, toString, useOn, useOnReleaseMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface net.minecraft.world.flag.FeatureElement
isEnabledMethods inherited from interface net.neoforged.neoforge.common.extensions.IItemExtension
applyEnchantments, canBeHurtBy, canContinueUsing, canEquip, canFitInsideContainerItems, canGrindstoneRepair, canPerformAction, canWalkOnPowderedSnow, createEntity, damageItem, doesSneakBypassUse, getAllEnchantments, getBurnTime, getCraftingRemainder, getCreatorModId, getDamage, getDefaultAttributeModifiers, getEnchantmentLevel, getEntityLifespan, getEquipmentSlot, getHighlightTip, getMaxDamage, getMaxStackSize, getSweepHitBox, getXpRepairRatio, hasCustomEntity, isDamageable, isDamaged, isGazeDisguise, isNotReplaceableByPickAction, isPiglinCurrency, isPrimaryItemFor, makesPiglinsNeutral, onAnimalArmorTick, onDestroyed, onDroppedByPlayer, onEntityItemUpdate, onEntitySwing, onItemUseFirst, onLeftClickEntity, onStopUsing, setDamage, shouldCauseBlockBreakReset, shouldCauseReequipAnimation, supportsEnchantment
-
Field Details
-
POWDER_TYPE
public static final net.neoforged.neoforge.registries.datamaps.DataMapType<net.minecraft.world.item.Item, FlammablePowder> POWDER_TYPE -
MUSKET_BALLS
-
FLARES
-
CANNONBALLS
-
DRAGON_FIREBALLS
-
FLAMMABLE_POWDERS
-
-
Constructor Details
-
AbstractGunItem
protected AbstractGunItem(net.minecraft.world.item.Item.Properties properties)
-
-
Method Details
-
getHeldPredicate
protected static net.minecraft.world.item.ItemStack getHeldPredicate(net.minecraft.world.entity.LivingEntity livingEntity, Predicate<net.minecraft.world.item.ItemStack> predicate) -
releaseUsing
public boolean releaseUsing(net.minecraft.world.item.ItemStack gun, net.minecraft.world.level.Level level, net.minecraft.world.entity.LivingEntity livingEntity, int timeLeft) - Overrides:
releaseUsingin classnet.minecraft.world.item.Item
-
findAmmo
public net.minecraft.world.item.ItemStack findAmmo(net.minecraft.world.item.ItemStack gun, net.minecraft.world.entity.LivingEntity livingEntity) -
findPowder
@Nullable public @Nullable AbstractGunItem.PowderType findPowder(net.minecraft.world.item.ItemStack gun, net.minecraft.world.entity.LivingEntity livingEntity) -
use
public net.minecraft.world.InteractionResult use(net.minecraft.world.level.Level level, net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand hand) - Overrides:
usein classnet.minecraft.world.item.Item
-
getInventoryAmmoPredicate
Get the predicate to match ammunition when searching the player's inventory, not their main/offhand- Returns:
- Predicate extending ItemStack
-
defaultAmmo
public net.minecraft.world.item.Item defaultAmmo()Get the default ammunition.- Returns:
- Item
-
defaultPowder
public net.minecraft.world.item.Item defaultPowder()Get the default powder.- Returns:
- Item
-
getUseDuration
public int getUseDuration(net.minecraft.world.item.ItemStack pStack, net.minecraft.world.entity.LivingEntity livingEntity) - Overrides:
getUseDurationin classnet.minecraft.world.item.Item
-
getFireSound
public net.minecraft.sounds.SoundEvent getFireSound()Get the fire sound.- Returns:
- SoundEvent
-
getMaxBulletsToFire
public int getMaxBulletsToFire()Get the maximum number of bullets that can be fired at once.- Returns:
- int
-
getBulletsToFire
public int getBulletsToFire(net.minecraft.world.item.ItemStack itemStack) Get the number of bullets to fire.- Parameters:
itemStack- the ammunitionItemStack- Returns:
- int
-
getCooldown
public int getCooldown() -
getMaxYRecoil
public float getMaxYRecoil() -
getMaxXRecoil
public float getMaxXRecoil() -
getFireVelocity
public float getFireVelocity(net.minecraft.world.item.ItemStack gun, float powderModifier, net.minecraft.world.entity.LivingEntity shooter) -
getBaseFireVelocity
public float getBaseFireVelocity() -
getInaccuracy
public float getInaccuracy() -
getKnockbackLevel
public int getKnockbackLevel() -
setupFire
public void setupFire(net.minecraft.world.entity.LivingEntity shooter, BulletEntity bullet, net.minecraft.world.item.ItemStack gun, @Nullable @Nullable net.minecraft.world.item.ItemStack ammo, AbstractGunItem.PowderType powderType) -
prepareBulletForFire
public void prepareBulletForFire(net.minecraft.world.item.ItemStack gun, BulletEntity bulletEntity, net.minecraft.world.entity.LivingEntity shooter, float powderModifier) -
handleMuzzleFlash
protected void handleMuzzleFlash(net.minecraft.world.level.Level level, net.minecraft.world.entity.LivingEntity shooter, AbstractGunItem.PowderType powderType) -
handleAmmoStack
protected void handleAmmoStack(net.minecraft.world.item.ItemStack gun, net.minecraft.world.item.ItemStack ammo, int bulletsToFire, net.minecraft.world.entity.player.Player player) -
handlePowderStack
protected void handlePowderStack(@Nullable @Nullable AbstractGunItem.PowderType powderType, net.minecraft.world.entity.player.Player player)
-