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

View File

@ -5,12 +5,7 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.IOException; import java.io.IOException;
import java.net.URL; 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.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import org.apache.commons.io.FileUtils; 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.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
import aPlugin.DiscordMessageSender;
public class AutoUpdatePlugin implements Runnable { public class AutoUpdatePlugin implements Runnable {
List<Plugin> plugins; List<Plugin> plugins;
boolean restarting=false; boolean restarting=false;

View File

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

View File

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

View File

@ -7,20 +7,15 @@ import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.enchantments.Enchantment; import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryView;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType; import org.bukkit.potion.PotionEffectType;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import sig.plugin.TwosideKeeper.HelperStructures.DeathStructure; import sig.plugin.TwosideKeeper.HelperStructures.DeathStructure;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
public class DeathManager { public class DeathManager {
static String Pick5Text = "Mercy (Pick 5 Lost Items)"; 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); Bukkit.getServer().getScheduler().runTaskLaterAsynchronously(Bukkit.getPluginManager().getPlugin("TwosideKeeper"), this, 300l);
} }
@SuppressWarnings("deprecation")
String ProduceMessage() { String ProduceMessage() {
DecimalFormat df = new DecimalFormat("0.00"); DecimalFormat df = new DecimalFormat("0.00");
return ChatColor.stripColor("TPS: "+df.format(MinecraftServer.getServer().recentTps[0])+" "+TwosideKeeper.getWeatherIcon()+" "+TwosideKeeper.getTimeOfDay()+" ("+Bukkit.getOnlinePlayers().size()+")"); 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.Monster;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.metadata.FixedMetadataValue;
import org.bukkit.potion.PotionData; import org.bukkit.potion.PotionData;
import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffect;
@ -348,7 +347,6 @@ public class EliteMonster {
private void createWeaknessCloud(Location loc, int weaknesslv) { private void createWeaknessCloud(Location loc, int weaknesslv) {
AreaEffectCloud lp = (AreaEffectCloud)loc.getWorld().spawnEntity(loc, EntityType.AREA_EFFECT_CLOUD); AreaEffectCloud lp = (AreaEffectCloud)loc.getWorld().spawnEntity(loc, EntityType.AREA_EFFECT_CLOUD);
lp.setColor(Color.BLACK); lp.setColor(Color.BLACK);
DecimalFormat df = new DecimalFormat("0.00");
lp.setCustomName("WEAK "+weaknesslv+" "+WEAKNESS_DURATION); lp.setCustomName("WEAK "+weaknesslv+" "+WEAKNESS_DURATION);
lp.setRadius(2f); lp.setRadius(2f);
lp.setRadiusPerTick(0.5f/20); lp.setRadiusPerTick(0.5f/20);
@ -457,7 +455,6 @@ public class EliteMonster {
targetlist.add((Player)damager); targetlist.add((Player)damager);
} }
if (!participantlist.contains(damager) && (damager instanceof Player)) { if (!participantlist.contains(damager) && (damager instanceof Player)) {
String name = "";
participantlist.add((Player)damager); participantlist.add((Player)damager);
} }
if (damager instanceof Player) { if (damager instanceof Player) {
@ -582,6 +579,7 @@ public class EliteMonster {
} }
} }
@SuppressWarnings("deprecation")
private void performLeap() { private void performLeap() {
last_leap_time = TwosideKeeper.getServerTickTime(); last_leap_time = TwosideKeeper.getServerTickTime();
int radius = (int)(6*(CustomDamage.getPercentHealthMissing(m)/100d))+1; int radius = (int)(6*(CustomDamage.getPercentHealthMissing(m)/100d))+1;

View File

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

View File

@ -9,7 +9,7 @@ import org.bukkit.inventory.ItemStack;
//NOT USED. //NOT USED.
public class ArtifactAbilityGroup { 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<ArtifactAbility> abilitylist;
List<Material> itemlist; List<Material> itemlist;
public ArtifactAbilityGroup(Material[] itemlist,ArtifactAbility...abilities) { 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.Artifact;
import sig.plugin.TwosideKeeper.TwosideKeeper; import sig.plugin.TwosideKeeper.TwosideKeeper;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
public enum ArtifactItemType { public enum ArtifactItemType {
AXE(0,"AXE",TierType.ALL,UpgradePath.AXE,new String[]{"EEx","EEx","xEx"}, AXE(0,"AXE",TierType.ALL,UpgradePath.AXE,new String[]{"EEx","EEx","xEx"},
@ -374,19 +373,29 @@ public enum ArtifactItemType {
double[] damageamt; double[] damageamt;
int[] healthamt; 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(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(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.data=dataval;
this.itemname=itemname; this.itemname=itemname;
this.tier=tier; this.tier=tier;
@ -460,6 +469,7 @@ public enum ArtifactItemType {
Bukkit.addRecipe(decomp_recipe); Bukkit.addRecipe(decomp_recipe);
} }
} }
@SuppressWarnings("deprecation")
public void defineAllUpgradeRecipes() { public void defineAllUpgradeRecipes() {
for (int i=0;i<10;i++) { for (int i=0;i<10;i++) {
ShapelessRecipe upgrade_recipe = new ShapelessRecipe(this.getTieredItem(i+1)); ShapelessRecipe upgrade_recipe = new ShapelessRecipe(this.getTieredItem(i+1));

View File

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

View File

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

View File

@ -1,17 +1,12 @@
package sig.plugin.TwosideKeeper.HelperStructures.Common; package sig.plugin.TwosideKeeper.HelperStructures.Common;
import java.text.DecimalFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.EnumMap;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.UUID;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.DyeColor;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.Sound; import org.bukkit.Sound;
@ -30,30 +25,19 @@ import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile; import org.bukkit.entity.Projectile;
import org.bukkit.entity.Skeleton; import org.bukkit.entity.Skeleton;
import org.bukkit.entity.Skeleton.SkeletonType; 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.Inventory;
import org.bukkit.inventory.ItemFactory;
import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.LeatherArmorMeta; import org.bukkit.inventory.meta.LeatherArmorMeta;
import org.bukkit.inventory.meta.PotionMeta; import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.inventory.meta.SkullMeta; 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.PotionEffect;
import org.bukkit.potion.PotionEffectType; import org.bukkit.potion.PotionEffectType;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import org.inventivetalent.glow.GlowAPI; import org.inventivetalent.glow.GlowAPI;
import org.inventivetalent.glow.GlowAPI.Color; 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 com.google.common.collect.Iterables;
import net.md_5.bungee.api.chat.ClickEvent; 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.EliteMonster;
import sig.plugin.TwosideKeeper.MonsterController; import sig.plugin.TwosideKeeper.MonsterController;
import sig.plugin.TwosideKeeper.MonsterStructure; import sig.plugin.TwosideKeeper.MonsterStructure;
import sig.plugin.TwosideKeeper.NewCombat;
import sig.plugin.TwosideKeeper.PlayerStructure; import sig.plugin.TwosideKeeper.PlayerStructure;
import sig.plugin.TwosideKeeper.TwosideKeeper; import sig.plugin.TwosideKeeper.TwosideKeeper;
import sig.plugin.TwosideKeeper.TwosideKeeperAPI; import sig.plugin.TwosideKeeper.TwosideKeeperAPI;
@ -83,8 +66,6 @@ public class GenericFunctions {
if (item.hasItemMeta() && if (item.hasItemMeta() &&
item.getItemMeta().hasLore()) { item.getItemMeta().hasLore()) {
ItemMeta item_meta = item.getItemMeta(); ItemMeta item_meta = item.getItemMeta();
int breaks_remaining=-1;
int loreline=-1;
for (int i=0;i<item_meta.getLore().size();i++) { 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: ")) {
if (item_meta.getLore().get(i).contains(ChatColor.GRAY+"Breaks Remaining: "+ChatColor.MAGIC)) { 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) { public static ItemStack breakHardenedItem(ItemStack item, Player p) {
int break_count = getHardenedItemBreaks(item); int break_count = getHardenedItemBreaks(item);
boolean is_magic = false;
if (break_count>0) { if (break_count>0) {
ItemMeta m = item.getItemMeta(); ItemMeta m = item.getItemMeta();
List<String> lore = item.getItemMeta().getLore(); List<String> lore = item.getItemMeta().getLore();
for (int i=0;i<lore.size();i++) { 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: ")) {
if (lore.get(i).contains(ChatColor.GRAY+"Breaks Remaining: "+ChatColor.MAGIC)) { if (lore.get(i).contains(ChatColor.GRAY+"Breaks Remaining: "+ChatColor.MAGIC)) {
is_magic=true;
TwosideKeeper.log("This is obscure.", 2); TwosideKeeper.log("This is obscure.", 2);
break_count--; break_count--;
if (p!=null && break_count==0) { if (p!=null && break_count==0) {
@ -176,7 +155,6 @@ public class GenericFunctions {
for (int i=0;i<oldlore.size();i++) { for (int i=0;i<oldlore.size();i++) {
if (oldlore.get(i).contains(ChatColor.BLUE+""+ChatColor.MAGIC)) { if (oldlore.get(i).contains(ChatColor.BLUE+""+ChatColor.MAGIC)) {
//See what the previous time was. //See what the previous time was.
long time = Long.parseLong(ChatColor.stripColor(oldlore.get(i)));
oldlore.set(i, ChatColor.BLUE+""+ChatColor.MAGIC+TwosideKeeper.getServerTickTime()); oldlore.set(i, ChatColor.BLUE+""+ChatColor.MAGIC+TwosideKeeper.getServerTickTime());
} }
} }
@ -306,7 +284,6 @@ public class GenericFunctions {
if (item.hasItemMeta() && if (item.hasItemMeta() &&
item.getItemMeta().hasLore()) { item.getItemMeta().hasLore()) {
ItemMeta item_meta = item.getItemMeta(); ItemMeta item_meta = item.getItemMeta();
int breaks_remaining=-1;
int loreline=-1; int loreline=-1;
for (int i=0;i<item_meta.getLore().size();i++) { for (int i=0;i<item_meta.getLore().size();i++) {
TwosideKeeper.log("Line is "+item_meta.getLore().get(i),3); TwosideKeeper.log("Line is "+item_meta.getLore().get(i),3);
@ -347,7 +324,6 @@ public class GenericFunctions {
item.getItemMeta().hasLore()) { item.getItemMeta().hasLore()) {
ItemMeta item_meta = item.getItemMeta(); ItemMeta item_meta = item.getItemMeta();
int breaks_remaining=-1; int breaks_remaining=-1;
int loreline=-1;
int break_line=-1; int break_line=-1;
int break_count=0; int break_count=0;
for (int i=0;i<item_meta.getLore().size();i++) { for (int i=0;i<item_meta.getLore().size();i++) {
@ -2121,12 +2097,9 @@ public class GenericFunctions {
} }
public static String PlayerModePrefix(Player p) { public static String PlayerModePrefix(Player p) {
if (PlayerMode.isDefender(p)) { PlayerMode pm = PlayerMode.getPlayerMode(p);
return ChatColor.GRAY+""+ChatColor.ITALIC+"(D) "+ChatColor.RESET+ChatColor.GRAY; if (pm!=PlayerMode.NORMAL) {
} else if (PlayerMode.isStriker(p)) { return pm.getColor()+""+ChatColor.ITALIC+"("+pm.getAbbreviation()+") "+ChatColor.RESET+pm.getColor();
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;
} else { } else {
return ""; return "";
} }
@ -2134,84 +2107,17 @@ public class GenericFunctions {
public static TextComponent PlayerModeName(Player p) { public static TextComponent PlayerModeName(Player p) {
TextComponent tc = new TextComponent(""); TextComponent tc = new TextComponent("");
if (PlayerMode.isDefender(p)) { PlayerMode pm = PlayerMode.getPlayerMode(p);
TextComponent tc1 = new TextComponent(ChatColor.GRAY+""+ChatColor.BOLD+"Defender"+ChatColor.RESET); 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 "+ChatColor.GRAY+""+ChatColor.BOLD+"Defender"+ChatColor.RESET+".").create())); 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 Defender")); tc1.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND,"/mode "+pm.name()));
tc.addExtra(tc1); 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);
}
return tc; return tc;
} }
public static String PlayerModeInformation(String mode) { public static String PlayerModeInformation(String mode) {
switch (mode.toLowerCase()) { PlayerMode pm = PlayerMode.valueOf(mode.toUpperCase());
case "defender":{ return pm.getDesription();
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!";
}
}
} }
public static boolean holdingNoShield(Player p) { public static boolean holdingNoShield(Player p) {
@ -2792,6 +2698,7 @@ public class GenericFunctions {
} }
} }
@SuppressWarnings("deprecation")
public static void PerformDodge(Player p) { public static void PerformDodge(Player p) {
if (p.isOnGround() && PlayerMode.isRanger(p) && if (p.isOnGround() && PlayerMode.isRanger(p) &&
(GenericFunctions.getBowMode(p.getEquipment().getItemInMainHand())==BowMode.CLOSE)) { (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) { public static boolean isViewingInventory(Player p) {
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p); PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
return pd.isViewingInventory; return pd.isViewingInventory;
@ -3056,7 +2953,6 @@ public class GenericFunctions {
} }
public static boolean hasPermissionToBreakSign(Sign s, Player p) { public static boolean hasPermissionToBreakSign(Sign s, Player p) {
String[] lines = s.getLines();
if (WorldShop.isWorldShopSign(s)) { if (WorldShop.isWorldShopSign(s)) {
WorldShop shop = TwosideKeeper.TwosideShops.LoadWorldShopData(s); WorldShop shop = TwosideKeeper.TwosideShops.LoadWorldShopData(s);
if (shop.GetOwner().equalsIgnoreCase(p.getName()) || p.isOp()) { if (shop.GetOwner().equalsIgnoreCase(p.getName()) || p.isOp()) {
@ -3194,7 +3090,6 @@ public class GenericFunctions {
if (item!=null if (item!=null
&& item.getType()!=Material.AIR && && item.getType()!=Material.AIR &&
item.hasItemMeta() && item.getItemMeta().hasLore()) { item.hasItemMeta() && item.getItemMeta().hasLore()) {
boolean rangerarmor=false;
if (item.getItemMeta().getLore().contains(ChatColor.GOLD+""+ChatColor.BOLD+"Jamdak Set") || 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+"Darnys Set") ||
item.getItemMeta().getLore().contains(ChatColor.GOLD+""+ChatColor.BOLD+"Alikahn Set") || item.getItemMeta().getLore().contains(ChatColor.GOLD+""+ChatColor.BOLD+"Alikahn Set") ||
@ -3215,18 +3110,6 @@ public class GenericFunctions {
} }
int tier = 1; int tier = 1;
UpdateSetLore(set,tier,item); 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")) { if (TwosideKeeperAPI.getItemSet(item)!=null && item.getType().name().contains("LEATHER")) {
TwosideKeeper.log("In here",5); TwosideKeeper.log("In here",5);
@ -3306,7 +3189,6 @@ public class GenericFunctions {
} }
public static void DealExplosionDamageToEntities(Location l, double basedmg, double range, Entity damager) { public static void DealExplosionDamageToEntities(Location l, double basedmg, double range, Entity damager) {
List<Entity> nearbyentities = new ArrayList<Entity>();
//nearbyentities.addAll(); //nearbyentities.addAll();
final double rangeSquared=range*range; final double rangeSquared=range*range;
for (Entity ent: l.getWorld().getNearbyEntities(l, range, 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); List<Player> players = getNearbyPlayers(l,range);
//We cleared the non-living entities, deal damage to the rest. //We cleared the non-living entities, deal damage to the rest.
for (int i=0;i<players.size();i++) { for (int i=0;i<players.size();i++) {
double dodgechance = 0.0;
if (players.get(i) instanceof Player) { if (players.get(i) instanceof Player) {
Player p = (Player)players.get(i); 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); //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. //We cleared the non-living entities, deal damage to the rest.
double origdmg = basedmg; double origdmg = basedmg;
for (Entity e : ents) { for (Entity e : ents) {
double dodgechance = 0.0;
if (e instanceof Monster) { if (e instanceof Monster) {
Monster m = (Monster)e; Monster m = (Monster)e;
if (enoughTicksHavePassed(m,(Player)damager)) { if (enoughTicksHavePassed(m,(Player)damager)) {
@ -3759,11 +3639,12 @@ public class GenericFunctions {
int currentlv = getPotionEffectLevel(type,p); int currentlv = getPotionEffectLevel(type,p);
PotionEffect neweffect = new PotionEffect(type,tick_duration,(currentlv+incr_amt<maxlv)?(currentlv+incr_amt):maxlv); PotionEffect neweffect = new PotionEffect(type,tick_duration,(currentlv+incr_amt<maxlv)?(currentlv+incr_amt):maxlv);
if (tick_duration+BUFFER >= duration) { if (tick_duration+BUFFER >= duration) {
p.removePotionEffect(type);
p.addPotionEffect(neweffect, true); p.addPotionEffect(neweffect, true);
} }
} else { } else {
PotionEffect neweffect = new PotionEffect(type,tick_duration,0); 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.FileReader;
import java.io.FileWriter; import java.io.FileWriter;
import java.io.IOException; import java.io.IOException;
import java.io.Reader;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.UUID; import java.util.UUID;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;

View File

@ -1,17 +1,6 @@
package sig.plugin.TwosideKeeper.HelperStructures; 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.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 { public class CustomItem {
ItemStack item; ItemStack item;

View File

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

View File

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

View File

@ -2,7 +2,6 @@ package sig.plugin.TwosideKeeper.HelperStructures;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.HashMap;
import java.util.List; import java.util.List;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
@ -12,14 +11,13 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import sig.plugin.TwosideKeeper.TwosideKeeper; import sig.plugin.TwosideKeeper.TwosideKeeper;
import sig.plugin.TwosideKeeper.WorldShopManager;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions; import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
public enum ItemSet { public enum ItemSet {
PANROS(1,1, 3,2, 10,10, 20,10), PANROS(1,1, 3,2, 10,10, 20,10),
SONGSTEEL(4,2, 6,2, 8,4, 20,10), SONGSTEEL(4,2, 6,2, 8,4, 20,10),
DAWNTRACKER(4,4, 20,10, 20,10, 6,4), 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. JAMDAK(1,1, 5,1, 10,1, 10,2), //Graceful Dodge is in ticks.
DARNYS(1,1, 10,5, 20,5, 1,1), DARNYS(1,1, 10,5, 20,5, 1,1),
ALIKAHN(1,1, 15,6, 30,10, 12,6), ALIKAHN(1,1, 15,6, 30,10, 12,6),
@ -237,7 +235,7 @@ public enum ItemSet {
case LORASYS:{ case LORASYS:{
lore.add(ChatColor.LIGHT_PURPLE+"Slayer Gear"); lore.add(ChatColor.LIGHT_PURPLE+"Slayer Gear");
lore.add(ChatColor.GOLD+""+ChatColor.BOLD+"T"+tier+" Lorasys Set"); 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; }break;
case JAMDAK:{ case JAMDAK:{
lore.add(ChatColor.LIGHT_PURPLE+"Ranger Gear"); 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.GOLD+""+ChatColor.BOLD+"T"+tier+" Lorasaadi Set");
lore.add(ChatColor.YELLOW+"+"+ItemSet.GetBaseAmount(set, tier, 1)+"% Dodge Chance"); lore.add(ChatColor.YELLOW+"+"+ItemSet.GetBaseAmount(set, tier, 1)+"% Dodge Chance");
}break; }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(""); lore.add("");
@ -294,18 +302,10 @@ public enum ItemSet {
lore.add(ChatColor.GRAY+" 10 -> 20 seconds, making it stackable."); lore.add(ChatColor.GRAY+" 10 -> 20 seconds, making it stackable.");
}break; }break;
case LORASYS:{ case LORASYS:{
lore.add(ChatColor.GOLD+""+ChatColor.ITALIC+"Set Bonus:"); lore.add(ChatColor.GOLD+""+ChatColor.ITALIC+"Bonus Effects");
lore.add(ChatColor.DARK_AQUA+" 2 - "+ChatColor.WHITE+" +"+ItemSet.GetBaseAmount(set, tier, 2)+"% Damage Reduction"); lore.add(ChatColor.WHITE+" Stealth does not cause durability to decrease.");
lore.add(ChatColor.DARK_AQUA+" 3 - "+ChatColor.WHITE+" +"+ItemSet.GetBaseAmount(set, tier, 3)+" Damage"); lore.add(ChatColor.WHITE+" Hitting enemies with Thorns does not damage you.");
lore.add(ChatColor.DARK_AQUA+" 4 - "+ChatColor.WHITE+" +"+ItemSet.GetBaseAmount(set, tier, 4)+" Max Health"); lore.add(ChatColor.WHITE+" Each kill restores 2 Hearts (4 HP) instead of 1.");
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%.");
}break; }break;
case JAMDAK: { case JAMDAK: {
lore.add(ChatColor.GOLD+""+ChatColor.ITALIC+"Set Bonus:"); 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+" "+ChatColor.WHITE+"Debilitation Mode:");
lore.add(ChatColor.GRAY+" Increases Armor Penetration by +50%."); lore.add(ChatColor.GRAY+" Increases Armor Penetration by +50%.");
}break; }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; return lore;
} }

View File

@ -8,19 +8,14 @@ import org.bukkit.Color;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment; import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Monster; import org.bukkit.entity.Monster;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.LeatherArmorMeta; import org.bukkit.inventory.meta.LeatherArmorMeta;
import aPlugin.Drop;
import aPlugin.DropItem; import aPlugin.DropItem;
import aPlugin.DropMaterial; import aPlugin.DropMaterial;
import sig.plugin.TwosideKeeper.Artifact; import sig.plugin.TwosideKeeper.Artifact;
import sig.plugin.TwosideKeeper.CustomDamage;
import sig.plugin.TwosideKeeper.MonsterController;
import sig.plugin.TwosideKeeper.TwosideKeeper; import sig.plugin.TwosideKeeper.TwosideKeeper;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions; 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_BOOTS,78));
aPlugin.API.Chests.LOOT_HELLFIRE.addDrop(new DropMaterial(Material.GOLD_HELMET,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(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.LOOT_HELLFIRE.printDrops();
//aPlugin.API.Chests..addDrop(new DropItem(TwosideKeeper.HUNTERS_COMPASS.getItemStack(),10)); //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()); set_name = prefix+"Dawntracker Barbarian "+GenericFunctions.UserFriendlyMaterialName(item.getType());
}break; }break;
case LORASYS:{ case LORASYS:{
if (item.getType().toString().contains("SWORD")) {
//Convert Slayer weapon here. ???
}
tierbonus = (custom)?tierbonus:modifyTierBonus(item,tierbonus); tierbonus = (custom)?tierbonus:modifyTierBonus(item,tierbonus);
set_name = prefix+"Lorasys Slayer "+GenericFunctions.UserFriendlyMaterialName(item.getType()); set_name = prefix+"Lorasys Slayer "+GenericFunctions.UserFriendlyMaterialName(item.getType());
}break; }break;
@ -524,6 +516,16 @@ public class Loot {
tierbonus=(custom)?tierbonus:0; tierbonus=(custom)?tierbonus:0;
} }
}break; }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()) { if (item.getItemMeta().hasLore()) {
lore = item.getItemMeta().getLore(); lore = item.getItemMeta().getLore();
@ -578,10 +580,6 @@ public class Loot {
} }
} }
private static int GetEnchantmentLevels(Material type) {
return GetEnchantmentLevels(type, false);
}
private static int GetEnchantmentLevels(Material type, boolean hardened) { private static int GetEnchantmentLevels(Material type, boolean hardened) {
int enchantment_level = 0; int enchantment_level = 0;
if (type.toString().contains("STONE")) { if (type.toString().contains("STONE")) {

View File

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

View File

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

View File

@ -9,13 +9,65 @@ import sig.plugin.TwosideKeeper.TwosideKeeper;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions; import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
public enum PlayerMode { public enum PlayerMode {
STRIKER(ChatColor.RED,"S","Striker"), STRIKER(ChatColor.RED,"S","Striker",
RANGER(ChatColor.GREEN,"R","Ranger"), ChatColor.RED+""+ChatColor.BOLD+"Striker mode Perks: "+ChatColor.RESET+"\n"
DEFENDER(ChatColor.GRAY,"D","Defender"), + ChatColor.WHITE+"->Players are identified as 'Strikers' when they only carry a sword in their main hand. No off-hand items.\n"
BARBARIAN(ChatColor.GOLD,"B","Barbarian"), + ChatColor.GRAY+"->10% passive damage increase.\n"
SLAYER(ChatColor.DARK_BLUE,"SL","Slayer"), + ChatColor.WHITE+"->20% chance to critically strike.\n"
SUMMONER(ChatColor.DARK_PURPLE,"SM","Summoner"), + ChatColor.WHITE+"->Getting hit increases Speed by 1 Level. Stacks up to Speed V (Lasts five seconds.)\n"
NORMAL(ChatColor.WHITE,"",""); + 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. 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 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.col=col;
this.symbol=abbreviation; this.symbol=abbreviation;
this.name=fullname; this.name=fullname;
this.desription=desc;
} }

View File

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

View File

@ -7,7 +7,6 @@ import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.DyeColor; import org.bukkit.DyeColor;
import org.bukkit.Location; import org.bukkit.Location;
@ -15,10 +14,8 @@ import org.bukkit.Material;
import org.bukkit.block.Banner; import org.bukkit.block.Banner;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.block.Chest; import org.bukkit.block.Chest;
import org.bukkit.block.DoubleChest;
import org.bukkit.block.Sign; import org.bukkit.block.Sign;
import org.bukkit.block.banner.Pattern; import org.bukkit.block.banner.Pattern;
import org.bukkit.block.banner.PatternType;
import org.bukkit.enchantments.Enchantment; import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
@ -35,15 +32,14 @@ import org.bukkit.inventory.meta.EnchantmentStorageMeta;
import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.PotionMeta; import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.inventory.meta.Repairable; import org.bukkit.inventory.meta.Repairable;
import org.bukkit.material.MaterialData;
import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionType;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import sig.plugin.TwosideKeeper.Artifact; import sig.plugin.TwosideKeeper.Artifact;
import sig.plugin.TwosideKeeper.TwosideKeeper; import sig.plugin.TwosideKeeper.TwosideKeeper;
import sig.plugin.TwosideKeeper.WorldShopManager;
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions; import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
public class WorldShop { public class WorldShop {
@ -152,7 +148,6 @@ public class WorldShop {
List<PotionEffect> effects = pot.getCustomEffects(); List<PotionEffect> effects = pot.getCustomEffects();
for (int i=0;i<effects.size();i++) { 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())+")"; 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 duration = " "+(pot.getBasePotionData().isExtended()?"(8:00)":(pot.getBasePotionData().isUpgraded())?"(1:30)":"(3:00)");
String badduration = " "+(pot.getBasePotionData().isExtended()?"(4:00)":"(1:30)"); 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 luckduration = " (5:00)";
String regenduration = " "+(pot.getBasePotionData().isExtended()?"(1:30)":(pot.getBasePotionData().isUpgraded())?"(0:22)":"(0:45)");
String power = (pot.getBasePotionData().isUpgraded()?"II":""); String power = (pot.getBasePotionData().isUpgraded()?"II":"");
if (item.getType() == Material.LINGERING_POTION) { if (item.getType() == Material.LINGERING_POTION) {
duration = " "+(pot.getBasePotionData().isExtended()?"(2:00)":(pot.getBasePotionData().isUpgraded())?"(0:22)":"(0:45)"); duration = " "+(pot.getBasePotionData().isExtended()?"(2:00)":(pot.getBasePotionData().isUpgraded())?"(0:22)":"(0:45)");
badduration = " "+(pot.getBasePotionData().isExtended()?"(1:00)":"(0:22)"); badduration = " "+(pot.getBasePotionData().isExtended()?"(1:00)":"(0:22)");
poisonduration = " "+(pot.getBasePotionData().isExtended()?"(0:22)":(pot.getBasePotionData().isUpgraded())?"(0:05)":"(0:22)");
luckduration = " (1:15)"; luckduration = " (1:15)";
regenduration = " "+(pot.getBasePotionData().isExtended()?"(0:22)":(pot.getBasePotionData().isUpgraded())?"(0:05)":"(0:11)");
} }
switch (pot.getBasePotionData().getType()) { switch (pot.getBasePotionData().getType()) {
@ -229,8 +220,7 @@ public class WorldShop {
ItemMeta meta = item.getItemMeta(); ItemMeta meta = item.getItemMeta();
if (item.getType()==Material.SHIELD) { if (item.getType()==Material.SHIELD) {
ItemMeta shieldmeta = item.getItemMeta(); BlockStateMeta bmeta = (BlockStateMeta) meta;
BlockStateMeta bmeta = (BlockStateMeta) meta;
Banner banner = (Banner) bmeta.getBlockState(); Banner banner = (Banner) bmeta.getBlockState();
List<Pattern> patterns = banner.getPatterns(); List<Pattern> patterns = banner.getPatterns();
DyeColor color = banner.getBaseColor(); DyeColor color = banner.getBaseColor();
@ -442,6 +432,9 @@ public class WorldShop {
case RECORD_12:{ case RECORD_12:{
message+="\n"+ChatColor.GRAY+"C418 - wait"; message+="\n"+ChatColor.GRAY+"C418 - wait";
}break; }break;
default:{
}
} }
} }
if (item.getType().getMaxDurability()>0) { if (item.getType().getMaxDurability()>0) {
@ -658,8 +651,6 @@ public class WorldShop {
} }
public static Sign grabShopSign(Block block) { public static Sign grabShopSign(Block block) {
//Look for a sign in all directions.
boolean found=false;
Block signblock = null; Block signblock = null;
Block signblock2 = null; Block signblock2 = null;
for (int i=-1;i<2;i++) { for (int i=-1;i<2;i++) {
@ -743,7 +734,7 @@ public class WorldShop {
} }
TwosideKeeper.TwosideShops.SaveWorldShopData(shop); TwosideKeeper.TwosideShops.SaveWorldShopData(shop);
TwosideKeeper.log("There are "+amt+" of "+shop.GetItem().toString(),5); 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) { public static boolean hasPermissionToBreakWorldShopSign(Sign s, Player p) {
String[] lines = s.getLines();
if (WorldShop.isWorldShopSign(s)) { if (WorldShop.isWorldShopSign(s)) {
WorldShop shop = TwosideKeeper.TwosideShops.LoadWorldShopData(s); WorldShop shop = TwosideKeeper.TwosideShops.LoadWorldShopData(s);
if (shop.GetOwner().equalsIgnoreCase(p.getName()) || p.isOp()) { 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.Bukkit;
import org.bukkit.Sound; import org.bukkit.Sound;
import org.bukkit.entity.Player; 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.Inventory;
import org.bukkit.inventory.InventoryView;
import sig.plugin.TwosideKeeper.HelperStructures.CubeType; import sig.plugin.TwosideKeeper.HelperStructures.CubeType;
import sig.plugin.TwosideKeeper.HelperStructures.ItemCube; import sig.plugin.TwosideKeeper.HelperStructures.ItemCube;
@ -38,7 +35,6 @@ public class ItemCubeWindow {
Inventory temp = Bukkit.getServer().createInventory(p, inv_size, "Item Cube #"+itemcubeid); Inventory temp = Bukkit.getServer().createInventory(p, inv_size, "Item Cube #"+itemcubeid);
pd.opened_another_cube=true; pd.opened_another_cube=true;
TwosideKeeper.openItemCubeInventory(temp); TwosideKeeper.openItemCubeInventory(temp);
InventoryView newinv = p.openInventory(temp);
pd.opened_another_cube=false; pd.opened_another_cube=false;
pd.isViewingItemCube=true; pd.isViewingItemCube=true;
p.playSound(p.getLocation(),Sound.BLOCK_CHEST_OPEN,1.0f,1.0f); 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 org.bukkit.entity.Player;
import com.google.common.collect.Iterables;
import net.md_5.bungee.api.ChatColor; import net.md_5.bungee.api.ChatColor;
import sig.plugin.TwosideKeeper.PlayerStructure; import sig.plugin.TwosideKeeper.PlayerStructure;

View File

@ -12,13 +12,8 @@ import org.bukkit.Material;
import org.bukkit.attribute.Attribute; import org.bukkit.attribute.Attribute;
import org.bukkit.attribute.AttributeInstance; import org.bukkit.attribute.AttributeInstance;
import org.bukkit.attribute.AttributeModifier; import org.bukkit.attribute.AttributeModifier;
import org.bukkit.block.Banner;
import org.bukkit.block.banner.Pattern; import org.bukkit.block.banner.Pattern;
import org.bukkit.block.banner.PatternType; 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.EntityType;
import org.bukkit.entity.Guardian; import org.bukkit.entity.Guardian;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
@ -28,16 +23,11 @@ import org.bukkit.entity.Skeleton;
import org.bukkit.entity.Zombie; import org.bukkit.entity.Zombie;
import org.bukkit.entity.Skeleton.SkeletonType; import org.bukkit.entity.Skeleton.SkeletonType;
import org.bukkit.inventory.ItemStack; 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.PotionEffect;
import org.bukkit.potion.PotionEffectType; import org.bukkit.potion.PotionEffectType;
import org.inventivetalent.glow.GlowAPI; import org.inventivetalent.glow.GlowAPI;
import org.inventivetalent.glow.GlowAPI.Color; 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.ItemRarity;
import sig.plugin.TwosideKeeper.HelperStructures.Loot; import sig.plugin.TwosideKeeper.HelperStructures.Loot;
import sig.plugin.TwosideKeeper.HelperStructures.MonsterDifficulty; 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) { private static ItemStack RandomizeEnchantments(ItemStack item, ItemRarity rarity) {
return Loot.addEnchantments(item, false); return Loot.addEnchantments(item, false);
} }

View File

@ -1,58 +1,5 @@
package sig.plugin.TwosideKeeper; 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 { 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) { private static String PartyBonusDisplay(List<Player> partymembers) {
int membercount = partymembers.size(); int membercount = partymembers.size();
StringBuilder partydisplay = new StringBuilder(""); StringBuilder partydisplay = new StringBuilder("");
if (membercount>=2) { if (membercount>=2) {
int dmgbonus=((membercount-1)<10)?(membercount-1)*10:90; int dmgbonus=((membercount-1)<10)?(membercount-1)*10:90;
int defbonus=((membercount-1)<10)?(membercount-1)*10:90;
partydisplay.append(" +"+dmgbonus+"%DMG/DEF"); partydisplay.append(" +"+dmgbonus+"%DMG/DEF");
} }
return partydisplay.toString(); return partydisplay.toString();
} }
public static void sortPlayers(int party, List<Player> partyplayers, HashMap<Integer,List<Player>> lastorder) { 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. //Sorts the players on the scoreboard by proper health values.
List<Player> sortedorder = new ArrayList<Player>(); List<Player> sortedorder = new ArrayList<Player>();
int lasti=-1; //The last player that had less health than you did. 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) { public static List<Player> getPartyMembers(Player p) {
List<Player> partymembers = new ArrayList<Player>();
int partynumb = GetCurrentParty(p); int partynumb = GetCurrentParty(p);
return parties.get(partynumb); return parties.get(partynumb);
} }

View File

@ -14,12 +14,9 @@ import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.InventoryView;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.util.Vector;
import sig.plugin.TwosideKeeper.HelperStructures.DeathStructure; import sig.plugin.TwosideKeeper.HelperStructures.DeathStructure;
import sig.plugin.TwosideKeeper.HelperStructures.PlayerMode; import sig.plugin.TwosideKeeper.HelperStructures.PlayerMode;
@ -125,6 +122,7 @@ public class PlayerStructure {
public boolean opened_another_cube=false; 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. //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) { public PlayerStructure(Player p, long serverTickTime) {
if (p!=null) { if (p!=null) {
this.velocity = 0d; this.velocity = 0d;

View File

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

View File

@ -6,7 +6,6 @@ import java.text.DecimalFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Vector;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
@ -177,11 +176,8 @@ public class RecyclingCenter {
b.getType()==Material.TRAPPED_CHEST) { b.getType()==Material.TRAPPED_CHEST) {
if (b.getState()!=null) { if (b.getState()!=null) {
Chest c = (Chest) b.getState(); 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++) { for (int j=0;j<27;j++) {
if (c.getBlockInventory().getItem(j)!=null && c.getBlockInventory().getItem(j).getType()==i.getItemStack().getType()) { 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); 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.File;
import java.io.FileWriter; import java.io.FileWriter;
import java.io.IOException; 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.ArrayList;
import java.util.List; import java.util.List;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.Event; import org.bukkit.event.Event;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.block.Action; import org.bukkit.event.block.Action;
import org.bukkit.event.block.BlockBreakEvent; 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.PlayerQuitEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.Plugin;
import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType; import org.bukkit.potion.PotionEffectType;
@ -32,7 +26,6 @@ import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.Chest; import org.bukkit.block.Chest;
public class SpleefGame implements Listener { public class SpleefGame implements Listener {
@ -150,7 +143,6 @@ public class SpleefGame implements Listener {
ev.getClickedBlock().getLocation().getBlockY()==sign.getBlockY() && ev.getClickedBlock().getLocation().getBlockY()==sign.getBlockY() &&
ev.getClickedBlock().getLocation().getBlockZ()==sign.getBlockZ() ) { ev.getClickedBlock().getLocation().getBlockZ()==sign.getBlockZ() ) {
TwosideKeeper.log("This is a sign event.",5); TwosideKeeper.log("This is a sign event.",5);
Block b = ev.getClickedBlock();
if (!active) { if (!active) {
//We are going to register this player to this spleef arena. //We are going to register this player to this spleef arena.
if (!IsSpleefPlayerRegistered(ev.getPlayer())) { if (!IsSpleefPlayerRegistered(ev.getPlayer())) {
@ -545,7 +537,7 @@ class SpleefPlayerData {
} }
} }
bw.newLine(); bw.newLine();
bw.write("---"+plug.getServerTickTime()); bw.write("---"+TwosideKeeper.getServerTickTime());
bw.newLine();bw.newLine(); bw.newLine();bw.newLine();
bw.close(); bw.close();
} catch (IOException e) { } catch (IOException e) {

View File

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

View File

@ -2,8 +2,6 @@ package sig.plugin.TwosideKeeper;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
@ -11,21 +9,15 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
import java.util.UUID; import java.util.UUID;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import org.apache.commons.lang.WordUtils; import org.apache.commons.lang.WordUtils;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.Color; import org.bukkit.Color;
import org.bukkit.Effect;
import org.bukkit.GameMode;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.Particle; import org.bukkit.Particle;
import org.bukkit.Server.Spigot;
import org.bukkit.Sound; import org.bukkit.Sound;
import org.bukkit.WorldCreator;
import org.bukkit.attribute.Attribute; import org.bukkit.attribute.Attribute;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.block.Chest; 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.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.enchantments.Enchantment; import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Animals;
import org.bukkit.entity.AreaEffectCloud; import org.bukkit.entity.AreaEffectCloud;
import org.bukkit.entity.Arrow; import org.bukkit.entity.Arrow;
import org.bukkit.entity.Bat; import org.bukkit.entity.Bat;
import org.bukkit.entity.ComplexLivingEntity;
import org.bukkit.entity.Creeper; import org.bukkit.entity.Creeper;
import org.bukkit.entity.EnderDragon;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.ExperienceOrb; import org.bukkit.entity.ExperienceOrb;
import org.bukkit.entity.FallingBlock; import org.bukkit.entity.FallingBlock;
import org.bukkit.entity.Guardian;
import org.bukkit.entity.Horse; import org.bukkit.entity.Horse;
import org.bukkit.entity.Horse.Variant; import org.bukkit.entity.Horse.Variant;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Item; import org.bukkit.entity.Item;
import org.bukkit.entity.LightningStrike; import org.bukkit.entity.LightningStrike;
import org.bukkit.entity.LingeringPotion;
import org.bukkit.entity.LivingEntity; import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Monster; import org.bukkit.entity.Monster;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile; 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.ThrownPotion;
import org.bukkit.entity.TippedArrow; import org.bukkit.entity.TippedArrow;
import org.bukkit.entity.Witch; 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.Event.Result;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; 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.Action;
import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.block.BlockRedstoneEvent;
import org.bukkit.event.block.SignChangeEvent; import org.bukkit.event.block.SignChangeEvent;
import org.bukkit.event.entity.AreaEffectCloudApplyEvent; import org.bukkit.event.entity.AreaEffectCloudApplyEvent;
import org.bukkit.event.entity.CreatureSpawnEvent; import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason;
import org.bukkit.event.entity.EntityChangeBlockEvent; 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.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.entity.EntityDamageEvent.DamageCause; 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.entity.EntityRegainHealthEvent.RegainReason;
import org.bukkit.event.inventory.ClickType; import org.bukkit.event.inventory.ClickType;
import org.bukkit.event.inventory.CraftItemEvent; import org.bukkit.event.inventory.CraftItemEvent;
import org.bukkit.event.inventory.InventoryAction;
import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.inventory.InventoryDragEvent; 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.inventory.PrepareItemCraftEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent; import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.player.PlayerAchievementAwardedEvent; 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.PlayerCommandPreprocessEvent;
import org.bukkit.event.player.PlayerDropItemEvent; import org.bukkit.event.player.PlayerDropItemEvent;
import org.bukkit.event.player.PlayerEggThrowEvent;
import org.bukkit.event.player.PlayerExpChangeEvent; import org.bukkit.event.player.PlayerExpChangeEvent;
import org.bukkit.event.player.PlayerFishEvent; import org.bukkit.event.player.PlayerFishEvent;
import org.bukkit.event.player.PlayerFishEvent.State; import org.bukkit.event.player.PlayerFishEvent.State;
import org.bukkit.event.player.PlayerInteractEntityEvent; import org.bukkit.event.player.PlayerInteractEntityEvent;
import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerItemBreakEvent; import org.bukkit.event.player.PlayerItemBreakEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent;
import org.bukkit.event.player.PlayerItemHeldEvent; import org.bukkit.event.player.PlayerItemHeldEvent;
import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerKickEvent; 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.PlayerQuitEvent;
import org.bukkit.event.player.PlayerRespawnEvent; import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.event.player.PlayerTeleportEvent; import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.event.player.PlayerToggleSprintEvent; import org.bukkit.event.player.PlayerToggleSprintEvent;
import org.bukkit.event.server.ServerCommandEvent; import org.bukkit.event.server.ServerCommandEvent;
import org.bukkit.event.server.ServerListPingEvent; import org.bukkit.event.server.ServerListPingEvent;
import org.bukkit.event.vehicle.VehicleCreateEvent;
import org.bukkit.event.vehicle.VehicleDestroyEvent; import org.bukkit.event.vehicle.VehicleDestroyEvent;
import org.bukkit.event.vehicle.VehicleExitEvent; import org.bukkit.event.vehicle.VehicleExitEvent;
import org.bukkit.event.weather.LightningStrikeEvent; import org.bukkit.event.weather.LightningStrikeEvent;
import org.bukkit.event.world.ChunkLoadEvent; import org.bukkit.event.world.ChunkLoadEvent;
import org.bukkit.event.world.ChunkPopulateEvent;
import org.bukkit.event.world.WorldSaveEvent; import org.bukkit.event.world.WorldSaveEvent;
import org.bukkit.inventory.EquipmentSlot; import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryView;
import org.bukkit.inventory.ItemFlag;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.Recipe;
import org.bukkit.inventory.ShapedRecipe; import org.bukkit.inventory.ShapedRecipe;
import org.bukkit.inventory.meta.EnchantmentStorageMeta;
import org.bukkit.inventory.meta.ItemMeta; 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.FixedMetadataValue;
import org.bukkit.metadata.MetadataValue;
import org.bukkit.metadata.Metadatable;
import org.bukkit.plugin.Plugin; import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.potion.PotionData; import org.bukkit.potion.PotionData;
import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffect;
import org.bukkit.potion.PotionEffectType; import org.bukkit.potion.PotionEffectType;
import org.bukkit.potion.PotionType; import org.bukkit.potion.PotionType;
import org.bukkit.projectiles.ProjectileSource;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import org.inventivetalent.glow.GlowAPI; import org.inventivetalent.glow.GlowAPI;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import com.google.common.collect.Iterators;
import aPlugin.DiscordMessageSender; import aPlugin.DiscordMessageSender;
import aPlugin.API.Chests;
import events.PluginLoadEvent; import events.PluginLoadEvent;
import net.md_5.bungee.api.chat.ClickEvent; import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.chat.ComponentBuilder; import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.chat.HoverEvent; import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent; 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.AnvilItem;
import sig.plugin.TwosideKeeper.HelperStructures.ArtifactAbility; import sig.plugin.TwosideKeeper.HelperStructures.ArtifactAbility;
import sig.plugin.TwosideKeeper.HelperStructures.ArtifactItem; 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.GenericFunctions;
import sig.plugin.TwosideKeeper.HelperStructures.Common.Habitation; import sig.plugin.TwosideKeeper.HelperStructures.Common.Habitation;
import sig.plugin.TwosideKeeper.Logging.BowModeLogger; import sig.plugin.TwosideKeeper.Logging.BowModeLogger;
import sig.plugin.TwosideKeeper.Logging.DamageLogger;
import sig.plugin.TwosideKeeper.Logging.LootLogger; import sig.plugin.TwosideKeeper.Logging.LootLogger;
import sig.plugin.TwosideKeeper.Logging.MysteriousEssenceLogger; import sig.plugin.TwosideKeeper.Logging.MysteriousEssenceLogger;
import net.minecraft.server.v1_9_R1.MinecraftServer;
public class TwosideKeeper extends JavaPlugin implements Listener { public class TwosideKeeper extends JavaPlugin implements Listener {
@ -386,7 +338,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
public static RecyclingCenter TwosideRecyclingCenter; public static RecyclingCenter TwosideRecyclingCenter;
//Bank timers and users. //Bank timers and users.
public static HashMap banksessions; public static HashMap<UUID,BankSession> banksessions;
public static Habitation habitat_data; public static Habitation habitat_data;
public static Plugin plugin; public static Plugin plugin;
@ -495,7 +447,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
//Initialize Player Data structure. //Initialize Player Data structure.
playerdata = new HashMap<UUID,PlayerStructure>(); playerdata = new HashMap<UUID,PlayerStructure>();
banksessions = new HashMap(); banksessions = new HashMap<UUID,BankSession>();
monsterdata = new HashMap<UUID,MonsterStructure>(); monsterdata = new HashMap<UUID,MonsterStructure>();
validsetitems.add(Material.LEATHER_BOOTS); 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.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())); //playerdata.add(new PlayerStructure((Player)Bukkit.getOnlinePlayers().toArray()[i],getServerTickTime()));
} }
Player p;
//Announce the server has restarted soon after. //Announce the server has restarted soon after.
@ -545,7 +496,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){ getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){
public void run(){ public void run(){
for (Player p : Bukkit.getOnlinePlayers()) { for (Player p : Bukkit.getOnlinePlayers()) {
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
PlayerMode.getPlayerMode(p); PlayerMode.getPlayerMode(p);
} }
} }
@ -556,7 +506,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
//Control charge zombies.. //Control charge zombies..
for (int i=0;i<chargezombies.size();i++) { for (int i=0;i<chargezombies.size();i++) {
ChargeZombie cz = chargezombies.get(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... //This has to be removed...
chargezombies.remove(i); chargezombies.remove(i);
i--; i--;
@ -637,6 +587,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
},0l,600l); },0l,600l);
//This is the constant timing method. //This is the constant timing method.
getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){ getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable(){
@SuppressWarnings("deprecation")
public void run(){ public void run(){
log("Server time passed: "+(Bukkit.getWorld("world").getFullTime()-STARTTIME)+". New Server Time: "+(Bukkit.getWorld("world").getFullTime()-STARTTIME+SERVERTICK),5); 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. //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) { 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. //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); 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. //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); removechance+=ItemSet.TotalBaseAmountBasedOnSetBonusCount(p, ItemSet.DAWNTRACKER, 2, 2);
log("Remove chance is "+removechance,5); log("Remove chance is "+removechance,5);
int longestdur=0;
int level=0; int level=0;
PotionEffectType type=null; PotionEffectType type=null;
for (int i1=0;i1<p.getActivePotionEffects().size();i1++) { for (int i1=0;i1<p.getActivePotionEffects().size();i1++) {
if (GenericFunctions.isBadEffect(Iterables.get(p.getActivePotionEffects(), i1).getType()) && Math.random()<=0.5) { 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(); type=Iterables.get(p.getActivePotionEffects(), i1).getType();
level=Iterables.get(p.getActivePotionEffects(), i1).getAmplifier(); level=Iterables.get(p.getActivePotionEffects(), i1).getAmplifier();
} }
@ -1065,6 +1014,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
case DIAMOND_BOOTS:{ case DIAMOND_BOOTS:{
lostamt-=3; lostamt-=3;
}break; }break;
default:{
}
} }
} }
} }
@ -1175,8 +1127,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
ItemStack upgrade = UPGRADE_SHARD.getItemStack(); ItemStack upgrade = UPGRADE_SHARD.getItemStack();
GenericFunctions.setUpgradeShardTier(upgrade,3); GenericFunctions.setUpgradeShardTier(upgrade,3);
p.getWorld().dropItemNaturally(p.getLocation(), upgrade);*/ p.getWorld().dropItemNaturally(p.getLocation(), upgrade);*/
log("In here",2); //log("In here",2);
ArtifactAbility.removeAllEnchantments(p.getEquipment().getItemInMainHand()); GenericFunctions.addStackingPotionEffect(p, PotionEffectType.ABSORPTION, 40, 100);
//ArtifactAbility.removeAllEnchantments(p.getEquipment().getItemInMainHand());
//p.sendMessage("This is tier "+GenericFunctions.getUpgradeShardTier(p.getEquipment().getItemInMainHand())); //p.sendMessage("This is tier "+GenericFunctions.getUpgradeShardTier(p.getEquipment().getItemInMainHand()));
//ItemSet.SetTier(p.getEquipment().getItemInMainHand(), 7); //ItemSet.SetTier(p.getEquipment().getItemInMainHand(), 7);
//p.getWorld().dropItemNaturally(p.getLocation(), STRENGTHENING_VIAL.getItemStack(50)); //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) { if (p.getEquipment().getItemInMainHand()!=null) {
//sender.sendMessage(args[0]); //sender.sendMessage(args[0]);
if (args.length==2) { 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!"); sender.sendMessage("Enchantment applied!");
return true; return true;
} else { } else {
@ -1679,6 +1633,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
ev.setMessage(""); ev.setMessage("");
ev.setCancelled(true); ev.setCancelled(true);
}break; }break;
default:{
}
} }
banksessions.remove(ev.getPlayer().getUniqueId()); banksessions.remove(ev.getPlayer().getUniqueId());
} else } else
@ -1790,7 +1747,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
shop.UpdateAmount(shop.GetAmount()+amt); shop.UpdateAmount(shop.GetAmount()+amt);
RemoveItemAmount(ev.getPlayer(), shop.GetItem(), amt); RemoveItemAmount(ev.getPlayer(), shop.GetItem(), amt);
TwosideShops.SaveWorldShopData(shop); 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("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+"):"); 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); log("Dropped shop item.",5);
//ev.getPlayer().getWorld().dropItemNaturally(ev.getPlayer().getLocation(), drop).setPickupDelay(0); //ev.getPlayer().getWorld().dropItemNaturally(ev.getPlayer().getLocation(), drop).setPickupDelay(0);
TwosideShops.SaveWorldShopData(shop); 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) { if (shop.GetAmount()>0) {
current_session.SetSession(SessionState.UPDATE); current_session.SetSession(SessionState.UPDATE);
@ -1923,7 +1880,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (amt>=0.01 && amt<=999999999999.99) { if (amt>=0.01 && amt<=999999999999.99) {
shop.UpdateUnitPrice(amt); shop.UpdateUnitPrice(amt);
TwosideShops.SaveWorldShopData(shop); 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!"); ev.getPlayer().sendMessage(ChatColor.DARK_BLUE+"Shop successfully updated!");
TwosideShops.RemoveSession(ev.getPlayer()); TwosideShops.RemoveSession(ev.getPlayer());
} else { } else {
@ -1946,7 +1903,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (amt>=0.01 && amt<=999999999999.99) { if (amt>=0.01 && amt<=999999999999.99) {
shop.UpdateUnitPrice(amt); shop.UpdateUnitPrice(amt);
TwosideShops.SaveWorldShopData(shop); 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!"); ev.getPlayer().sendMessage(ChatColor.DARK_BLUE+"Shop successfully updated!");
TwosideShops.RemoveSession(ev.getPlayer()); TwosideShops.RemoveSession(ev.getPlayer());
} else { } else {
@ -1964,7 +1921,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
break; break;
case PURCHASE: case PURCHASE:
if (ev.getMessage().length()<=9 && isNumeric(ev.getMessage()) && isInteger(ev.getMessage())) { if (ev.getMessage().length()<=9 && isNumeric(ev.getMessage()) && isInteger(ev.getMessage())) {
DecimalFormat df = new DecimalFormat("0.00");
int amt = Integer.parseInt(ev.getMessage()); int amt = Integer.parseInt(ev.getMessage());
if (amt>0) { if (amt>0) {
int shopID = TwosideShops.GetShopID(current_session.GetSign()); int shopID = TwosideShops.GetShopID(current_session.GetSign());
@ -2004,7 +1960,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
dropAmt=0; dropAmt=0;
} }
} }
TwosideShops.UpdateSign(shop, shop.getID(), current_session.GetSign(),false); WorldShopManager.UpdateSign(shop, shop.getID(), current_session.GetSign(),false);
TwosideShops.SaveWorldShopData(shop); TwosideShops.SaveWorldShopData(shop);
TwosideShops.AddNewPurchase(shop.GetOwner(), ev.getPlayer().getName(), shop.GetItem(), amt*shop.GetUnitPrice(), amt); TwosideShops.AddNewPurchase(shop.GetOwner(), ev.getPlayer().getName(), shop.GetItem(), amt*shop.GetUnitPrice(), amt);
final int ID = shopID; final int ID = shopID;
@ -2012,7 +1968,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
@Override @Override
public void run() { public void run() {
WorldShop shop = TwosideShops.SetupNextItemShop(TwosideShops.LoadWorldShopData(ID), cc, current_session.GetSign()); 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); TwosideShops.SaveWorldShopData(shop);
}},1); }},1);
TwosideShops.RemoveSession(ev.getPlayer()); TwosideShops.RemoveSession(ev.getPlayer());
@ -2052,7 +2008,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
shop.UpdateAmount(shop.GetAmount()-amt); shop.UpdateAmount(shop.GetAmount()-amt);
shop.UpdateStoredAmount(shop.GetStoredAmount()+amt); shop.UpdateStoredAmount(shop.GetStoredAmount()+amt);
final Chest c = (Chest)WorldShop.getBlockShopSignAttachedTo(current_session.GetSign()).getState(); final Chest c = (Chest)WorldShop.getBlockShopSignAttachedTo(current_session.GetSign()).getState();
ItemStack shopItem = shop.GetItem();
RemoveItemAmount(ev.getPlayer(),shop.GetItem(),amt); RemoveItemAmount(ev.getPlayer(),shop.GetItem(),amt);
//Add it to the chest. //Add it to the chest.
int amt_to_add = amt; int amt_to_add = amt;
@ -2069,7 +2024,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
amt_to_add-=shop.GetItem().getMaxStackSize(); 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.SaveWorldShopData(shop);
TwosideShops.RemoveSession(ev.getPlayer()); TwosideShops.RemoveSession(ev.getPlayer());
givePlayerMoney(ev.getPlayer(), amt*shop.GetUnitPrice()); givePlayerMoney(ev.getPlayer(), amt*shop.GetUnitPrice());
@ -2143,7 +2098,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
public void onPlayerInteract(PlayerInteractEntityEvent ev) { public void onPlayerInteract(PlayerInteractEntityEvent ev) {
log("Clicked with "+ ev.getHand().name(),5); log("Clicked with "+ ev.getHand().name(),5);
log("Clicked on: "+ev.getRightClicked().getName(),5); log("Clicked on: "+ev.getRightClicked().getName(),5);
MonsterDifficulty md = null;
if (ev.getPlayer().getEquipment().getItemInMainHand().getType()==Material.NAME_TAG && (ev.getRightClicked() instanceof Monster)) { if (ev.getPlayer().getEquipment().getItemInMainHand().getType()==Material.NAME_TAG && (ev.getRightClicked() instanceof Monster)) {
//TwosideKeeper.log("Check this out.", 2); //TwosideKeeper.log("Check this out.", 2);
Monster m = (Monster)ev.getRightClicked(); Monster m = (Monster)ev.getRightClicked();
@ -2504,7 +2458,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (!ItemCube.isSomeoneViewingItemCube(itemcube_id,ev.getPlayer())) { if (!ItemCube.isSomeoneViewingItemCube(itemcube_id,ev.getPlayer())) {
Inventory temp = Bukkit.getServer().createInventory(ev.getPlayer(), size, "Item Cube #"+itemcube_id); Inventory temp = Bukkit.getServer().createInventory(ev.getPlayer(), size, "Item Cube #"+itemcube_id);
openItemCubeInventory(temp); openItemCubeInventory(temp);
InventoryView newinv = ev.getPlayer().openInventory(temp); ev.getPlayer().openInventory(temp);
PlayerStructure pd = (PlayerStructure) playerdata.get(ev.getPlayer().getUniqueId()); PlayerStructure pd = (PlayerStructure) playerdata.get(ev.getPlayer().getUniqueId());
pd.isViewingItemCube=true; pd.isViewingItemCube=true;
ev.getPlayer().playSound(ev.getPlayer().getLocation(), Sound.BLOCK_CHEST_OPEN, 1.0f, 1.0f); 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++) { for (int i=0;i<virtualinventory.getSize();i++) {
if (virtualinventory.getItem(i)!=null && if (virtualinventory.getItem(i)!=null &&
virtualinventory.getItem(i).getType()!=Material.AIR) { 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) { if (result.size()>0) {
save_items.set(i,(ItemStack)result.get(0)); save_items.set(i,(ItemStack)result.get(0));
fit=false; fit=false;
@ -2673,7 +2627,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
WorldShop shop = TwosideShops.LoadWorldShopData(shopID); WorldShop shop = TwosideShops.LoadWorldShopData(shopID);
Chest c = (Chest)chest.getState(); Chest c = (Chest)chest.getState();
shop.UpdateAmount(GenericFunctions.CountItems(c.getInventory(), shop.GetItem())); 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); TwosideShops.SaveWorldShopData(shop);
Location newloc = ev.getClickedBlock().getLocation().add(-ev.getBlockFace().getModX()+0.5, -ev.getBlockFace().getModY()+1.5, -ev.getBlockFace().getModZ()+0.5); 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(message2);
finalmsg.addExtra(message3); finalmsg.addExtra(message3);
ev.getPlayer().spigot().sendMessage(finalmsg); ev.getPlayer().spigot().sendMessage(finalmsg);
int totalcount = 0;
//totalcount = GenericFunctions.CountItems(player, item); //totalcount = GenericFunctions.CountItems(player, item);
Chest c = (Chest)chest.getState(); Chest c = (Chest)chest.getState();
ss.SetAmt(GenericFunctions.CountEmptySpace(c.getInventory(), item)); ss.SetAmt(GenericFunctions.CountEmptySpace(c.getInventory(), item));
@ -2760,7 +2713,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
WorldShop shop = TwosideShops.LoadWorldShopData(shopID); WorldShop shop = TwosideShops.LoadWorldShopData(shopID);
Chest c = (Chest)chest.getState(); Chest c = (Chest)chest.getState();
shop.UpdateAmount(GenericFunctions.CountEmptySpace(c.getInventory(), shop.GetItem())); 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); TwosideShops.SaveWorldShopData(shop);
Location newloc = ev.getClickedBlock().getLocation().add(-ev.getBlockFace().getModX()+0.5, -ev.getBlockFace().getModY()+1.5, -ev.getBlockFace().getModZ()+0.5); 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); WorldShop.spawnShopItem(ev,newloc,shop);
@ -3098,7 +3051,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
@EventHandler(priority=EventPriority.LOW,ignoreCancelled = true) @EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
public void onSignChange(SignChangeEvent ev) { public void onSignChange(SignChangeEvent ev) {
Player p = ev.getPlayer(); Player p = ev.getPlayer();
Block b = ev.getBlock();
String line1 = ev.getLine(0); String line1 = ev.getLine(0);
String line2 = ev.getLine(2); String line2 = ev.getLine(2);
//-- BANK -- //-- 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) { public void onPlayerDropItem(PlayerDropItemEvent ev) {
if (GenericFunctions.isArtifactEquip(ev.getItemDrop().getItemStack())) { if (GenericFunctions.isArtifactEquip(ev.getItemDrop().getItemStack())) {
@ -3325,9 +3278,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
GenericFunctions.addIFrame(ev1.getPlayer(), 10); GenericFunctions.addIFrame(ev1.getPlayer(), 10);
ev1.getPlayer().playSound(ev1.getPlayer().getLocation(), Sound.ITEM_CHORUS_FRUIT_TELEPORT, 1.0f, 1.0f); 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 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); AreaEffectCloud lp = (AreaEffectCloud)ev1.getPlayer().getWorld().spawnEntity(newpos, EntityType.AREA_EFFECT_CLOUD);
double dmgdealt=CustomDamage.getBaseWeaponDamage(ev.getItemDrop().getItemStack(), ev1.getPlayer(), null); double dmgdealt=CustomDamage.getBaseWeaponDamage(ev.getItemDrop().getItemStack(), ev1.getPlayer(), null);
List<Monster> monsters = GenericFunctions.getNearbyMobs(newpos, 2); List<Monster> monsters = GenericFunctions.getNearbyMobs(newpos, 2);
@ -3347,7 +3297,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
int range=8; int range=8;
final String customname = lp.getCustomName(); final String customname = lp.getCustomName();
for (int i=0;i<range;i++) { for (int i=0;i<range;i++) {
final int tempi=i;
final double xpos2=ev1.getPlayer().getLocation().getX(); final double xpos2=ev1.getPlayer().getLocation().getX();
final double ypos2=ev1.getPlayer().getLocation().getY(); final double ypos2=ev1.getPlayer().getLocation().getY();
final double zpos2=ev1.getPlayer().getLocation().getZ(); final double zpos2=ev1.getPlayer().getLocation().getZ();
@ -3472,7 +3421,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
@Override @Override
public void run() { public void run() {
WorldShop shop = TwosideShops.SetupNextItemShop(TwosideShops.LoadWorldShopData(ID), c, s); 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); TwosideShops.SaveWorldShopData(shop);
}},1); }},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) { public void onInventoryClick(InventoryClickEvent ev) {
final Player player = (Player)ev.getWhoClicked(); final Player player = (Player)ev.getWhoClicked();
PlayerStructure pd = (PlayerStructure)playerdata.get(player.getUniqueId()); PlayerStructure pd = (PlayerStructure)playerdata.get(player.getUniqueId());
@ -3652,8 +3602,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
//Continue. //Continue.
//Deposit the arrows we are holding. //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))); 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)); ev.setCursor(new ItemStack(Material.AIR));
//Cancel this click event. //Cancel this click event.
@ -3713,81 +3662,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
//LEFT CLICK STUFF. //LEFT CLICK STUFF.
//WARNING! This only happens for ITEM CUBES! Do not add other items in here! //WARNING! This only happens for ITEM CUBES! Do not add other items in here!
pd = (PlayerStructure) playerdata.get(ev.getWhoClicked().getUniqueId()); 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) || if (((ev.getInventory().getType()!=InventoryType.WORKBENCH && ev.getRawSlot()>=0) ||
(ev.getInventory().getType()==InventoryType.WORKBENCH && ev.getRawSlot()>9)) && ev.getCurrentItem()!=null) { (ev.getInventory().getType()==InventoryType.WORKBENCH && ev.getRawSlot()>9)) && ev.getCurrentItem()!=null) {
if (ev.getCurrentItem().hasItemMeta() && (ev.getCurrentItem().getType()!=Material.AIR)) { if (ev.getCurrentItem().hasItemMeta() && (ev.getCurrentItem().getType()!=Material.AIR)) {
@ -3795,7 +3669,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (item_meta.hasLore()) { if (item_meta.hasLore()) {
List<String> item_meta_lore = item_meta.getLore(); List<String> item_meta_lore = item_meta.getLore();
if (item_meta_lore.size()==4 && item_meta_lore.get(3).contains(ChatColor.DARK_PURPLE+"ID#")) { 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; int itemcubeid = -1;
if (((PlayerStructure)playerdata.get(ev.getWhoClicked().getUniqueId())).isViewingItemCube && if (((PlayerStructure)playerdata.get(ev.getWhoClicked().getUniqueId())).isViewingItemCube &&
ev.getWhoClicked().getOpenInventory().getTitle().contains("Item Cube #")) { ev.getWhoClicked().getOpenInventory().getTitle().contains("Item Cube #")) {
@ -3803,7 +3676,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
} else { } else {
itemcubeid = -1; itemcubeid = -1;
} }
CubeType cubetype = CubeType.NORMAL;
//This is an Item Cube. //This is an Item Cube.
//Check to see if the cursor item is an item cube. //Check to see if the cursor item is an item cube.
if ((ev.getCurrentItem().getType()==Material.CHEST || if ((ev.getCurrentItem().getType()==Material.CHEST ||
@ -3846,13 +3718,10 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
ev.setCancelled(true); ev.setCancelled(true);
//ev.setResult(Result.DENY); //ev.setResult(Result.DENY);
int size;
if (ev.getCurrentItem().getType()==Material.CHEST) { if (ev.getCurrentItem().getType()==Material.CHEST) {
size=9;
cubetype=CubeType.NORMAL; cubetype=CubeType.NORMAL;
} else { } else {
size=27; if (ev.getCurrentItem().getType()==Material.STORAGE_MINECART) {
if (ev.getCurrentItem().getType()==Material.STORAGE_MINECART) {
cubetype=CubeType.LARGE; cubetype=CubeType.LARGE;
} else { } else {
cubetype=CubeType.ENDER; cubetype=CubeType.ENDER;
@ -3928,7 +3797,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
} }
ItemCube.addToViewersOfItemCube(idnumb,ev.getCursor(),(Player)ev.getWhoClicked()); 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); log("Clicked ID number "+idnumb,5);
//Set whatever's left back to the cursor. //Set whatever's left back to the cursor.
if (result.size()>0) { 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 //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... //minecraft inventory management system. Now I have to do math...
//Add it to the inventory being viewed. //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. //Add it to everyone viewing the cube.
//ItemCube.addToViewersOfItemCube(idnumb, ev.getCursor(), (Player)ev.getWhoClicked()); //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++) { for (int i=0;i<ev.getWhoClicked().getOpenInventory().getTopInventory().getSize();i++) {
itemslist.add(ev.getWhoClicked().getOpenInventory().getTopInventory().getItem(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); itemCube_saveConfig(idnumb,itemslist);
} }
} }
@ -4019,7 +3887,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
pd.opened_another_cube=true; pd.opened_another_cube=true;
Inventory temp = Bukkit.getServer().createInventory(p, inventory_size, "Item Cube #"+idnumb); Inventory temp = Bukkit.getServer().createInventory(p, inventory_size, "Item Cube #"+idnumb);
openItemCubeInventory(temp); openItemCubeInventory(temp);
InventoryView newinv = p.openInventory(temp); p.openInventory(temp);
pd.opened_another_cube=false; pd.opened_another_cube=false;
pd.isViewingItemCube=true; pd.isViewingItemCube=true;
p.playSound(p.getLocation(),Sound.BLOCK_CHEST_OPEN,1.0f,1.0f); 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:{ case HELLFIRE:{
Iterables.get(ev.getAffectedEntities(), i).addPotionEffect(new PotionEffect(PotionEffectType.POISON,duration+1,3)); //Poison IV Iterables.get(ev.getAffectedEntities(), i).addPotionEffect(new PotionEffect(PotionEffectType.POISON,duration+1,3)); //Poison IV
}break; }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) @EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
public void updateHealthbarDamageEvent(EntityDamageEvent ev) { public void updateHealthbarDamageEvent(EntityDamageEvent ev) {
Entity e = ev.getEntity();
if (ev.getCause()!=DamageCause.ENTITY_ATTACK && if (ev.getCause()!=DamageCause.ENTITY_ATTACK &&
ev.getCause()!=DamageCause.PROJECTILE && ev.getCause()!=DamageCause.PROJECTILE &&
ev.getCause()!=DamageCause.ENTITY_EXPLOSION && ev.getCause()!=DamageCause.ENTITY_EXPLOSION &&
@ -4231,8 +4104,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
ev.setCancelled(true); ev.setCancelled(true);
} else } else
if (ev.getEntity() instanceof LivingEntity) { 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)) { if (ev.getCause()==DamageCause.VOID && (ev.getEntity() instanceof Player)) {
CustomDamage.executeVoidSurvival((Player)ev.getEntity()); CustomDamage.executeVoidSurvival((Player)ev.getEntity());
} }
@ -4354,7 +4225,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p); PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
if (PlayerMode.isDefender(p) && ItemSet.GetSetCount(ItemSet.SONGSTEEL, p)>=5 && pd.vendetta_amt>0.0) { //Deal Vendetta damage instead. 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); 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"); CustomDamage.ApplyDamage(pd.vendetta_amt, ev.getDamager(), (LivingEntity)ev.getEntity(), null, "Vendetta");
pd.vendetta_amt=0.0; pd.vendetta_amt=0.0;
aPlugin.API.sendActionBarMessage(p, ChatColor.YELLOW+"Vendetta: "+ChatColor.GREEN+Math.round(pd.vendetta_amt)+" dmg stored"); 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())) { if ((ev.getTarget() instanceof Player) && !em.targetlist.contains((Player)ev.getTarget())) {
Player p = (Player)ev.getTarget(); Player p = (Player)ev.getTarget();
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p); 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()); em.targetlist.add((Player)ev.getTarget());
m.setTarget(ev.getTarget()); m.setTarget(ev.getTarget());
} else { } else {
@ -4733,8 +4603,8 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (pl!=null && pl.isOnline()) { if (pl!=null && pl.isOnline()) {
ExperienceOrb exp = GenericFunctions.spawnXP(pl.getLocation(), ev.getDroppedExp()*300); ExperienceOrb exp = GenericFunctions.spawnXP(pl.getLocation(), ev.getDroppedExp()*300);
exp.setInvulnerable(true); exp.setInvulnerable(true);
GenericFunctions.giveItem(pl,aPlugin.API.getEliteBox()); GenericFunctions.giveItem(pl,aPlugin.API.getChestItem(Chests.ELITE));
log("Dropping "+aPlugin.API.getEliteBox().toString(),2); log("Dropping "+aPlugin.API.getChestItem(Chests.ELITE).toString(),2);
if (participants_list.length()<1) { if (participants_list.length()<1) {
participants_list.append(pl.getName()); participants_list.append(pl.getName());
} else { } else {
@ -4876,6 +4746,12 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (monsterdata.containsKey(m.getUniqueId())) { if (monsterdata.containsKey(m.getUniqueId())) {
monsterdata.remove(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(); Player p = ev.getPlayer();
TwosideKeeperAPI.addArtifactEXP(p.getEquipment().getItemInMainHand(), 100, p); TwosideKeeperAPI.addArtifactEXP(p.getEquipment().getItemInMainHand(), 100, p);
}*/ }*/
if (ev.getPlayer().isOnGround()) { if (((Entity)ev.getPlayer()).isOnGround()) {
PlayerStructure pd = (PlayerStructure)playerdata.get(ev.getPlayer().getUniqueId()); 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())); 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()) { if (pd.highwinder && pd.target!=null && !pd.target.isDead()) {
@ -5468,18 +5344,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) @EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
public void onArrowShot(EntityShootBowEvent ev) { public void onArrowShot(EntityShootBowEvent ev) {
//Check if it's a player. //Check if it's a player.
@ -5573,15 +5437,12 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
//This is a conversion recipe. Decide how to handle it. //This is a conversion recipe. Decide how to handle it.
log("Handling this recipe...",4); log("Handling this recipe...",4);
boolean nether_star_found=false; boolean nether_star_found=false;
boolean using_artifact_item=false;
int valid_items=0;
List<ItemStack> items_found = new ArrayList<ItemStack>(); List<ItemStack> items_found = new ArrayList<ItemStack>();
for (int i=1;i<ev.getInventory().getSize();i++) { for (int i=1;i<ev.getInventory().getSize();i++) {
if (ev.getInventory().getItem(i)!=null && if (ev.getInventory().getItem(i)!=null &&
ev.getInventory().getItem(i).getType()==Material.NETHER_STAR) { ev.getInventory().getItem(i).getType()==Material.NETHER_STAR) {
log(" Nether Star Found.",5); log(" Nether Star Found.",5);
nether_star_found=true; nether_star_found=true;
valid_items++;
} else } else
if (ev.getInventory().getItem(i)!=null && if (ev.getInventory().getItem(i)!=null &&
(ev.getInventory().getItem(i).getType()==Material.SUGAR || (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); log(" Not a valid tier: "+ev.getInventory().getItem(i).getEnchantmentLevel(Enchantment.LUCK),4);
ev.getInventory().setResult(new ItemStack(Material.AIR)); ev.getInventory().setResult(new ItemStack(Material.AIR));
} else { } else {
valid_items++;
} }
} else } else
if (ev.getInventory().getItem(i)!=null && 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; tier_recipe+=3+(ev.getInventory().getItem(i).getEnchantmentLevel(Enchantment.LUCK)-1)*3;
base_tier=ev.getInventory().getItem(i).getEnchantmentLevel(Enchantment.LUCK); base_tier=ev.getInventory().getItem(i).getEnchantmentLevel(Enchantment.LUCK);
}break; }break;
default: {
}
} }
} else } else
if (tier_found==0 && ev.getInventory().getItem(i).getType()==Material.STAINED_GLASS_PANE) { 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.MINECART));
ev.getVehicle().getLocation().getWorld().dropItemNaturally(ev.getVehicle().getLocation(), new ItemStack(Material.TNT)); ev.getVehicle().getLocation().getWorld().dropItemNaturally(ev.getVehicle().getLocation(), new ItemStack(Material.TNT));
}break; }break;
default:{
}
} }
} }
} }
@ -5904,11 +5770,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
@EventHandler(priority=EventPriority.LOW,ignoreCancelled = true) @EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
public void onTeleportEvent(PlayerTeleportEvent ev) { 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(); final Player p = ev.getPlayer();
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() { Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
public void run() { public void run() {
@ -5945,7 +5806,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
} }
public String getServerListPingString() { public String getServerListPingString() {
long time = Bukkit.getWorld("world").getTime();
return "\u00A7bsig's Minecraft!\n"+getWeatherIcon()+" \u00A7fCurrently: "+getTimeOfDay(); return "\u00A7bsig's Minecraft!\n"+getWeatherIcon()+" \u00A7fCurrently: "+getTimeOfDay();
} }
@ -6137,7 +5997,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
return ItemCube_items; return ItemCube_items;
} }
public static CubeType itemCube_getCubeType(int id){ public static CubeType itemCube_getCubeType(int id){
List<ItemStack> ItemCube_items = new ArrayList<ItemStack>();
File config; File config;
config = new File(TwosideKeeper.filesave,"itemcubes/ItemCube"+id+".data"); config = new File(TwosideKeeper.filesave,"itemcubes/ItemCube"+id+".data");
FileConfiguration workable = YamlConfiguration.loadConfiguration(config); FileConfiguration workable = YamlConfiguration.loadConfiguration(config);
@ -6152,7 +6011,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
//Item Cube Saving. //Item Cube Saving.
public void itemCube_saveConfig(int id, List<ItemStack> items){ public void itemCube_saveConfig(int id, List<ItemStack> items){
List<ItemStack> ItemCube_items = new ArrayList<ItemStack>();
File config; File config;
config = new File(TwosideKeeper.filesave,"itemcubes/ItemCube"+id+".data"); config = new File(TwosideKeeper.filesave,"itemcubes/ItemCube"+id+".data");
FileConfiguration workable = YamlConfiguration.loadConfiguration(config); 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){ public void itemCube_saveConfig(int id, List<ItemStack> items, CubeType cubetype){
List<ItemStack> ItemCube_items = new ArrayList<ItemStack>();
File config; File config;
config = new File(TwosideKeeper.filesave,"itemcubes/ItemCube"+id+".data"); config = new File(TwosideKeeper.filesave,"itemcubes/ItemCube"+id+".data");
FileConfiguration workable = YamlConfiguration.loadConfiguration(config); FileConfiguration workable = YamlConfiguration.loadConfiguration(config);
@ -6262,8 +6119,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
boolean isHungry=(p.getFoodLevel()<=16)?true:false; boolean isHungry=(p.getFoodLevel()<=16)?true:false;
boolean inNether=(p.getWorld().getName().equalsIgnoreCase("world_nether"))?true:false; boolean inNether=(p.getWorld().getName().equalsIgnoreCase("world_nether"))?true:false;
boolean inEnd=(p.getWorld().getName().equalsIgnoreCase("world_the_end"))?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++) { for (int i=0;i<p.getActivePotionEffects().size();i++) {
if (Iterables.get(p.getActivePotionEffects(), i).getType().equals(PotionEffectType.BLINDNESS) || if (Iterables.get(p.getActivePotionEffects(), i).getType().equals(PotionEffectType.BLINDNESS) ||
Iterables.get(p.getActivePotionEffects(), i).getType().equals(PotionEffectType.CONFUSION) || Iterables.get(p.getActivePotionEffects(), i).getType().equals(PotionEffectType.CONFUSION) ||
@ -6277,12 +6132,10 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
hasDebuff=true; hasDebuff=true;
} }
if (Iterables.get(p.getActivePotionEffects(), i).getType().equals(PotionEffectType.ABSORPTION)) { if (Iterables.get(p.getActivePotionEffects(), i).getType().equals(PotionEffectType.ABSORPTION)) {
absorptionlv=Iterables.get(p.getActivePotionEffects(), i).getAmplifier()+1;
} }
} }
String bar = " "; 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==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);} 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);} 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) { public int playerGetArrowQuiverAmt(Player p, int slot) {
ItemStack ArrowQuiver = p.getInventory().getItem(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]); int ArrowQuiver_amt = Integer.parseInt(ArrowQuiver.getItemMeta().getLore().get(1).split(": "+ChatColor.YELLOW)[1]);
return ArrowQuiver_amt; return ArrowQuiver_amt;
} }
@ -6443,8 +6295,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
} }
public static void givePlayerMoney(Player p, double amt) { 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. //Found it. Read money and quit.
pd.money+=amt; pd.money+=amt;
} }
@ -6478,8 +6329,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
} }
} }
public static void givePlayerBankMoney(Player p, double amt) { 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. //Found it. Read money and quit.
pd.bank_money+=amt; pd.bank_money+=amt;
} }
@ -6661,6 +6511,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId()); PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
final PlayerStructure pd2=pd; final PlayerStructure pd2=pd;
Bukkit.getScheduler().scheduleSyncDelayedTask(Bukkit.getPluginManager().getPlugin("TwosideKeeper"), new Runnable() { Bukkit.getScheduler().scheduleSyncDelayedTask(Bukkit.getPluginManager().getPlugin("TwosideKeeper"), new Runnable() {
@SuppressWarnings("deprecation")
public void run() { public void run() {
if (Bukkit.getPlayer(pd2.name)!=null && pd2.target!=null) { if (Bukkit.getPlayer(pd2.name)!=null && pd2.target!=null) {
String MonsterName = pd2.target.getType().toString().toLowerCase(); 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=-1;
} }
pd.title_task=Bukkit.getScheduler().scheduleSyncDelayedTask(Bukkit.getPluginManager().getPlugin("TwosideKeeper"), new Runnable() { pd.title_task=Bukkit.getScheduler().scheduleSyncDelayedTask(Bukkit.getPluginManager().getPlugin("TwosideKeeper"), new Runnable() {
@SuppressWarnings("deprecation")
public void run() { public void run() {
if (Bukkit.getPlayer(pd2.name)!=null) { if (Bukkit.getPlayer(pd2.name)!=null) {
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId()); 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) { public void showPlayerStats(Player p, CommandSender receiver) {
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId()); 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 store1=CustomDamage.CalculateDamageReduction(1,p,null);
double store2=CustomDamage.getBaseWeaponDamage(p.getEquipment().getItemInMainHand(), p, null); double store2=CustomDamage.getBaseWeaponDamage(p.getEquipment().getItemInMainHand(), p, null);
pd.damagedealt=store2; pd.damagedealt=store2;
@ -6935,7 +6783,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
if (GenericFunctions.isArtifactEquip(item) && if (GenericFunctions.isArtifactEquip(item) &&
(ArtifactAbility.getEnchantments(item).size()>0 || AwakenedArtifact.getAP(item)>0)) { (ArtifactAbility.getEnchantments(item).size()>0 || AwakenedArtifact.getAP(item)>0)) {
//log("Getting perks...",2); //log("Getting perks...",2);
HashMap enchants = ArtifactAbility.getEnchantments(item); HashMap<ArtifactAbility,Integer> enchants = ArtifactAbility.getEnchantments(item);
tc.addExtra(""); tc.addExtra("");
tc.addExtra(ChatColor.GRAY+""+ChatColor.ITALIC+type+" Perks: "); tc.addExtra(ChatColor.GRAY+""+ChatColor.ITALIC+type+" Perks: ");
if (AwakenedArtifact.getAP(item)>0) { if (AwakenedArtifact.getAP(item)>0) {

View File

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

View File

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