Package cn.nukkit.entity.item
Class EntityMinecartAbstract
java.lang.Object
cn.nukkit.math.Vector3
cn.nukkit.positiontracking.NamedPosition
cn.nukkit.level.Position
cn.nukkit.level.Location
cn.nukkit.entity.Entity
cn.nukkit.entity.item.EntityVehicle
cn.nukkit.entity.item.EntityMinecartAbstract
- All Implemented Interfaces:
EntityInteractable
,EntityRideable
,Metadatable
,Cloneable
- Direct Known Subclasses:
EntityMinecartChest
,EntityMinecartEmpty
,EntityMinecartHopper
,EntityMinecartTNT
- Since:
- 2017/6/26
- Author:
- larryTheCoder (Nukkit Project, Minecart and Riding Project)
-
Field Summary
Fields inherited from class cn.nukkit.entity.item.EntityVehicle
rollingDirection
Fields inherited from class cn.nukkit.entity.Entity
absorption, age, blocksAround, boundingBox, chunk, closed, collisionBlocks, DATA_AERIAL_ATTACK, DATA_AGENT, DATA_AIR, DATA_ALWAYS_SHOW_NAMETAG, DATA_AMBIENT_SOUND_EVENT_NAME, DATA_AMBIENT_SOUND_INTERVAL, DATA_AMBIENT_SOUND_INTERVAL_RANGE, DATA_AREA_EFFECT_CLOUD_PARTICLE_ID, DATA_AREA_EFFECT_CLOUD_RADIUS, DATA_AREA_EFFECT_CLOUD_WAITING, DATA_ARMOR_STAND_POSE_INDEX, DATA_AUX_POWER, DATA_BALLOON_ATTACHED_ENTITY, DATA_BASE_RUNTIME_ID, DATA_BLOCK_TARGET, DATA_BOUNDING_BOX_HEIGHT, DATA_BOUNDING_BOX_WIDTH, DATA_BUBBLE_TIME, DATA_BUOYANCY_DATA, DATA_CAN_RIDE_TARGET, DATA_CHANGE_ON_PICKUP, DATA_CHANGE_RATE, DATA_CHARGE_AMOUNT, DATA_CLIENT_EVENT, DATA_COLOR, DATA_COLOR_2, DATA_COLOUR, DATA_COMMAND_BLOCK_COMMAND, DATA_COMMAND_BLOCK_EXECUTE_ON_FIRST_TICK, DATA_COMMAND_BLOCK_LAST_OUTPUT, DATA_COMMAND_BLOCK_TICK_DELAY, DATA_COMMAND_BLOCK_TRACK_OUTPUT, DATA_CONTAINER_BASE_SIZE, DATA_CONTAINER_EXTRA_SLOTS_PER_STRENGTH, DATA_CONTAINER_TYPE, DATA_CONTROLLING_RIDER_SEAT_NUMBER, DATA_DISPLAY_ITEM, DATA_DISPLAY_OFFSET, DATA_DURATION, DATA_EATING_COUNTER, DATA_ENDER_CRYSTAL_TIME_OFFSET, DATA_ENDERMAN_HELD_RUNTIME_ID, DATA_ENTITY_AGE, DATA_EXPERIENCE_VALUE, DATA_FALL_DAMAGE_MULTIPLIER, DATA_FIREBALL_POWER_X, DATA_FIREBALL_POWER_Y, DATA_FIREBALL_POWER_Z, DATA_FISH_ANGLE, DATA_FISH_X, DATA_FISH_Z, DATA_FLAG_ACTION, DATA_FLAG_ADMIRING, DATA_FLAG_ALWAYS_SHOW_NAMETAG, DATA_FLAG_ANGRY, DATA_FLAG_BABY, DATA_FLAG_BLOCKED_USING_DAMAGED_SHIELD, DATA_FLAG_BLOCKED_USING_SHIELD, DATA_FLAG_BLOCKING, DATA_FLAG_BREAKING_OBSTRUCTION, DATA_FLAG_BREATHING, DATA_FLAG_BRIBED, DATA_FLAG_CAN_CLIMB, DATA_FLAG_CAN_FLY, DATA_FLAG_CAN_POWER_JUMP, DATA_FLAG_CAN_SHOW_NAMETAG, DATA_FLAG_CELEBRATING, DATA_FLAG_CELEBRATING_SPECIAL, DATA_FLAG_CHARGE_ATTACK, DATA_FLAG_CHARGED, DATA_FLAG_CHESTED, DATA_FLAG_CONTAINER_PRIVATE, DATA_FLAG_CONVERTING, DATA_FLAG_CRITICAL, DATA_FLAG_CROAKING, DATA_FLAG_DANCING, DATA_FLAG_DELAYED_ATTACK, DATA_FLAG_DIGGING, DATA_FLAG_DOOR_BREAKER, DATA_FLAG_DOOR_OPENER, DATA_FLAG_EAT_MOB, DATA_FLAG_EATING, DATA_FLAG_ELDER, DATA_FLAG_EMERGING, DATA_FLAG_EMOTING, DATA_FLAG_ENCHANTED, DATA_FLAG_ENTITY_GROW_UP, DATA_FLAG_EVOKER_SPELL, DATA_FLAG_FACING_TARGET_TO_RANGE_ATTACK, DATA_FLAG_FALL_THROUGH_SCAFFOLDING, DATA_FLAG_FIRE_IMMUNE, DATA_FLAG_GLIDING, DATA_FLAG_GRAVITY, DATA_FLAG_HAS_COLLISION, DATA_FLAG_HIDDEN_WHEN_INVISIBLE, DATA_FLAG_IDLING, DATA_FLAG_IGNITED, DATA_FLAG_IMMOBILE, DATA_FLAG_IN_ASCENDABLE_BLOCK, DATA_FLAG_IN_SCAFFOLDING, DATA_FLAG_INLOVE, DATA_FLAG_INTERESTED, DATA_FLAG_INVISIBLE, DATA_FLAG_IS_AVOIDING_BLOCKS, DATA_FLAG_IS_AVOIDING_MOBS, DATA_FLAG_IS_ILLAGER_CAPTAIN, DATA_FLAG_IS_IN_UI, DATA_FLAG_IS_TRANSFORMING, DATA_FLAG_JUMP_GOAL_JUMP, DATA_FLAG_LAYING_DOWN, DATA_FLAG_LAYING_EGG, DATA_FLAG_LEASHED, DATA_FLAG_LINGER, DATA_FLAG_MOVING, DATA_FLAG_NO_AI, DATA_FLAG_ONFIRE, DATA_FLAG_ORPHANED, DATA_FLAG_OVER_DESCENDABLE_BLOCK, DATA_FLAG_OVER_SCAFFOLDING, DATA_FLAG_PLAYING_DEAD, DATA_FLAG_POWERED, DATA_FLAG_PREGNANT, DATA_FLAG_RAM_ATTACK, DATA_FLAG_REARING, DATA_FLAG_RESTING, DATA_FLAG_RIDER_CAN_PICK, DATA_FLAG_RIDING, DATA_FLAG_ROARING, DATA_FLAG_ROLLING, DATA_FLAG_SADDLED, DATA_FLAG_SCARED, DATA_FLAG_SHEARED, DATA_FLAG_SHOW_TRIDENT_ROPE, DATA_FLAG_SHOWBASE, DATA_FLAG_SILENT, DATA_FLAG_SITTING, DATA_FLAG_SLEEPING, DATA_FLAG_SNEAKING, DATA_FLAG_SNEEZING, DATA_FLAG_SNIFFING, DATA_FLAG_SPIN_ATTACK, DATA_FLAG_SPRINTING, DATA_FLAG_STACKABLE, DATA_FLAG_STALKING, DATA_FLAG_STUNNED, DATA_FLAG_SWIMMER, DATA_FLAG_SWIMMING, DATA_FLAG_TAMED, DATA_FLAG_TEMPTED, DATA_FLAG_TRADE_INTEREST, DATA_FLAG_TRANSITION_BLOCKING, DATA_FLAG_TRANSITION_SETTING, DATA_FLAG_TRANSITION_SITTING, DATA_FLAG_TRUSTING, DATA_FLAG_VIBRATING, DATA_FLAG_WALKER, DATA_FLAG_WALLCLIMBING, DATA_FLAG_WASD_CONTROLLED, DATA_FLAGS, DATA_FLAGS_EXTENDED, DATA_FREEZING_EFFECT_STRENGTH, DATA_FUSE_LENGTH, DATA_GOAT_HORN_COUNT, DATA_HAS_COMMAND_BLOCK, DATA_HAS_DISPLAY, DATA_HAS_NPC_COMPONENT, DATA_HEALTH, DATA_HEARTBEAT_INTERVAL_TICKS, DATA_HEARTBEAT_SOUND_EVENT, DATA_HIGH_TIER_CURED_DISCOUNT, DATA_HITBOX, DATA_HURT_DIRECTION, DATA_HURT_TIME, DATA_INTERACT_TEXT, DATA_INTERACTIVE_TAG, DATA_IS_BUOYANT, DATA_JUMP_DURATION, DATA_LAYING_AMOUNT, DATA_LAYING_AMOUNT_PREVIOUS, DATA_LEAD_HOLDER_EID, DATA_LIMITED_LIFE, DATA_LOW_TIER_CURED_DISCOUNT, DATA_MARK_VARIANT, DATA_MAX_AIR, DATA_MAX_STRENGTH, DATA_MAX_TRADE_TIER, DATA_MOVEMENT_SOUND_DISTANCE_OFFSET, DATA_NAME_AUTHOR, DATA_NAME_RAW_TEXT, DATA_NAMETAG, DATA_NEARBY_CURED_DISCOUNT, DATA_NEARBY_CURED_DISCOUNT_TIMESTAMP, DATA_NPC_ACTIONS, DATA_NPC_SKIN_DATA, DATA_OLD_SWELL, DATA_OWNER_EID, DATA_PADDLE_TIME_LEFT, DATA_PADDLE_TIME_RIGHT, DATA_PICKUP_COUNT, DATA_PLAYER_BED_POSITION, DATA_PLAYER_FLAGS, DATA_PLAYER_INDEX, DATA_POTION_AMBIENT, DATA_POTION_AUX_VALUE, DATA_POTION_COLOR, DATA_PUFFERFISH_SIZE, DATA_RIDER_MAX_ROTATION, DATA_RIDER_MIN_ROTATION, DATA_RIDER_ROTATION_LOCKED, DATA_RIDER_ROTATION_OFFSET, DATA_RIDER_SEAT_POSITION, DATA_SCALE, DATA_SCORE_TAG, DATA_SHULKER_ATTACH_FACE, DATA_SHULKER_ATTACH_POS, DATA_SHULKER_ATTACHED, DATA_SHULKER_PEEK_ID, DATA_SITTING_AMOUNT, DATA_SITTING_AMOUNT_PREVIOUS, DATA_SKIN_ID, DATA_SPAWN_TIME, DATA_SPAWNING_FRAMES, DATA_SPELL_CASTING_COLOR, DATA_STRENGTH, DATA_SWELL, DATA_SWELL_DIR, DATA_TARGET_EID, DATA_TRADE_EXPERIENCE, DATA_TRADE_TIER, DATA_TRADING_CAREER, DATA_TRADING_PLAYER_EID, DATA_TYPE_BYTE, DATA_TYPE_FLOAT, DATA_TYPE_INT, DATA_TYPE_LONG, DATA_TYPE_NBT, DATA_TYPE_POS, DATA_TYPE_SHORT, DATA_TYPE_STRING, DATA_TYPE_VECTOR3F, DATA_UPDATE_PROPERTIES, DATA_USING_ITEM, DATA_VARIANT, DATA_WITHER_INVULNERABLE_TICKS, DATA_WITHER_TARGET_1, DATA_WITHER_TARGET_2, DATA_WITHER_TARGET_3, dataProperties, deadTicks, effects, EMPTY_ARRAY, entityCollisionReduction, entityCount, entityUniqueId, fallDistance, fireProof, fireTicks, firstMove, freezingTicks, hasSpawned, headYawDelta, health, highestPosition, id, inBlock, inEndPortal, inPortalTicks, invulnerable, isCollided, isCollidedHorizontally, isCollidedVertically, isPlayer, isStatic, justCreated, keepMovement, lastDamageCause, lastHeadYaw, lastMotionX, lastMotionY, lastMotionZ, lastPitch, lastUpdate, lastX, lastY, lastYaw, lastZ, maxFireTicks, motionChanged, motionX, motionY, motionZ, namedTag, NETWORK_ID, noClip, noDamageTicks, offsetBoundingBox, onGround, passengers, pitchDelta, positionChanged, riding, scale, server, temporalVector, ticksLived, timing, yawDelta, ySize
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
activate
(int x, int y, int z, boolean flag) void
applyEntityCollision
(Entity entity) boolean
attack
(EntityDamageEvent source) boolean
void
close()
void
dropItem()
float
Get the minecart display blockint
Get the block display offsetprotected float
getDrag()
float
double
abstract MinecartType
getType()
float
getWidth()
void
abstract boolean
boolean
Is the minecart can be slowed when empty?void
kill()
boolean
onInteract
(Player p, Item item, Vector3 clickedPos) boolean
onUpdate
(int currentTick) void
saveNBT()
void
setCurrentSpeed
(double speed) Used to multiply the minecart current speedvoid
setDerailedVelocityMod
(Vector3 derailed) boolean
setDisplayBlock
(Block block) Set the minecart display blockboolean
setDisplayBlock
(Block block, boolean update) Set the minecart display blockvoid
setDisplayBlockOffset
(int offset) Set the block offset.void
setFlyingVelocityMod
(Vector3 flying) void
setMaximumSpeed
(double speed) void
setSlowWhenEmpty
(boolean slow) Set the minecart slowdown flagMethods inherited from class cn.nukkit.entity.item.EntityVehicle
getDamage, getInteractButtonText, getRollingAmplitude, getRollingDirection, performHurtAnimation, setDamage, setRollingAmplitude, setRollingDirection
Methods inherited from class cn.nukkit.entity.Entity
addEffect, addFreezingTicks, addMotion, addMovement, addTag, attack, broadcastLinkPacket, canBeMovedByCurrents, canBePushed, canClimb, canClimbWalls, canCollide, canCollideWith, canPassThrough, canTriggerWalking, checkBlockCollision, checkChunks, checkGroundState, checkObstruction, collideWithBlock, containTag, createAddEntityPacket, createEntity, createEntity, createEntity, createEntity, despawnFrom, despawnFromAll, dismountEntity, dismountEntity, doesTriggerPressurePlate, enableHeadYaw, entityBaseTick, entityBaseTick, equals, extinguish, fall, fastMove, getAbsorption, getAge, getAllTags, getBlocksAround, getBoundingBox, getCollisionBlocks, getCurrentHeight, getDataFlag, getDataProperties, getDataProperty, getDataPropertyBoolean, getDataPropertyByte, getDataPropertyFloat, getDataPropertyInt, getDataPropertyLong, getDataPropertyNBT, getDataPropertyPos, getDataPropertyShort, getDataPropertyString, getDataPropertyType, getDataPropertyVector3f, getDefaultNBT, getDefaultNBT, getDefaultNBT, getDirection, getDirectionPlane, getDirectionVector, getEffect, getEffects, getEntityDefinitions, getEyeHeight, getFreezingEffectStrength, getFreezingTicks, getGravity, getHealth, getHorizontalFacing, getId, getKnownEntityIds, getLastDamageCause, getLength, getLocation, getMaxHealth, getMetadata, getMotion, getMountedOffset, getName, getNameTag, getNetworkId, getOriginalName, getPassenger, getPassengers, getPosition, getRiding, getSaveId, getSaveId, getSaveId, getSaveIds, getScale, getScoreTag, getSeatPosition, getServer, getStepHeight, getSwimmingHeight, getUniqueId, getViewers, getVisibleName, handleLavaMovement, hasControllingPassenger, hasCustomName, hasEffect, hashCode, hasMetadata, hasWaterAt, heal, heal, init, isAlive, isBoss, isClosed, isControlling, isGliding, isImmobile, isInEndPortal, isInsideOfFire, isInsideOfLava, isInsideOfSolid, isInsideOfWater, isNameTagAlwaysVisible, isNameTagVisible, isNoClip, isOnFire, isOnGround, isOnLadder, isPassenger, isPreventingSleep, isSneaking, isSpinAttacking, isSprinting, isSwimming, isTouchingWater, isUndead, isUnderBlock, mountEntity, mountEntity, move, moveFlying, onCollideWithPlayer, onInteract, onPushByPiston, onStruckByLightning, recalculateBoundingBox, recalculateBoundingBox, recalculateEffectColor, registerCustomEntity, registerEntity, registerEntity, removeAllEffects, removeEffect, removeMetadata, removeTag, resetFallDistance, respawnToAll, scheduleUpdate, sendData, sendData, sendData, sendData, sendPotionEffects, setAbsorption, setCanClimb, setCanClimb, setCanClimbWalls, setCanClimbWalls, setDataFlag, setDataFlag, setDataProperty, setDataProperty, setFreezingEffectStrength, setFreezingTicks, setGliding, setGliding, setHealth, setImmobile, setImmobile, setLastDamageCause, setMaxHealth, setMetadata, setMotion, setNameTag, setNameTagAlwaysVisible, setNameTagAlwaysVisible, setNameTagVisible, setNameTagVisible, setNoClip, setOnFire, setPosition, setPositionAndRotation, setPositionAndRotation, setRotation, setRotation, setScale, setScoreTag, setSeatPosition, setSneaking, setSneaking, setSpinAttacking, setSpinAttacking, setSprinting, setSprinting, setSwimming, setSwimming, spawnTo, spawnToAll, switchLevel, teleport, teleport, teleport, teleport, teleport, teleport, updateFallState, updateMovement, updatePassengerPosition, updatePassengers
Methods inherited from class cn.nukkit.level.Location
abs, add, add, add, add, ceil, clone, divide, floor, fromObject, fromObject, fromObject, fromObject, fromObject, getHeadYaw, getPitch, getYaw, multiply, round, setHeadYaw, setPitch, setYaw, subtract, subtract, subtract, subtract, subtract, toString
Methods inherited from class cn.nukkit.level.Position
getChunk, getLevel, getLevelBlock, getLevelBlock, getLevelBlock, getLevelBlockAround, getLevelBlockAtLayer, getLevelBlockEntity, getLevelBlockState, getLevelBlockState, getLevelName, getSide, getSide, getTickCachedLevelBlock, getTickCachedLevelBlockAtLayer, getTypedBlockEntity, getValidLevel, isValid, setComponents, setComponents, setLevel, setStrong, setWeak
Methods inherited from class cn.nukkit.positiontracking.NamedPosition
matchesNamedPosition
Methods inherited from class cn.nukkit.math.Vector3
asBlockVector3, asVector3f, cross, distance, distance, distanceManhattan, distanceSquared, distanceSquared, dot, down, down, east, east, getAxis, getChunkSectionY, getChunkVector, getChunkX, getChunkZ, getFloorX, getFloorY, getFloorZ, getForward, getIntermediateWithXValue, getIntermediateWithYValue, getIntermediateWithZValue, getRight, getSideVec, getSouth, getUp, getWest, getX, getY, getZ, length, lengthSquared, maxPlainDistance, maxPlainDistance, maxPlainDistance, maxPlainDistance, maxPlainDistance, normalize, north, north, rawHashCode, setComponentsAdding, setComponentsAdding, setX, setY, setZ, south, south, up, up, west, west
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface cn.nukkit.entity.EntityRideable
dismountEntity, mountEntity
-
Constructor Details
-
EntityMinecartAbstract
-
-
Method Details
-
getType
-
isRideable
public abstract boolean isRideable() -
getHeight
public float getHeight() -
getWidth
public float getWidth() -
getDrag
protected float getDrag() -
getBaseOffset
public float getBaseOffset()- Overrides:
getBaseOffset
in classEntity
-
canDoInteraction
public boolean canDoInteraction()- Specified by:
canDoInteraction
in interfaceEntityInteractable
- Overrides:
canDoInteraction
in classEntityVehicle
-
initEntity
public void initEntity()- Overrides:
initEntity
in classEntity
-
onUpdate
@PowerNukkitDifference(since="1.3.1.2-PN", info="Will despawn instantly after being \'killed\'") public boolean onUpdate(int currentTick) - Overrides:
onUpdate
in classEntityVehicle
-
attack
- Overrides:
attack
in classEntityVehicle
-
dropItem
public void dropItem() -
kill
@PowerNukkitDifference(info="Fixes a dupe issue when attacking too quickly", since="1.3.1.2-PN") public void kill() -
close
@PowerNukkitDifference(info="Will not make a smoke particle and will do a proper dismount on the entities", since="1.3.1.2-PN") public void close() -
onInteract
- Overrides:
onInteract
in classEntity
-
applyEntityCollision
- Overrides:
applyEntityCollision
in classEntity
-
saveNBT
public void saveNBT() -
getMaxSpeed
public double getMaxSpeed() -
activate
protected void activate(int x, int y, int z, boolean flag) -
setCurrentSpeed
public void setCurrentSpeed(double speed) Used to multiply the minecart current speed- Parameters:
speed
- The speed of the minecart that will be calculated
-
setDisplayBlock
Set the minecart display block- Parameters:
block
- The block that will changed. Setnull
for BlockAir- Returns:
true
if the block is normal block
-
setDisplayBlock
Set the minecart display block- Parameters:
block
- The block that will changed. Setnull
for BlockAirupdate
- Do update for the block. (This state changes if you want to show the block)- Returns:
true
if the block is normal block
-
getDisplayBlock
Get the minecart display block- Returns:
- Block of minecart display block
-
setDisplayBlockOffset
public void setDisplayBlockOffset(int offset) Set the block offset.- Parameters:
offset
- The offset
-
getDisplayBlockOffset
public int getDisplayBlockOffset()Get the block display offset- Returns:
- integer
-
isSlowWhenEmpty
public boolean isSlowWhenEmpty()Is the minecart can be slowed when empty?- Returns:
- boolean
-
setSlowWhenEmpty
public void setSlowWhenEmpty(boolean slow) Set the minecart slowdown flag- Parameters:
slow
- The slowdown flag
-
getFlyingVelocityMod
-
setFlyingVelocityMod
-
getDerailedVelocityMod
-
setDerailedVelocityMod
-
setMaximumSpeed
public void setMaximumSpeed(double speed)
-