Class PrioritizedLivingEntityMixin
java.lang.Object
net.minecraft.entity.Entity
io.github.xrickastley.sevenelements.mixin.PrioritizedLivingEntityMixin
- All Implemented Interfaces:
ILivingEntity,AttachmentTarget,DataTracked,ScoreHolder,Nameable,EntityLike,org.ladysnake.cca.api.v3.component.ComponentAccess
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.entity.Entity
Entity.MoveEffect, Entity.PositionUpdater, Entity.RemovalReason -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Map<RegistryEntry<StatusEffect>, StatusEffectInstance> protected floatprivate @Nullable Entityprivate @Nullable DamageSourceprivate List<ElementalReaction> Fields inherited from class net.minecraft.entity.Entity
age, collidedSoftly, dataTracker, DEFAULT_FRICTION, DEFAULT_MIN_FREEZE_DAMAGE_TICKS, DEFAULT_PORTAL_COOLDOWN, distanceTraveled, fallDistance, field_44870, field_44871, field_44872, field_49073, field_49791, firstUpdate, FLAGS, fluidHeight, FREEZING_DAMAGE_INTERVAL, GLIDING_FLAG_INDEX, GLOWING_FLAG_INDEX, groundCollision, horizontalCollision, ID_KEY, inPowderSnow, intersectionChecked, lastRenderX, lastRenderY, lastRenderZ, MAX_COMMAND_TAGS, MAX_RIDING_COOLDOWN, MIN_RISING_BUBBLE_COLUMN_SPEED, movementMultiplier, noClip, ON_FIRE_FLAG_INDEX, PASSENGERS_KEY, portalManager, POSE, prevPitch, prevX, prevY, prevYaw, prevZ, random, ridingCooldown, speed, submergedInWater, supportingBlockPos, timeUntilRegen, touchingWater, uuid, UUID_KEY, uuidString, velocityDirty, velocityModified, verticalCollision, wasInPowderSnowFields inherited from interface net.fabricmc.fabric.api.attachment.v1.AttachmentTarget
NBT_ATTACHMENT_KEYFields inherited from interface net.minecraft.scoreboard.ScoreHolder
WILDCARD, WILDCARD_NAME -
Constructor Summary
ConstructorsConstructorDescriptionPrioritizedLivingEntityMixin(EntityType<? extends LivingEntity> entityType, World world) -
Method Summary
Modifier and TypeMethodDescriptionprivate floatapplyDMGModifiers(float amount, DamageSource source, ServerWorld world) private DamageSourceapplyElementalInfusions(DamageSource source) private floatapplyReactionAmplifiers(float amount, DamageSource source) private voidforceElementEffects(StatusEffectInstance effect, org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable<Boolean> cir) abstract booleanhasStatusEffect(RegistryEntry<StatusEffect> effect) abstract booleanisDead()private voidpersistElementEffectsOnClearEnd(org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable<Boolean> cir, com.llamalad7.mixinextras.sugar.ref.LocalRef<List<StatusEffectInstance>> savedEffects) private HashMap<RegistryEntry<StatusEffect>, StatusEffectInstance> persistElementEffectsOnClearStart(HashMap<RegistryEntry<StatusEffect>, StatusEffectInstance> value, com.llamalad7.mixinextras.sugar.ref.LocalRef<List<StatusEffectInstance>> savedEffects) private voidpreventDamageWhenFrozen(ServerWorld world, DamageSource source, float amount, org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable<Boolean> cir) private voidpreventElementEffectRemoval(RegistryEntry<StatusEffect> effect, org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable<StatusEffectInstance> cir) private voidremoveExpiredElementEffects(org.spongepowered.asm.mixin.injection.callback.CallbackInfo ci) private voidremoveForcedEffectsOnDeath(DamageSource damageSource, org.spongepowered.asm.mixin.injection.callback.CallbackInfo ci) abstract booleanremoveStatusEffect(RegistryEntry<StatusEffect> effect) private voidsetPlannedAttacker(ServerWorld world, DamageSource source, float amount, org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable<Boolean> cir) @Nullable EntityGets the "planned" attacker.@Nullable DamageSourceGets the "planned" damage source.Methods inherited from class net.minecraft.entity.Entity
addAirTravelEffects, addCommandTag, addFlapEffects, addPassenger, addPortalChunkTicketAt, addVelocity, addVelocity, addVelocityInternal, adjustMovementForCollisions, adjustMovementForPiston, adjustMovementForSneaking, animateDamage, applyGravity, applyMirror, applyRotation, attemptTickInVoid, baseTick, bypassesLandingEffects, bypassesSteppingEffects, calculateBoundingBox, calculateDefaultBoundingBox, calculateDimensions, calculateNextStepSoundDistance, canAddPassenger, canAvoidTraps, canBeHitByProjectile, canBeSpectated, canExplosionDestroyBlock, canFreeze, canHit, canModifyAt, canMoveVoluntarily, canSprintAsVehicle, canStartRiding, canTeleportBetween, canUsePortals, changeLookDirection, checkDespawn, clientDamage, collidesWith, collidesWithStateAtPos, copyFrom, copyPositionAndRotation, couldAcceptPassenger, createSpawnPacket, damage, detach, discard, dismountVehicle, distanceTo, doesNotCollide, doesRenderOnFire, dropItem, dropItem, dropStack, dropStack, emitGameEvent, emitGameEvent, equals, extinguish, extinguishWithSound, fall, getAir, getAttachments, getBlockPos, getBlockStateAtPos, getBlockX, getBlockY, getBlockZ, getBodyX, getBodyY, getBodyYaw, getBodyZ, getBoundingBox, getBrightnessAtEyes, getBurningDuration, getCameraPosVec, getChunkPos, getClientCameraPosVec, getCommandSource, getCommandTags, getControllingPassenger, getControllingVehicle, getCustomName, getDamageSources, getDataTracker, getDefaultName, getDefaultPortalCooldown, getDimensions, getDisplayName, getEffectiveExplosionResistance, getEntityWorld, getEyeHeight, getEyePos, getEyeY, getFacing, getFinalGravity, getFireTicks, getFirstPassenger, getFlag, getFluidHeight, getFreezingScale, getFrozenTicks, getGravity, getHandPosOffset, getHeadYaw, getHeight, getHighSpeedSplashSound, getHorizontalFacing, getHoverEvent, getId, getJumpVelocityMultiplier, getLandingBlockState, getLandingPos, getLastRenderPos, getLeashOffset, getLeashOffset, getLeashPos, getLerpedPitch, getLerpedPos, getLerpedYaw, getLerpTargetPitch, getLerpTargetX, getLerpTargetY, getLerpTargetYaw, getLerpTargetZ, getLootTableKey, getMaxAir, getMinFreezeDamageTicks, getMoveEffect, getMovement, getMovementDirection, getName, getNameForScoreboard, getOppositeRotationVector, getOppositeRotationVector, getParticleX, getParticleZ, getPassengerAttachmentPos, getPassengerAttachmentPos, getPassengerDismountOffset, getPassengerList, getPassengerRidingPos, getPassengersDeep, getPickBlockStack, getPistonBehavior, getPitch, getPitch, getPlayerPassengers, getPortalCooldown, getPos, getPose, getPosWithYOffset, getProjectileDeflection, getRandom, getRandomBodyY, getRegistryManager, getRemovalReason, getRenderDistanceMultiplier, getRootVehicle, getRotationClient, getRotationVec, getRotationVecClient, getRotationVector, getRotationVector, getSafeFallDistance, getSavedEntityId, getScoreboardTeam, getServer, getSoundCategory, getSplashSound, getStackReference, getStandingEyeHeight, getStepHeight, getSteppingBlockState, getSteppingPos, getStepSoundPos, getSwimHeight, getSwimSound, getSyncedPos, getTargetingMargin, getTeamColorValue, getTrackedPosition, getType, getUuid, getUuidAsString, getVehicle, getVehicleAttachmentPos, getVelocity, getVelocityAffectingPos, getVelocityMultiplier, getWeaponStack, getWidth, getWorld, getWorldSpawnPos, getX, getY, getYaw, getYaw, getZ, handleAttack, handleFall, handleFallDamage, handleStatus, hasCollidedSoftly, hasControllingPassenger, hasCustomName, hashCode, hasNoGravity, hasPassenger, hasPassenger, hasPassengerDeep, hasPassengers, hasPlayerRider, hasPortalCooldown, hasVehicle, initDataTracker, interact, interactAt, isAlive, isAlwaysInvulnerableTo, isAttackable, isCollidable, isConnectedThroughVehicle, isControlledByPlayer, isCrawling, isCustomNameVisible, isDescending, isFireImmune, isFlappingWings, isFrozen, isGlowing, isGlowingLocal, isImmuneToExplosion, isInFluid, isInLava, isInPose, isInRange, isInRange, isInSameTeam, isInsideWall, isInsideWaterOrBubbleColumn, isInSneakingPose, isInSwimmingPose, isInvisible, isInvisibleTo, isInvulnerable, isLiving, isLocalPlayerOrLogicalSideForUpdatingMovement, isLogicalSideForUpdatingMovement, isOnFire, isOnGround, isOnRail, isPartOf, isPlayer, isPushable, isPushedByFluids, isRegionUnloaded, isRemoved, isSilent, isSneaking, isSneaky, isSpectator, isSprinting, isSubmergedIn, isSubmergedInWater, isSupportedBy, isSwimming, isTeammate, isTeamPlayer, isTouchingWater, isTouchingWaterOrRain, isWet, kill, lerpPosAndRotation, lerpYaw, limitFallDistance, lookAt, move, movementInputToVelocity, occludeVibrationSignals, onBlockCollision, onBubbleColumnCollision, onBubbleColumnSurfaceCollision, onDamaged, onDataTrackerUpdate, onExplodedBy, onKilledOther, onLanding, onPassengerLookAround, onPlayerCollision, onRemove, onRemoved, onSpawnPacket, onStartedTrackingBy, onStoppedTrackingBy, onStruckByLightning, onSwimmingStart, onTrackedDataSet, playCombinationStepSounds, playExtinguishSound, playSecondaryStepSound, playSound, playSoundIfNotSilent, playStepSound, playSwimSound, playSwimSound, populateCrashReport, positionInPortal, pushAwayFrom, pushOutOfBlocks, queueBlockCollisionCheck, raycast, readCustomDataFromNbt, readNbt, recalculateDimensions, refreshPosition, refreshPositionAfterTeleport, refreshPositionAfterTeleport, refreshPositionAndAngles, refreshPositionAndAngles, refreshPositionAndAngles, reinitDimensions, remove, removeAllPassengers, removeCommandTag, removeFromDimension, removePassenger, requestTeleport, requestTeleportAndDismount, requestTeleportOffset, resetLerp, resetPortalCooldown, resetPosition, rotate, saveNbt, saveSelfNbt, scheduleVelocityUpdate, serverDamage, setAir, setAngles, setBodyYaw, setBoundingBox, setChangeListener, setCustomName, setCustomNameVisible, setFireTicks, setFlag, setFrozenTicks, setGlowing, setHeadYaw, setId, setInPowderSnow, setInvisible, setInvulnerable, setMovement, setMovement, setNoGravity, setOnFire, setOnFireFor, setOnFireForTicks, setOnFireFromLava, setOnGround, setPitch, setPortalCooldown, setPos, setPose, setPosition, setPosition, setPosition, setPrevPositionAndAngles, setRemoved, setRenderDistanceMultiplier, setRotation, setSilent, setSneaking, setSprinting, setSwimming, setUuid, setVelocity, setVelocity, setVelocityClient, setWorld, setYaw, shouldControlVehicles, shouldDismountUnderwater, shouldEscapePowderSnow, shouldPlayBurnSoundInLava, shouldRender, shouldRender, shouldRenderName, shouldSave, shouldSetPositionOnLoad, shouldSpawnSprintingParticles, shouldTickBlockCollision, sidedDamage, slowMovement, spawnSprintingParticles, squaredDistanceTo, squaredDistanceTo, squaredDistanceTo, startRiding, startRiding, stopRiding, streamPassengersAndSelf, streamSelfAndPassengers, teleport, teleportTo, tick, tickBlockCollision, tickBlockCollision, tickInVoid, tickPortalCooldown, tickPortalTeleportation, tickRiding, toNbtList, toNbtList, toString, tryUsePortal, unsetRemoved, updateEventHandler, updateKilledAdvancementCriterion, updateMovementInFluid, updatePassengerForDismount, updatePassengerPosition, updatePassengerPosition, updatePosition, updatePositionAndAngles, updatePrevAngles, updatePrevPosition, updateSupportingBlockPos, updateSwimming, updateTrackedHeadRotation, updateTrackedPosition, updateTrackedPositionAndAngles, updateVelocity, updateWaterState, writeCustomDataToNbt, writeNbtMethods 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 org.ladysnake.cca.api.v3.component.ComponentAccess
asComponentProvider, getComponent, syncComponent, syncComponent, syncComponentMethods inherited from interface io.github.xrickastley.sevenelements.interfaces.ILivingEntity
sevenelements$setBlockedByCrystallizeShieldMethods inherited from interface net.minecraft.scoreboard.ScoreHolder
getStyledDisplayName
-
Field Details
-
lastDamageTaken
protected float lastDamageTaken -
activeStatusEffects
-
sevenelements$reactions
-
sevenelements$plannedAttacker
-
sevenelements$plannedDamageSource
-
-
Constructor Details
-
PrioritizedLivingEntityMixin
-
-
Method Details
-
isDead
public abstract boolean isDead() -
hasStatusEffect
-
removeStatusEffect
-
sevenelements$getPlannedAttacker
Description copied from interface:ILivingEntityGets the "planned" attacker. This is updated at the very start of the damage method, meaning that the attacker may not be able to attack after all succeeding conditions are checked.
This is the attacker of the most recentDamageSourcepassed throughLivingEntity#damage.- Specified by:
sevenelements$getPlannedAttackerin interfaceILivingEntity- See Also:
-
sevenelements$getPlannedDamageSource
Description copied from interface:ILivingEntityGets the "planned" damage source. This is updated at the very start of the damage method, meaning that the damage source may not be applied after all succeeding conditions are checked.
This is the most recentDamageSourcepassed throughLivingEntity#damage.- Specified by:
sevenelements$getPlannedDamageSourcein interfaceILivingEntity
-
forceElementEffects
private void forceElementEffects(StatusEffectInstance effect, org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable<Boolean> cir) -
preventElementEffectRemoval
private void preventElementEffectRemoval(RegistryEntry<StatusEffect> effect, org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable<StatusEffectInstance> cir) -
removeForcedEffectsOnDeath
private void removeForcedEffectsOnDeath(DamageSource damageSource, org.spongepowered.asm.mixin.injection.callback.CallbackInfo ci) -
removeExpiredElementEffects
private void removeExpiredElementEffects(org.spongepowered.asm.mixin.injection.callback.CallbackInfo ci) -
persistElementEffectsOnClearStart
private HashMap<RegistryEntry<StatusEffect>,StatusEffectInstance> persistElementEffectsOnClearStart(HashMap<RegistryEntry<StatusEffect>, StatusEffectInstance> value, com.llamalad7.mixinextras.sugar.ref.LocalRef<List<StatusEffectInstance>> savedEffects) -
persistElementEffectsOnClearEnd
private void persistElementEffectsOnClearEnd(org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable<Boolean> cir, com.llamalad7.mixinextras.sugar.ref.LocalRef<List<StatusEffectInstance>> savedEffects) -
setPlannedAttacker
private void setPlannedAttacker(ServerWorld world, DamageSource source, float amount, org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable<Boolean> cir) -
preventDamageWhenFrozen
private void preventDamageWhenFrozen(ServerWorld world, DamageSource source, float amount, org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable<Boolean> cir) -
applyElementalInfusions
-
applyDMGModifiers
-
applyReactionAmplifiers
-