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.PickupNested 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.RemovalReasonNested classes/interfaces inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
net.neoforged.neoforge.attachment.AttachmentHolder.AsField -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe spears base damage before any modifications.static final StringThe NBT key for the spears dealt damage value.static final StringThe NBT key for the spear ItemStack.protected net.minecraft.world.item.ItemStackThe weapon item stack, defaults to a generic ItemStack of the spear.Fields inherited from class net.minecraft.world.entity.projectile.ThrownTrident
clientSideReturnTridentTickCountFields inherited from class net.minecraft.world.entity.projectile.AbstractArrow
inGround, inGroundTime, pickup, shakeTimeFields 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, zOldFields inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
ATTACHMENTS_NBT_KEYFields inherited from interface net.minecraft.commands.CommandSource
NULLFields inherited from interface net.minecraft.world.scores.ScoreHolder
WILDCARD, WILDCARD_NAME -
Constructor Summary
ConstructorsConstructorDescriptionSpearEntity(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 TypeMethodDescriptionvoidaddAdditionalSaveData(@NotNull net.minecraft.nbt.CompoundTag nbt) protected @Nullable net.minecraft.world.phys.EntityHitResultfindHitEntity(net.minecraft.world.phys.Vec3 startVec, net.minecraft.world.phys.Vec3 endVec) net.minecraft.sounds.SoundEventThe custom sound event to be used instead of SoundEvents.SKELETON_SHOOTprotected @NotNull net.minecraft.sounds.SoundEvent@NotNull net.minecraft.world.item.ItemStackprotected floatvoidload(@NotNull net.minecraft.nbt.CompoundTag nbt) protected voidonHitEntity(net.minecraft.world.phys.EntityHitResult result) voidreadAdditionalSaveData(@NotNull net.minecraft.nbt.CompoundTag nbt) booleansave(@NotNull net.minecraft.nbt.CompoundTag nbt) booleanshouldRender(double x, double y, double z) voidtick()Remove spear after certain time alive.voidMethods inherited from class net.minecraft.world.entity.projectile.ThrownTrident
defineSynchedData, getDefaultPickupItem, getWeaponItem, hitBlockEnchantmentEffects, isFoil, playerTouch, tryPickupMethods 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, shouldRenderAtSqrDistanceMethods 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, updateRotationMethods 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, waterSwimSoundMethods inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
deserializeAttachments, getData, getExistingData, hasAttachments, hasData, removeData, serializeAttachmentsMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface net.minecraft.commands.CommandSource
alwaysAcceptsMethods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder
getData, getExistingData, hasData, removeData, setDataMethods 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, shouldRiderSitMethods inherited from interface net.minecraft.world.scores.ScoreHolder
getFeedbackDisplayName
-
Field Details
-
BASE_DAMAGE
public static final int BASE_DAMAGEThe spears base damage before any modifications.- See Also:
-
NBT_WEAPON
The NBT key for the spear ItemStack.- See Also:
-
NBT_DEALT_DAMAGE
The NBT key for the spears dealt damage value.- See Also:
-
weapon
protected net.minecraft.world.item.ItemStack weaponThe 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:
getPickupItemin classnet.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:
findHitEntityin classnet.minecraft.world.entity.projectile.ThrownTrident
-
onHitEntity
protected void onHitEntity(net.minecraft.world.phys.EntityHitResult result) - Overrides:
onHitEntityin classnet.minecraft.world.entity.projectile.ThrownTrident
-
getDefaultHitGroundSoundEvent
@NotNull protected @NotNull net.minecraft.sounds.SoundEvent getDefaultHitGroundSoundEvent()- Overrides:
getDefaultHitGroundSoundEventin classnet.minecraft.world.entity.projectile.ThrownTrident
-
readAdditionalSaveData
public void readAdditionalSaveData(@NotNull @NotNull net.minecraft.nbt.CompoundTag nbt) - Overrides:
readAdditionalSaveDatain classnet.minecraft.world.entity.projectile.ThrownTrident
-
addAdditionalSaveData
public void addAdditionalSaveData(@NotNull @NotNull net.minecraft.nbt.CompoundTag nbt) - Overrides:
addAdditionalSaveDatain classnet.minecraft.world.entity.projectile.ThrownTrident
-
tick
public void tick()Remove spear after certain time alive.- Overrides:
tickin classnet.minecraft.world.entity.projectile.ThrownTrident
-
tickDespawn
public void tickDespawn()- Overrides:
tickDespawnin classnet.minecraft.world.entity.projectile.ThrownTrident
-
getWaterInertia
protected float getWaterInertia()- Overrides:
getWaterInertiain classnet.minecraft.world.entity.projectile.ThrownTrident
-
shouldRender
public boolean shouldRender(double x, double y, double z) - Overrides:
shouldRenderin classnet.minecraft.world.entity.projectile.ThrownTrident
-
getAttackSound
public net.minecraft.sounds.SoundEvent getAttackSound()Description copied from interface:ICustomAttackSoundThe custom sound event to be used instead of SoundEvents.SKELETON_SHOOT- Specified by:
getAttackSoundin interfaceICustomAttackSound- Returns:
- The sound event to be played when used to attack
-
save
public boolean save(@NotNull @NotNull net.minecraft.nbt.CompoundTag nbt) - Overrides:
savein classnet.minecraft.world.entity.Entity
-
load
public void load(@NotNull @NotNull net.minecraft.nbt.CompoundTag nbt) - Overrides:
loadin classnet.minecraft.world.entity.Entity
-