Partial commit to keep repository up-to-date for transfer. Full notes
about all changes coming in next commit.
This commit is contained in:
parent
b42a610154
commit
77efdd3fcc
Binary file not shown.
@ -34,7 +34,6 @@ public class AutoUpdatePlugin implements Runnable {
|
|||||||
try {
|
try {
|
||||||
FileUtils.copyURLToFile(new URL(plugins.get(i).url), new File(TwosideKeeper.filesave,"updates/"+plugins.get(i).name));
|
FileUtils.copyURLToFile(new URL(plugins.get(i).url), new File(TwosideKeeper.filesave,"updates/"+plugins.get(i).name));
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,20 +42,17 @@ public class AutoUpdatePlugin implements Runnable {
|
|||||||
try {
|
try {
|
||||||
file = new FileInputStream(new File(TwosideKeeper.filesave,"updates/"+plugins.get(i).name));
|
file = new FileInputStream(new File(TwosideKeeper.filesave,"updates/"+plugins.get(i).name));
|
||||||
} catch (FileNotFoundException e) {
|
} catch (FileNotFoundException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
String md5 = null;
|
String md5 = null;
|
||||||
try {
|
try {
|
||||||
md5 = org.apache.commons.codec.digest.DigestUtils.md5Hex(file);
|
md5 = org.apache.commons.codec.digest.DigestUtils.md5Hex(file);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
file.close();
|
file.close();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -95,7 +91,6 @@ public class AutoUpdatePlugin implements Runnable {
|
|||||||
FileUtils.copyFile(new File(TwosideKeeper.filesave,"updates/"+plugins.get(i).name),
|
FileUtils.copyFile(new File(TwosideKeeper.filesave,"updates/"+plugins.get(i).name),
|
||||||
new File(TwosideKeeper.filesave,"../"+plugins.get(i).name+".jar"));
|
new File(TwosideKeeper.filesave,"../"+plugins.get(i).name+".jar"));
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
@ -119,7 +114,6 @@ public class AutoUpdatePlugin implements Runnable {
|
|||||||
try {
|
try {
|
||||||
workable.save(config);
|
workable.save(config);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -132,7 +126,6 @@ public class AutoUpdatePlugin implements Runnable {
|
|||||||
try {
|
try {
|
||||||
workable.save(config);
|
workable.save(config);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package sig.plugin.TwosideKeeper.Boss;
|
package sig.plugin.TwosideKeeper.Boss;
|
||||||
|
|
||||||
import java.text.DecimalFormat;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -15,8 +13,6 @@ import org.bukkit.Sound;
|
|||||||
import org.bukkit.attribute.Attribute;
|
import org.bukkit.attribute.Attribute;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.boss.BarColor;
|
import org.bukkit.boss.BarColor;
|
||||||
import org.bukkit.boss.BarFlag;
|
|
||||||
import org.bukkit.boss.BarStyle;
|
|
||||||
import org.bukkit.entity.AreaEffectCloud;
|
import org.bukkit.entity.AreaEffectCloud;
|
||||||
import org.bukkit.entity.Creeper;
|
import org.bukkit.entity.Creeper;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
@ -31,9 +27,7 @@ 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.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
import org.inventivetalent.glow.GlowAPI;
|
|
||||||
|
|
||||||
import sig.plugin.TwosideKeeper.ChargeZombie;
|
|
||||||
import sig.plugin.TwosideKeeper.CustomDamage;
|
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;
|
||||||
@ -91,7 +85,7 @@ public class EliteZombie extends EliteMonster{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createBossHealthbar() {
|
protected void createBossHealthbar() {
|
||||||
List<Player> currentplayers = bar.getPlayers();
|
List<Player> currentplayers = bar.getPlayers();
|
||||||
for (int i=0;i<currentplayers.size();i++) {
|
for (int i=0;i<currentplayers.size();i++) {
|
||||||
if (!targetlist.contains(currentplayers.get(i))) {
|
if (!targetlist.contains(currentplayers.get(i))) {
|
||||||
@ -242,15 +236,15 @@ public class EliteZombie extends EliteMonster{
|
|||||||
if (Math.random()<=0.01) {
|
if (Math.random()<=0.01) {
|
||||||
Player p = ChooseRandomTarget();
|
Player p = ChooseRandomTarget();
|
||||||
//p.addPotionEffect(new PotionEffect(PotionEffectType.LEVITATION,20*5,-31));
|
//p.addPotionEffect(new PotionEffect(PotionEffectType.LEVITATION,20*5,-31));
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.JUMP,20*5,-1,p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.JUMP,20*5,-1,p);
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.BLINDNESS,20*1,7,p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.BLINDNESS,20*1,7,p);
|
||||||
if (Math.random()<=0.25) {
|
if (Math.random()<=0.25) {
|
||||||
m.setTarget(p);
|
m.setTarget(p);
|
||||||
}
|
}
|
||||||
p.setFlying(false);
|
p.setFlying(false);
|
||||||
p.setVelocity(new Vector(0,-1,0));
|
p.setVelocity(new Vector(0,-1,0));
|
||||||
GenericFunctions.logAndRemovePotionEffectFromPlayer(PotionEffectType.LEVITATION,p);
|
GenericFunctions.logAndRemovePotionEffectFromEntity(PotionEffectType.LEVITATION,p);
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.CONFUSION,(int)(20*2.25),0,p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.CONFUSION,(int)(20*2.25),0,p);
|
||||||
p.playSound(p.getLocation(), Sound.BLOCK_ANVIL_FALL, 0.4f, 0.8f);
|
p.playSound(p.getLocation(), Sound.BLOCK_ANVIL_FALL, 0.4f, 0.8f);
|
||||||
p.playSound(p.getLocation(), Sound.ENTITY_MAGMACUBE_SQUISH, 1.0f, 1.0f);
|
p.playSound(p.getLocation(), Sound.ENTITY_MAGMACUBE_SQUISH, 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
@ -358,7 +352,7 @@ public class EliteZombie extends EliteMonster{
|
|||||||
dpslist.put(p.getName(), currentdps+dmg);
|
dpslist.put(p.getName(), currentdps+dmg);
|
||||||
if ((!p.hasPotionEffect(PotionEffectType.WEAKNESS) || GenericFunctions.getPotionEffectLevel(PotionEffectType.WEAKNESS, p)<9) &&
|
if ((!p.hasPotionEffect(PotionEffectType.WEAKNESS) || GenericFunctions.getPotionEffectLevel(PotionEffectType.WEAKNESS, p)<9) &&
|
||||||
!PlayerMode.isRanger(p)) {
|
!PlayerMode.isRanger(p)) {
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.WEAKNESS,35,9,p,true);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.WEAKNESS,35,9,p,true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
last_regen_time=TwosideKeeper.getServerTickTime();
|
last_regen_time=TwosideKeeper.getServerTickTime();
|
||||||
@ -553,7 +547,7 @@ public class EliteZombie extends EliteMonster{
|
|||||||
Player p = (Player)ent;
|
Player p = (Player)ent;
|
||||||
if (storingenergy_hit>0) {
|
if (storingenergy_hit>0) {
|
||||||
p.playSound(p.getLocation(), Sound.ENTITY_ZOMBIE_BREAK_DOOR_WOOD, 1.0f, 1.0f);
|
p.playSound(p.getLocation(), Sound.ENTITY_ZOMBIE_BREAK_DOOR_WOOD, 1.0f, 1.0f);
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.CONFUSION,20*4,0,p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.CONFUSION,20*4,0,p);
|
||||||
TwosideKeeper.log("Got hit for "+storingenergy_hit+" damage!", 2);
|
TwosideKeeper.log("Got hit for "+storingenergy_hit+" damage!", 2);
|
||||||
GenericFunctions.removeNoDamageTick(p, m);
|
GenericFunctions.removeNoDamageTick(p, m);
|
||||||
if (CustomDamage.ApplyDamage(storingenergy_hit, m, p, null, "Stored Energy", CustomDamage.IGNOREDODGE)) {
|
if (CustomDamage.ApplyDamage(storingenergy_hit, m, p, null, "Stored Energy", CustomDamage.IGNOREDODGE)) {
|
||||||
|
@ -1,20 +1,58 @@
|
|||||||
package sig.plugin.TwosideKeeper.Boss;
|
package sig.plugin.TwosideKeeper.Boss;
|
||||||
|
|
||||||
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Monster;
|
import org.bukkit.entity.Monster;
|
||||||
|
import org.bukkit.potion.PotionEffectType;
|
||||||
|
|
||||||
|
import sig.plugin.TwosideKeeper.ChargeZombie;
|
||||||
import sig.plugin.TwosideKeeper.EliteMonster;
|
import sig.plugin.TwosideKeeper.EliteMonster;
|
||||||
|
import sig.plugin.TwosideKeeper.TwosideKeeper;
|
||||||
|
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
|
||||||
|
|
||||||
public class MegaWither extends EliteMonster{
|
public class MegaWither extends EliteMonster{
|
||||||
|
static int DROPDOWN_DURATION = 40;
|
||||||
|
static int DROPDOWN_COOLDOWN = 20*5;
|
||||||
|
long last_dropdowntime=0;
|
||||||
|
|
||||||
public MegaWither(Monster m) {
|
public MegaWither(Monster m) {
|
||||||
super(m);
|
super(m);
|
||||||
|
m.setAI(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void runTick() {
|
public void runTick() {
|
||||||
increaseBarTextScroll();
|
increaseBarTextScroll();
|
||||||
regenerateHealth();
|
regenerateHealth();
|
||||||
|
createBossHealthbar();
|
||||||
resetToSpawn();
|
resetToSpawn();
|
||||||
ignoreAllOtherTargets();
|
ignoreAllOtherTargets();
|
||||||
|
randomlyDropDown();
|
||||||
|
destroyNearbyBlocks();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void destroyNearbyBlocks() {
|
||||||
|
if (targetlist.size()>0) {
|
||||||
|
ChargeZombie.BreakBlocksAroundArea(m, 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void randomlyDropDown() {
|
||||||
|
if (last_dropdowntime+DROPDOWN_COOLDOWN<TwosideKeeper.getServerTickTime()) {
|
||||||
|
last_dropdowntime = TwosideKeeper.getServerTickTime();
|
||||||
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.LEVITATION, 20, -9, m);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Triggers when this mob is hit.
|
||||||
|
public void runHitEvent(LivingEntity damager, double dmg) {
|
||||||
|
super.runHitEvent(damager,dmg);
|
||||||
|
m.setAI(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void resetToSpawn() {
|
||||||
|
super.resetToSpawn();
|
||||||
|
if (targetlist.size()==0) {
|
||||||
|
m.setAI(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ public class ChargeZombie {
|
|||||||
return (m.getTarget()!=null)?true:false;
|
return (m.getTarget()!=null)?true:false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void BreakBlocksAroundArea(int radius) {
|
public static void BreakBlocksAroundArea(Monster m, int radius) {
|
||||||
int outerradius = radius+1;
|
int outerradius = radius+1;
|
||||||
for (int x=-radius-1;x<radius+2;x++) {
|
for (int x=-radius-1;x<radius+2;x++) {
|
||||||
for (int y=-radius;y<radius+3;y++) {
|
for (int y=-radius;y<radius+3;y++) {
|
||||||
|
@ -301,6 +301,8 @@ public class CustomDamage {
|
|||||||
TwosideKeeper.setPlayerMaxHealth(p);
|
TwosideKeeper.setPlayerMaxHealth(p);
|
||||||
p.getScoreboard().getTeam(p.getName().toLowerCase()).setSuffix(TwosideKeeper.createHealthbar(((p.getHealth())/p.getMaxHealth())*100,p));
|
p.getScoreboard().getTeam(p.getName().toLowerCase()).setSuffix(TwosideKeeper.createHealthbar(((p.getHealth())/p.getMaxHealth())*100,p));
|
||||||
p.getScoreboard().getTeam(p.getName().toLowerCase()).setPrefix(GenericFunctions.PlayerModePrefix(p));
|
p.getScoreboard().getTeam(p.getName().toLowerCase()).setPrefix(GenericFunctions.PlayerModePrefix(p));
|
||||||
|
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
|
||||||
|
pd.lasthitdesc = reason;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -326,7 +328,7 @@ public class CustomDamage {
|
|||||||
pd.thorns_amt+=((1-CalculateDamageReduction(1,target,damager))*pd.lastrawdamage)*0.01;
|
pd.thorns_amt+=((1-CalculateDamageReduction(1,target,damager))*pd.lastrawdamage)*0.01;
|
||||||
}
|
}
|
||||||
DecimalFormat df = new DecimalFormat("0.00");
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
GenericFunctions.sendActionBarMessage(p, ChatColor.YELLOW+"Vendetta: "+ChatColor.GREEN+Math.round(pd.vendetta_amt)+((pd.thorns_amt>0)?"/"+ChatColor.GOLD+df.format(pd.thorns_amt):"")+ChatColor.GREEN+" dmg stored");
|
GenericFunctions.sendActionBarMessage(p, ChatColor.YELLOW+"Vendetta: "+ChatColor.GREEN+Math.round(pd.vendetta_amt)+((pd.thorns_amt>0)?"/"+ChatColor.GOLD+df.format(pd.thorns_amt):"")+ChatColor.GREEN+" dmg stored",true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (getDamagerEntity(damager) instanceof Enderman) {
|
if (getDamagerEntity(damager) instanceof Enderman) {
|
||||||
@ -364,10 +366,13 @@ public class CustomDamage {
|
|||||||
GenericFunctions.SubtractSlayerModeHealth(p, damage);
|
GenericFunctions.SubtractSlayerModeHealth(p, damage);
|
||||||
//p.setHealth(pd.slayermodehp);
|
//p.setHealth(pd.slayermodehp);
|
||||||
//damage=0;
|
//damage=0;
|
||||||
|
if (GenericFunctions.hasStealth(p)) {
|
||||||
GenericFunctions.removeStealth(p);
|
GenericFunctions.removeStealth(p);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
pd.slayermegahit=false;
|
pd.slayermegahit=false;
|
||||||
pd.lastcombat=TwosideKeeper.getServerTickTime();
|
pd.lastcombat=TwosideKeeper.getServerTickTime();
|
||||||
|
pd.lasthitdesc=reason;
|
||||||
|
|
||||||
damage = calculateDefenderAbsorption(p, damager, damage);
|
damage = calculateDefenderAbsorption(p, damager, damage);
|
||||||
|
|
||||||
@ -385,7 +390,7 @@ public class CustomDamage {
|
|||||||
//Create an explosion.
|
//Create an explosion.
|
||||||
TwosideKeeper.log("In here", 5);
|
TwosideKeeper.log("In here", 5);
|
||||||
Location hitloc = aPlugin.API.getArrowHitLocation(target, a);
|
Location hitloc = aPlugin.API.getArrowHitLocation(target, a);
|
||||||
GenericFunctions.DealExplosionDamageToEntities(hitloc, getBaseWeaponDamage(weapon,damager,target)+40, 6);
|
GenericFunctions.DealExplosionDamageToEntities(hitloc, getBaseWeaponDamage(weapon,damager,target)+80, 6);
|
||||||
p.playSound(hitloc, Sound.ENTITY_ENDERDRAGON_FIREBALL_EXPLODE, 0.5f, 1.0f);
|
p.playSound(hitloc, Sound.ENTITY_ENDERDRAGON_FIREBALL_EXPLODE, 0.5f, 1.0f);
|
||||||
aPlugin.API.sendSoundlessExplosion(hitloc, 2);
|
aPlugin.API.sendSoundlessExplosion(hitloc, 2);
|
||||||
}
|
}
|
||||||
@ -459,7 +464,7 @@ public class CustomDamage {
|
|||||||
}
|
}
|
||||||
performMegaKnockback(damager,target);
|
performMegaKnockback(damager,target);
|
||||||
removePermEnchantments(p,weapon);
|
removePermEnchantments(p,weapon);
|
||||||
GenericFunctions.knockOffGreed(p);
|
//GenericFunctions.knockOffGreed(p);
|
||||||
castEruption(p,target,weapon);
|
castEruption(p,target,weapon);
|
||||||
addHealthFromLifesteal(p,damage,weapon);
|
addHealthFromLifesteal(p,damage,weapon);
|
||||||
triggerEliteHitEvent(p,target,damage);
|
triggerEliteHitEvent(p,target,damage);
|
||||||
@ -473,13 +478,24 @@ public class CustomDamage {
|
|||||||
if (isFlagSet(pd.lasthitproperties,IS_CRIT)) {
|
if (isFlagSet(pd.lasthitproperties,IS_CRIT)) {
|
||||||
GenericFunctions.addSuppressionTime(target, 15);
|
GenericFunctions.addSuppressionTime(target, 15);
|
||||||
}
|
}
|
||||||
|
if (isFlagSet(pd.lasthitproperties,IS_PREEMPTIVE)) {
|
||||||
|
if (ItemSet.HasSetBonusBasedOnSetBonusCount(GenericFunctions.getHotbarItems(p), p, ItemSet.WOLFSBANE, 7)) {
|
||||||
|
if (pd.slayermodehp+2<p.getMaxHealth()) {
|
||||||
|
pd.slayermodehp+=2;
|
||||||
|
p.setHealth(pd.slayermodehp);
|
||||||
|
} else {
|
||||||
|
pd.slayermodehp=p.getMaxHealth();
|
||||||
|
p.setHealth(pd.slayermodehp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (ItemSet.HasSetBonusBasedOnSetBonusCount(GenericFunctions.getHotbarItems(p), p, ItemSet.MOONSHADOW, 2)) {
|
if (ItemSet.HasSetBonusBasedOnSetBonusCount(GenericFunctions.getHotbarItems(p), p, ItemSet.MOONSHADOW, 2)) {
|
||||||
int poisonlv = (int)ItemSet.TotalBaseAmountBasedOnSetBonusCount(GenericFunctions.getHotbarItems(p), p, ItemSet.MOONSHADOW, 2, 2);
|
int poisonlv = (int)ItemSet.TotalBaseAmountBasedOnSetBonusCount(GenericFunctions.getHotbarItems(p), p, ItemSet.MOONSHADOW, 2, 2);
|
||||||
if (target.hasPotionEffect(PotionEffectType.BLINDNESS) && GenericFunctions.getPotionEffectLevel(PotionEffectType.BLINDNESS, target)<=poisonlv) {
|
if (target.hasPotionEffect(PotionEffectType.BLINDNESS) && GenericFunctions.getPotionEffectLevel(PotionEffectType.BLINDNESS, target)<=poisonlv) {
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.BLINDNESS, 20*15, (int)poisonlv, target);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.BLINDNESS, 20*15, (int)poisonlv, target);
|
||||||
} else {
|
} else {
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.BLINDNESS, 20*15, (int)poisonlv, target, true);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.BLINDNESS, 20*15, (int)poisonlv, target, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -529,9 +545,9 @@ public class CustomDamage {
|
|||||||
int resistancelv = GenericFunctions.getPotionEffectLevel(PotionEffectType.DAMAGE_RESISTANCE, p);
|
int resistancelv = GenericFunctions.getPotionEffectLevel(PotionEffectType.DAMAGE_RESISTANCE, p);
|
||||||
int resistance_duration = GenericFunctions.getPotionEffectDuration(PotionEffectType.DAMAGE_RESISTANCE, p);
|
int resistance_duration = GenericFunctions.getPotionEffectDuration(PotionEffectType.DAMAGE_RESISTANCE, p);
|
||||||
if (resistancelv>0) {
|
if (resistancelv>0) {
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.DAMAGE_RESISTANCE, Math.max(resistance_duration,20*20), resistancelv-1, p, true);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.DAMAGE_RESISTANCE, Math.max(resistance_duration,20*20), resistancelv-1, p, true);
|
||||||
} else {
|
} else {
|
||||||
GenericFunctions.logAndRemovePotionEffectFromPlayer(PotionEffectType.DAMAGE_RESISTANCE,p);
|
GenericFunctions.logAndRemovePotionEffectFromEntity(PotionEffectType.DAMAGE_RESISTANCE,p);
|
||||||
}
|
}
|
||||||
pd.swiftaegisamt--;
|
pd.swiftaegisamt--;
|
||||||
TwosideKeeper.log(pd.swiftaegisamt+" stacks of Aegis remaining.", 5);
|
TwosideKeeper.log(pd.swiftaegisamt+" stacks of Aegis remaining.", 5);
|
||||||
@ -920,7 +936,7 @@ public class CustomDamage {
|
|||||||
pd.thorns_amt+=((1-CalculateDamageReduction(1,target,damager))*(rawdmg*0.01));
|
pd.thorns_amt+=((1-CalculateDamageReduction(1,target,damager))*(rawdmg*0.01));
|
||||||
}
|
}
|
||||||
DecimalFormat df = new DecimalFormat("0.00");
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
GenericFunctions.sendActionBarMessage(p, ChatColor.YELLOW+"Vendetta: "+ChatColor.GREEN+Math.round(pd.vendetta_amt)+((pd.thorns_amt>0)?"/"+ChatColor.GOLD+df.format(pd.thorns_amt):"")+ChatColor.GREEN+" dmg stored");
|
GenericFunctions.sendActionBarMessage(p, ChatColor.YELLOW+"Vendetta: "+ChatColor.GREEN+Math.round(pd.vendetta_amt)+((pd.thorns_amt>0)?"/"+ChatColor.GOLD+df.format(pd.thorns_amt):"")+ChatColor.GREEN+" dmg stored",true);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -1203,8 +1219,8 @@ public class CustomDamage {
|
|||||||
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
|
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
|
||||||
if (pd.iframetime<TwosideKeeper.getServerTickTime()+ticks) {
|
if (pd.iframetime<TwosideKeeper.getServerTickTime()+ticks) {
|
||||||
pd.iframetime=TwosideKeeper.getServerTickTime()+ticks;
|
pd.iframetime=TwosideKeeper.getServerTickTime()+ticks;
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.GLOWING, ticks, 0, p, true);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.GLOWING, ticks, 0, p, true);
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.NIGHT_VISION,ticks,64, p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.NIGHT_VISION,ticks,64, p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1222,10 +1238,10 @@ public class CustomDamage {
|
|||||||
if (p!=null) {
|
if (p!=null) {
|
||||||
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
|
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
|
||||||
pd.iframetime=0;
|
pd.iframetime=0;
|
||||||
GenericFunctions.logAndRemovePotionEffectFromPlayer(PotionEffectType.GLOWING,p);
|
GenericFunctions.logAndRemovePotionEffectFromEntity(PotionEffectType.GLOWING,p);
|
||||||
int level = GenericFunctions.getPotionEffectLevel(PotionEffectType.NIGHT_VISION, p);
|
int level = GenericFunctions.getPotionEffectLevel(PotionEffectType.NIGHT_VISION, p);
|
||||||
if (level==64) {
|
if (level==64) {
|
||||||
GenericFunctions.logAndRemovePotionEffectFromPlayer(PotionEffectType.NIGHT_VISION,p);
|
GenericFunctions.logAndRemovePotionEffectFromEntity(PotionEffectType.NIGHT_VISION,p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1429,6 +1445,8 @@ public class CustomDamage {
|
|||||||
Player p = (Player)damager;
|
Player p = (Player)damager;
|
||||||
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
|
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
|
||||||
dmg += 93.182445*pd.velocity*GenericFunctions.getAbilityValue(ArtifactAbility.HIGHWINDER, weapon);
|
dmg += 93.182445*pd.velocity*GenericFunctions.getAbilityValue(ArtifactAbility.HIGHWINDER, weapon);
|
||||||
|
pd.lasthighwinderhit=TwosideKeeper.getServerTickTime();
|
||||||
|
GenericFunctions.sendActionBarMessage(p, TwosideKeeper.drawVelocityBar(pd.velocity,pd.highwinderdmg),true);
|
||||||
}
|
}
|
||||||
return dmg;
|
return dmg;
|
||||||
}
|
}
|
||||||
@ -2059,10 +2077,10 @@ public class CustomDamage {
|
|||||||
if (totalmoney>=0.01) {
|
if (totalmoney>=0.01) {
|
||||||
p_loc.setY(0);
|
p_loc.setY(0);
|
||||||
p.teleport(p_loc);
|
p.teleport(p_loc);
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.SLOW,20*2,10,p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.SLOW,20*2,10,p);
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.REGENERATION,20*16,6,p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.REGENERATION,20*16,6,p);
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.LEVITATION,20*18,6,p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.LEVITATION,20*18,6,p);
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.DAMAGE_RESISTANCE,20*26,50,p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.DAMAGE_RESISTANCE,20*26,50,p);
|
||||||
DecimalFormat df = new DecimalFormat("0.00");
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
double rand_amt = 0.0;
|
double rand_amt = 0.0;
|
||||||
if (totalmoney>5) {
|
if (totalmoney>5) {
|
||||||
|
@ -33,8 +33,8 @@ public class DeathManager {
|
|||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(TwosideKeeper.plugin, new Runnable() {
|
Bukkit.getScheduler().scheduleSyncDelayedTask(TwosideKeeper.plugin, new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.LEVITATION,15,-2,p,true);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.LEVITATION,15,-2,p,true);
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.JUMP,15,100,p,true);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.JUMP,15,100,p,true);
|
||||||
p.setVelocity(new Vector(0,0,0));
|
p.setVelocity(new Vector(0,0,0));
|
||||||
CustomDamage.removeIframe(p);
|
CustomDamage.removeIframe(p);
|
||||||
Location loc = p.getLocation();
|
Location loc = p.getLocation();
|
||||||
|
@ -10,6 +10,7 @@ import sig.plugin.TwosideKeeper.HelperStructures.ItemSet;
|
|||||||
import sig.plugin.TwosideKeeper.HelperStructures.Loot;
|
import sig.plugin.TwosideKeeper.HelperStructures.Loot;
|
||||||
import sig.plugin.TwosideKeeper.HelperStructures.MonsterDifficulty;
|
import sig.plugin.TwosideKeeper.HelperStructures.MonsterDifficulty;
|
||||||
import sig.plugin.TwosideKeeper.HelperStructures.PlayerMode;
|
import sig.plugin.TwosideKeeper.HelperStructures.PlayerMode;
|
||||||
|
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
|
||||||
|
|
||||||
public class SigDrop extends Drop{
|
public class SigDrop extends Drop{
|
||||||
|
|
||||||
@ -26,7 +27,13 @@ public class SigDrop extends Drop{
|
|||||||
MonsterDifficulty diff;
|
MonsterDifficulty diff;
|
||||||
|
|
||||||
public SigDrop(int amount, int weight, String description, boolean isHardened, boolean isSet, int isWeapon, MonsterDifficulty diff) {
|
public SigDrop(int amount, int weight, String description, boolean isHardened, boolean isSet, int isWeapon, MonsterDifficulty diff) {
|
||||||
super(amount, weight, description);
|
super(amount, weight,
|
||||||
|
"["+GenericFunctions.CapitalizeFirstLetters(diff.name().replace("_", " "))+"]"+
|
||||||
|
((isHardened)?" Hardened":"")+
|
||||||
|
" Mega"+
|
||||||
|
(isSet?" Set":"")+
|
||||||
|
(isWeapon==0?" Armor":isWeapon==1?" Weapon":" Tool")
|
||||||
|
);
|
||||||
this.isHardened=isHardened;
|
this.isHardened=isHardened;
|
||||||
this.isSet=isSet;
|
this.isSet=isSet;
|
||||||
this.isWeapon=isWeapon;
|
this.isWeapon=isWeapon;
|
||||||
|
@ -7,10 +7,8 @@ import java.util.List;
|
|||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Color;
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Particle;
|
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
import org.bukkit.attribute.Attribute;
|
import org.bukkit.attribute.Attribute;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
@ -18,25 +16,15 @@ import org.bukkit.boss.BarColor;
|
|||||||
import org.bukkit.boss.BarFlag;
|
import org.bukkit.boss.BarFlag;
|
||||||
import org.bukkit.boss.BarStyle;
|
import org.bukkit.boss.BarStyle;
|
||||||
import org.bukkit.boss.BossBar;
|
import org.bukkit.boss.BossBar;
|
||||||
import org.bukkit.entity.AreaEffectCloud;
|
import org.bukkit.entity.EnderDragon;
|
||||||
import org.bukkit.entity.Creeper;
|
|
||||||
import org.bukkit.entity.EntityType;
|
|
||||||
import org.bukkit.entity.FallingBlock;
|
|
||||||
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.entity.Wither;
|
||||||
import org.bukkit.metadata.FixedMetadataValue;
|
|
||||||
import org.bukkit.potion.PotionData;
|
|
||||||
import org.bukkit.potion.PotionEffect;
|
|
||||||
import org.bukkit.potion.PotionEffectType;
|
import org.bukkit.potion.PotionEffectType;
|
||||||
import org.bukkit.potion.PotionType;
|
|
||||||
import org.bukkit.util.Vector;
|
import org.bukkit.util.Vector;
|
||||||
import org.inventivetalent.glow.GlowAPI;
|
import org.inventivetalent.glow.GlowAPI;
|
||||||
|
|
||||||
import sig.plugin.TwosideKeeper.HelperStructures.Loot;
|
|
||||||
import sig.plugin.TwosideKeeper.HelperStructures.MonsterDifficulty;
|
|
||||||
import sig.plugin.TwosideKeeper.HelperStructures.PlayerMode;
|
|
||||||
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
|
import sig.plugin.TwosideKeeper.HelperStructures.Common.GenericFunctions;
|
||||||
|
|
||||||
public class EliteMonster {
|
public class EliteMonster {
|
||||||
@ -120,7 +108,12 @@ public class EliteMonster {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createBossHealthbar() {
|
protected void createBossHealthbar() {
|
||||||
|
if (m instanceof Wither || m instanceof EnderDragon) {
|
||||||
|
bar.removeAll();
|
||||||
|
willpower_bar.removeAll();
|
||||||
|
return;
|
||||||
|
}
|
||||||
List<Player> currentplayers = bar.getPlayers();
|
List<Player> currentplayers = bar.getPlayers();
|
||||||
for (int i=0;i<currentplayers.size();i++) {
|
for (int i=0;i<currentplayers.size();i++) {
|
||||||
if (!targetlist.contains(currentplayers.get(i))) {
|
if (!targetlist.contains(currentplayers.get(i))) {
|
||||||
@ -201,15 +194,15 @@ public class EliteMonster {
|
|||||||
if (Math.random()<=0.01) {
|
if (Math.random()<=0.01) {
|
||||||
Player p = ChooseRandomTarget();
|
Player p = ChooseRandomTarget();
|
||||||
//p.addPotionEffect(new PotionEffect(PotionEffectType.LEVITATION,20*5,-31));
|
//p.addPotionEffect(new PotionEffect(PotionEffectType.LEVITATION,20*5,-31));
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.JUMP,20*5,-1,p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.JUMP,20*5,-1,p);
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.BLINDNESS,20*1,7,p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.BLINDNESS,20*1,7,p);
|
||||||
if (Math.random()<=0.25) {
|
if (Math.random()<=0.25) {
|
||||||
m.setTarget(p);
|
m.setTarget(p);
|
||||||
}
|
}
|
||||||
p.setFlying(false);
|
p.setFlying(false);
|
||||||
p.setVelocity(new Vector(0,-1,0));
|
p.setVelocity(new Vector(0,-1,0));
|
||||||
GenericFunctions.logAndRemovePotionEffectFromPlayer(PotionEffectType.LEVITATION,p);
|
GenericFunctions.logAndRemovePotionEffectFromEntity(PotionEffectType.LEVITATION,p);
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.CONFUSION,(int)(20*2.25),0,p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.CONFUSION,(int)(20*2.25),0,p);
|
||||||
p.playSound(p.getLocation(), Sound.BLOCK_ANVIL_FALL, 0.4f, 0.8f);
|
p.playSound(p.getLocation(), Sound.BLOCK_ANVIL_FALL, 0.4f, 0.8f);
|
||||||
p.playSound(p.getLocation(), Sound.ENTITY_MAGMACUBE_SQUISH, 1.0f, 1.0f);
|
p.playSound(p.getLocation(), Sound.ENTITY_MAGMACUBE_SQUISH, 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
@ -275,7 +268,7 @@ public class EliteMonster {
|
|||||||
public Player ChooseRandomTarget() {
|
public Player ChooseRandomTarget() {
|
||||||
if (targetlist.size()>0) {
|
if (targetlist.size()>0) {
|
||||||
Player p = targetlist.get((int)(Math.random() * targetlist.size()));
|
Player p = targetlist.get((int)(Math.random() * targetlist.size()));
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.BLINDNESS,20*1,7,p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.BLINDNESS,20*1,7,p);
|
||||||
m.setTarget(p);
|
m.setTarget(p);
|
||||||
TwosideKeeper.log("Set new target to "+p.getName(), 2);
|
TwosideKeeper.log("Set new target to "+p.getName(), 2);
|
||||||
return p;
|
return p;
|
||||||
|
@ -110,7 +110,7 @@ public enum ArtifactAbility {
|
|||||||
//General abilities
|
//General abilities
|
||||||
AUTOREPAIR("Auto Repair","1% chance every second to repair [VAL] durability to the artifact item\n\nThe item must be sitting in your hotbar or must be equipped for this ability to work. This ability is less effective with no sunlight!",new double[]{3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,10,15},
|
AUTOREPAIR("Auto Repair","1% chance every second to repair [VAL] durability to the artifact item\n\nThe item must be sitting in your hotbar or must be equipped for this ability to work. This ability is less effective with no sunlight!",new double[]{3,3.5,4,4.5,5,5.5,6,6.5,7,7.5,8,8.5,9,10,15},
|
||||||
new double[]{1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},10,1,UpgradePath.ALL),
|
new double[]{1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0},10,1,UpgradePath.ALL),
|
||||||
GREED("Greed","Increases Drop rate by [VAL]% . Health is halved, health regeneration is halved. Each hit has a [GREEDCHANCE]% chance to consume the Greed buff."+TemporarySkill(),new double[]{1,2,3,4,5,7,9,11,13,15,17,19,25,35,50},
|
GREED("Greed","Increases Drop rate by [VAL]% . Health is halved, health regeneration is halved. Each kill has a [GREEDCHANCE]% chance to consume the Greed buff."+TemporarySkill(),new double[]{1,2,3,4,5,7,9,11,13,15,17,19,25,35,50},
|
||||||
new double[]{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0},10,10,UpgradePath.ALL),
|
new double[]{0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0},10,10,UpgradePath.ALL),
|
||||||
/*GROWTH("Growth",ChatColor.GRAY+"[Unimplemented] Increases artifact EXP gained by [VAL]% . Health is halved, health regeneration is halved, and damage reduction is halved. Consumes one level of Growth per level up.",new double[]{100,100,100,100,100,100,100,100,100,100},
|
/*GROWTH("Growth",ChatColor.GRAY+"[Unimplemented] Increases artifact EXP gained by [VAL]% . Health is halved, health regeneration is halved, and damage reduction is halved. Consumes one level of Growth per level up.",new double[]{100,100,100,100,100,100,100,100,100,100},
|
||||||
new double[]{2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0},100,1000,UpgradePath.ALL),*/
|
new double[]{2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0},100,1000,UpgradePath.ALL),*/
|
||||||
@ -627,7 +627,7 @@ public enum ArtifactAbility {
|
|||||||
msg=msg.replace("[FATALDMG]", DisplayChangedValue(df.format(120-fromlv),df.format(120-tolv)));
|
msg=msg.replace("[FATALDMG]", DisplayChangedValue(df.format(120-fromlv),df.format(120-tolv)));
|
||||||
msg=msg.replace("[REPAIRCHANCE]", df.format(tier/3));
|
msg=msg.replace("[REPAIRCHANCE]", df.format(tier/3));
|
||||||
msg=msg.replace("[DODGEVAL]", df.format(tier));
|
msg=msg.replace("[DODGEVAL]", df.format(tier));
|
||||||
msg=msg.replace("[GREEDCHANCE]", ChatColor.BLUE+df.format((16-tier)*0.1d)+ChatColor.RESET);
|
msg=msg.replace("[GREEDCHANCE]", ChatColor.BLUE+df.format((100d/tier))+ChatColor.RESET);
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
package sig.plugin.TwosideKeeper.HelperStructures.Common;
|
package sig.plugin.TwosideKeeper.HelperStructures.Common;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.PrintWriter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -12,6 +16,7 @@ import org.bukkit.Effect;
|
|||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
|
import org.bukkit.attribute.Attribute;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.Sign;
|
import org.bukkit.block.Sign;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@ -2647,12 +2652,13 @@ public class GenericFunctions {
|
|||||||
ArtifactAbility.containsEnchantment(ArtifactAbility.GREED, item)) {
|
ArtifactAbility.containsEnchantment(ArtifactAbility.GREED, item)) {
|
||||||
TwosideKeeper.log("Found one.",5);
|
TwosideKeeper.log("Found one.",5);
|
||||||
int tier = item.getEnchantmentLevel(Enchantment.LUCK);
|
int tier = item.getEnchantmentLevel(Enchantment.LUCK);
|
||||||
if (Math.random()<=((16-tier)*0.1d)/100d) {
|
if (Math.random()<=(100d/tier)/100d) {
|
||||||
item = ArtifactAbility.downgradeEnchantment(p, item, ArtifactAbility.GREED);p.sendMessage(ChatColor.DARK_AQUA+"A level of "+ChatColor.YELLOW+"Greed"+ChatColor.DARK_AQUA+" has been knocked off of your "+((item.hasItemMeta() && item.getItemMeta().hasDisplayName())?item.getItemMeta().getDisplayName():UserFriendlyMaterialName(item)));
|
item = ArtifactAbility.downgradeEnchantment(p, item, ArtifactAbility.GREED);
|
||||||
|
p.sendMessage(ChatColor.DARK_AQUA+"A level of "+ChatColor.YELLOW+"Greed"+ChatColor.DARK_AQUA+" has been knocked off of your "+((item.hasItemMeta() && item.getItemMeta().hasDisplayName())?item.getItemMeta().getDisplayName():UserFriendlyMaterialName(item)));
|
||||||
//AwakenedArtifact.setLV(item, AwakenedArtifact.getLV(item)-1, p);
|
//AwakenedArtifact.setLV(item, AwakenedArtifact.getLV(item)-1, p);
|
||||||
AwakenedArtifact.setMaxAP(item, AwakenedArtifact.getMaxAP(item)-1);
|
AwakenedArtifact.setMaxAP(item, AwakenedArtifact.getMaxAP(item)-1);
|
||||||
brokeone=true;
|
brokeone=true;
|
||||||
break;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2662,11 +2668,12 @@ public class GenericFunctions {
|
|||||||
if (isArtifactEquip(item) &&
|
if (isArtifactEquip(item) &&
|
||||||
ArtifactAbility.containsEnchantment(ArtifactAbility.GREED, item)) {
|
ArtifactAbility.containsEnchantment(ArtifactAbility.GREED, item)) {
|
||||||
int tier = item.getEnchantmentLevel(Enchantment.LUCK);
|
int tier = item.getEnchantmentLevel(Enchantment.LUCK);
|
||||||
if (Math.random()<=((16-tier)*0.1d)/100d) {
|
if (Math.random()<=(100d/tier)/100d) {
|
||||||
item = ArtifactAbility.downgradeEnchantment(p, item, ArtifactAbility.GREED);
|
item = ArtifactAbility.downgradeEnchantment(p, item, ArtifactAbility.GREED);
|
||||||
AwakenedArtifact.setLV(item, AwakenedArtifact.getLV(item)-1, p);
|
AwakenedArtifact.setLV(item, AwakenedArtifact.getLV(item)-1, p);
|
||||||
p.sendMessage(ChatColor.DARK_AQUA+"A level of "+ChatColor.YELLOW+"Greed"+ChatColor.DARK_AQUA+" has been knocked off of your "+((item.hasItemMeta() && item.getItemMeta().hasDisplayName())?item.getItemMeta().getDisplayName():UserFriendlyMaterialName(item)));
|
p.sendMessage(ChatColor.DARK_AQUA+"A level of "+ChatColor.YELLOW+"Greed"+ChatColor.DARK_AQUA+" has been knocked off of your "+((item.hasItemMeta() && item.getItemMeta().hasDisplayName())?item.getItemMeta().getDisplayName():UserFriendlyMaterialName(item)));
|
||||||
brokeone=true;
|
brokeone=true;
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2736,7 +2743,7 @@ public class GenericFunctions {
|
|||||||
CustomDamage.addIframe(dodgeduration, p);
|
CustomDamage.addIframe(dodgeduration, p);
|
||||||
|
|
||||||
|
|
||||||
logAndApplyPotionEffectToPlayer(PotionEffectType.SPEED,dodgeduration,2,p);
|
logAndApplyPotionEffectToEntity(PotionEffectType.SPEED,dodgeduration,2,p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2746,11 +2753,11 @@ public class GenericFunctions {
|
|||||||
return (int)(cooldown*(1-cdr));
|
return (int)(cooldown*(1-cdr));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void logAndApplyPotionEffectToPlayer(PotionEffectType type, int ticks, int amplifier, LivingEntity p) {
|
public static void logAndApplyPotionEffectToEntity(PotionEffectType type, int ticks, int amplifier, LivingEntity p) {
|
||||||
logAndApplyPotionEffectToPlayer(type,ticks,amplifier,p,false);
|
logAndApplyPotionEffectToEntity(type,ticks,amplifier,p,false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void logAndApplyPotionEffectToPlayer(PotionEffectType type, int ticks, int amplifier, LivingEntity p, boolean force) {
|
public static void logAndApplyPotionEffectToEntity(PotionEffectType type, int ticks, int amplifier, LivingEntity p, boolean force) {
|
||||||
TwosideKeeper.log(ChatColor.WHITE+"Adding Potion Effect "+type.getName()+" "+WorldShop.toRomanNumeral((amplifier+1))+"("+amplifier+") to "+p.getName()+" with "+ticks+" tick duration. "+((force)?ChatColor.RED+"FORCED":""), TwosideKeeper.POTION_DEBUG_LEVEL);
|
TwosideKeeper.log(ChatColor.WHITE+"Adding Potion Effect "+type.getName()+" "+WorldShop.toRomanNumeral((amplifier+1))+"("+amplifier+") to "+p.getName()+" with "+ticks+" tick duration. "+((force)?ChatColor.RED+"FORCED":""), TwosideKeeper.POTION_DEBUG_LEVEL);
|
||||||
if (p.hasPotionEffect(type)) {
|
if (p.hasPotionEffect(type)) {
|
||||||
TwosideKeeper.log(ChatColor.YELLOW+" Already had effect on Player "+p.getName()+". "+type.getName()+" "+WorldShop.toRomanNumeral((getPotionEffectLevel(type,p)+1))+"("+getPotionEffectLevel(type,p)+"), Duration: "+getPotionEffectDuration(type,p)+" ticks", TwosideKeeper.POTION_DEBUG_LEVEL);
|
TwosideKeeper.log(ChatColor.YELLOW+" Already had effect on Player "+p.getName()+". "+type.getName()+" "+WorldShop.toRomanNumeral((getPotionEffectLevel(type,p)+1))+"("+getPotionEffectLevel(type,p)+"), Duration: "+getPotionEffectDuration(type,p)+" ticks", TwosideKeeper.POTION_DEBUG_LEVEL);
|
||||||
@ -2776,10 +2783,10 @@ public class GenericFunctions {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void logAndRemovePotionEffectFromPlayer(PotionEffectType type, LivingEntity p) {
|
public static void logAndRemovePotionEffectFromEntity(PotionEffectType type, LivingEntity p) {
|
||||||
TwosideKeeper.log(ChatColor.WHITE+"Removing Potion Effect "+type+" "+WorldShop.toRomanNumeral((getPotionEffectLevel(type,p)+1))+"("+getPotionEffectLevel(type,p)+") on Player "+p.getName()+" Duration: "+getPotionEffectDuration(type,p)+" ticks by adding a 0 duration version of this effect.", TwosideKeeper.POTION_DEBUG_LEVEL);
|
TwosideKeeper.log(ChatColor.WHITE+"Removing Potion Effect "+type+" "+WorldShop.toRomanNumeral((getPotionEffectLevel(type,p)+1))+"("+getPotionEffectLevel(type,p)+") on Player "+p.getName()+" Duration: "+getPotionEffectDuration(type,p)+" ticks by adding a 0 duration version of this effect.", TwosideKeeper.POTION_DEBUG_LEVEL);
|
||||||
//p.removePotionEffect(type);
|
//p.removePotionEffect(type);
|
||||||
logAndApplyPotionEffectToPlayer(type,1,0,p,true);
|
logAndApplyPotionEffectToEntity(type,1,0,p,true);
|
||||||
if (p.hasPotionEffect(type)) {
|
if (p.hasPotionEffect(type)) {
|
||||||
TwosideKeeper.log(ChatColor.DARK_RED+" Effect on Player "+p.getName()+" is now "+type+" "+WorldShop.toRomanNumeral((getPotionEffectLevel(type,p)+1))+"("+getPotionEffectLevel(type,p)+"), Duration: "+getPotionEffectDuration(type,p)+" ticks", TwosideKeeper.POTION_DEBUG_LEVEL);
|
TwosideKeeper.log(ChatColor.DARK_RED+" Effect on Player "+p.getName()+" is now "+type+" "+WorldShop.toRomanNumeral((getPotionEffectLevel(type,p)+1))+"("+getPotionEffectLevel(type,p)+"), Duration: "+getPotionEffectDuration(type,p)+" ticks", TwosideKeeper.POTION_DEBUG_LEVEL);
|
||||||
TwosideKeeper.log(ChatColor.RED+"THIS SHOULD NOT BE HAPPENING! Reporting", TwosideKeeper.POTION_DEBUG_LEVEL);
|
TwosideKeeper.log(ChatColor.RED+"THIS SHOULD NOT BE HAPPENING! Reporting", TwosideKeeper.POTION_DEBUG_LEVEL);
|
||||||
@ -2974,7 +2981,7 @@ public class GenericFunctions {
|
|||||||
if (pd.last_rejuvenate+GetModifiedCooldown(TwosideKeeper.REJUVENATE_COOLDOWN,player)<=TwosideKeeper.getServerTickTime()) {
|
if (pd.last_rejuvenate+GetModifiedCooldown(TwosideKeeper.REJUVENATE_COOLDOWN,player)<=TwosideKeeper.getServerTickTime()) {
|
||||||
player.playSound(player.getLocation(), Sound.ENTITY_ZOMBIE_VILLAGER_CURE, 1.0f, 1.0f);
|
player.playSound(player.getLocation(), Sound.ENTITY_ZOMBIE_VILLAGER_CURE, 1.0f, 1.0f);
|
||||||
addIFrame(player,40);
|
addIFrame(player,40);
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.REGENERATION,200,9,player,true);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.REGENERATION,200,9,player,true);
|
||||||
aPlugin.API.sendCooldownPacket(player, player.getEquipment().getItemInMainHand(), GetModifiedCooldown(TwosideKeeper.REJUVENATE_COOLDOWN,player));
|
aPlugin.API.sendCooldownPacket(player, player.getEquipment().getItemInMainHand(), GetModifiedCooldown(TwosideKeeper.REJUVENATE_COOLDOWN,player));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3305,7 +3312,7 @@ public class GenericFunctions {
|
|||||||
RevivePlayer(p,p.getMaxHealth());
|
RevivePlayer(p,p.getMaxHealth());
|
||||||
pd.slayermodehp = p.getMaxHealth();
|
pd.slayermodehp = p.getMaxHealth();
|
||||||
if (PlayerMode.getPlayerMode(p)==PlayerMode.SLAYER) {GenericFunctions.applyStealth(p,false);}
|
if (PlayerMode.getPlayerMode(p)==PlayerMode.SLAYER) {GenericFunctions.applyStealth(p,false);}
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.SPEED, 20*10, 3, p, true);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.SPEED, 20*10, 3, p, true);
|
||||||
deAggroNearbyTargets(p);
|
deAggroNearbyTargets(p);
|
||||||
revived=true;
|
revived=true;
|
||||||
Bukkit.broadcastMessage(ChatColor.GOLD+p.getName()+ChatColor.WHITE+" almost died... But came back to life!");
|
Bukkit.broadcastMessage(ChatColor.GOLD+p.getName()+ChatColor.WHITE+" almost died... But came back to life!");
|
||||||
@ -3367,11 +3374,11 @@ public class GenericFunctions {
|
|||||||
|
|
||||||
public static void deAggroNearbyTargets(Player p) {
|
public static void deAggroNearbyTargets(Player p) {
|
||||||
//List<Monster> monsters = getNearbyMobs(p.getLocation(),8);
|
//List<Monster> monsters = getNearbyMobs(p.getLocation(),8);
|
||||||
List<Monster> monsters = CustomDamage.trimNonMonsterEntities(p.getNearbyEntities(8, 8, 8));
|
List<Monster> monsters = CustomDamage.trimNonMonsterEntities(p.getNearbyEntities(24, 24, 24));
|
||||||
for (Monster m : monsters) {
|
for (Monster m : monsters) {
|
||||||
if (m.getTarget()!=null &&
|
if (m.getTarget()!=null &&
|
||||||
m.getTarget().equals(p) &&
|
m.getTarget().equals(p) &&
|
||||||
m.addPotionEffect(new PotionEffect(PotionEffectType.GLOWING,5,0))) {
|
!m.hasPotionEffect(PotionEffectType.GLOWING)) {
|
||||||
m.setTarget(null);
|
m.setTarget(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3384,7 +3391,7 @@ public class GenericFunctions {
|
|||||||
if (isBadEffect(eff.getType())) {
|
if (isBadEffect(eff.getType())) {
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(TwosideKeeper.plugin,
|
Bukkit.getScheduler().scheduleSyncDelayedTask(TwosideKeeper.plugin,
|
||||||
() -> {
|
() -> {
|
||||||
logAndRemovePotionEffectFromPlayer(eff.getType(),p);
|
logAndRemovePotionEffectFromEntity(eff.getType(),p);
|
||||||
}, 1);
|
}, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3543,7 +3550,7 @@ public class GenericFunctions {
|
|||||||
Player p = (Player)damager;
|
Player p = (Player)damager;
|
||||||
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
|
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
|
||||||
pd.last_strikerspell = pd.last_strikerspell-40;
|
pd.last_strikerspell = pd.last_strikerspell-40;
|
||||||
aPlugin.API.sendCooldownPacket(p, p.getEquipment().getItemInMainHand(), (int)(GetModifiedCooldown(TwosideKeeper.LINEDRIVE_COOLDOWN,p)-(TwosideKeeper.getServerTickTime()-pd.last_strikerspell)));
|
aPlugin.API.sendCooldownPacket(p, p.getEquipment().getItemInMainHand(), GetRemainingCooldownTime(p, pd.last_strikerspell, TwosideKeeper.LINEDRIVE_COOLDOWN));
|
||||||
}
|
}
|
||||||
updateNoDamageTickMap(m,(Player)damager);
|
updateNoDamageTickMap(m,(Player)damager);
|
||||||
}
|
}
|
||||||
@ -3551,6 +3558,10 @@ public class GenericFunctions {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static int GetRemainingCooldownTime(Player p, long current_cooldown, int cooldown_time) {
|
||||||
|
return (int)(GetModifiedCooldown(cooldown_time,p)-(TwosideKeeper.getServerTickTime()-current_cooldown));
|
||||||
|
}
|
||||||
|
|
||||||
public static List<LivingEntity> getNearbyMobs(Location l, int range) {
|
public static List<LivingEntity> getNearbyMobs(Location l, int range) {
|
||||||
Collection<Entity> ents = l.getWorld().getNearbyEntities(l, range, range, range);
|
Collection<Entity> ents = l.getWorld().getNearbyEntities(l, range, range, range);
|
||||||
List<LivingEntity> monsterlist = new ArrayList<LivingEntity>();
|
List<LivingEntity> monsterlist = new ArrayList<LivingEntity>();
|
||||||
@ -3818,10 +3829,10 @@ public class GenericFunctions {
|
|||||||
if (resistancelv+swiftaegislv<9) {
|
if (resistancelv+swiftaegislv<9) {
|
||||||
//Apply it directly.
|
//Apply it directly.
|
||||||
pd.swiftaegisamt+=swiftaegislv;
|
pd.swiftaegisamt+=swiftaegislv;
|
||||||
logAndApplyPotionEffectToPlayer(PotionEffectType.DAMAGE_RESISTANCE, Math.max(20*20, resistance_duration), (resistancelv+swiftaegislv),p,true);
|
logAndApplyPotionEffectToEntity(PotionEffectType.DAMAGE_RESISTANCE, Math.max(20*20, resistance_duration), (resistancelv+swiftaegislv),p,true);
|
||||||
} else {
|
} else {
|
||||||
pd.swiftaegisamt+=Math.max(9-resistancelv,0);
|
pd.swiftaegisamt+=Math.max(9-resistancelv,0);
|
||||||
logAndApplyPotionEffectToPlayer(PotionEffectType.DAMAGE_RESISTANCE, Math.max(20*20, resistance_duration),9,p,true);
|
logAndApplyPotionEffectToEntity(PotionEffectType.DAMAGE_RESISTANCE, Math.max(20*20, resistance_duration),9,p,true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TwosideKeeper.log("New Aegis level: "+pd.swiftaegisamt,5);
|
TwosideKeeper.log("New Aegis level: "+pd.swiftaegisamt,5);
|
||||||
@ -3856,11 +3867,11 @@ 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) {
|
||||||
logAndApplyPotionEffectToPlayer(neweffect.getType(), neweffect.getDuration(),neweffect.getAmplifier(), p, true);
|
logAndApplyPotionEffectToEntity(neweffect.getType(), neweffect.getDuration(),neweffect.getAmplifier(), p, true);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
PotionEffect neweffect = new PotionEffect(type,tick_duration,0);
|
PotionEffect neweffect = new PotionEffect(type,tick_duration,0);
|
||||||
logAndApplyPotionEffectToPlayer(neweffect.getType(), neweffect.getDuration(),neweffect.getAmplifier(), p, true);
|
logAndApplyPotionEffectToEntity(neweffect.getType(), neweffect.getDuration(),neweffect.getAmplifier(), p, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3874,7 +3885,9 @@ public class GenericFunctions {
|
|||||||
if (set!=null &&
|
if (set!=null &&
|
||||||
(set==ItemSet.LORASYS ||
|
(set==ItemSet.LORASYS ||
|
||||||
set==ItemSet.GLADOMAIN ||
|
set==ItemSet.GLADOMAIN ||
|
||||||
set==ItemSet.MOONSHADOW)) {
|
set==ItemSet.MOONSHADOW ||
|
||||||
|
set==ItemSet.WOLFSBANE ||
|
||||||
|
set==ItemSet.ALUSTINE)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3909,7 +3922,7 @@ public class GenericFunctions {
|
|||||||
}
|
}
|
||||||
if (Math.random()<=removechance/100) {
|
if (Math.random()<=removechance/100) {
|
||||||
if (type!=null && (!type.equals(PotionEffectType.WEAKNESS) || level<9)) {
|
if (type!=null && (!type.equals(PotionEffectType.WEAKNESS) || level<9)) {
|
||||||
GenericFunctions.logAndRemovePotionEffectFromPlayer(type,p);
|
GenericFunctions.logAndRemovePotionEffectFromEntity(type,p);
|
||||||
p.sendMessage(ChatColor.DARK_GRAY+"You successfully resisted the application of "+ChatColor.WHITE+GenericFunctions.CapitalizeFirstLetters(type.getName().replace("_", " ")));
|
p.sendMessage(ChatColor.DARK_GRAY+"You successfully resisted the application of "+ChatColor.WHITE+GenericFunctions.CapitalizeFirstLetters(type.getName().replace("_", " ")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3944,11 +3957,11 @@ public class GenericFunctions {
|
|||||||
|
|
||||||
public static void logToFile(String message) {
|
public static void logToFile(String message) {
|
||||||
try {
|
try {
|
||||||
if (!TwosideKeeper.getT.exists()) {
|
if (!TwosideKeeper.filesave.exists()) {
|
||||||
savePath.mkdir();
|
TwosideKeeper.filesave.mkdir();
|
||||||
}
|
}
|
||||||
|
|
||||||
File saveTo = new File(plugin.getDataFolder(), "aPluginLogger.txt");
|
File saveTo = new File(TwosideKeeper.filesave, "TwosideKeeperlogger.txt");
|
||||||
if (!saveTo.exists()) {
|
if (!saveTo.exists()) {
|
||||||
saveTo.createNewFile();
|
saveTo.createNewFile();
|
||||||
}
|
}
|
||||||
@ -3974,13 +3987,13 @@ public class GenericFunctions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void applyStealth(Player p, boolean blindness_effect) {
|
public static void applyStealth(Player p, boolean blindness_effect) {
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.INVISIBILITY, Integer.MAX_VALUE, 111, p, true);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.INVISIBILITY, Integer.MAX_VALUE, 111, p, true);
|
||||||
if (blindness_effect) {GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.BLINDNESS, 20*2, 111, p);}
|
if (blindness_effect) {GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.BLINDNESS, 20*2, 111, p);}
|
||||||
p.playSound(p.getLocation(), Sound.ENTITY_GENERIC_EXTINGUISH_FIRE, 1.0f, 0.5f);
|
p.playSound(p.getLocation(), Sound.ENTITY_GENERIC_EXTINGUISH_FIRE, 1.0f, 0.5f);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void removeStealth(Player p) {
|
public static void removeStealth(Player p) {
|
||||||
GenericFunctions.logAndRemovePotionEffectFromPlayer(PotionEffectType.INVISIBILITY, p);
|
GenericFunctions.logAndRemovePotionEffectFromEntity(PotionEffectType.INVISIBILITY, p);
|
||||||
GenericFunctions.addIFrame(p, 10);
|
GenericFunctions.addIFrame(p, 10);
|
||||||
p.playSound(p.getLocation(), Sound.BLOCK_REDSTONE_TORCH_BURNOUT, 1.0f, 1.0f);
|
p.playSound(p.getLocation(), Sound.BLOCK_REDSTONE_TORCH_BURNOUT, 1.0f, 1.0f);
|
||||||
}
|
}
|
||||||
@ -4003,7 +4016,7 @@ public class GenericFunctions {
|
|||||||
Vector facing = p.getLocation().getDirection();
|
Vector facing = p.getLocation().getDirection();
|
||||||
if (!second_charge) {
|
if (!second_charge) {
|
||||||
facing = p.getLocation().getDirection().setY(0);
|
facing = p.getLocation().getDirection().setY(0);
|
||||||
logAndApplyPotionEffectToPlayer(PotionEffectType.SLOW,(ex_version)?7:15,20,p);
|
logAndApplyPotionEffectToEntity(PotionEffectType.SLOW,(ex_version)?7:15,20,p);
|
||||||
}
|
}
|
||||||
if (!ex_version || second_charge) {
|
if (!ex_version || second_charge) {
|
||||||
aPlugin.API.sendCooldownPacket(p, weaponused, GetModifiedCooldown(TwosideKeeper.LINEDRIVE_COOLDOWN,p));
|
aPlugin.API.sendCooldownPacket(p, weaponused, GetModifiedCooldown(TwosideKeeper.LINEDRIVE_COOLDOWN,p));
|
||||||
@ -4081,6 +4094,7 @@ public class GenericFunctions {
|
|||||||
mult += 2.0;
|
mult += 2.0;
|
||||||
pitch-=1.0;
|
pitch-=1.0;
|
||||||
}
|
}
|
||||||
|
Location originalloc = player.getLocation().clone();
|
||||||
Location teleloc = target.getLocation().add(target.getLocation().getDirection().multiply(-1.0-mult));
|
Location teleloc = target.getLocation().add(target.getLocation().getDirection().multiply(-1.0-mult));
|
||||||
int i=0;
|
int i=0;
|
||||||
while (teleloc.getBlock().getType().isSolid() || teleloc.getBlock().getType()==Material.BEDROCK) {
|
while (teleloc.getBlock().getType().isSolid() || teleloc.getBlock().getType()==Material.BEDROCK) {
|
||||||
@ -4105,16 +4119,33 @@ public class GenericFunctions {
|
|||||||
}
|
}
|
||||||
player.playSound(teleloc, Sound.BLOCK_NOTE_SNARE, 1.0f, 1.0f);
|
player.playSound(teleloc, Sound.BLOCK_NOTE_SNARE, 1.0f, 1.0f);
|
||||||
teleloc.setPitch((float)pitch);
|
teleloc.setPitch((float)pitch);
|
||||||
|
|
||||||
|
PlayerStructure pd = PlayerStructure.GetPlayerStructure(player);
|
||||||
|
|
||||||
player.teleport(teleloc);
|
player.teleport(teleloc);
|
||||||
Location newfacingdir = target.getLocation().setDirection(target.getLocation().getDirection());
|
Location newfacingdir = target.getLocation().setDirection(target.getLocation().getDirection());
|
||||||
target.teleport(newfacingdir);
|
target.teleport(newfacingdir);
|
||||||
PlayerStructure pd = PlayerStructure.GetPlayerStructure(player);
|
|
||||||
if (name!=Material.SKULL_ITEM || pd.lastlifesavertime+GetModifiedCooldown(TwosideKeeper.LIFESAVER_COOLDOWN,player)<TwosideKeeper.getServerTickTime()) { //Don't overwrite life saver cooldowns.
|
if (name!=Material.SKULL_ITEM || pd.lastlifesavertime+GetModifiedCooldown(TwosideKeeper.LIFESAVER_COOLDOWN,player)<TwosideKeeper.getServerTickTime()) { //Don't overwrite life saver cooldowns.
|
||||||
aPlugin.API.sendCooldownPacket(player, name, GetModifiedCooldown(TwosideKeeper.ASSASSINATE_COOLDOWN,player));
|
aPlugin.API.sendCooldownPacket(player, name, GetModifiedCooldown(TwosideKeeper.ASSASSINATE_COOLDOWN,player));
|
||||||
}
|
}
|
||||||
pd.lastassassinatetime=TwosideKeeper.getServerTickTime();
|
pd.lastassassinatetime=TwosideKeeper.getServerTickTime();
|
||||||
|
if (ItemSet.HasSetBonusBasedOnSetBonusCount(GenericFunctions.getHotbarItems(player), player, ItemSet.WOLFSBANE, 5)) {
|
||||||
|
GenericFunctions.addIFrame(player, (int)ItemSet.TotalBaseAmountBasedOnSetBonusCount(GenericFunctions.getHotbarItems(player), player, ItemSet.WOLFSBANE, 5, 4));
|
||||||
|
} else {
|
||||||
GenericFunctions.addIFrame(player, 10);
|
GenericFunctions.addIFrame(player, 10);
|
||||||
}
|
}
|
||||||
|
if (ItemSet.HasSetBonusBasedOnSetBonusCount(GenericFunctions.getHotbarItems(player), player, ItemSet.WOLFSBANE, 3)) {
|
||||||
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.SPEED, 100, 4, player);
|
||||||
|
GenericFunctions.addSuppressionTime(target, (int)ItemSet.TotalBaseAmountBasedOnSetBonusCount(GenericFunctions.getHotbarItems(player), player, ItemSet.WOLFSBANE, 3, 3));
|
||||||
|
}
|
||||||
|
if (ItemSet.HasSetBonusBasedOnSetBonusCount(GenericFunctions.getHotbarItems(player), player, ItemSet.WOLFSBANE, 7) &&
|
||||||
|
target.getLocation().distanceSquared(originalloc)<=25) {
|
||||||
|
if (name!=Material.SKULL_ITEM || pd.lastlifesavertime+GetModifiedCooldown(TwosideKeeper.LIFESAVER_COOLDOWN,player)<TwosideKeeper.getServerTickTime()) { //Don't overwrite life saver cooldowns.
|
||||||
|
pd.lastassassinatetime = TwosideKeeper.getServerTickTime()-TwosideKeeper.ASSASSINATE_COOLDOWN+40;
|
||||||
|
aPlugin.API.sendCooldownPacket(player, name, 40);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void DamageRandomTool(Player p) {
|
public static void DamageRandomTool(Player p) {
|
||||||
@ -4199,8 +4230,10 @@ public class GenericFunctions {
|
|||||||
}
|
}
|
||||||
if (ent instanceof LivingEntity) {
|
if (ent instanceof LivingEntity) {
|
||||||
LivingEntity l = (LivingEntity)ent;
|
LivingEntity l = (LivingEntity)ent;
|
||||||
l.addPotionEffect(new PotionEffect(PotionEffectType.SLOW,ticks,99));
|
//l.addPotionEffect(new PotionEffect(PotionEffectType.SLOW,ticks,99));
|
||||||
l.addPotionEffect(new PotionEffect(PotionEffectType.SLOW,ticks,99));
|
TwosideKeeper.log("Base Value: "+l.getAttribute(Attribute.GENERIC_MOVEMENT_SPEED).getBaseValue(), 5);
|
||||||
|
l.getAttribute(Attribute.GENERIC_MOVEMENT_SPEED).setBaseValue(0d);
|
||||||
|
l.setAI(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4219,8 +4252,14 @@ public class GenericFunctions {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
//Automatically appends status effect buffs to the beginning of it.
|
|
||||||
public static void sendActionBarMessage(Player p, String message) {
|
public static void sendActionBarMessage(Player p, String message) {
|
||||||
|
sendActionBarMessage(p,message,false);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Automatically appends status effect buffs to the beginning of it.
|
||||||
|
public static void sendActionBarMessage(Player p, String message, boolean important) {
|
||||||
|
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
|
||||||
|
if (important || (pd.lastimportantactionbarmsg+20<TwosideKeeper.getServerTickTime())) {
|
||||||
String prefix=ActionBarBuffUpdater.getActionBarPrefix(p);
|
String prefix=ActionBarBuffUpdater.getActionBarPrefix(p);
|
||||||
if (prefix.length()>0) {
|
if (prefix.length()>0) {
|
||||||
aPlugin.API.sendActionBarMessage(p, message+" "+prefix);
|
aPlugin.API.sendActionBarMessage(p, message+" "+prefix);
|
||||||
@ -4229,6 +4268,10 @@ public class GenericFunctions {
|
|||||||
aPlugin.API.sendActionBarMessage(p, message);
|
aPlugin.API.sendActionBarMessage(p, message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (important) {
|
||||||
|
pd.lastimportantactionbarmsg=TwosideKeeper.getServerTickTime();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getDisplayName(LivingEntity ent) {
|
public static String getDisplayName(LivingEntity ent) {
|
||||||
@ -4262,6 +4305,8 @@ public class GenericFunctions {
|
|||||||
return new EliteZombie(target);
|
return new EliteZombie(target);
|
||||||
}
|
}
|
||||||
if (target instanceof Wither) {
|
if (target instanceof Wither) {
|
||||||
|
target.setMaxHealth(188000);
|
||||||
|
target.setHealth(188000);
|
||||||
return new MegaWither(target);
|
return new MegaWither(target);
|
||||||
}
|
}
|
||||||
TwosideKeeper.log("Elite Monster for monster "+target.getName()+" UNDEFINED. Defaulting to EliteZombie type.", 0);
|
TwosideKeeper.log("Elite Monster for monster "+target.getName()+" UNDEFINED. Defaulting to EliteZombie type.", 0);
|
||||||
|
@ -122,7 +122,6 @@ public class Habitation {
|
|||||||
try {
|
try {
|
||||||
file.createNewFile();
|
file.createNewFile();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,341 +12,341 @@ import sig.plugin.TwosideKeeper.HelperStructures.ArtifactItemType;
|
|||||||
import sig.plugin.TwosideKeeper.HelperStructures.CustomItem;
|
import sig.plugin.TwosideKeeper.HelperStructures.CustomItem;
|
||||||
|
|
||||||
public enum RecipeLinker {
|
public enum RecipeLinker {
|
||||||
ic(ChatColor.YELLOW,"Item Cube",
|
ic("Containers",ChatColor.YELLOW,"Item Cube",
|
||||||
new ItemStack[]{
|
new ItemStack[]{
|
||||||
CustomItem.ItemCube(),
|
CustomItem.ItemCube(),
|
||||||
new ItemStack(Material.WOOD),new ItemStack(Material.WOOD),new ItemStack(Material.WOOD),
|
new ItemStack(Material.WOOD),new ItemStack(Material.WOOD),new ItemStack(Material.WOOD),
|
||||||
new ItemStack(Material.WOOD),new ItemStack(Material.CHEST),new ItemStack(Material.WOOD),
|
new ItemStack(Material.WOOD),new ItemStack(Material.CHEST),new ItemStack(Material.WOOD),
|
||||||
new ItemStack(Material.WOOD),new ItemStack(Material.WOOD),new ItemStack(Material.WOOD),
|
new ItemStack(Material.WOOD),new ItemStack(Material.WOOD),new ItemStack(Material.WOOD),
|
||||||
}),
|
}),
|
||||||
lic(ChatColor.YELLOW,"Large Item Cube",new ItemStack[]{
|
lic("Containers",ChatColor.YELLOW,"Large Item Cube",new ItemStack[]{
|
||||||
CustomItem.LargeItemCube(),
|
CustomItem.LargeItemCube(),
|
||||||
new ItemStack(Material.WOOD),new ItemStack(Material.WOOD),new ItemStack(Material.WOOD),
|
new ItemStack(Material.WOOD),new ItemStack(Material.WOOD),new ItemStack(Material.WOOD),
|
||||||
new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.CHEST),new ItemStack(Material.GOLD_BLOCK),
|
new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.CHEST),new ItemStack(Material.GOLD_BLOCK),
|
||||||
new ItemStack(Material.WOOD),new ItemStack(Material.WOOD),new ItemStack(Material.WOOD),
|
new ItemStack(Material.WOOD),new ItemStack(Material.WOOD),new ItemStack(Material.WOOD),
|
||||||
}),
|
}),
|
||||||
eic(ChatColor.YELLOW,"Ender Item Cube",new ItemStack[]{
|
eic("Containers",ChatColor.YELLOW,"Ender Item Cube",new ItemStack[]{
|
||||||
CustomItem.EnderItemCube(),
|
CustomItem.EnderItemCube(),
|
||||||
new ItemStack(Material.OBSIDIAN),new ItemStack(Material.OBSIDIAN),new ItemStack(Material.OBSIDIAN),
|
new ItemStack(Material.OBSIDIAN),new ItemStack(Material.OBSIDIAN),new ItemStack(Material.OBSIDIAN),
|
||||||
new ItemStack(Material.EMERALD),new ItemStack(Material.CHEST),new ItemStack(Material.EMERALD),
|
new ItemStack(Material.EMERALD),new ItemStack(Material.CHEST),new ItemStack(Material.EMERALD),
|
||||||
new ItemStack(Material.OBSIDIAN),new ItemStack(Material.OBSIDIAN),new ItemStack(Material.OBSIDIAN),
|
new ItemStack(Material.OBSIDIAN),new ItemStack(Material.OBSIDIAN),new ItemStack(Material.OBSIDIAN),
|
||||||
}),
|
}),
|
||||||
dc(ChatColor.YELLOW,"Duplicate Ender Item Cube",new ItemStack[]{
|
dc("Containers",ChatColor.YELLOW,"Duplicate Ender Item Cube",new ItemStack[]{
|
||||||
CustomItem.EnderItemCube(2),
|
CustomItem.EnderItemCube(2),
|
||||||
CustomItem.EnderItemCube(),new ItemStack(Material.NETHER_STAR)
|
CustomItem.EnderItemCube(),new ItemStack(Material.NETHER_STAR)
|
||||||
}),
|
}),
|
||||||
aq(ChatColor.RED,"Arrow Quiver",new ItemStack[]{
|
aq("Misc Items",ChatColor.RED,"Arrow Quiver",new ItemStack[]{
|
||||||
CustomItem.ArrowQuiver(),
|
CustomItem.ArrowQuiver(),
|
||||||
null,new ItemStack(Material.LEATHER),new ItemStack(Material.EMERALD_BLOCK),
|
null,new ItemStack(Material.LEATHER),new ItemStack(Material.EMERALD_BLOCK),
|
||||||
new ItemStack(Material.LEATHER),new ItemStack(Material.SPECTRAL_ARROW),new ItemStack(Material.LEATHER),
|
new ItemStack(Material.LEATHER),new ItemStack(Material.SPECTRAL_ARROW),new ItemStack(Material.LEATHER),
|
||||||
null,new ItemStack(Material.LEATHER)
|
null,new ItemStack(Material.LEATHER)
|
||||||
}),
|
}),
|
||||||
ihelm(ChatColor.WHITE,"Hardened Iron Helmet",new ItemStack[]{
|
ihelm("Hardened Armor",ChatColor.WHITE,"Hardened Iron Helmet",new ItemStack[]{
|
||||||
CustomItem.HardenedPiece(Material.IRON_HELMET),
|
CustomItem.HardenedPiece(Material.IRON_HELMET),
|
||||||
new ItemStack(Material.IRON_BLOCK),new ItemStack(Material.IRON_BLOCK),new ItemStack(Material.IRON_BLOCK),
|
new ItemStack(Material.IRON_BLOCK),new ItemStack(Material.IRON_BLOCK),new ItemStack(Material.IRON_BLOCK),
|
||||||
new ItemStack(Material.IRON_BLOCK),null,new ItemStack(Material.IRON_BLOCK)
|
new ItemStack(Material.IRON_BLOCK),null,new ItemStack(Material.IRON_BLOCK)
|
||||||
}),
|
}),
|
||||||
ichest(ChatColor.WHITE,"Hardened Iron Chestplate",new ItemStack[]{
|
ichest("Hardened Armor",ChatColor.WHITE,"Hardened Iron Chestplate",new ItemStack[]{
|
||||||
CustomItem.HardenedPiece(Material.IRON_CHESTPLATE),
|
CustomItem.HardenedPiece(Material.IRON_CHESTPLATE),
|
||||||
new ItemStack(Material.IRON_BLOCK),null,new ItemStack(Material.IRON_BLOCK),
|
new ItemStack(Material.IRON_BLOCK),null,new ItemStack(Material.IRON_BLOCK),
|
||||||
new ItemStack(Material.IRON_BLOCK),new ItemStack(Material.IRON_BLOCK),new ItemStack(Material.IRON_BLOCK),
|
new ItemStack(Material.IRON_BLOCK),new ItemStack(Material.IRON_BLOCK),new ItemStack(Material.IRON_BLOCK),
|
||||||
new ItemStack(Material.IRON_BLOCK),new ItemStack(Material.IRON_BLOCK),new ItemStack(Material.IRON_BLOCK)
|
new ItemStack(Material.IRON_BLOCK),new ItemStack(Material.IRON_BLOCK),new ItemStack(Material.IRON_BLOCK)
|
||||||
}),
|
}),
|
||||||
ileg(ChatColor.WHITE,"Hardened Iron Leggings",new ItemStack[]{
|
ileg("Hardened Armor",ChatColor.WHITE,"Hardened Iron Leggings",new ItemStack[]{
|
||||||
CustomItem.HardenedPiece(Material.IRON_LEGGINGS),
|
CustomItem.HardenedPiece(Material.IRON_LEGGINGS),
|
||||||
new ItemStack(Material.IRON_BLOCK),new ItemStack(Material.IRON_BLOCK),new ItemStack(Material.IRON_BLOCK),
|
new ItemStack(Material.IRON_BLOCK),new ItemStack(Material.IRON_BLOCK),new ItemStack(Material.IRON_BLOCK),
|
||||||
new ItemStack(Material.IRON_BLOCK),null,new ItemStack(Material.IRON_BLOCK),
|
new ItemStack(Material.IRON_BLOCK),null,new ItemStack(Material.IRON_BLOCK),
|
||||||
new ItemStack(Material.IRON_BLOCK),null,new ItemStack(Material.IRON_BLOCK)
|
new ItemStack(Material.IRON_BLOCK),null,new ItemStack(Material.IRON_BLOCK)
|
||||||
}),
|
}),
|
||||||
iboots(ChatColor.WHITE,"Hardened Iron Boots",new ItemStack[]{
|
iboots("Hardened Armor",ChatColor.WHITE,"Hardened Iron Boots",new ItemStack[]{
|
||||||
CustomItem.HardenedPiece(Material.IRON_BOOTS),
|
CustomItem.HardenedPiece(Material.IRON_BOOTS),
|
||||||
new ItemStack(Material.IRON_BLOCK),null,new ItemStack(Material.IRON_BLOCK),
|
new ItemStack(Material.IRON_BLOCK),null,new ItemStack(Material.IRON_BLOCK),
|
||||||
new ItemStack(Material.IRON_BLOCK),null,new ItemStack(Material.IRON_BLOCK)
|
new ItemStack(Material.IRON_BLOCK),null,new ItemStack(Material.IRON_BLOCK)
|
||||||
}),
|
}),
|
||||||
dhelm(ChatColor.AQUA,"Hardened Diamond Helmet",new ItemStack[]{
|
dhelm("Hardened Armor",ChatColor.AQUA,"Hardened Diamond Helmet",new ItemStack[]{
|
||||||
CustomItem.HardenedPiece(Material.DIAMOND_HELMET),
|
CustomItem.HardenedPiece(Material.DIAMOND_HELMET),
|
||||||
new ItemStack(Material.DIAMOND_BLOCK),new ItemStack(Material.DIAMOND_BLOCK),new ItemStack(Material.DIAMOND_BLOCK),
|
new ItemStack(Material.DIAMOND_BLOCK),new ItemStack(Material.DIAMOND_BLOCK),new ItemStack(Material.DIAMOND_BLOCK),
|
||||||
new ItemStack(Material.DIAMOND_BLOCK),null,new ItemStack(Material.DIAMOND_BLOCK)
|
new ItemStack(Material.DIAMOND_BLOCK),null,new ItemStack(Material.DIAMOND_BLOCK)
|
||||||
}),
|
}),
|
||||||
dchest(ChatColor.AQUA,"Hardened Diamond Chestplate",new ItemStack[]{
|
dchest("Hardened Armor",ChatColor.AQUA,"Hardened Diamond Chestplate",new ItemStack[]{
|
||||||
CustomItem.HardenedPiece(Material.DIAMOND_CHESTPLATE),
|
CustomItem.HardenedPiece(Material.DIAMOND_CHESTPLATE),
|
||||||
new ItemStack(Material.DIAMOND_BLOCK),null,new ItemStack(Material.DIAMOND_BLOCK),
|
new ItemStack(Material.DIAMOND_BLOCK),null,new ItemStack(Material.DIAMOND_BLOCK),
|
||||||
new ItemStack(Material.DIAMOND_BLOCK),new ItemStack(Material.DIAMOND_BLOCK),new ItemStack(Material.DIAMOND_BLOCK),
|
new ItemStack(Material.DIAMOND_BLOCK),new ItemStack(Material.DIAMOND_BLOCK),new ItemStack(Material.DIAMOND_BLOCK),
|
||||||
new ItemStack(Material.DIAMOND_BLOCK),new ItemStack(Material.DIAMOND_BLOCK),new ItemStack(Material.DIAMOND_BLOCK)
|
new ItemStack(Material.DIAMOND_BLOCK),new ItemStack(Material.DIAMOND_BLOCK),new ItemStack(Material.DIAMOND_BLOCK)
|
||||||
}),
|
}),
|
||||||
dleg(ChatColor.AQUA,"Hardened Diamond Leggings",new ItemStack[]{
|
dleg("Hardened Armor",ChatColor.AQUA,"Hardened Diamond Leggings",new ItemStack[]{
|
||||||
CustomItem.HardenedPiece(Material.DIAMOND_LEGGINGS),
|
CustomItem.HardenedPiece(Material.DIAMOND_LEGGINGS),
|
||||||
new ItemStack(Material.DIAMOND_BLOCK),new ItemStack(Material.DIAMOND_BLOCK),new ItemStack(Material.DIAMOND_BLOCK),
|
new ItemStack(Material.DIAMOND_BLOCK),new ItemStack(Material.DIAMOND_BLOCK),new ItemStack(Material.DIAMOND_BLOCK),
|
||||||
new ItemStack(Material.DIAMOND_BLOCK),null,new ItemStack(Material.DIAMOND_BLOCK),null,
|
new ItemStack(Material.DIAMOND_BLOCK),null,new ItemStack(Material.DIAMOND_BLOCK),null,
|
||||||
new ItemStack(Material.DIAMOND_BLOCK),null,new ItemStack(Material.DIAMOND_BLOCK)
|
new ItemStack(Material.DIAMOND_BLOCK),null,new ItemStack(Material.DIAMOND_BLOCK)
|
||||||
}),
|
}),
|
||||||
dboots(ChatColor.AQUA,"Hardened Diamond Boots",new ItemStack[]{
|
dboots("Hardened Armor",ChatColor.AQUA,"Hardened Diamond Boots",new ItemStack[]{
|
||||||
CustomItem.HardenedPiece(Material.DIAMOND_BOOTS),
|
CustomItem.HardenedPiece(Material.DIAMOND_BOOTS),
|
||||||
new ItemStack(Material.DIAMOND_BLOCK),null,new ItemStack(Material.DIAMOND_BLOCK),
|
new ItemStack(Material.DIAMOND_BLOCK),null,new ItemStack(Material.DIAMOND_BLOCK),
|
||||||
new ItemStack(Material.DIAMOND_BLOCK),null,new ItemStack(Material.DIAMOND_BLOCK)
|
new ItemStack(Material.DIAMOND_BLOCK),null,new ItemStack(Material.DIAMOND_BLOCK)
|
||||||
}),
|
}),
|
||||||
ghelm(ChatColor.GOLD,"Hardened Gold Helmet",new ItemStack[]{
|
ghelm("Hardened Armor",ChatColor.GOLD,"Hardened Gold Helmet",new ItemStack[]{
|
||||||
CustomItem.HardenedPiece(Material.GOLD_HELMET),
|
CustomItem.HardenedPiece(Material.GOLD_HELMET),
|
||||||
new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.GOLD_BLOCK),
|
new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.GOLD_BLOCK),
|
||||||
new ItemStack(Material.GOLD_BLOCK),null,new ItemStack(Material.GOLD_BLOCK)
|
new ItemStack(Material.GOLD_BLOCK),null,new ItemStack(Material.GOLD_BLOCK)
|
||||||
}),
|
}),
|
||||||
gchest(ChatColor.GOLD,"Hardened Gold Chestplate",new ItemStack[]{
|
gchest("Hardened Armor",ChatColor.GOLD,"Hardened Gold Chestplate",new ItemStack[]{
|
||||||
CustomItem.HardenedPiece(Material.GOLD_CHESTPLATE),
|
CustomItem.HardenedPiece(Material.GOLD_CHESTPLATE),
|
||||||
new ItemStack(Material.GOLD_BLOCK),null,new ItemStack(Material.GOLD_BLOCK),
|
new ItemStack(Material.GOLD_BLOCK),null,new ItemStack(Material.GOLD_BLOCK),
|
||||||
new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.GOLD_BLOCK),
|
new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.GOLD_BLOCK),
|
||||||
new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.GOLD_BLOCK)
|
new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.GOLD_BLOCK)
|
||||||
}),
|
}),
|
||||||
gleg(ChatColor.GOLD,"Hardened Gold Leggings",new ItemStack[]{
|
gleg("Hardened Armor",ChatColor.GOLD,"Hardened Gold Leggings",new ItemStack[]{
|
||||||
CustomItem.HardenedPiece(Material.GOLD_LEGGINGS),
|
CustomItem.HardenedPiece(Material.GOLD_LEGGINGS),
|
||||||
new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.GOLD_BLOCK),
|
new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.GOLD_BLOCK),new ItemStack(Material.GOLD_BLOCK),
|
||||||
new ItemStack(Material.GOLD_BLOCK),null,new ItemStack(Material.GOLD_BLOCK),
|
new ItemStack(Material.GOLD_BLOCK),null,new ItemStack(Material.GOLD_BLOCK),
|
||||||
new ItemStack(Material.GOLD_BLOCK),null,new ItemStack(Material.GOLD_BLOCK)
|
new ItemStack(Material.GOLD_BLOCK),null,new ItemStack(Material.GOLD_BLOCK)
|
||||||
}),
|
}),
|
||||||
gboots(ChatColor.GOLD,"Hardened Gold Boots",new ItemStack[]{
|
gboots("Hardened Armor",ChatColor.GOLD,"Hardened Gold Boots",new ItemStack[]{
|
||||||
CustomItem.HardenedPiece(Material.GOLD_BOOTS),
|
CustomItem.HardenedPiece(Material.GOLD_BOOTS),
|
||||||
new ItemStack(Material.GOLD_BLOCK),null,new ItemStack(Material.GOLD_BLOCK),
|
new ItemStack(Material.GOLD_BLOCK),null,new ItemStack(Material.GOLD_BLOCK),
|
||||||
new ItemStack(Material.GOLD_BLOCK),null,new ItemStack(Material.GOLD_BLOCK)
|
new ItemStack(Material.GOLD_BLOCK),null,new ItemStack(Material.GOLD_BLOCK)
|
||||||
}),
|
}),
|
||||||
@SuppressWarnings("deprecation")
|
@SuppressWarnings("deprecation")
|
||||||
wool(ChatColor.BLUE,"Wool Recoloring",new ItemStack[]{
|
wool("Misc Items",ChatColor.BLUE,"Wool Recoloring",new ItemStack[]{
|
||||||
new ItemStack(Material.WOOL,8,(short)11),
|
new ItemStack(Material.WOOL,8,(short)11),
|
||||||
new ItemStack(Material.WOOL,1,(short)2),new ItemStack(Material.WOOL,1,(short)3),new ItemStack(Material.WOOL,1,(short)5),
|
new ItemStack(Material.WOOL,1,(short)2),new ItemStack(Material.WOOL,1,(short)3),new ItemStack(Material.WOOL,1,(short)5),
|
||||||
new ItemStack(Material.WOOL,1,(short)7),new ItemStack(Material.getMaterial(351),1,(short)4),new ItemStack(Material.WOOL,1,(short)8),
|
new ItemStack(Material.WOOL,1,(short)7),new ItemStack(Material.getMaterial(351),1,(short)4),new ItemStack(Material.WOOL,1,(short)8),
|
||||||
new ItemStack(Material.WOOL,1,(short)13),new ItemStack(Material.WOOL,1,(short)11),new ItemStack(Material.WOOL,1,(short)9)
|
new ItemStack(Material.WOOL,1,(short)13),new ItemStack(Material.WOOL,1,(short)11),new ItemStack(Material.WOOL,1,(short)9)
|
||||||
}),
|
}),
|
||||||
slab(ChatColor.BLUE,"Slab Reconstruction",new ItemStack[]{
|
slab("Misc Items",ChatColor.BLUE,"Slab Reconstruction",new ItemStack[]{
|
||||||
new ItemStack(Material.WOOD,1,(short)2),
|
new ItemStack(Material.WOOD,1,(short)2),
|
||||||
new ItemStack(Material.WOOD_STEP,1,(short)2),new ItemStack(Material.WOOD_STEP,1,(short)2)
|
new ItemStack(Material.WOOD_STEP,1,(short)2),new ItemStack(Material.WOOD_STEP,1,(short)2)
|
||||||
}),
|
}),
|
||||||
check(ChatColor.BLUE,"Money Check",new ItemStack[]{
|
check("Misc Items",ChatColor.BLUE,"Money Check",new ItemStack[]{
|
||||||
CustomItem.MoneyCheck(),
|
CustomItem.MoneyCheck(),
|
||||||
new ItemStack(Material.FEATHER),new ItemStack(Material.INK_SACK),null,
|
new ItemStack(Material.FEATHER),new ItemStack(Material.INK_SACK),null,
|
||||||
new ItemStack(Material.PAPER),
|
new ItemStack(Material.PAPER),
|
||||||
}),
|
}),
|
||||||
sword(ChatColor.LIGHT_PURPLE,"Artifact Sword Recipe",new ItemStack[]{
|
sword("Artifact Recipes",ChatColor.LIGHT_PURPLE,"Artifact Sword Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(0, ArtifactItemType.SWORD),
|
Artifact.createRecipe(0, ArtifactItemType.SWORD),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE)
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE)
|
||||||
}),
|
}),
|
||||||
axe(ChatColor.LIGHT_PURPLE,"Artifact Axe Recipe",new ItemStack[]{
|
axe("Artifact Recipes",ChatColor.LIGHT_PURPLE,"Artifact Axe Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(0, ArtifactItemType.AXE),
|
Artifact.createRecipe(0, ArtifactItemType.AXE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,
|
||||||
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE)
|
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE)
|
||||||
}),
|
}),
|
||||||
boots(ChatColor.LIGHT_PURPLE,"Artifact Boots Recipe",new ItemStack[]{
|
boots("Artifact Recipes",ChatColor.LIGHT_PURPLE,"Artifact Boots Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(0, ArtifactItemType.BOOTS),
|
Artifact.createRecipe(0, ArtifactItemType.BOOTS),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
||||||
}),
|
}),
|
||||||
chest(ChatColor.LIGHT_PURPLE,"Artifact Chestplate Recipe",new ItemStack[]{
|
chest("Artifact Recipes",ChatColor.LIGHT_PURPLE,"Artifact Chestplate Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(0, ArtifactItemType.CHESTPLATE),
|
Artifact.createRecipe(0, ArtifactItemType.CHESTPLATE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE)
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE)
|
||||||
}),
|
}),
|
||||||
leg(ChatColor.LIGHT_PURPLE,"Artifact Leggings Recipe",new ItemStack[]{
|
leg("Artifact Recipes",ChatColor.LIGHT_PURPLE,"Artifact Leggings Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(0, ArtifactItemType.LEGGINGS),
|
Artifact.createRecipe(0, ArtifactItemType.LEGGINGS),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE)
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE)
|
||||||
}),
|
}),
|
||||||
helm(ChatColor.LIGHT_PURPLE,"Artifact Helmet Recipe",new ItemStack[]{
|
helm("Artifact Recipes",ChatColor.LIGHT_PURPLE,"Artifact Helmet Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(0, ArtifactItemType.HELMET),
|
Artifact.createRecipe(0, ArtifactItemType.HELMET),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE)
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE)
|
||||||
}),
|
}),
|
||||||
bow(ChatColor.LIGHT_PURPLE,"Artifact Bow Recipe",new ItemStack[]{
|
bow("Artifact Recipes",ChatColor.LIGHT_PURPLE,"Artifact Bow Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(0, ArtifactItemType.BOW),
|
Artifact.createRecipe(0, ArtifactItemType.BOW),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE)
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE)
|
||||||
}),
|
}),
|
||||||
scythe(ChatColor.LIGHT_PURPLE,"Artifact Scythe Recipe",new ItemStack[]{
|
scythe("Artifact Recipes",ChatColor.LIGHT_PURPLE,"Artifact Scythe Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(0, ArtifactItemType.HOE),
|
Artifact.createRecipe(0, ArtifactItemType.HOE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,
|
||||||
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,
|
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,
|
||||||
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE)
|
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE)
|
||||||
}),
|
}),
|
||||||
rod(ChatColor.LIGHT_PURPLE,"Artifact Fishing Rod Recipe",new ItemStack[]{
|
rod("Artifact Recipes",ChatColor.LIGHT_PURPLE,"Artifact Fishing Rod Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(0, ArtifactItemType.FISHING_ROD),
|
Artifact.createRecipe(0, ArtifactItemType.FISHING_ROD),
|
||||||
null,null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
null,null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
||||||
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE)
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE)
|
||||||
}),
|
}),
|
||||||
pickaxe(ChatColor.LIGHT_PURPLE,"Artifact Pickaxe Recipe",new ItemStack[]{
|
pickaxe("Artifact Recipes",ChatColor.LIGHT_PURPLE,"Artifact Pickaxe Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(0, ArtifactItemType.PICKAXE),
|
Artifact.createRecipe(0, ArtifactItemType.PICKAXE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),
|
||||||
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,
|
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,
|
||||||
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null
|
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null
|
||||||
}),
|
}),
|
||||||
shovel(ChatColor.LIGHT_PURPLE,"Artifact Shovel Recipe",new ItemStack[]{
|
shovel("Artifact Recipes",ChatColor.LIGHT_PURPLE,"Artifact Shovel Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(0, ArtifactItemType.SHOVEL),
|
Artifact.createRecipe(0, ArtifactItemType.SHOVEL),
|
||||||
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,
|
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,
|
||||||
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,
|
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null,
|
||||||
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null
|
null,Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE),null
|
||||||
}),
|
}),
|
||||||
recipe(ChatColor.DARK_AQUA,"Recipe To Artifact",new ItemStack[]{
|
recipe("Artifact Recipes",ChatColor.DARK_AQUA,"Recipe To Artifact",new ItemStack[]{
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.CHESTPLATE.getTieredItem(1),1,ArtifactItemType.CHESTPLATE.getDataValue()),
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.CHESTPLATE.getTieredItem(1),1,ArtifactItemType.CHESTPLATE.getDataValue()),
|
||||||
Artifact.createRecipe(0, ArtifactItemType.CHESTPLATE)
|
Artifact.createRecipe(0, ArtifactItemType.CHESTPLATE)
|
||||||
}),
|
}),
|
||||||
t2(ChatColor.DARK_AQUA,"Upgrade to T2",new ItemStack[]{
|
t2("Upgrade Recipes",ChatColor.DARK_AQUA,"Upgrade to T2",new ItemStack[]{
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.SHOVEL.getTieredItem(2),2,ArtifactItemType.SHOVEL.getDataValue()),
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.SHOVEL.getTieredItem(2),2,ArtifactItemType.SHOVEL.getDataValue()),
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.SHOVEL.getTieredItem(1),1,ArtifactItemType.SHOVEL.getDataValue()),Artifact.createRecipe(0, ArtifactItemType.SHOVEL)
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.SHOVEL.getTieredItem(1),1,ArtifactItemType.SHOVEL.getDataValue()),Artifact.createRecipe(0, ArtifactItemType.SHOVEL)
|
||||||
}),
|
}),
|
||||||
t3(ChatColor.DARK_AQUA,"Upgrade to T3",new ItemStack[]{
|
t3("Upgrade Recipes",ChatColor.DARK_AQUA,"Upgrade to T3",new ItemStack[]{
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.LEGGINGS.getTieredItem(3),3,ArtifactItemType.LEGGINGS.getDataValue()),
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.LEGGINGS.getTieredItem(3),3,ArtifactItemType.LEGGINGS.getDataValue()),
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.LEGGINGS.getTieredItem(2),2,ArtifactItemType.LEGGINGS.getDataValue()),Artifact.createRecipe(2, ArtifactItemType.LEGGINGS)
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.LEGGINGS.getTieredItem(2),2,ArtifactItemType.LEGGINGS.getDataValue()),Artifact.createRecipe(2, ArtifactItemType.LEGGINGS)
|
||||||
}),
|
}),
|
||||||
t4(ChatColor.DARK_AQUA,"Upgrade to T4",new ItemStack[]{
|
t4("Upgrade Recipes",ChatColor.DARK_AQUA,"Upgrade to T4",new ItemStack[]{
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.BOOTS.getTieredItem(4),4,ArtifactItemType.BOOTS.getDataValue()),
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.BOOTS.getTieredItem(4),4,ArtifactItemType.BOOTS.getDataValue()),
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.BOOTS.getTieredItem(3),3,ArtifactItemType.BOOTS.getDataValue()),Artifact.createRecipe(3, ArtifactItemType.BOOTS)
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.BOOTS.getTieredItem(3),3,ArtifactItemType.BOOTS.getDataValue()),Artifact.createRecipe(3, ArtifactItemType.BOOTS)
|
||||||
}),
|
}),
|
||||||
t5(ChatColor.DARK_AQUA,"Upgrade to T5",new ItemStack[]{
|
t5("Upgrade Recipes",ChatColor.DARK_AQUA,"Upgrade to T5",new ItemStack[]{
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.HELMET.getTieredItem(5),5,ArtifactItemType.HELMET.getDataValue()),
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.HELMET.getTieredItem(5),5,ArtifactItemType.HELMET.getDataValue()),
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.HELMET.getTieredItem(4),4,ArtifactItemType.HELMET.getDataValue()),Artifact.createRecipe(4, ArtifactItemType.HELMET)
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.HELMET.getTieredItem(4),4,ArtifactItemType.HELMET.getDataValue()),Artifact.createRecipe(4, ArtifactItemType.HELMET)
|
||||||
}),
|
}),
|
||||||
t6(ChatColor.DARK_AQUA,"Upgrade to T6",new ItemStack[]{
|
t6("Upgrade Recipes",ChatColor.DARK_AQUA,"Upgrade to T6",new ItemStack[]{
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.SWORD.getTieredItem(6),6,ArtifactItemType.SWORD.getDataValue()),
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.SWORD.getTieredItem(6),6,ArtifactItemType.SWORD.getDataValue()),
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.SWORD.getTieredItem(5),5,ArtifactItemType.SWORD.getDataValue()),Artifact.createRecipe(5, ArtifactItemType.SWORD)
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.SWORD.getTieredItem(5),5,ArtifactItemType.SWORD.getDataValue()),Artifact.createRecipe(5, ArtifactItemType.SWORD)
|
||||||
}),
|
}),
|
||||||
t7(ChatColor.DARK_AQUA,"Upgrade to T7",new ItemStack[]{
|
t7("Upgrade Recipes",ChatColor.DARK_AQUA,"Upgrade to T7",new ItemStack[]{
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.HOE.getTieredItem(7),7,ArtifactItemType.HOE.getDataValue()),
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.HOE.getTieredItem(7),7,ArtifactItemType.HOE.getDataValue()),
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.HOE.getTieredItem(6),6,ArtifactItemType.HOE.getDataValue()),Artifact.createRecipe(6, ArtifactItemType.HOE)
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.HOE.getTieredItem(6),6,ArtifactItemType.HOE.getDataValue()),Artifact.createRecipe(6, ArtifactItemType.HOE)
|
||||||
}),
|
}),
|
||||||
t8(ChatColor.DARK_AQUA,"Upgrade to T8",new ItemStack[]{
|
t8("Upgrade Recipes",ChatColor.DARK_AQUA,"Upgrade to T8",new ItemStack[]{
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.AXE.getTieredItem(8),8,ArtifactItemType.AXE.getDataValue()),
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.AXE.getTieredItem(8),8,ArtifactItemType.AXE.getDataValue()),
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.AXE.getTieredItem(7),7,ArtifactItemType.AXE.getDataValue()),Artifact.createRecipe(7, ArtifactItemType.AXE)
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.AXE.getTieredItem(7),7,ArtifactItemType.AXE.getDataValue()),Artifact.createRecipe(7, ArtifactItemType.AXE)
|
||||||
}),
|
}),
|
||||||
t9(ChatColor.DARK_AQUA,"Upgrade to T9",new ItemStack[]{
|
t9("Upgrade Recipes",ChatColor.DARK_AQUA,"Upgrade to T9",new ItemStack[]{
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.PICKAXE.getTieredItem(9),9,ArtifactItemType.PICKAXE.getDataValue()),
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.PICKAXE.getTieredItem(9),9,ArtifactItemType.PICKAXE.getDataValue()),
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.PICKAXE.getTieredItem(8),8,ArtifactItemType.PICKAXE.getDataValue()),Artifact.createRecipe(8, ArtifactItemType.PICKAXE)
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.PICKAXE.getTieredItem(8),8,ArtifactItemType.PICKAXE.getDataValue()),Artifact.createRecipe(8, ArtifactItemType.PICKAXE)
|
||||||
}),
|
}),
|
||||||
t10(ChatColor.DARK_AQUA,"Upgrade to T10",new ItemStack[]{
|
t10("Upgrade Recipes",ChatColor.DARK_AQUA,"Upgrade to T10",new ItemStack[]{
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.SHOVEL.getTieredItem(10),10,ArtifactItemType.SHOVEL.getDataValue()),
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.SHOVEL.getTieredItem(10),10,ArtifactItemType.SHOVEL.getDataValue()),
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.SHOVEL.getTieredItem(9),9,ArtifactItemType.SHOVEL.getDataValue()),Artifact.createRecipe(9, ArtifactItemType.SHOVEL)
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.SHOVEL.getTieredItem(9),9,ArtifactItemType.SHOVEL.getDataValue()),Artifact.createRecipe(9, ArtifactItemType.SHOVEL)
|
||||||
}),
|
}),
|
||||||
t11(ChatColor.DARK_AQUA,"Upgrade to T11",new ItemStack[]{
|
t11("Upgrade Recipes",ChatColor.DARK_AQUA,"Upgrade to T11",new ItemStack[]{
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.PICKAXE.getTieredItem(11),11,ArtifactItemType.PICKAXE.getDataValue()),
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.PICKAXE.getTieredItem(11),11,ArtifactItemType.PICKAXE.getDataValue()),
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.PICKAXE.getTieredItem(10),10,ArtifactItemType.PICKAXE.getDataValue()),Artifact.createRecipe(10, ArtifactItemType.PICKAXE)
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.PICKAXE.getTieredItem(10),10,ArtifactItemType.PICKAXE.getDataValue()),Artifact.createRecipe(10, ArtifactItemType.PICKAXE)
|
||||||
}),
|
}),
|
||||||
t12(ChatColor.DARK_AQUA,"Upgrade to T12",new ItemStack[]{
|
t12("Upgrade Recipes",ChatColor.DARK_AQUA,"Upgrade to T12",new ItemStack[]{
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.AXE.getTieredItem(12),12,ArtifactItemType.AXE.getDataValue()),
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.AXE.getTieredItem(12),12,ArtifactItemType.AXE.getDataValue()),
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.AXE.getTieredItem(11),11,ArtifactItemType.AXE.getDataValue()),Artifact.createRecipe(11, ArtifactItemType.AXE)
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.AXE.getTieredItem(11),11,ArtifactItemType.AXE.getDataValue()),Artifact.createRecipe(11, ArtifactItemType.AXE)
|
||||||
}),
|
}),
|
||||||
t13(ChatColor.DARK_AQUA,"Upgrade to T13",new ItemStack[]{
|
t13("Upgrade Recipes",ChatColor.DARK_AQUA,"Upgrade to T13",new ItemStack[]{
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.HOE.getTieredItem(13),13,ArtifactItemType.HOE.getDataValue()),
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.HOE.getTieredItem(13),13,ArtifactItemType.HOE.getDataValue()),
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.HOE.getTieredItem(12),12,ArtifactItemType.HOE.getDataValue()),Artifact.createRecipe(12, ArtifactItemType.HOE)
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.HOE.getTieredItem(12),12,ArtifactItemType.HOE.getDataValue()),Artifact.createRecipe(12, ArtifactItemType.HOE)
|
||||||
}),
|
}),
|
||||||
t14(ChatColor.DARK_AQUA,"Upgrade to T14",new ItemStack[]{
|
t14("Upgrade Recipes",ChatColor.DARK_AQUA,"Upgrade to T14",new ItemStack[]{
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.FISHING_ROD.getTieredItem(14),14,ArtifactItemType.FISHING_ROD.getDataValue()),
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.FISHING_ROD.getTieredItem(14),14,ArtifactItemType.FISHING_ROD.getDataValue()),
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.FISHING_ROD.getTieredItem(13),13,ArtifactItemType.FISHING_ROD.getDataValue()),Artifact.createRecipe(13, ArtifactItemType.FISHING_ROD)
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.FISHING_ROD.getTieredItem(13),13,ArtifactItemType.FISHING_ROD.getDataValue()),Artifact.createRecipe(13, ArtifactItemType.FISHING_ROD)
|
||||||
}),
|
}),
|
||||||
t15(ChatColor.DARK_AQUA,"Upgrade to T15",new ItemStack[]{
|
t15("Upgrade Recipes",ChatColor.DARK_AQUA,"Upgrade to T15",new ItemStack[]{
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.BOW.getTieredItem(15),15,ArtifactItemType.BOW.getDataValue()),
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.BOW.getTieredItem(15),15,ArtifactItemType.BOW.getDataValue()),
|
||||||
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.BOW.getTieredItem(14),14,ArtifactItemType.BOW.getDataValue()),Artifact.createRecipe(14, ArtifactItemType.BOW)
|
AwakenedArtifact.convertToAwakenedArtifact(ArtifactItemType.BOW.getTieredItem(14),14,ArtifactItemType.BOW.getDataValue()),Artifact.createRecipe(14, ArtifactItemType.BOW)
|
||||||
}),
|
}),
|
||||||
t2recipe(ChatColor.WHITE,"T2 Artifact Recipe",new ItemStack[]{
|
t2recipe("Artifact Recipes",ChatColor.WHITE,"T2 Artifact Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(2, ArtifactItemType.SHOVEL),
|
Artifact.createRecipe(2, ArtifactItemType.SHOVEL),
|
||||||
Artifact.createRecipe(0, ArtifactItemType.SHOVEL),Artifact.createRecipe(0, ArtifactItemType.SHOVEL),null,
|
Artifact.createRecipe(0, ArtifactItemType.SHOVEL),Artifact.createRecipe(0, ArtifactItemType.SHOVEL),null,
|
||||||
Artifact.createArtifactItem(ArtifactItem.ARTIFACT_ESSENCE)
|
Artifact.createArtifactItem(ArtifactItem.ARTIFACT_ESSENCE)
|
||||||
}),
|
}),
|
||||||
t3recipe(ChatColor.WHITE,"T3 Artifact Recipe",new ItemStack[]{
|
t3recipe("Artifact Recipes",ChatColor.WHITE,"T3 Artifact Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(3, ArtifactItemType.SHOVEL),
|
Artifact.createRecipe(3, ArtifactItemType.SHOVEL),
|
||||||
Artifact.createRecipe(2, ArtifactItemType.SHOVEL),Artifact.createRecipe(2, ArtifactItemType.SHOVEL),null,
|
Artifact.createRecipe(2, ArtifactItemType.SHOVEL),Artifact.createRecipe(2, ArtifactItemType.SHOVEL),null,
|
||||||
Artifact.createArtifactItem(ArtifactItem.ARTIFACT_CORE)
|
Artifact.createArtifactItem(ArtifactItem.ARTIFACT_CORE)
|
||||||
}),
|
}),
|
||||||
t4recipe(ChatColor.WHITE,"T4 Artifact Recipe",new ItemStack[]{
|
t4recipe("Artifact Recipes",ChatColor.WHITE,"T4 Artifact Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(4, ArtifactItemType.SHOVEL),
|
Artifact.createRecipe(4, ArtifactItemType.SHOVEL),
|
||||||
Artifact.createRecipe(3, ArtifactItemType.SHOVEL),Artifact.createRecipe(3, ArtifactItemType.SHOVEL),null,
|
Artifact.createRecipe(3, ArtifactItemType.SHOVEL),Artifact.createRecipe(3, ArtifactItemType.SHOVEL),null,
|
||||||
Artifact.createArtifactItem(ArtifactItem.ARTIFACT_BASE)
|
Artifact.createArtifactItem(ArtifactItem.ARTIFACT_BASE)
|
||||||
}),
|
}),
|
||||||
t5recipe(ChatColor.WHITE,"T5 Artifact Recipe",new ItemStack[]{
|
t5recipe("Artifact Recipes",ChatColor.WHITE,"T5 Artifact Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(5, ArtifactItemType.SHOVEL),
|
Artifact.createRecipe(5, ArtifactItemType.SHOVEL),
|
||||||
Artifact.createRecipe(4, ArtifactItemType.SHOVEL),Artifact.createRecipe(4, ArtifactItemType.SHOVEL),null,
|
Artifact.createRecipe(4, ArtifactItemType.SHOVEL),Artifact.createRecipe(4, ArtifactItemType.SHOVEL),null,
|
||||||
Artifact.createArtifactItem(ArtifactItem.ANCIENT_ESSENCE)
|
Artifact.createArtifactItem(ArtifactItem.ANCIENT_ESSENCE)
|
||||||
}),
|
}),
|
||||||
t6recipe(ChatColor.WHITE,"T6 Artifact Recipe",new ItemStack[]{
|
t6recipe("Artifact Recipes",ChatColor.WHITE,"T6 Artifact Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(6, ArtifactItemType.SHOVEL),
|
Artifact.createRecipe(6, ArtifactItemType.SHOVEL),
|
||||||
Artifact.createRecipe(5, ArtifactItemType.SHOVEL),Artifact.createRecipe(5, ArtifactItemType.SHOVEL),null,
|
Artifact.createRecipe(5, ArtifactItemType.SHOVEL),Artifact.createRecipe(5, ArtifactItemType.SHOVEL),null,
|
||||||
Artifact.createArtifactItem(ArtifactItem.ANCIENT_CORE)
|
Artifact.createArtifactItem(ArtifactItem.ANCIENT_CORE)
|
||||||
}),
|
}),
|
||||||
t7recipe(ChatColor.WHITE,"T7 Artifact Recipe",new ItemStack[]{
|
t7recipe("Artifact Recipes",ChatColor.WHITE,"T7 Artifact Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(7, ArtifactItemType.SHOVEL),
|
Artifact.createRecipe(7, ArtifactItemType.SHOVEL),
|
||||||
Artifact.createRecipe(6, ArtifactItemType.SHOVEL),Artifact.createRecipe(6, ArtifactItemType.SHOVEL),null,
|
Artifact.createRecipe(6, ArtifactItemType.SHOVEL),Artifact.createRecipe(6, ArtifactItemType.SHOVEL),null,
|
||||||
Artifact.createArtifactItem(ArtifactItem.ANCIENT_BASE)
|
Artifact.createArtifactItem(ArtifactItem.ANCIENT_BASE)
|
||||||
}),
|
}),
|
||||||
t8recipe(ChatColor.WHITE,"T8 Artifact Recipe",new ItemStack[]{
|
t8recipe("Artifact Recipes",ChatColor.WHITE,"T8 Artifact Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(8, ArtifactItemType.SHOVEL),
|
Artifact.createRecipe(8, ArtifactItemType.SHOVEL),
|
||||||
Artifact.createRecipe(7, ArtifactItemType.SHOVEL),Artifact.createRecipe(7, ArtifactItemType.SHOVEL),null,
|
Artifact.createRecipe(7, ArtifactItemType.SHOVEL),Artifact.createRecipe(7, ArtifactItemType.SHOVEL),null,
|
||||||
Artifact.createArtifactItem(ArtifactItem.LOST_ESSENCE)
|
Artifact.createArtifactItem(ArtifactItem.LOST_ESSENCE)
|
||||||
}),
|
}),
|
||||||
t9recipe(ChatColor.WHITE,"T9 Artifact Recipe",new ItemStack[]{
|
t9recipe("Artifact Recipes",ChatColor.WHITE,"T9 Artifact Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(9, ArtifactItemType.SHOVEL),
|
Artifact.createRecipe(9, ArtifactItemType.SHOVEL),
|
||||||
Artifact.createRecipe(8, ArtifactItemType.SHOVEL),Artifact.createRecipe(8, ArtifactItemType.SHOVEL),null,
|
Artifact.createRecipe(8, ArtifactItemType.SHOVEL),Artifact.createRecipe(8, ArtifactItemType.SHOVEL),null,
|
||||||
Artifact.createArtifactItem(ArtifactItem.LOST_CORE)
|
Artifact.createArtifactItem(ArtifactItem.LOST_CORE)
|
||||||
}),
|
}),
|
||||||
t10recipe(ChatColor.WHITE,"T10 Artifact Recipe",new ItemStack[]{
|
t10recipe("Artifact Recipes",ChatColor.WHITE,"T10 Artifact Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(10, ArtifactItemType.SHOVEL),
|
Artifact.createRecipe(10, ArtifactItemType.SHOVEL),
|
||||||
Artifact.createRecipe(9, ArtifactItemType.SHOVEL),Artifact.createRecipe(9, ArtifactItemType.SHOVEL),null,
|
Artifact.createRecipe(9, ArtifactItemType.SHOVEL),Artifact.createRecipe(9, ArtifactItemType.SHOVEL),null,
|
||||||
Artifact.createArtifactItem(ArtifactItem.LOST_BASE)
|
Artifact.createArtifactItem(ArtifactItem.LOST_BASE)
|
||||||
}),
|
}),
|
||||||
t11recipe(ChatColor.WHITE,"T11 Artifact Recipe",new ItemStack[]{
|
t11recipe("Artifact Recipes",ChatColor.WHITE,"T11 Artifact Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(11, ArtifactItemType.SHOVEL),
|
Artifact.createRecipe(11, ArtifactItemType.SHOVEL),
|
||||||
Artifact.createRecipe(10, ArtifactItemType.SHOVEL),Artifact.createRecipe(10, ArtifactItemType.SHOVEL),null,
|
Artifact.createRecipe(10, ArtifactItemType.SHOVEL),Artifact.createRecipe(10, ArtifactItemType.SHOVEL),null,
|
||||||
Artifact.createArtifactItem(ArtifactItem.DIVINE_ESSENCE)
|
Artifact.createArtifactItem(ArtifactItem.DIVINE_ESSENCE)
|
||||||
}),
|
}),
|
||||||
t12recipe(ChatColor.WHITE,"T12 Artifact Recipe",new ItemStack[]{
|
t12recipe("Artifact Recipes",ChatColor.WHITE,"T12 Artifact Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(12, ArtifactItemType.SHOVEL),
|
Artifact.createRecipe(12, ArtifactItemType.SHOVEL),
|
||||||
Artifact.createRecipe(11, ArtifactItemType.SHOVEL),Artifact.createRecipe(11, ArtifactItemType.SHOVEL),null,
|
Artifact.createRecipe(11, ArtifactItemType.SHOVEL),Artifact.createRecipe(11, ArtifactItemType.SHOVEL),null,
|
||||||
Artifact.createArtifactItem(ArtifactItem.DIVINE_CORE)
|
Artifact.createArtifactItem(ArtifactItem.DIVINE_CORE)
|
||||||
}),
|
}),
|
||||||
t13recipe(ChatColor.WHITE,"T13 Artifact Recipe",new ItemStack[]{
|
t13recipe("Artifact Recipes",ChatColor.WHITE,"T13 Artifact Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(13, ArtifactItemType.SHOVEL),
|
Artifact.createRecipe(13, ArtifactItemType.SHOVEL),
|
||||||
Artifact.createRecipe(12, ArtifactItemType.SHOVEL),Artifact.createRecipe(12, ArtifactItemType.SHOVEL),null,
|
Artifact.createRecipe(12, ArtifactItemType.SHOVEL),Artifact.createRecipe(12, ArtifactItemType.SHOVEL),null,
|
||||||
Artifact.createArtifactItem(ArtifactItem.DIVINE_BASE)
|
Artifact.createArtifactItem(ArtifactItem.DIVINE_BASE)
|
||||||
}),
|
}),
|
||||||
t14recipe(ChatColor.WHITE,"T14 Artifact Recipe",new ItemStack[]{
|
t14recipe("Artifact Recipes",ChatColor.WHITE,"T14 Artifact Recipe",new ItemStack[]{
|
||||||
Artifact.createRecipe(14, ArtifactItemType.SHOVEL),
|
Artifact.createRecipe(14, ArtifactItemType.SHOVEL),
|
||||||
Artifact.createRecipe(13, ArtifactItemType.SHOVEL),Artifact.createRecipe(13, ArtifactItemType.SHOVEL),null,
|
Artifact.createRecipe(13, ArtifactItemType.SHOVEL),Artifact.createRecipe(13, ArtifactItemType.SHOVEL),null,
|
||||||
Artifact.createArtifactItem(ArtifactItem.DIVINE_ESSENCE),
|
Artifact.createArtifactItem(ArtifactItem.DIVINE_ESSENCE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.DIVINE_CORE),
|
Artifact.createArtifactItem(ArtifactItem.DIVINE_CORE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.DIVINE_BASE)
|
Artifact.createArtifactItem(ArtifactItem.DIVINE_BASE)
|
||||||
}),
|
}),
|
||||||
tierup(ChatColor.YELLOW,"Increase Artifact Material Tier",new ItemStack[]{
|
tierup("Artifact Recipes",ChatColor.YELLOW,"Increase Artifact Material Tier",new ItemStack[]{
|
||||||
Artifact.createArtifactItem(ArtifactItem.LOST_ESSENCE),
|
Artifact.createArtifactItem(ArtifactItem.LOST_ESSENCE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.ANCIENT_ESSENCE),
|
Artifact.createArtifactItem(ArtifactItem.ANCIENT_ESSENCE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.ANCIENT_ESSENCE)
|
Artifact.createArtifactItem(ArtifactItem.ANCIENT_ESSENCE)
|
||||||
}),
|
}),
|
||||||
tierdown(ChatColor.YELLOW,"Decrease Artifact Material Tier",new ItemStack[]{
|
tierdown("Artifact Recipes",ChatColor.YELLOW,"Decrease Artifact Material Tier",new ItemStack[]{
|
||||||
Artifact.createArtifactItem(ArtifactItem.ANCIENT_ESSENCE,2),
|
Artifact.createArtifactItem(ArtifactItem.ANCIENT_ESSENCE,2),
|
||||||
Artifact.createArtifactItem(ArtifactItem.LOST_ESSENCE)
|
Artifact.createArtifactItem(ArtifactItem.LOST_ESSENCE)
|
||||||
}),
|
}),
|
||||||
empower(ChatColor.YELLOW,"Empower Artifact Materials to Divine Tier",new ItemStack[]{
|
empower("Artifact Recipes",ChatColor.YELLOW,"Empower Artifact Materials to Divine Tier",new ItemStack[]{
|
||||||
Artifact.createArtifactItem(ArtifactItem.DIVINE_CORE),
|
Artifact.createArtifactItem(ArtifactItem.DIVINE_CORE),
|
||||||
Artifact.createArtifactItem(ArtifactItem.ARTIFACT_CORE),new ItemStack(Material.NETHER_STAR),
|
Artifact.createArtifactItem(ArtifactItem.ARTIFACT_CORE),new ItemStack(Material.NETHER_STAR),
|
||||||
}),
|
}),
|
||||||
arrow2(ChatColor.GREEN,"Hand-made Arrow",new ItemStack[]{
|
arrow2("Custom Arrows",ChatColor.GREEN,"Hand-made Arrow",new ItemStack[]{
|
||||||
Recipes.getArrowFromMeta("DOUBLE_DAMAGE_ARR"),
|
Recipes.getArrowFromMeta("DOUBLE_DAMAGE_ARR"),
|
||||||
new ItemStack(Material.FLINT),new ItemStack(Material.STICK),null,
|
new ItemStack(Material.FLINT),new ItemStack(Material.STICK),null,
|
||||||
new ItemStack(Material.FEATHER),
|
new ItemStack(Material.FEATHER),
|
||||||
}),
|
}),
|
||||||
arrow4(ChatColor.GREEN,"Diamond-Tipped Arrow",new ItemStack[]{
|
arrow4("Custom Arrows",ChatColor.GREEN,"Diamond-Tipped Arrow",new ItemStack[]{
|
||||||
Recipes.getArrowFromMeta("QUADRUPLE_DAMAGE_ARR"),
|
Recipes.getArrowFromMeta("QUADRUPLE_DAMAGE_ARR"),
|
||||||
Recipes.getArrowFromMeta("DOUBLE_DAMAGE_ARR"),new ItemStack(Material.DIAMOND)
|
Recipes.getArrowFromMeta("DOUBLE_DAMAGE_ARR"),new ItemStack(Material.DIAMOND)
|
||||||
}),
|
}),
|
||||||
traparrow(ChatColor.GREEN,"Trapping Arrow",new ItemStack[]{
|
traparrow("Custom Arrows",ChatColor.GREEN,"Trapping Arrow",new ItemStack[]{
|
||||||
Recipes.getArrowFromMeta("TRAP_ARR"),
|
Recipes.getArrowFromMeta("TRAP_ARR"),
|
||||||
new ItemStack(Material.WEB),new ItemStack(Material.STICK),null,
|
new ItemStack(Material.WEB),new ItemStack(Material.STICK),null,
|
||||||
new ItemStack(Material.FEATHER),
|
new ItemStack(Material.FEATHER),
|
||||||
}),
|
}),
|
||||||
explodearrow(ChatColor.GREEN,"Exploding Arrow",new ItemStack[]{
|
explodearrow("Custom Arrows",ChatColor.GREEN,"Exploding Arrow",new ItemStack[]{
|
||||||
Recipes.getArrowFromMeta("EXPLODE_ARR"),
|
Recipes.getArrowFromMeta("EXPLODE_ARR"),
|
||||||
new ItemStack(Material.SULPHUR),new ItemStack(Material.STICK),null,
|
new ItemStack(Material.SULPHUR),new ItemStack(Material.STICK),null,
|
||||||
new ItemStack(Material.FEATHER),
|
new ItemStack(Material.FEATHER),
|
||||||
}),
|
}),
|
||||||
poisonarrow(ChatColor.GREEN,"Poison Arrow",new ItemStack[]{
|
poisonarrow("Custom Arrows",ChatColor.GREEN,"Poison Arrow",new ItemStack[]{
|
||||||
Recipes.getArrowFromMeta("POISON_ARR"),
|
Recipes.getArrowFromMeta("POISON_ARR"),
|
||||||
new ItemStack(Material.RAW_FISH,1,(short)3),new ItemStack(Material.STICK),null,
|
new ItemStack(Material.RAW_FISH,1,(short)3),new ItemStack(Material.STICK),null,
|
||||||
new ItemStack(Material.FEATHER),
|
new ItemStack(Material.FEATHER),
|
||||||
@ -355,11 +355,17 @@ public enum RecipeLinker {
|
|||||||
String name = "";
|
String name = "";
|
||||||
ItemStack[] rec = null;
|
ItemStack[] rec = null;
|
||||||
ChatColor col = null;
|
ChatColor col = null;
|
||||||
|
String category = "";
|
||||||
|
|
||||||
RecipeLinker(ChatColor col, String name, ItemStack[] recipe) {
|
RecipeLinker(String cat, ChatColor col, String name, ItemStack[] recipe) {
|
||||||
this.col=col;
|
this.col=col;
|
||||||
this.name=name;
|
this.name=name;
|
||||||
this.rec=recipe;
|
this.rec=recipe;
|
||||||
|
this.category=cat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCategory() {
|
||||||
|
return category;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
|
@ -153,7 +153,7 @@ public enum CustomRecipe {
|
|||||||
pm.setDisplayName(ChatColor.GREEN+"Life Vial");
|
pm.setDisplayName(ChatColor.GREEN+"Life Vial");
|
||||||
pm.addItemFlags(ItemFlag.HIDE_POTION_EFFECTS);
|
pm.addItemFlags(ItemFlag.HIDE_POTION_EFFECTS);
|
||||||
LIFE_VIAL.setItemMeta(pm);
|
LIFE_VIAL.setItemMeta(pm);
|
||||||
return new CustomPotion(LIFE_VIAL,effects,50,100);
|
return new CustomPotion(LIFE_VIAL,effects,10,20);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static CustomPotion DefineStrengtheningVial() {
|
public static CustomPotion DefineStrengtheningVial() {
|
||||||
|
@ -18,12 +18,14 @@ public enum ItemSet {
|
|||||||
SONGSTEEL(4,2, 6,2, 8,8, 20,10),
|
SONGSTEEL(4,2, 6,2, 8,8, 20,10),
|
||||||
DAWNTRACKER(4,4, 20,10, 20,10, 6,4),
|
DAWNTRACKER(4,4, 20,10, 20,10, 6,4),
|
||||||
LORASYS(2,2, 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(3,3, 5,1, 10,1, 10,2), //Graceful Dodge is in ticks.
|
||||||
DARNYS(1,1, 10,5, 20,5, 1,1),
|
DARNYS(2,1, 10,5, 20,5, 1,1),
|
||||||
ALIKAHN(1,1, 15,6, 30,10, 12,6),
|
ALIKAHN(3,1, 15,6, 30,10, 12,6),
|
||||||
LORASAADI(1,1, 1,1, 3,2, 2,1),
|
LORASAADI(4,1, 4,2, 8,6, 8,3),
|
||||||
MOONSHADOW(4,2, 1,1, 8,8, 15,7),
|
MOONSHADOW(4,2, 1,1, 8,8, 15,7),
|
||||||
GLADOMAIN(1,1, 12,10, 8,8, 1,1);
|
GLADOMAIN(1,1, 12,10, 8,8, 1,1),
|
||||||
|
WOLFSBANE(2,1, 15,10, 10,5, 15,10),
|
||||||
|
ALUSTINE(10,10, 10,-1, 5,-1, 6,4);
|
||||||
|
|
||||||
int baseval;
|
int baseval;
|
||||||
int increase_val;
|
int increase_val;
|
||||||
@ -273,6 +275,16 @@ public enum ItemSet {
|
|||||||
lore.add(ChatColor.GOLD+""+ChatColor.BOLD+"T"+tier+" Moonshadow Set");
|
lore.add(ChatColor.GOLD+""+ChatColor.BOLD+"T"+tier+" Moonshadow Set");
|
||||||
lore.add(ChatColor.YELLOW+"+"+ItemSet.GetBaseAmount(set, tier, 1)+"% Crit Damage");
|
lore.add(ChatColor.YELLOW+"+"+ItemSet.GetBaseAmount(set, tier, 1)+"% Crit Damage");
|
||||||
}break;
|
}break;
|
||||||
|
case WOLFSBANE:{
|
||||||
|
lore.add(ChatColor.LIGHT_PURPLE+"Slayer Ornament");
|
||||||
|
lore.add(ChatColor.GOLD+""+ChatColor.BOLD+"T"+tier+" Wolfsbane Set");
|
||||||
|
lore.add(ChatColor.YELLOW+"+"+ItemSet.GetBaseAmount(set, tier, 1)+"% Critical Chance");
|
||||||
|
}break;
|
||||||
|
case ALUSTINE:{
|
||||||
|
lore.add(ChatColor.LIGHT_PURPLE+"Slayer Charm");
|
||||||
|
lore.add(ChatColor.GOLD+""+ChatColor.BOLD+"T"+tier+" Alustine Set");
|
||||||
|
lore.add(ChatColor.YELLOW+"+"+ItemSet.GetBaseAmount(set, tier, 1)+"% EXP Gain");
|
||||||
|
}break;
|
||||||
}
|
}
|
||||||
|
|
||||||
lore.add("");
|
lore.add("");
|
||||||
@ -319,8 +331,8 @@ public enum ItemSet {
|
|||||||
lore.add(ChatColor.DARK_AQUA+" 2 - "+ChatColor.WHITE+" +"+ItemSet.GetBaseAmount(set, tier, 2)+"% Dodge Chance");
|
lore.add(ChatColor.DARK_AQUA+" 2 - "+ChatColor.WHITE+" +"+ItemSet.GetBaseAmount(set, tier, 2)+"% Dodge Chance");
|
||||||
lore.add(ChatColor.DARK_AQUA+" 3 - "+ChatColor.WHITE+" +"+ItemSet.GetBaseAmount(set, tier, 3)+"% Dodge Chance");
|
lore.add(ChatColor.DARK_AQUA+" 3 - "+ChatColor.WHITE+" +"+ItemSet.GetBaseAmount(set, tier, 3)+"% Dodge Chance");
|
||||||
lore.add(ChatColor.DARK_AQUA+" 4 - "+ChatColor.WHITE+" +"+(ItemSet.GetBaseAmount(set, tier, 4)/20d)+"s Graceful Dodge");
|
lore.add(ChatColor.DARK_AQUA+" 4 - "+ChatColor.WHITE+" +"+(ItemSet.GetBaseAmount(set, tier, 4)/20d)+"s Graceful Dodge");
|
||||||
lore.add(ChatColor.GRAY+" Gives you invulnerability after a");
|
lore.add(ChatColor.GRAY+" Gives you invulnerability and "+(ItemSet.GetBaseAmount(set, tier, 4)/4)+" absorption");
|
||||||
lore.add(ChatColor.GRAY+" successful dodge.");
|
lore.add(ChatColor.GRAY+" health for each successful dodge.");
|
||||||
lore.add(ChatColor.DARK_AQUA+" 5 - "+ChatColor.WHITE+" Boosts All Modes of Ranger");
|
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+" "+ChatColor.WHITE+"Close Range Mode:");
|
||||||
lore.add(ChatColor.GRAY+" Increases Tumble Invincibility from");
|
lore.add(ChatColor.GRAY+" Increases Tumble Invincibility from");
|
||||||
@ -408,6 +420,30 @@ public enum ItemSet {
|
|||||||
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"While in Stealth Mode you gain 40%");
|
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"While in Stealth Mode you gain 40%");
|
||||||
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"Dodge Chance");
|
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"Dodge Chance");
|
||||||
}break;
|
}break;
|
||||||
|
case WOLFSBANE:{
|
||||||
|
lore.add(ChatColor.GOLD+""+ChatColor.ITALIC+"Set Bonus:");
|
||||||
|
lore.add(ChatColor.DARK_AQUA+" 2 - "+ChatColor.WHITE+" Recovers "+ItemSet.GetBaseAmount(set, tier, 2)+"% Cooldown on Assassination per kill");
|
||||||
|
lore.add(ChatColor.DARK_AQUA+" 3 - "+ChatColor.WHITE+" Applies Speed V when Assassination is casted. Suppresses");
|
||||||
|
lore.add(ChatColor.DARK_AQUA+" "+ChatColor.WHITE+" the target for "+(ItemSet.GetBaseAmount(set, tier, 3)/20d)+"s");
|
||||||
|
lore.add(ChatColor.DARK_AQUA+" 5 - "+ChatColor.WHITE+" Gain "+(ItemSet.GetBaseAmount(set, tier, 4)/20d)+" seconds of invulnerability after");
|
||||||
|
lore.add(ChatColor.DARK_AQUA+" "+ChatColor.WHITE+" Assassination is casted.");
|
||||||
|
lore.add(ChatColor.DARK_AQUA+" 7 - "+ChatColor.WHITE+" Provides the Following Bonuses:");
|
||||||
|
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"Backstabs heal 2 HP (1 Heart). Assassination cooldown reduced");
|
||||||
|
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"to 2 seconds when used on a target closer than 5 meters.");
|
||||||
|
}break;
|
||||||
|
case ALUSTINE:{
|
||||||
|
lore.add(ChatColor.GOLD+""+ChatColor.ITALIC+"Set Bonus:");
|
||||||
|
lore.add(ChatColor.DARK_AQUA+" 2 - "+ChatColor.WHITE+" Gain immunity to Explosions.");
|
||||||
|
lore.add(ChatColor.DARK_AQUA+" "+ChatColor.WHITE+" Consumes "+ItemSet.GetBaseAmount(set, tier, 2)+" XP per absorbed hit.");
|
||||||
|
lore.add(ChatColor.DARK_AQUA+" 3 - "+ChatColor.WHITE+" Resists all fire, poison, and wither damage.");
|
||||||
|
lore.add(ChatColor.DARK_AQUA+" "+ChatColor.WHITE+" Consumes "+ItemSet.GetBaseAmount(set, tier, 3)+" XP per absorbed hit.");
|
||||||
|
lore.add(ChatColor.DARK_AQUA+" 5 - "+ChatColor.WHITE+" Backstabs spill "+ItemSet.GetBaseAmount(set, tier, 4)+" XP out from the target hit.");
|
||||||
|
lore.add(ChatColor.DARK_AQUA+" "+ChatColor.WHITE+" Has a "+Math.min((ItemSet.GetBaseAmount(set, tier, 4)/20d)*100d,100)+"% chance to restore 2 HP (1 Heart) on XP gain.");
|
||||||
|
lore.add(ChatColor.DARK_AQUA+" 7 - "+ChatColor.WHITE+" Provides the Following Bonuses:");
|
||||||
|
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"Deal additional base damage equal to the");
|
||||||
|
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"number of levels you have. Drains XP equal");
|
||||||
|
lore.add(ChatColor.GRAY+" "+ChatColor.WHITE+"to the number of levels you have per hit.");
|
||||||
|
}break;
|
||||||
}
|
}
|
||||||
return lore;
|
return lore;
|
||||||
}
|
}
|
||||||
|
@ -598,7 +598,7 @@ public class Loot {
|
|||||||
allowed = false;
|
allowed = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
item.setDurability((short)2);
|
item.setDurability((short)5);
|
||||||
ItemMeta m = item.getItemMeta();
|
ItemMeta m = item.getItemMeta();
|
||||||
m.addItemFlags(ItemFlag.HIDE_ENCHANTS);
|
m.addItemFlags(ItemFlag.HIDE_ENCHANTS);
|
||||||
item.setItemMeta(m);
|
item.setItemMeta(m);
|
||||||
@ -610,12 +610,36 @@ public class Loot {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
//item.setType(Material.SKULL_ITEM);
|
//item.setType(Material.SKULL_ITEM);
|
||||||
item.setDurability((short)0);
|
item.setDurability((short)4);
|
||||||
ItemMeta m = item.getItemMeta();
|
ItemMeta m = item.getItemMeta();
|
||||||
m.addItemFlags(ItemFlag.HIDE_ENCHANTS);
|
m.addItemFlags(ItemFlag.HIDE_ENCHANTS);
|
||||||
item.setItemMeta(m);
|
item.setItemMeta(m);
|
||||||
set_name = prefix+"Moonshadow Slayer Trinket";
|
set_name = prefix+"Moonshadow Slayer Trinket";
|
||||||
}break;
|
}break;
|
||||||
|
case WOLFSBANE:{
|
||||||
|
if (!item.getType().toString().contains("SKULL_ITEM")) {
|
||||||
|
allowed = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
//item.setType(Material.SKULL_ITEM);
|
||||||
|
item.setDurability((short)0);
|
||||||
|
ItemMeta m = item.getItemMeta();
|
||||||
|
m.addItemFlags(ItemFlag.HIDE_ENCHANTS);
|
||||||
|
item.setItemMeta(m);
|
||||||
|
set_name = prefix+"Wolfsbane Slayer Ornament";
|
||||||
|
}break;
|
||||||
|
case ALUSTINE:{
|
||||||
|
if (!item.getType().toString().contains("SKULL_ITEM")) {
|
||||||
|
allowed = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
//item.setType(Material.SKULL_ITEM);
|
||||||
|
item.setDurability((short)2);
|
||||||
|
ItemMeta m = item.getItemMeta();
|
||||||
|
m.addItemFlags(ItemFlag.HIDE_ENCHANTS);
|
||||||
|
item.setItemMeta(m);
|
||||||
|
set_name = prefix+"Alustine Slayer Charm";
|
||||||
|
}break;
|
||||||
}
|
}
|
||||||
if (item.getItemMeta().hasLore()) {
|
if (item.getItemMeta().hasLore()) {
|
||||||
lore = item.getItemMeta().getLore();
|
lore = item.getItemMeta().getLore();
|
||||||
|
@ -36,7 +36,6 @@ public class LootStructure {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public LootStructure(Material mat, boolean ishardened, int minSetLevel) {
|
public LootStructure(Material mat, boolean ishardened, int minSetLevel) {
|
||||||
// TODO Auto-generated constructor stub
|
|
||||||
this.mat=mat;
|
this.mat=mat;
|
||||||
this.hardened_item=ishardened;
|
this.hardened_item=ishardened;
|
||||||
this.amt=1;
|
this.amt=1;
|
||||||
|
@ -1,18 +1,33 @@
|
|||||||
package sig.plugin.TwosideKeeper.HelperStructures;
|
package sig.plugin.TwosideKeeper.HelperStructures;
|
||||||
|
|
||||||
|
import org.bukkit.entity.EntityType;
|
||||||
|
|
||||||
public enum MonsterType {
|
public enum MonsterType {
|
||||||
BLAZE,
|
BLAZE(EntityType.BLAZE),
|
||||||
CAVESPIDER,
|
CAVESPIDER(EntityType.CAVE_SPIDER),
|
||||||
CREEPER,
|
CREEPER(EntityType.CREEPER),
|
||||||
ENDERMAN,
|
ENDERMAN(EntityType.ENDERMAN),
|
||||||
ENDERMITE,
|
ENDERMITE(EntityType.ENDERMITE),
|
||||||
GIANT,
|
GIANT(EntityType.GIANT),
|
||||||
GUARDIAN,
|
GUARDIAN(EntityType.GUARDIAN),
|
||||||
PIGZOMBIE,
|
PIGZOMBIE(EntityType.PIG_ZOMBIE),
|
||||||
SILVERFISH,
|
SILVERFISH(EntityType.SILVERFISH),
|
||||||
SKELETON,
|
SKELETON(EntityType.SKELETON),
|
||||||
SPIDER,
|
SPIDER(EntityType.SPIDER),
|
||||||
WITCH,
|
WITCH(EntityType.WITCH),
|
||||||
WITHER,
|
WITHER(EntityType.WITHER),
|
||||||
ZOMBIE,
|
WITHER_SKELETON(EntityType.SKELETON),
|
||||||
|
ZOMBIE(EntityType.ZOMBIE);
|
||||||
|
|
||||||
|
EntityType type;
|
||||||
|
|
||||||
|
MonsterType(EntityType type) {
|
||||||
|
this.type=type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public EntityType getEntityType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import java.util.HashMap;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.attribute.Attribute;
|
||||||
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;
|
||||||
@ -17,6 +18,7 @@ public class LivingEntityStructure {
|
|||||||
public LivingEntity m;
|
public LivingEntity m;
|
||||||
public boolean isLeader=false;
|
public boolean isLeader=false;
|
||||||
public boolean isElite=false;
|
public boolean isElite=false;
|
||||||
|
public double original_movespd = 0.0d;
|
||||||
public HashMap<UUID,Long> hitlist = new HashMap<UUID,Long>();
|
public HashMap<UUID,Long> hitlist = new HashMap<UUID,Long>();
|
||||||
public HashMap<Player,GlowAPI.Color> glowcolorlist = new HashMap<Player,GlowAPI.Color>();
|
public HashMap<Player,GlowAPI.Color> glowcolorlist = new HashMap<Player,GlowAPI.Color>();
|
||||||
|
|
||||||
@ -24,11 +26,13 @@ public class LivingEntityStructure {
|
|||||||
target=null;
|
target=null;
|
||||||
original_name="";
|
original_name="";
|
||||||
this.m=m;
|
this.m=m;
|
||||||
|
this.original_movespd = m.getAttribute(Attribute.GENERIC_MOVEMENT_SPEED).getBaseValue();
|
||||||
}
|
}
|
||||||
public LivingEntityStructure(LivingEntity m, LivingEntity target) {
|
public LivingEntityStructure(LivingEntity m, LivingEntity target) {
|
||||||
this.target=target;
|
this.target=target;
|
||||||
original_name="";
|
original_name="";
|
||||||
this.m=m;
|
this.m=m;
|
||||||
|
this.original_movespd = m.getAttribute(Attribute.GENERIC_MOVEMENT_SPEED).getBaseValue();
|
||||||
}
|
}
|
||||||
|
|
||||||
public LivingEntity GetTarget() {
|
public LivingEntity GetTarget() {
|
||||||
@ -87,9 +91,6 @@ public class LivingEntityStructure {
|
|||||||
if (GenericFunctions.isSuppressed(m)) {
|
if (GenericFunctions.isSuppressed(m)) {
|
||||||
setGlow(p,GlowAPI.Color.BLACK);
|
setGlow(p,GlowAPI.Color.BLACK);
|
||||||
} else
|
} else
|
||||||
if (getLeader() || (m instanceof Monster && GenericFunctions.isBossMonster((Monster)m))) {
|
|
||||||
setGlow(p,GlowAPI.Color.DARK_RED);
|
|
||||||
} else
|
|
||||||
if (getElite()) {
|
if (getElite()) {
|
||||||
boolean handled=false;
|
boolean handled=false;
|
||||||
for (EliteMonster em : TwosideKeeper.elitemonsters) {
|
for (EliteMonster em : TwosideKeeper.elitemonsters) {
|
||||||
@ -102,6 +103,9 @@ public class LivingEntityStructure {
|
|||||||
setGlow(p,GlowAPI.Color.DARK_PURPLE);
|
setGlow(p,GlowAPI.Color.DARK_PURPLE);
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
|
if (getLeader() || (m instanceof Monster && GenericFunctions.isBossMonster((Monster)m))) {
|
||||||
|
setGlow(p,GlowAPI.Color.DARK_RED);
|
||||||
|
} else
|
||||||
if (GenericFunctions.isIsolatedTarget(m, p)) {
|
if (GenericFunctions.isIsolatedTarget(m, p)) {
|
||||||
setGlow(p,GlowAPI.Color.WHITE);
|
setGlow(p,GlowAPI.Color.WHITE);
|
||||||
} else {
|
} else {
|
||||||
|
@ -919,54 +919,11 @@ public class MonsterController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static Monster spawnAdjustedMonster(MonsterType mt,Location loc) {
|
public static Monster spawnAdjustedMonster(MonsterType mt,Location loc) {
|
||||||
EntityType et;
|
Monster m = (Monster)loc.getWorld().spawnEntity(loc, mt.getEntityType());
|
||||||
switch(mt) {
|
if (mt.equals(MonsterType.WITHER_SKELETON)) {
|
||||||
case BLAZE:
|
Skeleton sk = (Skeleton)m;
|
||||||
et=EntityType.BLAZE;
|
sk.setSkeletonType(SkeletonType.WITHER);
|
||||||
break;
|
|
||||||
case CAVESPIDER:
|
|
||||||
et=EntityType.CAVE_SPIDER;
|
|
||||||
break;
|
|
||||||
case CREEPER:
|
|
||||||
et=EntityType.CREEPER;
|
|
||||||
break;
|
|
||||||
case ENDERMAN:
|
|
||||||
et=EntityType.ENDERMAN;
|
|
||||||
break;
|
|
||||||
case ENDERMITE:
|
|
||||||
et=EntityType.ENDERMITE;
|
|
||||||
break;
|
|
||||||
case GIANT:
|
|
||||||
et=EntityType.GIANT;
|
|
||||||
break;
|
|
||||||
case GUARDIAN:
|
|
||||||
et=EntityType.GUARDIAN;
|
|
||||||
break;
|
|
||||||
case PIGZOMBIE:
|
|
||||||
et=EntityType.PIG_ZOMBIE;
|
|
||||||
break;
|
|
||||||
case SILVERFISH:
|
|
||||||
et=EntityType.SILVERFISH;
|
|
||||||
break;
|
|
||||||
case SKELETON:
|
|
||||||
et=EntityType.SKELETON;
|
|
||||||
break;
|
|
||||||
case SPIDER:
|
|
||||||
et=EntityType.SPIDER;
|
|
||||||
break;
|
|
||||||
case WITCH:
|
|
||||||
et=EntityType.WITCH;
|
|
||||||
break;
|
|
||||||
case WITHER:
|
|
||||||
et=EntityType.WITHER;
|
|
||||||
break;
|
|
||||||
case ZOMBIE:
|
|
||||||
et=EntityType.ZOMBIE;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
et=EntityType.ZOMBIE;
|
|
||||||
}
|
}
|
||||||
Monster m = (Monster)loc.getWorld().spawnEntity(loc, et);
|
|
||||||
return MonsterController.convertMonster(m);
|
return MonsterController.convertMonster(m);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -982,7 +939,8 @@ public class MonsterController {
|
|||||||
if (m.getType()==EntityType.ZOMBIE ||
|
if (m.getType()==EntityType.ZOMBIE ||
|
||||||
m.getType()==EntityType.PIG_ZOMBIE ||
|
m.getType()==EntityType.PIG_ZOMBIE ||
|
||||||
m.getType()==EntityType.GIANT ||
|
m.getType()==EntityType.GIANT ||
|
||||||
m.getType()==EntityType.SKELETON
|
m.getType()==EntityType.SKELETON ||
|
||||||
|
m.getType()==EntityType.WITHER
|
||||||
) {
|
) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -110,6 +110,8 @@ public class PlayerStructure {
|
|||||||
public long lastlifesavertime=0;
|
public long lastlifesavertime=0;
|
||||||
public boolean slayermegahit=false;
|
public boolean slayermegahit=false;
|
||||||
public double thorns_amt = 0.0;
|
public double thorns_amt = 0.0;
|
||||||
|
public long lastimportantactionbarmsg=0;
|
||||||
|
public long lasthighwinderhit=0;
|
||||||
|
|
||||||
public long iframetime = 0;
|
public long iframetime = 0;
|
||||||
|
|
||||||
|
@ -265,7 +265,7 @@ public class Recipes {
|
|||||||
//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>();
|
||||||
lore.add(ChatColor.GRAY+"Explodes on Contact (+40 dmg)");
|
lore.add(ChatColor.GRAY+"Explodes on Contact (+80 dmg)");
|
||||||
pm.setLore(lore);
|
pm.setLore(lore);
|
||||||
pm.setDisplayName(ChatColor.GRAY+"Exploding Arrow");
|
pm.setDisplayName(ChatColor.GRAY+"Exploding Arrow");
|
||||||
explosionarrow.setItemMeta(pm);
|
explosionarrow.setItemMeta(pm);
|
||||||
|
@ -102,7 +102,6 @@ public class RecyclingCenter {
|
|||||||
try {
|
try {
|
||||||
workable.save(config);
|
workable.save(config);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -328,7 +328,7 @@ public class SpleefGame implements Listener {
|
|||||||
(corner1.getBlockZ()>corner2.getBlockZ())?(corner1.getBlockZ()-2-(Math.random()*(corner1.getBlockZ()-corner2.getBlockZ()-4))):(corner2.getBlockZ()-2-(Math.random()*(corner2.getBlockZ()-corner1.getBlockZ()-4)))
|
(corner1.getBlockZ()>corner2.getBlockZ())?(corner1.getBlockZ()-2-(Math.random()*(corner1.getBlockZ()-corner2.getBlockZ()-4))):(corner2.getBlockZ()-2-(Math.random()*(corner2.getBlockZ()-corner1.getBlockZ()-4)))
|
||||||
), TeleportCause.PLUGIN);
|
), TeleportCause.PLUGIN);
|
||||||
//Give players Resistance 100 so they can never die.
|
//Give players Resistance 100 so they can never die.
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.DAMAGE_RESISTANCE,99999,100,Bukkit.getServer().getPlayer(players.get(i).player));
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.DAMAGE_RESISTANCE,99999,100,Bukkit.getServer().getPlayer(players.get(i).player));
|
||||||
}
|
}
|
||||||
active=true;
|
active=true;
|
||||||
starttime=TwosideKeeper.getServerTickTime();
|
starttime=TwosideKeeper.getServerTickTime();
|
||||||
@ -385,7 +385,7 @@ public class SpleefGame implements Listener {
|
|||||||
void RemovePlayer(SpleefPlayerData p, RemovePlayerReason rs) {
|
void RemovePlayer(SpleefPlayerData p, RemovePlayerReason rs) {
|
||||||
p.ClearInventory();
|
p.ClearInventory();
|
||||||
p.RestoreInventory();
|
p.RestoreInventory();
|
||||||
GenericFunctions.logAndRemovePotionEffectFromPlayer(PotionEffectType.DAMAGE_RESISTANCE,Bukkit.getServer().getPlayer(p.player));
|
GenericFunctions.logAndRemovePotionEffectFromEntity(PotionEffectType.DAMAGE_RESISTANCE,Bukkit.getServer().getPlayer(p.player));
|
||||||
for (int i=0;i<players.size();i++) {
|
for (int i=0;i<players.size();i++) {
|
||||||
if (players.get(i).player.equalsIgnoreCase(p.player)) {
|
if (players.get(i).player.equalsIgnoreCase(p.player)) {
|
||||||
players.remove(i);
|
players.remove(i);
|
||||||
@ -521,7 +521,6 @@ class SpleefPlayerData {
|
|||||||
try {
|
try {
|
||||||
file.createNewFile();
|
file.createNewFile();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,6 @@ import org.bukkit.entity.Snowball;
|
|||||||
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.Zombie;
|
|
||||||
import org.bukkit.entity.minecart.HopperMinecart;
|
import org.bukkit.entity.minecart.HopperMinecart;
|
||||||
import org.bukkit.event.Event.Result;
|
import org.bukkit.event.Event.Result;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
@ -89,7 +88,6 @@ import org.bukkit.event.inventory.ClickType;
|
|||||||
import org.bukkit.event.inventory.CraftItemEvent;
|
import org.bukkit.event.inventory.CraftItemEvent;
|
||||||
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.InventoryMoveItemEvent;
|
import org.bukkit.event.inventory.InventoryMoveItemEvent;
|
||||||
import org.bukkit.event.inventory.InventoryOpenEvent;
|
import org.bukkit.event.inventory.InventoryOpenEvent;
|
||||||
import org.bukkit.event.inventory.InventoryPickupItemEvent;
|
import org.bukkit.event.inventory.InventoryPickupItemEvent;
|
||||||
@ -145,7 +143,6 @@ 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 sig.plugin.TwosideKeeper.Boss.MegaWither;
|
|
||||||
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;
|
||||||
@ -293,11 +290,14 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
if (absorption_amt>0) {
|
if (absorption_amt>0) {
|
||||||
if (p.hasPotionEffect(PotionEffectType.ABSORPTION)) {
|
if (p.hasPotionEffect(PotionEffectType.ABSORPTION)) {
|
||||||
int oldlv = GenericFunctions.getPotionEffectLevel(PotionEffectType.ABSORPTION, p);
|
int oldlv = GenericFunctions.getPotionEffectLevel(PotionEffectType.ABSORPTION, p);
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.ABSORPTION,599,(int)(absorption_amt/4)+oldlv,p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.ABSORPTION,599,(int)(absorption_amt/4)+oldlv,p);
|
||||||
} else {
|
} else {
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.ABSORPTION,599,(int)(absorption_amt/4),p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.ABSORPTION,599,(int)(absorption_amt/4),p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (p.hasPotionEffect(PotionEffectType.ABSORPTION)) {
|
||||||
|
CustomDamage.setAbsorptionHearts(p, Math.max(CustomDamage.getAbsorptionHearts(p),4*(GenericFunctions.getPotionEffectLevel(PotionEffectType.ABSORPTION, p)+1)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -343,7 +343,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
cz.BreakBlocksAroundArea(1);
|
ChargeZombie.BreakBlocksAroundArea(cz.m,1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (HellfireSpider hs : hellfirespiders.values()) {
|
for (HellfireSpider hs : hellfirespiders.values()) {
|
||||||
@ -373,6 +373,11 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
for (Entity e : suppressed_entities) {
|
for (Entity e : suppressed_entities) {
|
||||||
if (e==null || !e.isValid() ||
|
if (e==null || !e.isValid() ||
|
||||||
GenericFunctions.getSuppressionTime(e)<=0) {
|
GenericFunctions.getSuppressionTime(e)<=0) {
|
||||||
|
if (e!=null && e.isValid() && e instanceof LivingEntity) {
|
||||||
|
LivingEntityStructure les = LivingEntityStructure.getLivingEntityStructure((LivingEntity)e);
|
||||||
|
((LivingEntity)e).getAttribute(Attribute.GENERIC_MOVEMENT_SPEED).setBaseValue(les.original_movespd);
|
||||||
|
((LivingEntity)e).setAI(true);
|
||||||
|
}
|
||||||
ScheduleRemoval(suppressed_entities,e);
|
ScheduleRemoval(suppressed_entities,e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -613,7 +618,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
// TODO Insert logic to be performed when the plugin is enabled
|
|
||||||
Bukkit.getPluginManager().registerEvents(this, this);
|
Bukkit.getPluginManager().registerEvents(this, this);
|
||||||
|
|
||||||
plugin=this;
|
plugin=this;
|
||||||
@ -760,7 +764,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onDisable() {
|
public void onDisable() {
|
||||||
// TODO Insert logic to be performed when the plugin is disabled
|
|
||||||
//Clear out remaining parties.
|
//Clear out remaining parties.
|
||||||
for (int i=0;i<TeamCounter;i++) {
|
for (int i=0;i<TeamCounter;i++) {
|
||||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "scoreboard objectives remove Party"+i);
|
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "scoreboard objectives remove Party"+i);
|
||||||
@ -883,7 +886,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
DiscordMessageSender.sendToSpam(stack.toString());*/
|
DiscordMessageSender.sendToSpam(stack.toString());*/
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
Monster m = MonsterController.convertMonster((Monster)p.getWorld().spawnEntity(p.getLocation(),EntityType.ZOMBIE), MonsterDifficulty.ELITE);
|
Monster m = MonsterController.convertMonster((Monster)p.getWorld().spawnEntity(p.getLocation(),EntityType.WITHER), MonsterDifficulty.ELITE);
|
||||||
|
|
||||||
//GenericFunctions.sendActionBarMessage(p, "Testing/nMultiple Lines.\nLolz");
|
//GenericFunctions.sendActionBarMessage(p, "Testing/nMultiple Lines.\nLolz");
|
||||||
//TwosideKeeperAPI.setItemSet(p.getEquipment().getItemInMainHand(), ItemSet.PANROS);
|
//TwosideKeeperAPI.setItemSet(p.getEquipment().getItemInMainHand(), ItemSet.PANROS);
|
||||||
@ -1319,15 +1322,15 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
GenericFunctions.updateSetItemsInInventory(ev.getPlayer().getInventory());
|
GenericFunctions.updateSetItemsInInventory(ev.getPlayer().getInventory());
|
||||||
ev.getPlayer().setCollidable(true);
|
ev.getPlayer().setCollidable(true);
|
||||||
|
|
||||||
GenericFunctions.logAndRemovePotionEffectFromPlayer(PotionEffectType.LEVITATION,ev.getPlayer());
|
GenericFunctions.logAndRemovePotionEffectFromEntity(PotionEffectType.LEVITATION,ev.getPlayer());
|
||||||
GenericFunctions.logAndRemovePotionEffectFromPlayer(PotionEffectType.JUMP,ev.getPlayer());
|
GenericFunctions.logAndRemovePotionEffectFromEntity(PotionEffectType.JUMP,ev.getPlayer());
|
||||||
ev.getPlayer().setVelocity(new Vector(0,0,0));
|
ev.getPlayer().setVelocity(new Vector(0,0,0));
|
||||||
CustomDamage.removeIframe(ev.getPlayer());
|
CustomDamage.removeIframe(ev.getPlayer());
|
||||||
|
|
||||||
//Update player max health. Check equipment too.
|
//Update player max health. Check equipment too.
|
||||||
setPlayerMaxHealth(ev.getPlayer());
|
setPlayerMaxHealth(ev.getPlayer());
|
||||||
GenericFunctions.logAndRemovePotionEffectFromPlayer(PotionEffectType.GLOWING,ev.getPlayer());
|
GenericFunctions.logAndRemovePotionEffectFromEntity(PotionEffectType.GLOWING,ev.getPlayer());
|
||||||
GenericFunctions.logAndRemovePotionEffectFromPlayer(PotionEffectType.NIGHT_VISION,ev.getPlayer());
|
GenericFunctions.logAndRemovePotionEffectFromEntity(PotionEffectType.NIGHT_VISION,ev.getPlayer());
|
||||||
ev.getPlayer().getScoreboard().getTeam(ev.getPlayer().getName().toLowerCase()).setSuffix(createHealthbar(((ev.getPlayer().getHealth())/ev.getPlayer().getMaxHealth())*100,ev.getPlayer()));
|
ev.getPlayer().getScoreboard().getTeam(ev.getPlayer().getName().toLowerCase()).setSuffix(createHealthbar(((ev.getPlayer().getHealth())/ev.getPlayer().getMaxHealth())*100,ev.getPlayer()));
|
||||||
ev.getPlayer().getScoreboard().getTeam(ev.getPlayer().getName().toLowerCase()).setPrefix(GenericFunctions.PlayerModePrefix(ev.getPlayer()));
|
ev.getPlayer().getScoreboard().getTeam(ev.getPlayer().getName().toLowerCase()).setPrefix(GenericFunctions.PlayerModePrefix(ev.getPlayer()));
|
||||||
ev.getPlayer().getAttribute(Attribute.GENERIC_ATTACK_SPEED).setBaseValue(4.0d);
|
ev.getPlayer().getAttribute(Attribute.GENERIC_ATTACK_SPEED).setBaseValue(4.0d);
|
||||||
@ -1941,7 +1944,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
Player p = ev.getPlayer();
|
Player p = ev.getPlayer();
|
||||||
if (PlayerMode.isRanger(p) && p.isSneaking() && p.getEquipment().getItemInMainHand().getType()==Material.BOW) {
|
if (PlayerMode.isRanger(p) && p.isSneaking() && p.getEquipment().getItemInMainHand().getType()==Material.BOW) {
|
||||||
//Rotate Bow Modes.
|
//Rotate Bow Modes.
|
||||||
GenericFunctions.logAndRemovePotionEffectFromPlayer(PotionEffectType.SLOW,p);
|
GenericFunctions.logAndRemovePotionEffectFromEntity(PotionEffectType.SLOW,p);
|
||||||
BowMode mode = GenericFunctions.getBowMode(p.getEquipment().getItemInMainHand());
|
BowMode mode = GenericFunctions.getBowMode(p.getEquipment().getItemInMainHand());
|
||||||
|
|
||||||
if (ev.getAction().name().contains("RIGHT")) {
|
if (ev.getAction().name().contains("RIGHT")) {
|
||||||
@ -2065,7 +2068,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
if (player.isBlocking()) {
|
if (player.isBlocking()) {
|
||||||
//Give absorption hearts.
|
//Give absorption hearts.
|
||||||
if (PlayerMode.isDefender(player)) {
|
if (PlayerMode.isDefender(player)) {
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.ABSORPTION,200,1,player);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.ABSORPTION,200,1,player);
|
||||||
List<Entity> entities = player.getNearbyEntities(16, 16, 16);
|
List<Entity> entities = player.getNearbyEntities(16, 16, 16);
|
||||||
for (int i=0;i<entities.size();i++) {
|
for (int i=0;i<entities.size();i++) {
|
||||||
if (entities.get(i) instanceof Monster) {
|
if (entities.get(i) instanceof Monster) {
|
||||||
@ -2075,7 +2078,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.ABSORPTION,200,0,player);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.ABSORPTION,200,0,player);
|
||||||
}
|
}
|
||||||
DecimalFormat df = new DecimalFormat("0.0");
|
DecimalFormat df = new DecimalFormat("0.0");
|
||||||
PlayerStructure pd = PlayerStructure.GetPlayerStructure(player);
|
PlayerStructure pd = PlayerStructure.GetPlayerStructure(player);
|
||||||
@ -2757,6 +2760,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (pd.lasthitdesc!=null) {
|
if (pd.lasthitdesc!=null) {
|
||||||
|
log("Death Description: "+pd.lasthitdesc,5);
|
||||||
newDeathMsg = getFancyDeathMessage(p);
|
newDeathMsg = getFancyDeathMessage(p);
|
||||||
}
|
}
|
||||||
newDeathMsg=p.getName()+" "+newDeathMsg;
|
newDeathMsg=p.getName()+" "+newDeathMsg;
|
||||||
@ -3205,15 +3209,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
|
|
||||||
public void onInventoryDrag(InventoryDragEvent ev) {
|
|
||||||
//You are not allowed to drag arrow quivers.
|
|
||||||
if (ev.getOldCursor().getType()==Material.TIPPED_ARROW &&
|
|
||||||
ev.getOldCursor().getEnchantmentLevel(Enchantment.ARROW_INFINITE)==5) {
|
|
||||||
ev.setCancelled(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
|
@EventHandler(priority=EventPriority.LOW,ignoreCancelled = true)
|
||||||
public void onItemChange(PlayerItemHeldEvent ev) {
|
public void onItemChange(PlayerItemHeldEvent ev) {
|
||||||
final Player player = ev.getPlayer();
|
final Player player = ev.getPlayer();
|
||||||
@ -3927,12 +3922,12 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
//boolean applieddmg = CustomDamage.ApplyDamage(dmgdealt, null, (LivingEntity)ev.getEntity(), null, ev.getCause().name(), CustomDamage.TRUEDMG);
|
//boolean applieddmg = CustomDamage.ApplyDamage(dmgdealt, null, (LivingEntity)ev.getEntity(), null, ev.getCause().name(), CustomDamage.TRUEDMG);
|
||||||
if (!CustomDamage.InvulnerableCheck(null, (LivingEntity)ev.getEntity())) {
|
if (!CustomDamage.InvulnerableCheck(null, (LivingEntity)ev.getEntity())) {
|
||||||
boolean applieddmg=true;
|
boolean applieddmg=true;
|
||||||
dmgdealt = CustomDamage.CalculateDamage(dmgdealt, null, (LivingEntity)ev.getEntity(), null, null, CustomDamage.TRUEDMG);
|
dmgdealt = CustomDamage.CalculateDamage(dmgdealt, null, (LivingEntity)ev.getEntity(), null, ev.getCause().name(), CustomDamage.TRUEDMG);
|
||||||
if (ev.getCause()==DamageCause.FALL) {
|
if (ev.getCause()==DamageCause.FALL) {
|
||||||
dmgdealt *= GenericFunctions.CalculateFallResistance((LivingEntity)ev.getEntity());
|
dmgdealt *= GenericFunctions.CalculateFallResistance((LivingEntity)ev.getEntity());
|
||||||
}
|
}
|
||||||
dmgdealt = CustomDamage.subtractAbsorptionHearts(dmgdealt, (LivingEntity)ev.getEntity());
|
dmgdealt = CustomDamage.subtractAbsorptionHearts(dmgdealt, (LivingEntity)ev.getEntity());
|
||||||
dmgdealt = CustomDamage.applyOnHitEffects(dmgdealt,null,(LivingEntity)ev.getEntity(),null ,null,CustomDamage.TRUEDMG);
|
dmgdealt = CustomDamage.applyOnHitEffects(dmgdealt,null,(LivingEntity)ev.getEntity(),null ,ev.getCause().name(),CustomDamage.TRUEDMG);
|
||||||
if ((ev.getCause()==DamageCause.CONTACT ||
|
if ((ev.getCause()==DamageCause.CONTACT ||
|
||||||
ev.getCause()==DamageCause.LIGHTNING ||
|
ev.getCause()==DamageCause.LIGHTNING ||
|
||||||
ev.getCause()==DamageCause.FALLING_BLOCK ||
|
ev.getCause()==DamageCause.FALLING_BLOCK ||
|
||||||
@ -4051,7 +4046,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
GenericFunctions.removeNoDamageTick((LivingEntity)ev.getEntity(), ev.getDamager());
|
GenericFunctions.removeNoDamageTick((LivingEntity)ev.getEntity(), ev.getDamager());
|
||||||
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;
|
||||||
GenericFunctions.sendActionBarMessage(p, ChatColor.YELLOW+"Vendetta: "+ChatColor.GREEN+Math.round(pd.vendetta_amt)+" dmg stored");
|
GenericFunctions.sendActionBarMessage(p, ChatColor.YELLOW+"Vendetta: "+ChatColor.GREEN+Math.round(pd.vendetta_amt)+" dmg stored",true);
|
||||||
} else {
|
} else {
|
||||||
CustomDamage.ApplyDamage(0, ev.getDamager(), (LivingEntity)ev.getEntity(), weapon, null);
|
CustomDamage.ApplyDamage(0, ev.getDamager(), (LivingEntity)ev.getEntity(), weapon, null);
|
||||||
if (ev.getDamager() instanceof Projectile) {
|
if (ev.getDamager() instanceof Projectile) {
|
||||||
@ -4265,7 +4260,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
if (ev.getReason()!=TargetReason.CUSTOM &&
|
if (ev.getReason()!=TargetReason.CUSTOM &&
|
||||||
ev.getReason()!=TargetReason.UNKNOWN) {
|
ev.getReason()!=TargetReason.UNKNOWN) {
|
||||||
ev.setCancelled(true);
|
ev.setCancelled(true);
|
||||||
log("Unknown Targeting reason occurred for "+GenericFunctions.GetEntityDisplayName(m)+". Targeting: "+GenericFunctions.GetEntityDisplayName(m),1);
|
log("Unknown Targeting reason occurred for "+GenericFunctions.GetEntityDisplayName(m)+". Targeting: "+GenericFunctions.GetEntityDisplayName(m),5);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -4413,8 +4408,11 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
boolean isRanger=PlayerMode.isRanger(p);
|
boolean isRanger=PlayerMode.isRanger(p);
|
||||||
boolean isSlayer=PlayerMode.isSlayer(p);
|
boolean isSlayer=PlayerMode.isSlayer(p);
|
||||||
|
|
||||||
|
GenericFunctions.knockOffGreed(p);
|
||||||
|
|
||||||
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
|
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
|
||||||
if (PlayerMode.getPlayerMode(p)==PlayerMode.SLAYER && pd.lastassassinatetime+20>getServerTickTime()) {
|
if (PlayerMode.getPlayerMode(p)==PlayerMode.SLAYER) {
|
||||||
|
if (pd.lastassassinatetime+20>getServerTickTime()) { //Successful Assassination.
|
||||||
pd.lastassassinatetime=getServerTickTime()-GenericFunctions.GetModifiedCooldown(TwosideKeeper.ASSASSINATE_COOLDOWN,p);
|
pd.lastassassinatetime=getServerTickTime()-GenericFunctions.GetModifiedCooldown(TwosideKeeper.ASSASSINATE_COOLDOWN,p);
|
||||||
ItemStack[] inv = p.getInventory().getContents();
|
ItemStack[] inv = p.getInventory().getContents();
|
||||||
for (int i=0;i<9;i++) {
|
for (int i=0;i<9;i++) {
|
||||||
@ -4445,6 +4443,17 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
pd.slayermegahit=true;
|
pd.slayermegahit=true;
|
||||||
}
|
}
|
||||||
GenericFunctions.applyStealth(p, false);
|
GenericFunctions.applyStealth(p, false);
|
||||||
|
} else { //Failed Assassination.
|
||||||
|
if (ItemSet.HasSetBonusBasedOnSetBonusCount(GenericFunctions.getHotbarItems(p), p, ItemSet.WOLFSBANE, 2)) {
|
||||||
|
pd.lastassassinatetime-=GenericFunctions.GetModifiedCooldown(TwosideKeeper.ASSASSINATE_COOLDOWN,p)*(ItemSet.TotalBaseAmountBasedOnSetBonusCount(GenericFunctions.getHotbarItems(p), p, ItemSet.WOLFSBANE, 2, 2)/100d);
|
||||||
|
ItemStack[] inv = p.getInventory().getContents();
|
||||||
|
for (int i=0;i<9;i++) {
|
||||||
|
if (inv[i]!=null && (inv[i].getType()!=Material.SKULL_ITEM || pd.lastlifesavertime+GenericFunctions.GetModifiedCooldown(TwosideKeeper.LIFESAVER_COOLDOWN,p)<TwosideKeeper.getServerTickTime())) {
|
||||||
|
aPlugin.API.sendCooldownPacket(p, inv[i], GenericFunctions.GetRemainingCooldownTime(p, pd.lastassassinatetime, TwosideKeeper.ASSASSINATE_COOLDOWN));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isSlayer) {
|
if (isSlayer) {
|
||||||
@ -4512,8 +4521,8 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Bukkit.getServer().broadcastMessage(ChatColor.YELLOW+"DPS Breakdown:");
|
Bukkit.getServer().broadcastMessage(ChatColor.YELLOW+"DPS Breakdown:");
|
||||||
Bukkit.getServer().broadcastMessage(ChatColor.GREEN+participants_list.toString()+ChatColor.WHITE+" have successfully slain "+GenericFunctions.getDisplayName(m)+ChatColor.WHITE+"!");
|
Bukkit.getServer().broadcastMessage(ChatColor.GREEN+participants_list.toString()+ChatColor.WHITE+" "+(participants_list.length()==1?"has single-handedly taken down the ":"have successfully slain ")+GenericFunctions.getDisplayName(m)+ChatColor.WHITE+"!");
|
||||||
aPlugin.API.discordSendRaw(ChatColor.GREEN+participants_list.toString()+ChatColor.WHITE+" have successfully slain **"+GenericFunctions.getDisplayName(m)+ChatColor.WHITE+"**!");
|
aPlugin.API.discordSendRaw(ChatColor.GREEN+participants_list.toString()+ChatColor.WHITE+" "+(participants_list.length()==1?"has single-handedly taken down the ":"have successfully slain ")+"**"+GenericFunctions.getDisplayName(m)+ChatColor.WHITE+"**!");
|
||||||
m.getWorld().spawnEntity(m.getLocation(), EntityType.LIGHTNING);
|
m.getWorld().spawnEntity(m.getLocation(), EntityType.LIGHTNING);
|
||||||
m.getWorld().setStorm(true);
|
m.getWorld().setStorm(true);
|
||||||
m.getWorld().setWeatherDuration(20*60*15);
|
m.getWorld().setWeatherDuration(20*60*15);
|
||||||
@ -4663,9 +4672,11 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
it.setInvulnerable(true);
|
it.setInvulnerable(true);
|
||||||
}
|
}
|
||||||
for (int i=0;i<drop.size();i++) {
|
for (int i=0;i<drop.size();i++) {
|
||||||
|
if (drop.get(i)!=null) {
|
||||||
Item it = deathloc.getWorld().dropItemNaturally(mer2.getLocation(), drop.get(i));
|
Item it = deathloc.getWorld().dropItemNaturally(mer2.getLocation(), drop.get(i));
|
||||||
it.setInvulnerable(true);
|
it.setInvulnerable(true);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
log("Drop list contains "+(droplist.size()+originaldroplist.size())+" elements.",5);
|
log("Drop list contains "+(droplist.size()+originaldroplist.size())+" elements.",5);
|
||||||
@ -4699,7 +4710,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
DeathManager.continueAction(p);
|
DeathManager.continueAction(p);
|
||||||
}
|
}
|
||||||
p.setVelocity(new Vector(0,0,0));
|
p.setVelocity(new Vector(0,0,0));
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.LEVITATION,Integer.MAX_VALUE,255,p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.LEVITATION,Integer.MAX_VALUE,255,p);
|
||||||
CustomDamage.setAbsorptionHearts(p, 0.0f);
|
CustomDamage.setAbsorptionHearts(p, 0.0f);
|
||||||
GenericFunctions.addIFrame(p, Integer.MAX_VALUE);
|
GenericFunctions.addIFrame(p, Integer.MAX_VALUE);
|
||||||
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
|
PlayerStructure pd = PlayerStructure.GetPlayerStructure(p);
|
||||||
@ -4773,8 +4784,8 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
if (((Entity)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() && pd.lasthighwinderhit+15<getServerTickTime()) {
|
||||||
GenericFunctions.sendActionBarMessage(ev.getPlayer(), drawVelocityBar(pd.velocity,pd.highwinderdmg));
|
GenericFunctions.sendActionBarMessage(ev.getPlayer(), drawVelocityBar(pd.velocity,pd.highwinderdmg),true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5696,8 +5707,10 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
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() {
|
||||||
|
if (p.isValid() && p.isOnline()) {
|
||||||
setPlayerMaxHealth(p);
|
setPlayerMaxHealth(p);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
},20);
|
},20);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6248,7 +6261,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
try {
|
try {
|
||||||
workable.save(config);
|
workable.save(config);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
log("[WARNING] Could not find the correct player data file for "+p+" to get money data from.",1);
|
log("[WARNING] Could not find the correct player data file for "+p+" to get money data from.",1);
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@ -6278,7 +6290,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
try {
|
try {
|
||||||
workable.save(config);
|
workable.save(config);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
log("[WARNING] Could not find the correct player data file for "+p+" to get bank money data from.",1);
|
log("[WARNING] Could not find the correct player data file for "+p+" to get bank money data from.",1);
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@ -6357,7 +6368,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
|
|
||||||
if (PlayerMode.isDefender(p)) {
|
if (PlayerMode.isDefender(p)) {
|
||||||
hp+=10;
|
hp+=10;
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.REGENERATION,60,(p.isBlocking())?1:0,p,false);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.REGENERATION,60,(p.isBlocking())?1:0,p,false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -149,7 +149,6 @@ public class WorldShopManager {
|
|||||||
try {
|
try {
|
||||||
workable.save(config);
|
workable.save(config);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -288,7 +287,6 @@ public class WorldShopManager {
|
|||||||
try {
|
try {
|
||||||
workable.save(config);
|
workable.save(config);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -161,7 +161,7 @@ final class runServerHeartbeat implements Runnable {
|
|||||||
pd.velocity=0;
|
pd.velocity=0;
|
||||||
}
|
}
|
||||||
if (pd.highwinder && pd.target!=null && !pd.target.isDead()) {
|
if (pd.highwinder && pd.target!=null && !pd.target.isDead()) {
|
||||||
GenericFunctions.sendActionBarMessage(p, TwosideKeeper.drawVelocityBar(pd.velocity,pd.highwinderdmg));
|
GenericFunctions.sendActionBarMessage(p, TwosideKeeper.drawVelocityBar(pd.velocity,pd.highwinderdmg), true);
|
||||||
}
|
}
|
||||||
if (pd.target!=null && !pd.target.isDead() && pd.target.getLocation().getWorld().equals(p.getWorld()) && pd.target.getLocation().distanceSquared(p.getLocation())>256) {
|
if (pd.target!=null && !pd.target.isDead() && pd.target.getLocation().getWorld().equals(p.getWorld()) && pd.target.getLocation().distanceSquared(p.getLocation())>256) {
|
||||||
pd.target=null;
|
pd.target=null;
|
||||||
@ -178,7 +178,7 @@ final class runServerHeartbeat implements Runnable {
|
|||||||
int duration = GenericFunctions.getPotionEffectDuration(PotionEffectType.FIRE_RESISTANCE, p);
|
int duration = GenericFunctions.getPotionEffectDuration(PotionEffectType.FIRE_RESISTANCE, p);
|
||||||
int lv = GenericFunctions.getPotionEffectLevel(PotionEffectType.FIRE_RESISTANCE, p);
|
int lv = GenericFunctions.getPotionEffectLevel(PotionEffectType.FIRE_RESISTANCE, p);
|
||||||
if (lv>10) {lv=10;}
|
if (lv>10) {lv=10;}
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.FIRE_RESISTANCE, duration-(20*(10-lv)), lv, p, true);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.FIRE_RESISTANCE, duration-(20*(10-lv)), lv, p, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GenericFunctions.hasStealth(p)) {GenericFunctions.DamageRandomTool(p);}
|
if (GenericFunctions.hasStealth(p)) {GenericFunctions.DamageRandomTool(p);}
|
||||||
@ -249,12 +249,12 @@ final class runServerHeartbeat implements Runnable {
|
|||||||
for (ItemStack equip : equips) {
|
for (ItemStack equip : equips) {
|
||||||
if (ArtifactAbility.containsEnchantment(ArtifactAbility.SHADOWWALKER, equip) &&
|
if (ArtifactAbility.containsEnchantment(ArtifactAbility.SHADOWWALKER, equip) &&
|
||||||
p.isOnGround() && p.getLocation().getY()>=0 && p.getLocation().getY()<=255 && p.getLocation().add(0,0,0).getBlock().getLightLevel()<=4) {
|
p.isOnGround() && p.getLocation().getY()>=0 && p.getLocation().getY()<=255 && p.getLocation().add(0,0,0).getBlock().getLightLevel()<=4) {
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.SPEED,20,1,p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.SPEED,20,1,p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (ArtifactAbility.containsEnchantment(ArtifactAbility.SHADOWWALKER, p.getEquipment().getItemInMainHand()) &&
|
if (ArtifactAbility.containsEnchantment(ArtifactAbility.SHADOWWALKER, p.getEquipment().getItemInMainHand()) &&
|
||||||
p.isOnGround() && p.getLocation().getY()>=0 && p.getLocation().getY()<=255 && p.getLocation().add(0,0,0).getBlock().getLightLevel()<=4) {
|
p.isOnGround() && p.getLocation().getY()>=0 && p.getLocation().getY()<=255 && p.getLocation().add(0,0,0).getBlock().getLightLevel()<=4) {
|
||||||
GenericFunctions.logAndApplyPotionEffectToPlayer(PotionEffectType.SPEED,20,1,p);
|
GenericFunctions.logAndApplyPotionEffectToEntity(PotionEffectType.SPEED,20,1,p);
|
||||||
//log("Apply speed. The light level here is "+p.getLocation().add(0,-1,0).getBlock().getLightLevel(),2);
|
//log("Apply speed. The light level here is "+p.getLocation().add(0,-1,0).getBlock().getLightLevel(),2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user