Class DroneEntity
java.lang.Object
net.minecraftforge.common.capabilities.CapabilityProvider<net.minecraft.world.entity.Entity>
net.minecraft.world.entity.Entity
net.minecraft.world.entity.LivingEntity
net.minecraft.world.entity.Mob
net.minecraft.world.entity.PathfinderMob
me.desht.pneumaticcraft.common.entity.drone.AbstractDroneEntity
me.desht.pneumaticcraft.common.entity.drone.DroneEntity
- All Implemented Interfaces:
IPneumaticWrenchable,IHackableEntity,IDrone,IManoMeasurable,IDroneBase,IUpgradeHolder,net.minecraft.commands.CommandSource,net.minecraft.world.entity.animal.FlyingAnimal,net.minecraft.world.level.entity.EntityAccess,net.minecraft.world.Nameable,net.minecraftforge.common.capabilities.ICapabilityProvider,net.minecraftforge.common.capabilities.ICapabilityProviderImpl<net.minecraft.world.entity.Entity>,net.minecraftforge.common.capabilities.ICapabilitySerializable<net.minecraft.nbt.CompoundTag>,net.minecraftforge.common.extensions.IForgeEntity,net.minecraftforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>,net.minecraftforge.entity.IEntityAdditionalSpawnData
- Direct Known Subclasses:
AmadroneEntity,CollectorDroneEntity,GuardDroneEntity,HarvestingDroneEntity,LogisticsDroneEntity
public class DroneEntity
extends AbstractDroneEntity
implements IManoMeasurable, IPneumaticWrenchable, net.minecraftforge.entity.IEntityAdditionalSpawnData, IHackableEntity, IDroneBase, net.minecraft.world.entity.animal.FlyingAnimal, IUpgradeHolder
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class net.minecraft.world.entity.LivingEntity
net.minecraft.world.entity.LivingEntity.FallsoundsNested 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.minecraftforge.common.capabilities.CapabilityProvider
net.minecraftforge.common.capabilities.CapabilityProvider.AsField<B extends net.minecraftforge.common.capabilities.ICapabilityProviderImpl<B>> -
Field Summary
FieldsFields inherited from class me.desht.pneumaticcraft.common.entity.drone.AbstractDroneEntity
laserExtension, oldLaserExtension, oldPropRotation, propRotationFields inherited from class net.minecraft.world.entity.PathfinderMob
DEFAULT_WALK_TARGET_VALUEFields inherited from class net.minecraft.world.entity.Mob
ambientSoundTime, armorDropChances, DEFAULT_EQUIPMENT_DROP_CHANCE, goalSelector, handDropChances, jumpControl, LEASH_TAG, lookControl, MAX_ENCHANTED_ARMOR_CHANCE, MAX_ENCHANTED_WEAPON_CHANCE, MAX_PICKUP_LOOT_CHANCE, MAX_WEARING_ARMOR_CHANCE, moveControl, navigation, targetSelector, UPDATE_GOAL_SELECTOR_EVERY_N_TICKS, xpRewardFields inherited from class net.minecraft.world.entity.LivingEntity
animationPosition, animationSpeed, animationSpeedOld, animStep, animStepO, ARMOR_SLOT_OFFSET, ARMOR_SLOTS, attackAnim, attackStrengthTicker, autoSpinAttackTicks, brain, DATA_LIVING_ENTITY_FLAGS, dead, DEATH_DURATION, deathScore, deathTime, DEFAULT_BASE_GRAVITY, DEFAULT_EYE_HEIGHT, EQUIPMENT_SLOT_OFFSET, EXTRA_RENDER_CULLING_SIZE_WITH_BIG_HAT, fallFlyTicks, flyingSpeed, HAND_SLOTS, hurtDir, hurtDuration, hurtTime, invulnerableDuration, jumping, lastHurt, lastHurtByPlayer, lastHurtByPlayerTime, lerpHeadSteps, lerpSteps, lerpX, lerpXRot, lerpY, lerpYRot, lerpZ, LIVING_ENTITY_FLAG_IS_USING, LIVING_ENTITY_FLAG_OFF_HAND, LIVING_ENTITY_FLAG_SPIN_ATTACK, lyHeadRot, MIN_MOVEMENT_DISTANCE, noActionTime, oAttackAnim, oRun, PLAYER_HURT_EXPERIENCE_TIME, removeArrowTime, removeStingerTime, rotA, rotOffs, run, SLEEPING_DIMENSIONS, SWING_DURATION, swinging, swingingArm, swingTime, timeOffs, USE_ITEM_INTERVAL, useItem, useItemRemaining, xxa, yBodyRot, yBodyRotO, yHeadRot, yHeadRotO, yya, zzaFields 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, ENTITY_COUNTER, entityData, fallDistance, firstTick, FLAG_FALL_FLYING, FLAG_GLOWING, FLAG_ONFIRE, fluidHeight, flyDist, FREEZE_HURT_FREQUENCY, hasImpulse, horizontalCollision, hurtMarked, ID_TAG, invulnerableTime, isInPowderSnow, isInsidePortal, level, MAX_ENTITY_TAG_COUNT, maxUpStep, minorHorizontalCollision, moveDist, noCulling, noPhysics, onGround, 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.minecraft.commands.CommandSource
NULL -
Constructor Summary
ConstructorsConstructorDescriptionDroneEntity(net.minecraft.world.entity.EntityType<? extends DroneEntity> type, net.minecraft.world.level.Level world) DroneEntity(net.minecraft.world.level.Level world, net.minecraft.world.entity.player.Player player) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAdditionalSaveData(net.minecraft.nbt.CompoundTag tag) voidaddAirToDrone(int air) voidaddHackInfo(net.minecraft.world.entity.Entity entity, List<net.minecraft.network.chat.Component> curInfo, net.minecraft.world.entity.player.Player player) Add info that is displayed on the tracker tooltip here.voidaddPostHackInfo(net.minecraft.world.entity.Entity entity, List<net.minecraft.network.chat.Component> curInfo, net.minecraft.world.entity.player.Player player) Add info that is being displayed after hacking, as long as 'afterHackTick' is returning true.booleanaddProgram(net.minecraft.core.BlockPos clickPos, net.minecraft.core.Direction facing, net.minecraft.core.BlockPos placePos, net.minecraft.world.item.ItemStack droneStack, List<IProgWidget> progWidgets) Add an initial program to a drone that's about to be placed.booleanafterHackTick(net.minecraft.world.entity.Entity entity) Called every tick after the hacking finished.booleanbooleancanHack(net.minecraft.world.entity.Entity entity, net.minecraft.world.entity.player.Player player) Returning true will allow the player to hack this entity.booleancanMoveIntoFluid(net.minecraft.world.level.material.Fluid fluid) net.minecraft.world.entity.EntitychangeDimension(net.minecraft.server.level.ServerLevel p_241206_1_, net.minecraftforge.common.util.ITeleporter teleporter) protected net.minecraft.world.entity.ai.navigation.PathNavigationcreateNavigation(net.minecraft.world.level.Level worldIn) protected intdecreaseAirSupply(int par1) Decrements the entity's air supply when underwaterprotected voidvoiddie(net.minecraft.world.damagesource.DamageSource damageSource) booleandoHurtTarget(net.minecraft.world.entity.Entity entity) protected voidvoiddropItem(net.minecraft.world.item.ItemStack stack) Cause the drone to drop the given item at its position.intnet.minecraft.network.protocol.Packet<?>protected BasicAirHandlerintintint<T> net.minecraftforge.common.util.LazyOptional<T>getCapability(net.minecraftforge.common.capabilities.Capability<T> capability, net.minecraft.core.Direction facing) List<net.minecraft.world.entity.Entity>Get the list of entities currently carried by this drone.net.minecraft.core.BlockPosGet the position of the drone's controller.protected net.minecraft.sounds.SoundEventnet.minecraft.core.BlockPosGet the blockpos at which this drone was deployed (by player or dispenser).intnet.minecraft.world.item.ItemStacknet.minecraft.network.chat.Componentnet.minecraft.world.phys.Vec3Get the drone's exact position.floatdoublenet.minecraft.core.BlockPosintgetEmittingRedstone(net.minecraft.core.Direction side) net.minecraftforge.common.util.FakePlayerGet the fake player object for the drone.net.minecraftforge.fluids.IFluidTankGet the drone's fluid tank.net.minecraft.resources.ResourceLocationIHackableEntityintgetHackTime(net.minecraft.world.entity.Entity entity, net.minecraft.world.entity.player.Player player) Return the time it takes to hack this entity in ticks.protected net.minecraft.sounds.SoundEventgetHurtSound(net.minecraft.world.damagesource.DamageSource p_184601_1_) net.minecraftforge.items.IItemHandlerModifiablegetInv()Get the drone's inventory.getLabel()intnet.minecraft.world.entity.player.PlayergetOwner()Retrieve the owning player of this drone; i.e.net.minecraft.network.chat.ComponentGet the UUID of the drone's owner.Get the drone's path navigator object.net.minecraft.world.entity.ai.goal.GoalintGet the first slot which has any ammo in it.protected floatnet.minecraft.world.entity.ai.goal.GoalSelectorGet the drone's current collection of tasks.net.minecraft.core.BlockPosnet.minecraftforge.items.IItemHandlerintgetUpgrades(PNCUpgrade upgrade) Get a count of the installed upgrades of the given type.Optional<net.minecraft.core.BlockPos>getVariable(String varName) booleanbooleanhurt(net.minecraft.world.damagesource.DamageSource damageSource, float damage) voidbooleanbooleanHas the drone's normal tasks been overridden by special circumstances? E.g.booleanisBlockValidPathfindBlock(net.minecraft.core.BlockPos pos) Is the given position valid for pathfinding purposes? i.e.booleanbooleanbooleanisFlying()booleanisInvulnerableTo(net.minecraft.world.damagesource.DamageSource source) booleanisProgramApplicable(ProgWidgetType<?> widgetType) booleannet.minecraft.world.InteractionResultmobInteract(net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand hand) voidonHackFinished(net.minecraft.world.entity.Entity entity, net.minecraft.world.entity.player.Player player) Called when a player successfully hacks an entity; basicallygetHackTime(Entity)ticks after the hack was initiated.voidonItemPickupEvent(net.minecraft.world.entity.item.ItemEntity curPickingUpEntity, int stackSize) Called when a drone is picking up an item.voidonSemiblockEvent(SemiblockEvent event) voidonSyncedDataUpdated(net.minecraft.network.syncher.EntityDataAccessor<?> key) voidbooleanonWrenched(net.minecraft.world.level.Level world, net.minecraft.world.entity.player.Player player, net.minecraft.core.BlockPos pos, net.minecraft.core.Direction side, net.minecraft.world.InteractionHand hand) Called when a drone is right-clicked by a Pneumatic Wrench.voidvoidplaySound(net.minecraft.sounds.SoundEvent soundEvent, net.minecraft.sounds.SoundSource category, float volume, float pitch) static net.minecraft.world.entity.ai.attributes.AttributeSupplier.BuildervoidprintManometerMessage(net.minecraft.world.entity.player.Player player, List<net.minecraft.network.chat.Component> curInfo) This method is invoked by the Manometer when a player right-clicks a BE or Entity with this interface implemented.voidreadAdditionalSaveData(net.minecraft.nbt.CompoundTag tag) voidreadFromItemStack(net.minecraft.world.item.ItemStack droneStack) Deserialize stored itemstack data when a drone item is deployed.voidreadSpawnData(net.minecraft.network.FriendlyByteBuf buffer) booleanremoveWhenFarAway(double dist) Determines if an entity can be despawned, used on idle far away entitiesvoidvoidsendWireframeToClient(net.minecraft.core.BlockPos pos) Send a position to the client to be rendered by the Pneumatic Helmet with Entity Tracker.voidsetActiveProgram(IProgWidget widget) voidsetCarryingEntity(net.minecraft.world.entity.Entity entity) Make the drone pick up the given entity.voidsetDeployPos(net.minecraft.core.BlockPos deployPos) voidsetDroneSpeed(double droneSpeed) voidsetDugBlock(net.minecraft.core.BlockPos pos) Mark the given block as being dug.voidsetEmittingRedstone(net.minecraft.core.Direction side, int value) Make the drone emit redstone in the given direction from its current position.voidsetLogisticsManager(LogisticsManager logisticsManager) voidsetName(net.minecraft.network.chat.Component string) Set the drone's custom name.voidsetStandby(boolean standby) voidsetTarget(net.minecraft.world.entity.LivingEntity entity) voidsetVariable(String varName, net.minecraft.core.BlockPos pos) booleanbooleanstartRiding(net.minecraft.world.entity.Entity entity, boolean force) voidstoreTrackerData(net.minecraft.world.item.ItemStack stack) voidtick()voidtravel(net.minecraft.world.phys.Vec3 travelVec) Moves the entity based on the specified heading.voidtryFireMinigun(net.minecraft.world.entity.LivingEntity target) voidSets the label that was jumped to last, with a hierarchy in case of External Programs.net.minecraft.world.level.Levelworld()Get the drone's world.voidwriteSpawnData(net.minecraft.network.FriendlyByteBuf buffer) Methods inherited from class me.desht.pneumaticcraft.common.entity.drone.AbstractDroneEntity
getLaserOffsetYMethods inherited from class net.minecraft.world.entity.PathfinderMob
checkSpawnRules, followLeashSpeed, getWalkTargetValue, getWalkTargetValue, isPathFinding, onLeashDistance, tickLeashMethods inherited from class net.minecraft.world.entity.Mob
aiStep, ate, baseTick, canAttackType, canBeControlledByRider, canBeLeashed, canCutCorner, canFireProjectileWeapon, canHoldItem, canPickUpLoot, canReplaceCurrentItem, canReplaceEqualItem, canTakeItem, checkDespawn, checkMobSpawnRules, checkSpawnObstruction, clearRestriction, convertTo, createBodyControl, createLootContext, createMobAttributes, customServerAiStep, dropCustomDeathLoot, dropFromLootTable, dropLeash, enchantSpawnedArmor, enchantSpawnedWeapon, equipItemIfPossible, finalizeSpawn, getAmbientSound, getAmbientSoundInterval, getArmorSlots, getDefaultLootTable, getEquipmentDropChance, getEquipmentForSlot, getExperienceReward, getHandSlots, getHeadRotSpeed, getItemBySlot, getJumpControl, getLeashHolder, getLookControl, getLootTable, getMainArm, getMaxFallDistance, getMaxHeadXRot, getMaxHeadYRot, getMaxSpawnClusterSize, getMeleeAttackRangeSqr, getMoveControl, getNavigation, getPathfindingMalus, getPickResult, getRestrictCenter, getRestrictRadius, getSensing, getTarget, handleEntityEvent, hasRestriction, interact, isAggressive, isControlledByLocalInstance, isEffectiveAi, isLeashed, isLeftHanded, isMaxGroupSizeReached, isNoAi, isPersistenceRequired, isSunBurnTick, isWithinRestriction, isWithinRestriction, jumpInLiquid, lookAt, onOffspringSpawnedFromEgg, pickUpItem, playAmbientSound, playHurtSound, populateDefaultEquipmentEnchantments, populateDefaultEquipmentSlots, registerGoals, removeAfterChangingDimensions, removeFreeWill, requiresCustomPersistence, restrictTo, sendDebugPackets, serverAiStep, setAggressive, setBaby, setCanPickUpLoot, setDelayedLeashHolderId, setDropChance, setGuaranteedDrop, setItemSlot, setItemSlotAndDropWhenKilled, setLeashedTo, setLeftHanded, setNoAi, setPathfindingMalus, setPersistenceRequired, setSpeed, setXxa, setYya, setZza, shouldDespawnInPeaceful, shouldPassengersInheritMalus, spawnAnim, tickHeadTurn, updateControlFlags, wantsToPickUpMethods inherited from class net.minecraft.world.entity.LivingEntity
actuallyHurt, addEffect, addEffect, animateHurt, areAllEffectsAmbient, attackable, blockedByShield, blockUsingShield, brainProvider, broadcastBreakEvent, broadcastBreakEvent, calculateEntityAnimation, calculateFallDamage, canAttack, canAttack, canBeAffected, canBeSeenAsEnemy, canBeSeenByAnyone, canFreeze, canSpawnSoulSpeedParticle, canStandOnFluid, causeFallDamage, checkAutoSpinAttack, checkFallDamage, clearSleepingPos, completeUsingItem, createLivingAttributes, createWitherRose, curePotionEffects, doAutoAttackOnTouch, doPush, dropAllDeathLoot, dropExperience, eat, equipEventAndSound, forceAddEffect, getAbsorptionAmount, getActiveEffects, getActiveEffectsMap, getArmorCoverPercentage, getArrowCount, getAttackAnim, getAttribute, getAttributeBaseValue, getAttributes, getAttributeValue, getBedOrientation, getBlockSpeedFactor, getBoundingBoxForCulling, getBrain, getCombatTracker, getDamageAfterArmorAbsorb, getDamageAfterMagicAbsorb, getDimensions, getDismountPoses, getDrinkingSound, getEatingSound, getEffect, getEquipmentSlotForItem, getEyeHeight, getFallFlyingTicks, getFallSounds, getFluidFallingAdjustedMovement, getHealth, getItemInHand, getJumpBoostPower, getJumpPower, getKillCredit, getLastClimbablePos, getLastDamageSource, getLastHurtByMob, getLastHurtByMobTimestamp, getLastHurtMob, getLastHurtMobTimestamp, getLocalBoundsForPose, getMainHandItem, getMaxHealth, getMobType, getNoActionTime, getOffhandItem, getProjectile, getRandom, getRelativePortalPosition, getScale, getSleepingPos, getSlot, getSpeed, getStandingEyeHeight, getStingerCount, getSwimAmount, getTicksUsingItem, getUsedItemHand, getUseItem, getUseItemRemainingTicks, getViewYRot, getVisibilityPercent, getVoicePitch, getWaterSlowDown, getYHeadRot, goDownInWater, handleRelativeFrictionAndCalculateMovement, hasEffect, hasItemInSlot, hasLineOfSight, heal, hurtArmor, hurtCurrentlyUsedShield, hurtHelmet, increaseAirSupply, invalidateCaps, isAffectedByFluids, isAffectedByPotions, isAlive, isAlwaysExperienceDropper, isAutoSpinAttack, isBaby, isBlocking, isCurrentlyGlowing, isDamageSourceBlocked, isDeadOrDying, isFallFlying, isHolding, isHolding, isImmobile, isInvertedHealAndHarm, isInWall, isPickable, isPushable, isSensitiveToWater, isSleeping, isSuppressingSlidingDownLadder, isUsingItem, isVisuallySwimming, jumpFromGround, kill, knockback, lerpHeadTo, lerpTo, lookAt, makeBrain, onChangedBlock, onClimbable, onEffectAdded, onEffectRemoved, onEffectUpdated, onEnterCombat, onItemPickup, onLeaveCombat, onSoulSpeedBlock, outOfWorld, playBlockFallSound, push, pushEntities, randomTeleport, recreateFromPacket, releaseUsingItem, removeAllEffects, removeEffect, removeEffectNoUpdate, removeEffectParticles, removeFrost, removeSoulSpeed, resetForwardDirectionOfRelativePortalPosition, reviveCaps, rideableUnderWater, rideTick, setAbsorptionAmount, setArrowCount, setDiscardFriction, setHealth, setItemInHand, setJumping, setLastHurtByMob, setLastHurtByPlayer, setLastHurtMob, setLivingEntityFlag, setNoActionTime, setOnGround, setRecordPlayingNearby, setSleepingPos, setSprinting, setStingerCount, setYBodyRot, setYHeadRot, shouldDiscardFriction, shouldDropExperience, shouldDropLoot, shouldRemoveSoulSpeed, shouldRiderFaceForward, shouldShowName, spawnSoulSpeedParticle, startSleeping, startUsingItem, stopRiding, stopSleeping, stopUsingItem, swing, swing, take, tickDeath, tickEffects, triggerItemUseEffects, tryAddFrost, tryAddSoulSpeed, updateEffectVisibility, updateInvisibilityStatus, updateSwingTime, updateUsingItem, verifyEquippedItemMethods inherited from class net.minecraft.world.entity.Entity
absMoveTo, absMoveTo, acceptsFailure, acceptsSuccess, addPassenger, addTag, awardKillScore, blockPosition, broadcastToPlayer, calculateUpVector, calculateViewVector, canAddPassenger, canBeCollidedWith, canChangeDimensions, canCollideWith, canEnterPose, canRide, canSpawnSprintParticle, canTrample, canUpdate, canUpdate, captureDrops, captureDrops, changeDimension, checkInsideBlocks, checkOutOfWorld, chunkPosition, clearFire, closerThan, collideBoundingBox, copyPosition, createCommandSourceStack, createHoverEvent, discard, dismountTo, displayFireAnimation, distanceTo, distanceToSqr, distanceToSqr, distanceToSqr, doEnchantDamageEffects, doWaterSplashEffect, ejectPassengers, equals, eyeBlockPosition, fillCrashReportCategory, findDimensionEntryPoint, fireImmune, gameEvent, gameEvent, gameEvent, gameEvent, getAirSupply, getAllSlots, getBbHeight, getBbWidth, getBlockExplosionResistance, getBlockJumpFactor, getBlockPosBelowThatAffectsMyMovement, getBlockStateOn, getBlockX, getBlockY, getBlockZ, getBoundingBox, getBoundingBoxForPose, getBrightness, getCollisionHorizontalEscapeVector, getCommandSenderWorld, getControllingPassenger, getCustomName, getDeltaMovement, getDimensionChangingDelay, getDirection, getDismountLocationForPassenger, getDisplayName, getEncodeId, getEntityData, getExitPortal, getEyeHeight, getEyeHeight, getEyeHeightAccess, getEyePosition, getEyePosition, getEyeY, getFeetBlockState, getFireImmuneTicks, getFirstPassenger, getFluidHeight, getFluidJumpThreshold, getForward, getGameEventListenerRegistrar, getHandHoldingItemAngle, getId, getIndirectPassengers, getLeashOffset, getLevel, getLightProbePosition, getLookAngle, getMaxAirSupply, getMotionDirection, getMovementEmission, getMyRidingOffset, getName, getOnPos, getPacketCoordinates, getPassengers, getPassengersAndSelf, getPassengersRidingOffset, getPercentFrozen, getPermissionLevel, getPersistentData, getPickRadius, getPistonPushReaction, getPortalWaitTime, getPose, getPosition, getRandomX, getRandomY, getRandomZ, getRemainingFireTicks, getRemovalReason, getRootVehicle, getRopeHoldPosition, getRotationVector, getScoreboardName, getSelfAndPassengers, getServer, getSharedFlag, getSoundSource, getStringUUID, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTags, getTeam, getTeamColor, getTicksFrozen, getTicksRequiredToFreeze, getType, getTypeName, getUpVector, getUUID, getVehicle, getViewScale, getViewVector, getViewXRot, getX, getX, getXRot, getY, getY, getYRot, getZ, getZ, handleInsidePortal, handleNetherPortal, hasCustomName, hasExactlyOnePlayerPassenger, hasGlowingTag, hashCode, hasIndirectPassenger, hasPassenger, hasPassenger, hasPermissions, ignoreExplosion, interactAt, is, isAddedToWorld, isAlliedTo, isAlliedTo, isAlwaysTicking, isAttackable, isColliding, isCrouching, isCustomNameVisible, isDiscrete, isEyeInFluid, isFlapping, isFree, isFreezing, isFullyFrozen, isHorizontalCollisionMinor, isIgnoringBlockTriggers, isInLava, isInvisible, isInvisibleTo, isInvulnerable, isInWater, isInWaterOrBubble, isInWaterOrRain, isInWaterRainOrBubble, isNoGravity, isOnFire, isOnGround, isOnPortalCooldown, isPassenger, isPassengerOfSameVehicle, isPushedByFluid, isRemoved, isShiftKeyDown, isSilent, isSpectator, isSprinting, isSteppingCarefully, isSuppressingBounce, isSwimming, isUnderWater, isVehicle, isVisuallyCrawling, killed, lavaHurt, lerpMotion, limitPistonMovement, load, makeBoundingBox, makeStuckInBlock, markHurt, maybeBackOffFromEdge, mayInteract, mirror, move, moveRelative, moveTo, moveTo, moveTo, moveTo, moveTowardsClosestSpace, newDoubleList, newFloatList, nextStep, occludesVibrations, onAboveBubbleCol, onAddedToWorld, onClientRemoval, onFlap, onInsideBlock, onInsideBubbleColumn, onlyOpCanSetNbt, onPassengerTurned, onRemovedFromWorld, pick, playEntityOnFireExtinguishedSound, playerTouch, playSound, playStepSound, playSwimSound, position, positionRider, processFlappingMovement, processPortalCooldown, push, reapplyPosition, recreateFromPacket, refreshDimensions, remove, removePassenger, removeTag, removeVehicle, repositionEntityAfterLoad, resetFallDistance, restoreFrom, revive, rotate, save, saveAsPassenger, saveWithoutId, sendMessage, setAirSupply, setBoundingBox, setCustomName, setCustomNameVisible, setDeltaMovement, setDeltaMovement, setGlowingTag, setId, setInvisible, setInvulnerable, setIsInPowderSnow, setLevelCallback, setNoGravity, setOldPosAndRot, setPacketCoordinates, setPacketCoordinates, setPortalCooldown, setPos, setPos, setPose, setPosRaw, setRemainingFireTicks, setRemoved, setRot, setSecondsOnFire, setSharedFlag, setSharedFlagOnFire, setShiftKeyDown, setSilent, setSwimming, setTicksFrozen, setUUID, setViewScale, setXRot, setYRot, shouldBeSaved, shouldBlockExplode, shouldInformAdmins, shouldRender, shouldRenderAtSqrDistance, showVehicleHealth, skipAttackInteraction, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnSprintParticle, startRiding, startSeenByPlayer, stopSeenByPlayer, teleportTo, teleportToWithTicket, thunderHit, toString, touchingUnloadedChunk, tryCheckInsideBlocks, turn, unRide, unsetRemoved, updateFluidHeightAndDoFluidPushing, updateInWaterStateAndDoFluidPushing, updateSwimmingMethods inherited from class net.minecraftforge.common.capabilities.CapabilityProvider
areCapsCompatible, areCapsCompatible, deserializeCaps, gatherCapabilities, gatherCapabilities, gatherCapabilities, getCapabilities, serializeCapsMethods 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.minecraftforge.common.capabilities.ICapabilityProvider
getCapabilityMethods inherited from interface me.desht.pneumaticcraft.common.ai.IDroneBase
getActiveAIManager, getActiveWidget, onVariableChangedMethods inherited from interface net.minecraftforge.common.extensions.IForgeEntity
canBeRiddenInWater, canRiderInteract, deserializeNBT, getClassification, getParts, getPickedResult, getStepHeight, isMultipartEntity, serializeNBT, shouldRiderSit
-
Field Details
-
NBT_DRONE_COLOR
- See Also:
-
progWidgets
-
ownerName
public net.minecraft.network.chat.Component ownerName
-
-
Constructor Details
-
DroneEntity
public DroneEntity(net.minecraft.world.entity.EntityType<? extends DroneEntity> type, net.minecraft.world.level.Level world) -
DroneEntity
public DroneEntity(net.minecraft.world.level.Level world, net.minecraft.world.entity.player.Player player)
-
-
Method Details
-
onSemiblockEvent
-
readFromItemStack
public void readFromItemStack(net.minecraft.world.item.ItemStack droneStack) Deserialize stored itemstack data when a drone item is deployed.- Parameters:
droneStack- the drone itemstack
-
defineSynchedData
protected void defineSynchedData()- Overrides:
defineSynchedDatain classnet.minecraft.world.entity.Mob
-
prepareAttributes
public static net.minecraft.world.entity.ai.attributes.AttributeSupplier.Builder prepareAttributes() -
getCapability
@Nonnull public <T> net.minecraftforge.common.util.LazyOptional<T> getCapability(@Nonnull net.minecraftforge.common.capabilities.Capability<T> capability, net.minecraft.core.Direction facing) - Specified by:
getCapabilityin interfacenet.minecraftforge.common.capabilities.ICapabilityProvider- Overrides:
getCapabilityin classnet.minecraft.world.entity.LivingEntity
-
getAddEntityPacket
public net.minecraft.network.protocol.Packet<?> getAddEntityPacket()- Overrides:
getAddEntityPacketin classnet.minecraft.world.entity.LivingEntity
-
writeSpawnData
public void writeSpawnData(net.minecraft.network.FriendlyByteBuf buffer) - Specified by:
writeSpawnDatain interfacenet.minecraftforge.entity.IEntityAdditionalSpawnData
-
readSpawnData
public void readSpawnData(net.minecraft.network.FriendlyByteBuf buffer) - Specified by:
readSpawnDatain interfacenet.minecraftforge.entity.IEntityAdditionalSpawnData
-
removeWhenFarAway
public boolean removeWhenFarAway(double dist) Determines if an entity can be despawned, used on idle far away entities- Overrides:
removeWhenFarAwayin classnet.minecraft.world.entity.Mob
-
getSoundVolume
protected float getSoundVolume()- Overrides:
getSoundVolumein classnet.minecraft.world.entity.LivingEntity
-
getHurtSound
@Nullable protected net.minecraft.sounds.SoundEvent getHurtSound(net.minecraft.world.damagesource.DamageSource p_184601_1_) - Overrides:
getHurtSoundin classnet.minecraft.world.entity.LivingEntity
-
getDeathSound
@Nullable protected net.minecraft.sounds.SoundEvent getDeathSound()- Overrides:
getDeathSoundin classnet.minecraft.world.entity.LivingEntity
-
tick
public void tick()- Overrides:
tickin classnet.minecraft.world.entity.Mob
-
isDescending
public boolean isDescending()- Overrides:
isDescendingin classnet.minecraft.world.entity.Entity
-
canBreatheUnderwater
public boolean canBreatheUnderwater()- Overrides:
canBreatheUnderwaterin classnet.minecraft.world.entity.LivingEntity
-
getTargetedBlock
public net.minecraft.core.BlockPos getTargetedBlock()- Specified by:
getTargetedBlockin classAbstractDroneEntity
-
getLaserColor
public int getLaserColor()- Overrides:
getLaserColorin classAbstractDroneEntity
-
getDugBlock
public net.minecraft.core.BlockPos getDugBlock()- Specified by:
getDugBlockin classAbstractDroneEntity
-
getDroneHeldItem
public net.minecraft.world.item.ItemStack getDroneHeldItem()- Specified by:
getDroneHeldItemin classAbstractDroneEntity
-
setDugBlock
public void setDugBlock(net.minecraft.core.BlockPos pos) Description copied from interface:IDroneMark the given block as being dug.- Specified by:
setDugBlockin interfaceIDrone- Parameters:
pos- a block position
-
getRunningTasks
-
getRunningTargetAI
public net.minecraft.world.entity.ai.goal.Goal getRunningTargetAI() -
setVariable
-
getVariable
-
getActiveWidgetIndex
public int getActiveWidgetIndex()- Specified by:
getActiveWidgetIndexin interfaceIDroneBase
-
setActiveProgram
- Specified by:
setActiveProgramin interfaceIDroneBase
-
isAccelerating
public boolean isAccelerating()- Overrides:
isAcceleratingin classAbstractDroneEntity
-
getDroneColor
public int getDroneColor()- Overrides:
getDroneColorin classAbstractDroneEntity
-
hasMinigun
public boolean hasMinigun()- Overrides:
hasMinigunin classAbstractDroneEntity
-
getAmmoColor
public int getAmmoColor() -
getDeployPos
public net.minecraft.core.BlockPos getDeployPos()Description copied from interface:IDroneGet the blockpos at which this drone was deployed (by player or dispenser). For the Programmable Controller, this will simply return the controller's block position.- Specified by:
getDeployPosin interfaceIDrone- Returns:
- the deployment pos
-
setDeployPos
public void setDeployPos(net.minecraft.core.BlockPos deployPos) -
decreaseAirSupply
protected int decreaseAirSupply(int par1) Decrements the entity's air supply when underwater- Overrides:
decreaseAirSupplyin classnet.minecraft.world.entity.LivingEntity
-
travel
public void travel(net.minecraft.world.phys.Vec3 travelVec) Moves the entity based on the specified heading. Args: strafe, forward- Overrides:
travelin classnet.minecraft.world.entity.LivingEntity
-
getTargetLine
-
getOldTargetLine
-
mobInteract
public net.minecraft.world.InteractionResult mobInteract(net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand hand) - Overrides:
mobInteractin classnet.minecraft.world.entity.Mob
-
shouldDropAsItem
public boolean shouldDropAsItem() -
onWrenched
public boolean onWrenched(net.minecraft.world.level.Level world, net.minecraft.world.entity.player.Player player, net.minecraft.core.BlockPos pos, net.minecraft.core.Direction side, net.minecraft.world.InteractionHand hand) Called when a drone is right-clicked by a Pneumatic Wrench.- Specified by:
onWrenchedin interfaceIPneumaticWrenchable
-
changeDimension
@Nullable public net.minecraft.world.entity.Entity changeDimension(net.minecraft.server.level.ServerLevel p_241206_1_, net.minecraftforge.common.util.ITeleporter teleporter) - Overrides:
changeDimensionin classnet.minecraft.world.entity.Entity
-
dropEquipment
protected void dropEquipment()- Overrides:
dropEquipmentin classnet.minecraft.world.entity.LivingEntity
-
die
public void die(net.minecraft.world.damagesource.DamageSource damageSource) - Overrides:
diein classnet.minecraft.world.entity.LivingEntity
-
onSyncedDataUpdated
public void onSyncedDataUpdated(net.minecraft.network.syncher.EntityDataAccessor<?> key) - Overrides:
onSyncedDataUpdatedin classnet.minecraft.world.entity.LivingEntity
-
setTarget
public void setTarget(net.minecraft.world.entity.LivingEntity entity) - Overrides:
setTargetin classnet.minecraft.world.entity.Mob
-
startRiding
public boolean startRiding(net.minecraft.world.entity.Entity entity, boolean force) - Overrides:
startRidingin classnet.minecraft.world.entity.Mob
-
getAirHandler
-
printManometerMessage
public void printManometerMessage(net.minecraft.world.entity.player.Player player, List<net.minecraft.network.chat.Component> curInfo) Description copied from interface:IManoMeasurableThis method is invoked by the Manometer when a player right-clicks a BE or Entity with this interface implemented.- Specified by:
printManometerMessagein interfaceIManoMeasurable- Parameters:
player- player who is right-clicking the measurable BE, and therefore needs to get the messagecurInfo- list you can append info to. If you don't append any info no air will be used.
-
addAdditionalSaveData
public void addAdditionalSaveData(net.minecraft.nbt.CompoundTag tag) - Overrides:
addAdditionalSaveDatain classnet.minecraft.world.entity.Mob
-
readAdditionalSaveData
public void readAdditionalSaveData(net.minecraft.nbt.CompoundTag tag) - Overrides:
readAdditionalSaveDatain classnet.minecraft.world.entity.Mob
-
getOwnerName
public net.minecraft.network.chat.Component getOwnerName()- Specified by:
getOwnerNamein classAbstractDroneEntity
-
getOwnerUUID
Description copied from interface:IDroneGet the UUID of the drone's owner. This will be non-null even if the owning player is offline. A drone deployed by a Dispenser has an arbitrary owner UUID that was assigned to it when it was spawned.- Specified by:
getOwnerUUIDin interfaceIDrone- Returns:
- the owner's UUID
-
getUpgrades
Description copied from interface:IDroneGet a count of the installed upgrades of the given type.- Specified by:
getUpgradesin interfaceIDrone- Parameters:
upgrade- the upgrade to check- Returns:
- amount of installed upgrades in the drone
-
getFakePlayer
public net.minecraftforge.common.util.FakePlayer getFakePlayer()Description copied from interface:IDroneGet the fake player object for the drone. This will always return null if called client-side.- Specified by:
getFakePlayerin interfaceIDrone- Returns:
- a fake player
-
getMinigun
-
doHurtTarget
public boolean doHurtTarget(net.minecraft.world.entity.Entity entity) - Overrides:
doHurtTargetin classnet.minecraft.world.entity.Mob
-
getArmorValue
public int getArmorValue()- Overrides:
getArmorValuein classnet.minecraft.world.entity.LivingEntity
-
hurt
public boolean hurt(net.minecraft.world.damagesource.DamageSource damageSource, float damage) - Overrides:
hurtin classnet.minecraft.world.entity.LivingEntity
-
isInvulnerableTo
public boolean isInvulnerableTo(net.minecraft.world.damagesource.DamageSource source) - Overrides:
isInvulnerableToin classnet.minecraft.world.entity.Entity
-
getInv
public net.minecraftforge.items.IItemHandlerModifiable getInv()Description copied from interface:IDroneGet the drone's inventory. Note that this is also accessible via theCapabilityItemHandler.ITEM_HANDLER_CAPABILITYcapability, which should be used in preference. -
getEmittingRedstone
public int getEmittingRedstone(net.minecraft.core.Direction side) -
setEmittingRedstone
public void setEmittingRedstone(net.minecraft.core.Direction side, int value) Description copied from interface:IDroneMake the drone emit redstone in the given direction from its current position.- Specified by:
setEmittingRedstonein interfaceIDrone- Parameters:
side- the direction to emitvalue- the redstone level
-
isBlockValidPathfindBlock
public boolean isBlockValidPathfindBlock(net.minecraft.core.BlockPos pos) Description copied from interface:IDroneIs the given position valid for pathfinding purposes? i.e. may the drone move through or to it?Custom pathfinding functionality may be added via
IDroneRegistry.addPathfindableBlock(Block, IPathfindHandler).- Specified by:
isBlockValidPathfindBlockin interfaceIDrone- Parameters:
pos- a block position- Returns:
- true if the position is valid, false otherwise
-
sendWireframeToClient
public void sendWireframeToClient(net.minecraft.core.BlockPos pos) Description copied from interface:IDroneSend a position to the client to be rendered by the Pneumatic Helmet with Entity Tracker. This is used to highlight blacklisted block positions.- Specified by:
sendWireframeToClientin interfaceIDrone- Parameters:
pos- a block position
-
getHackableId
public net.minecraft.resources.ResourceLocation getHackableId()IHackableEntity- Specified by:
getHackableIdin interfaceIHackableEntity- Returns:
- a unique String id
-
canHack
public boolean canHack(net.minecraft.world.entity.Entity entity, net.minecraft.world.entity.player.Player player) Description copied from interface:IHackableEntityReturning true will allow the player to hack this entity. This can be used to only allow hacking under certain conditions.- Specified by:
canHackin interfaceIHackableEntity- Parameters:
entity- the potential hacking targetplayer- the player who is looking at the entity
-
addHackInfo
public void addHackInfo(net.minecraft.world.entity.Entity entity, List<net.minecraft.network.chat.Component> curInfo, net.minecraft.world.entity.player.Player player) Description copied from interface:IHackableEntityAdd info that is displayed on the tracker tooltip here. Text like "Hack to explode" can be added. This method is only called when canHack(Entity) returned true.- Specified by:
addHackInfoin interfaceIHackableEntity- Parameters:
entity- the potential hack targetcurInfo- a text component list to append info toplayer- the player who is looking at the entity
-
addPostHackInfo
public void addPostHackInfo(net.minecraft.world.entity.Entity entity, List<net.minecraft.network.chat.Component> curInfo, net.minecraft.world.entity.player.Player player) Description copied from interface:IHackableEntityAdd info that is being displayed after hacking, as long as 'afterHackTick' is returning true. Things like "Neutralized".- Specified by:
addPostHackInfoin interfaceIHackableEntity- Parameters:
entity- the hacked entitycurInfo- a text component list to append info toplayer- the player who has hacked the entity
-
getHackTime
public int getHackTime(net.minecraft.world.entity.Entity entity, net.minecraft.world.entity.player.Player player) Description copied from interface:IHackableEntityReturn the time it takes to hack this entity in ticks. For more powerful hacks, a longer required hacking time is recommended.- Specified by:
getHackTimein interfaceIHackableEntity- Parameters:
entity- the potential hack targetplayer- the player who is looking at the entity
-
onHackFinished
public void onHackFinished(net.minecraft.world.entity.Entity entity, net.minecraft.world.entity.player.Player player) Description copied from interface:IHackableEntityCalled when a player successfully hacks an entity; basicallygetHackTime(Entity)ticks after the hack was initiated.- Specified by:
onHackFinishedin interfaceIHackableEntity- Parameters:
entity- the hacked entityplayer- the player who has hacked the entity
-
afterHackTick
public boolean afterHackTick(net.minecraft.world.entity.Entity entity) Description copied from interface:IHackableEntityCalled every tick after the hacking finished. Returning true will keep this going (e.g. for endermen, to suppress their teleportation) or false for one-shot hacks (e.g. hacking a cow turns it into a mooshroom, and that is all)- Specified by:
afterHackTickin interfaceIHackableEntity- Parameters:
entity- the hacked entity
-
getFluidTank
public net.minecraftforge.fluids.IFluidTank getFluidTank()Description copied from interface:IDroneGet the drone's fluid tank. Note that this is also accessible via theCapabilityFluidHandler.FLUID_HANDLER_CAPABILITYcapability, which should be used in preference.- Specified by:
getFluidTankin interfaceIDrone- Returns:
- a fluid tank
-
getOwner
public net.minecraft.world.entity.player.Player getOwner()Description copied from interface:IDroneRetrieve the owning player of this drone; i.e. the player who deployed the drone. A drone deployed by a Dispenser does not have a valid player owner. -
setStandby
public void setStandby(boolean standby) -
world
public net.minecraft.world.level.Level world()Description copied from interface:IDroneGet the drone's world. -
getDronePos
public net.minecraft.world.phys.Vec3 getDronePos()Description copied from interface:IDroneGet the drone's exact position.- Specified by:
getDronePosin interfaceIDrone- Returns:
- the entity position
-
getControllerPos
public net.minecraft.core.BlockPos getControllerPos()Description copied from interface:IDroneGet the position of the drone's controller. For actual drone entities, this will always beBlockPos.ZERO. If the drone is actually a Programmable Controller, it will be the controller's block position.- Specified by:
getControllerPosin interfaceIDrone
-
dropItem
public void dropItem(net.minecraft.world.item.ItemStack stack) Description copied from interface:IDroneCause the drone to drop the given item at its position. The specified item does not need to be in the drone's inventory, nor will it be removed from the drone's inventory if present. -
getProgWidgets
- Specified by:
getProgWidgetsin interfaceIDroneBase
-
getTargetAI
public net.minecraft.world.entity.ai.goal.GoalSelector getTargetAI()Description copied from interface:IDroneGet the drone's current collection of tasks.- Specified by:
getTargetAIin interfaceIDrone- Returns:
- a vanilla GoalSelector object
-
isProgramApplicable
- Specified by:
isProgramApplicablein interfaceIDroneBase
-
setName
public void setName(net.minecraft.network.chat.Component string) Description copied from interface:IDroneSet the drone's custom name. -
setCarryingEntity
public void setCarryingEntity(net.minecraft.world.entity.Entity entity) Description copied from interface:IDroneMake the drone pick up the given entity. The given entity will be set as a rider of the drone, but it will not have any control over the drone (in fact, its AI is disabled while being carried).- Specified by:
setCarryingEntityin interfaceIDrone- Parameters:
entity- an entity to pick up
-
getCarryingEntities
Description copied from interface:IDroneGet the list of entities currently carried by this drone. Note: although this method returns a list, drones currently support only a single carried entity.- Specified by:
getCarryingEntitiesin interfaceIDrone- Returns:
- a list of entities
-
isAIOverridden
public boolean isAIOverridden()Description copied from interface:IDroneHas the drone's normal tasks been overridden by special circumstances? E.g. drone hacked, or heading to a charging station.- Specified by:
isAIOverriddenin interfaceIDrone- Returns:
- true if the drone's normal AI has been overridden
-
onItemPickupEvent
public void onItemPickupEvent(net.minecraft.world.entity.item.ItemEntity curPickingUpEntity, int stackSize) Description copied from interface:IDroneCalled when a drone is picking up an item.- Specified by:
onItemPickupEventin interfaceIDrone- Parameters:
curPickingUpEntity- the item entitystackSize- the size of the itemstack in the item entity
-
tryFireMinigun
public void tryFireMinigun(net.minecraft.world.entity.LivingEntity target) -
getSlotForAmmo
public int getSlotForAmmo()Get the first slot which has any ammo in it.- Returns:
- a slot number, or -1 if no ammo
-
overload
- Specified by:
overloadin interfaceIDroneBase
-
getAIManager
- Specified by:
getAIManagerin interfaceIDroneBase
-
getLogisticsManager
- Specified by:
getLogisticsManagerin interfaceIDroneBase
-
setLogisticsManager
- Specified by:
setLogisticsManagerin interfaceIDroneBase
-
playSound
public void playSound(net.minecraft.sounds.SoundEvent soundEvent, net.minecraft.sounds.SoundSource category, float volume, float pitch) - Specified by:
playSoundin interfaceIDroneBase
-
addAirToDrone
public void addAirToDrone(int air) - Specified by:
addAirToDronein interfaceIDroneBase
-
updateLabel
public void updateLabel()Description copied from interface:IDroneBaseSets the label that was jumped to last, with a hierarchy in case of External Programs.- Specified by:
updateLabelin interfaceIDroneBase
-
getLabel
- Specified by:
getLabelin interfaceIDroneBase- Specified by:
getLabelin classAbstractDroneEntity
-
isTeleportRangeLimited
public boolean isTeleportRangeLimited()- Specified by:
isTeleportRangeLimitedin classAbstractDroneEntity
-
getDroneName
public net.minecraft.network.chat.Component getDroneName()- Specified by:
getDroneNamein interfaceIDroneBase
-
getDebugger
- Specified by:
getDebuggerin interfaceIDroneBase
-
storeTrackerData
public void storeTrackerData(net.minecraft.world.item.ItemStack stack) - Specified by:
storeTrackerDatain interfaceIDroneBase
-
getUpgradeHandler
public net.minecraftforge.items.IItemHandler getUpgradeHandler()- Specified by:
getUpgradeHandlerin interfaceIUpgradeHolder
-
onUpgradesChanged
public void onUpgradesChanged()- Specified by:
onUpgradesChangedin interfaceIUpgradeHolder
-
isDroneStillValid
public boolean isDroneStillValid()- Specified by:
isDroneStillValidin interfaceIDroneBase
-
canMoveIntoFluid
public boolean canMoveIntoFluid(net.minecraft.world.level.material.Fluid fluid) - Specified by:
canMoveIntoFluidin interfaceIDroneBase
-
getDroneItemHandler
- Specified by:
getDroneItemHandlerin interfaceIDroneBase
-
addProgram
public boolean addProgram(net.minecraft.core.BlockPos clickPos, net.minecraft.core.Direction facing, net.minecraft.core.BlockPos placePos, net.minecraft.world.item.ItemStack droneStack, List<IProgWidget> progWidgets) Add an initial program to a drone that's about to be placed. This is called right before the entity is spawned. Programmable drones don't do anything here (program is created by the programmer and stored in item NBT), but subclasses will add their static program here.- Parameters:
clickPos- block the drone item is clicked againstfacing- side of the clicked blockplacePos- blockpos the drone will appear indroneStack- the drone itemstackprogWidgets- add the program to this list, ideally usingDroneProgramBuilder- Returns:
- true if a program was added, false otherwise
-
incAttackCount
public void incAttackCount() -
getAttackCount
public int getAttackCount() -
resetAttackCount
public void resetAttackCount()- Specified by:
resetAttackCountin interfaceIDroneBase
-
getDronePressure
public float getDronePressure()- Specified by:
getDronePressurein interfaceIDroneBase
-
setDroneSpeed
public void setDroneSpeed(double droneSpeed) -
getDroneSpeed
public double getDroneSpeed() -
isFlying
public boolean isFlying()- Specified by:
isFlyingin interfacenet.minecraft.world.entity.animal.FlyingAnimal
-