13
0
geforkt von Mirrors/Paper
Paper/src/main/java/net/minecraft/server/BlockLongGrass.java

50 Zeilen
1.7 KiB
Java

package net.minecraft.server;
import java.util.Random;
public class BlockLongGrass extends BlockFlower {
protected BlockLongGrass(int i, int j) {
super(i, j, Material.REPLACEABLE_PLANT);
float f = 0.4F;
this.a(0.5F - f, 0.0F, 0.5F - f, 0.5F + f, 0.8F, 0.5F + f);
}
public int a(int i, int j) {
return j == 1 ? this.textureId : (j == 2 ? this.textureId + 16 + 1 : (j == 0 ? this.textureId + 16 : this.textureId));
}
public int getDropType(int i, Random random, int j) {
return random.nextInt(8) == 0 ? Item.SEEDS.id : -1;
}
public int getDropCount(int i, Random random) {
return 1 + random.nextInt(i * 2 + 1);
}
public void a(World world, EntityHuman entityhuman, int i, int j, int k, int l) {
if (!world.isStatic && entityhuman.U() != null && entityhuman.U().id == Item.SHEARS.id) {
entityhuman.a(StatisticList.C[this.id], 1);
/* CraftBukkit start - moved this line into calculateDrops
this.a(world, i, j, k, new ItemStack(Block.LONG_GRASS, 1, l));
*/
this.doActualDrop(world, i, j, k);
// CraftBukkit end
} else {
super.a(world, entityhuman, i, j, k, l);
}
}
// CraftBukkit start - Calculate drops
2012-03-26 01:06:43 +02:00
public java.util.ArrayList<ItemStack> calculateDrops(World world, EntityHuman entityhuman, int i, int j, int k, int l) {
if (!world.isStatic && entityhuman.U() != null && entityhuman.U().id == Item.SHEARS.id) {
this.a(world, i, j, k, new ItemStack(Block.LONG_GRASS, 1, l));
} else {
return super.calculateDrops(world, entityhuman, i, j, k, l);
}
2012-03-26 01:06:43 +02:00
return this.dropList;
}
// CraftBukkit end
}