Added more localizations to tooltips. Fixed durability setting issues.
Added more checks for shop sessions and shop integer/decimal handling.
This commit is contained in:
parent
1e47221bde
commit
ee468bf2b7
Binary file not shown.
@ -958,6 +958,58 @@ public class GenericFunctions {
|
|||||||
case HARD_CLAY:{
|
case HARD_CLAY:{
|
||||||
return "Hardened Clay";
|
return "Hardened Clay";
|
||||||
}
|
}
|
||||||
|
case BANNER:{
|
||||||
|
switch (15-type.getDurability()) {
|
||||||
|
case 0:{
|
||||||
|
return "White Banner";
|
||||||
|
}
|
||||||
|
case 1:{
|
||||||
|
return "Orange Banner";
|
||||||
|
}
|
||||||
|
case 2:{
|
||||||
|
return "Magenta Banner";
|
||||||
|
}
|
||||||
|
case 3:{
|
||||||
|
return "Light Blue Banner";
|
||||||
|
}
|
||||||
|
case 4:{
|
||||||
|
return "Yellow Banner";
|
||||||
|
}
|
||||||
|
case 5:{
|
||||||
|
return "Lime Banner";
|
||||||
|
}
|
||||||
|
case 6:{
|
||||||
|
return "Pink Banner";
|
||||||
|
}
|
||||||
|
case 7:{
|
||||||
|
return "Gray Banner";
|
||||||
|
}
|
||||||
|
case 8:{
|
||||||
|
return "Light Gray Banner";
|
||||||
|
}
|
||||||
|
case 9:{
|
||||||
|
return "Cyan Banner";
|
||||||
|
}
|
||||||
|
case 10:{
|
||||||
|
return "Purple Banner";
|
||||||
|
}
|
||||||
|
case 11:{
|
||||||
|
return "Blue Banner";
|
||||||
|
}
|
||||||
|
case 12:{
|
||||||
|
return "Brown Banner";
|
||||||
|
}
|
||||||
|
case 13:{
|
||||||
|
return "Green Banner";
|
||||||
|
}
|
||||||
|
case 14:{
|
||||||
|
return "Red Banner";
|
||||||
|
}
|
||||||
|
case 15:{
|
||||||
|
return "Black Banner";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
case STAINED_CLAY:{
|
case STAINED_CLAY:{
|
||||||
switch (type.getDurability()) {
|
switch (type.getDurability()) {
|
||||||
case 0:{
|
case 0:{
|
||||||
|
@ -6,11 +6,15 @@ import java.util.LinkedHashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.DyeColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.Sign;
|
import org.bukkit.block.Sign;
|
||||||
|
import org.bukkit.block.banner.Pattern;
|
||||||
|
import org.bukkit.block.banner.PatternType;
|
||||||
import org.bukkit.enchantments.Enchantment;
|
import org.bukkit.enchantments.Enchantment;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
@ -18,7 +22,11 @@ import org.bukkit.entity.Item;
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.player.PlayerInteractEvent;
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.inventory.meta.BannerMeta;
|
||||||
|
import org.bukkit.inventory.meta.BookMeta;
|
||||||
import org.bukkit.inventory.meta.EnchantmentStorageMeta;
|
import org.bukkit.inventory.meta.EnchantmentStorageMeta;
|
||||||
|
import org.bukkit.inventory.meta.PotionMeta;
|
||||||
|
import org.bukkit.inventory.meta.Repairable;
|
||||||
import org.bukkit.material.MaterialData;
|
import org.bukkit.material.MaterialData;
|
||||||
import org.bukkit.potion.PotionType;
|
import org.bukkit.potion.PotionType;
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
@ -109,6 +117,239 @@ public class WorldShop {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (item.getType()==Material.WRITTEN_BOOK) {
|
||||||
|
if (item.getItemMeta() instanceof BookMeta) {
|
||||||
|
BookMeta book = (BookMeta)item.getItemMeta();
|
||||||
|
message+="\n"+ChatColor.WHITE+book.getTitle();
|
||||||
|
message+="\n"+ChatColor.GRAY+"by "+book.getAuthor();
|
||||||
|
message+="\n"+ChatColor.GRAY+book.getPageCount()+" page"+(book.getPageCount()!=1?"s":"");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (item.getType()==Material.POTION || item.getType()==Material.SPLASH_POTION || item.getType()==Material.LINGERING_POTION) {
|
||||||
|
if (item.getItemMeta() instanceof PotionMeta) {
|
||||||
|
PotionMeta pot = (PotionMeta)item.getItemMeta();
|
||||||
|
String duration = " "+(pot.getBasePotionData().isExtended()?"(8:00)":(pot.getBasePotionData().isUpgraded())?"(1:30)":"(3:00)");
|
||||||
|
String badduration = " "+(pot.getBasePotionData().isExtended()?"(4:00)":"(1:30)");
|
||||||
|
String poisonduration = " "+(pot.getBasePotionData().isExtended()?"(1:30)":(pot.getBasePotionData().isUpgraded())?"(0:21)":"(0:45)");
|
||||||
|
String luckduration = " (5:00)";
|
||||||
|
String regenduration = " "+(pot.getBasePotionData().isExtended()?"(1:30)":(pot.getBasePotionData().isUpgraded())?"(0:22)":"(0:45)");
|
||||||
|
String power = (pot.getBasePotionData().isUpgraded()?"II":"");
|
||||||
|
if (item.getType() == Material.LINGERING_POTION) {
|
||||||
|
duration = " "+(pot.getBasePotionData().isExtended()?"(2:00)":(pot.getBasePotionData().isUpgraded())?"(0:22)":"(0:45)");
|
||||||
|
badduration = " "+(pot.getBasePotionData().isExtended()?"(1:00)":"(0:22)");
|
||||||
|
poisonduration = " "+(pot.getBasePotionData().isExtended()?"(0:22)":(pot.getBasePotionData().isUpgraded())?"(0:05)":"(0:22)");
|
||||||
|
luckduration = " (1:15)";
|
||||||
|
regenduration = " "+(pot.getBasePotionData().isExtended()?"(0:22)":(pot.getBasePotionData().isUpgraded())?"(0:05)":"(0:11)");
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (pot.getBasePotionData().getType()) {
|
||||||
|
case FIRE_RESISTANCE:
|
||||||
|
message+="\n"+ChatColor.BLUE+"Fire Resistance"+duration;
|
||||||
|
break;
|
||||||
|
case INSTANT_DAMAGE:
|
||||||
|
message+="\n"+ChatColor.RED+"Instant Damage "+power;
|
||||||
|
break;
|
||||||
|
case INSTANT_HEAL:
|
||||||
|
message+="\n"+ChatColor.BLUE+"Instant Health "+power;
|
||||||
|
break;
|
||||||
|
case INVISIBILITY:
|
||||||
|
message+="\n"+ChatColor.BLUE+"Invisibility"+duration;
|
||||||
|
break;
|
||||||
|
case JUMP:
|
||||||
|
message+="\n"+ChatColor.BLUE+"Jump Boost "+power+duration;
|
||||||
|
break;
|
||||||
|
case LUCK:
|
||||||
|
message+="\n"+ChatColor.BLUE+"Luck"+luckduration;
|
||||||
|
break;
|
||||||
|
case NIGHT_VISION:
|
||||||
|
message+="\n"+ChatColor.BLUE+"Night Vision"+duration;
|
||||||
|
break;
|
||||||
|
case POISON:
|
||||||
|
message+="\n"+ChatColor.RED+"Poison "+power+badduration;
|
||||||
|
break;
|
||||||
|
case REGEN:
|
||||||
|
message+="\n"+ChatColor.BLUE+"Regeneration "+power+duration;
|
||||||
|
break;
|
||||||
|
case SLOWNESS:
|
||||||
|
message+="\n"+ChatColor.RED+"Slowness"+badduration;
|
||||||
|
break;
|
||||||
|
case SPEED:
|
||||||
|
message+="\n"+ChatColor.BLUE+"Speed "+power+duration;
|
||||||
|
break;
|
||||||
|
case STRENGTH:
|
||||||
|
message+="\n"+ChatColor.BLUE+"Strength "+power+duration;
|
||||||
|
break;
|
||||||
|
case WATER_BREATHING:
|
||||||
|
message+="\n"+ChatColor.BLUE+"Water Breathing"+duration;
|
||||||
|
break;
|
||||||
|
case WEAKNESS:
|
||||||
|
message+="\n"+ChatColor.RED+"Weakness"+badduration;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
message+="\n"+ChatColor.GRAY+"No Effects";
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (item.getType()==Material.BANNER) {
|
||||||
|
if (item.getItemMeta() instanceof BannerMeta) {
|
||||||
|
BannerMeta banner = (BannerMeta)item.getItemMeta();
|
||||||
|
/* Code to generate banners with ENUMs listed respective to the patterns applied in the lore.
|
||||||
|
for (int j=0;j<PatternType.values().length;j+=6) {
|
||||||
|
ItemStack newbanner = new ItemStack(Material.BANNER);
|
||||||
|
BannerMeta banner_m = (BannerMeta)newbanner.getItemMeta();
|
||||||
|
banner_m.addPattern(new Pattern(DyeColor.WHITE,PatternType.values()[j]));
|
||||||
|
banner_m.addPattern(new Pattern(DyeColor.WHITE,PatternType.values()[j+1]));
|
||||||
|
banner_m.addPattern(new Pattern(DyeColor.WHITE,PatternType.values()[j+2]));
|
||||||
|
if (j+3<PatternType.values().length) {
|
||||||
|
banner_m.addPattern(new Pattern(DyeColor.WHITE,PatternType.values()[j+3]));
|
||||||
|
banner_m.addPattern(new Pattern(DyeColor.WHITE,PatternType.values()[j+4]));
|
||||||
|
banner_m.addPattern(new Pattern(DyeColor.WHITE,PatternType.values()[j+5]));
|
||||||
|
}
|
||||||
|
List<String> lore = new ArrayList<String>();
|
||||||
|
lore.add(PatternType.values()[j].name());
|
||||||
|
lore.add(PatternType.values()[j+1].name());
|
||||||
|
lore.add(PatternType.values()[j+2].name());
|
||||||
|
if (j+3<PatternType.values().length) {
|
||||||
|
lore.add(PatternType.values()[j+3].name());
|
||||||
|
lore.add(PatternType.values()[j+4].name());
|
||||||
|
lore.add(PatternType.values()[j+5].name());
|
||||||
|
}
|
||||||
|
banner_m.setLore(lore);
|
||||||
|
newbanner.setItemMeta(banner_m);
|
||||||
|
Bukkit.getPlayer("sigonasr2").getInventory().addItem(newbanner);
|
||||||
|
}*/
|
||||||
|
for (int i=0;i<banner.getPatterns().size();i++) {
|
||||||
|
String color = GenericFunctions.CapitalizeFirstLetters(banner.getPatterns().get(i).getColor().name());
|
||||||
|
String pattern_name = "";
|
||||||
|
switch (banner.getPatterns().get(i).getPattern()) {
|
||||||
|
case BORDER:
|
||||||
|
pattern_name="Bordure";
|
||||||
|
break;
|
||||||
|
case BRICKS:
|
||||||
|
pattern_name="Field Masoned";
|
||||||
|
break;
|
||||||
|
case CIRCLE_MIDDLE:
|
||||||
|
pattern_name="Roundel";
|
||||||
|
break;
|
||||||
|
case CREEPER:
|
||||||
|
pattern_name="Creeper Charge";
|
||||||
|
break;
|
||||||
|
case CROSS:
|
||||||
|
pattern_name="Saltire";
|
||||||
|
break;
|
||||||
|
case CURLY_BORDER:
|
||||||
|
pattern_name="Bordure Indented";
|
||||||
|
break;
|
||||||
|
case DIAGONAL_LEFT:
|
||||||
|
pattern_name="Per Bend Sinister";
|
||||||
|
break;
|
||||||
|
case DIAGONAL_LEFT_MIRROR:
|
||||||
|
pattern_name="Per Bend Inverted";
|
||||||
|
break;
|
||||||
|
case DIAGONAL_RIGHT:
|
||||||
|
pattern_name="Per Bend Sinister Inverted";
|
||||||
|
break;
|
||||||
|
case DIAGONAL_RIGHT_MIRROR:
|
||||||
|
pattern_name="Per Bend";
|
||||||
|
break;
|
||||||
|
case FLOWER:
|
||||||
|
pattern_name="Flower Charge";
|
||||||
|
break;
|
||||||
|
case GRADIENT:
|
||||||
|
pattern_name="Gradient";
|
||||||
|
break;
|
||||||
|
case GRADIENT_UP:
|
||||||
|
pattern_name="Base Gradient";
|
||||||
|
break;
|
||||||
|
case HALF_HORIZONTAL:
|
||||||
|
pattern_name="Per Fess";
|
||||||
|
break;
|
||||||
|
case HALF_HORIZONTAL_MIRROR:
|
||||||
|
pattern_name="Per Fess Inverted";
|
||||||
|
break;
|
||||||
|
case HALF_VERTICAL:
|
||||||
|
pattern_name="Per Pale";
|
||||||
|
break;
|
||||||
|
case HALF_VERTICAL_MIRROR:
|
||||||
|
pattern_name="Per Pale Inverted";
|
||||||
|
break;
|
||||||
|
case MOJANG:
|
||||||
|
pattern_name="Thing";
|
||||||
|
break;
|
||||||
|
case RHOMBUS_MIDDLE:
|
||||||
|
pattern_name="Lozenge";
|
||||||
|
break;
|
||||||
|
case SKULL:
|
||||||
|
pattern_name="Skull Charge";
|
||||||
|
break;
|
||||||
|
case SQUARE_BOTTOM_LEFT:
|
||||||
|
pattern_name="Base Dexter Canton";
|
||||||
|
break;
|
||||||
|
case SQUARE_BOTTOM_RIGHT:
|
||||||
|
pattern_name="Base Sinister Canton";
|
||||||
|
break;
|
||||||
|
case SQUARE_TOP_LEFT:
|
||||||
|
pattern_name="Chief Dexter Canton";
|
||||||
|
break;
|
||||||
|
case SQUARE_TOP_RIGHT:
|
||||||
|
pattern_name="Chief Sinister Canton";
|
||||||
|
break;
|
||||||
|
case STRAIGHT_CROSS:
|
||||||
|
pattern_name="Cross";
|
||||||
|
break;
|
||||||
|
case STRIPE_BOTTOM:
|
||||||
|
pattern_name="Base Fess";
|
||||||
|
break;
|
||||||
|
case STRIPE_CENTER:
|
||||||
|
pattern_name="Pale";
|
||||||
|
break;
|
||||||
|
case STRIPE_DOWNLEFT:
|
||||||
|
pattern_name="Bend Sinister";
|
||||||
|
break;
|
||||||
|
case STRIPE_DOWNRIGHT:
|
||||||
|
pattern_name="Bend";
|
||||||
|
break;
|
||||||
|
case STRIPE_LEFT:
|
||||||
|
pattern_name="Pale Dexter Fess";
|
||||||
|
break;
|
||||||
|
case STRIPE_MIDDLE:
|
||||||
|
pattern_name="Fess";
|
||||||
|
break;
|
||||||
|
case STRIPE_RIGHT:
|
||||||
|
pattern_name="Pale Sinister";
|
||||||
|
break;
|
||||||
|
case STRIPE_SMALL:
|
||||||
|
pattern_name="Paly";
|
||||||
|
break;
|
||||||
|
case STRIPE_TOP:
|
||||||
|
pattern_name="Chief Fess";
|
||||||
|
break;
|
||||||
|
case TRIANGLES_BOTTOM:
|
||||||
|
pattern_name="Base Indented";
|
||||||
|
break;
|
||||||
|
case TRIANGLES_TOP:
|
||||||
|
pattern_name="Chief Indented";
|
||||||
|
break;
|
||||||
|
case TRIANGLE_BOTTOM:
|
||||||
|
pattern_name="Chevron";
|
||||||
|
break;
|
||||||
|
case TRIANGLE_TOP:
|
||||||
|
pattern_name="Inverted Chevron";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
pattern_name=GenericFunctions.CapitalizeFirstLetters(banner.getPatterns().get(i).getPattern().name().replace("_", " "));
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
message+="\n"+ChatColor.GRAY+color+" "+pattern_name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (item.hasItemMeta() &&
|
if (item.hasItemMeta() &&
|
||||||
item.getItemMeta().hasLore()) {
|
item.getItemMeta().hasLore()) {
|
||||||
for (int i=0;i<item.getItemMeta().getLore().size();i++) {
|
for (int i=0;i<item.getItemMeta().getLore().size();i++) {
|
||||||
@ -156,179 +397,14 @@ public class WorldShop {
|
|||||||
}break;
|
}break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (item.getType().getMaxDurability()>0) {
|
||||||
if (item.getType().toString().contains("HELMET") ||
|
message+="\n\n"+ChatColor.GRAY+"Durability: "+(item.getType().getMaxDurability()-item.getDurability()-1)+"/"+(item.getType().getMaxDurability()-1);
|
||||||
item.getType().toString().contains("CHESTPLATE") ||
|
}
|
||||||
item.getType().toString().contains("LEGGINGS") ||
|
if (item.getItemMeta() instanceof Repairable) {
|
||||||
item.getType().toString().contains("BOOTS") ||
|
Repairable rep = (Repairable)item.getItemMeta();
|
||||||
item.getType().toString().contains("SHIELD") ||
|
if (rep.hasRepairCost()) {
|
||||||
item.getType().toString().contains("BOW") ||
|
message+="\n\n"+ChatColor.GRAY+"Repair Cost: "+(item.getType().getMaxDurability()-item.getDurability()-1)+"/"+(item.getType().getMaxDurability()-1);
|
||||||
item.getType().toString().contains("SWORD") ||
|
|
||||||
item.getType().toString().contains("AXE") ||
|
|
||||||
item.getType().toString().contains("HOE") ||
|
|
||||||
item.getType().toString().contains("SPADE") ||
|
|
||||||
item.getType().toString().contains("CARROT_STICK") ||
|
|
||||||
item.getType().toString().contains("ELYTRA") ||
|
|
||||||
item.getType().toString().contains("FISHING_ROD") ||
|
|
||||||
item.getType().toString().contains("FLINT_AND_STEEL")) {
|
|
||||||
//Display the durability for these items.
|
|
||||||
int maxdura = 0;
|
|
||||||
switch (item.getType()) {
|
|
||||||
case LEATHER_HELMET:{
|
|
||||||
maxdura = 56;
|
|
||||||
}break;
|
|
||||||
case GOLD_HELMET:{
|
|
||||||
maxdura = 78;
|
|
||||||
}break;
|
|
||||||
case IRON_HELMET:{
|
|
||||||
maxdura = 166;
|
|
||||||
}break;
|
|
||||||
case CHAINMAIL_HELMET:{
|
|
||||||
maxdura = 166;
|
|
||||||
}break;
|
|
||||||
case DIAMOND_HELMET:{
|
|
||||||
maxdura = 364;
|
|
||||||
}break;
|
|
||||||
case LEATHER_CHESTPLATE:{
|
|
||||||
maxdura = 81;
|
|
||||||
}break;
|
|
||||||
case GOLD_CHESTPLATE:{
|
|
||||||
maxdura = 113;
|
|
||||||
}break;
|
|
||||||
case IRON_CHESTPLATE:{
|
|
||||||
maxdura = 241;
|
|
||||||
}break;
|
|
||||||
case CHAINMAIL_CHESTPLATE:{
|
|
||||||
maxdura = 241;
|
|
||||||
}break;
|
|
||||||
case DIAMOND_CHESTPLATE:{
|
|
||||||
maxdura = 529;
|
|
||||||
}break;
|
|
||||||
case LEATHER_LEGGINGS:{
|
|
||||||
maxdura = 76;
|
|
||||||
}break;
|
|
||||||
case GOLD_LEGGINGS:{
|
|
||||||
maxdura = 106;
|
|
||||||
}break;
|
|
||||||
case IRON_LEGGINGS:{
|
|
||||||
maxdura = 226;
|
|
||||||
}break;
|
|
||||||
case CHAINMAIL_LEGGINGS:{
|
|
||||||
maxdura = 226;
|
|
||||||
}break;
|
|
||||||
case DIAMOND_LEGGINGS:{
|
|
||||||
maxdura = 496;
|
|
||||||
}break;
|
|
||||||
case LEATHER_BOOTS:{
|
|
||||||
maxdura = 66;
|
|
||||||
}break;
|
|
||||||
case GOLD_BOOTS:{
|
|
||||||
maxdura = 92;
|
|
||||||
}break;
|
|
||||||
case IRON_BOOTS:{
|
|
||||||
maxdura = 196;
|
|
||||||
}break;
|
|
||||||
case CHAINMAIL_BOOTS:{
|
|
||||||
maxdura = 196;
|
|
||||||
}break;
|
|
||||||
case DIAMOND_BOOTS:{
|
|
||||||
maxdura = 430;
|
|
||||||
}break;
|
|
||||||
case SHIELD:{
|
|
||||||
maxdura = 337;
|
|
||||||
}break;
|
|
||||||
case BOW:{
|
|
||||||
maxdura = 385;
|
|
||||||
}break;
|
|
||||||
case WOOD_SWORD:{
|
|
||||||
maxdura = 60;
|
|
||||||
}break;
|
|
||||||
case STONE_SWORD:{
|
|
||||||
maxdura = 132;
|
|
||||||
}break;
|
|
||||||
case IRON_SWORD:{
|
|
||||||
maxdura = 251;
|
|
||||||
}break;
|
|
||||||
case DIAMOND_SWORD:{
|
|
||||||
maxdura = 1562;
|
|
||||||
}break;
|
|
||||||
case GOLD_SWORD:{
|
|
||||||
maxdura = 33;
|
|
||||||
}break;
|
|
||||||
case WOOD_PICKAXE:{
|
|
||||||
maxdura = 60;
|
|
||||||
}break;
|
|
||||||
case STONE_PICKAXE:{
|
|
||||||
maxdura = 132;
|
|
||||||
}break;
|
|
||||||
case IRON_PICKAXE:{
|
|
||||||
maxdura = 251;
|
|
||||||
}break;
|
|
||||||
case DIAMOND_PICKAXE:{
|
|
||||||
maxdura = 1562;
|
|
||||||
}break;
|
|
||||||
case GOLD_PICKAXE:{
|
|
||||||
maxdura = 33;
|
|
||||||
}break;
|
|
||||||
case WOOD_AXE:{
|
|
||||||
maxdura = 60;
|
|
||||||
}break;
|
|
||||||
case STONE_AXE:{
|
|
||||||
maxdura = 132;
|
|
||||||
}break;
|
|
||||||
case IRON_AXE:{
|
|
||||||
maxdura = 251;
|
|
||||||
}break;
|
|
||||||
case DIAMOND_AXE:{
|
|
||||||
maxdura = 1562;
|
|
||||||
}break;
|
|
||||||
case GOLD_AXE:{
|
|
||||||
maxdura = 33;
|
|
||||||
}break;
|
|
||||||
case WOOD_HOE:{
|
|
||||||
maxdura = 60;
|
|
||||||
}break;
|
|
||||||
case STONE_HOE:{
|
|
||||||
maxdura = 132;
|
|
||||||
}break;
|
|
||||||
case IRON_HOE:{
|
|
||||||
maxdura = 251;
|
|
||||||
}break;
|
|
||||||
case DIAMOND_HOE:{
|
|
||||||
maxdura = 1562;
|
|
||||||
}break;
|
|
||||||
case GOLD_HOE:{
|
|
||||||
maxdura = 33;
|
|
||||||
}break;
|
|
||||||
case WOOD_SPADE:{
|
|
||||||
maxdura = 60;
|
|
||||||
}break;
|
|
||||||
case STONE_SPADE:{
|
|
||||||
maxdura = 132;
|
|
||||||
}break;
|
|
||||||
case IRON_SPADE:{
|
|
||||||
maxdura = 251;
|
|
||||||
}break;
|
|
||||||
case DIAMOND_SPADE:{
|
|
||||||
maxdura = 1562;
|
|
||||||
}break;
|
|
||||||
case GOLD_SPADE:{
|
|
||||||
maxdura = 33;
|
|
||||||
}break;
|
|
||||||
case FISHING_ROD:{
|
|
||||||
maxdura = 65;
|
|
||||||
}break;
|
|
||||||
case FLINT_AND_STEEL:{
|
|
||||||
maxdura = 65;
|
|
||||||
}break;
|
|
||||||
case CARROT_STICK:{
|
|
||||||
maxdura = 26;
|
|
||||||
}break;
|
|
||||||
case ELYTRA:{
|
|
||||||
maxdura = 432;
|
|
||||||
}break;
|
|
||||||
}
|
}
|
||||||
message+="\n\n"+ChatColor.GRAY+"Durability: "+(maxdura-item.getDurability()-1)+"/"+(maxdura-1);
|
|
||||||
}
|
}
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
@ -96,6 +96,7 @@ public class MonsterController {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void RandomizeEquipment(Monster m, int lv) {
|
private static void RandomizeEquipment(Monster m, int lv) {
|
||||||
/*
|
/*
|
||||||
* Lv1: Leather/Iron Armor.
|
* Lv1: Leather/Iron Armor.
|
||||||
@ -106,38 +107,30 @@ public class MonsterController {
|
|||||||
case 1:{
|
case 1:{
|
||||||
if (Math.random()<0.5) {
|
if (Math.random()<0.5) {
|
||||||
ItemStack helm = new ItemStack(Material.LEATHER_HELMET);
|
ItemStack helm = new ItemStack(Material.LEATHER_HELMET);
|
||||||
helm.setDurability((short)Math.round(Math.random()*54));
|
|
||||||
m.getEquipment().setHelmet(helm);
|
m.getEquipment().setHelmet(helm);
|
||||||
} else {
|
} else {
|
||||||
ItemStack helm = new ItemStack(Material.IRON_HELMET);
|
ItemStack helm = new ItemStack(Material.IRON_HELMET);
|
||||||
helm.setDurability((short)Math.round(Math.random()*128));
|
|
||||||
m.getEquipment().setHelmet(helm);
|
m.getEquipment().setHelmet(helm);
|
||||||
}
|
}
|
||||||
if (Math.random()<0.5) {
|
if (Math.random()<0.5) {
|
||||||
ItemStack helm = new ItemStack(Material.LEATHER_CHESTPLATE);
|
ItemStack helm = new ItemStack(Material.LEATHER_CHESTPLATE);
|
||||||
helm.setDurability((short)Math.round(Math.random()*54));
|
|
||||||
m.getEquipment().setChestplate(helm);
|
m.getEquipment().setChestplate(helm);
|
||||||
} else {
|
} else {
|
||||||
ItemStack helm = new ItemStack(Material.IRON_CHESTPLATE);
|
ItemStack helm = new ItemStack(Material.IRON_CHESTPLATE);
|
||||||
helm.setDurability((short)Math.round(Math.random()*128));
|
|
||||||
m.getEquipment().setChestplate(helm);
|
m.getEquipment().setChestplate(helm);
|
||||||
}
|
}
|
||||||
if (Math.random()<0.5) {
|
if (Math.random()<0.5) {
|
||||||
ItemStack helm = new ItemStack(Material.LEATHER_LEGGINGS);
|
ItemStack helm = new ItemStack(Material.LEATHER_LEGGINGS);
|
||||||
helm.setDurability((short)Math.round(Math.random()*54));
|
|
||||||
m.getEquipment().setLeggings(helm);
|
m.getEquipment().setLeggings(helm);
|
||||||
} else {
|
} else {
|
||||||
ItemStack helm = new ItemStack(Material.IRON_LEGGINGS);
|
ItemStack helm = new ItemStack(Material.IRON_LEGGINGS);
|
||||||
helm.setDurability((short)Math.round(Math.random()*128));
|
|
||||||
m.getEquipment().setLeggings(helm);
|
m.getEquipment().setLeggings(helm);
|
||||||
}
|
}
|
||||||
if (Math.random()<0.5) {
|
if (Math.random()<0.5) {
|
||||||
ItemStack helm = new ItemStack(Material.LEATHER_BOOTS);
|
ItemStack helm = new ItemStack(Material.LEATHER_BOOTS);
|
||||||
helm.setDurability((short)Math.round(Math.random()*54));
|
|
||||||
m.getEquipment().setBoots(helm);
|
m.getEquipment().setBoots(helm);
|
||||||
} else {
|
} else {
|
||||||
ItemStack helm = new ItemStack(Material.IRON_BOOTS);
|
ItemStack helm = new ItemStack(Material.IRON_BOOTS);
|
||||||
helm.setDurability((short)Math.round(Math.random()*128));
|
|
||||||
m.getEquipment().setBoots(helm);
|
m.getEquipment().setBoots(helm);
|
||||||
}
|
}
|
||||||
TwosideKeeper.log("Helmet durability set to "+m.getEquipment().getHelmet().getDurability(), 5);
|
TwosideKeeper.log("Helmet durability set to "+m.getEquipment().getHelmet().getDurability(), 5);
|
||||||
@ -212,38 +205,30 @@ public class MonsterController {
|
|||||||
case 2:{
|
case 2:{
|
||||||
if (Math.random()<0.5) {
|
if (Math.random()<0.5) {
|
||||||
ItemStack helm = new ItemStack(Material.DIAMOND_HELMET);
|
ItemStack helm = new ItemStack(Material.DIAMOND_HELMET);
|
||||||
helm.setDurability((short)(Math.round(Math.random()*100)+256));
|
|
||||||
m.getEquipment().setHelmet(helm);
|
m.getEquipment().setHelmet(helm);
|
||||||
} else {
|
} else {
|
||||||
ItemStack helm = new ItemStack(Material.DIAMOND_HELMET);
|
ItemStack helm = new ItemStack(Material.DIAMOND_HELMET);
|
||||||
helm.setDurability((short)(Math.round(Math.random()*128)));
|
|
||||||
m.getEquipment().setHelmet(helm);
|
m.getEquipment().setHelmet(helm);
|
||||||
}
|
}
|
||||||
if (Math.random()<0.5) {
|
if (Math.random()<0.5) {
|
||||||
ItemStack helm = new ItemStack(Material.DIAMOND_CHESTPLATE);
|
ItemStack helm = new ItemStack(Material.DIAMOND_CHESTPLATE);
|
||||||
helm.setDurability((short)(Math.round(Math.random()*100)+256));
|
|
||||||
m.getEquipment().setChestplate(helm);
|
m.getEquipment().setChestplate(helm);
|
||||||
} else {
|
} else {
|
||||||
ItemStack helm = new ItemStack(Material.IRON_CHESTPLATE);
|
ItemStack helm = new ItemStack(Material.IRON_CHESTPLATE);
|
||||||
helm.setDurability((short)(Math.round(Math.random()*100)+256));
|
|
||||||
m.getEquipment().setChestplate(helm);
|
m.getEquipment().setChestplate(helm);
|
||||||
}
|
}
|
||||||
if (Math.random()<0.5) {
|
if (Math.random()<0.5) {
|
||||||
ItemStack helm = new ItemStack(Material.DIAMOND_LEGGINGS);
|
ItemStack helm = new ItemStack(Material.DIAMOND_LEGGINGS);
|
||||||
helm.setDurability((short)(Math.round(Math.random()*100)+256));
|
|
||||||
m.getEquipment().setLeggings(helm);
|
m.getEquipment().setLeggings(helm);
|
||||||
} else {
|
} else {
|
||||||
ItemStack helm = new ItemStack(Material.IRON_LEGGINGS);
|
ItemStack helm = new ItemStack(Material.IRON_LEGGINGS);
|
||||||
helm.setDurability((short)(Math.round(Math.random()*128)));
|
|
||||||
m.getEquipment().setLeggings(helm);
|
m.getEquipment().setLeggings(helm);
|
||||||
}
|
}
|
||||||
if (Math.random()<0.5) {
|
if (Math.random()<0.5) {
|
||||||
ItemStack helm = new ItemStack(Material.DIAMOND_BOOTS);
|
ItemStack helm = new ItemStack(Material.DIAMOND_BOOTS);
|
||||||
helm.setDurability((short)(Math.round(Math.random()*100)+256));
|
|
||||||
m.getEquipment().setBoots(helm);
|
m.getEquipment().setBoots(helm);
|
||||||
} else {
|
} else {
|
||||||
ItemStack helm = new ItemStack(Material.IRON_BOOTS);
|
ItemStack helm = new ItemStack(Material.IRON_BOOTS);
|
||||||
helm.setDurability((short)(Math.round(Math.random()*128)));
|
|
||||||
m.getEquipment().setBoots(helm);
|
m.getEquipment().setBoots(helm);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -327,38 +312,30 @@ public class MonsterController {
|
|||||||
case 3:{
|
case 3:{
|
||||||
if (Math.random()<0.5) {
|
if (Math.random()<0.5) {
|
||||||
ItemStack helm = new ItemStack(Material.DIAMOND_HELMET);
|
ItemStack helm = new ItemStack(Material.DIAMOND_HELMET);
|
||||||
helm.setDurability((short) (Math.round(Math.random()*100)+256));
|
|
||||||
m.getEquipment().setHelmet(helm);
|
m.getEquipment().setHelmet(helm);
|
||||||
} else {
|
} else {
|
||||||
ItemStack helm = new ItemStack(Material.GOLD_HELMET);
|
ItemStack helm = new ItemStack(Material.GOLD_HELMET);
|
||||||
helm.setDurability((short)Math.round(Math.random()*64));
|
|
||||||
m.getEquipment().setHelmet(helm);
|
m.getEquipment().setHelmet(helm);
|
||||||
}
|
}
|
||||||
if (Math.random()<0.5) {
|
if (Math.random()<0.5) {
|
||||||
ItemStack helm = new ItemStack(Material.DIAMOND_CHESTPLATE);
|
ItemStack helm = new ItemStack(Material.DIAMOND_CHESTPLATE);
|
||||||
helm.setDurability((short)(Math.round(Math.random()*100)+256));
|
|
||||||
m.getEquipment().setChestplate(helm);
|
m.getEquipment().setChestplate(helm);
|
||||||
} else {
|
} else {
|
||||||
ItemStack helm = new ItemStack(Material.GOLD_CHESTPLATE);
|
ItemStack helm = new ItemStack(Material.GOLD_CHESTPLATE);
|
||||||
helm.setDurability((short)Math.round(Math.random()*64));
|
|
||||||
m.getEquipment().setChestplate(helm);
|
m.getEquipment().setChestplate(helm);
|
||||||
}
|
}
|
||||||
if (Math.random()<0.5) {
|
if (Math.random()<0.5) {
|
||||||
ItemStack helm = new ItemStack(Material.DIAMOND_LEGGINGS);
|
ItemStack helm = new ItemStack(Material.DIAMOND_LEGGINGS);
|
||||||
helm.setDurability((short)(Math.round(Math.random()*100)+256));
|
|
||||||
m.getEquipment().setLeggings(helm);
|
m.getEquipment().setLeggings(helm);
|
||||||
} else {
|
} else {
|
||||||
ItemStack helm = new ItemStack(Material.GOLD_LEGGINGS);
|
ItemStack helm = new ItemStack(Material.GOLD_LEGGINGS);
|
||||||
helm.setDurability((short)Math.round(Math.random()*64));
|
|
||||||
m.getEquipment().setLeggings(helm);
|
m.getEquipment().setLeggings(helm);
|
||||||
}
|
}
|
||||||
if (Math.random()<0.5) {
|
if (Math.random()<0.5) {
|
||||||
ItemStack helm = new ItemStack(Material.DIAMOND_BOOTS);
|
ItemStack helm = new ItemStack(Material.DIAMOND_BOOTS);
|
||||||
helm.setDurability((short)(Math.round(Math.random()*100)+256));
|
|
||||||
m.getEquipment().setBoots(helm);
|
m.getEquipment().setBoots(helm);
|
||||||
} else {
|
} else {
|
||||||
ItemStack helm = new ItemStack(Material.GOLD_BOOTS);
|
ItemStack helm = new ItemStack(Material.GOLD_BOOTS);
|
||||||
helm.setDurability((short)Math.round(Math.random()*64));
|
|
||||||
m.getEquipment().setBoots(helm);
|
m.getEquipment().setBoots(helm);
|
||||||
}
|
}
|
||||||
TwosideKeeper.log("Helmet durability set to "+m.getEquipment().getHelmet().getDurability(), 5);
|
TwosideKeeper.log("Helmet durability set to "+m.getEquipment().getHelmet().getDurability(), 5);
|
||||||
@ -439,27 +416,21 @@ public class MonsterController {
|
|||||||
if (Math.random()<0.1) {
|
if (Math.random()<0.1) {
|
||||||
if (Math.random()<0.5) {
|
if (Math.random()<0.5) {
|
||||||
ItemStack helm = new ItemStack(Material.LEATHER_HELMET);
|
ItemStack helm = new ItemStack(Material.LEATHER_HELMET);
|
||||||
helm.setDurability((short)Math.round(Math.random()*54));
|
|
||||||
m.getEquipment().setHelmet(helm);
|
m.getEquipment().setHelmet(helm);
|
||||||
helm = new ItemStack(Material.LEATHER_CHESTPLATE);
|
helm = new ItemStack(Material.LEATHER_CHESTPLATE);
|
||||||
helm.setDurability((short)Math.round(Math.random()*64));
|
|
||||||
m.getEquipment().setChestplate(helm);
|
m.getEquipment().setChestplate(helm);
|
||||||
helm = new ItemStack(Material.LEATHER_LEGGINGS);
|
helm = new ItemStack(Material.LEATHER_LEGGINGS);
|
||||||
helm.setDurability((short)Math.round(Math.random()*64));
|
|
||||||
m.getEquipment().setLeggings(helm);
|
m.getEquipment().setLeggings(helm);
|
||||||
helm = new ItemStack(Material.LEATHER_BOOTS);
|
helm = new ItemStack(Material.LEATHER_BOOTS);
|
||||||
helm.setDurability((short)Math.round(Math.random()*64));
|
helm.setDurability((short)Math.round(Math.random()*64));
|
||||||
m.getEquipment().setBoots(helm);
|
m.getEquipment().setBoots(helm);
|
||||||
} else {
|
} else {
|
||||||
ItemStack helm = new ItemStack(Material.IRON_HELMET);
|
ItemStack helm = new ItemStack(Material.IRON_HELMET);
|
||||||
helm.setDurability((short)Math.round(Math.random()*128));
|
|
||||||
m.getEquipment().setHelmet(helm);
|
m.getEquipment().setHelmet(helm);
|
||||||
helm = new ItemStack(Material.IRON_CHESTPLATE);
|
helm = new ItemStack(Material.IRON_CHESTPLATE);
|
||||||
helm.setDurability((short)Math.round(Math.random()*128));
|
helm.setDurability((short)Math.round(Math.random()*128));
|
||||||
m.getEquipment().setChestplate(helm);
|
|
||||||
helm = new ItemStack(Material.IRON_LEGGINGS);
|
helm = new ItemStack(Material.IRON_LEGGINGS);
|
||||||
helm.setDurability((short)Math.round(Math.random()*128));
|
helm.setDurability((short)Math.round(Math.random()*128));
|
||||||
m.getEquipment().setLeggings(helm);
|
|
||||||
helm = new ItemStack(Material.IRON_BOOTS);
|
helm = new ItemStack(Material.IRON_BOOTS);
|
||||||
helm.setDurability((short)Math.round(Math.random()*128));
|
helm.setDurability((short)Math.round(Math.random()*128));
|
||||||
m.getEquipment().setBoots(helm);
|
m.getEquipment().setBoots(helm);
|
||||||
|
@ -670,7 +670,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
setPlayerMaxHealth(ev.getPlayer());
|
setPlayerMaxHealth(ev.getPlayer());
|
||||||
ev.getPlayer().getScoreboard().getTeam(ev.getPlayer().getName().toLowerCase()).setSuffix(createHealthbar(((ev.getPlayer().getHealth())/ev.getPlayer().getMaxHealth())*100,ev.getPlayer()));
|
ev.getPlayer().getScoreboard().getTeam(ev.getPlayer().getName().toLowerCase()).setSuffix(createHealthbar(((ev.getPlayer().getHealth())/ev.getPlayer().getMaxHealth())*100,ev.getPlayer()));
|
||||||
|
|
||||||
ev.getPlayer().getAttribute(Attribute.GENERIC_ATTACK_SPEED).setBaseValue(0.000000000001D);
|
ev.getPlayer().getAttribute(Attribute.GENERIC_ATTACK_SPEED).setBaseValue(4.0d);
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority=EventPriority.LOW)
|
@EventHandler(priority=EventPriority.LOW)
|
||||||
@ -757,7 +757,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
} else
|
} else
|
||||||
if (conversionUser.equalsIgnoreCase(thisp.getName())) {
|
if (conversionUser.equalsIgnoreCase(thisp.getName())) {
|
||||||
//See if this message is a number.
|
//See if this message is a number.
|
||||||
if (isNumeric(ev.getMessage())) {
|
if (isNumeric(ev.getMessage()) && isInteger(ev.getMessage())) {
|
||||||
DecimalFormat df = new DecimalFormat("0.00");
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
Integer value=Integer.parseInt(ev.getMessage());
|
Integer value=Integer.parseInt(ev.getMessage());
|
||||||
if (value>=1) {
|
if (value>=1) {
|
||||||
@ -833,7 +833,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
current_session.UpdateTime(); //Make sure our session does not expire.
|
current_session.UpdateTime(); //Make sure our session does not expire.
|
||||||
switch (current_session.GetSessionType()) {
|
switch (current_session.GetSessionType()) {
|
||||||
case CREATE:
|
case CREATE:
|
||||||
if (isNumeric(ev.getMessage())) {
|
if (isNumeric(ev.getMessage()) && isInteger(ev.getMessage())) {
|
||||||
int amt = Integer.parseInt(ev.getMessage());
|
int amt = Integer.parseInt(ev.getMessage());
|
||||||
if (amt<=GenericFunctions.CountItems(ev.getPlayer(), current_session.getItem()) && amt>0) {
|
if (amt<=GenericFunctions.CountItems(ev.getPlayer(), current_session.getItem()) && amt>0) {
|
||||||
current_session.SetAmt(amt);
|
current_session.SetAmt(amt);
|
||||||
@ -853,7 +853,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BUY_CREATE:
|
case BUY_CREATE:
|
||||||
if (isNumeric(ev.getMessage())) {
|
if (isNumeric(ev.getMessage()) && isInteger(ev.getMessage())) {
|
||||||
int amt = Integer.parseInt(ev.getMessage());
|
int amt = Integer.parseInt(ev.getMessage());
|
||||||
if (amt>0) {
|
if (amt>0) {
|
||||||
current_session.SetAmt(amt);
|
current_session.SetAmt(amt);
|
||||||
@ -928,7 +928,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case EDIT:
|
case EDIT:
|
||||||
if (isNumeric(ev.getMessage())) {
|
if (isNumeric(ev.getMessage()) && isInteger(ev.getMessage())) {
|
||||||
int amt = Integer.parseInt(ev.getMessage());
|
int amt = Integer.parseInt(ev.getMessage());
|
||||||
DecimalFormat df = new DecimalFormat("0.00");
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
WorldShop shop = TwosideShops.LoadWorldShopData(TwosideShops.GetShopID(current_session.GetSign()));
|
WorldShop shop = TwosideShops.LoadWorldShopData(TwosideShops.GetShopID(current_session.GetSign()));
|
||||||
@ -1004,7 +1004,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case BUY_EDIT:
|
case BUY_EDIT:
|
||||||
if (isNumeric(ev.getMessage())) {
|
if (isNumeric(ev.getMessage()) && isInteger(ev.getMessage())) {
|
||||||
int amt = Integer.parseInt(ev.getMessage());
|
int amt = Integer.parseInt(ev.getMessage());
|
||||||
DecimalFormat df = new DecimalFormat("0.00");
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
WorldShop shop = TwosideShops.LoadWorldShopData(TwosideShops.GetShopID(current_session.GetSign()));
|
WorldShop shop = TwosideShops.LoadWorldShopData(TwosideShops.GetShopID(current_session.GetSign()));
|
||||||
@ -1110,7 +1110,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PURCHASE:
|
case PURCHASE:
|
||||||
if (isNumeric(ev.getMessage())) {
|
if (isNumeric(ev.getMessage()) && isInteger(ev.getMessage())) {
|
||||||
DecimalFormat df = new DecimalFormat("0.00");
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
int amt = Integer.parseInt(ev.getMessage());
|
int amt = Integer.parseInt(ev.getMessage());
|
||||||
if (amt>0) {
|
if (amt>0) {
|
||||||
@ -1171,7 +1171,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SELL:
|
case SELL:
|
||||||
if (isNumeric(ev.getMessage())) {
|
if (isNumeric(ev.getMessage()) && isInteger(ev.getMessage())) {
|
||||||
DecimalFormat df = new DecimalFormat("0.00");
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
int amt = Integer.parseInt(ev.getMessage());
|
int amt = Integer.parseInt(ev.getMessage());
|
||||||
if (amt>0) {
|
if (amt>0) {
|
||||||
@ -1217,7 +1217,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
ev.setCancelled(true);
|
ev.setCancelled(true);
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
|
if (ev.getMessage().equalsIgnoreCase("()") || ev.getMessage().indexOf(" ()")>-1) {
|
||||||
ev.setMessage(ev.getMessage().replace("()", "("+ev.getPlayer().getLocation().getBlockX()+","+ev.getPlayer().getLocation().getBlockY()+","+ev.getPlayer().getLocation().getBlockZ()+")"));
|
ev.setMessage(ev.getMessage().replace("()", "("+ev.getPlayer().getLocation().getBlockX()+","+ev.getPlayer().getLocation().getBlockY()+","+ev.getPlayer().getLocation().getBlockZ()+")"));
|
||||||
|
}
|
||||||
for (int i=0;i<Bukkit.getOnlinePlayers().toArray().length;i++) {
|
for (int i=0;i<Bukkit.getOnlinePlayers().toArray().length;i++) {
|
||||||
Player p = (Player)Bukkit.getOnlinePlayers().toArray()[i];
|
Player p = (Player)Bukkit.getOnlinePlayers().toArray()[i];
|
||||||
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
@ -1227,7 +1229,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
int pos = -1;
|
int pos = -1;
|
||||||
log(ev.getMessage()+" "+ev.getMessage().indexOf(" []"),5);
|
log(ev.getMessage()+" "+ev.getMessage().indexOf(" []"),5);
|
||||||
if (ev.getMessage().indexOf("[]")>-1) {
|
if (ev.getMessage().equalsIgnoreCase("[]") || ev.getMessage().indexOf(" []")>-1) {
|
||||||
pos = ev.getMessage().indexOf("[]");
|
pos = ev.getMessage().indexOf("[]");
|
||||||
ev.setMessage(ev.getMessage().replace("[]", ""));
|
ev.setMessage(ev.getMessage().replace("[]", ""));
|
||||||
log("pos is "+pos+" message is: {"+ev.getMessage()+"}",5);
|
log("pos is "+pos+" message is: {"+ev.getMessage()+"}",5);
|
||||||
@ -2890,8 +2892,8 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
((Guardian)m).isElder()) ||
|
((Guardian)m).isElder()) ||
|
||||||
m.getType()==EntityType.ENDER_DRAGON ||
|
m.getType()==EntityType.ENDER_DRAGON ||
|
||||||
m.getType()==EntityType.WITHER) {
|
m.getType()==EntityType.WITHER) {
|
||||||
ev.setDroppedExp(ev.getDroppedExp()*2);
|
ev.setDroppedExp(ev.getDroppedExp()*6);
|
||||||
dropmult+=0.4;
|
dropmult+=3.5;
|
||||||
}
|
}
|
||||||
if (m.getType()==EntityType.GUARDIAN ||
|
if (m.getType()==EntityType.GUARDIAN ||
|
||||||
m.getType()==EntityType.SKELETON) {
|
m.getType()==EntityType.SKELETON) {
|
||||||
@ -3288,6 +3290,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
for (int i=0;i<drops.size();i++) {
|
for (int i=0;i<drops.size();i++) {
|
||||||
|
if (GenericFunctions.isEquip(drops.get(i)) && !GenericFunctions.isRareItem(drops.get(i))) {
|
||||||
|
drops.get(i).setDurability((short)(drops.get(i).getType().getMaxDurability()-(((Math.random()*0.25))*drops.get(i).getType().getMaxDurability())));
|
||||||
|
}
|
||||||
m.getWorld().dropItemNaturally(m.getLocation(), drops.get(i));
|
m.getWorld().dropItemNaturally(m.getLocation(), drops.get(i));
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
@ -3642,6 +3647,10 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
for (int i=0;i<drops.size();i++) {
|
for (int i=0;i<drops.size();i++) {
|
||||||
|
if (GenericFunctions.isEquip(drops.get(i)) && !GenericFunctions.isRareItem(drops.get(i))) {
|
||||||
|
drops.get(i).setDurability((short)(drops.get(i).getType().getMaxDurability()-((0.75+(Math.random()*0.25))*drops.get(i).getType().getMaxDurability())));
|
||||||
|
}
|
||||||
|
log("Item: "+drops.get(i)+" ::: Durability: "+drops.get(i).getDurability(),2);
|
||||||
m.getWorld().dropItemNaturally(m.getLocation(), drops.get(i));
|
m.getWorld().dropItemNaturally(m.getLocation(), drops.get(i));
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
@ -4485,6 +4494,22 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
return Math.round((Bukkit.getWorld("world").getFullTime()-STARTTIME)*DAYMULT+SERVERTICK);
|
return Math.round((Bukkit.getWorld("world").getFullTime()-STARTTIME)*DAYMULT+SERVERTICK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isInteger(String s) {
|
||||||
|
return isInteger(s,10);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isInteger(String s, int radix) {
|
||||||
|
if(s.isEmpty()) return false;
|
||||||
|
for(int i = 0; i < s.length(); i++) {
|
||||||
|
if(i == 0 && s.charAt(i) == '-') {
|
||||||
|
if(s.length() == 1) return false;
|
||||||
|
else continue;
|
||||||
|
}
|
||||||
|
if(Character.digit(s.charAt(i),radix) < 0) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean isNumeric(String str)
|
public static boolean isNumeric(String str)
|
||||||
{
|
{
|
||||||
return str.matches("-?\\d+(\\.\\d+)?"); //match a number with optional '-' and decimal.
|
return str.matches("-?\\d+(\\.\\d+)?"); //match a number with optional '-' and decimal.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user