下面列出了org.bukkit.Material#POTATO 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private ItemStack getDropFromCrop(Material crop) {
Random random = ThreadLocalRandom.current();
if (SlimefunPlugin.getMinecraftVersion().isAtLeast(MinecraftVersion.MINECRAFT_1_14) && crop == Material.SWEET_BERRY_BUSH) {
return new ItemStack(Material.SWEET_BERRIES, random.nextInt(3) + 1);
}
switch (crop) {
case WHEAT:
return new ItemStack(Material.WHEAT, random.nextInt(2) + 1);
case POTATOES:
return new ItemStack(Material.POTATO, random.nextInt(3) + 1);
case CARROTS:
return new ItemStack(Material.CARROT, random.nextInt(3) + 1);
case BEETROOTS:
return new ItemStack(Material.BEETROOT, random.nextInt(3) + 1);
case COCOA:
return new ItemStack(Material.COCOA_BEANS, random.nextInt(3) + 1);
case NETHER_WART:
return new ItemStack(Material.NETHER_WART, random.nextInt(3) + 1);
default:
return null;
}
}
public Material getDurabilityCheckItem() {
Material material = Material.matchMaterial(config.getString("DurabilityGlobal.CheckItem", "POTATO"));
if (material == null) {
material = Material.POTATO;
}
return material;
}
public static boolean isPotato(Material material) {
return XMaterial.ISFLAT ? material.name().equals("POTATOES") : material == Material.POTATO;
}
public static boolean isPotato(Material material) {
return ISFLAT ? material.name().equals("POTATOES") : material == Material.POTATO;
}
@EventHandler
public void onEntityDeath(EntityDeathEvent event) {
if (!dropPoisonedMeat) {
return;
}
LivingEntity mob = event.getEntity();
Player player = mob.getKiller();
if (player == null) {
return;
}
if (Lists.WORLDS.contains(player.getWorld().getName())) {
return;
}
boolean isPoisoned = false;
for (PotionEffect potionEffect : mob.getActivePotionEffects()) {
if (potionEffect.getType() == PotionEffectType.POISON) {
isPoisoned = true;
break;
}
}
if (!isPoisoned) {
return;
}
int numberOfMeat = 0;
int numberOfPotatoes = 0;
Iterator<ItemStack> iterator = event.getDrops().iterator();
while (iterator.hasNext()) {
ItemStack drop = iterator.next();
if (isMeat(drop)) {
iterator.remove();
numberOfMeat++;
} else if (drop.getType() == Material.POTATO) {
iterator.remove();
numberOfPotatoes++;
}
}
ChatWriter.logModifier(player, event, this, player.getInventory().getItemInMainHand(),
"Entity(" + event.getEntity().getType().toString() + ")");
if (numberOfMeat > 0) event.getDrops().add(new ItemStack(Material.ROTTEN_FLESH, numberOfMeat));
if (numberOfPotatoes > 0) event.getDrops().add(new ItemStack(Material.POISONOUS_POTATO, numberOfPotatoes));
}
@Override
public boolean checkFood(Entity entity, ItemStack food) {
Material type = food.getType();
switch (entity.getType()) {
case COW:
case SHEEP:
case MUSHROOM_COW:
return type == Material.WHEAT;
case PIG:
return (type == Material.CARROT || type == Material.BEETROOT || type == Material.POTATO);
case CHICKEN:
return type == Material.WHEAT_SEEDS
|| type == Material.MELON_SEEDS
|| type == Material.BEETROOT_SEEDS
|| type == Material.PUMPKIN_SEEDS;
case HORSE:
return (type == Material.GOLDEN_APPLE || type == Material.GOLDEN_CARROT) && ((Horse)entity).isTamed();
case WOLF:
return (type == Material.BEEF
|| type == Material.CHICKEN
|| type == Material.COD
|| type == Material.MUTTON
|| type == Material.PORKCHOP
|| type == Material.RABBIT
|| type == Material.SALMON
|| type == Material.COOKED_BEEF
|| type == Material.COOKED_CHICKEN
|| type == Material.COOKED_COD
|| type == Material.COOKED_MUTTON
|| type == Material.COOKED_PORKCHOP
|| type == Material.COOKED_RABBIT
|| type == Material.COOKED_SALMON)
&& ((Wolf) entity).isTamed();
case OCELOT:
return (type == Material.SALMON
|| type == Material.COD
|| type == Material.PUFFERFISH
|| type == Material.TROPICAL_FISH)
&& ((Ocelot) entity).isTamed();
case RABBIT:
return type == Material.CARROT || type == Material.GOLDEN_CARROT || type == Material.DANDELION;
case LLAMA:
return type == Material.HAY_BLOCK;
case TURTLE:
return type == Material.SEAGRASS;
}
return false;
}
@Override
public boolean checkFood(Entity entity, ItemStack food) {
Material type = food.getType();
switch (entity.getType()) {
case COW:
case SHEEP:
case MUSHROOM_COW:
return type == Material.WHEAT;
case PIG:
return (type == Material.CARROT || type == Material.BEETROOT || type == Material.POTATO);
case CHICKEN:
return type == Material.WHEAT_SEEDS
|| type == Material.MELON_SEEDS
|| type == Material.BEETROOT_SEEDS
|| type == Material.PUMPKIN_SEEDS;
case HORSE:
return (type == Material.GOLDEN_APPLE || type == Material.GOLDEN_CARROT) && ((Horse)entity).isTamed();
case WOLF:
return (type == Material.BEEF
|| type == Material.CHICKEN
|| type == Material.COD
|| type == Material.MUTTON
|| type == Material.PORKCHOP
|| type == Material.RABBIT
|| type == Material.SALMON
|| type == Material.COOKED_BEEF
|| type == Material.COOKED_CHICKEN
|| type == Material.COOKED_COD
|| type == Material.COOKED_MUTTON
|| type == Material.COOKED_PORKCHOP
|| type == Material.COOKED_RABBIT
|| type == Material.COOKED_SALMON)
&& ((Wolf) entity).isTamed();
case OCELOT:
return (type == Material.SALMON
|| type == Material.COD
|| type == Material.PUFFERFISH
|| type == Material.TROPICAL_FISH);
case RABBIT:
return type == Material.CARROT || type == Material.GOLDEN_CARROT || type == Material.DANDELION;
case LLAMA:
return type == Material.HAY_BLOCK;
case TURTLE:
return type == Material.SEAGRASS;
case PANDA:
return type == Material.BAMBOO;
case FOX:
return type == Material.SWEET_BERRIES;
case CAT:
return (type == Material.COD || type == Material.SALMON) && ((Cat) entity).isTamed();
}
return false;
}