Improve Performance of Hoppers and checking world shops.

dev
sigonasr2 9 years ago
parent 8af5f62601
commit 739f84932b
  1. BIN
      TwosideKeeper.jar
  2. 7
      src/sig/plugin/TwosideKeeper/CustomDamage.java
  3. 30
      src/sig/plugin/TwosideKeeper/HelperStructures/Common/GenericFunctions.java
  4. 4
      src/sig/plugin/TwosideKeeper/HelperStructures/Loot.java
  5. 25
      src/sig/plugin/TwosideKeeper/HelperStructures/PlayerMode.java
  6. 1486
      src/sig/plugin/TwosideKeeper/TwosideKeeper.java
  7. 8
      src/sig/plugin/TwosideKeeper/TwosideKeeperAPI.java

Binary file not shown.

@ -1936,4 +1936,11 @@ public class CustomDamage {
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
return pd.lasthitdesc;
}
/*Returns the amount of cooldown reduction the player has.
* 0% meaning cooldowns are not reduced at all. 100% meaning cooldowns should be non-existent.
*/
public static double calculateCooldownReduction(Player p) {
return 0.0;
}
}

@ -3647,4 +3647,34 @@ public class GenericFunctions {
p.addPotionEffect(neweffect);
}
}
public static boolean hasSlayerSetItemOnHotbar(Player p) {
for (int i=0;i<9;i++) {
if (i==9) {
i=40;
}
ItemStack item = p.getInventory().getContents()[i];
ItemSet set = TwosideKeeperAPI.getItemSet(item);
if (set!=null &&
(set==ItemSet.LORASYS ||
set==ItemSet.GLADOMAIN ||
set==ItemSet.MOONSHADOW)) {
return true;
}
}
return false;
}
public static boolean WearingNoArmor(Player p) {
ItemStack[] armor = p.getEquipment().getArmorContents();
boolean hasArmor=false;
for (int i=0;i<armor.length;i++) {
if (armor[i]!=null &&
armor[i].getType()!=Material.AIR) {
hasArmor=true;
break;
}
}
return hasArmor;
}
}

@ -541,7 +541,7 @@ public class Loot {
}
private static int modifyTierBonus(ItemStack item, int tierbonus) {
if (item.getType().name().contains("IRON")) {
/*if (item.getType().name().contains("IRON")) {
if (Math.random()<=0.5 && tierbonus<2) {
tierbonus+=2;
}
@ -555,7 +555,7 @@ public class Loot {
if (tierbonus>0 && Math.random()<=0.5) {
tierbonus=0;
}
}
}*/
return tierbonus;
}

@ -19,8 +19,8 @@ public enum PlayerMode {
+ ChatColor.WHITE+"->Dropping your weapon will perform a line drive. Enemies you charge through take x7 your base damage. This costs 5% of your durability (Unbreaking decreases this amount.)\n"
+ ChatColor.GRAY+"->Strikers have a 20% chance to dodge incoming attacks from any damage source while moving.\n"
+ ChatColor.WHITE+"->Hitting a target when they have not noticed you yet does x3 normal damage.\n"),
RANGER(ChatColor.GREEN,"R","Ranger",
ChatColor.GREEN+""+ChatColor.BOLD+"Ranger mode Perks: "+ChatColor.RESET+"\n"
RANGER(ChatColor.DARK_GREEN,"R","Ranger",
ChatColor.DARK_GREEN+""+ChatColor.BOLD+"Ranger mode Perks: "+ChatColor.RESET+"\n"
+ ChatColor.WHITE+"->Players are identified as 'Rangers' when they carry a bow in their main hand. Off-hand items are permitted, except for a shield. Can only be wearing leather armor, or no armor.\n"
+ ChatColor.GRAY+"->Left-clicking mobs will cause them to be knocked back extremely far, basically in headshot range, when walls permit.\n"
+ ChatColor.WHITE+"->Base Arrow Damage increases from x2->x4.\n"
@ -90,6 +90,9 @@ public enum PlayerMode {
public static PlayerMode getPlayerMode(Player p) {
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
if (needsUpdating(pd)) {
if (isSlayer(p)) {
pd.lastmode=PlayerMode.SLAYER;
} else
if (isStriker(p)) {
pd.lastmode=PlayerMode.STRIKER;
} else
@ -166,6 +169,24 @@ public enum PlayerMode {
return false;
}
}
public static boolean isSlayer(Player p) {
if (p!=null && !p.isDead()) {
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
if (needsUpdating(pd)) {
if (p.getEquipment().getItemInMainHand()!=null && GenericFunctions.hasSlayerSetItemOnHotbar(p) &&
GenericFunctions.WearingNoArmor(p)) {
return true;
} else {
return false;
}
} else {
return pd.lastmode==PlayerMode.SLAYER;
}
} else {
return false;
}
}
String name="";
String desription="";

File diff suppressed because it is too large Load Diff

@ -356,4 +356,12 @@ public final class TwosideKeeperAPI {
public static PlayerMode getPlayerMode(Player p) {
return PlayerMode.getPlayerMode(p);
}
/**Returns the amount of cooldown reduction the player has.
0% meaning cooldowns are not reduced at all. 100% meaning cooldowns should be non-existent.
* @param p
* @return
*/
public double getCooldownReduction(Player p) {
return CustomDamage.calculateCooldownReduction(p);
}
}

Loading…
Cancel
Save