Class SpearEntity

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.ThrownTrident
com.minecolonies.core.entity.other.SpearEntity
All Implemented Interfaces:
ICustomAttackSound, net.minecraft.commands.CommandSource, net.minecraft.network.syncher.SyncedDataHolder, 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>

public class SpearEntity extends net.minecraft.world.entity.projectile.ThrownTrident implements ICustomAttackSound
Custom arrow entity used for spear throwing, acts similar to the trident without any of the special effects.
  • 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

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

    net.neoforged.neoforge.attachment.AttachmentHolder.AsField
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    The spears base damage before any modifications.
    static final String
    The NBT key for the spears dealt damage value.
    static final String
    The NBT key for the spear ItemStack.
    protected net.minecraft.world.item.ItemStack
    The weapon item stack, defaults to a generic ItemStack of the spear.

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

    clientSideReturnTridentTickCount

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

    inGround, inGroundTime, pickup, shakeTime

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

    BASE_SAFE_FALL_DISTANCE, BASE_TICKS_REQUIRED_TO_FREEZE, blocksBuilding, BOARDING_COOLDOWN, boardingCooldown, CONTENTS_SLOT_INDEX, 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, dimensions, 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, mainSupportingBlockPos, MAX_ENTITY_TAG_COUNT, minorHorizontalCollision, moveDist, noCulling, noPhysics, PASSENGERS_TAG, portalProcess, 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
    SpearEntity(net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.projectile.ThrownTrident> type, net.minecraft.world.level.Level world)
     
    SpearEntity(net.minecraft.world.level.Level world, net.minecraft.world.entity.LivingEntity thrower, net.minecraft.world.item.ItemStack thrownWeapon)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addAdditionalSaveData(@NotNull net.minecraft.nbt.CompoundTag nbt)
     
    protected @Nullable net.minecraft.world.phys.EntityHitResult
    findHitEntity(net.minecraft.world.phys.Vec3 startVec, net.minecraft.world.phys.Vec3 endVec)
     
    net.minecraft.sounds.SoundEvent
    The custom sound event to be used instead of SoundEvents.SKELETON_SHOOT
    protected @NotNull net.minecraft.sounds.SoundEvent
     
    @NotNull net.minecraft.world.item.ItemStack
     
    protected float
     
    void
    load(@NotNull net.minecraft.nbt.CompoundTag nbt)
     
    protected void
    onHitEntity(net.minecraft.world.phys.EntityHitResult result)
     
    void
    readAdditionalSaveData(@NotNull net.minecraft.nbt.CompoundTag nbt)
     
    boolean
    save(@NotNull net.minecraft.nbt.CompoundTag nbt)
     
    boolean
    shouldRender(double x, double y, double z)
     
    void
    Remove spear after certain time alive.
    void
     

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

    defineSynchedData, getDefaultPickupItem, getWeaponItem, hitBlockEnchantmentEffects, isFoil, playerTouch, tryPickup

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

    canHitEntity, doKnockback, doPostHurtEffects, getBaseDamage, getDefaultGravity, getHitGroundSoundEvent, getMovementEmission, getPickupItemStackOrigin, getPierceLevel, getSlot, isAttackable, isCritArrow, isNoPhysics, isPickable, lerpMotion, lerpTo, move, onHitBlock, setBaseDamage, setBaseDamageFromMob, setCritArrow, setNoPhysics, setOwner, setPickupItemStack, setPierceLevel, setSoundEvent, shoot, shotFromCrossbow, shouldFall, shouldRenderAtSqrDistance

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

    calculateHorizontalHurtKnockbackDirection, deflect, getAddEntityPacket, getEffectSource, getMovementToShoot, getOwner, getPickRadius, hitTargetOrDeflectSelf, lerpRotation, mayBreak, mayInteract, onDeflection, onHit, ownedBy, recreateFromPacket, restoreFrom, shootFromRotation, updateRotation

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

    absMoveTo, absMoveTo, absRotateTo, acceptsFailure, acceptsSuccess, addDeltaMovement, addPassenger, addTag, adjustSpawnLocation, animateHurt, applyGravity, awardKillScore, baseTick, blockPosition, broadcastToPlayer, calculateUpVector, calculateViewVector, canAddPassenger, canBeCollidedWith, canBeHitByProjectile, canChangeDimensions, canCollideWith, canControlVehicle, canFreeze, canRide, canSpawnSprintParticle, canSprint, canTrample, canUsePortal, captureDrops, captureDrops, causeFallDamage, changeDimension, checkBelowWorld, checkDespawn, checkFallDamage, checkInsideBlocks, checkSlowFallDistance, checkSupportingBlock, chunkPosition, clearFire, closerThan, closerThan, collideBoundingBox, copyPosition, couldAcceptPassenger, countPlayerPassengers, createCommandSourceStack, createHoverEvent, damageSources, dampensVibrations, deflection, discard, dismountsUnderwater, dismountTo, displayFireAnimation, distanceTo, distanceToSqr, distanceToSqr, distanceToSqr, doWaterSplashEffect, ejectPassengers, equals, extinguishFire, fillCrashReportCategory, fireImmune, fixupDimensions, fudgePositionAfterSizeChange, gameEvent, gameEvent, getAirSupply, getAttachments, getBbHeight, getBbWidth, getBlockExplosionResistance, getBlockJumpFactor, getBlockPosBelowThatAffectsMyMovement, getBlockSpeedFactor, getBlockStateOn, getBlockStateOnLegacy, getBlockX, getBlockY, getBlockZ, getBoundingBox, getBoundingBoxForCulling, getCapability, getCapability, getCollisionHorizontalEscapeVector, getCommandSenderWorld, getControlledVehicle, getControllingPassenger, getCustomName, getDefaultPassengerAttachmentPoint, getDeltaMovement, getDimensionChangingDelay, getDimensions, getDirection, getDismountLocationForPassenger, getDisplayName, getEncodeId, getEntityData, getEyeHeight, getEyeHeight, getEyeInFluidType, getEyePosition, getEyePosition, getEyeY, getFireImmuneTicks, getFirstPassenger, getFluidHeight, getFluidJumpThreshold, getFluidTypeHeight, getForward, getGravity, getHandHoldingItemAngle, getId, getInBlockState, getIndirectPassengers, getKnownMovement, getLeashOffset, getLeashOffset, getLightLevelDependentMagicValue, getLightProbePosition, getLookAngle, getMaxAirSupply, getMaxFallDistance, getMaxHeightFluidType, getMotionDirection, getName, getNearestViewDirection, getOnPos, getOnPos, getOnPosLegacy, getPassengerAttachmentPoint, getPassengerRidingPosition, getPassengers, getPassengersAndSelf, getPercentFrozen, getPermissionLevel, getPersistentData, getPickResult, getPistonPushReaction, getPortalCooldown, getPose, getPosition, getPositionCodec, getPreciseBodyRotation, getPrimaryStepSoundBlockPos, getRandom, getRandomX, getRandomY, getRandomZ, getRelativePortalPosition, getRemainingFireTicks, getRemovalReason, getRootVehicle, getRopeHoldPosition, getRotationVector, getScoreboardName, getSelfAndPassengers, getServer, getSharedFlag, getSoundSource, getStringUUID, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTags, getTeam, getTeamColor, getTicksFrozen, getTicksRequiredToFreeze, getType, getTypeName, getUpVector, getUUID, getVehicle, getVehicleAttachmentPoint, getViewScale, getViewVector, getViewXRot, getViewYRot, getVisualRotationYInDegrees, getX, getX, getXRot, getY, getY, getYHeadRot, getYRot, getZ, getZ, handleDamageEvent, handleEntityEvent, handlePortal, hasControllingPassenger, hasCustomName, hasExactlyOnePlayerPassenger, hasGlowingTag, hashCode, hasIndirectPassenger, hasPassenger, hasPassenger, hasPermissions, hasPose, hurt, igniteForSeconds, igniteForTicks, ignoreExplosion, interact, interactAt, is, isAddedToLevel, 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, 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, lookAt, makeBoundingBox, makeStuckInBlock, markHurt, maxUpStep, maybeBackOffFromEdge, mirror, moveRelative, moveTo, moveTo, moveTo, moveTo, moveTo, moveTowardsClosestSpace, newDoubleList, newFloatList, nextStep, onAboveBubbleCol, onAddedToLevel, onBelowWorld, onClientRemoval, onExplosionHit, onFlap, onGround, onInsideBlock, onInsideBubbleColumn, onlyOpCanSetNbt, onPassengerTurned, onRemovedFromLevel, onSyncedDataUpdated, onSyncedDataUpdated, pick, placePortalTicket, playCombinationStepSounds, playEntityOnFireExtinguishedSound, playMuffledStepSound, playSound, playSound, playStepSound, playSwimSound, position, positionRider, positionRider, processFlappingMovement, processPortalCooldown, push, push, push, reapplyPosition, refreshDimensions, registryAccess, remove, removeAfterChangingDimensions, removePassenger, removeTag, removeVehicle, repositionEntityAfterLoad, resetFallDistance, revive, rideTick, rotate, saveAsPassenger, saveWithoutId, sendSystemMessage, setAirSupply, setAsInsidePortal, setBoundingBox, setCustomName, setCustomNameVisible, setData, setDeltaMovement, setDeltaMovement, setFluidTypeHeight, setGlowingTag, setId, setInvisible, setInvulnerable, setIsInPowderSnow, setLevel, setLevelCallback, setNoGravity, setOldPosAndRot, setOnGround, setOnGroundWithMovement, setPortalCooldown, setPortalCooldown, setPos, setPos, setPose, setPosRaw, setRemainingFireTicks, setRemoved, setRot, setSharedFlag, setSharedFlagOnFire, setShiftKeyDown, setSilent, setSprinting, setSwimming, setTicksFrozen, setUUID, setViewScale, setXRot, setYBodyRot, setYHeadRot, setYRot, shouldBeSaved, shouldBlockExplode, shouldInformAdmins, shouldShowName, showVehicleHealth, skipAttackInteraction, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnSprintParticle, startRiding, startRiding, startSeenByPlayer, stopRiding, stopSeenByPlayer, syncPacketPositionCodec, teleportRelative, teleportTo, teleportTo, thunderHit, toString, touchingUnloadedChunk, trackingPosition, tryCheckInsideBlocks, turn, unRide, unsetRemoved, updateDynamicGameEventListener, updateFluidHeightAndDoFluidPushing, updateFluidHeightAndDoFluidPushing, updateFluidOnEyes, updateInWaterStateAndDoFluidPushing, updateSwimming, waterSwimSound

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

    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 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, copyAttachmentsFrom, deserializeNBT, getClassification, getFluidFallDistanceModifier, getFluidMotionScale, getParts, getPickedResult, getSoundFromFluidType, hasCustomOutlineRendering, isEyeInFluidType, isInFluidType, isInFluidType, isInFluidType, isMultipartEntity, isPushedByFluid, sendPairingData, serializeNBT, shouldRiderSit

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

    getFeedbackDisplayName
  • Field Details

    • BASE_DAMAGE

      public static final int BASE_DAMAGE
      The spears base damage before any modifications.
      See Also:
    • NBT_WEAPON

      public static final String NBT_WEAPON
      The NBT key for the spear ItemStack.
      See Also:
    • NBT_DEALT_DAMAGE

      public static final String NBT_DEALT_DAMAGE
      The NBT key for the spears dealt damage value.
      See Also:
    • weapon

      protected net.minecraft.world.item.ItemStack weapon
      The weapon item stack, defaults to a generic ItemStack of the spear.
  • Constructor Details

    • SpearEntity

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

      public SpearEntity(net.minecraft.world.level.Level world, net.minecraft.world.entity.LivingEntity thrower, net.minecraft.world.item.ItemStack thrownWeapon)
  • Method Details

    • getPickupItem

      @NotNull public @NotNull net.minecraft.world.item.ItemStack getPickupItem()
      Overrides:
      getPickupItem in class net.minecraft.world.entity.projectile.AbstractArrow
    • findHitEntity

      @Nullable protected @Nullable net.minecraft.world.phys.EntityHitResult findHitEntity(net.minecraft.world.phys.Vec3 startVec, net.minecraft.world.phys.Vec3 endVec)
      Overrides:
      findHitEntity in class net.minecraft.world.entity.projectile.ThrownTrident
    • onHitEntity

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

      @NotNull protected @NotNull net.minecraft.sounds.SoundEvent getDefaultHitGroundSoundEvent()
      Overrides:
      getDefaultHitGroundSoundEvent in class net.minecraft.world.entity.projectile.ThrownTrident
    • readAdditionalSaveData

      public void readAdditionalSaveData(@NotNull @NotNull net.minecraft.nbt.CompoundTag nbt)
      Overrides:
      readAdditionalSaveData in class net.minecraft.world.entity.projectile.ThrownTrident
    • addAdditionalSaveData

      public void addAdditionalSaveData(@NotNull @NotNull net.minecraft.nbt.CompoundTag nbt)
      Overrides:
      addAdditionalSaveData in class net.minecraft.world.entity.projectile.ThrownTrident
    • tick

      public void tick()
      Remove spear after certain time alive.
      Overrides:
      tick in class net.minecraft.world.entity.projectile.ThrownTrident
    • tickDespawn

      public void tickDespawn()
      Overrides:
      tickDespawn in class net.minecraft.world.entity.projectile.ThrownTrident
    • getWaterInertia

      protected float getWaterInertia()
      Overrides:
      getWaterInertia in class net.minecraft.world.entity.projectile.ThrownTrident
    • shouldRender

      public boolean shouldRender(double x, double y, double z)
      Overrides:
      shouldRender in class net.minecraft.world.entity.projectile.ThrownTrident
    • getAttackSound

      public net.minecraft.sounds.SoundEvent getAttackSound()
      Description copied from interface: ICustomAttackSound
      The custom sound event to be used instead of SoundEvents.SKELETON_SHOOT
      Specified by:
      getAttackSound in interface ICustomAttackSound
      Returns:
      The sound event to be played when used to attack
    • save

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

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