Cleaned up code. Removed unused variables, fixed up switch statements

that did not fully resolve, etc.
This commit is contained in:
sigonasr2 2016-08-28 15:20:08 -05:00
parent 12e4d4004e
commit 8af5f62601
39 changed files with 278 additions and 648 deletions

Binary file not shown.

View File

@ -6,14 +6,11 @@ import java.util.List;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Monster;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.material.MaterialData;
import sig.plugin.TwosideKeeper.HelperStructures.ArtifactItem;
import sig.plugin.TwosideKeeper.HelperStructures.ArtifactItemType;
import sig.plugin.TwosideKeeper.HelperStructures.MonsterDifficulty;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
public class Artifact {
@ -120,6 +117,8 @@ public class Artifact {
case MYSTERIOUS_ESSENCE:
m.setDisplayName(ChatColor.LIGHT_PURPLE+""+ChatColor.BOLD+"Mysterious Essence");
break;
default:
break;
}
i.setItemMeta(m);
return i;

View File

@ -5,12 +5,7 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URL;
import java.nio.file.CopyOption;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.commons.io.FileUtils;
@ -19,8 +14,6 @@ import org.bukkit.ChatColor;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import aPlugin.DiscordMessageSender;
public class AutoUpdatePlugin implements Runnable {
List<Plugin> plugins;
boolean restarting=false;

View File

@ -14,18 +14,14 @@ import org.bukkit.inventory.meta.ItemMeta;
import com.google.common.collect.Iterables;
import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent;
import sig.plugin.TwosideKeeper.HelperStructures.ArtifactAbility;
import sig.plugin.TwosideKeeper.HelperStructures.ArtifactItemType;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
public class AwakenedArtifact {
int experience_points=0;
public static HashMap<ArtifactAbility,String> ability_map = new HashMap();
public static HashMap<String,ArtifactAbility> name_map = new HashMap();
public static HashMap<ArtifactAbility,String> ability_map = new HashMap<ArtifactAbility,String>();
public static HashMap<String,ArtifactAbility> name_map = new HashMap<String,ArtifactAbility>();
private static String drawEXPMeter(int exp) {
String bar ="";
for (int i=0;i<((exp%1000)/100);i++) {
@ -132,7 +128,6 @@ public class AwakenedArtifact {
List<String> lore = m.getLore();
DecimalFormat df = new DecimalFormat("000");
lore.set(5, ChatColor.GRAY+"Level "+df.format(amt));
String apline = lore.get(6);
lore.set(6, ChatColor.GOLD+"Ability Points: "+getAP(artifact)+"/"+amt);
m.setLore(lore);
artifact.setItemMeta(m);
@ -149,8 +144,6 @@ public class AwakenedArtifact {
Artifact.isArtifact(artifact)) {
ItemMeta m = artifact.getItemMeta();
List<String> lore = m.getLore();
DecimalFormat df = new DecimalFormat("000");
String apline = lore.get(6);
int currentAP = getAP(artifact);
lore.set(6, ChatColor.GOLD+"Ability Points: "+(currentAP)+"/"+getLV(artifact));
m.setLore(lore);
@ -166,10 +159,6 @@ public class AwakenedArtifact {
artifact.hasItemMeta() &&
artifact.getItemMeta().hasLore() &&
Artifact.isArtifact(artifact)) {
ItemMeta m = artifact.getItemMeta();
List<String> lore = m.getLore();
DecimalFormat df = new DecimalFormat("000");
String apline = lore.get(6);
int level = getLV(artifact); //This is how many total we have.
int apused = 0;
HashMap<ArtifactAbility,Integer> enchants = ArtifactAbility.getEnchantments(artifact);

View File

@ -5,12 +5,6 @@ import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.block.Block;
import org.bukkit.entity.Monster;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import net.minecraft.server.v1_9_R1.BlockPosition;
import sig.plugin.TwosideKeeper.HelperStructures.BlockToughness;
import sig.plugin.TwosideKeeper.HelperStructures.MonsterType;
public class ChargeZombie {
Monster m;
@ -258,6 +252,9 @@ public class ChargeZombie {
case HARD_CLAY:{
blocktoughness=3;
}
default:{
}
}
if (Math.random()*((double)blocktoughness)<0.25) {

View File

@ -27,9 +27,7 @@ import org.bukkit.entity.Skeleton;
import org.bukkit.entity.Slime;
import org.bukkit.entity.Spider;
import org.bukkit.entity.TippedArrow;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import org.bukkit.event.entity.EntityDamageEvent.DamageModifier;
import org.bukkit.inventory.ItemStack;
import org.bukkit.metadata.FixedMetadataValue;
@ -40,7 +38,6 @@ import org.bukkit.util.Vector;
import com.google.common.collect.Iterables;
import sig.plugin.TwosideKeeper.HelperStructures.ArtifactAbility;
import sig.plugin.TwosideKeeper.HelperStructures.ArtifactAbilityApplyEffects;
import sig.plugin.TwosideKeeper.HelperStructures.BowMode;
import sig.plugin.TwosideKeeper.HelperStructures.ItemSet;
import sig.plugin.TwosideKeeper.HelperStructures.MonsterDifficulty;
@ -230,7 +227,6 @@ public class CustomDamage {
*/
public static double getBaseWeaponDamage(double damage, ItemStack weapon, Entity damager, LivingEntity target, String reason) {
double dmg = 0.0;
LivingEntity shooter = getDamagerEntity(damager);
if (weapon!=null) { //Calculate damage using the weapon.
if (damage == 0) {
if (weapon.getType()==Material.BOW) {
@ -369,7 +365,6 @@ public class CustomDamage {
target.addPotionEffect(new PotionEffect(PotionEffectType.SLOW,20*5,slownesslv));
}
if (a.hasMetadata("POISON_ARR")) {
int poisonlv=0;
target.addPotionEffect(new PotionEffect(PotionEffectType.BLINDNESS,20*20,0));
}
}
@ -564,6 +559,7 @@ public class CustomDamage {
Block b = mon.getLocation().add(x,-1,z).getBlock();
if (aPlugin.API.isDestroyable(b) && GenericFunctions.isSoftBlock(b)) {
//log(b.getType()+" is destroyable.",2);
@SuppressWarnings("deprecation")
FallingBlock fb = (FallingBlock)b.getLocation().getWorld().spawnFallingBlock(b.getLocation().add(0,0.1,0),b.getType(),(byte)0);
fb.setVelocity(new Vector(0,Math.random()*1.35,0));
fb.setMetadata("FAKE", new FixedMetadataValue(TwosideKeeper.plugin,true));
@ -607,7 +603,6 @@ public class CustomDamage {
static void applyProvokeAggro(Monster m, ItemStack weapon) {
if (ArtifactAbility.containsEnchantment(ArtifactAbility.PROVOKE, weapon)) {
//This is allowed, get the level on the weapon.
int provokelv = ArtifactAbility.getEnchantmentLevel(ArtifactAbility.PROVOKE, weapon);
setAggroGlowTickTime(m,(int)(GenericFunctions.getAbilityValue(ArtifactAbility.PROVOKE, weapon)*20));
}
}
@ -814,6 +809,7 @@ public class CustomDamage {
* @param p
* @return
*/
@SuppressWarnings("deprecation")
public static double CalculateDodgeChance(Player p) {
double dodgechance = 0.0d;
dodgechance+=(ArtifactAbility.calculateValue(ArtifactAbility.DODGE, p.getEquipment().getItemInMainHand().getEnchantmentLevel(Enchantment.LUCK), ArtifactAbility.getEnchantmentLevel(ArtifactAbility.DODGE, p.getEquipment().getItemInMainHand()))/100d);
@ -878,6 +874,7 @@ public class CustomDamage {
return dodgechance;
}
@SuppressWarnings("deprecation")
static public double CalculateDamageReduction(double basedmg,LivingEntity target,Entity damager) {
double dmgreduction = 0.0;
@ -958,6 +955,9 @@ public class CustomDamage {
case DIAMOND_HELMET: {
dmgreduction+=8*((isBlockArmor)?2:1);
}break;
default:{
}
}
}
@ -1208,7 +1208,6 @@ public class CustomDamage {
static double calculateEnchantmentDamageIncrease(ItemStack weapon, Entity damager, LivingEntity target) {
double dmg = 0.0;
LivingEntity shooter = getDamagerEntity(damager);
boolean isBow = (weapon!=null && weapon.getType()==Material.BOW); //An exception for melee'ing with bows.
if (isBow && (damager instanceof Arrow)) {
dmg+=addToPlayerLogger(damager,target,"POWER",(weapon.containsEnchantment(Enchantment.ARROW_DAMAGE))?1.0+weapon.getEnchantmentLevel(Enchantment.ARROW_DAMAGE)*0.5:0.0);
@ -1346,8 +1345,6 @@ public class CustomDamage {
TwosideKeeper.log("Distance: "+(arrowLoc.distanceSquared(monsterHead)), 5);
double headshotvaly=0.22/TwosideKeeper.HEADSHOT_ACC;
double directionvaly=0.25/TwosideKeeper.HEADSHOT_ACC;
if (proj.getShooter() instanceof Player) {
Player p = (Player)proj.getShooter();
if (PlayerMode.isRanger(p) &&
@ -1753,6 +1750,9 @@ public class CustomDamage {
case NORMAL:
dmg+=difficulty_damage[1];
break;
case PEACEFUL:
dmg=0;
break;
}
return dmg;
@ -1801,7 +1801,9 @@ public class CustomDamage {
}
private static void increaseStrikerSpeed(Player p) {
GenericFunctions.addStackingPotionEffect(p, PotionEffectType.SPEED, 20*5, 4);
if (PlayerMode.getPlayerMode(p)==PlayerMode.STRIKER) {
GenericFunctions.addStackingPotionEffect(p, PotionEffectType.SPEED, 20*5, 4);
}
}
/*0.0-1.0*/

View File

@ -7,20 +7,15 @@ import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryView;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.util.Vector;
import sig.plugin.TwosideKeeper.HelperStructures.DeathStructure;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
public class DeathManager {
static String Pick5Text = "Mercy (Pick 5 Lost Items)";

View File

@ -16,6 +16,7 @@ public class DiscordStatusUpdater implements Runnable{
Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(Bukkit.getPluginManager().getPlugin("TwosideKeeper"), this, 300l);
}
@SuppressWarnings("deprecation")
String ProduceMessage() {
DecimalFormat df = new DecimalFormat("0.00");
return ChatColor.stripColor("TPS: "+df.format(MinecraftServer.getServer().recentTps[0])+" "+TwosideKeeper.getWeatherIcon()+" "+TwosideKeeper.getTimeOfDay()+" ("+Bukkit.getOnlinePlayers().size()+")");

View File

@ -26,7 +26,6 @@ import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Monster;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.metadata.FixedMetadataValue;
import org.bukkit.potion.PotionData;
import org.bukkit.potion.PotionEffect;
@ -348,7 +347,6 @@ public class EliteMonster {
private void createWeaknessCloud(Location loc, int weaknesslv) {
AreaEffectCloud lp = (AreaEffectCloud)loc.getWorld().spawnEntity(loc, EntityType.AREA_EFFECT_CLOUD);
lp.setColor(Color.BLACK);
DecimalFormat df = new DecimalFormat("0.00");
lp.setCustomName("WEAK "+weaknesslv+" "+WEAKNESS_DURATION);
lp.setRadius(2f);
lp.setRadiusPerTick(0.5f/20);
@ -457,7 +455,6 @@ public class EliteMonster {
targetlist.add((Player)damager);
}
if (!participantlist.contains(damager) && (damager instanceof Player)) {
String name = "";
participantlist.add((Player)damager);
}
if (damager instanceof Player) {
@ -582,6 +579,7 @@ public class EliteMonster {
}
}
@SuppressWarnings("deprecation")
private void performLeap() {
last_leap_time = TwosideKeeper.getServerTickTime();
int radius = (int)(6*(CustomDamage.getPercentHealthMissing(m)/100d))+1;

View File

@ -1,13 +1,11 @@
package sig.plugin.TwosideKeeper.HelperStructures;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.commons.lang.WordUtils;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
@ -19,7 +17,6 @@ import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent;
import sig.plugin.TwosideKeeper.AwakenedArtifact;
import sig.plugin.TwosideKeeper.CustomDamage;
import sig.plugin.TwosideKeeper.NewCombat;
import sig.plugin.TwosideKeeper.TwosideKeeper;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
@ -247,7 +244,7 @@ public enum ArtifactAbility {
public static int getEnchantmentLevel(ArtifactAbility ability, ItemStack item) {
//Get the enchantment level of a particular enchantment.
HashMap enchants = getEnchantments(item);
HashMap<ArtifactAbility,Integer> enchants = getEnchantments(item);
if (enchants.containsKey(ability)) {
return (int)enchants.get(ability);
} else {
@ -413,6 +410,12 @@ public enum ArtifactAbility {
return true;
}
}break;
case ALL:{
return true;
}
default:{
return true;
}
}
} else {
return true;

View File

@ -9,7 +9,7 @@ import org.bukkit.inventory.ItemStack;
//NOT USED.
public class ArtifactAbilityGroup {
public static HashMap<ArtifactAbility,List<ArtifactAbilityGroup>> abilitiesmap = new HashMap();
public static HashMap<ArtifactAbility,List<ArtifactAbilityGroup>> abilitiesmap = new HashMap<ArtifactAbility,List<ArtifactAbilityGroup>>();
List<ArtifactAbility> abilitylist;
List<Material> itemlist;
public ArtifactAbilityGroup(Material[] itemlist,ArtifactAbility...abilities) {

View File

@ -9,7 +9,6 @@ import org.bukkit.inventory.ShapelessRecipe;
import sig.plugin.TwosideKeeper.Artifact;
import sig.plugin.TwosideKeeper.TwosideKeeper;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
public enum ArtifactItemType {
AXE(0,"AXE",TierType.ALL,UpgradePath.AXE,new String[]{"EEx","EEx","xEx"},
@ -373,20 +372,30 @@ public enum ArtifactItemType {
ItemStack[] itemtiers;
double[] damageamt;
int[] healthamt;
ArtifactItemType(int dataval, String itemname, TierType tier, UpgradePath upgrade, String[] recipe, ItemStack[] itemtiers, double[] damageamt, int[] healthamt) {
ArtifactItemType(dataval,itemname,tier,upgrade,recipe,itemtiers,damageamt,healthamt);
}
ArtifactItemType(int dataval, String itemname, TierType tier, UpgradePath upgrade, String[] recipe, ItemStack[] itemtiers, double[] damageamt) {
ArtifactItemType(dataval,itemname,tier,upgrade,recipe,itemtiers,damageamt,new int[]{});
this.data=dataval;
this.itemname=itemname;
this.tier=tier;
this.upgrade=upgrade;
this.recipe=recipe;
this.itemtiers=itemtiers;
this.damageamt = damageamt;
this.healthamt = new int[]{};
}
ArtifactItemType(int dataval, String itemname, TierType tier, UpgradePath upgrade, String[] recipe, ItemStack[] itemtiers) {
ArtifactItemType(dataval,itemname,tier,upgrade,recipe,itemtiers,new double[]{},new int[]{});
this.data=dataval;
this.itemname=itemname;
this.tier=tier;
this.upgrade=upgrade;
this.recipe=recipe;
this.itemtiers=itemtiers;
this.damageamt = new double[]{};
this.healthamt = new int[]{};
}
private void ArtifactItemType(int dataval, String itemname, TierType tier, UpgradePath upgrade, String[] recipe, ItemStack[] itemtiers, double[] damageamt, int[] healthamt) {
ArtifactItemType(int dataval, String itemname, TierType tier, UpgradePath upgrade, String[] recipe, ItemStack[] itemtiers, double[] damageamt, int[] healthamt) {
this.data=dataval;
this.itemname=itemname;
this.tier=tier;
@ -460,6 +469,7 @@ public enum ArtifactItemType {
Bukkit.addRecipe(decomp_recipe);
}
}
@SuppressWarnings("deprecation")
public void defineAllUpgradeRecipes() {
for (int i=0;i<10;i++) {
ShapelessRecipe upgrade_recipe = new ShapelessRecipe(this.getTieredItem(i+1));

View File

@ -1,7 +1,5 @@
package sig.plugin.TwosideKeeper.HelperStructures;
import org.bukkit.Material;
public enum BlockToughness {
OBSIDIAN(20),

View File

@ -1,7 +1,6 @@
package sig.plugin.TwosideKeeper.HelperStructures.Common;
import org.bukkit.entity.AreaEffectCloud;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;

View File

@ -1,17 +1,12 @@
package sig.plugin.TwosideKeeper.HelperStructures.Common;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.EnumMap;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.DyeColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
@ -30,30 +25,19 @@ import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
import org.bukkit.entity.Skeleton;
import org.bukkit.entity.Skeleton.SkeletonType;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import org.bukkit.event.entity.EntityDamageEvent.DamageModifier;
import org.bukkit.event.entity.EntityDeathEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemFactory;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.LeatherArmorMeta;
import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.material.MaterialData;
import org.bukkit.material.Wool;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.util.Vector;
import org.inventivetalent.glow.GlowAPI;
import org.inventivetalent.glow.GlowAPI.Color;
import com.google.common.base.Function;
import com.google.common.base.Functions;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Iterables;
import net.md_5.bungee.api.chat.ClickEvent;
@ -66,7 +50,6 @@ import sig.plugin.TwosideKeeper.CustomDamage;
import sig.plugin.TwosideKeeper.EliteMonster;
import sig.plugin.TwosideKeeper.MonsterController;
import sig.plugin.TwosideKeeper.MonsterStructure;
import sig.plugin.TwosideKeeper.NewCombat;
import sig.plugin.TwosideKeeper.PlayerStructure;
import sig.plugin.TwosideKeeper.TwosideKeeper;
import sig.plugin.TwosideKeeper.TwosideKeeperAPI;
@ -83,8 +66,6 @@ public class GenericFunctions {
if (item.hasItemMeta() &&
item.getItemMeta().hasLore()) {
ItemMeta item_meta = item.getItemMeta();
int breaks_remaining=-1;
int loreline=-1;
for (int i=0;i<item_meta.getLore().size();i++) {
if (item_meta.getLore().get(i).contains(ChatColor.GRAY+"Breaks Remaining: ")) {
if (item_meta.getLore().get(i).contains(ChatColor.GRAY+"Breaks Remaining: "+ChatColor.MAGIC)) {
@ -106,14 +87,12 @@ public class GenericFunctions {
public static ItemStack breakHardenedItem(ItemStack item, Player p) {
int break_count = getHardenedItemBreaks(item);
boolean is_magic = false;
if (break_count>0) {
ItemMeta m = item.getItemMeta();
List<String> lore = item.getItemMeta().getLore();
for (int i=0;i<lore.size();i++) {
if (lore.get(i).contains(ChatColor.GRAY+"Breaks Remaining: ")) {
if (lore.get(i).contains(ChatColor.GRAY+"Breaks Remaining: "+ChatColor.MAGIC)) {
is_magic=true;
TwosideKeeper.log("This is obscure.", 2);
break_count--;
if (p!=null && break_count==0) {
@ -176,7 +155,6 @@ public class GenericFunctions {
for (int i=0;i<oldlore.size();i++) {
if (oldlore.get(i).contains(ChatColor.BLUE+""+ChatColor.MAGIC)) {
//See what the previous time was.
long time = Long.parseLong(ChatColor.stripColor(oldlore.get(i)));
oldlore.set(i, ChatColor.BLUE+""+ChatColor.MAGIC+TwosideKeeper.getServerTickTime());
}
}
@ -306,7 +284,6 @@ public class GenericFunctions {
if (item.hasItemMeta() &&
item.getItemMeta().hasLore()) {
ItemMeta item_meta = item.getItemMeta();
int breaks_remaining=-1;
int loreline=-1;
for (int i=0;i<item_meta.getLore().size();i++) {
TwosideKeeper.log("Line is "+item_meta.getLore().get(i),3);
@ -347,7 +324,6 @@ public class GenericFunctions {
item.getItemMeta().hasLore()) {
ItemMeta item_meta = item.getItemMeta();
int breaks_remaining=-1;
int loreline=-1;
int break_line=-1;
int break_count=0;
for (int i=0;i<item_meta.getLore().size();i++) {
@ -2121,12 +2097,9 @@ public class GenericFunctions {
}
public static String PlayerModePrefix(Player p) {
if (PlayerMode.isDefender(p)) {
return ChatColor.GRAY+""+ChatColor.ITALIC+"(D) "+ChatColor.RESET+ChatColor.GRAY;
} else if (PlayerMode.isStriker(p)) {
return ChatColor.RED+""+ChatColor.ITALIC+"(S) "+ChatColor.RESET+ChatColor.RED;
} else if (PlayerMode.isRanger(p)) {
return ChatColor.DARK_GREEN+""+ChatColor.ITALIC+"(R) "+ChatColor.RESET+ChatColor.DARK_GREEN;
PlayerMode pm = PlayerMode.getPlayerMode(p);
if (pm!=PlayerMode.NORMAL) {
return pm.getColor()+""+ChatColor.ITALIC+"("+pm.getAbbreviation()+") "+ChatColor.RESET+pm.getColor();
} else {
return "";
}
@ -2134,84 +2107,17 @@ public class GenericFunctions {
public static TextComponent PlayerModeName(Player p) {
TextComponent tc = new TextComponent("");
if (PlayerMode.isDefender(p)) {
TextComponent tc1 = new TextComponent(ChatColor.GRAY+""+ChatColor.BOLD+"Defender"+ChatColor.RESET);
tc1.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,new ComponentBuilder("Click to view details about "+ChatColor.GRAY+""+ChatColor.BOLD+"Defender"+ChatColor.RESET+".").create()));
tc1.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND,"/mode Defender"));
tc.addExtra(tc1);
} else if (PlayerMode.isStriker(p)) {
TextComponent tc1 = new TextComponent(ChatColor.RED+""+ChatColor.BOLD+"Striker"+ChatColor.RESET);
tc1.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,new ComponentBuilder("Click to view details about "+ChatColor.RED+""+ChatColor.BOLD+"Strikers"+ChatColor.RESET+".").create()));
tc1.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND,"/mode Striker"));
tc.addExtra(tc1);
} else if (PlayerMode.isRanger(p)) {
TextComponent tc1 = new TextComponent(ChatColor.DARK_GREEN+""+ChatColor.BOLD+"Ranger"+ChatColor.RESET);
tc1.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,new ComponentBuilder("Click to view details about "+ChatColor.DARK_GREEN+""+ChatColor.BOLD+"Ranger"+ChatColor.RESET+".").create()));
tc1.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND,"/mode Ranger"));
tc.addExtra(tc1);
} else {
TextComponent tc1 = new TextComponent(ChatColor.WHITE+"Normal"+ChatColor.RESET);
tc1.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,new ComponentBuilder("Click to view details about "+ChatColor.WHITE+"Normal"+ChatColor.RESET+".").create()));
tc1.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND,"/mode Normal"));
tc.addExtra(tc1);
}
PlayerMode pm = PlayerMode.getPlayerMode(p);
TextComponent tc1 = new TextComponent(pm.getColor()+""+ChatColor.BOLD+pm.getName()+ChatColor.RESET);
tc1.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,new ComponentBuilder("Click to view details about "+pm.getColor()+""+ChatColor.BOLD+pm.getName()+ChatColor.RESET+".").create()));
tc1.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND,"/mode "+pm.name()));
tc.addExtra(tc1);
return tc;
}
public static String PlayerModeInformation(String mode) {
switch (mode.toLowerCase()) {
case "defender":{
return ChatColor.GRAY+""+ChatColor.BOLD+mode+" mode Perks: "+ChatColor.RESET+"\n"
+ ChatColor.WHITE+"->Players are identified as 'Defenders' when they use a shield in their main hand.\n"
+ ChatColor.GRAY+"->Base Damage reduction from shields increases from 5%->10%\n"
+ ChatColor.WHITE+"->Blocking damage reduction increases from 50->70%\n"
+ ChatColor.GRAY+"->When not blocking, you have Regeneration I. Blocking applies Regeneration II.\n"
+ ChatColor.WHITE+"->Blocking gives 8 health (4 hearts) of Absorption damage.\n"
+ ChatColor.GRAY+"->When hit while blocking, you build up Resistance, one level per hit, up to Resistance V (lasts 2 seconds)\n"
+ ChatColor.WHITE+"->While blocking, you absorb 50% of all damage taken by party members.\n"
+ ChatColor.GRAY+"->Blocking will aggro all nearby mobs to the blocking defender. They will glow indicate the aggro shift.\n"
+ ChatColor.WHITE+"->Base Health increased by 10 (5 hearts)\n"
+ ChatColor.GRAY+"->Getting hit as a defender increases saturation.\n"
+ ChatColor.WHITE+"->Hitting mobs as a Defender aggros them to you.\n"
+ ChatColor.GRAY+"->Knockback from attacks reduced by 75% while blocking.\n"
+ ChatColor.WHITE+"- "+ChatColor.BOLD+"Rejuvenation"+ChatColor.RESET+ChatColor.WHITE+"\n"
+ ChatColor.GRAY+"->Dropping your shield will give you Regeneration X for 10 seconds and 2 seconds of invulnerability. It also costs 400 shield durability!\n"
;
}
case "striker":{
return ChatColor.RED+""+ChatColor.BOLD+mode+" mode Perks: "+ChatColor.RESET+"\n"
+ ChatColor.WHITE+"->Players are identified as 'Strikers' when they only carry a sword in their main hand. No off-hand items.\n"
+ ChatColor.GRAY+"->10% passive damage increase.\n"
+ ChatColor.WHITE+"->20% chance to critically strike.\n"
+ ChatColor.WHITE+"->Getting hit increases Speed by 1 Level. Stacks up to Speed V (Lasts five seconds.)\n"
+ ChatColor.GRAY+"->Swinging your weapon stops nearby flying arrows. Each arrow deflected will give you a Strength buff. Stacks up to Strength V (Lasts five seconds.)\n"
+ 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"
;
}
case "ranger":{
return ChatColor.DARK_GREEN+""+ChatColor.BOLD+mode+" 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"
+ ChatColor.GRAY+"->You can dodge 50% of all incoming attacks from any damage sources.\n"
+ ChatColor.WHITE+"You have immunity to all Thorns damage.\n"
+ ChatColor.GRAY+"Shift-Right Click to change Bow Modes.\n"
+ ChatColor.WHITE+"- "+ChatColor.BOLD+"Close Range Mode (Default):"+ChatColor.RESET+ChatColor.WHITE+" \n"
+ ChatColor.GRAY+" You gain the ability to deal headshots from any distance, even directly onto an enemy's face. Each kill made in this mode gives you 100% dodge chance for the next hit taken. You can tumble and gain invulnerability for 1 second by dropping your bow. Sneak while dropping it to tumble backwards.\n"
+ ChatColor.WHITE+"- "+ChatColor.BOLD+"Sniping Mode:"+ChatColor.RESET+ChatColor.WHITE+" \n"
+ ChatColor.GRAY+" Headshot collision area increases by x3. Headshots will deal an extra x0.25 damage for each headshot landed, up to a cap of 8 stacks. Each stack also increases your Slowness level by 1. You lose 10% dodge chance per Slowness stack, but gain one Resistance level and 10% critical chance per Slowness stack.\n"
+ ChatColor.WHITE+" Arrows are lightning-fast in Sniping Mode.\n"
+ ChatColor.GRAY+"- "+ChatColor.BOLD+"Debilitation Mode:"+ChatColor.RESET+ChatColor.WHITE+" \n"
+ ChatColor.WHITE+" Adds a stack of Poison when hitting non-poisoned targets (20 second duration). Hitting mobs in this mode refreshes the duration of the poison stacks. Headshots made in this mode will increase the level of Poison on the mob, making the mob more and more vulnerable.\n"
+ ChatColor.GRAY+" Headshots also remove one level of a buff (does not affect debuffs) applied to the mob at random.\n"
;
}
default:{
return "This mode either does not exist or has no perks!";
}
}
PlayerMode pm = PlayerMode.valueOf(mode.toUpperCase());
return pm.getDesription();
}
public static boolean holdingNoShield(Player p) {
@ -2792,6 +2698,7 @@ public class GenericFunctions {
}
}
@SuppressWarnings("deprecation")
public static void PerformDodge(Player p) {
if (p.isOnGround() && PlayerMode.isRanger(p) &&
(GenericFunctions.getBowMode(p.getEquipment().getItemInMainHand())==BowMode.CLOSE)) {
@ -2978,16 +2885,6 @@ public class GenericFunctions {
}
}
private static int GetHeartAmount(double dmg) {
int heartcount = 1;
double dmgamountcopy = dmg;
while (dmgamountcopy>10) {
dmgamountcopy/=2;
heartcount++;
}
return heartcount;
}
public static boolean isViewingInventory(Player p) {
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
return pd.isViewingInventory;
@ -3056,7 +2953,6 @@ public class GenericFunctions {
}
public static boolean hasPermissionToBreakSign(Sign s, Player p) {
String[] lines = s.getLines();
if (WorldShop.isWorldShopSign(s)) {
WorldShop shop = TwosideKeeper.TwosideShops.LoadWorldShopData(s);
if (shop.GetOwner().equalsIgnoreCase(p.getName()) || p.isOp()) {
@ -3194,7 +3090,6 @@ public class GenericFunctions {
if (item!=null
&& item.getType()!=Material.AIR &&
item.hasItemMeta() && item.getItemMeta().hasLore()) {
boolean rangerarmor=false;
if (item.getItemMeta().getLore().contains(ChatColor.GOLD+""+ChatColor.BOLD+"Jamdak Set") ||
item.getItemMeta().getLore().contains(ChatColor.GOLD+""+ChatColor.BOLD+"Darnys Set") ||
item.getItemMeta().getLore().contains(ChatColor.GOLD+""+ChatColor.BOLD+"Alikahn Set") ||
@ -3215,18 +3110,6 @@ public class GenericFunctions {
}
int tier = 1;
UpdateSetLore(set,tier,item);
rangerarmor=true;
/*List<String> currentlore = item.getItemMeta().getLore();
ItemMeta m = item.getItemMeta();
currentlore.add(0,ChatColor.LIGHT_PURPLE+"Ranger Gear");
currentlore.add(1,ChatColor.GOLD+""+ChatColor.BOLD+"T"+tier+" "+GenericFunctions.CapitalizeFirstLetters(set.name())+" Set");
currentlore.add(2,ChatColor.YELLOW+"+"+ItemSet.GetBaseAmount(set, tier, 1)+"% Dodge Chance");
m.setLore(currentlore);
item.setItemMeta(m);*/
/*
lore.add();
lore.add();
lore.add();*/
}
if (TwosideKeeperAPI.getItemSet(item)!=null && item.getType().name().contains("LEATHER")) {
TwosideKeeper.log("In here",5);
@ -3306,7 +3189,6 @@ public class GenericFunctions {
}
public static void DealExplosionDamageToEntities(Location l, double basedmg, double range, Entity damager) {
List<Entity> nearbyentities = new ArrayList<Entity>();
//nearbyentities.addAll();
final double rangeSquared=range*range;
for (Entity ent: l.getWorld().getNearbyEntities(l, range, range, range)) {
@ -3415,7 +3297,6 @@ public class GenericFunctions {
List<Player> players = getNearbyPlayers(l,range);
//We cleared the non-living entities, deal damage to the rest.
for (int i=0;i<players.size();i++) {
double dodgechance = 0.0;
if (players.get(i) instanceof Player) {
Player p = (Player)players.get(i);
//TwosideKeeperAPI.DealDamageToEntity(NewCombat.CalculateDamageReduction(((fullcalculation)?NewCombat.CalculateWeaponDamage(damager, p):1.0)*basedmg,p,null), (Player)players.get(i), damager);
@ -3436,7 +3317,6 @@ public class GenericFunctions {
//We cleared the non-living entities, deal damage to the rest.
double origdmg = basedmg;
for (Entity e : ents) {
double dodgechance = 0.0;
if (e instanceof Monster) {
Monster m = (Monster)e;
if (enoughTicksHavePassed(m,(Player)damager)) {
@ -3759,11 +3639,12 @@ public class GenericFunctions {
int currentlv = getPotionEffectLevel(type,p);
PotionEffect neweffect = new PotionEffect(type,tick_duration,(currentlv+incr_amt<maxlv)?(currentlv+incr_amt):maxlv);
if (tick_duration+BUFFER >= duration) {
p.removePotionEffect(type);
p.addPotionEffect(neweffect, true);
}
} else {
PotionEffect neweffect = new PotionEffect(type,tick_duration,0);
p.addPotionEffect(neweffect, true);
p.addPotionEffect(neweffect);
}
}
}

View File

@ -6,10 +6,7 @@ import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.UUID;
import org.bukkit.Bukkit;

View File

@ -1,17 +1,6 @@
package sig.plugin.TwosideKeeper.HelperStructures;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import net.md_5.bungee.api.ChatColor;
public class CustomItem {
ItemStack item;

View File

@ -8,7 +8,6 @@ import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.PrepareItemCraftEvent;
import org.bukkit.inventory.CraftingInventory;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.Recipe;

View File

@ -4,7 +4,6 @@ import org.bukkit.Bukkit;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryView;
import org.bukkit.inventory.ItemStack;
import com.google.common.collect.Iterables;

View File

@ -2,7 +2,6 @@ package sig.plugin.TwosideKeeper.HelperStructures;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import org.bukkit.ChatColor;
@ -12,14 +11,13 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import sig.plugin.TwosideKeeper.TwosideKeeper;
import sig.plugin.TwosideKeeper.WorldShopManager;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
public enum ItemSet {
PANROS(1,1, 3,2, 10,10, 20,10),
SONGSTEEL(4,2, 6,2, 8,4, 20,10),
DAWNTRACKER(4,4, 20,10, 20,10, 6,4),
LORASYS(0,0, 0,0, 0,0, 0,0),
LORASYS(2,2, 0,0, 0,0, 0,0),
JAMDAK(1,1, 5,1, 10,1, 10,2), //Graceful Dodge is in ticks.
DARNYS(1,1, 10,5, 20,5, 1,1),
ALIKAHN(1,1, 15,6, 30,10, 12,6),
@ -237,7 +235,7 @@ public enum ItemSet {
case LORASYS:{
lore.add(ChatColor.LIGHT_PURPLE+"Slayer Gear");
lore.add(ChatColor.GOLD+""+ChatColor.BOLD+"T"+tier+" Lorasys Set");
lore.add(ChatColor.YELLOW+"???");
lore.add(ChatColor.YELLOW+"+"+ItemSet.GetBaseAmount(set, tier, 1)+" Damage");
}break;
case JAMDAK:{
lore.add(ChatColor.LIGHT_PURPLE+"Ranger Gear");
@ -259,7 +257,17 @@ public enum ItemSet {
lore.add(ChatColor.GOLD+""+ChatColor.BOLD+"T"+tier+" Lorasaadi Set");
lore.add(ChatColor.YELLOW+"+"+ItemSet.GetBaseAmount(set, tier, 1)+"% Dodge Chance");
}break;
}
case GLADOMAIN:{
lore.add(ChatColor.LIGHT_PURPLE+"Slayer Bangle");
lore.add(ChatColor.GOLD+""+ChatColor.BOLD+"T"+tier+" Gladomain Set");
lore.add(ChatColor.YELLOW+"+"+ItemSet.GetBaseAmount(set, tier, 1)+" HP");
}break;
case MOONSHADOW:{
lore.add(ChatColor.LIGHT_PURPLE+"Slayer Amulet");
lore.add(ChatColor.GOLD+""+ChatColor.BOLD+"T"+tier+" Moonshadow Set");
lore.add(ChatColor.YELLOW+"+"+ItemSet.GetBaseAmount(set, tier, 1)+"% Debuff Resistance");
}break;
}
lore.add("");
@ -294,18 +302,10 @@ public enum ItemSet {
lore.add(ChatColor.GRAY+" 10 -> 20 seconds, making it stackable.");
}break;
case LORASYS:{
lore.add(ChatColor.GOLD+""+ChatColor.ITALIC+"Set Bonus:");
lore.add(ChatColor.DARK_AQUA+" 2 - "+ChatColor.WHITE+" +"+ItemSet.GetBaseAmount(set, tier, 2)+"% Damage Reduction");
lore.add(ChatColor.DARK_AQUA+" 3 - "+ChatColor.WHITE+" +"+ItemSet.GetBaseAmount(set, tier, 3)+" Damage");
lore.add(ChatColor.DARK_AQUA+" 4 - "+ChatColor.WHITE+" +"+ItemSet.GetBaseAmount(set, tier, 4)+" Max Health");
lore.add(ChatColor.DARK_AQUA+" 5 - "+ChatColor.WHITE+" Boosts All Modes of Ranger");
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"Close Range Mode:");
lore.add(ChatColor.GRAY+" Increases Tumble Invincibility from");
lore.add(ChatColor.GRAY+" 1 -> 3 seconds");
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"Sniper Mode:");
lore.add(ChatColor.GRAY+" Increases Critical Damage by +100%");
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"Debilitation Mode:");
lore.add(ChatColor.GRAY+" Increases Armor Penetration by +50%.");
lore.add(ChatColor.GOLD+""+ChatColor.ITALIC+"Bonus Effects");
lore.add(ChatColor.WHITE+" Stealth does not cause durability to decrease.");
lore.add(ChatColor.WHITE+" Hitting enemies with Thorns does not damage you.");
lore.add(ChatColor.WHITE+" Each kill restores 2 Hearts (4 HP) instead of 1.");
}break;
case JAMDAK: {
lore.add(ChatColor.GOLD+""+ChatColor.ITALIC+"Set Bonus:");
@ -370,6 +370,37 @@ public enum ItemSet {
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"Debilitation Mode:");
lore.add(ChatColor.GRAY+" Increases Armor Penetration by +50%.");
}break;
case GLADOMAIN:{
lore.add(ChatColor.GOLD+""+ChatColor.ITALIC+"Set Bonus:");
lore.add(ChatColor.DARK_AQUA+" 2 - "+ChatColor.WHITE+" +"+ItemSet.GetBaseAmount(set, tier, 2)+"% Cooldown Reduction");
lore.add(ChatColor.DARK_AQUA+" 3 - "+ChatColor.WHITE+" +"+ItemSet.GetBaseAmount(set, tier, 3)+"% Dodge Chance");
lore.add(ChatColor.DARK_AQUA+" 5 - "+ChatColor.WHITE+" Life Saver "+WorldShop.toRomanNumeral(ItemSet.GetBaseAmount(set, tier, 4))+"");
lore.add(ChatColor.GRAY+" When about to be killed, puts you into");
lore.add(ChatColor.GRAY+" stealth for "+(ItemSet.GetBaseAmount(set, tier, 4)*2)+" seconds, gain Speed IV,");
lore.add(ChatColor.GRAY+" invulnerability, and de-aggros all current");
lore.add(ChatColor.GRAY+" targets.");
lore.add(ChatColor.WHITE+" 3 Minute Cooldown");
lore.add(ChatColor.DARK_AQUA+" 7 - "+ChatColor.WHITE+" Provides the Following Bonuses:");
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"A successful Assassination grants 100%");
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"Critical Strike Chance and 100% Dodge");
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"chance for the next hit. Dodge Chance");
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"increases by +5% per 1m/sec of movement");
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"speed.");
}break;
case MOONSHADOW:{
lore.add(ChatColor.GOLD+""+ChatColor.ITALIC+"Set Bonus:");
lore.add(ChatColor.DARK_AQUA+" 2 - "+ChatColor.WHITE+" Applies Poison "+WorldShop.toRomanNumeral(ItemSet.GetBaseAmount(set, tier, 2))+ChatColor.GRAY+" (0:15)");
lore.add(ChatColor.DARK_AQUA+" 3 - "+ChatColor.WHITE+" +"+ItemSet.GetBaseAmount(set, tier, 3)+"% Damage");
lore.add(ChatColor.DARK_AQUA+" 4 - "+ChatColor.WHITE+" +"+ItemSet.GetBaseAmount(set, tier, 4)+"% Critical Chance");
lore.add(ChatColor.DARK_AQUA+" 7 - "+ChatColor.WHITE+" Provides the Following Bonuses:");
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"Strength Cap Increases to 40.");
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"Successful Assassinations apply damage");
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"in an AoE Range.");
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"Slayers can drop aggro by sneaking");
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"for Three seconds.");
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"While in Stealth Mode you gain 40%");
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"Dodge Chance");
}break;
}
return lore;
}

View File

@ -8,19 +8,14 @@ import org.bukkit.Color;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Monster;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.LeatherArmorMeta;
import aPlugin.Drop;
import aPlugin.DropItem;
import aPlugin.DropMaterial;
import sig.plugin.TwosideKeeper.Artifact;
import sig.plugin.TwosideKeeper.CustomDamage;
import sig.plugin.TwosideKeeper.MonsterController;
import sig.plugin.TwosideKeeper.TwosideKeeper;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
@ -108,7 +103,7 @@ public class Loot {
aPlugin.API.Chests.LOOT_HELLFIRE.addDrop(new DropMaterial(Material.GOLD_BOOTS,78));
aPlugin.API.Chests.LOOT_HELLFIRE.addDrop(new DropMaterial(Material.GOLD_HELMET,78));
aPlugin.API.Chests.LOOT_HELLFIRE.addDrop(new DropItem(Artifact.createArtifactItem(ArtifactItem.DIVINE_CORE),4));
aPlugin.API.Chests.LOOT_HELLFIRE.addDrop(new DropItem(TwosideKeeper.HUNTERS_COMPASS.getItemStack(),10));
aPlugin.API.Chests.LOOT_HELLFIRE.addDrop(new DropItem(TwosideKeeper.HUNTERS_COMPASS.getItemStack(),4));
aPlugin.API.Chests.LOOT_HELLFIRE.printDrops();
//aPlugin.API.Chests..addDrop(new DropItem(TwosideKeeper.HUNTERS_COMPASS.getItemStack(),10));
@ -478,9 +473,6 @@ public class Loot {
set_name = prefix+"Dawntracker Barbarian "+GenericFunctions.UserFriendlyMaterialName(item.getType());
}break;
case LORASYS:{
if (item.getType().toString().contains("SWORD")) {
//Convert Slayer weapon here. ???
}
tierbonus = (custom)?tierbonus:modifyTierBonus(item,tierbonus);
set_name = prefix+"Lorasys Slayer "+GenericFunctions.UserFriendlyMaterialName(item.getType());
}break;
@ -524,6 +516,16 @@ public class Loot {
tierbonus=(custom)?tierbonus:0;
}
}break;
case GLADOMAIN:{
item.setType(Material.SKULL_ITEM);
item.setDurability((short)2);
set_name = prefix+"Gladomain Slayer Trinket";
}break;
case MOONSHADOW:{
item.setType(Material.SKULL_ITEM);
item.setDurability((short)0);
set_name = prefix+"Moonshadow Slayer Trinket";
}break;
}
if (item.getItemMeta().hasLore()) {
lore = item.getItemMeta().getLore();
@ -577,10 +579,6 @@ public class Loot {
return 5;
}
}
private static int GetEnchantmentLevels(Material type) {
return GetEnchantmentLevels(type, false);
}
private static int GetEnchantmentLevels(Material type, boolean hardened) {
int enchantment_level = 0;

View File

@ -1,20 +1,14 @@
package sig.plugin.TwosideKeeper.HelperStructures;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Monster;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import aPlugin.API.Chests;
import net.md_5.bungee.api.ChatColor;
@ -219,10 +213,10 @@ public enum MonsterDifficulty {
this.loot_legendary=loot_legendary;
}
private ItemStack Artifact() {
/*private ItemStack Artifact() {
sig.plugin.TwosideKeeper.Artifact.createArtifactItem(ArtifactItem.ARTIFACT_ESSENCE,3);
return null;
}
}*/
public List<ItemStack> RandomizeDrops(double dropmult, boolean isBoss, boolean isRanger, Entity damager, Monster m) {
return RandomizeDrops(dropmult,isBoss,false,isRanger,damager,m);
@ -301,7 +295,6 @@ public enum MonsterDifficulty {
goodie = Loot.GenerateSetPiece(goodie.getType(), set, (Math.random()<0.1)?true:false, 0, false);
} else {
//Convert it to a mega piece.
PlayerMode pm = PlayerMode.getPlayerMode(p);
goodie = Loot.GenerateMegaPiece(goodie.getType(), (Math.random()<0.1)?true:false);
}
}

View File

@ -1,7 +1,5 @@
package sig.plugin.TwosideKeeper.HelperStructures;
import org.bukkit.entity.EntityType;
public enum MonsterType {
BLAZE,
CAVESPIDER,

View File

@ -9,13 +9,65 @@ import sig.plugin.TwosideKeeper.TwosideKeeper;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
public enum PlayerMode {
STRIKER(ChatColor.RED,"S","Striker"),
RANGER(ChatColor.GREEN,"R","Ranger"),
DEFENDER(ChatColor.GRAY,"D","Defender"),
BARBARIAN(ChatColor.GOLD,"B","Barbarian"),
SLAYER(ChatColor.DARK_BLUE,"SL","Slayer"),
SUMMONER(ChatColor.DARK_PURPLE,"SM","Summoner"),
NORMAL(ChatColor.WHITE,"","");
STRIKER(ChatColor.RED,"S","Striker",
ChatColor.RED+""+ChatColor.BOLD+"Striker mode Perks: "+ChatColor.RESET+"\n"
+ ChatColor.WHITE+"->Players are identified as 'Strikers' when they only carry a sword in their main hand. No off-hand items.\n"
+ ChatColor.GRAY+"->10% passive damage increase.\n"
+ ChatColor.WHITE+"->20% chance to critically strike.\n"
+ ChatColor.WHITE+"->Getting hit increases Speed by 1 Level. Stacks up to Speed V (Lasts five seconds.)\n"
+ ChatColor.GRAY+"->Swinging your weapon stops nearby flying arrows. Each arrow deflected will give you a Strength buff. Stacks up to Strength V (Lasts five seconds.)\n"
+ 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"
+ 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"
+ ChatColor.GRAY+"->You can dodge 50% of all incoming attacks from any damage sources.\n"
+ ChatColor.WHITE+"You have immunity to all Thorns damage.\n"
+ ChatColor.GRAY+"Shift-Right Click to change Bow Modes.\n"
+ ChatColor.WHITE+"- "+ChatColor.BOLD+"Close Range Mode (Default):"+ChatColor.RESET+ChatColor.WHITE+" \n"
+ ChatColor.GRAY+" You gain the ability to deal headshots from any distance, even directly onto an enemy's face. Each kill made in this mode gives you 100% dodge chance for the next hit taken. You can tumble and gain invulnerability for 1 second by dropping your bow. Sneak while dropping it to tumble backwards.\n"
+ ChatColor.WHITE+"- "+ChatColor.BOLD+"Sniping Mode:"+ChatColor.RESET+ChatColor.WHITE+" \n"
+ ChatColor.GRAY+" Headshot collision area increases by x3. Headshots will deal an extra x0.25 damage for each headshot landed, up to a cap of 8 stacks. Each stack also increases your Slowness level by 1. You lose 10% dodge chance per Slowness stack, but gain one Resistance level and 10% critical chance per Slowness stack.\n"
+ ChatColor.WHITE+" Arrows are lightning-fast in Sniping Mode.\n"
+ ChatColor.GRAY+"- "+ChatColor.BOLD+"Debilitation Mode:"+ChatColor.RESET+ChatColor.WHITE+" \n"
+ ChatColor.WHITE+" Adds a stack of Poison when hitting non-poisoned targets (20 second duration). Hitting mobs in this mode refreshes the duration of the poison stacks. Headshots made in this mode will increase the level of Poison on the mob, making the mob more and more vulnerable.\n"
+ ChatColor.GRAY+" Headshots also remove one level of a buff (does not affect debuffs) applied to the mob at random.\n"),
DEFENDER(ChatColor.GRAY,"D","Defender",
ChatColor.GRAY+""+ChatColor.BOLD+"Defender mode Perks: "+ChatColor.RESET+"\n"
+ ChatColor.WHITE+"->Players are identified as 'Defenders' when they use a shield in their main hand.\n"
+ ChatColor.GRAY+"->Base Damage reduction from shields increases from 5%->10%\n"
+ ChatColor.WHITE+"->Blocking damage reduction increases from 50->70%\n"
+ ChatColor.GRAY+"->When not blocking, you have Regeneration I. Blocking applies Regeneration II.\n"
+ ChatColor.WHITE+"->Blocking gives 8 health (4 hearts) of Absorption damage.\n"
+ ChatColor.GRAY+"->When hit while blocking, you build up Resistance, one level per hit, up to Resistance V (lasts 2 seconds)\n"
+ ChatColor.WHITE+"->While blocking, you absorb 50% of all damage taken by party members.\n"
+ ChatColor.GRAY+"->Blocking will aggro all nearby mobs to the blocking defender. They will glow indicate the aggro shift.\n"
+ ChatColor.WHITE+"->Base Health increased by 10 (5 hearts)\n"
+ ChatColor.GRAY+"->Getting hit as a defender increases saturation.\n"
+ ChatColor.WHITE+"->Hitting mobs as a Defender aggros them to you.\n"
+ ChatColor.GRAY+"->Knockback from attacks reduced by 75% while blocking.\n"
+ ChatColor.WHITE+"- "+ChatColor.BOLD+"Rejuvenation"+ChatColor.RESET+ChatColor.WHITE+"\n"
+ ChatColor.GRAY+"->Dropping your shield will give you Regeneration X for 10 seconds and 2 seconds of invulnerability. It also costs 400 shield durability!\n"),
BARBARIAN(ChatColor.GOLD,"B","Barbarian",
ChatColor.GOLD+""+ChatColor.BOLD+"Barbarian mode Perks: "+ChatColor.RESET+"\n"),
SLAYER(ChatColor.DARK_BLUE,"SL","Slayer",
ChatColor.DARK_BLUE+""+ChatColor.BOLD+"Slayer mode Perks: "+ChatColor.RESET+"\n"
+ ChatColor.WHITE+"->Players are identified as 'Slayers' by wearing no armor, and wearing a Bauble in your hotbar.\n"
+ ChatColor.GRAY+"->Slayers can make use of up to 9 Baubles by placing them on their hotbar (Ideally you would want to use one slot for a weapon). Each Bauble adds a certain amount of stats to the Slayer, making them more efficient.\n"
+ ChatColor.WHITE+"->Slayers lose 2 HP from every hit regardless of damage taken, making this mode essentially have 5 lives.\n"
+ ChatColor.GRAY+"->Slayers are not affected by any Health Recovery and Health Regeneration effects. This mode only heals from kills or by using the Amulet's set effect. However, Absorption will still work for a Slayer. Absorption hearts just get removed with normal damage calculation rules.\n"
+ ChatColor.WHITE+"->Slayers can enter Stealth mode by pressing Sneak. Once in Stealth mode, Slayers will not leave stealth until they hit a monster or Sneak again. Stealth mode drains either 1% Durability or 1 Durability, whichever is larger, from a tool on your hotbar.\n"
+ ChatColor.GRAY+"->Slayers can Backstab targets by getting behind them and hitting them. A backstab does triple the normal damage of an attack.\n"
+ ChatColor.WHITE+"->Whenever a Slayer critically strikes, it suppresses a target for 0.25 seconds. Suppression prevents movement, attacking, teleporting, and exploding. Suppressed targets glow Black.\n"
+ ChatColor.GRAY+"->Slayers thrive in 1vs1 situations. If a target is completely alone, they will glow white to the Slayer. Isolated targets take 50% more damage from the Slayer. Slayer's Dodge Chance increases by 40% against isolated targets.\n"
+ ChatColor.WHITE+"->Slayers can use the Assassination ability. Press the Drop key while looking at an enemy to perform an assassination: You jump directly behind the enemy, gaining 0.5 seconds of invulnerability. If the next hit after Assassination is performed kills the target, you gain 1 Heart (2 Health) back along with a speed and strength buff. These buffs cap at Speed V and Strength X respectively. Assassination cooldown is reset whenever a target is instantly killed in this manner, and you get immediately put back into stealth, preventing further detection from other monsters.\n"),
SUMMONER(ChatColor.DARK_PURPLE,"SM","Summoner",
ChatColor.DARK_PURPLE+""+ChatColor.BOLD+"Summoner mode Perks: "+ChatColor.RESET+"\n"),
NORMAL(ChatColor.WHITE,"","",
"This mode has no perks!");
;
final public static int UPDATE_GRACE_PERIOD=9; //How often to update the mode of the player.
@ -116,11 +168,21 @@ public enum PlayerMode {
}
String name="";
String desription="";
PlayerMode(ChatColor col, String abbreviation, String fullname) {
public String getDesription() {
return desription;
}
public void setDesription(String desription) {
this.desription = desription;
}
PlayerMode(ChatColor col, String abbreviation, String fullname, String desc) {
this.col=col;
this.symbol=abbreviation;
this.name=fullname;
this.desription=desc;
}

View File

@ -3,13 +3,11 @@ package sig.plugin.TwosideKeeper.HelperStructures;
import java.text.DecimalFormat;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent;
import sig.plugin.TwosideKeeper.WorldShopManager;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
public class ShopPurchase {
@ -21,13 +19,15 @@ public class ShopPurchase {
boolean sell;
public ShopPurchase(String p, String customer, ItemStack item, double money, int amt) {
ShopPurchase(p,customer,item,money,amt,true); //Assume this is a selling purchase by default.
}
public ShopPurchase(String p, String customer, ItemStack item, double money, int amt, boolean sell) {
ShopPurchase(p,customer,item,money,amt,sell); //Assume this is a selling purchase by default.
this.player = p;
this.customer=customer;
this.item=item;
this.money = money;
this.amt=amt;
this.sell=true;
}
public void ShopPurchase(String p, String customer, ItemStack item, double money, int amt, boolean sell) {
public ShopPurchase(String p, String customer, ItemStack item, double money, int amt, boolean sell) {
this.player = p;
this.customer=customer;
this.item=item;

View File

@ -7,7 +7,6 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.DyeColor;
import org.bukkit.Location;
@ -15,10 +14,8 @@ import org.bukkit.Material;
import org.bukkit.block.Banner;
import org.bukkit.block.Block;
import org.bukkit.block.Chest;
import org.bukkit.block.DoubleChest;
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.entity.Entity;
import org.bukkit.entity.EntityType;
@ -35,15 +32,14 @@ import org.bukkit.inventory.meta.EnchantmentStorageMeta;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.inventory.meta.Repairable;
import org.bukkit.material.MaterialData;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionType;
import org.bukkit.util.Vector;
import com.google.common.collect.Iterables;
import sig.plugin.TwosideKeeper.Artifact;
import sig.plugin.TwosideKeeper.TwosideKeeper;
import sig.plugin.TwosideKeeper.WorldShopManager;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
public class WorldShop {
@ -152,7 +148,6 @@ public class WorldShop {
List<PotionEffect> effects = pot.getCustomEffects();
for (int i=0;i<effects.size();i++) {
DecimalFormat df = new DecimalFormat("00");
message+="\n"+ChatColor.GRAY+GenericFunctions.UserFriendlyPotionEffectTypeName(effects.get(i).getType())+" "+toRomanNumeral(effects.get(i).getAmplifier()+1)+ ((effects.get(i).getAmplifier()+1>0)?" ":"")+"("+toReadableDuration(effects.get(i).getDuration())+")";
}
@ -160,16 +155,12 @@ public class WorldShop {
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()) {
@ -229,8 +220,7 @@ public class WorldShop {
ItemMeta meta = item.getItemMeta();
if (item.getType()==Material.SHIELD) {
ItemMeta shieldmeta = item.getItemMeta();
BlockStateMeta bmeta = (BlockStateMeta) meta;
BlockStateMeta bmeta = (BlockStateMeta) meta;
Banner banner = (Banner) bmeta.getBlockState();
List<Pattern> patterns = banner.getPatterns();
DyeColor color = banner.getBaseColor();
@ -442,6 +432,9 @@ public class WorldShop {
case RECORD_12:{
message+="\n"+ChatColor.GRAY+"C418 - wait";
}break;
default:{
}
}
}
if (item.getType().getMaxDurability()>0) {
@ -658,8 +651,6 @@ public class WorldShop {
}
public static Sign grabShopSign(Block block) {
//Look for a sign in all directions.
boolean found=false;
Block signblock = null;
Block signblock2 = null;
for (int i=-1;i<2;i++) {
@ -743,7 +734,7 @@ public class WorldShop {
}
TwosideKeeper.TwosideShops.SaveWorldShopData(shop);
TwosideKeeper.log("There are "+amt+" of "+shop.GetItem().toString(),5);
TwosideKeeper.TwosideShops.UpdateSign(shop, s);
WorldShopManager.UpdateSign(shop, s);
}
}
@ -883,7 +874,6 @@ public class WorldShop {
}
public static boolean hasPermissionToBreakWorldShopSign(Sign s, Player p) {
String[] lines = s.getLines();
if (WorldShop.isWorldShopSign(s)) {
WorldShop shop = TwosideKeeper.TwosideShops.LoadWorldShopData(s);
if (shop.GetOwner().equalsIgnoreCase(p.getName()) || p.isOp()) {

View File

@ -3,10 +3,7 @@ package sig.plugin.TwosideKeeper;
import org.bukkit.Bukkit;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.event.Event.Result;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryView;
import sig.plugin.TwosideKeeper.HelperStructures.CubeType;
import sig.plugin.TwosideKeeper.HelperStructures.ItemCube;
@ -38,7 +35,6 @@ public class ItemCubeWindow {
Inventory temp = Bukkit.getServer().createInventory(p, inv_size, "Item Cube #"+itemcubeid);
pd.opened_another_cube=true;
TwosideKeeper.openItemCubeInventory(temp);
InventoryView newinv = p.openInventory(temp);
pd.opened_another_cube=false;
pd.isViewingItemCube=true;
p.playSound(p.getLocation(),Sound.BLOCK_CHEST_OPEN,1.0f,1.0f);

View File

@ -5,7 +5,6 @@ import java.util.HashMap;
import org.bukkit.entity.Player;
import com.google.common.collect.Iterables;
import net.md_5.bungee.api.ChatColor;
import sig.plugin.TwosideKeeper.PlayerStructure;

View File

@ -12,13 +12,8 @@ import org.bukkit.Material;
import org.bukkit.attribute.Attribute;
import org.bukkit.attribute.AttributeInstance;
import org.bukkit.attribute.AttributeModifier;
import org.bukkit.block.Banner;
import org.bukkit.block.banner.Pattern;
import org.bukkit.block.banner.PatternType;
import org.bukkit.craftbukkit.v1_9_R1.entity.CraftEntity;
import org.bukkit.craftbukkit.v1_9_R1.entity.CraftLivingEntity;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Enderman;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Guardian;
import org.bukkit.entity.LivingEntity;
@ -28,16 +23,11 @@ import org.bukkit.entity.Skeleton;
import org.bukkit.entity.Zombie;
import org.bukkit.entity.Skeleton.SkeletonType;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.BannerMeta;
import org.bukkit.inventory.meta.BlockStateMeta;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.material.MaterialData;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.inventivetalent.glow.GlowAPI;
import org.inventivetalent.glow.GlowAPI.Color;
import net.minecraft.server.v1_9_R1.GenericAttributes;
import sig.plugin.TwosideKeeper.HelperStructures.ItemRarity;
import sig.plugin.TwosideKeeper.HelperStructures.Loot;
import sig.plugin.TwosideKeeper.HelperStructures.MonsterDifficulty;
@ -633,11 +623,6 @@ public class MonsterController {
}
}
private static ItemStack RandomizeEnchantments(ItemStack item) {
//Have a small chance to randomize every enchant with a random value too.
return RandomizeEnchantments(item, ItemRarity.VANILLA);
}
private static ItemStack RandomizeEnchantments(ItemStack item, ItemRarity rarity) {
return Loot.addEnchantments(item, false);
}

View File

@ -1,58 +1,5 @@
package sig.plugin.TwosideKeeper;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Difficulty;
import org.bukkit.Effect;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.block.Block;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Creeper;
import org.bukkit.entity.Enderman;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.FallingBlock;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.MagmaCube;
import org.bukkit.entity.Monster;
import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
import org.bukkit.entity.Skeleton;
import org.bukkit.entity.Slime;
import org.bukkit.entity.Spider;
import org.bukkit.entity.TippedArrow;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
import org.bukkit.event.entity.EntityDamageEvent.DamageModifier;
import org.bukkit.inventory.ItemStack;
import org.bukkit.metadata.FixedMetadataValue;
import org.bukkit.metadata.MetadataValue;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.util.Vector;
import org.inventivetalent.glow.GlowAPI;
import org.inventivetalent.glow.GlowAPI.Color;
import com.google.common.collect.Iterables;
import sig.plugin.TwosideKeeper.HelperStructures.ArtifactAbility;
import sig.plugin.TwosideKeeper.HelperStructures.ArtifactAbilityApplyEffects;
import sig.plugin.TwosideKeeper.HelperStructures.BowMode;
import sig.plugin.TwosideKeeper.HelperStructures.ItemSet;
import sig.plugin.TwosideKeeper.HelperStructures.MonsterDifficulty;
import sig.plugin.TwosideKeeper.HelperStructures.MonsterType;
import sig.plugin.TwosideKeeper.HelperStructures.Common.DamageType;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
public class NewCombat {

View File

@ -70,55 +70,17 @@ public class PartyManager {
}
}
private static String ColorPartyListDisplay(List<Player> partymembers) {
//ChatColor.BLUE+""+ChatColor.BOLD+ChatColor.UNDERLINE+"Party "+ChatColor.RESET+ChatColor.GOLD+ChatColor.UNDERLINE+ChatColor.ITALIC+PartyBonusDisplay(partymembers)
String part1 = "Party";
String part2 = PartyBonusDisplay(partymembers);
int totallength = part1.length()+part2.length();
double percent = CalculateTotalPartyHealth(partymembers);
TwosideKeeper.log("total length: "+totallength+" of "+part1+part2+".",2);
int slot = (int)(percent*totallength);
TwosideKeeper.log("Selected slot is "+slot,2);
StringBuilder finalstring = new StringBuilder("");
if (slot<part1.length()) {
finalstring.append(ChatColor.BLUE+""+ChatColor.BOLD+ChatColor.UNDERLINE+part1.substring(0, slot)+ChatColor.GOLD+part1.substring(slot, part1.length()-slot));
finalstring.append(part2);
} else {
finalstring.append(part1);
slot-=part1.length();
TwosideKeeper.log("Slot adjusted to "+slot,2);
TwosideKeeper.log("part2 is of length "+part2.length(),2);
finalstring.append(ChatColor.BLUE+""+ChatColor.BOLD+ChatColor.UNDERLINE+part2.substring(0, slot));
TwosideKeeper.log("part2 is of length "+part2.length(),2);
TwosideKeeper.log("Difference is "+(part2.length()-slot), 2);
finalstring.append(ChatColor.GOLD+part2.substring(slot, part2.length()));
}
return finalstring.toString();
}
private static double CalculateTotalPartyHealth(List<Player> partymembers) {
double health = 0.0;
double maxhealth = 0.0;
for (int i=0;i<partymembers.size();i++) {
health+=partymembers.get(i).getHealth();
maxhealth+=partymembers.get(i).getMaxHealth();
}
return health/maxhealth;
}
private static String PartyBonusDisplay(List<Player> partymembers) {
int membercount = partymembers.size();
StringBuilder partydisplay = new StringBuilder("");
if (membercount>=2) {
int dmgbonus=((membercount-1)<10)?(membercount-1)*10:90;
int defbonus=((membercount-1)<10)?(membercount-1)*10:90;
partydisplay.append(" +"+dmgbonus+"%DMG/DEF");
}
return partydisplay.toString();
}
public static void sortPlayers(int party, List<Player> partyplayers, HashMap<Integer,List<Player>> lastorder) {
String color = ConvertColor(party);
//Sorts the players on the scoreboard by proper health values.
List<Player> sortedorder = new ArrayList<Player>();
int lasti=-1; //The last player that had less health than you did.
@ -262,7 +224,6 @@ public class PartyManager {
}
public static List<Player> getPartyMembers(Player p) {
List<Player> partymembers = new ArrayList<Player>();
int partynumb = GetCurrentParty(p);
return parties.get(partynumb);
}

View File

@ -14,12 +14,9 @@ import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.inventory.InventoryView;
import org.bukkit.inventory.ItemStack;
import org.bukkit.util.Vector;
import sig.plugin.TwosideKeeper.HelperStructures.DeathStructure;
import sig.plugin.TwosideKeeper.HelperStructures.PlayerMode;
@ -125,6 +122,7 @@ public class PlayerStructure {
public boolean opened_another_cube=false;
//Needs the instance of the player object to get all other info. Only to be called at the beginning.
@SuppressWarnings("deprecation")
public PlayerStructure(Player p, long serverTickTime) {
if (p!=null) {
this.velocity = 0d;

View File

@ -5,7 +5,6 @@ import java.util.List;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.DyeColor;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemFlag;
@ -14,17 +13,15 @@ import org.bukkit.inventory.ShapedRecipe;
import org.bukkit.inventory.ShapelessRecipe;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.material.Dye;
import org.bukkit.potion.PotionData;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.potion.PotionType;
import sig.plugin.TwosideKeeper.HelperStructures.ArtifactItem;
import sig.plugin.TwosideKeeper.HelperStructures.ArtifactItemType;
import sig.plugin.TwosideKeeper.HelperStructures.CustomRecipe;
public class Recipes {
@SuppressWarnings("deprecation")
public static void Initialize_ItemCube_Recipes() {
ItemStack item_ItemCube = new ItemStack(Material.CHEST);
@ -431,6 +428,7 @@ public class Recipes {
decons_recipe.addIngredient(Material.DIAMOND_SPADE);
Bukkit.addRecipe(decons_recipe);
}
@SuppressWarnings("deprecation")
public static void Initialize_WoolRecolor_Recipes() {
for (int i=0;i<16;i++) {
ShapedRecipe wool_recolor_recipe = new ShapedRecipe(new ItemStack(Material.WOOL,8,(byte)(15-i)));
@ -440,6 +438,7 @@ public class Recipes {
Bukkit.addRecipe(wool_recolor_recipe);
}
}
@SuppressWarnings("deprecation")
public static void Initialize_SlabReconstruction_Recipes() {
for (int i=0;i<=5;i++) {
ShapelessRecipe plank_construction_recipe = new ShapelessRecipe(new ItemStack(Material.WOOD,1,(byte)i));
@ -489,6 +488,7 @@ public class Recipes {
stone_construction_recipe.addIngredient(1, Material.SLIME_BALL);
Bukkit.addRecipe(stone_construction_recipe);
}
@SuppressWarnings("deprecation")
public static void Initialize_Artifact_Recipes() {
//Essence Recipes.
//T0
@ -614,6 +614,7 @@ public class Recipes {
huntercompass_recipe.addIngredient(Material.DIAMOND_BLOCK);
Bukkit.addRecipe(huntercompass_recipe);
}
@SuppressWarnings("deprecation")
public static void Initialize_CustomArrow_Recipes() {
ItemStack handmadearrow = getArrowFromMeta("DOUBLE_DAMAGE_ARR");
@ -661,7 +662,6 @@ public class Recipes {
ItemStack explosionarrow = new ItemStack(Material.TIPPED_ARROW);
PotionMeta pm = (PotionMeta)explosionarrow.getItemMeta();
pm.addItemFlags(ItemFlag.HIDE_POTION_EFFECTS);
PotionData data = new PotionData(PotionType.INVISIBILITY);
//pm.setBasePotionData(data);
pm.addCustomEffect(new PotionEffect(PotionEffectType.INVISIBILITY,0,0),true);
List<String> lore = new ArrayList<String>();
@ -675,7 +675,6 @@ public class Recipes {
ItemStack trappingarrow = new ItemStack(Material.TIPPED_ARROW);
PotionMeta pm = (PotionMeta)trappingarrow.getItemMeta();
pm.addItemFlags(ItemFlag.HIDE_POTION_EFFECTS);
PotionData data = new PotionData(PotionType.WEAKNESS);
//pm.setBasePotionData(data);
pm.addCustomEffect(new PotionEffect(PotionEffectType.WEAKNESS,0,0),true);
List<String> lore = new ArrayList<String>();
@ -689,7 +688,6 @@ public class Recipes {
ItemStack poisonarrow = new ItemStack(Material.TIPPED_ARROW);
PotionMeta pm = (PotionMeta)poisonarrow.getItemMeta();
pm.addItemFlags(ItemFlag.HIDE_POTION_EFFECTS);
PotionData data = new PotionData(PotionType.POISON);
//pm.setBasePotionData(data);
pm.addCustomEffect(new PotionEffect(PotionEffectType.POISON,0,0),true);
List<String> lore = new ArrayList<String>();
@ -703,7 +701,6 @@ public class Recipes {
ItemStack diamondtippedarrow = new ItemStack(Material.TIPPED_ARROW);
PotionMeta pm = (PotionMeta)diamondtippedarrow.getItemMeta();
pm.addItemFlags(ItemFlag.HIDE_POTION_EFFECTS);
PotionData data = new PotionData(PotionType.SPEED);
//pm.setBasePotionData(data);
pm.addCustomEffect(new PotionEffect(PotionEffectType.SPEED,0,0),true);
List<String> lore = new ArrayList<String>();
@ -717,7 +714,6 @@ public class Recipes {
ItemStack handmadearrow = new ItemStack(Material.TIPPED_ARROW);
PotionMeta pm = (PotionMeta)handmadearrow.getItemMeta();
pm.addItemFlags(ItemFlag.HIDE_POTION_EFFECTS);
PotionData data = new PotionData(PotionType.FIRE_RESISTANCE);
//pm.setBasePotionData(data);
pm.addCustomEffect(new PotionEffect(PotionEffectType.FIRE_RESISTANCE,0,0),true);
List<String> lore = new ArrayList<String>();

View File

@ -6,7 +6,6 @@ import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Vector;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
@ -177,11 +176,8 @@ public class RecyclingCenter {
b.getType()==Material.TRAPPED_CHEST) {
if (b.getState()!=null) {
Chest c = (Chest) b.getState();
//Choose a random inventory slot and copy the vanished item into it.
double chancer = 100.0;
for (int j=0;j<27;j++) {
if (c.getBlockInventory().getItem(j)!=null && c.getBlockInventory().getItem(j).getType()==i.getItemStack().getType()) {
chancer-=TwosideKeeper.RECYCLEDECAYAMT;
}
}
int itemslot = (int)Math.floor(Math.random()*27);

View File

@ -4,16 +4,11 @@ import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.nio.file.StandardOpenOption;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.BlockBreakEvent;
@ -22,7 +17,6 @@ import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.Plugin;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
@ -32,7 +26,6 @@ import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.Chest;
public class SpleefGame implements Listener {
@ -150,7 +143,6 @@ public class SpleefGame implements Listener {
ev.getClickedBlock().getLocation().getBlockY()==sign.getBlockY() &&
ev.getClickedBlock().getLocation().getBlockZ()==sign.getBlockZ() ) {
TwosideKeeper.log("This is a sign event.",5);
Block b = ev.getClickedBlock();
if (!active) {
//We are going to register this player to this spleef arena.
if (!IsSpleefPlayerRegistered(ev.getPlayer())) {
@ -545,7 +537,7 @@ class SpleefPlayerData {
}
}
bw.newLine();
bw.write("---"+plug.getServerTickTime());
bw.write("---"+TwosideKeeper.getServerTickTime());
bw.newLine();bw.newLine();
bw.close();
} catch (IOException e) {

View File

@ -6,7 +6,6 @@ import java.util.List;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.event.Event;
import org.bukkit.plugin.Plugin;
import sig.plugin.TwosideKeeper.HelperStructures.SpleefArena;

View File

@ -2,8 +2,6 @@ package sig.plugin.TwosideKeeper;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Collection;
@ -11,21 +9,15 @@ import java.util.HashMap;
import java.util.List;
import java.util.Random;
import java.util.UUID;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import org.apache.commons.lang.WordUtils;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Color;
import org.bukkit.Effect;
import org.bukkit.GameMode;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Particle;
import org.bukkit.Server.Spigot;
import org.bukkit.Sound;
import org.bukkit.WorldCreator;
import org.bukkit.attribute.Attribute;
import org.bukkit.block.Block;
import org.bukkit.block.Chest;
@ -36,36 +28,25 @@ import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Animals;
import org.bukkit.entity.AreaEffectCloud;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Bat;
import org.bukkit.entity.ComplexLivingEntity;
import org.bukkit.entity.Creeper;
import org.bukkit.entity.EnderDragon;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.ExperienceOrb;
import org.bukkit.entity.FallingBlock;
import org.bukkit.entity.Guardian;
import org.bukkit.entity.Horse;
import org.bukkit.entity.Horse.Variant;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Item;
import org.bukkit.entity.LightningStrike;
import org.bukkit.entity.LingeringPotion;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Monster;
import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
import org.bukkit.entity.ShulkerBullet;
import org.bukkit.entity.Skeleton;
import org.bukkit.entity.Skeleton.SkeletonType;
import org.bukkit.entity.ThrownPotion;
import org.bukkit.entity.TippedArrow;
import org.bukkit.entity.Witch;
import org.bukkit.entity.EnderDragon.Phase;
import org.bukkit.entity.Enderman;
import org.bukkit.event.Event.Result;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
@ -73,14 +54,11 @@ import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.block.BlockRedstoneEvent;
import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.entity.AreaEffectCloudApplyEvent;
import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
import org.bukkit.event.entity.EntityChangeBlockEvent;
import org.bukkit.event.entity.EntityCombustByBlockEvent;
import org.bukkit.event.entity.EntityCombustEvent;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
@ -104,7 +82,6 @@ import org.bukkit.event.entity.ProjectileLaunchEvent;
import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.event.inventory.CraftItemEvent;
import org.bukkit.event.inventory.InventoryAction;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.inventory.InventoryDragEvent;
@ -117,18 +94,14 @@ import org.bukkit.event.inventory.PrepareAnvilEvent;
import org.bukkit.event.inventory.PrepareItemCraftEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.player.PlayerAchievementAwardedEvent;
import org.bukkit.event.player.PlayerChatEvent;
import org.bukkit.event.player.PlayerChatTabCompleteEvent;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.bukkit.event.player.PlayerDropItemEvent;
import org.bukkit.event.player.PlayerEggThrowEvent;
import org.bukkit.event.player.PlayerExpChangeEvent;
import org.bukkit.event.player.PlayerFishEvent;
import org.bukkit.event.player.PlayerFishEvent.State;
import org.bukkit.event.player.PlayerInteractEntityEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerItemBreakEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent;
import org.bukkit.event.player.PlayerItemHeldEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerKickEvent;
@ -138,56 +111,37 @@ import org.bukkit.event.player.PlayerPickupItemEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.event.player.PlayerToggleSprintEvent;
import org.bukkit.event.server.ServerCommandEvent;
import org.bukkit.event.server.ServerListPingEvent;
import org.bukkit.event.vehicle.VehicleCreateEvent;
import org.bukkit.event.vehicle.VehicleDestroyEvent;
import org.bukkit.event.vehicle.VehicleExitEvent;
import org.bukkit.event.weather.LightningStrikeEvent;
import org.bukkit.event.world.ChunkLoadEvent;
import org.bukkit.event.world.ChunkPopulateEvent;
import org.bukkit.event.world.WorldSaveEvent;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryView;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.Recipe;
import org.bukkit.inventory.ShapedRecipe;
import org.bukkit.inventory.meta.EnchantmentStorageMeta;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.material.MaterialData;
import org.bukkit.metadata.FixedMetadataValue;
import org.bukkit.metadata.MetadataValue;
import org.bukkit.metadata.Metadatable;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionData;
import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType;
import org.bukkit.potion.PotionType;
import org.bukkit.projectiles.ProjectileSource;
import org.bukkit.util.Vector;
import org.inventivetalent.glow.GlowAPI;
import com.google.common.collect.Iterables;
import com.google.common.collect.Iterators;
import aPlugin.DiscordMessageSender;
import aPlugin.API.Chests;
import events.PluginLoadEvent;
import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent;
import net.minecraft.server.v1_9_R1.AttributeInstance;
import net.minecraft.server.v1_9_R1.EntityInsentient;
import net.minecraft.server.v1_9_R1.EntityLiving;
import net.minecraft.server.v1_9_R1.GenericAttributes;
import net.minecraft.server.v1_9_R1.MinecraftServer;
import net.minecraft.server.v1_9_R1.Vector3f;
import sig.plugin.TwosideKeeper.HelperStructures.AnvilItem;
import sig.plugin.TwosideKeeper.HelperStructures.ArtifactAbility;
import sig.plugin.TwosideKeeper.HelperStructures.ArtifactItem;
@ -214,10 +168,8 @@ import sig.plugin.TwosideKeeper.HelperStructures.WorldShopSession;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
import sig.plugin.TwosideKeeper.HelperStructures.Common.Habitation;
import sig.plugin.TwosideKeeper.Logging.BowModeLogger;
import sig.plugin.TwosideKeeper.Logging.DamageLogger;
import sig.plugin.TwosideKeeper.Logging.LootLogger;
import sig.plugin.TwosideKeeper.Logging.MysteriousEssenceLogger;
import net.minecraft.server.v1_9_R1.MinecraftServer;
public class TwosideKeeper extends JavaPlugin implements Listener {
@ -386,7 +338,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
public static RecyclingCenter TwosideRecyclingCenter;
//Bank timers and users.
public static HashMap banksessions;
public static HashMap<UUID,BankSession> banksessions;
public static Habitation habitat_data;
public static Plugin plugin;
@ -495,7 +447,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
//Initialize Player Data structure.
playerdata = new HashMap<UUID,PlayerStructure>();
banksessions = new HashMap();
banksessions = new HashMap<UUID,BankSession>();
monsterdata = new HashMap<UUID,MonsterStructure>();
validsetitems.add(Material.LEATHER_BOOTS);
@ -534,7 +486,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
playerdata.put(((Player)Bukkit.getOnlinePlayers().toArray()[i]).getUniqueId(), new PlayerStructure((Player)Bukkit.getOnlinePlayers().toArray()[i],getServerTickTime()));
//playerdata.add(new PlayerStructure((Player)Bukkit.getOnlinePlayers().toArray()[i],getServerTickTime()));
}
Player p;
//Announce the server has restarted soon after.
@ -545,7 +496,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){
public void run(){
for (Player p : Bukkit.getOnlinePlayers()) {
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
PlayerMode.getPlayerMode(p);
}
}
@ -556,7 +506,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
//Control charge zombies..
for (int i=0;i<chargezombies.size();i++) {
ChargeZombie cz = chargezombies.get(i);
if (!cz.isAlive() || !cz.hasTarget() || cz.GetZombie().getLocation().getY()>32) {
if (cz.m==null || !cz.m.isValid() || !cz.isAlive() || !cz.hasTarget() || cz.GetZombie().getLocation().getY()>32) {
//This has to be removed...
chargezombies.remove(i);
i--;
@ -637,6 +587,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
},0l,600l);
//This is the constant timing method.
getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){
@SuppressWarnings("deprecation")
public void run(){
log("Server time passed: "+(Bukkit.getWorld("world").getFullTime()-STARTTIME)+". New Server Time: "+(Bukkit.getWorld("world").getFullTime()-STARTTIME+SERVERTICK),5);
//Bukkit.getWorld("world").setFullTime(Bukkit.getWorld("world").getFullTime()-10); //LEGACY CODE.
@ -670,7 +621,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
}
if (Bukkit.getWorld("world").getTime()>=12000) {
Collection<Player> players = (Collection<Player>) getServer().getOnlinePlayers();
Collection<? extends Player> players = getServer().getOnlinePlayers();
//Count the number of players sleeping. Compare to "sleepingplayers" count.
log("[DEBUG] Time: "+Bukkit.getWorld("world").getTime()+" Full Time: "+Bukkit.getWorld("world").getFullTime() + " SERVERTICKTIME: "+getServerTickTime(),4);
//This functionality only makes sense when two or more players are on.
@ -758,12 +709,10 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
}
removechance+=ItemSet.TotalBaseAmountBasedOnSetBonusCount(p, ItemSet.DAWNTRACKER, 2, 2);
log("Remove chance is "+removechance,5);
int longestdur=0;
int level=0;
PotionEffectType type=null;
for (int i1=0;i1<p.getActivePotionEffects().size();i1++) {
if (GenericFunctions.isBadEffect(Iterables.get(p.getActivePotionEffects(), i1).getType()) && Math.random()<=0.5) {
longestdur=Iterables.get(p.getActivePotionEffects(), i1).getDuration();
type=Iterables.get(p.getActivePotionEffects(), i1).getType();
level=Iterables.get(p.getActivePotionEffects(), i1).getAmplifier();
}
@ -1065,6 +1014,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
case DIAMOND_BOOTS:{
lostamt-=3;
}break;
default:{
}
}
}
}
@ -1175,8 +1127,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
ItemStack upgrade = UPGRADE_SHARD.getItemStack();
GenericFunctions.setUpgradeShardTier(upgrade,3);
p.getWorld().dropItemNaturally(p.getLocation(), upgrade);*/
log("In here",2);
ArtifactAbility.removeAllEnchantments(p.getEquipment().getItemInMainHand());
//log("In here",2);
GenericFunctions.addStackingPotionEffect(p, PotionEffectType.ABSORPTION, 40, 100);
//ArtifactAbility.removeAllEnchantments(p.getEquipment().getItemInMainHand());
//p.sendMessage("This is tier "+GenericFunctions.getUpgradeShardTier(p.getEquipment().getItemInMainHand()));
//ItemSet.SetTier(p.getEquipment().getItemInMainHand(), 7);
//p.getWorld().dropItemNaturally(p.getLocation(), STRENGTHENING_VIAL.getItemStack(50));
@ -1221,7 +1174,8 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (p.getEquipment().getItemInMainHand()!=null) {
//sender.sendMessage(args[0]);
if (args.length==2) {
p.getEquipment().getItemInMainHand().addUnsafeEnchantment(Enchantment.getById(Integer.parseInt(args[0])), Integer.parseInt(args[1]));
//p.getEquipment().getItemInMainHand().addUnsafeEnchantment(Enchantment.getById(Integer.parseInt(args[0])), Integer.parseInt(args[1]));
p.getEquipment().getItemInMainHand().addUnsafeEnchantment(Enchantment.getByName(args[0]), Integer.parseInt(args[1]));
sender.sendMessage("Enchantment applied!");
return true;
} else {
@ -1679,6 +1633,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
ev.setMessage("");
ev.setCancelled(true);
}break;
default:{
}
}
banksessions.remove(ev.getPlayer().getUniqueId());
} else
@ -1790,7 +1747,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
shop.UpdateAmount(shop.GetAmount()+amt);
RemoveItemAmount(ev.getPlayer(), shop.GetItem(), amt);
TwosideShops.SaveWorldShopData(shop);
TwosideShops.UpdateSign(shop, TwosideShops.GetShopID(current_session.GetSign()), current_session.GetSign(),false);
WorldShopManager.UpdateSign(shop, TwosideShops.GetShopID(current_session.GetSign()), current_session.GetSign(),false);
ev.getPlayer().sendMessage("Added "+ChatColor.AQUA+amt+ChatColor.WHITE+" more "+ChatColor.GREEN+shop.GetItemName()+ChatColor.WHITE+" to your shop!");
ev.getPlayer().sendMessage("Input how much each "+ChatColor.GREEN+shop.GetItemName()+ChatColor.WHITE+" will cost (Old value - "+ChatColor.YELLOW+"$"+df.format(shop.GetUnitPrice())+ChatColor.WHITE+"):");
@ -1838,7 +1795,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
log("Dropped shop item.",5);
//ev.getPlayer().getWorld().dropItemNaturally(ev.getPlayer().getLocation(), drop).setPickupDelay(0);
TwosideShops.SaveWorldShopData(shop);
TwosideShops.UpdateSign(shop, TwosideShops.GetShopID(current_session.GetSign()), current_session.GetSign(),false);
WorldShopManager.UpdateSign(shop, TwosideShops.GetShopID(current_session.GetSign()), current_session.GetSign(),false);
if (shop.GetAmount()>0) {
current_session.SetSession(SessionState.UPDATE);
@ -1923,7 +1880,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (amt>=0.01 && amt<=999999999999.99) {
shop.UpdateUnitPrice(amt);
TwosideShops.SaveWorldShopData(shop);
TwosideShops.UpdateSign(shop, TwosideShops.GetShopID(current_session.GetSign()), current_session.GetSign(),false);
WorldShopManager.UpdateSign(shop, TwosideShops.GetShopID(current_session.GetSign()), current_session.GetSign(),false);
ev.getPlayer().sendMessage(ChatColor.DARK_BLUE+"Shop successfully updated!");
TwosideShops.RemoveSession(ev.getPlayer());
} else {
@ -1946,7 +1903,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (amt>=0.01 && amt<=999999999999.99) {
shop.UpdateUnitPrice(amt);
TwosideShops.SaveWorldShopData(shop);
TwosideShops.UpdateSign(shop, TwosideShops.GetShopID(current_session.GetSign()), current_session.GetSign(),true);
WorldShopManager.UpdateSign(shop, TwosideShops.GetShopID(current_session.GetSign()), current_session.GetSign(),true);
ev.getPlayer().sendMessage(ChatColor.DARK_BLUE+"Shop successfully updated!");
TwosideShops.RemoveSession(ev.getPlayer());
} else {
@ -1964,7 +1921,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
break;
case PURCHASE:
if (ev.getMessage().length()<=9 && isNumeric(ev.getMessage()) && isInteger(ev.getMessage())) {
DecimalFormat df = new DecimalFormat("0.00");
int amt = Integer.parseInt(ev.getMessage());
if (amt>0) {
int shopID = TwosideShops.GetShopID(current_session.GetSign());
@ -2004,7 +1960,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
dropAmt=0;
}
}
TwosideShops.UpdateSign(shop, shop.getID(), current_session.GetSign(),false);
WorldShopManager.UpdateSign(shop, shop.getID(), current_session.GetSign(),false);
TwosideShops.SaveWorldShopData(shop);
TwosideShops.AddNewPurchase(shop.GetOwner(), ev.getPlayer().getName(), shop.GetItem(), amt*shop.GetUnitPrice(), amt);
final int ID = shopID;
@ -2012,7 +1968,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
@Override
public void run() {
WorldShop shop = TwosideShops.SetupNextItemShop(TwosideShops.LoadWorldShopData(ID), cc, current_session.GetSign());
TwosideShops.UpdateSign(shop, shop.getID(), current_session.GetSign(),false);
WorldShopManager.UpdateSign(shop, shop.getID(), current_session.GetSign(),false);
TwosideShops.SaveWorldShopData(shop);
}},1);
TwosideShops.RemoveSession(ev.getPlayer());
@ -2052,7 +2008,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
shop.UpdateAmount(shop.GetAmount()-amt);
shop.UpdateStoredAmount(shop.GetStoredAmount()+amt);
final Chest c = (Chest)WorldShop.getBlockShopSignAttachedTo(current_session.GetSign()).getState();
ItemStack shopItem = shop.GetItem();
RemoveItemAmount(ev.getPlayer(),shop.GetItem(),amt);
//Add it to the chest.
int amt_to_add = amt;
@ -2069,7 +2024,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
amt_to_add-=shop.GetItem().getMaxStackSize();
}
}
TwosideShops.UpdateSign(shop, shopID, current_session.GetSign(),true);
WorldShopManager.UpdateSign(shop, shopID, current_session.GetSign(),true);
TwosideShops.SaveWorldShopData(shop);
TwosideShops.RemoveSession(ev.getPlayer());
givePlayerMoney(ev.getPlayer(), amt*shop.GetUnitPrice());
@ -2143,7 +2098,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
public void onPlayerInteract(PlayerInteractEntityEvent ev) {
log("Clicked with "+ ev.getHand().name(),5);
log("Clicked on: "+ev.getRightClicked().getName(),5);
MonsterDifficulty md = null;
if (ev.getPlayer().getEquipment().getItemInMainHand().getType()==Material.NAME_TAG && (ev.getRightClicked() instanceof Monster)) {
//TwosideKeeper.log("Check this out.", 2);
Monster m = (Monster)ev.getRightClicked();
@ -2504,7 +2458,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (!ItemCube.isSomeoneViewingItemCube(itemcube_id,ev.getPlayer())) {
Inventory temp = Bukkit.getServer().createInventory(ev.getPlayer(), size, "Item Cube #"+itemcube_id);
openItemCubeInventory(temp);
InventoryView newinv = ev.getPlayer().openInventory(temp);
ev.getPlayer().openInventory(temp);
PlayerStructure pd = (PlayerStructure) playerdata.get(ev.getPlayer().getUniqueId());
pd.isViewingItemCube=true;
ev.getPlayer().playSound(ev.getPlayer().getLocation(), Sound.BLOCK_CHEST_OPEN, 1.0f, 1.0f);
@ -2583,7 +2537,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
for (int i=0;i<virtualinventory.getSize();i++) {
if (virtualinventory.getItem(i)!=null &&
virtualinventory.getItem(i).getType()!=Material.AIR) {
HashMap result = chest_inventory.addItem(virtualinventory.getItem(i));
HashMap<Integer,ItemStack> result = chest_inventory.addItem(virtualinventory.getItem(i));
if (result.size()>0) {
save_items.set(i,(ItemStack)result.get(0));
fit=false;
@ -2673,7 +2627,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
WorldShop shop = TwosideShops.LoadWorldShopData(shopID);
Chest c = (Chest)chest.getState();
shop.UpdateAmount(GenericFunctions.CountItems(c.getInventory(), shop.GetItem()));
TwosideShops.UpdateSign(shop, shop.getID(),s,shop.isPurchaseShopSign(s));
WorldShopManager.UpdateSign(shop, shop.getID(),s,WorldShop.isPurchaseShopSign(s));
TwosideShops.SaveWorldShopData(shop);
Location newloc = ev.getClickedBlock().getLocation().add(-ev.getBlockFace().getModX()+0.5, -ev.getBlockFace().getModY()+1.5, -ev.getBlockFace().getModZ()+0.5);
@ -2728,7 +2682,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
finalmsg.addExtra(message2);
finalmsg.addExtra(message3);
ev.getPlayer().spigot().sendMessage(finalmsg);
int totalcount = 0;
//totalcount = GenericFunctions.CountItems(player, item);
Chest c = (Chest)chest.getState();
ss.SetAmt(GenericFunctions.CountEmptySpace(c.getInventory(), item));
@ -2760,7 +2713,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
WorldShop shop = TwosideShops.LoadWorldShopData(shopID);
Chest c = (Chest)chest.getState();
shop.UpdateAmount(GenericFunctions.CountEmptySpace(c.getInventory(), shop.GetItem()));
TwosideShops.UpdateSign(shop, shop.getID(),s,shop.isPurchaseShopSign(s));
WorldShopManager.UpdateSign(shop, shop.getID(),s,WorldShop.isPurchaseShopSign(s));
TwosideShops.SaveWorldShopData(shop);
Location newloc = ev.getClickedBlock().getLocation().add(-ev.getBlockFace().getModX()+0.5, -ev.getBlockFace().getModY()+1.5, -ev.getBlockFace().getModZ()+0.5);
WorldShop.spawnShopItem(ev,newloc,shop);
@ -3098,7 +3051,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
@EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
public void onSignChange(SignChangeEvent ev) {
Player p = ev.getPlayer();
Block b = ev.getBlock();
String line1 = ev.getLine(0);
String line2 = ev.getLine(2);
//-- BANK --
@ -3221,7 +3173,8 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
}
}
@EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
@SuppressWarnings("deprecation")
@EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
public void onPlayerDropItem(PlayerDropItemEvent ev) {
if (GenericFunctions.isArtifactEquip(ev.getItemDrop().getItemStack())) {
@ -3325,9 +3278,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
GenericFunctions.addIFrame(ev1.getPlayer(), 10);
ev1.getPlayer().playSound(ev1.getPlayer().getLocation(), Sound.ITEM_CHORUS_FRUIT_TELEPORT, 1.0f, 1.0f);
final Location newpos=new Location(ev1.getPlayer().getWorld(),xpos,ypos,zpos);
final double xpos=ev1.getPlayer().getLocation().getX();
final double ypos=ev1.getPlayer().getLocation().getY();
final double zpos=ev1.getPlayer().getLocation().getZ();
AreaEffectCloud lp = (AreaEffectCloud)ev1.getPlayer().getWorld().spawnEntity(newpos, EntityType.AREA_EFFECT_CLOUD);
double dmgdealt=CustomDamage.getBaseWeaponDamage(ev.getItemDrop().getItemStack(), ev1.getPlayer(), null);
List<Monster> monsters = GenericFunctions.getNearbyMobs(newpos, 2);
@ -3347,7 +3297,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
int range=8;
final String customname = lp.getCustomName();
for (int i=0;i<range;i++) {
final int tempi=i;
final double xpos2=ev1.getPlayer().getLocation().getX();
final double ypos2=ev1.getPlayer().getLocation().getY();
final double zpos2=ev1.getPlayer().getLocation().getZ();
@ -3472,7 +3421,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
@Override
public void run() {
WorldShop shop = TwosideShops.SetupNextItemShop(TwosideShops.LoadWorldShopData(ID), c, s);
TwosideShops.UpdateSign(shop, shop.getID(), s,shop.isPurchaseShopSign(s));
WorldShopManager.UpdateSign(shop, shop.getID(), s,WorldShop.isPurchaseShopSign(s));
TwosideShops.SaveWorldShopData(shop);
}},1);
}
@ -3584,7 +3533,8 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
}
}
@EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
@SuppressWarnings("deprecation")
@EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
public void onInventoryClick(InventoryClickEvent ev) {
final Player player = (Player)ev.getWhoClicked();
PlayerStructure pd = (PlayerStructure)playerdata.get(player.getUniqueId());
@ -3652,8 +3602,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
//Continue.
//Deposit the arrows we are holding.
int amt=playerGetArrowQuiverAmt(p, slot);
playerInsertArrowQuiver(p, slot , ev.getCursor().getAmount());
playerInsertArrowQuiver(p, slot , ev.getCursor().getAmount());
p.sendMessage(ChatColor.DARK_GRAY+""+ev.getCursor().getAmount()+" arrow"+((ev.getCursor().getAmount()==1)?"":"s")+" "+((ev.getCursor().getAmount()==1)?"was":"were")+" added to your arrow quiver. Arrow Count: "+ChatColor.GRAY+playerGetArrowQuiverAmt(p,playerGetArrowQuiver(p)));
ev.setCursor(new ItemStack(Material.AIR));
//Cancel this click event.
@ -3713,81 +3662,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
//LEFT CLICK STUFF.
//WARNING! This only happens for ITEM CUBES! Do not add other items in here!
pd = (PlayerStructure) playerdata.get(ev.getWhoClicked().getUniqueId());
final InventoryClickEvent store = ev;
if (pd.isViewingItemCube &&
((ev.getInventory().getType()!=InventoryType.WORKBENCH && ev.getRawSlot()>=0) ||
(ev.getInventory().getType()==InventoryType.WORKBENCH && ev.getRawSlot()>9)) && ev.getInventory().getTitle().contains("Item Cube #")) {
log("Item Cube window identified.",5);
final int id=Integer.parseInt(ev.getInventory().getTitle().split("#")[1]);
//Check to see if the cursor item is an item cube.
/* OLD ITEM CUBE DUPLICATION CHECK
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
@Override
public void run() {
log("Click detected inside an item cube... Scan the inventory for anything strange.",5);
int siz=9;
if (itemCube_getCubeType(id)!=CubeType.NORMAL) {
siz=27;
}
//See if any of the top slots contain an item cube of the same number... They should NOT!
for (int i=0;i<store.getInventory().getSize();i++) {
if (store.getInventory().getItem(i)!=null &&
store.getInventory().getItem(i).hasItemMeta() &&
store.getInventory().getItem(i).getItemMeta().hasLore()) {
for (int j=0;j<store.getInventory().getItem(i).getItemMeta().getLore().size();j++) {
if (store.getInventory().getItem(i).getItemMeta().getLore().get(j).contains(ChatColor.DARK_PURPLE+"ID#")) {
//Get the ID...
int clicked_id = Integer.parseInt(store.getInventory().getItem(i).getItemMeta().getLore().get(j).split("#")[1]);
if (clicked_id==id) {
//This is the same ID as the one we are viewing...Kick that out of there!
store.getWhoClicked().getWorld().dropItem(store.getWhoClicked().getLocation(), store.getInventory().getItem(i));
store.getInventory().setItem(i, new ItemStack(Material.AIR));
break;
}
}
}
}
}
}},1);
*/
/*//OLD ENDER ITEM CUBE CODE.
if (itemCube_getCubeType(id)==CubeType.ENDER) {
log("Ender Item Cube verified.",4);
//We are going to look at all players and see if they have this inventory open.
final List<ItemStack> itemlist = new ArrayList<ItemStack>();
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
@Override
public void run() {
for (int i=0;i<store.getInventory().getSize();i++) {
if (store.getInventory().getItem(i)!=null) {
itemlist.add(store.getInventory().getItem(i));
} else {
itemlist.add(new ItemStack(Material.AIR));
}
}
itemCube_saveConfig(id,itemlist,CubeType.ENDER);
}
},2);
for (int i=0;i<Bukkit.getServer().getOnlinePlayers().toArray().length;i++) {
//Make sure the player we are checking is not ourself.
final Player p = (Player)Bukkit.getServer().getOnlinePlayers().toArray()[i];
if (p.getOpenInventory()!=null &&
!p.getName().equalsIgnoreCase(ev.getWhoClicked().getName()) &&
p.getOpenInventory().getTitle().contentEquals(ev.getInventory().getTitle())) {
p.closeInventory();
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
@Override
public void run() {
p.openInventory(Bukkit.getServer().createInventory(p, 27, "Item Cube #"+id));
p.playSound(p.getLocation(),Sound.BLOCK_CHEST_OPEN,1.0f,1.0f);
}
},10);
}
}
}*/
}
if (((ev.getInventory().getType()!=InventoryType.WORKBENCH && ev.getRawSlot()>=0) ||
(ev.getInventory().getType()==InventoryType.WORKBENCH && ev.getRawSlot()>9)) && ev.getCurrentItem()!=null) {
if (ev.getCurrentItem().hasItemMeta() && (ev.getCurrentItem().getType()!=Material.AIR)) {
@ -3795,7 +3669,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (item_meta.hasLore()) {
List<String> item_meta_lore = item_meta.getLore();
if (item_meta_lore.size()==4 && item_meta_lore.get(3).contains(ChatColor.DARK_PURPLE+"ID#")) {
int idnumb = Integer.parseInt(item_meta_lore.get(3).split("#")[1]);
int itemcubeid = -1;
if (((PlayerStructure)playerdata.get(ev.getWhoClicked().getUniqueId())).isViewingItemCube &&
ev.getWhoClicked().getOpenInventory().getTitle().contains("Item Cube #")) {
@ -3803,7 +3676,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
} else {
itemcubeid = -1;
}
CubeType cubetype = CubeType.NORMAL;
//This is an Item Cube.
//Check to see if the cursor item is an item cube.
if ((ev.getCurrentItem().getType()==Material.CHEST ||
@ -3846,13 +3718,10 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
ev.setCancelled(true);
//ev.setResult(Result.DENY);
int size;
if (ev.getCurrentItem().getType()==Material.CHEST) {
size=9;
cubetype=CubeType.NORMAL;
} else {
size=27;
if (ev.getCurrentItem().getType()==Material.STORAGE_MINECART) {
if (ev.getCurrentItem().getType()==Material.STORAGE_MINECART) {
cubetype=CubeType.LARGE;
} else {
cubetype=CubeType.ENDER;
@ -3928,7 +3797,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
}
ItemCube.addToViewersOfItemCube(idnumb,ev.getCursor(),(Player)ev.getWhoClicked());
}
HashMap result = virtualinventory.addItem(ev.getCursor());
HashMap<Integer,ItemStack> result = virtualinventory.addItem(ev.getCursor());
log("Clicked ID number "+idnumb,5);
//Set whatever's left back to the cursor.
if (result.size()>0) {
@ -3947,7 +3816,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
//Well, we're already in here, I don't know why they didn't just use the
//minecraft inventory management system. Now I have to do math...
//Add it to the inventory being viewed.
HashMap result = ev.getWhoClicked().getOpenInventory().getTopInventory().addItem(ev.getCursor());
HashMap<Integer,ItemStack> result = ev.getWhoClicked().getOpenInventory().getTopInventory().addItem(ev.getCursor());
//Add it to everyone viewing the cube.
//ItemCube.addToViewersOfItemCube(idnumb, ev.getCursor(), (Player)ev.getWhoClicked());
@ -3960,7 +3829,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
for (int i=0;i<ev.getWhoClicked().getOpenInventory().getTopInventory().getSize();i++) {
itemslist.add(ev.getWhoClicked().getOpenInventory().getTopInventory().getItem(i));
}
CubeType cub = ev.getWhoClicked().getOpenInventory().getTopInventory().getSize()==9?CubeType.NORMAL:CubeType.LARGE;
itemCube_saveConfig(idnumb,itemslist);
}
}
@ -4019,7 +3887,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
pd.opened_another_cube=true;
Inventory temp = Bukkit.getServer().createInventory(p, inventory_size, "Item Cube #"+idnumb);
openItemCubeInventory(temp);
InventoryView newinv = p.openInventory(temp);
p.openInventory(temp);
pd.opened_another_cube=false;
pd.isViewingItemCube=true;
p.playSound(p.getLocation(),Sound.BLOCK_CHEST_OPEN,1.0f,1.0f);
@ -4210,6 +4078,12 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
case HELLFIRE:{
Iterables.get(ev.getAffectedEntities(), i).addPotionEffect(new PotionEffect(PotionEffectType.POISON,duration+1,3)); //Poison IV
}break;
case ELITE:{
Iterables.get(ev.getAffectedEntities(), i).addPotionEffect(new PotionEffect(PotionEffectType.POISON,duration+1,4)); //Poison V
}break;
default:{
Iterables.get(ev.getAffectedEntities(), i).addPotionEffect(new PotionEffect(PotionEffectType.POISON,duration+1,0)); //Poison I
}
}
}
}
@ -4218,7 +4092,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
@EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
public void updateHealthbarDamageEvent(EntityDamageEvent ev) {
Entity e = ev.getEntity();
if (ev.getCause()!=DamageCause.ENTITY_ATTACK &&
ev.getCause()!=DamageCause.PROJECTILE &&
ev.getCause()!=DamageCause.ENTITY_EXPLOSION &&
@ -4231,8 +4104,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
ev.setCancelled(true);
} else
if (ev.getEntity() instanceof LivingEntity) {
//log("Will damage be applied? "+CustomDamage.ApplyDamage(ev.getDamage(DamageModifier.BASE), null, (LivingEntity)ev.getEntity(), null, null),2);
LivingEntity l = (LivingEntity)ev.getEntity();
if (ev.getCause()==DamageCause.VOID && (ev.getEntity() instanceof Player)) {
CustomDamage.executeVoidSurvival((Player)ev.getEntity());
}
@ -4354,7 +4225,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
if (PlayerMode.isDefender(p) && ItemSet.GetSetCount(ItemSet.SONGSTEEL, p)>=5 && pd.vendetta_amt>0.0) { //Deal Vendetta damage instead.
p.playSound(p.getLocation(), Sound.BLOCK_GLASS_BREAK, 1.0f, 0.5f);
double dmg = pd.vendetta_amt;
CustomDamage.ApplyDamage(pd.vendetta_amt, ev.getDamager(), (LivingEntity)ev.getEntity(), null, "Vendetta");
pd.vendetta_amt=0.0;
aPlugin.API.sendActionBarMessage(p, ChatColor.YELLOW+"Vendetta: "+ChatColor.GREEN+Math.round(pd.vendetta_amt)+" dmg stored");
@ -4536,7 +4406,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if ((ev.getTarget() instanceof Player) && !em.targetlist.contains((Player)ev.getTarget())) {
Player p = (Player)ev.getTarget();
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
if (pd.lastdeath+em.WAIT_TIME<=TwosideKeeper.getServerTickTime() && !CustomDamage.isInIframe(p)) {
if (pd.lastdeath+EliteMonster.WAIT_TIME<=TwosideKeeper.getServerTickTime() && !CustomDamage.isInIframe(p)) {
em.targetlist.add((Player)ev.getTarget());
m.setTarget(ev.getTarget());
} else {
@ -4733,8 +4603,8 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (pl!=null && pl.isOnline()) {
ExperienceOrb exp = GenericFunctions.spawnXP(pl.getLocation(), ev.getDroppedExp()*300);
exp.setInvulnerable(true);
GenericFunctions.giveItem(pl,aPlugin.API.getEliteBox());
log("Dropping "+aPlugin.API.getEliteBox().toString(),2);
GenericFunctions.giveItem(pl,aPlugin.API.getChestItem(Chests.ELITE));
log("Dropping "+aPlugin.API.getChestItem(Chests.ELITE).toString(),2);
if (participants_list.length()<1) {
participants_list.append(pl.getName());
} else {
@ -4876,6 +4746,12 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (monsterdata.containsKey(m.getUniqueId())) {
monsterdata.remove(m.getUniqueId());
}
for (int i=0;i<chargezombies.size();i++) {
if (chargezombies.get(i).m.equals(ev.getEntity())) {
chargezombies.remove(i);
break;
}
}
}
}
@ -4970,7 +4846,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
Player p = ev.getPlayer();
TwosideKeeperAPI.addArtifactEXP(p.getEquipment().getItemInMainHand(), 100, p);
}*/
if (ev.getPlayer().isOnGround()) {
if (((Entity)ev.getPlayer()).isOnGround()) {
PlayerStructure pd = (PlayerStructure)playerdata.get(ev.getPlayer().getUniqueId());
pd.velocity = new Vector(ev.getFrom().getX(),0,ev.getFrom().getZ()).distanceSquared(new Vector(ev.getTo().getX(),0,ev.getTo().getZ()));
if (pd.highwinder && pd.target!=null && !pd.target.isDead()) {
@ -5467,18 +5343,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
}
}
}
@EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
public void onArrowLand(ProjectileHitEvent ev) {
if (ev.getEntity() instanceof Arrow) {
Arrow ar = (Arrow)ev.getEntity();
if (ar.getShooter()!=null &&
ar.getCustomName()==null &&
(ar.getShooter() instanceof Player)) {
Player p = (Player)ar.getShooter();
}
}
}
@EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
public void onArrowShot(EntityShootBowEvent ev) {
@ -5573,15 +5437,12 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
//This is a conversion recipe. Decide how to handle it.
log("Handling this recipe...",4);
boolean nether_star_found=false;
boolean using_artifact_item=false;
int valid_items=0;
List<ItemStack> items_found = new ArrayList<ItemStack>();
for (int i=1;i<ev.getInventory().getSize();i++) {
if (ev.getInventory().getItem(i)!=null &&
ev.getInventory().getItem(i).getType()==Material.NETHER_STAR) {
log(" Nether Star Found.",5);
nether_star_found=true;
valid_items++;
} else
if (ev.getInventory().getItem(i)!=null &&
(ev.getInventory().getItem(i).getType()==Material.SUGAR ||
@ -5594,7 +5455,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
log(" Not a valid tier: "+ev.getInventory().getItem(i).getEnchantmentLevel(Enchantment.LUCK),4);
ev.getInventory().setResult(new ItemStack(Material.AIR));
} else {
valid_items++;
}
} else
if (ev.getInventory().getItem(i)!=null &&
@ -5715,6 +5575,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
tier_recipe+=3+(ev.getInventory().getItem(i).getEnchantmentLevel(Enchantment.LUCK)-1)*3;
base_tier=ev.getInventory().getItem(i).getEnchantmentLevel(Enchantment.LUCK);
}break;
default: {
}
}
} else
if (tier_found==0 && ev.getInventory().getItem(i).getType()==Material.STAINED_GLASS_PANE) {
@ -5864,6 +5727,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
ev.getVehicle().getLocation().getWorld().dropItemNaturally(ev.getVehicle().getLocation(), new ItemStack(Material.MINECART));
ev.getVehicle().getLocation().getWorld().dropItemNaturally(ev.getVehicle().getLocation(), new ItemStack(Material.TNT));
}break;
default:{
}
}
}
}
@ -5904,11 +5770,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
@EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
public void onTeleportEvent(PlayerTeleportEvent ev) {
if (ev.getCause().equals(TeleportCause.END_PORTAL)) {
Player p = ev.getPlayer();
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
//This is the player data structure we are looking for.
}
final Player p = ev.getPlayer();
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
public void run() {
@ -5945,7 +5806,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
}
public String getServerListPingString() {
long time = Bukkit.getWorld("world").getTime();
return "\u00A7bsig's Minecraft!\n"+getWeatherIcon()+" \u00A7fCurrently: "+getTimeOfDay();
}
@ -6137,7 +5997,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
return ItemCube_items;
}
public static CubeType itemCube_getCubeType(int id){
List<ItemStack> ItemCube_items = new ArrayList<ItemStack>();
File config;
config = new File(TwosideKeeper.filesave,"itemcubes/ItemCube"+id+".data");
FileConfiguration workable = YamlConfiguration.loadConfiguration(config);
@ -6152,7 +6011,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
//Item Cube Saving.
public void itemCube_saveConfig(int id, List<ItemStack> items){
List<ItemStack> ItemCube_items = new ArrayList<ItemStack>();
File config;
config = new File(TwosideKeeper.filesave,"itemcubes/ItemCube"+id+".data");
FileConfiguration workable = YamlConfiguration.loadConfiguration(config);
@ -6169,7 +6027,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
}
public void itemCube_saveConfig(int id, List<ItemStack> items, CubeType cubetype){
List<ItemStack> ItemCube_items = new ArrayList<ItemStack>();
File config;
config = new File(TwosideKeeper.filesave,"itemcubes/ItemCube"+id+".data");
FileConfiguration workable = YamlConfiguration.loadConfiguration(config);
@ -6262,8 +6119,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
boolean isHungry=(p.getFoodLevel()<=16)?true:false;
boolean inNether=(p.getWorld().getName().equalsIgnoreCase("world_nether"))?true:false;
boolean inEnd=(p.getWorld().getName().equalsIgnoreCase("world_the_end"))?true:false;
int absorptionlv=0;
for (int i=0;i<p.getActivePotionEffects().size();i++) {
if (Iterables.get(p.getActivePotionEffects(), i).getType().equals(PotionEffectType.BLINDNESS) ||
Iterables.get(p.getActivePotionEffects(), i).getType().equals(PotionEffectType.CONFUSION) ||
@ -6277,12 +6132,10 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
hasDebuff=true;
}
if (Iterables.get(p.getActivePotionEffects(), i).getType().equals(PotionEffectType.ABSORPTION)) {
absorptionlv=Iterables.get(p.getActivePotionEffects(), i).getAmplifier()+1;
}
}
String bar = " ";
int length = 0;
if (pcthp==100) {bar += ((isHungry)?ChatColor.BLUE:ChatColor.AQUA)+""+Math.round(p.getHealth())+""+Character.toString((char)0x2665);} else
if (pcthp>66) {bar += ((isHungry)?ChatColor.DARK_GREEN:ChatColor.GREEN)+""+Math.round(p.getHealth())+""+Character.toString((char)0x2665);}
else if (pcthp>33) {bar += ((isHungry)?ChatColor.GOLD:ChatColor.YELLOW)+""+Math.round(p.getHealth())+""+Character.toString((char)0x2665);}
@ -6364,7 +6217,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
public int playerGetArrowQuiverAmt(Player p, int slot) {
ItemStack ArrowQuiver = p.getInventory().getItem(slot);
ItemMeta ArrowQuiver_meta = ArrowQuiver.getItemMeta();
int ArrowQuiver_amt = Integer.parseInt(ArrowQuiver.getItemMeta().getLore().get(1).split(": "+ChatColor.YELLOW)[1]);
return ArrowQuiver_amt;
}
@ -6443,8 +6295,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
}
public static void givePlayerMoney(Player p, double amt) {
boolean found=false;
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
//Found it. Read money and quit.
pd.money+=amt;
}
@ -6478,8 +6329,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
}
}
public static void givePlayerBankMoney(Player p, double amt) {
boolean found=false;
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
//Found it. Read money and quit.
pd.bank_money+=amt;
}
@ -6661,6 +6511,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
final PlayerStructure pd2=pd;
Bukkit.getScheduler().scheduleSyncDelayedTask(Bukkit.getPluginManager().getPlugin("TwosideKeeper"), new Runnable() {
@SuppressWarnings("deprecation")
public void run() {
if (Bukkit.getPlayer(pd2.name)!=null && pd2.target!=null) {
String MonsterName = pd2.target.getType().toString().toLowerCase();
@ -6713,6 +6564,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
pd.title_task=-1;
}
pd.title_task=Bukkit.getScheduler().scheduleSyncDelayedTask(Bukkit.getPluginManager().getPlugin("TwosideKeeper"), new Runnable() {
@SuppressWarnings("deprecation")
public void run() {
if (Bukkit.getPlayer(pd2.name)!=null) {
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
@ -6886,10 +6738,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
public void showPlayerStats(Player p, CommandSender receiver) {
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
double old_weapondmg = pd.prev_weapondmg;
double old_buffdmg = pd.prev_buffdmg;
double old_partydmg = pd.prev_partydmg;
double old_armordef = pd.prev_armordef;
double store1=CustomDamage.CalculateDamageReduction(1,p,null);
double store2=CustomDamage.getBaseWeaponDamage(p.getEquipment().getItemInMainHand(), p, null);
pd.damagedealt=store2;
@ -6935,7 +6783,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (GenericFunctions.isArtifactEquip(item) &&
(ArtifactAbility.getEnchantments(item).size()>0 || AwakenedArtifact.getAP(item)>0)) {
//log("Getting perks...",2);
HashMap enchants = ArtifactAbility.getEnchantments(item);
HashMap<ArtifactAbility,Integer> enchants = ArtifactAbility.getEnchantments(item);
tc.addExtra("");
tc.addExtra(ChatColor.GRAY+""+ChatColor.ITALIC+type+" Perks: ");
if (AwakenedArtifact.getAP(item)>0) {

View File

@ -7,7 +7,6 @@ import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.Sign;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Monster;
import org.bukkit.entity.Player;

View File

@ -1,8 +1,6 @@
package sig.plugin.TwosideKeeper;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.ArrayList;
@ -46,7 +44,6 @@ public class WorldShopManager {
public WorldShop CreateWorldShop(Sign s, ItemStack item, int amt, double price, String owner, boolean purchaseshop) {
//Convert the sign.
String[] lines = s.getLines();
List<String> sign_lines = new ArrayList<String>();
WorldShop newshop = new WorldShop(item, amt, 0, price, owner, TwosideKeeper.WORLD_SHOP_ID);
if (lines[0].equalsIgnoreCase("shop") || lines[0].equalsIgnoreCase("buyshop")) {
UpdateSign(newshop, TwosideKeeper.WORLD_SHOP_ID, s,purchaseshop);
@ -93,8 +90,6 @@ public class WorldShopManager {
}
public static void UpdateSign(WorldShop shop, int id, Sign s, boolean purchaseshop) {
//Convert the sign.
String[] lines = s.getLines();
List<String> sign_lines = new ArrayList<String>();
//Create a shop out of this.
if (purchaseshop) {
@ -244,7 +239,6 @@ public class WorldShopManager {
}
public WorldShop SetupNextItemShop(WorldShop shop, Chest shopchest, final Sign s) {
boolean founditem=false;
final WorldShop oldshop = new WorldShop(shop.GetItem().clone(), shop.GetAmount(), shop.GetStoredAmount(), shop.GetUnitPrice(), shop.GetOwner(), shop.getID());
if (shop.GetAmount()==0) {
TwosideKeeper.log("Amount is 0. Proceed to look for next item.", 5);
@ -259,7 +253,6 @@ public class WorldShopManager {
} else {
shop.UpdateAmount(GenericFunctions.CountItems(shopchest.getInventory(), shopchest.getInventory().getItem(i)));
}
founditem=true;
break;
}
}
@ -268,8 +261,8 @@ public class WorldShopManager {
Bukkit.getScheduler().scheduleSyncDelayedTask(Bukkit.getPluginManager().getPlugin("TwosideKeeper"), new Runnable() {
@Override
public void run() {
sh.removeShopItem(s, oldshop);
sh.spawnShopItem(s.getLocation(), sh);
WorldShop.removeShopItem(s, oldshop);
WorldShop.spawnShopItem(s.getLocation(), sh);
}},1);
return shop;
}