Class MagicProjectileEntity

java.lang.Object
net.minecraft.world.entity.Entity
net.minecraft.world.entity.projectile.Projectile
net.minecraft.world.entity.projectile.ThrowableProjectile
com.binaris.wizardry.api.content.entity.projectile.MagicProjectileEntity
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
Direct Known Subclasses:
DarknessOrbEntity, FireBoltEntity, MagicFireballEntity, MagicItemProjectileEntity, SparkEntity, ThunderboltEntity

public abstract class MagicProjectileEntity extends net.minecraft.world.entity.projectile.ThrowableProjectile
  • Nested Class Summary

    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
    Modifier and Type
    Field
    Description
    float
     
    static final float
     
    static final double
     
    static final int
     

    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
    MagicProjectileEntity(net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.projectile.ThrowableProjectile> entityType, double x, double y, double z, net.minecraft.world.level.Level level)
     
    MagicProjectileEntity(net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.projectile.ThrowableProjectile> entityType, net.minecraft.world.entity.LivingEntity shooter, net.minecraft.world.level.Level level)
     
    MagicProjectileEntity(net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.projectile.ThrowableProjectile> entityType, net.minecraft.world.level.Level level)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    aim(net.minecraft.world.entity.LivingEntity caster, float speed)
     
    void
    aim(net.minecraft.world.entity.LivingEntity caster, net.minecraft.world.entity.Entity target, float speed, float aimingError)
     
    protected void
     
    boolean
    Allow the projectile to pass through mobs intact (the onEntityHit method will still be called and damage will still be applied).
    abstract float
    getDamage(@NotNull net.minecraft.world.phys.EntityHitResult hitResult)
     
    abstract net.minecraft.resources.ResourceKey<net.minecraft.world.damagesource.DamageType>
    getDamageType(@NotNull net.minecraft.world.phys.EntityHitResult hitResult)
     
    abstract int
     
    float
     
    @NotNull net.minecraft.sounds.SoundEvent
    getSoundEvent(net.minecraft.world.phys.HitResult result)
     
    void
     
    boolean
    isValidTarget(@NotNull net.minecraft.world.entity.Entity entity)
     
    void
    load(@NotNull net.minecraft.nbt.CompoundTag tag)
     
    protected void
    onHitBlock(@NotNull net.minecraft.world.phys.BlockHitResult result)
     
    protected void
    onHitEntity(@NotNull net.minecraft.world.phys.EntityHitResult result)
     
    void
    onHitTargetExtraEffects(@NotNull net.minecraft.world.phys.EntityHitResult hitResult)
     
    protected void
    playHitSound(net.minecraft.world.phys.HitResult result)
     
    boolean
    save(net.minecraft.nbt.CompoundTag tag)
     
    protected void
    spawnHitParticles(net.minecraft.world.phys.HitResult.Type type)
     
    void
     

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

    getGravity, shouldRenderAtSqrDistance

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

    addAdditionalSaveData, canHitEntity, getAddEntityPacket, getEffectSource, getOwner, lerpMotion, lerpRotation, mayInteract, onHit, ownedBy, readAdditionalSaveData, recreateFromPacket, setOwner, shoot, 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, getEyeHeight, getEyePosition, getEyePosition, getEyeY, getFeetBlockState, getFireImmuneTicks, getFirstPassenger, getFluidHeight, getFluidJumpThreshold, getForward, getHandHoldingItemAngle, getHandSlots, getId, getIndirectPassengers, getLeashOffset, getLeashOffset, getLightLevelDependentMagicValue, getLightProbePosition, getLookAngle, getMaxAirSupply, getMaxFallDistance, getMotionDirection, getMovementEmission, 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, handleInsidePortal, handleNetherPortal, hasControllingPassenger, hasCustomName, hasExactlyOnePlayerPassenger, hasGlowingTag, hashCode, hasIndirectPassenger, hasPassenger, hasPassenger, hasPermissions, hasPose, hurt, ignoreExplosion, interact, interactAt, is, isAlive, isAlliedTo, isAlliedTo, isAlwaysTicking, isAttackable, 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, 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, lerpTo, level, limitPistonMovement, lookAt, makeBoundingBox, makeStuckInBlock, markHurt, maxUpStep, maybeBackOffFromEdge, mirror, move, moveRelative, moveTo, moveTo, moveTo, moveTo, moveTowardsClosestSpace, newDoubleList, newFloatList, nextStep, onAboveBubbleCol, onBelowWorld, onClientRemoval, onFlap, onGround, onInsideBlock, onInsideBubbleColumn, onlyOpCanSetNbt, onPassengerTurned, onSyncedDataUpdated, onSyncedDataUpdated, pick, playCombinationStepSounds, playEntityOnFireExtinguishedSound, playerTouch, playMuffledStepSound, playSound, playSound, playStepSound, playSwimSound, position, positionRider, positionRider, processFlappingMovement, processPortalCooldown, push, push, reapplyPosition, refreshDimensions, remove, removeAfterChangingDimensions, removePassenger, removeTag, removeVehicle, repositionEntityAfterLoad, resetFallDistance, restoreFrom, rideTick, rotate, 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
  • Field Details

    • LAUNCH_Y_OFFSET

      public static final double LAUNCH_Y_OFFSET
      See Also:
    • FORWARD_OFFSET

      public static final float FORWARD_OFFSET
      See Also:
    • SEEKING_TIME

      public static final int SEEKING_TIME
      See Also:
    • damageMultiplier

      public float damageMultiplier
  • Constructor Details

    • MagicProjectileEntity

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

      public MagicProjectileEntity(net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.projectile.ThrowableProjectile> entityType, net.minecraft.world.entity.LivingEntity shooter, net.minecraft.world.level.Level level)
    • MagicProjectileEntity

      public MagicProjectileEntity(net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.projectile.ThrowableProjectile> entityType, double x, double y, double z, net.minecraft.world.level.Level level)
  • Method Details

    • getLifeTime

      public abstract int getLifeTime()
    • onHitTargetExtraEffects

      public void onHitTargetExtraEffects(@NotNull @NotNull net.minecraft.world.phys.EntityHitResult hitResult)
    • getDamage

      public abstract float getDamage(@NotNull @NotNull net.minecraft.world.phys.EntityHitResult hitResult)
    • getDamageType

      public abstract net.minecraft.resources.ResourceKey<net.minecraft.world.damagesource.DamageType> getDamageType(@NotNull @NotNull net.minecraft.world.phys.EntityHitResult hitResult)
    • isValidTarget

      public boolean isValidTarget(@NotNull @NotNull net.minecraft.world.entity.Entity entity)
    • getSoundEvent

      @NotNull public @NotNull net.minecraft.sounds.SoundEvent getSoundEvent(net.minecraft.world.phys.HitResult result)
    • getSeekingStrength

      public float getSeekingStrength()
    • playHitSound

      protected void playHitSound(net.minecraft.world.phys.HitResult result)
    • spawnHitParticles

      protected void spawnHitParticles(net.minecraft.world.phys.HitResult.Type type)
    • doOverpenetration

      public boolean doOverpenetration()
      Allow the projectile to pass through mobs intact (the onEntityHit method will still be called and damage will still be applied). Returns false by default.
    • onHitEntity

      protected void onHitEntity(@NotNull @NotNull net.minecraft.world.phys.EntityHitResult result)
      Overrides:
      onHitEntity in class net.minecraft.world.entity.projectile.Projectile
    • onHitBlock

      protected void onHitBlock(@NotNull @NotNull net.minecraft.world.phys.BlockHitResult result)
      Overrides:
      onHitBlock in class net.minecraft.world.entity.projectile.Projectile
    • handleEntityEvent

      public void handleEntityEvent(byte id)
      Overrides:
      handleEntityEvent in class net.minecraft.world.entity.Entity
    • tick

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

      public void aim(net.minecraft.world.entity.LivingEntity caster, float speed)
    • aim

      public void aim(net.minecraft.world.entity.LivingEntity caster, net.minecraft.world.entity.Entity target, float speed, float aimingError)
    • load

      public void load(@NotNull @NotNull net.minecraft.nbt.CompoundTag tag)
      Overrides:
      load in class net.minecraft.world.entity.Entity
    • save

      public boolean save(net.minecraft.nbt.CompoundTag tag)
      Overrides:
      save in class net.minecraft.world.entity.Entity
    • defineSynchedData

      protected void defineSynchedData()
      Specified by:
      defineSynchedData in class net.minecraft.world.entity.Entity