Fix Set Item Updating.

This commit is contained in:
sigonasr2 2016-08-11 22:09:32 -05:00
parent 7936509eee
commit ccea62159b
4 changed files with 32 additions and 46 deletions

Binary file not shown.

View File

@ -250,7 +250,6 @@ public class GenericFunctions {
return maxlv; return maxlv;
} }
public static int getObscureHardenedItemBreaks(ItemStack item) { public static int getObscureHardenedItemBreaks(ItemStack item) {
if (item.hasItemMeta() && if (item.hasItemMeta() &&
item.getItemMeta().hasLore()) { item.getItemMeta().hasLore()) {
@ -2568,11 +2567,12 @@ public class GenericFunctions {
if (Math.random() <= repairamt%1) { if (Math.random() <= repairamt%1) {
repairamt++; repairamt++;
} }
double chance = 0.5;
if (p.getLocation().getY()>=0 && p.getLocation().getY()<=255 && p.getLocation().getBlock().getLightFromSky()==0) { if (p.getLocation().getY()>=0 && p.getLocation().getY()<=255 && p.getLocation().getBlock().getLightFromSky()==0) {
repairamt/=2.0d; repairamt/=2.0d;
chance/=2d;
//TwosideKeeper.log("In Darkness.",2); //TwosideKeeper.log("In Darkness.",2);
} }
double chance = 1;
if (Math.random()<=chance/100d) { if (Math.random()<=chance/100d) {
if (p.getInventory().getItem(i).getDurability()-repairamt<0) { if (p.getInventory().getItem(i).getDurability()-repairamt<0) {
p.getInventory().getItem(i).setDurability((short)0); p.getInventory().getItem(i).setDurability((short)0);
@ -3142,48 +3142,33 @@ public class GenericFunctions {
}; };
} }
public static void updateSetItems(Player player) { public static void updateSetItemsInInventory(Inventory inv) {
TwosideKeeper.log("Inventory is size "+player.getInventory().getSize(),5); TwosideKeeper.log("Inventory is size "+inv.getSize(),5);
for (int i=0;i<player.getInventory().getSize();i++) { for (int i=0;i<inv.getSize();i++) {
if (ItemSet.isSetItem(player.getInventory().getItem(i))) { UpdateItemLore(inv.getItem(i));
//Update the lore. See if it's hardened. If it is, we will save just that piece.
//Save the tier and type as well.
ItemSet set = ItemSet.GetSet(player.getInventory().getItem(i));
int tier = ItemSet.GetTier(player.getInventory().getItem(i));
List<String> newlore = new ArrayList<String>();
if (GenericFunctions.isHardenedItem(player.getInventory().getItem(i))) {
newlore.add(ChatColor.GRAY+"Breaks Remaining: "+ChatColor.YELLOW+GenericFunctions.getHardenedItemBreaks(player.getInventory().getItem(i)));
}
newlore.addAll(ItemSet.GenerateLore(set, tier));
ItemMeta m = player.getInventory().getItem(i).getItemMeta();
m.setLore(newlore);
player.getInventory().getItem(i).setItemMeta(m);
}
}
if (player.getOpenInventory()!=null) {
for (int i=0;i<player.getOpenInventory().getTopInventory().getSize();i++) {
if (ItemSet.isSetItem(player.getOpenInventory().getTopInventory().getItem(i))) {
//Update the lore. See if it's hardened. If it is, we will save just that piece.
//Save the tier and type as well.
ItemSet set = ItemSet.GetSet(player.getOpenInventory().getTopInventory().getItem(i));
int tier = ItemSet.GetTier(player.getOpenInventory().getTopInventory().getItem(i));
List<String> newlore = new ArrayList<String>();
if (GenericFunctions.isHardenedItem(player.getOpenInventory().getTopInventory().getItem(i))) {
newlore.add(ChatColor.GRAY+"Breaks Remaining: "+ChatColor.YELLOW+GenericFunctions.getHardenedItemBreaks(player.getOpenInventory().getTopInventory().getItem(i)));
}
newlore.addAll(ItemSet.GenerateLore(set, tier));
ItemMeta m = player.getOpenInventory().getTopInventory().getItem(i).getItemMeta();
m.setLore(newlore);
player.getOpenInventory().getTopInventory().getItem(i).setItemMeta(m);
}
}
} }
} }
public static ItemStack UpdateItemLore(ItemStack item) {
if (ItemSet.isSetItem(item)) {
//Update the lore. See if it's hardened. If it is, we will save just that piece.
//Save the tier and type as well.
ItemSet set = ItemSet.GetSet(item);
int tier = ItemSet.GetTier(item);
List<String> newlore = new ArrayList<String>();
if (GenericFunctions.isHardenedItem(item)) {
newlore.add(ChatColor.GRAY+"Breaks Remaining: "+ChatColor.YELLOW+GenericFunctions.getHardenedItemBreaks(item));
}
newlore.addAll(ItemSet.GenerateLore(set, tier));
ItemMeta m = item.getItemMeta();
m.setLore(newlore);
item.setItemMeta(m);
}
return item;
}
public static ExperienceOrb spawnXP(Location location, int expAmount) { public static ExperienceOrb spawnXP(Location location, int expAmount) {
ExperienceOrb orb = location.getWorld().spawn(location, ExperienceOrb.class); ExperienceOrb orb = location.getWorld().spawn(location, ExperienceOrb.class);
orb.setExperience(orb.getExperience() + expAmount); orb.setExperience(orb.getExperience() + expAmount);

View File

@ -1250,11 +1250,11 @@ public class NewCombat {
resistlevel=(resistlevel>10)?10:resistlevel; resistlevel=(resistlevel>10)?10:resistlevel;
protectionlevel=(protectionlevel>100)?100:protectionlevel; protectionlevel=(protectionlevel>100)?100:protectionlevel;
partylevel=(partylevel>100)?100:partylevel; //partylevel=(partylevel>9)?9:partylevel;
double finaldmg=(basedmg-(basedmg*(dmgreduction/100.0d))) double finaldmg=(basedmg-(basedmg*(dmgreduction/100.0d)))
*((10-resistlevel)*0.1) *((10-resistlevel)*0.1)
*((100-protectionlevel)*0.01) *((100-protectionlevel)*0.01)
*((10-partylevel)*0.1) //*((10-partylevel)*0.1)
*setbonus *setbonus
*((target instanceof Player && ((Player)target).isBlocking())?(GenericFunctions.isDefender((Player)target))?0.30:0.50:1) *((target instanceof Player && ((Player)target).isBlocking())?(GenericFunctions.isDefender((Player)target))?0.30:0.50:1)
*((target instanceof Player)?((GenericFunctions.isDefender((Player)target))?0.9:(target.getEquipment().getItemInOffHand()!=null && target.getEquipment().getItemInOffHand().getType()==Material.SHIELD)?0.95:1):1); *((target instanceof Player)?((GenericFunctions.isDefender((Player)target))?0.9:(target.getEquipment().getItemInOffHand()!=null && target.getEquipment().getItemInOffHand().getType()==Material.SHIELD)?0.95:1):1);

View File

@ -1409,7 +1409,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
playerdata.put(ev.getPlayer().getUniqueId(), new PlayerStructure(ev.getPlayer(),getServerTickTime())); playerdata.put(ev.getPlayer().getUniqueId(), new PlayerStructure(ev.getPlayer(),getServerTickTime()));
log("[TASK] New Player Data has been added. Size of array: "+playerdata.size(),4); log("[TASK] New Player Data has been added. Size of array: "+playerdata.size(),4);
GenericFunctions.updateSetItems(ev.getPlayer()); GenericFunctions.updateSetItemsInInventory(ev.getPlayer().getInventory());
//Update player max health. Check equipment too. //Update player max health. Check equipment too.
setPlayerMaxHealth(ev.getPlayer()); setPlayerMaxHealth(ev.getPlayer());
@ -3137,7 +3137,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
public void onInventoryOpen(InventoryOpenEvent ev) { public void onInventoryOpen(InventoryOpenEvent ev) {
PlayerStructure pd = (PlayerStructure)playerdata.get(ev.getPlayer().getUniqueId()); PlayerStructure pd = (PlayerStructure)playerdata.get(ev.getPlayer().getUniqueId());
pd.isViewingInventory=true; pd.isViewingInventory=true;
GenericFunctions.updateSetItems((Player)ev.getPlayer()); GenericFunctions.updateSetItemsInInventory(ev.getInventory());
} }
@EventHandler(priority=EventPriority.LOW,ignoreCancelled = true) @EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
@ -5150,7 +5150,8 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
//Arrow quiver code goes here. //Arrow quiver code goes here.
log("Pickup Metadata: "+ev.getItem().getItemStack().getItemMeta().toString(),5); log("Pickup Metadata: "+ev.getItem().getItemStack().getItemMeta().toString(),5);
Player p = ev.getPlayer(); Player p = ev.getPlayer();
GenericFunctions.updateSetItems(p); //GenericFunctions.updateSetItems(p.getInventory());
GenericFunctions.UpdateItemLore(ev.getItem().getItemStack());
if (!ev.isCancelled()) { if (!ev.isCancelled()) {
if (ev.getItem().getItemStack().getType()==Material.ARROW && if (ev.getItem().getItemStack().getType()==Material.ARROW &&
playerHasArrowQuiver(p)) { playerHasArrowQuiver(p)) {