net.minecraft.entity.item

## Class EntityMinecart

- java.lang.Object
- - net.minecraft.entity.Entity
  - - net.minecraft.entity.item.EntityMinecart

- Direct Known Subclasses:
    EntityMinecartContainer, EntityMinecartEmpty, EntityMinecartFurnace, EntityMinecartMobSpawner, EntityMinecartTNT

      public abstract class EntityMinecart
      extends Entity

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static double` | `defaultDragAir`
    `static float` | `defaultMaxSpeedAirLateral`
    `static float` | `defaultMaxSpeedAirVertical`

    - ### Fields inherited from class net.minecraft.entity.Entity

      `addedToChunk, boundingBox, capturedDrops, captureDrops, chunkCoordX, chunkCoordY, chunkCoordZ, cloakUrl, dimension, distanceWalkedModified, entityCollisionReduction, entityId, fallDistance, field_70135_K, field_82151_R, field_98038_p, fireResistance, height, hurtResistantTime, ignoreFrustumCheck, isAirBorne, isCollided, isCollidedHorizontally, isCollidedVertically, isDead, lastTickPosX, lastTickPosY, lastTickPosZ, motionX, motionY, motionZ, myEntitySize, noClip, onGround, posX, posY, posZ, prevDistanceWalkedModified, preventEntitySpawning, prevPosX, prevPosY, prevPosZ, prevRotationPitch, prevRotationYaw, renderDistanceWeight, riddenByEntity, ridingEntity, rotationPitch, rotationYaw, serverPosX, serverPosY, serverPosZ, skinUrl, stepHeight, ticksExisted, timeUntilPortal, velocityChanged, width, worldObj, yOffset, ySize`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EntityMinecart(World par1World)`
    `EntityMinecart(World par1World, double par2, double par4, double par6)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `applyEntityCollision(Entity par1Entity)` Applies a velocity to each of the entities pushing them away from each other.
    `boolean` | `attackEntityFrom(DamageSource par1DamageSource, int par2)` Called when the entity is attacked.
    `boolean` | `canBeCollidedWith()` Returns true if other Entities should be prevented from moving through this Entity.
    `boolean` | `canBePushed()` Returns true if this entity should push and be pushed by other entities when colliding.
    `boolean` | `canBeRidden()` Returns true if this cart can be ridden by an Entity.
    `boolean` | `canUseRail()` Returns true if this cart can currently use rails.
    `Vec3` | `func_70489_a(double par1, double par3, double par5)`
    `Vec3` | `func_70495_a(double par1, double par3, double par5, double par7)`
    `boolean` | `func_94042_c()`
    `int` | `func_94085_r()`
    `void` | `func_94086_l(int par1)`
    `abstract int` | `func_94087_l()`
    `Block` | `func_94089_m()`
    `static EntityMinecart` | `func_94090_a(World par0World, double par1, double par3, double par5, int par7)`
    `void` | `func_94092_k(int par1)`
    `Block` | `func_94093_n()`
    `void` | `func_94094_j(int par1)`
    `void` | `func_94095_a(DamageSource par1DamageSource)`
    `void` | `func_94096_e(boolean par1)`
    `int` | `func_94097_p()`
    `int` | `func_94098_o()`
    `int` | `func_94099_q()`
    `boolean` | `func_94100_s()`
    `String` | `func_95999_t()`
    `void` | `func_96094_a(String par1Str)`
    `void` | `func_96095_a(int par1, int par2, int par3, boolean par4)`
    `AxisAlignedBB` | `getBoundingBox()` returns the bounding box for this entity
    `ItemStack` | `getCartItem()` This function returns an ItemStack that represents this cart.
    `AxisAlignedBB` | `getCollisionBox(Entity par1Entity)` Returns a boundingBox used to collide the entity with other entities and blocks.
    `static IMinecartCollisionHandler` | `getCollisionHandler()` Gets the current global Minecart Collision handler if none is registered, returns null
    `float` | `getCurrentCartSpeedCapOnRail()` Returns the current speed cap for the cart when traveling on rails.
    `int` | `getDamage()` Gets the current amount of damage the minecart has taken.
    `double` | `getDragAir()`
    `String` | `getEntityName()` Gets the username of the entity.
    `float` | `getMaxCartSpeedOnRail()` Returns the carts max speed when traveling on rails.
    `float` | `getMaxSpeedAirLateral()`
    `float` | `getMaxSpeedAirVertical()`
    `double` | `getMountedYOffset()` Returns the Y offset from the entity's position for any entity riding this one.
    `int` | `getRollingAmplitude()` Gets the rolling amplitude the cart rolls while being attacked.
    `int` | `getRollingDirection()` Gets the rolling direction the cart rolls while being attacked.
    `float` | `getShadowSize()`
    `double` | `getSlopeAdjustment()`
    `boolean` | `isPoweredCart()` Returns true if this cart is self propelled.
    `void` | `moveMinecartOnRail(int x, int y, int z, double par4)` Moved to allow overrides.
    `void` | `onUpdate()` Called to update the entity's position/logic.
    `void` | `performHurtAnimation()`
    `void` | `setCanUseRail(boolean use)` Set whether the minecart can use rails.
    `static void` | `setCollisionHandler(IMinecartCollisionHandler handler)` Sets the global Minecart Collision handler, overwrites any that is currently set.
    `void` | `setCurrentCartSpeedCapOnRail(float value)`
    `void` | `setDamage(int par1)` Sets the current amount of damage the minecart has taken.
    `void` | `setDead()` Will get destroyed next tick.
    `void` | `setDragAir(double value)`
    `void` | `setMaxSpeedAirLateral(float value)`
    `void` | `setMaxSpeedAirVertical(float value)`
    `void` | `setPositionAndRotation2(double par1, double par3, double par5, float par7, float par8, int par9)`
    `void` | `setRollingAmplitude(int par1)` Sets the rolling amplitude the cart rolls while being attacked.
    `void` | `setRollingDirection(int par1)` Sets the rolling direction the cart rolls while being attacked.
    `void` | `setVelocity(double par1, double par3, double par5)`
    `boolean` | `shouldDoRailFunctions()` Return false if this cart should not call onMinecartPass() and should ignore Powered Rails.

    - ### Methods inherited from class net.minecraft.entity.Entity

      `addEntityID, addToPlayerScore, addVelocity, canAttackWithItem, canRenderOnFire, copyDataFrom, doesEntityNotTriggerPressurePlate, dropItem, dropItemWithOffset, entityDropItem, equals, extinguish, func_82143_as, func_82146_a, func_82148_at, func_82149_j, func_85029_a, func_85031_j, func_96090_ax, func_96091_a, func_96092_aw, func_98034_c, func_98035_c, getAir, getBrightness, getBrightnessForRender, getCollisionBorderSize, getDataWatcher, getDistance, getDistanceSq, getDistanceSqToEntity, getDistanceToEntity, getEntityData, getEyeHeight, getHasActivePotion, getLastActiveItems, getLookVec, getMaxInPortalTime, getParts, getPersistentID, getPickedResult, getPortalCooldown, getRotationYawHead, getTexture, getYOffset, handleHealthUpdate, handleLavaMovement, handleWaterMovement, hashCode, interact, isBurning, isCreatureType, isEating, isEntityAlive, isEntityEqual, isEntityInsideOpaqueBlock, isEntityInvulnerable, isImmuneToFire, isInRangeToRenderDist, isInRangeToRenderVec3D, isInsideOfMaterial, isInWater, isOffsetPositionInLiquid, isRiding, isSneaking, isSprinting, isWet, mountEntity, moveEntity, moveFlying, onCollideWithPlayer, onEntityUpdate, onKillEntity, onStruckByLightning, playSound, readFromNBT, resetEntityId, setAir, setAngles, setCurrentItemOrArmor, setEating, setFire, setHasActivePotion, setInPortal, setInWeb, setLocationAndAngles, setPosition, setPositionAndRotation, setRotationYawHead, setSneaking, setSprinting, setWorld, shouldRenderInPass, shouldRiderSit, toString, travelToDimension, unmountEntity, updateCloak, updateRidden, updateRiderPosition, writeToNBT`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### defaultMaxSpeedAirLateral

          public static float defaultMaxSpeedAirLateral

    - #### defaultMaxSpeedAirVertical

          public static float defaultMaxSpeedAirVertical

    - #### defaultDragAir

          public static double defaultDragAir

  - ### Constructor Detail

    - #### EntityMinecart

          public EntityMinecart(World par1World)

    - #### EntityMinecart

          public EntityMinecart(World par1World,
                        double par2,
                        double par4,
                        double par6)

  - ### Method Detail

    - #### func_94090_a

          public static EntityMinecart func_94090_a(World par0World,
                                    double par1,
                                    double par3,
                                    double par5,
                                    int par7)

    - #### getCollisionBox

          public AxisAlignedBB getCollisionBox(Entity par1Entity)

      Returns a boundingBox used to collide the entity with other entities and blocks. This enables the entity to be pushable on contact, like boats or minecarts.
      Overrides:
        `getCollisionBox` in class `Entity`

    - #### getBoundingBox

          public AxisAlignedBB getBoundingBox()

      returns the bounding box for this entity
      Overrides:
        `getBoundingBox` in class `Entity`

    - #### canBePushed

          public boolean canBePushed()

      Returns true if this entity should push and be pushed by other entities when colliding.
      Overrides:
        `canBePushed` in class `Entity`

    - #### getMountedYOffset

          public double getMountedYOffset()

      Returns the Y offset from the entity's position for any entity riding this one.
      Overrides:
        `getMountedYOffset` in class `Entity`

    - #### attackEntityFrom

          public boolean attackEntityFrom(DamageSource par1DamageSource,
                                 int par2)

      Called when the entity is attacked.
      Overrides:
        `attackEntityFrom` in class `Entity`

    - #### func_94095_a

          public void func_94095_a(DamageSource par1DamageSource)

    - #### performHurtAnimation

          public void performHurtAnimation()

      Overrides:
        `performHurtAnimation` in class `Entity`

    - #### canBeCollidedWith

          public boolean canBeCollidedWith()

      Returns true if other Entities should be prevented from moving through this Entity.
      Overrides:
        `canBeCollidedWith` in class `Entity`

    - #### setDead

          public void setDead()

      Will get destroyed next tick.
      Overrides:
        `setDead` in class `Entity`

    - #### onUpdate

          public void onUpdate()

      Called to update the entity's position/logic.
      Overrides:
        `onUpdate` in class `Entity`

    - #### func_96095_a

          public void func_96095_a(int par1,
                          int par2,
                          int par3,
                          boolean par4)

    - #### func_70495_a

          public Vec3 func_70495_a(double par1,
                          double par3,
                          double par5,
                          double par7)

    - #### func_70489_a

          public Vec3 func_70489_a(double par1,
                          double par3,
                          double par5)

    - #### getShadowSize

          public float getShadowSize()

      Overrides:
        `getShadowSize` in class `Entity`

    - #### applyEntityCollision

          public void applyEntityCollision(Entity par1Entity)

      Applies a velocity to each of the entities pushing them away from each other. Args: entity
      Overrides:
        `applyEntityCollision` in class `Entity`

    - #### setPositionAndRotation2

          public void setPositionAndRotation2(double par1,
                                     double par3,
                                     double par5,
                                     float par7,
                                     float par8,
                                     int par9)

      Overrides:
        `setPositionAndRotation2` in class `Entity`

    - #### setVelocity

          public void setVelocity(double par1,
                         double par3,
                         double par5)

      Overrides:
        `setVelocity` in class `Entity`

    - #### setDamage

          public void setDamage(int par1)

      Sets the current amount of damage the minecart has taken. Decreases over time. The cart breaks when this is over 40.

    - #### getDamage

          public int getDamage()

      Gets the current amount of damage the minecart has taken. Decreases over time. The cart breaks when this is over 40.

    - #### setRollingAmplitude

          public void setRollingAmplitude(int par1)

      Sets the rolling amplitude the cart rolls while being attacked.

    - #### getRollingAmplitude

          public int getRollingAmplitude()

      Gets the rolling amplitude the cart rolls while being attacked.

    - #### setRollingDirection

          public void setRollingDirection(int par1)

      Sets the rolling direction the cart rolls while being attacked. Can be 1 or -1.

    - #### getRollingDirection

          public int getRollingDirection()

      Gets the rolling direction the cart rolls while being attacked. Can be 1 or -1.

    - #### func_94087_l

          public abstract int func_94087_l()

    - #### func_94089_m

          public Block func_94089_m()

    - #### func_94093_n

          public Block func_94093_n()

    - #### func_94098_o

          public int func_94098_o()

    - #### func_94097_p

          public int func_94097_p()

    - #### func_94099_q

          public int func_94099_q()

    - #### func_94085_r

          public int func_94085_r()

    - #### func_94094_j

          public void func_94094_j(int par1)

    - #### func_94092_k

          public void func_94092_k(int par1)

    - #### func_94086_l

          public void func_94086_l(int par1)

    - #### func_94100_s

          public boolean func_94100_s()

    - #### func_94096_e

          public void func_94096_e(boolean par1)

    - #### func_96094_a

          public void func_96094_a(String par1Str)

    - #### getEntityName

          public String getEntityName()

      Gets the username of the entity.
      Overrides:
        `getEntityName` in class `Entity`

    - #### func_94042_c

          public boolean func_94042_c()

    - #### func_95999_t

          public String func_95999_t()

    - #### moveMinecartOnRail

          public void moveMinecartOnRail(int x,
                                int y,
                                int z,
                                double par4)

      Moved to allow overrides. This code handles minecart movement and speed capping when on a rail.

    - #### getCollisionHandler

          public static IMinecartCollisionHandler getCollisionHandler()

      Gets the current global Minecart Collision handler if none is registered, returns null
      Returns:
        The collision handler or null

    - #### setCollisionHandler

          public static void setCollisionHandler(IMinecartCollisionHandler handler)

      Sets the global Minecart Collision handler, overwrites any that is currently set.
      Parameters:
        `handler` - The new handler

    - #### getCartItem

          public ItemStack getCartItem()

      This function returns an ItemStack that represents this cart. This should be an ItemStack that can be used by the player to place the cart, but is not necessary the item the cart drops when destroyed.
      Returns:
        An ItemStack that can be used to place the cart.

    - #### canUseRail

          public boolean canUseRail()

      Returns true if this cart can currently use rails. This function is mainly used to gracefully detach a minecart from a rail.
      Returns:
        True if the minecart can use rails.

    - #### setCanUseRail

          public void setCanUseRail(boolean use)

      Set whether the minecart can use rails. This function is mainly used to gracefully detach a minecart from a rail.
      Parameters:
        `use` - Whether the minecart can currently use rails.

    - #### shouldDoRailFunctions

          public boolean shouldDoRailFunctions()

      Return false if this cart should not call onMinecartPass() and should ignore Powered Rails.
      Returns:
        True if this cart should call onMinecartPass().

    - #### isPoweredCart

          public boolean isPoweredCart()

      Returns true if this cart is self propelled.
      Returns:
        True if powered.

    - #### canBeRidden

          public boolean canBeRidden()

      Returns true if this cart can be ridden by an Entity.
      Returns:
        True if this cart can be ridden.

    - #### getMaxCartSpeedOnRail

          public float getMaxCartSpeedOnRail()

      Returns the carts max speed when traveling on rails. Carts going faster than 1.1 cause issues with chunk loading. Carts cant traverse slopes or corners at greater than 0.5 - 0.6. This value is compared with the rails max speed and the carts current speed cap to determine the carts current max speed. A normal rail's max speed is 0.4.
      Returns:
        Carts max speed.

    - #### getCurrentCartSpeedCapOnRail

          public final float getCurrentCartSpeedCapOnRail()

      Returns the current speed cap for the cart when traveling on rails. This functions differs from getMaxCartSpeedOnRail() in that it controls current movement and cannot be overridden. The value however can never be higher than getMaxCartSpeedOnRail().
      Returns:

    - #### setCurrentCartSpeedCapOnRail

          public final void setCurrentCartSpeedCapOnRail(float value)

    - #### getMaxSpeedAirLateral

          public float getMaxSpeedAirLateral()

    - #### setMaxSpeedAirLateral

          public void setMaxSpeedAirLateral(float value)

    - #### getMaxSpeedAirVertical

          public float getMaxSpeedAirVertical()

    - #### setMaxSpeedAirVertical

          public void setMaxSpeedAirVertical(float value)

    - #### getDragAir

          public double getDragAir()

    - #### setDragAir

          public void setDragAir(double value)

    - #### getSlopeAdjustment

          public double getSlopeAdjustment()