Class MagicConstructEntity
java.lang.Object
net.minecraft.world.entity.Entity
com.binaris.wizardry.api.content.entity.construct.MagicConstructEntity
- 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.OwnableEntity,net.minecraft.world.level.entity.EntityAccess,net.minecraft.world.Nameable
- Direct Known Subclasses:
BubbleConstruct,ScaledConstructEntity,ZombieSpawnerConstruct
public abstract class MagicConstructEntity
extends net.minecraft.world.entity.Entity
implements net.minecraft.world.entity.OwnableEntity
This class is for all inanimate magical constructs that are not projectiles. Generally speaking, subclasses of this
class are areas of effect which deal with damage or apply effects over time, including black hole, blizzard, tornado and
a few others. The caster UUID, lifetime and damage multiplier are stored here, and lifetime is also synced here.
-
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 TypeFieldDescriptionfloatThe damage multiplier for this construct, determined by the wand with which it was cast.intThe time in ticks this magical construct lasts for; defaults to 600 (30 seconds).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, zOldFields inherited from interface net.fabricmc.fabric.api.attachment.v1.AttachmentTarget
NBT_ATTACHMENT_KEYFields inherited from interface net.minecraft.commands.CommandSource
NULL -
Constructor Summary
ConstructorsConstructorDescriptionMagicConstructEntity(net.minecraft.world.entity.EntityType<?> type, net.minecraft.world.level.Level world) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddAdditionalSaveData(net.minecraft.nbt.CompoundTag compoundTag) protected voidvoiddespawn()Defaults to just setDead() in EntityMagicConstruct, but is provided to allow subclasses to override this e.g.boolean@Nullable net.minecraft.world.entity.LivingEntity@Nullable net.minecraft.world.entity.LivingEntitygetOwner()@Nullable UUID@NotNull net.minecraft.world.InteractionResultinteractAt(@NotNull net.minecraft.world.entity.player.Player player, @NotNull net.minecraft.world.phys.Vec3 vec3, @NotNull net.minecraft.world.InteractionHand hand) booleanbooleanisValidTarget(net.minecraft.world.entity.Entity target) protected voidreadAdditionalSaveData(net.minecraft.nbt.CompoundTag compoundTag) voidsetCaster(@Nullable net.minecraft.world.entity.LivingEntity caster) voidtick()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, distanceTo, distanceToSqr, distanceToSqr, distanceToSqr, doEnchantDamageEffects, doWaterSplashEffect, ejectPassengers, equals, extinguishFire, fillCrashReportCategory, findDimensionEntryPoint, fireImmune, fixupDimensions, gameEvent, gameEvent, getAddEntityPacket, 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, handleEntityEvent, handleInsidePortal, handleNetherPortal, hasControllingPassenger, hasCustomName, hasExactlyOnePlayerPassenger, hasGlowingTag, hashCode, hasIndirectPassenger, hasPassenger, hasPassenger, hasPermissions, hasPose, hurt, ignoreExplosion, interact, 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, isRemoved, isShiftKeyDown, isSilent, isSpectator, isSprinting, isSteppingCarefully, isSupportedBy, isSuppressingBounce, isSwimming, isUnderWater, isVehicle, isVisuallyCrawling, isVisuallySwimming, kill, killedEntity, lavaHurt, lerpHeadTo, lerpMotion, lerpTo, level, limitPistonMovement, load, lookAt, makeBoundingBox, makeStuckInBlock, markHurt, maxUpStep, maybeBackOffFromEdge, mayInteract, 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, recreateFromPacket, refreshDimensions, remove, removeAfterChangingDimensions, removePassenger, removeTag, removeVehicle, repositionEntityAfterLoad, resetFallDistance, restoreFrom, rideTick, rotate, save, 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, shouldRenderAtSqrDistance, 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, syncComponentMethods inherited from interface net.minecraft.world.entity.OwnableEntity
level
-
Field Details
-
lifetime
public int lifetimeThe time in ticks this magical construct lasts for; defaults to 600 (30 seconds). If this is -1 the construct doesn't despawn. -
damageMultiplier
public float damageMultiplierThe damage multiplier for this construct, determined by the wand with which it was cast.
-
-
Constructor Details
-
MagicConstructEntity
public MagicConstructEntity(net.minecraft.world.entity.EntityType<?> type, net.minecraft.world.level.Level world)
-
-
Method Details
-
interactAt
@NotNull public @NotNull net.minecraft.world.InteractionResult interactAt(@NotNull @NotNull net.minecraft.world.entity.player.Player player, @NotNull @NotNull net.minecraft.world.phys.Vec3 vec3, @NotNull @NotNull net.minecraft.world.InteractionHand hand) - Overrides:
interactAtin classnet.minecraft.world.entity.Entity
-
despawn
public void despawn()Defaults to just setDead() in EntityMagicConstruct, but is provided to allow subclasses to override this e.g. bubble uses it to dismount the entity inside it and play the 'pop' sound before calling super(). You should always call super() when overriding this method, in case it changes. There is no need, therefore, to call setDead() when overriding. -
tick
public void tick()- Overrides:
tickin classnet.minecraft.world.entity.Entity
-
defineSynchedData
protected void defineSynchedData()- Specified by:
defineSynchedDatain classnet.minecraft.world.entity.Entity
-
readAdditionalSaveData
protected void readAdditionalSaveData(net.minecraft.nbt.CompoundTag compoundTag) - Specified by:
readAdditionalSaveDatain classnet.minecraft.world.entity.Entity
-
addAdditionalSaveData
protected void addAdditionalSaveData(net.minecraft.nbt.CompoundTag compoundTag) - Specified by:
addAdditionalSaveDatain classnet.minecraft.world.entity.Entity
-
getOwnerUUID
- Specified by:
getOwnerUUIDin interfacenet.minecraft.world.entity.OwnableEntity
-
getOwner
@Nullable public @Nullable net.minecraft.world.entity.LivingEntity getOwner()- Specified by:
getOwnerin interfacenet.minecraft.world.entity.OwnableEntity
-
getCaster
@Nullable public @Nullable net.minecraft.world.entity.LivingEntity getCaster() -
setCaster
public void setCaster(@Nullable @Nullable net.minecraft.world.entity.LivingEntity caster) -
isValidTarget
public boolean isValidTarget(net.minecraft.world.entity.Entity target) -
displayFireAnimation
public boolean displayFireAnimation()- Overrides:
displayFireAnimationin classnet.minecraft.world.entity.Entity
-
isPushedByFluid
public boolean isPushedByFluid()- Overrides:
isPushedByFluidin classnet.minecraft.world.entity.Entity
-