java.lang.Object
net.neoforged.neoforge.attachment.AttachmentHolder
net.minecraft.world.entity.Entity
net.minecraft.world.entity.projectile.Projectile
net.minecraft.world.entity.projectile.AbstractArrow
net.minecraft.world.entity.projectile.Arrow
tech.anonymoushacker1279.immersiveweapons.entity.projectile.CustomArrowEntity
All Implemented Interfaces:
net.minecraft.commands.CommandSource, net.minecraft.world.entity.TraceableEntity, net.minecraft.world.level.entity.EntityAccess, net.minecraft.world.Nameable, net.minecraft.world.scores.ScoreHolder, net.neoforged.neoforge.attachment.IAttachmentHolder, net.neoforged.neoforge.common.extensions.IEntityExtension, net.neoforged.neoforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>, HitEffectUtils
Direct Known Subclasses:
BulletEntity

public class CustomArrowEntity extends net.minecraft.world.entity.projectile.Arrow implements HitEffectUtils
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
     

    Nested classes/interfaces inherited from class net.minecraft.world.entity.projectile.AbstractArrow

    net.minecraft.world.entity.projectile.AbstractArrow.Pickup

    Nested classes/interfaces inherited from class net.minecraft.world.entity.Entity

    net.minecraft.world.entity.Entity.MoveFunction, net.minecraft.world.entity.Entity.MovementEmission, net.minecraft.world.entity.Entity.RemovalReason

    Nested classes/interfaces inherited from class net.neoforged.neoforge.attachment.AttachmentHolder

    net.neoforged.neoforge.attachment.AttachmentHolder.AsField

    Nested classes/interfaces inherited from interface tech.anonymoushacker1279.immersiveweapons.item.tool.HitEffectUtils

    HitEffectUtils.HitEffect
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    int
     
    static final net.minecraft.network.syncher.EntityDataAccessor<Float>
     
    double
     
     
    protected float
     
    boolean
     
    net.minecraft.world.item.Item
     
     
    protected boolean
     
    protected static final byte
     

    Fields inherited from class net.minecraft.world.entity.projectile.AbstractArrow

    inGround, inGroundTime, lastState, pickup, shakeTime

    Fields inherited from class net.minecraft.world.entity.Entity

    BASE_TICKS_REQUIRED_TO_FREEZE, blocksBuilding, BOARDING_COOLDOWN, boardingCooldown, BREATHING_DISTANCE_BELOW_EYES, DATA_POSE, DATA_SHARED_FLAGS_ID, DEFAULT_BB_HEIGHT, DEFAULT_BB_WIDTH, DELTA_AFFECTED_BY_BLOCKS_BELOW_0_2, DELTA_AFFECTED_BY_BLOCKS_BELOW_0_5, DELTA_AFFECTED_BY_BLOCKS_BELOW_1_0, ENTITY_COUNTER, entityData, fallDistance, firstTick, FLAG_FALL_FLYING, FLAG_GLOWING, FLAG_ONFIRE, fluidHeight, flyDist, forgeFluidTypeHeight, FREEZE_HURT_FREQUENCY, hasImpulse, horizontalCollision, hurtMarked, ID_TAG, invulnerableTime, isInPowderSnow, isInsidePortal, mainSupportingBlockPos, MAX_ENTITY_TAG_COUNT, minorHorizontalCollision, moveDist, noCulling, noPhysics, PASSENGERS_TAG, portalEntrancePos, portalTime, random, stringUUID, stuckSpeedMultiplier, tickCount, TOTAL_AIR_SUPPLY, uuid, UUID_TAG, verticalCollision, verticalCollisionBelow, walkDist, walkDistO, wasEyeInWater, wasInPowderSnow, wasOnFire, wasTouchingWater, xo, xOld, xRotO, yo, yOld, yRotO, zo, zOld

    Fields inherited from class net.neoforged.neoforge.attachment.AttachmentHolder

    ATTACHMENTS_NBT_KEY

    Fields inherited from interface net.minecraft.commands.CommandSource

    NULL

    Fields inherited from interface net.minecraft.world.scores.ScoreHolder

    WILDCARD, WILDCARD_NAME
  • Constructor Summary

    Constructors
    Constructor
    Description
    CustomArrowEntity(net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.projectile.Arrow> type, net.minecraft.world.entity.LivingEntity shooter, net.minecraft.world.level.Level level)
     
    CustomArrowEntity(net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.projectile.Arrow> type, net.minecraft.world.level.Level level)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
     
    protected void
    doWhenHitEntity(net.minecraft.world.entity.Entity entity)
    Additional stuff to do when an entity is hit.
    protected void
    Additional stuff to do while ticking.
    net.minecraft.network.protocol.Packet<net.minecraft.network.protocol.game.ClientGamePacketListener>
     
    net.minecraft.world.damagesource.DamageSource
    getDamageSource(@Nullable net.minecraft.world.entity.Entity owner)
     
    protected float
     
    protected double
     
    net.minecraft.world.item.ItemStack
     
    protected void
    onHit(net.minecraft.world.phys.HitResult result)
     
    protected void
    onHitEntity(net.minecraft.world.phys.EntityHitResult result)
     
    void
    shoot(double x, double y, double z, float velocity, float inaccuracy)
     
    void
     

    Methods inherited from class net.minecraft.world.entity.projectile.Arrow

    addAdditionalSaveData, addEffect, doPostHurtEffects, getColor, getCustomColor, handleEntityEvent, readAdditionalSaveData, setEffectsFromItem

    Methods inherited from class net.minecraft.world.entity.projectile.AbstractArrow

    canHitEntity, deflect, findHitEntity, getBaseDamage, getDefaultHitGroundSoundEvent, getEyeHeight, getHitGroundSoundEvent, getKnockback, getMovementEmission, getPickupItemStackOrigin, getPierceLevel, getWaterInertia, isAttackable, isCritArrow, isNoPhysics, lerpMotion, lerpTo, move, onHitBlock, playerTouch, resetPiercedEntities, setBaseDamage, setCritArrow, setEnchantmentEffectsFromEntity, setKnockback, setNoPhysics, setOwner, setPierceLevel, setShotFromCrossbow, setSoundEvent, shotFromCrossbow, shouldFall, shouldRenderAtSqrDistance, startFalling, tickDespawn, tryPickup

    Methods inherited from class net.minecraft.world.entity.projectile.Projectile

    getEffectSource, getOwner, lerpRotation, mayBreak, mayInteract, ownedBy, recreateFromPacket, restoreFrom, shootFromRotation, updateRotation

    Methods inherited from class net.minecraft.world.entity.Entity

    absMoveTo, absMoveTo, acceptsFailure, acceptsSuccess, addDeltaMovement, addPassenger, addTag, animateHurt, awardKillScore, baseTick, blockPosition, broadcastToPlayer, calculateUpVector, calculateViewVector, canAddPassenger, canBeCollidedWith, canBeHitByProjectile, canChangeDimensions, canCollideWith, canControlVehicle, canFreeze, canRide, canSpawnSprintParticle, canSprint, canTrample, canUpdate, canUpdate, captureDrops, captureDrops, causeFallDamage, changeDimension, changeDimension, checkBelowWorld, checkDespawn, checkFallDamage, checkInsideBlocks, checkSlowFallDistance, checkSupportingBlock, chunkPosition, clearFire, closerThan, closerThan, collideBoundingBox, copyPosition, couldAcceptPassenger, countPlayerPassengers, createCommandSourceStack, createHoverEvent, damageSources, dampensVibrations, discard, dismountsUnderwater, dismountTo, displayFireAnimation, distanceTo, distanceToSqr, distanceToSqr, distanceToSqr, doEnchantDamageEffects, doWaterSplashEffect, ejectPassengers, equals, extinguishFire, fillCrashReportCategory, findDimensionEntryPoint, fireImmune, fixupDimensions, gameEvent, gameEvent, getAirSupply, getAllSlots, getArmorSlots, getBbHeight, getBbWidth, getBlockExplosionResistance, getBlockJumpFactor, getBlockPosBelowThatAffectsMyMovement, getBlockSpeedFactor, getBlockStateOn, getBlockStateOnLegacy, getBlockX, getBlockY, getBlockZ, getBoundingBox, getBoundingBoxForCulling, getCapability, getCapability, getCollisionHorizontalEscapeVector, getCommandSenderWorld, getControlledVehicle, getControllingPassenger, getCustomName, getDeltaMovement, getDimensionChangingDelay, getDimensions, getDirection, getDismountLocationForPassenger, getDisplayName, getEncodeId, getEntityData, getExitPortal, getEyeHeight, getEyeHeight, getEyeHeightAccess, getEyeInFluidType, getEyePosition, getEyePosition, getEyeY, getFeetBlockState, getFireImmuneTicks, getFirstPassenger, getFluidHeight, getFluidJumpThreshold, getFluidTypeHeight, getForward, getHandHoldingItemAngle, getHandSlots, getId, getIndirectPassengers, getLeashOffset, getLeashOffset, getLightLevelDependentMagicValue, getLightProbePosition, getLookAngle, getMaxAirSupply, getMaxFallDistance, getMaxHeightFluidType, getMotionDirection, getMyRidingOffset, getName, getNameTagOffsetY, getOnPos, getOnPos, getOnPosLegacy, getPassengerAttachmentPoint, getPassengerRidingPosition, getPassengers, getPassengersAndSelf, getPercentFrozen, getPermissionLevel, getPersistentData, getPickRadius, getPickResult, getPistonPushReaction, getPortalCooldown, getPortalWaitTime, getPose, getPosition, getPositionCodec, getPrimaryStepSoundBlockPos, getRandomX, getRandomY, getRandomZ, getRelativePortalPosition, getRemainingFireTicks, getRemovalReason, getRootVehicle, getRopeHoldPosition, getRotationVector, getScoreboardName, getSelfAndPassengers, getServer, getSharedFlag, getSlot, getSoundSource, getStringUUID, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTags, getTeam, getTeamColor, getTicksFrozen, getTicksRequiredToFreeze, getType, getTypeName, getUpVector, getUUID, getVehicle, getViewScale, getViewVector, getViewXRot, getViewYRot, getVisualRotationYInDegrees, getX, getX, getXRot, getY, getY, getYHeadRot, getYRot, getZ, getZ, handleDamageEvent, handleInsidePortal, handleNetherPortal, hasControllingPassenger, hasCustomName, hasExactlyOnePlayerPassenger, hasGlowingTag, hashCode, hasIndirectPassenger, hasPassenger, hasPassenger, hasPermissions, hasPose, hurt, ignoreExplosion, interact, interactAt, is, isAddedToWorld, isAlive, isAlliedTo, isAlliedTo, isAlwaysTicking, isColliding, isControlledByLocalInstance, isCrouching, isCurrentlyGlowing, isCustomNameVisible, isDescending, isDiscrete, isEffectiveAi, isEyeInFluid, isFlapping, isFree, isFreezing, isFullyFrozen, isHorizontalCollisionMinor, isIgnoringBlockTriggers, isInFluidType, isInFluidType, isInLava, isInLiquid, isInvisible, isInvisibleTo, isInvulnerable, isInvulnerableTo, isInWall, isInWater, isInWaterOrBubble, isInWaterOrRain, isInWaterRainOrBubble, isNoGravity, isOnFire, isOnPortalCooldown, isOnRails, isPassenger, isPassengerOfSameVehicle, isPickable, isPushable, isPushedByFluid, isRemoved, isShiftKeyDown, isSilent, isSpectator, isSprinting, isSteppingCarefully, isSupportedBy, isSuppressingBounce, isSwimming, isUnderWater, isVehicle, isVisuallyCrawling, isVisuallySwimming, kill, killedEntity, lavaHurt, lerpHeadTo, lerpPositionAndRotationStep, lerpTargetX, lerpTargetXRot, lerpTargetY, lerpTargetYRot, lerpTargetZ, level, limitPistonMovement, load, lookAt, makeBoundingBox, makeStuckInBlock, markHurt, maxUpStep, maybeBackOffFromEdge, mirror, moveRelative, moveTo, moveTo, moveTo, moveTo, moveTowardsClosestSpace, newDoubleList, newFloatList, nextStep, onAboveBubbleCol, onAddedToWorld, onBelowWorld, onClientRemoval, onFlap, onGround, onInsideBlock, onInsideBubbleColumn, onlyOpCanSetNbt, onPassengerTurned, onRemovedFromWorld, onSyncedDataUpdated, onSyncedDataUpdated, pick, playCombinationStepSounds, playEntityOnFireExtinguishedSound, playMuffledStepSound, playSound, playSound, playStepSound, playSwimSound, position, positionRider, positionRider, processFlappingMovement, processPortalCooldown, push, push, reapplyPosition, refreshDimensions, remove, removeAfterChangingDimensions, removePassenger, removeTag, removeVehicle, repositionEntityAfterLoad, resetFallDistance, revive, rideTick, ridingOffset, rotate, save, saveAsPassenger, saveWithoutId, sendSystemMessage, setAirSupply, setBoundingBox, setCustomName, setCustomNameVisible, setData, setDeltaMovement, setDeltaMovement, setFluidTypeHeight, setGlowingTag, setId, setInvisible, setInvulnerable, setIsInPowderSnow, setItemSlot, setLevel, setLevelCallback, setMaxUpStep, setNoGravity, setOldPosAndRot, setOnGround, setOnGroundWithKnownMovement, setPortalCooldown, setPortalCooldown, setPos, setPos, setPose, setPosRaw, setRemainingFireTicks, setRemoved, setRot, setSecondsOnFire, setSharedFlag, setSharedFlagOnFire, setShiftKeyDown, setSilent, setSprinting, setSwimming, setTicksFrozen, setUUID, setViewScale, setXRot, setYBodyRot, setYHeadRot, setYRot, shouldBeSaved, shouldBlockExplode, shouldInformAdmins, shouldRender, shouldShowName, showVehicleHealth, skipAttackInteraction, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnSprintParticle, startRiding, startRiding, startSeenByPlayer, stopRiding, stopSeenByPlayer, syncPacketPositionCodec, teleportRelative, teleportTo, teleportTo, teleportToWithTicket, thunderHit, toString, touchingUnloadedChunk, trackingPosition, tryCheckInsideBlocks, turn, unRide, unsetRemoved, updateDynamicGameEventListener, updateFluidHeightAndDoFluidPushing, updateFluidHeightAndDoFluidPushing, updateInWaterStateAndDoFluidPushing, updateSwimming, waterSwimSound

    Methods inherited from class net.neoforged.neoforge.attachment.AttachmentHolder

    areAttachmentsCompatible, deserializeAttachments, getData, getExistingData, hasAttachments, hasData, removeData, serializeAttachments

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface net.minecraft.commands.CommandSource

    alwaysAccepts

    Methods inherited from interface tech.anonymoushacker1279.immersiveweapons.item.tool.HitEffectUtils

    addMoltenEffects, addTeslaEffects, addVentusEffects

    Methods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder

    getData, getExistingData, hasData, removeData, setData

    Methods inherited from interface net.neoforged.neoforge.common.extensions.IEntityExtension

    canBeRiddenUnderFluidType, canFluidExtinguish, canHydrateInFluidType, canRiderInteract, canStartSwimming, canSwimInFluidType, deserializeNBT, getClassification, getFluidFallDistanceModifier, getFluidMotionScale, getParts, getPickedResult, getSoundFromFluidType, getStepHeight, hasCustomOutlineRendering, isEyeInFluidType, isInFluidType, isInFluidType, isInFluidType, isMultipartEntity, isPushedByFluid, sendPairingData, serializeNBT, shouldRiderSit

    Methods inherited from interface net.minecraft.world.scores.ScoreHolder

    getFeedbackDisplayName
  • Field Details

    • VANILLA_IMPACT_STATUS_ID

      protected static final byte VANILLA_IMPACT_STATUS_ID
      See Also:
    • referenceItem

      public net.minecraft.world.item.Item referenceItem
    • inertia

      protected float inertia
    • gravityModifier

      public double gravityModifier
    • shouldStopMoving

      protected boolean shouldStopMoving
    • shootingVectorInputs

      public List<Double> shootingVectorInputs
    • hitEffect

      public HitEffectUtils.HitEffect hitEffect
    • color

      public int color
    • isExplosive

      public boolean isExplosive
    • GRAVITY_MODIFIER_ACCESSOR

      public static final net.minecraft.network.syncher.EntityDataAccessor<Float> GRAVITY_MODIFIER_ACCESSOR
  • Constructor Details

    • CustomArrowEntity

      public CustomArrowEntity(net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.projectile.Arrow> type, net.minecraft.world.level.Level level)
    • CustomArrowEntity

      public CustomArrowEntity(net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.projectile.Arrow> type, net.minecraft.world.entity.LivingEntity shooter, net.minecraft.world.level.Level level)
  • Method Details

    • getPickupItem

      public net.minecraft.world.item.ItemStack getPickupItem()
      Overrides:
      getPickupItem in class net.minecraft.world.entity.projectile.Arrow
    • getAddEntityPacket

      public net.minecraft.network.protocol.Packet<net.minecraft.network.protocol.game.ClientGamePacketListener> getAddEntityPacket()
      Overrides:
      getAddEntityPacket in class net.minecraft.world.entity.projectile.Projectile
    • defineSynchedData

      protected void defineSynchedData()
      Overrides:
      defineSynchedData in class net.minecraft.world.entity.projectile.Arrow
    • tick

      public void tick()
      Overrides:
      tick in class net.minecraft.world.entity.projectile.Arrow
    • onHit

      protected void onHit(net.minecraft.world.phys.HitResult result)
      Overrides:
      onHit in class net.minecraft.world.entity.projectile.Projectile
    • onHitEntity

      protected void onHitEntity(net.minecraft.world.phys.EntityHitResult result)
      Overrides:
      onHitEntity in class net.minecraft.world.entity.projectile.AbstractArrow
    • shoot

      public void shoot(double x, double y, double z, float velocity, float inaccuracy)
      Overrides:
      shoot in class net.minecraft.world.entity.projectile.AbstractArrow
    • getDefaultInertia

      protected float getDefaultInertia()
    • getGravityModifier

      protected double getGravityModifier()
    • doWhileTicking

      protected void doWhileTicking()
      Additional stuff to do while ticking. Runs early in the tick method.
    • doWhenHitEntity

      protected void doWhenHitEntity(net.minecraft.world.entity.Entity entity)
      Additional stuff to do when an entity is hit.
      Parameters:
      entity - the Entity being hit
    • getDamageSource

      public net.minecraft.world.damagesource.DamageSource getDamageSource(@Nullable @Nullable net.minecraft.world.entity.Entity owner)