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
FieldsModifier and TypeFieldDescriptionfloatstatic final floatstatic final doublestatic final intFields 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, zOldFields inherited from interface net.fabricmc.fabric.api.attachment.v1.AttachmentTarget
NBT_ATTACHMENT_KEYFields inherited from interface net.minecraft.commands.CommandSource
NULL -
Constructor Summary
ConstructorsConstructorDescriptionMagicProjectileEntity(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 TypeMethodDescriptionvoidaim(net.minecraft.world.entity.LivingEntity caster, float speed) voidaim(net.minecraft.world.entity.LivingEntity caster, net.minecraft.world.entity.Entity target, float speed, float aimingError) protected voidbooleanAllow the projectile to pass through mobs intact (the onEntityHit method will still be called and damage will still be applied).abstract floatgetDamage(@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 intfloat@NotNull net.minecraft.sounds.SoundEventgetSoundEvent(net.minecraft.world.phys.HitResult result) voidhandleEntityEvent(byte id) booleanisValidTarget(@NotNull net.minecraft.world.entity.Entity entity) voidload(@NotNull net.minecraft.nbt.CompoundTag tag) protected voidonHitBlock(@NotNull net.minecraft.world.phys.BlockHitResult result) protected voidonHitEntity(@NotNull net.minecraft.world.phys.EntityHitResult result) voidonHitTargetExtraEffects(@NotNull net.minecraft.world.phys.EntityHitResult hitResult) protected voidplayHitSound(net.minecraft.world.phys.HitResult result) booleansave(net.minecraft.nbt.CompoundTag tag) protected voidspawnHitParticles(net.minecraft.world.phys.HitResult.Type type) voidtick()Methods inherited from class net.minecraft.world.entity.projectile.ThrowableProjectile
getGravity, shouldRenderAtSqrDistanceMethods inherited from class net.minecraft.world.entity.projectile.Projectile
addAdditionalSaveData, canHitEntity, getAddEntityPacket, getEffectSource, getOwner, lerpMotion, lerpRotation, mayInteract, onHit, ownedBy, readAdditionalSaveData, recreateFromPacket, setOwner, shoot, shootFromRotation, updateRotationMethods 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, waterSwimSoundMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface net.fabricmc.fabric.api.attachment.v1.AttachmentTarget
getAttached, getAttachedOrCreate, getAttachedOrCreate, getAttachedOrElse, getAttachedOrGet, getAttachedOrSet, getAttachedOrThrow, hasAttached, modifyAttached, removeAttached, setAttachedMethods inherited from interface net.minecraft.commands.CommandSource
alwaysAcceptsMethods 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:
onHitEntityin classnet.minecraft.world.entity.projectile.Projectile
-
onHitBlock
protected void onHitBlock(@NotNull @NotNull net.minecraft.world.phys.BlockHitResult result) - Overrides:
onHitBlockin classnet.minecraft.world.entity.projectile.Projectile
-
handleEntityEvent
public void handleEntityEvent(byte id) - Overrides:
handleEntityEventin classnet.minecraft.world.entity.Entity
-
tick
public void tick()- Overrides:
tickin classnet.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:
loadin classnet.minecraft.world.entity.Entity
-
save
public boolean save(net.minecraft.nbt.CompoundTag tag) - Overrides:
savein classnet.minecraft.world.entity.Entity
-
defineSynchedData
protected void defineSynchedData()- Specified by:
defineSynchedDatain classnet.minecraft.world.entity.Entity
-