java.lang.Object
net.minecraft.world.entity.Entity
net.minecraft.world.entity.projectile.Projectile
net.minecraft.world.entity.projectile.AbstractArrow
com.binaris.wizardry.api.content.entity.projectile.MagicArrowEntity
com.binaris.wizardry.content.entity.projectile.ForceArrow
All Implemented Interfaces:
dev.onyxstudios.cca.api.v3.component.ComponentAccess, net.fabricmc.fabric.api.attachment.v1.AttachmentTarget, net.minecraft.commands.CommandSource, net.minecraft.world.entity.TraceableEntity, net.minecraft.world.level.entity.EntityAccess, net.minecraft.world.Nameable

public class ForceArrow extends MagicArrowEntity
  • Nested Class Summary

    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
  • Field Summary

    Fields inherited from class com.binaris.wizardry.api.content.entity.projectile.MagicArrowEntity

    damageMultiplier, FORWARD_OFFSET, LAUNCH_Y_OFFSET, SEEKING_TIME, ticksInAir, ticksInGround

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

    inGround, inGroundTime, 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, entityData, fallDistance, firstTick, FLAG_FALL_FLYING, FLAG_GLOWING, FLAG_ONFIRE, fluidHeight, flyDist, 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 interface net.fabricmc.fabric.api.attachment.v1.AttachmentTarget

    NBT_ATTACHMENT_KEY

    Fields inherited from interface net.minecraft.commands.CommandSource

    NULL
  • Constructor Summary

    Constructors
    Constructor
    Description
    ForceArrow(net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.projectile.AbstractArrow> entityType, net.minecraft.world.level.Level world)
     
    ForceArrow(net.minecraft.world.level.Level world)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    Subclasses must override this to set their own base damage.
    net.minecraft.resources.ResourceKey<net.minecraft.world.damagesource.DamageType>
    This method is used to get the damage type of the magic arrow.
    protected @NotNull net.minecraft.sounds.SoundEvent
     
    int
    Returns the maximum flight time in ticks before this projectile disappears, or -1 if it can continue indefinitely until it hits something.
    protected @NotNull net.minecraft.world.item.ItemStack
     
    net.minecraft.resources.ResourceLocation
    This method is used to get the texture for the magic arrow.
    boolean
     
    protected void
    onHitBlock(@NotNull net.minecraft.world.phys.BlockHitResult blockHitResult)
     
    protected void
    onHitEntity(@NotNull net.minecraft.world.phys.EntityHitResult hitResult)
     
    void
    setMana(int mana)
     
    void
     
    void
     

    Methods inherited from class com.binaris.wizardry.api.content.entity.projectile.MagicArrowEntity

    addAdditionalSaveData, aim, aim, doDeceleration, doOverpenetration, getSeekingStrength, readAdditionalSaveData, ticksInAir, tryPickup

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

    canHitEntity, defineSynchedData, doPostHurtEffects, findHitEntity, getBaseDamage, getEyeHeight, getHitGroundSoundEvent, getKnockback, getMovementEmission, getPierceLevel, getWaterInertia, isAttackable, isCritArrow, isNoPhysics, lerpMotion, lerpTo, move, playerTouch, setBaseDamage, setCritArrow, setEnchantmentEffectsFromEntity, setKnockback, setNoPhysics, setOwner, setPierceLevel, setShotFromCrossbow, setSoundEvent, shoot, shotFromCrossbow, shouldRenderAtSqrDistance, tickDespawn

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

    getAddEntityPacket, getEffectSource, getOwner, lerpRotation, mayInteract, onHit, ownedBy, recreateFromPacket, 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, canEnterPose, canFreeze, canRide, canSpawnSprintParticle, canSprint, causeFallDamage, changeDimension, checkBelowWorld, checkDespawn, checkFallDamage, checkInsideBlocks, checkSlowFallDistance, checkSupportingBlock, chunkPosition, clearFire, closerThan, closerThan, collideBoundingBox, copyPosition, couldAcceptPassenger, 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, getBoundingBoxForPose, getCollisionHorizontalEscapeVector, getCommandSenderWorld, getControlledVehicle, getControllingPassenger, getCustomName, getDeltaMovement, getDimensionChangingDelay, getDimensions, getDirection, getDismountLocationForPassenger, getDisplayName, getEncodeId, getEntityData, getExitPortal, getEyeHeight, getEyeHeight, getEyePosition, getEyePosition, getEyeY, getFeetBlockState, getFireImmuneTicks, getFirstPassenger, getFluidHeight, getFluidJumpThreshold, getForward, getHandHoldingItemAngle, getHandSlots, getId, getIndirectPassengers, getLeashOffset, getLeashOffset, getLightLevelDependentMagicValue, getLightProbePosition, getLookAngle, getMaxAirSupply, getMaxFallDistance, getMotionDirection, getMyRidingOffset, getName, getNameTagOffsetY, getOnPos, getOnPos, getOnPosLegacy, getPassengers, getPassengersAndSelf, getPassengersRidingOffset, getPercentFrozen, getPermissionLevel, 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, handleEntityEvent, handleInsidePortal, handleNetherPortal, hasControllingPassenger, hasCustomName, hasExactlyOnePlayerPassenger, hasGlowingTag, hashCode, hasIndirectPassenger, hasPassenger, hasPassenger, hasPermissions, hasPose, hurt, ignoreExplosion, interact, interactAt, is, isAlive, isAlliedTo, isAlliedTo, isAlwaysTicking, isColliding, isControlledByLocalInstance, isCrouching, isCurrentlyGlowing, isCustomNameVisible, isDescending, isDiscrete, isEffectiveAi, isEyeInFluid, isFlapping, isFree, isFreezing, isFullyFrozen, isHorizontalCollisionMinor, isIgnoringBlockTriggers, isInLava, isInvisible, isInvisibleTo, isInvulnerable, isInvulnerableTo, isInWall, isInWater, isInWaterOrBubble, isInWaterOrRain, isInWaterRainOrBubble, 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, level, limitPistonMovement, load, lookAt, makeBoundingBox, makeStuckInBlock, markHurt, maxUpStep, maybeBackOffFromEdge, mirror, moveRelative, moveTo, moveTo, moveTo, moveTo, moveTowardsClosestSpace, newDoubleList, newFloatList, nextStep, onAboveBubbleCol, onBelowWorld, onClientRemoval, onFlap, onGround, onInsideBlock, onInsideBubbleColumn, onlyOpCanSetNbt, onPassengerTurned, 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, restoreFrom, rideTick, rotate, save, saveAsPassenger, saveWithoutId, sendSystemMessage, setAirSupply, setBoundingBox, setCustomName, setCustomNameVisible, setDeltaMovement, setDeltaMovement, 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, updateInWaterStateAndDoFluidPushing, updateSwimming, waterSwimSound

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface net.fabricmc.fabric.api.attachment.v1.AttachmentTarget

    getAttached, getAttachedOrCreate, getAttachedOrCreate, getAttachedOrElse, getAttachedOrGet, getAttachedOrSet, getAttachedOrThrow, hasAttached, modifyAttached, removeAttached, setAttached

    Methods inherited from interface net.minecraft.commands.CommandSource

    alwaysAccepts

    Methods inherited from interface dev.onyxstudios.cca.api.v3.component.ComponentAccess

    asComponentProvider, getComponent, syncComponent, syncComponent, syncComponent
  • Constructor Details

    • ForceArrow

      public ForceArrow(net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.projectile.AbstractArrow> entityType, net.minecraft.world.level.Level world)
    • ForceArrow

      public ForceArrow(net.minecraft.world.level.Level world)
  • Method Details

    • getPickupItem

      @NotNull protected @NotNull net.minecraft.world.item.ItemStack getPickupItem()
      Specified by:
      getPickupItem in class net.minecraft.world.entity.projectile.AbstractArrow
    • setMana

      public void setMana(int mana)
    • onHitEntity

      protected void onHitEntity(@NotNull @NotNull net.minecraft.world.phys.EntityHitResult hitResult)
      Overrides:
      onHitEntity in class MagicArrowEntity
    • onHitBlock

      protected void onHitBlock(@NotNull @NotNull net.minecraft.world.phys.BlockHitResult blockHitResult)
      Overrides:
      onHitBlock in class net.minecraft.world.entity.projectile.AbstractArrow
    • tick

      public void tick()
      Overrides:
      tick in class MagicArrowEntity
    • getDefaultHitGroundSoundEvent

      @NotNull protected @NotNull net.minecraft.sounds.SoundEvent getDefaultHitGroundSoundEvent()
      Overrides:
      getDefaultHitGroundSoundEvent in class MagicArrowEntity
    • tickInGround

      public void tickInGround()
      Overrides:
      tickInGround in class MagicArrowEntity
    • getDamage

      public double getDamage()
      Description copied from class: MagicArrowEntity
      Subclasses must override this to set their own base damage.
      Specified by:
      getDamage in class MagicArrowEntity
    • getLifetime

      public int getLifetime()
      Description copied from class: MagicArrowEntity
      Returns the maximum flight time in ticks before this projectile disappears, or -1 if it can continue indefinitely until it hits something. This should be constant.
      Specified by:
      getLifetime in class MagicArrowEntity
    • isNoGravity

      public boolean isNoGravity()
      Overrides:
      isNoGravity in class net.minecraft.world.entity.Entity
    • getTexture

      public net.minecraft.resources.ResourceLocation getTexture()
      Description copied from class: MagicArrowEntity
      This method is used to get the texture for the magic arrow. The texture is represented by a ResourceLocation object. You must return a valid ResourceLocation or implement a different renderer of your own accordingly.
      Specified by:
      getTexture in class MagicArrowEntity
    • getDamageType

      public net.minecraft.resources.ResourceKey<net.minecraft.world.damagesource.DamageType> getDamageType()
      Description copied from class: MagicArrowEntity
      This method is used to get the damage type of the magic arrow. You must override this and return a valid ResourceKey<DamageType> for your magic arrow's damage type.
      Overrides:
      getDamageType in class MagicArrowEntity