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, dimension, distanceWalkedModified, distanceWalkedOnStepModified, entityCollisionReduction, entityId, fallDistance, field_70135_K, fireResistance, forceSpawn, 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, 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, float 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.
    `static EntityMinecart` | `createMinecart(World par0World, double par1, double par3, double par5, int par7)` Creates a new minecart of the specified type in the specified location in the given world.
    `Vec3` | `func_70489_a(double par1, double par3, double par5)`
    `Vec3` | `func_70495_a(double par1, double par3, double par5, double par7)`
    `String` | `func_95999_t()`
    `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.
    `float` | `getDamage()` Gets the current amount of damage the minecart has taken.
    `Block` | `getDefaultDisplayTile()`
    `int` | `getDefaultDisplayTileData()`
    `int` | `getDefaultDisplayTileOffset()`
    `Block` | `getDisplayTile()`
    `int` | `getDisplayTileData()`
    `int` | `getDisplayTileOffset()`
    `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()`
    `abstract int` | `getMinecartType()`
    `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` | `hasDisplayTile()`
    `boolean` | `isInvNameLocalized()` If this returns false, the inventory name will be used as an unlocalized name, and translated into the player's language.
    `boolean` | `isPoweredCart()` Returns true if this cart is self propelled.
    `void` | `killMinecart(DamageSource par1DamageSource)`
    `void` | `moveMinecartOnRail(int x, int y, int z, double par4)` Moved to allow overrides.
    `void` | `onActivatorRailPass(int par1, int par2, int par3, boolean par4)` Called every tick the minecart is on an activator rail.
    `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(float par1)` Sets the current amount of damage the minecart has taken.
    `void` | `setDead()` Will get destroyed next tick.
    `void` | `setDisplayTile(int par1)`
    `void` | `setDisplayTileData(int par1)`
    `void` | `setDisplayTileOffset(int par1)`
    `void` | `setDragAir(double value)`
    `void` | `setHasDisplayTile(boolean par1)`
    `void` | `setMaxSpeedAirLateral(float value)`
    `void` | `setMaxSpeedAirVertical(float value)`
    `void` | `setMinecartName(String par1Str)` Sets the minecart's name.
    `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

      `addEntityCrashInfo, addToPlayerScore, addVelocity, canAttackWithItem, canRenderOnFire, canRiderInteract, copyDataFrom, copyLocationAndAnglesFrom, doesEntityNotTriggerPressurePlate, dropItem, dropItemWithOffset, entityDropItem, equals, extinguish, getAir, getBlockExplosionResistance, getBrightness, getBrightnessForRender, getCollisionBorderSize, getDataWatcher, getDistance, getDistanceSq, getDistanceSqToEntity, getDistanceToEntity, getEntityData, getExtendedProperties, getEyeHeight, getLastActiveItems, getLookVec, getMaxInPortalTime, getMaxSafePointTries, getParts, getPersistentID, getPickedResult, getPortalCooldown, getRotationYawHead, getTeleportDirection, getTranslatedEntityName, getUniqueID, getYOffset, handleHealthUpdate, handleLavaMovement, handleWaterMovement, hashCode, hitByEntity, interactFirst, isBurning, isCreatureType, isEating, isEntityAlive, isEntityEqual, isEntityInsideOpaqueBlock, isEntityInvulnerable, isImmuneToFire, isInRangeToRenderDist, isInRangeToRenderVec3D, isInsideOfMaterial, isInvisible, isInvisibleToPlayer, isInWater, isOffsetPositionInLiquid, isPushedByWater, isRiding, isSneaking, isSprinting, isWet, mountEntity, moveEntity, moveFlying, onChunkLoad, onCollideWithPlayer, onEntityUpdate, onKillEntity, onStruckByLightning, playSound, readFromNBT, registerExtendedProperties, resetEntityId, setAir, setAngles, setCurrentItemOrArmor, setEating, setFire, setInPortal, setInvisible, setInWeb, setLocationAndAngles, setPosition, setPositionAndRotation, setRotationYawHead, setSneaking, setSprinting, setWorld, shouldDismountInWater, shouldExplodeBlock, shouldRenderInPass, shouldRiderSit, toString, travelToDimension, updateRidden, updateRiderPosition, writeMountToNBT, writeToNBT, writeToNBTOptional`

    - ### 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

    - #### createMinecart

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

      Creates a new minecart of the specified type in the specified location in the given world. par0World - world to create the minecart in, double par1,par3,par5 represent x,y,z respectively. int par7 specifies the type: 1 for MinecartChest, 2 for MinecartFurnace, 3 for MinecartTNT, 4 for MinecartMobSpawner, 5 for MinecartHopper and 0 for a standard empty minecart

    - #### 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,
                                 float par2)

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

    - #### killMinecart

          public void killMinecart(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`

    - #### onActivatorRailPass

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

      Called every tick the minecart is on an activator rail.

    - #### 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`

    - #### setDamage

          public void setDamage(float par1)

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

    - #### setVelocity

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

      Overrides:
        `setVelocity` in class `Entity`

    - #### getDamage

          public float 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.

    - #### getMinecartType

          public abstract int getMinecartType()

    - #### getDisplayTile

          public Block getDisplayTile()

    - #### getDefaultDisplayTile

          public Block getDefaultDisplayTile()

    - #### getDisplayTileData

          public int getDisplayTileData()

    - #### getDefaultDisplayTileData

          public int getDefaultDisplayTileData()

    - #### getDisplayTileOffset

          public int getDisplayTileOffset()

    - #### getDefaultDisplayTileOffset

          public int getDefaultDisplayTileOffset()

    - #### setDisplayTile

          public void setDisplayTile(int par1)

    - #### setDisplayTileData

          public void setDisplayTileData(int par1)

    - #### setDisplayTileOffset

          public void setDisplayTileOffset(int par1)

    - #### hasDisplayTile

          public boolean hasDisplayTile()

    - #### setHasDisplayTile

          public void setHasDisplayTile(boolean par1)

    - #### setMinecartName

          public void setMinecartName(String par1Str)

      Sets the minecart's name.

    - #### getEntityName

          public String getEntityName()

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

    - #### isInvNameLocalized

          public boolean isInvNameLocalized()

      If this returns false, the inventory name will be used as an unlocalized name, and translated into the player's language. Otherwise it will be used directly.

    - #### 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()