下面列出了org.bukkit.Material#GOLDEN_BOOTS 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public static int adjustForArmor(int damage, Player player) {
org.bukkit.inventory.PlayerInventory inv = player.getInventory();
ItemStack boots = inv.getBoots();
ItemStack helmet = inv.getHelmet();
ItemStack chest = inv.getChestplate();
ItemStack pants = inv.getLeggings();
double red = 0.0;
if (helmet != null) {
if (helmet.getType() == Material.LEATHER_HELMET) red = red + 0.04;
else if (helmet.getType() == Material.GOLDEN_HELMET) red = red + 0.08;
else if (helmet.getType() == Material.CHAINMAIL_HELMET) red = red + 0.08;
else if (helmet.getType() == Material.IRON_HELMET) red = red + 0.08;
else if (helmet.getType() == Material.DIAMOND_HELMET) red = red + 0.12;
}
if (boots != null) {
if (boots.getType() == Material.LEATHER_BOOTS) red = red + 0.04;
else if (boots.getType() == Material.GOLDEN_BOOTS) red = red + 0.04;
else if (boots.getType() == Material.CHAINMAIL_BOOTS) red = red + 0.04;
else if (boots.getType() == Material.IRON_BOOTS) red = red + 0.08;
else if (boots.getType() == Material.DIAMOND_BOOTS) red = red + 0.12;
}
if (pants != null) {
if (pants.getType() == Material.LEATHER_LEGGINGS) red = red + 0.08;
else if (pants.getType() == Material.GOLDEN_LEGGINGS) red = red + 0.12;
else if (pants.getType() == Material.CHAINMAIL_LEGGINGS) red = red + 0.16;
else if (pants.getType() == Material.IRON_LEGGINGS) red = red + 0.20;
else if (pants.getType() == Material.DIAMOND_LEGGINGS) red = red + 0.24;
}
if (chest != null) {
if (chest.getType() == Material.LEATHER_CHESTPLATE) red = red + 0.12;
else if (chest.getType() == Material.GOLDEN_CHESTPLATE) red = red + 0.20;
else if (chest.getType() == Material.CHAINMAIL_CHESTPLATE) red = red + 0.20;
else if (chest.getType() == Material.IRON_CHESTPLATE) red = red + 0.24;
else if (chest.getType() == Material.DIAMOND_CHESTPLATE) red = red + 0.32;
}
if (red == 0) {
return damage;
} else {
return (int) Math.round(damage / (1 - red));
}
}
private Material getIconMaterialForSpecificStatistic(Query query, PlayerStat stat) {
if (stat == PlayerStat.BLOCKS_BROKEN || stat == PlayerStat.BLOCKS_PLACED) {
Material material = Material.getMaterial(query.getValue("block").toString());
if (material != null && material.isItem()) {
return material;
}
}
if (stat == PlayerStat.VILLAGER_TRADES) {
return Material.getMaterial(query.getValue("trade").toString());
}
if (stat == PlayerStat.KILLS_MOBS) {
return Material.getMaterial(query.getValue("weapon").toString());
}
if (stat == PlayerStat.ITEMS_PICKED_UP || stat == PlayerStat.ITEMS_DROPPED || stat == PlayerStat.ITEMS_CRAFTED || stat == PlayerStat.TOOLS_BROKEN) {
return Material.getMaterial(query.getValue("item").toString());
}
if (stat == PlayerStat.ITEMS_CAUGHT) {
return Material.getMaterial(query.getValue("caught").toString());
}
if (stat == PlayerStat.FOOD_EATEN) {
return Material.getMaterial(query.getValue("foodEaten").toString());
}
if (stat == PlayerStat.DISTANCE_TRAVELLED) {
String movementType = query.getValue("moveType").toString();
switch (movementType) {
case "SWIM":
return Material.TROPICAL_FISH;
case "FLY":
return Material.BLAZE_POWDER;
case "BOAT":
return Material.OAK_BOAT;
case "MINECART":
case "HORSE IN MINECART":
return Material.MINECART;
case "PIG IN MINECART":
case "PIG":
return Material.COOKED_PORKCHOP;
case "HORSE":
return Material.DIAMOND_HORSE_ARMOR;
case "FLY WITH ELYTRA":
return Material.ELYTRA;
case "WALK":
return Material.GOLDEN_BOOTS;
}
}
return plugin.getStatisticDescriptionConfig().getIconMaterial(stat);
}
@Override
protected Boolean execute(String playerID) throws QuestRuntimeException {
PlayerInventory inv = PlayerConverter.getPlayer(playerID).getInventory();
int rating = 0;
ItemStack boots = inv.getBoots();
ItemStack helmet = inv.getHelmet();
ItemStack chest = inv.getChestplate();
ItemStack leggings = inv.getLeggings();
if (helmet != null) {
if (helmet.getType() == Material.LEATHER_HELMET)
rating += 1;
else if (helmet.getType() == Material.GOLDEN_HELMET)
rating += 2;
else if (helmet.getType() == Material.CHAINMAIL_HELMET)
rating += 2;
else if (helmet.getType() == Material.IRON_HELMET)
rating += 2;
else if (helmet.getType() == Material.DIAMOND_HELMET)
rating += 3;
}
if (boots != null) {
if (boots.getType() == Material.LEATHER_BOOTS)
rating += 1;
else if (boots.getType() == Material.GOLDEN_BOOTS)
rating += 1;
else if (boots.getType() == Material.CHAINMAIL_BOOTS)
rating += 1;
else if (boots.getType() == Material.IRON_BOOTS)
rating += 2;
else if (boots.getType() == Material.DIAMOND_BOOTS)
rating += 3;
}
if (leggings != null) {
if (leggings.getType() == Material.LEATHER_LEGGINGS)
rating += 2;
else if (leggings.getType() == Material.GOLDEN_LEGGINGS)
rating += 3;
else if (leggings.getType() == Material.CHAINMAIL_LEGGINGS)
rating += 4;
else if (leggings.getType() == Material.IRON_LEGGINGS)
rating += 5;
else if (leggings.getType() == Material.DIAMOND_LEGGINGS)
rating += 6;
}
if (chest != null) {
if (chest.getType() == Material.LEATHER_CHESTPLATE)
rating += 3;
else if (chest.getType() == Material.GOLDEN_CHESTPLATE)
rating += 5;
else if (chest.getType() == Material.CHAINMAIL_CHESTPLATE)
rating += 5;
else if (chest.getType() == Material.IRON_CHESTPLATE)
rating += 6;
else if (chest.getType() == Material.DIAMOND_CHESTPLATE)
rating += 8;
}
return rating >= required.getInt(playerID);
}