Paper/src/main/java/net/minecraft/server/ItemMinecart.java

45 Zeilen
1.5 KiB
Java

package net.minecraft.server;
public class ItemMinecart extends Item {
2013-03-13 23:33:27 +01:00
private static final IDispenseBehavior b = new DispenseBehaviorMinecart();
public int a;
public ItemMinecart(int i, int j) {
super(i);
2011-01-29 22:50:29 +01:00
this.maxStackSize = 1;
this.a = j;
2012-07-29 09:33:13 +02:00
this.a(CreativeModeTab.e);
2013-03-13 23:33:27 +01:00
BlockDispenser.a.a(this, b);
}
2012-07-29 09:33:13 +02:00
public boolean interactWith(ItemStack itemstack, EntityHuman entityhuman, World world, int i, int j, int k, int l, float f, float f1, float f2) {
2011-01-29 22:50:29 +01:00
int i1 = world.getTypeId(i, j, k);
2013-03-13 23:33:27 +01:00
if (BlockMinecartTrack.d_(i1)) {
2011-01-29 22:50:29 +01:00
if (!world.isStatic) {
// CraftBukkit start - Minecarts
org.bukkit.event.player.PlayerInteractEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(entityhuman, org.bukkit.event.block.Action.RIGHT_CLICK_BLOCK, i, j, k, l, itemstack);
2011-01-29 22:50:29 +01:00
if (event.isCancelled()) {
return false;
}
// CraftBukkit end
2013-03-13 23:33:27 +01:00
EntityMinecartAbstract entityminecartabstract = EntityMinecartAbstract.a(world, (double) ((float) i + 0.5F), (double) ((float) j + 0.5F), (double) ((float) k + 0.5F), this.a);
if (itemstack.hasName()) {
entityminecartabstract.a(itemstack.getName());
}
world.addEntity(entityminecartabstract);
}
2011-01-29 22:50:29 +01:00
--itemstack.count;
return true;
} else {
return false;
}
}
}