Fixes and changes to PlayerStructure to make it a lot more accessible
and faster. MalleableBaseQuest fixes. Added Localized API methods for using material name with data.
This commit is contained in:
parent
a34656f85c
commit
b9e31e5f7a
Binary file not shown.
@ -1,6 +1,6 @@
|
|||||||
name: TwosideKeeper
|
name: TwosideKeeper
|
||||||
main: sig.plugin.TwosideKeeper.TwosideKeeper
|
main: sig.plugin.TwosideKeeper.TwosideKeeper
|
||||||
version: 3.4.0b
|
version: 3.4.1
|
||||||
commands:
|
commands:
|
||||||
money:
|
money:
|
||||||
description: Tells the player the amount of money they are holding.
|
description: Tells the player the amount of money they are holding.
|
||||||
@ -47,3 +47,8 @@ commands:
|
|||||||
usage: /log
|
usage: /log
|
||||||
permission: TwosideKeeper.log
|
permission: TwosideKeeper.log
|
||||||
permission-message: No permissions!
|
permission-message: No permissions!
|
||||||
|
fix:
|
||||||
|
description: Does many things depending on what you item is being held. Typically if it's broken, typing this will help.
|
||||||
|
usage: /fix
|
||||||
|
permission: TwosideKeeper.fix
|
||||||
|
permission-message: No permissions!
|
@ -5,6 +5,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.DyeColor;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.block.Sign;
|
import org.bukkit.block.Sign;
|
||||||
@ -13,6 +14,8 @@ import org.bukkit.entity.Player;
|
|||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.bukkit.inventory.meta.PotionMeta;
|
import org.bukkit.inventory.meta.PotionMeta;
|
||||||
|
import org.bukkit.material.MaterialData;
|
||||||
|
import org.bukkit.material.Wool;
|
||||||
|
|
||||||
import sig.plugin.TwosideKeeper.Artifact;
|
import sig.plugin.TwosideKeeper.Artifact;
|
||||||
import sig.plugin.TwosideKeeper.TwosideKeeper;
|
import sig.plugin.TwosideKeeper.TwosideKeeper;
|
||||||
@ -143,6 +146,14 @@ public class GenericFunctions {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static String UserFriendlyMaterialName(Material type) {
|
||||||
|
return UserFriendlyMaterialName(new ItemStack(type,1,(byte)0));
|
||||||
|
}
|
||||||
|
public static String UserFriendlyMaterialName(Material type, byte b) {
|
||||||
|
return UserFriendlyMaterialName(new ItemStack(type,1,b));
|
||||||
|
}
|
||||||
|
|
||||||
public static String UserFriendlyMaterialName(ItemStack type) {
|
public static String UserFriendlyMaterialName(ItemStack type) {
|
||||||
switch (type.getType()) {
|
switch (type.getType()) {
|
||||||
case ACACIA_DOOR_ITEM:{
|
case ACACIA_DOOR_ITEM:{
|
||||||
|
@ -84,17 +84,17 @@ public class MalleableBaseQuest {
|
|||||||
|
|
||||||
int amt = base.getAmount();
|
int amt = base.getAmount();
|
||||||
|
|
||||||
if (currenttime-starttime<=54000) { //45 min passed. Divine tier.
|
if (currenttime-starttime<=36000) { //30 min passed. Divine tier.
|
||||||
ItemStack newbase = Artifact.createArtifactItem(ArtifactItem.DIVINE_BASE);
|
ItemStack newbase = Artifact.createArtifactItem(ArtifactItem.DIVINE_BASE);
|
||||||
newbase.setAmount(amt);
|
newbase.setAmount(amt);
|
||||||
return newbase;
|
return newbase;
|
||||||
} else
|
} else
|
||||||
if (currenttime-starttime<=144000) { //2 hours passed. Lost tier.
|
if (currenttime-starttime<=72000) { //1 hour passed. Lost tier.
|
||||||
ItemStack newbase = Artifact.createArtifactItem(ArtifactItem.LOST_BASE);
|
ItemStack newbase = Artifact.createArtifactItem(ArtifactItem.LOST_BASE);
|
||||||
newbase.setAmount(amt);
|
newbase.setAmount(amt);
|
||||||
return newbase;
|
return newbase;
|
||||||
} else
|
} else
|
||||||
if (currenttime-starttime<=288000) { //4 hours passed. Ancient tier.
|
if (currenttime-starttime<=144000) { //2 hours passed. Ancient tier.
|
||||||
ItemStack newbase = Artifact.createArtifactItem(ArtifactItem.ANCIENT_BASE);
|
ItemStack newbase = Artifact.createArtifactItem(ArtifactItem.ANCIENT_BASE);
|
||||||
newbase.setAmount(amt);
|
newbase.setAmount(amt);
|
||||||
return newbase;
|
return newbase;
|
||||||
@ -169,10 +169,12 @@ public class MalleableBaseQuest {
|
|||||||
blacklisted_items.add(Material.ACACIA_DOOR);
|
blacklisted_items.add(Material.ACACIA_DOOR);
|
||||||
blacklisted_items.add(Material.AIR);
|
blacklisted_items.add(Material.AIR);
|
||||||
blacklisted_items.add(Material.BARRIER);
|
blacklisted_items.add(Material.BARRIER);
|
||||||
|
blacklisted_items.add(Material.BEACON);
|
||||||
blacklisted_items.add(Material.BED_BLOCK);
|
blacklisted_items.add(Material.BED_BLOCK);
|
||||||
blacklisted_items.add(Material.BEDROCK);
|
blacklisted_items.add(Material.BEDROCK);
|
||||||
blacklisted_items.add(Material.BEETROOT_BLOCK);
|
blacklisted_items.add(Material.BEETROOT_BLOCK);
|
||||||
blacklisted_items.add(Material.BEETROOT);
|
blacklisted_items.add(Material.BEETROOT);
|
||||||
|
blacklisted_items.add(Material.BEETROOT_SEEDS);
|
||||||
blacklisted_items.add(Material.BIRCH_DOOR);
|
blacklisted_items.add(Material.BIRCH_DOOR);
|
||||||
blacklisted_items.add(Material.BREWING_STAND);
|
blacklisted_items.add(Material.BREWING_STAND);
|
||||||
blacklisted_items.add(Material.BURNING_FURNACE);
|
blacklisted_items.add(Material.BURNING_FURNACE);
|
||||||
@ -194,6 +196,9 @@ public class MalleableBaseQuest {
|
|||||||
blacklisted_items.add(Material.DARK_OAK_DOOR);
|
blacklisted_items.add(Material.DARK_OAK_DOOR);
|
||||||
blacklisted_items.add(Material.DAYLIGHT_DETECTOR_INVERTED);
|
blacklisted_items.add(Material.DAYLIGHT_DETECTOR_INVERTED);
|
||||||
blacklisted_items.add(Material.DEAD_BUSH);
|
blacklisted_items.add(Material.DEAD_BUSH);
|
||||||
|
blacklisted_items.add(Material.DIAMOND_BARDING);
|
||||||
|
blacklisted_items.add(Material.IRON_BARDING);
|
||||||
|
blacklisted_items.add(Material.GOLD_BARDING);
|
||||||
blacklisted_items.add(Material.DIODE_BLOCK_OFF);
|
blacklisted_items.add(Material.DIODE_BLOCK_OFF);
|
||||||
blacklisted_items.add(Material.DIODE_BLOCK_ON);
|
blacklisted_items.add(Material.DIODE_BLOCK_ON);
|
||||||
blacklisted_items.add(Material.DOUBLE_PLANT);
|
blacklisted_items.add(Material.DOUBLE_PLANT);
|
||||||
@ -201,10 +206,9 @@ public class MalleableBaseQuest {
|
|||||||
blacklisted_items.add(Material.DOUBLE_STONE_SLAB2);
|
blacklisted_items.add(Material.DOUBLE_STONE_SLAB2);
|
||||||
blacklisted_items.add(Material.DRAGON_EGG);
|
blacklisted_items.add(Material.DRAGON_EGG);
|
||||||
blacklisted_items.add(Material.DRAGONS_BREATH);
|
blacklisted_items.add(Material.DRAGONS_BREATH);
|
||||||
blacklisted_items.add(Material.EMERALD_ORE);
|
|
||||||
blacklisted_items.add(Material.COAL_ORE);
|
blacklisted_items.add(Material.COAL_ORE);
|
||||||
blacklisted_items.add(Material.END_CRYSTAL);
|
|
||||||
blacklisted_items.add(Material.END_GATEWAY);
|
blacklisted_items.add(Material.END_GATEWAY);
|
||||||
|
blacklisted_items.add(Material.ELYTRA);
|
||||||
blacklisted_items.add(Material.ENDER_PORTAL);
|
blacklisted_items.add(Material.ENDER_PORTAL);
|
||||||
blacklisted_items.add(Material.ENDER_PORTAL_FRAME);
|
blacklisted_items.add(Material.ENDER_PORTAL_FRAME);
|
||||||
blacklisted_items.add(Material.EXP_BOTTLE);
|
blacklisted_items.add(Material.EXP_BOTTLE);
|
||||||
@ -221,11 +225,7 @@ public class MalleableBaseQuest {
|
|||||||
blacklisted_items.add(Material.HUGE_MUSHROOM_2);
|
blacklisted_items.add(Material.HUGE_MUSHROOM_2);
|
||||||
blacklisted_items.add(Material.JUNGLE_DOOR);
|
blacklisted_items.add(Material.JUNGLE_DOOR);
|
||||||
blacklisted_items.add(Material.LAVA);
|
blacklisted_items.add(Material.LAVA);
|
||||||
blacklisted_items.add(Material.LEAVES);
|
|
||||||
blacklisted_items.add(Material.LEAVES_2);
|
|
||||||
blacklisted_items.add(Material.LINGERING_POTION);
|
blacklisted_items.add(Material.LINGERING_POTION);
|
||||||
blacklisted_items.add(Material.LOG);
|
|
||||||
blacklisted_items.add(Material.LOG_2);
|
|
||||||
blacklisted_items.add(Material.LONG_GRASS);
|
blacklisted_items.add(Material.LONG_GRASS);
|
||||||
blacklisted_items.add(Material.MAP);
|
blacklisted_items.add(Material.MAP);
|
||||||
blacklisted_items.add(Material.MELON_BLOCK);
|
blacklisted_items.add(Material.MELON_BLOCK);
|
||||||
@ -236,16 +236,13 @@ public class MalleableBaseQuest {
|
|||||||
blacklisted_items.add(Material.MYCEL);
|
blacklisted_items.add(Material.MYCEL);
|
||||||
blacklisted_items.add(Material.NAME_TAG);
|
blacklisted_items.add(Material.NAME_TAG);
|
||||||
blacklisted_items.add(Material.NETHER_STALK);
|
blacklisted_items.add(Material.NETHER_STALK);
|
||||||
blacklisted_items.add(Material.NETHER_WARTS);
|
blacklisted_items.add(Material.NETHER_STAR);
|
||||||
blacklisted_items.add(Material.MYCEL);
|
blacklisted_items.add(Material.POTATO);
|
||||||
blacklisted_items.add(Material.PISTON_EXTENSION);
|
blacklisted_items.add(Material.PISTON_EXTENSION);
|
||||||
blacklisted_items.add(Material.PISTON_MOVING_PIECE);
|
blacklisted_items.add(Material.PISTON_MOVING_PIECE);
|
||||||
blacklisted_items.add(Material.POISONOUS_POTATO);
|
|
||||||
blacklisted_items.add(Material.PORTAL);
|
blacklisted_items.add(Material.PORTAL);
|
||||||
blacklisted_items.add(Material.POTATO);
|
|
||||||
blacklisted_items.add(Material.PUMPKIN_STEM);
|
blacklisted_items.add(Material.PUMPKIN_STEM);
|
||||||
blacklisted_items.add(Material.PURPUR_DOUBLE_SLAB);
|
blacklisted_items.add(Material.PURPUR_DOUBLE_SLAB);
|
||||||
blacklisted_items.add(Material.QUARTZ_ORE);
|
|
||||||
blacklisted_items.add(Material.RECORD_10);
|
blacklisted_items.add(Material.RECORD_10);
|
||||||
blacklisted_items.add(Material.RECORD_11);
|
blacklisted_items.add(Material.RECORD_11);
|
||||||
blacklisted_items.add(Material.RECORD_12);
|
blacklisted_items.add(Material.RECORD_12);
|
||||||
@ -261,10 +258,15 @@ public class MalleableBaseQuest {
|
|||||||
blacklisted_items.add(Material.REDSTONE_COMPARATOR_ON);
|
blacklisted_items.add(Material.REDSTONE_COMPARATOR_ON);
|
||||||
blacklisted_items.add(Material.REDSTONE_LAMP_OFF);
|
blacklisted_items.add(Material.REDSTONE_LAMP_OFF);
|
||||||
blacklisted_items.add(Material.REDSTONE_LAMP_ON);
|
blacklisted_items.add(Material.REDSTONE_LAMP_ON);
|
||||||
blacklisted_items.add(Material.REDSTONE_ORE);
|
|
||||||
blacklisted_items.add(Material.REDSTONE_TORCH_OFF);
|
blacklisted_items.add(Material.REDSTONE_TORCH_OFF);
|
||||||
blacklisted_items.add(Material.REDSTONE_WIRE);
|
blacklisted_items.add(Material.REDSTONE_WIRE);
|
||||||
|
blacklisted_items.add(Material.COAL_ORE);
|
||||||
|
blacklisted_items.add(Material.IRON_ORE);
|
||||||
|
blacklisted_items.add(Material.GOLD_ORE);
|
||||||
|
blacklisted_items.add(Material.REDSTONE_ORE);
|
||||||
|
blacklisted_items.add(Material.EMERALD_ORE);
|
||||||
blacklisted_items.add(Material.SAPLING);
|
blacklisted_items.add(Material.SAPLING);
|
||||||
|
blacklisted_items.add(Material.SADDLE);
|
||||||
blacklisted_items.add(Material.SIGN_POST);
|
blacklisted_items.add(Material.SIGN_POST);
|
||||||
blacklisted_items.add(Material.WALL_SIGN);
|
blacklisted_items.add(Material.WALL_SIGN);
|
||||||
blacklisted_items.add(Material.SKULL);
|
blacklisted_items.add(Material.SKULL);
|
||||||
|
@ -92,18 +92,14 @@ public class Party {
|
|||||||
public void addPlayer(Player p) {
|
public void addPlayer(Player p) {
|
||||||
partyplayers.add(p);
|
partyplayers.add(p);
|
||||||
for (int l=0;l<partyplayers.size();l++) {
|
for (int l=0;l<partyplayers.size();l++) {
|
||||||
for (int k=0;k<TwosideKeeper.playerdata.size();k++) {
|
PlayerStructure pd = (PlayerStructure)TwosideKeeper.playerdata.get(partyplayers.get(l).getUniqueId());
|
||||||
TwosideKeeper.log("Looking at playerdata structure... "+k+","+l+". Party size is "+partyplayers.size(),4);
|
pd.currentparty=TeamNumber();
|
||||||
if (TwosideKeeper.playerdata.get(k).name.equalsIgnoreCase(partyplayers.get(l).getName())) {
|
pd.partybonus=partyplayers.size()-1;
|
||||||
TwosideKeeper.playerdata.get(k).currentparty=TeamNumber();
|
|
||||||
TwosideKeeper.playerdata.get(k).partybonus=partyplayers.size()-1;
|
|
||||||
//TwosideKeeper.playerdata.get(k).partybonus=10; //JUST FOR TESTING PURPOSES.
|
//TwosideKeeper.playerdata.get(k).partybonus=10; //JUST FOR TESTING PURPOSES.
|
||||||
if (partyplayers.size()>=2) {
|
if (partyplayers.size()>=2) {
|
||||||
//partyplayers.get(l).sendMessage(ChatColor.ITALIC+""+ChatColor.GOLD+"Party Bonuses Applied: "+ChatColor.BLUE+"+"+(partyplayers.size()-1)+"0% damage + defense for "+partyplayers.size()+" party members. Drop Rate +"+(partyplayers.size()-1)+"0%");
|
//partyplayers.get(l).sendMessage(ChatColor.ITALIC+""+ChatColor.GOLD+"Party Bonuses Applied: "+ChatColor.BLUE+"+"+(partyplayers.size()-1)+"0% damage + defense for "+partyplayers.size()+" party members. Drop Rate +"+(partyplayers.size()-1)+"0%");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
Bukkit.dispatchCommand(Bukkit.getServer().getConsoleSender(), "scoreboard players set "+p.getName().toLowerCase()+" Party"+color+" "+partyplayers.size()*-1);
|
Bukkit.dispatchCommand(Bukkit.getServer().getConsoleSender(), "scoreboard players set "+p.getName().toLowerCase()+" Party"+color+" "+partyplayers.size()*-1);
|
||||||
Bukkit.dispatchCommand(Bukkit.getServer().getConsoleSender(), "scoreboard teams option "+p.getName().toLowerCase()+" color "+ConvertColor(color));
|
Bukkit.dispatchCommand(Bukkit.getServer().getConsoleSender(), "scoreboard teams option "+p.getName().toLowerCase()+" color "+ConvertColor(color));
|
||||||
}
|
}
|
||||||
@ -170,26 +166,24 @@ public class Party {
|
|||||||
}
|
}
|
||||||
public void RemoveStrayMembers() {
|
public void RemoveStrayMembers() {
|
||||||
int prevsiz=partyplayers.size();
|
int prevsiz=partyplayers.size();
|
||||||
|
TwosideKeeper.log("Previous party size was "+prevsiz,5);
|
||||||
for (int i=0;i<partyplayers.size();i++) {
|
for (int i=0;i<partyplayers.size();i++) {
|
||||||
if (partyplayers.get(i)==null ||
|
if (partyplayers.get(i)==null ||
|
||||||
!partyplayers.get(i).isOnline() ||
|
!partyplayers.get(i).isOnline() ||
|
||||||
partyplayers.get(i).getWorld() != region.getWorld() ||
|
partyplayers.get(i).getWorld() != region.getWorld() ||
|
||||||
((int)(partyplayers.get(i).getLocation().getX()/(16*TwosideKeeper.PARTY_CHUNK_SIZE))*(16*TwosideKeeper.PARTY_CHUNK_SIZE)) != (int)region.getX() ||
|
((int)(partyplayers.get(i).getLocation().getX()/(16*TwosideKeeper.PARTY_CHUNK_SIZE))*(16*TwosideKeeper.PARTY_CHUNK_SIZE)) != (int)region.getX() ||
|
||||||
((int)(partyplayers.get(i).getLocation().getZ()/(16*TwosideKeeper.PARTY_CHUNK_SIZE))*(16*TwosideKeeper.PARTY_CHUNK_SIZE)) != (int)region.getZ()) {
|
((int)(partyplayers.get(i).getLocation().getZ()/(16*TwosideKeeper.PARTY_CHUNK_SIZE))*(16*TwosideKeeper.PARTY_CHUNK_SIZE)) != (int)region.getZ()) {
|
||||||
TwosideKeeper.log(((int)(partyplayers.get(i).getLocation().getX()/(16*TwosideKeeper.PARTY_CHUNK_SIZE))*(16*TwosideKeeper.PARTY_CHUNK_SIZE))+" ;; "+((int)(partyplayers.get(i).getLocation().getZ()/(16*TwosideKeeper.PARTY_CHUNK_SIZE))*(16*TwosideKeeper.PARTY_CHUNK_SIZE))+" - DID NOT MATCH",5);
|
TwosideKeeper.log(((int)(partyplayers.get(i).getLocation().getX()/(16*TwosideKeeper.PARTY_CHUNK_SIZE))*(16*TwosideKeeper.PARTY_CHUNK_SIZE))+" ;; "+((int)(partyplayers.get(i).getLocation().getZ()/(16*TwosideKeeper.PARTY_CHUNK_SIZE))*(16*TwosideKeeper.PARTY_CHUNK_SIZE))+" - DID NOT MATCH",4);
|
||||||
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "scoreboard players reset "+partyplayers.get(i).getName().toLowerCase()+" Party"+color);
|
Bukkit.dispatchCommand(Bukkit.getConsoleSender(), "scoreboard players reset "+partyplayers.get(i).getName().toLowerCase()+" Party"+color);
|
||||||
|
|
||||||
for (int l=0;l<partyplayers.size();l++) {
|
for (int l=0;l<partyplayers.size();l++) {
|
||||||
for (int k=0;k<TwosideKeeper.playerdata.size();k++) {
|
PlayerStructure pd = (PlayerStructure)TwosideKeeper.playerdata.get(partyplayers.get(l).getUniqueId());
|
||||||
if (TwosideKeeper.playerdata.get(k).name.equalsIgnoreCase(partyplayers.get(l).getName()) &&
|
if (pd!=null && pd.currentparty == TeamNumber()) {
|
||||||
TwosideKeeper.playerdata.get(k).currentparty == TeamNumber()) {
|
|
||||||
if (partyplayers.size()-2<0) {
|
if (partyplayers.size()-2<0) {
|
||||||
TwosideKeeper.playerdata.get(k).partybonus=0;
|
pd.partybonus=0;
|
||||||
} else {
|
} else {
|
||||||
TwosideKeeper.playerdata.get(k).partybonus=partyplayers.size()-2;
|
pd.partybonus=partyplayers.size()-2;
|
||||||
}
|
|
||||||
TwosideKeeper.playerdata.get(k).currentparty=-1;
|
|
||||||
}
|
}
|
||||||
|
pd.currentparty=-1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (partyplayers.size()>=2) {
|
if (partyplayers.size()>=2) {
|
||||||
@ -204,11 +198,8 @@ public class Party {
|
|||||||
if (partyplayers.size()==1) {
|
if (partyplayers.size()==1) {
|
||||||
//partyplayers.get(i).sendMessage(ChatColor.DARK_GRAY+""+ChatColor.ITALIC+"Party buffs removed.");
|
//partyplayers.get(i).sendMessage(ChatColor.DARK_GRAY+""+ChatColor.ITALIC+"Party buffs removed.");
|
||||||
} else {
|
} else {
|
||||||
for (int j=0;j<TwosideKeeper.playerdata.size();j++) {
|
PlayerStructure pd = (PlayerStructure)TwosideKeeper.playerdata.get(partyplayers.get(i).getUniqueId());
|
||||||
if (TwosideKeeper.playerdata.get(j).name.equalsIgnoreCase(partyplayers.get(i).getName())) {
|
pd.partybonus=partyplayers.size()-1;
|
||||||
TwosideKeeper.playerdata.get(j).partybonus=partyplayers.size()-1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//partyplayers.get(i).sendMessage(ChatColor.ITALIC+""+ChatColor.GOLD+"Party Bonuses Applied: "+ChatColor.BLUE+"+"+(partyplayers.size()-1)+"0% damage + defense for "+partyplayers.size()+" party members. Drop Rate +"+(partyplayers.size()-1)+"0%");
|
//partyplayers.get(i).sendMessage(ChatColor.ITALIC+""+ChatColor.GOLD+"Party Bonuses Applied: "+ChatColor.BLUE+"+"+(partyplayers.size()-1)+"0% damage + defense for "+partyplayers.size()+" party members. Drop Rate +"+(partyplayers.size()-1)+"0%");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -404,12 +404,8 @@ public class SpleefGame implements Listener {
|
|||||||
), TeleportCause.PLUGIN);
|
), TeleportCause.PLUGIN);
|
||||||
if (rs==RemovePlayerReason.OUTOFBOUNDS ||
|
if (rs==RemovePlayerReason.OUTOFBOUNDS ||
|
||||||
rs==RemovePlayerReason.QUIT) {
|
rs==RemovePlayerReason.QUIT) {
|
||||||
for (int i=0;i<TwosideKeeper.playerdata.size();i++) {
|
PlayerStructure pd = (PlayerStructure)TwosideKeeper.playerdata.get(Bukkit.getServer().getPlayer(p.player));
|
||||||
PlayerStructure pd = TwosideKeeper.playerdata.get(i);
|
|
||||||
if (pd.name.equalsIgnoreCase(p.player)) {
|
|
||||||
pd.spleef_pts+=registered_players.size()-players.size()-1;
|
pd.spleef_pts+=registered_players.size()-players.size()-1;
|
||||||
}
|
|
||||||
}
|
|
||||||
Bukkit.getServer().broadcastMessage(ChatColor.GREEN+p.player+ChatColor.GOLD+" "+ChatColor.ITALIC+"has been knocked out of this round of Spleef!");
|
Bukkit.getServer().broadcastMessage(ChatColor.GREEN+p.player+ChatColor.GOLD+" "+ChatColor.ITALIC+"has been knocked out of this round of Spleef!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -422,13 +418,9 @@ public class SpleefGame implements Listener {
|
|||||||
RemovePlayer(players.get(i), RemovePlayerReason.GENERAL);
|
RemovePlayer(players.get(i), RemovePlayerReason.GENERAL);
|
||||||
i--;
|
i--;
|
||||||
}
|
}
|
||||||
for (int i=0;i<TwosideKeeper.playerdata.size();i++) {
|
PlayerStructure pd = (PlayerStructure)TwosideKeeper.playerdata.get(Bukkit.getServer().getPlayer(winner.player));
|
||||||
PlayerStructure pd = TwosideKeeper.playerdata.get(i);
|
|
||||||
if (pd.name.equalsIgnoreCase(winner.player)) {
|
|
||||||
pd.spleef_pts+=registered_players.size();
|
pd.spleef_pts+=registered_players.size();
|
||||||
pd.spleef_wins+=1;
|
pd.spleef_wins+=1;
|
||||||
}
|
|
||||||
}
|
|
||||||
registered_players.clear();
|
registered_players.clear();
|
||||||
Bukkit.getServer().broadcastMessage(ChatColor.GOLD+"Congratulations to Player "+ChatColor.GREEN+winner.player+ChatColor.GOLD+" for winning this round of Spleef!");
|
Bukkit.getServer().broadcastMessage(ChatColor.GOLD+"Congratulations to Player "+ChatColor.GREEN+winner.player+ChatColor.GOLD+" for winning this round of Spleef!");
|
||||||
active=false;
|
active=false;
|
||||||
|
@ -7,6 +7,7 @@ import java.lang.reflect.Method;
|
|||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.LogRecord;
|
import java.util.logging.LogRecord;
|
||||||
@ -30,6 +31,8 @@ import org.bukkit.entity.Creeper;
|
|||||||
import org.bukkit.entity.EnderDragon;
|
import org.bukkit.entity.EnderDragon;
|
||||||
import org.bukkit.entity.Entity;
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
|
import org.bukkit.entity.Horse;
|
||||||
|
import org.bukkit.entity.Horse.Variant;
|
||||||
import org.bukkit.entity.HumanEntity;
|
import org.bukkit.entity.HumanEntity;
|
||||||
import org.bukkit.entity.Item;
|
import org.bukkit.entity.Item;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
@ -164,7 +167,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
public static int LOGGING_LEVEL=0; //The logging level the server will output in for the console. 0 = No Debug Messages. Toggled with /log.
|
public static int LOGGING_LEVEL=0; //The logging level the server will output in for the console. 0 = No Debug Messages. Toggled with /log.
|
||||||
public static double ARTIFACT_RARITY=1.5; //The multiplier of artifact drops.
|
public static double ARTIFACT_RARITY=1.5; //The multiplier of artifact drops.
|
||||||
public static File filesave;
|
public static File filesave;
|
||||||
public static List<PlayerStructure> playerdata;
|
public static HashMap playerdata;
|
||||||
public static SpleefManager TwosideSpleefGames;
|
public static SpleefManager TwosideSpleefGames;
|
||||||
public WorldShopManager TwosideShops;
|
public WorldShopManager TwosideShops;
|
||||||
|
|
||||||
@ -258,11 +261,12 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
TwosideShops = new WorldShopManager();
|
TwosideShops = new WorldShopManager();
|
||||||
|
|
||||||
//Initialize Player Data structure.
|
//Initialize Player Data structure.
|
||||||
playerdata = new ArrayList<PlayerStructure>();
|
playerdata = new HashMap();
|
||||||
|
|
||||||
//Let's not assume there are no players online. Load their data.
|
//Let's not assume there are no players online. Load their data.
|
||||||
for (int i=0;i<Bukkit.getOnlinePlayers().toArray().length;i++) {
|
for (int i=0;i<Bukkit.getOnlinePlayers().toArray().length;i++) {
|
||||||
playerdata.add(new PlayerStructure((Player)Bukkit.getOnlinePlayers().toArray()[i],getServerTickTime()));
|
playerdata.put(((Player)Bukkit.getOnlinePlayers().toArray()[i]).getUniqueId(), new PlayerStructure((Player)Bukkit.getOnlinePlayers().toArray()[i],getServerTickTime()));
|
||||||
|
//playerdata.add(new PlayerStructure((Player)Bukkit.getOnlinePlayers().toArray()[i],getServerTickTime()));
|
||||||
}
|
}
|
||||||
|
|
||||||
//Announce the server has restarted soon after.
|
//Announce the server has restarted soon after.
|
||||||
@ -347,6 +351,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
|
|
||||||
SERVERTICK=getServerTickTime();
|
SERVERTICK=getServerTickTime();
|
||||||
Bukkit.getWorld("world").setTime(0);
|
Bukkit.getWorld("world").setTime(0);
|
||||||
|
Bukkit.getWorld("world").setThundering(false);
|
||||||
STARTTIME=Bukkit.getWorld("world").getFullTime();
|
STARTTIME=Bukkit.getWorld("world").getFullTime();
|
||||||
LASTSERVERCHECK=getServerTickTime();
|
LASTSERVERCHECK=getServerTickTime();
|
||||||
//Make sure we keep SERVERTICK in check.
|
//Make sure we keep SERVERTICK in check.
|
||||||
@ -356,9 +361,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//See if each player needs to regenerate their health.
|
//See if each player needs to regenerate their health.
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
for (int i=0;i<Bukkit.getOnlinePlayers().size();i++) {
|
||||||
PlayerStructure pd = playerdata.get(i);
|
Player p = (Player)(Bukkit.getOnlinePlayers().toArray()[i]);
|
||||||
Player p = Bukkit.getPlayer(pd.name);
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
|
|
||||||
if (TwosideShops.PlayerHasPurchases(p)) {
|
if (TwosideShops.PlayerHasPurchases(p)) {
|
||||||
TwosideShops.PlayerSendPurchases(p);
|
TwosideShops.PlayerSendPurchases(p);
|
||||||
@ -497,9 +502,15 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
if (cmd.getName().equalsIgnoreCase("log")) {
|
if (cmd.getName().equalsIgnoreCase("log")) {
|
||||||
LOGGING_LEVEL = (LOGGING_LEVEL+1) % 6;
|
LOGGING_LEVEL = (LOGGING_LEVEL+1) % 6;
|
||||||
sender.sendMessage("Debugging Log Level is now "+ChatColor.RED+LOGGING_LEVEL+".");
|
sender.sendMessage("Debugging Log Level is now "+ChatColor.RED+LOGGING_LEVEL+".");
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
if (sender instanceof Player) {
|
if (sender instanceof Player) {
|
||||||
DecimalFormat df = new DecimalFormat("0.00");
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
|
if (cmd.getName().equalsIgnoreCase("fix")) {
|
||||||
|
Player p = (Player)sender;
|
||||||
|
sender.sendMessage("Localized Name is "+GenericFunctions.UserFriendlyMaterialName(p.getEquipment().getItemInMainHand().getType(),p.getEquipment().getItemInMainHand().getData().getData()));
|
||||||
|
return true;
|
||||||
|
} else
|
||||||
if (cmd.getName().equalsIgnoreCase("money")) {
|
if (cmd.getName().equalsIgnoreCase("money")) {
|
||||||
sender.sendMessage("You are currently holding "+ChatColor.GREEN+"$"+df.format(getPlayerMoney((Player)sender)));
|
sender.sendMessage("You are currently holding "+ChatColor.GREEN+"$"+df.format(getPlayerMoney((Player)sender)));
|
||||||
return true;
|
return true;
|
||||||
@ -609,16 +620,13 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
} else
|
} else
|
||||||
if (cmd.getName().equalsIgnoreCase("sound")) {
|
if (cmd.getName().equalsIgnoreCase("sound")) {
|
||||||
Player p = (Player)sender;
|
Player p = (Player)sender;
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
if (playerdata.get(i).name.equalsIgnoreCase(p.getName())) {
|
pd.sounds_enabled=!pd.sounds_enabled;
|
||||||
playerdata.get(i).sounds_enabled=!playerdata.get(i).sounds_enabled;
|
if (pd.sounds_enabled) {
|
||||||
if (playerdata.get(i).sounds_enabled) {
|
|
||||||
p.sendMessage(ChatColor.DARK_AQUA+"Chat sounds are now enabled.");
|
p.sendMessage(ChatColor.DARK_AQUA+"Chat sounds are now enabled.");
|
||||||
} else {
|
} else {
|
||||||
p.sendMessage(ChatColor.DARK_RED+"Chat sounds are now disabled.");
|
p.sendMessage(ChatColor.DARK_RED+"Chat sounds are now disabled.");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
} else
|
} else
|
||||||
if (cmd.getName().equalsIgnoreCase("glowingitem")) {
|
if (cmd.getName().equalsIgnoreCase("glowingitem")) {
|
||||||
@ -651,7 +659,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
//MESSAGE: Sound.NOTE_STICKS, 0.6f, 0.85f);
|
//MESSAGE: Sound.NOTE_STICKS, 0.6f, 0.85f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
playerdata.add(new PlayerStructure(ev.getPlayer(),getServerTickTime()));
|
playerdata.put(ev.getPlayer().getUniqueId(), new PlayerStructure(ev.getPlayer(),getServerTickTime()));
|
||||||
log("[TASK] New Player Data has been added. Size of array: "+playerdata.size(),4);
|
log("[TASK] New Player Data has been added. Size of array: "+playerdata.size(),4);
|
||||||
|
|
||||||
//Update player max health. Check equipment too.
|
//Update player max health. Check equipment too.
|
||||||
@ -671,16 +679,11 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Find the player that is getting removed.
|
//Find the player that is getting removed.
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
PlayerStructure pd = (PlayerStructure)playerdata.get(ev.getPlayer().getUniqueId());
|
||||||
PlayerStructure pd = playerdata.get(i);
|
|
||||||
if (pd.name.equalsIgnoreCase(ev.getPlayer().getName())) {
|
|
||||||
//Make sure to save the config for this player.
|
//Make sure to save the config for this player.
|
||||||
pd.saveConfig();
|
pd.saveConfig();
|
||||||
playerdata.remove(i);
|
playerdata.remove(ev.getPlayer().getUniqueId());
|
||||||
log("[TASK] Player Data for "+ev.getPlayer().getName()+" has been removed. Size of array: "+playerdata.size(),4);
|
log("[TASK] Player Data for "+ev.getPlayer().getName()+" has been removed. Size of array: "+playerdata.size(),4);
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority=EventPriority.LOW)
|
@EventHandler(priority=EventPriority.LOW)
|
||||||
@ -946,7 +949,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
while (dropAmt>0) {
|
while (dropAmt>0) {
|
||||||
if (dropAmt>shop.GetItem().getMaxStackSize()) {
|
if (dropAmt>shop.GetItem().getMaxStackSize()) {
|
||||||
drop.setAmount(shop.GetItem().getMaxStackSize());
|
drop.setAmount(shop.GetItem().getMaxStackSize());
|
||||||
final ItemStack dropitem = drop;
|
final ItemStack dropitem = drop.clone();
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -956,7 +959,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
dropAmt-=shop.GetItem().getMaxStackSize();
|
dropAmt-=shop.GetItem().getMaxStackSize();
|
||||||
} else {
|
} else {
|
||||||
drop.setAmount(dropAmt);
|
drop.setAmount(dropAmt);
|
||||||
final ItemStack dropitem = drop;
|
final ItemStack dropitem = drop.clone();
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -1011,7 +1014,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
while (dropAmt>0) {
|
while (dropAmt>0) {
|
||||||
if (dropAmt>shop.GetItem().getMaxStackSize()) {
|
if (dropAmt>shop.GetItem().getMaxStackSize()) {
|
||||||
drop.setAmount(shop.GetItem().getMaxStackSize());
|
drop.setAmount(shop.GetItem().getMaxStackSize());
|
||||||
final ItemStack dropitem = drop;
|
final ItemStack dropitem = drop.clone();
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -1021,7 +1024,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
dropAmt-=shop.GetItem().getMaxStackSize();
|
dropAmt-=shop.GetItem().getMaxStackSize();
|
||||||
} else {
|
} else {
|
||||||
drop.setAmount(dropAmt);
|
drop.setAmount(dropAmt);
|
||||||
final ItemStack dropitem = drop;
|
final ItemStack dropitem = drop.clone();
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -1103,7 +1106,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
while (dropAmt>0) {
|
while (dropAmt>0) {
|
||||||
if (dropAmt>shop.GetItem().getMaxStackSize()) {
|
if (dropAmt>shop.GetItem().getMaxStackSize()) {
|
||||||
shopItem.setAmount(shop.GetItem().getMaxStackSize());
|
shopItem.setAmount(shop.GetItem().getMaxStackSize());
|
||||||
final ItemStack dropitem = shopItem;
|
final ItemStack dropitem = shopItem.clone();
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -1113,7 +1116,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
dropAmt-=shop.GetItem().getMaxStackSize();
|
dropAmt-=shop.GetItem().getMaxStackSize();
|
||||||
} else {
|
} else {
|
||||||
shopItem.setAmount(dropAmt);
|
shopItem.setAmount(dropAmt);
|
||||||
final ItemStack dropitem = shopItem;
|
final ItemStack dropitem = shopItem.clone();
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -1196,17 +1199,10 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
ev.setMessage(ev.getMessage().replace("()", "("+ev.getPlayer().getLocation().getBlockX()+","+ev.getPlayer().getLocation().getBlockY()+","+ev.getPlayer().getLocation().getBlockZ()+")"));
|
ev.setMessage(ev.getMessage().replace("()", "("+ev.getPlayer().getLocation().getBlockX()+","+ev.getPlayer().getLocation().getBlockY()+","+ev.getPlayer().getLocation().getBlockZ()+")"));
|
||||||
for (int i=0;i<Bukkit.getOnlinePlayers().toArray().length;i++) {
|
for (int i=0;i<Bukkit.getOnlinePlayers().toArray().length;i++) {
|
||||||
Player p = (Player)Bukkit.getOnlinePlayers().toArray()[i];
|
Player p = (Player)Bukkit.getOnlinePlayers().toArray()[i];
|
||||||
if (p!=null) {
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
for (int j=0;j<playerdata.size();j++) {
|
if (pd.sounds_enabled) {
|
||||||
if (playerdata.get(j).name.equalsIgnoreCase(p.getName())) {
|
|
||||||
if (playerdata.get(j).sounds_enabled) {
|
|
||||||
p.playSound(p.getLocation(), Sound.BLOCK_NOTE_BASEDRUM, 0.6f, 0.85f);
|
p.playSound(p.getLocation(), Sound.BLOCK_NOTE_BASEDRUM, 0.6f, 0.85f);
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
int pos = -1;
|
int pos = -1;
|
||||||
log(ev.getMessage()+" "+ev.getMessage().indexOf("[]"),5);
|
log(ev.getMessage()+" "+ev.getMessage().indexOf("[]"),5);
|
||||||
@ -1473,7 +1469,8 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
if (!depositUser.equalsIgnoreCase(ev.getPlayer().getName()) &&
|
if (!depositUser.equalsIgnoreCase(ev.getPlayer().getName()) &&
|
||||||
!conversionUser.equalsIgnoreCase(ev.getPlayer().getName())) {
|
!conversionUser.equalsIgnoreCase(ev.getPlayer().getName())) {
|
||||||
ev.getPlayer().sendMessage(ChatColor.GOLD+"Say/Type the amount you want to WITHDRAW today.");
|
ev.getPlayer().sendMessage(ChatColor.GOLD+"Say/Type the amount you want to WITHDRAW today.");
|
||||||
ev.getPlayer().sendMessage(" In Bank: "+ChatColor.BLUE+"$"+getPlayerBankMoney(ev.getPlayer()));
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
|
ev.getPlayer().sendMessage(" In Bank: "+ChatColor.BLUE+"$"+df.format(getPlayerBankMoney(ev.getPlayer())));
|
||||||
//Activate the terminal.
|
//Activate the terminal.
|
||||||
withdrawUser=ev.getPlayer().getName();
|
withdrawUser=ev.getPlayer().getName();
|
||||||
withdrawTime=getServerTickTime();
|
withdrawTime=getServerTickTime();
|
||||||
@ -1492,7 +1489,8 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
if (!withdrawUser.equalsIgnoreCase(ev.getPlayer().getName()) &&
|
if (!withdrawUser.equalsIgnoreCase(ev.getPlayer().getName()) &&
|
||||||
!conversionUser.equalsIgnoreCase(ev.getPlayer().getName())) {
|
!conversionUser.equalsIgnoreCase(ev.getPlayer().getName())) {
|
||||||
ev.getPlayer().sendMessage(ChatColor.GOLD+"Say/Type the amount you want to DEPOSIT today.");
|
ev.getPlayer().sendMessage(ChatColor.GOLD+"Say/Type the amount you want to DEPOSIT today.");
|
||||||
ev.getPlayer().sendMessage(" Currently Holding: "+ChatColor.GREEN+"$"+getPlayerMoney(ev.getPlayer()));
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
|
ev.getPlayer().sendMessage(" Currently Holding: "+ChatColor.GREEN+"$"+df.format(getPlayerMoney(ev.getPlayer())));
|
||||||
//Activate the terminal.
|
//Activate the terminal.
|
||||||
depositUser=ev.getPlayer().getName();
|
depositUser=ev.getPlayer().getName();
|
||||||
depositTime=getServerTickTime();
|
depositTime=getServerTickTime();
|
||||||
@ -1845,9 +1843,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
ev.setCancelled(true);
|
ev.setCancelled(true);
|
||||||
Player p = (Player)ev.getEntity();
|
Player p = (Player)ev.getEntity();
|
||||||
//Find the player that is losing food level.
|
//Find the player that is losing food level.
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
PlayerStructure pd = playerdata.get(i);
|
|
||||||
if (pd.name.equalsIgnoreCase(p.getName())) {
|
|
||||||
if (((Player)ev.getEntity()).getSaturation()>0 && pd.saturation<20) {
|
if (((Player)ev.getEntity()).getSaturation()>0 && pd.saturation<20) {
|
||||||
pd.saturation+=2;
|
pd.saturation+=2;
|
||||||
((Player)ev.getEntity()).setSaturation(((Player)ev.getEntity()).getSaturation()-1);
|
((Player)ev.getEntity()).setSaturation(((Player)ev.getEntity()).getSaturation()-1);
|
||||||
@ -1855,8 +1851,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler(priority=EventPriority.LOW)
|
@EventHandler(priority=EventPriority.LOW)
|
||||||
public void onInventoryClick(InventoryClickEvent ev) {
|
public void onInventoryClick(InventoryClickEvent ev) {
|
||||||
@ -2487,6 +2481,15 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
//This spawn was not allowed by the mob height controller.
|
//This spawn was not allowed by the mob height controller.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (ev.getLocation().getWorld().getName().equalsIgnoreCase("world") &&
|
||||||
|
ev.getEntityType()==EntityType.HORSE) {
|
||||||
|
Horse h = (Horse)ev.getEntity();
|
||||||
|
if (h.getVariant().equals(Variant.SKELETON_HORSE)) {
|
||||||
|
//This is a skeleton horse in the overworld. We are going to disable these for now. Future plans for them...
|
||||||
|
ev.getEntity().remove();
|
||||||
|
log("Prevented a skeleton horse from spawning at Location "+ev.getLocation().toString()+".",3);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//A fix to make achievemnt announcements not show the healthbar!
|
//A fix to make achievemnt announcements not show the healthbar!
|
||||||
@ -2588,7 +2591,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
public void onEndermanTeleport(EntityTeleportEvent ev) {
|
public void onEndermanTeleport(EntityTeleportEvent ev) {
|
||||||
if (ev.getEntityType()==EntityType.ENDERMAN) {
|
if (ev.getEntityType()==EntityType.ENDERMAN) {
|
||||||
//There is a small chance to drop a Mysterious Essence.
|
//There is a small chance to drop a Mysterious Essence.
|
||||||
if (Math.random()<=0.0625) {
|
if (Math.random()<=0.0625*ARTIFACT_RARITY && ((Monster)ev.getEntity()).getTarget()==null) { //We won't drop it when they are targeting a player, only when they are doing their own thing.
|
||||||
ev.getEntity().getLocation().getWorld().dropItemNaturally(ev.getEntity().getLocation(), Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE));
|
ev.getEntity().getLocation().getWorld().dropItemNaturally(ev.getEntity().getLocation(), Artifact.createArtifactItem(ArtifactItem.MYSTERIOUS_ESSENCE));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2686,9 +2689,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
log("Final dmg is "+ev.getFinalDamage(),4);
|
log("Final dmg is "+ev.getFinalDamage(),4);
|
||||||
|
|
||||||
//Make this monster the player's new target.
|
//Make this monster the player's new target.
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
PlayerStructure pd = playerdata.get(i);
|
|
||||||
if (pd.name.equalsIgnoreCase(p.getName())) {
|
|
||||||
//Found the player structure. Set the target.
|
//Found the player structure. Set the target.
|
||||||
pd.target=m;
|
pd.target=m;
|
||||||
if (GenericFunctions.isDefender(p)) {
|
if (GenericFunctions.isDefender(p)) {
|
||||||
@ -2708,9 +2709,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
p.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE,100,(currentResistanceLevel+1<5)?currentResistanceLevel+1:4));
|
p.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE,100,(currentResistanceLevel+1<5)?currentResistanceLevel+1:4));
|
||||||
}
|
}
|
||||||
updateTitle(p);
|
updateTitle(p);
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else
|
} else
|
||||||
if ((ev.getDamager() instanceof Player &&
|
if ((ev.getDamager() instanceof Player &&
|
||||||
ev.getEntity() instanceof LivingEntity)) {
|
ev.getEntity() instanceof LivingEntity)) {
|
||||||
@ -2733,15 +2731,10 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
m.setNoDamageTicks(0);
|
m.setNoDamageTicks(0);
|
||||||
|
|
||||||
//Make this monster the player's new target.
|
//Make this monster the player's new target.
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
PlayerStructure pd = playerdata.get(i);
|
|
||||||
if (pd.name.equalsIgnoreCase(p.getName())) {
|
|
||||||
//Found the player structure. Set the target.
|
//Found the player structure. Set the target.
|
||||||
pd.target=m;
|
pd.target=m;
|
||||||
updateTitle(p);
|
updateTitle(p);
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else
|
} else
|
||||||
if ((ev.getDamager() instanceof Arrow &&
|
if ((ev.getDamager() instanceof Arrow &&
|
||||||
ev.getEntity() instanceof Player)) {
|
ev.getEntity() instanceof Player)) {
|
||||||
@ -2780,15 +2773,10 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
|
|
||||||
|
|
||||||
//Make this monster the player's new target.
|
//Make this monster the player's new target.
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
PlayerStructure pd = playerdata.get(i);
|
|
||||||
if (pd.name.equalsIgnoreCase(p.getName())) {
|
|
||||||
//Found the player structure. Set the target.
|
//Found the player structure. Set the target.
|
||||||
pd.target=m;
|
pd.target=m;
|
||||||
updateTitle(p);
|
updateTitle(p);
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -2827,15 +2815,10 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Make this monster the player's new target.
|
//Make this monster the player's new target.
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
PlayerStructure pd = playerdata.get(i);
|
|
||||||
if (pd.name.equalsIgnoreCase(p.getName())) {
|
|
||||||
//Found the player structure. Set the target.
|
//Found the player structure. Set the target.
|
||||||
pd.target=m;
|
pd.target=m;
|
||||||
updateTitle(p,headshot);
|
updateTitle(p,headshot);
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2848,12 +2831,8 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
double dropmult=1;
|
double dropmult=1;
|
||||||
if (m.getKiller() instanceof Player) {
|
if (m.getKiller() instanceof Player) {
|
||||||
Player p = (Player)m.getKiller();
|
Player p = (Player)m.getKiller();
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
if (playerdata.get(i).name.equalsIgnoreCase(p.getName())) {
|
dropmult+=pd.partybonus*0.1;
|
||||||
dropmult+=playerdata.get(i).partybonus*0.1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (Math.random()<0.00390625*dropmult*ARTIFACT_RARITY) {
|
if (Math.random()<0.00390625*dropmult*ARTIFACT_RARITY) {
|
||||||
ev.getDrops().add(Artifact.createArtifactItem(ArtifactItem.ARTIFACT_ESSENCE));
|
ev.getDrops().add(Artifact.createArtifactItem(ArtifactItem.ARTIFACT_ESSENCE));
|
||||||
@ -3214,7 +3193,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
raresword.addUnsafeEnchantment(Enchantment.KNOCKBACK, 1);
|
raresword.addUnsafeEnchantment(Enchantment.KNOCKBACK, 1);
|
||||||
raresword.addUnsafeEnchantment(Enchantment.DURABILITY, 10);
|
raresword.addUnsafeEnchantment(Enchantment.DURABILITY, 10);
|
||||||
}
|
}
|
||||||
raresword.setItemMeta(sword_meta);
|
|
||||||
ev.getDrops().add(raresword);
|
ev.getDrops().add(raresword);
|
||||||
}
|
}
|
||||||
if (Math.random()<RARE_DROP_RATE*dropmult) {
|
if (Math.random()<RARE_DROP_RATE*dropmult) {
|
||||||
@ -4207,9 +4185,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
public void onTeleportEvent(PlayerTeleportEvent ev) {
|
public void onTeleportEvent(PlayerTeleportEvent ev) {
|
||||||
if (ev.getCause().equals(TeleportCause.END_PORTAL)) {
|
if (ev.getCause().equals(TeleportCause.END_PORTAL)) {
|
||||||
Player p = ev.getPlayer();
|
Player p = ev.getPlayer();
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
PlayerStructure pd = playerdata.get(i);
|
|
||||||
if (pd.name.equalsIgnoreCase(p.getName())) {
|
|
||||||
//This is the player data structure we are looking for.
|
//This is the player data structure we are looking for.
|
||||||
if (!pd.enderdragon_spawned) {
|
if (!pd.enderdragon_spawned) {
|
||||||
pd.enderdragon_spawned=true;
|
pd.enderdragon_spawned=true;
|
||||||
@ -4218,8 +4194,6 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
dragon.setPhase(Phase.CIRCLING);
|
dragon.setPhase(Phase.CIRCLING);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
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() {
|
||||||
@ -4288,8 +4262,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void saveAllUserConfigs() {
|
public void saveAllUserConfigs() {
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
for (int i=0;i<Bukkit.getOnlinePlayers().size();i++) {
|
||||||
PlayerStructure pd = playerdata.get(i);
|
Player p = (Player)(Bukkit.getOnlinePlayers().toArray()[i]);
|
||||||
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
pd.saveConfig();
|
pd.saveConfig();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4628,19 +4603,12 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
///////////////ALL PLAYER RELATED FUNCTIONS GO DOWN HERE.
|
///////////////ALL PLAYER RELATED FUNCTIONS GO DOWN HERE.
|
||||||
public static double getPlayerMoney(Player p) {
|
public static double getPlayerMoney(Player p) {
|
||||||
//Tells a player how much money they have.
|
//Tells a player how much money they have.
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
PlayerStructure pd = playerdata.get(i);
|
|
||||||
if (pd.name.equalsIgnoreCase(p.getName())) {
|
|
||||||
//Found it. Read money and quit.
|
//Found it. Read money and quit.
|
||||||
Double d = Double.valueOf(pd.money);
|
Double d = Double.valueOf(pd.money);
|
||||||
DecimalFormat df = new DecimalFormat("0.00");
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
return Double.parseDouble(df.format(d));
|
return Double.parseDouble(df.format(d));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
//Something bad happened if we got here.
|
|
||||||
log("[WARNING] Could not find the correct player data file for "+p.getName()+" to get money data from.",1);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
public static double getPlayerMoney(String p) {
|
public static double getPlayerMoney(String p) {
|
||||||
//See if the data file exists, open it.
|
//See if the data file exists, open it.
|
||||||
if (Bukkit.getPlayer(p)!=null) {
|
if (Bukkit.getPlayer(p)!=null) {
|
||||||
@ -4661,19 +4629,12 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
|
|
||||||
public static double getPlayerBankMoney(Player p) {
|
public static double getPlayerBankMoney(Player p) {
|
||||||
//Tells a player how much money they have.
|
//Tells a player how much money they have.
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
PlayerStructure pd = playerdata.get(i);
|
|
||||||
if (pd.name.equalsIgnoreCase(p.getName())) {
|
|
||||||
//Found it. Read money and quit.
|
//Found it. Read money and quit.
|
||||||
Double d = Double.valueOf(pd.bank_money);
|
Double d = Double.valueOf(pd.bank_money);
|
||||||
DecimalFormat df = new DecimalFormat("0.00");
|
DecimalFormat df = new DecimalFormat("0.00");
|
||||||
return Double.parseDouble(df.format(d));
|
return Double.parseDouble(df.format(d));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
//Something bad happened if we got here.
|
|
||||||
log("[WARNING] Could not find the correct player data file for "+p.getName()+" to get money bank data from.",1);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static double getPlayerBankMoney(String p) {
|
public static double getPlayerBankMoney(String p) {
|
||||||
if (Bukkit.getPlayer(p)!=null) {
|
if (Bukkit.getPlayer(p)!=null) {
|
||||||
@ -4697,19 +4658,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
|
|
||||||
public static void givePlayerMoney(Player p, double amt) {
|
public static void givePlayerMoney(Player p, double amt) {
|
||||||
boolean found=false;
|
boolean found=false;
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
PlayerStructure pd = playerdata.get(i);
|
|
||||||
if (pd.name.equalsIgnoreCase(p.getName())) {
|
|
||||||
//Found it. Read money and quit.
|
//Found it. Read money and quit.
|
||||||
pd.money+=amt;
|
pd.money+=amt;
|
||||||
found=true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//Something bad happened if we got here.
|
|
||||||
if (!found) {
|
|
||||||
log("[WARNING] Could not find the correct player data file for "+p.getName()+" to get money data from.",1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
public static void givePlayerMoney(String p, double amt) {
|
public static void givePlayerMoney(String p, double amt) {
|
||||||
if (Bukkit.getPlayer(p)!=null) {
|
if (Bukkit.getPlayer(p)!=null) {
|
||||||
@ -4743,18 +4694,9 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
public static void givePlayerBankMoney(Player p, double amt) {
|
public static void givePlayerBankMoney(Player p, double amt) {
|
||||||
boolean found=false;
|
boolean found=false;
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
PlayerStructure pd = playerdata.get(i);
|
|
||||||
if (pd.name.equalsIgnoreCase(p.getName())) {
|
|
||||||
//Found it. Read money and quit.
|
//Found it. Read money and quit.
|
||||||
pd.bank_money+=amt;
|
pd.bank_money+=amt;
|
||||||
found=true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//Something bad happened if we got here.
|
|
||||||
if (!found) {
|
|
||||||
log("[WARNING] Could not find the correct player data file for "+p.getName()+" to get money data from.",1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
public static void givePlayerBankMoney(String p, double amt) {
|
public static void givePlayerBankMoney(String p, double amt) {
|
||||||
if (Bukkit.getPlayer(p)!=null) {
|
if (Bukkit.getPlayer(p)!=null) {
|
||||||
@ -4861,13 +4803,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
|
|
||||||
public void updateTitle(final Player p, final String message1) {
|
public void updateTitle(final Player p, final String message1) {
|
||||||
//Updates the target title for this player.
|
//Updates the target title for this player.
|
||||||
PlayerStructure pd=null;
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
|
||||||
if (playerdata.get(i).name.equalsIgnoreCase(p.getName())) {
|
|
||||||
pd=playerdata.get(i);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
final PlayerStructure pd2=pd;
|
final PlayerStructure pd2=pd;
|
||||||
String MonsterName = pd.target.getType().toString().toLowerCase();
|
String MonsterName = pd.target.getType().toString().toLowerCase();
|
||||||
if (pd.target.getCustomName()!=null) {
|
if (pd.target.getCustomName()!=null) {
|
||||||
@ -4925,13 +4861,7 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
pd.title_task=Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
pd.title_task=Bukkit.getScheduler().scheduleSyncDelayedTask(this, new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
PlayerStructure pd=null;
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
for (int i=0;i<playerdata.size();i++) {
|
|
||||||
if (playerdata.get(i).name.equalsIgnoreCase(p.getName())) {
|
|
||||||
pd=playerdata.get(i);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
pd.title_task=-1;
|
pd.title_task=-1;
|
||||||
p.sendTitle("","");
|
p.sendTitle("","");
|
||||||
}
|
}
|
||||||
@ -5045,24 +4975,15 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
PlayerStructure pd = null;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int partylevel = 0;
|
int partylevel = 0;
|
||||||
for (int j=0;j<playerdata.size();j++) {
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
if (playerdata.get(j).name.equalsIgnoreCase(p.getName())) {
|
if (pd.partybonus>0) {
|
||||||
pd = playerdata.get(j);
|
partylevel = pd.partybonus;
|
||||||
if (playerdata.get(j).partybonus>0) {
|
|
||||||
partylevel = playerdata.get(j).partybonus;
|
|
||||||
log("Party level is "+partylevel,5);
|
log("Party level is "+partylevel,5);
|
||||||
if (partylevel>9) {partylevel=9;}
|
if (partylevel>9) {partylevel=9;}
|
||||||
}
|
}
|
||||||
pd.prev_partydmg = partylevel;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
pd.prev_partydmg = partylevel;
|
||||||
int sharpnesslevel=0;
|
int sharpnesslevel=0;
|
||||||
//Apply player enchantments next.
|
//Apply player enchantments next.
|
||||||
//Each sharpness level increases damage by 0.5.
|
//Each sharpness level increases damage by 0.5.
|
||||||
@ -5332,20 +5253,12 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
PlayerStructure pd = null;
|
|
||||||
|
|
||||||
if (target instanceof Player) {
|
if (target instanceof Player) {
|
||||||
Player p = (Player)target;
|
Player p = (Player)target;
|
||||||
for (int j=0;j<playerdata.size();j++) {
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
if (playerdata.get(j).name.equalsIgnoreCase(p.getName())) {
|
partylevel = pd.partybonus;
|
||||||
pd = playerdata.get(j);
|
|
||||||
if (playerdata.get(j).partybonus>0) {
|
|
||||||
partylevel = playerdata.get(j).partybonus;
|
|
||||||
if (partylevel>9) {partylevel=9;}
|
if (partylevel>9) {partylevel=9;}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Blocking: -((p.isBlocking())?ev.getDamage()*0.33:0) //33% damage will be reduced if we are blocking.
|
//Blocking: -((p.isBlocking())?ev.getDamage()*0.33:0) //33% damage will be reduced if we are blocking.
|
||||||
//Shield: -((p.getEquipment().getItemInOffHand()!=null && p.getEquipment().getItemInOffHand().getType()==Material.SHIELD)?ev.getDamage()*0.05:0) //5% damage will be reduced if we are holding a shield.
|
//Shield: -((p.getEquipment().getItemInOffHand()!=null && p.getEquipment().getItemInOffHand().getType()==Material.SHIELD)?ev.getDamage()*0.05:0) //5% damage will be reduced if we are holding a shield.
|
||||||
@ -5359,7 +5272,10 @@ public class TwosideKeeper extends JavaPlugin implements Listener {
|
|||||||
*((GenericFunctions.isDefender(target))?0.9:(target.getEquipment().getItemInOffHand()!=null && target.getEquipment().getItemInOffHand().getType()==Material.SHIELD)?0.95:1);
|
*((GenericFunctions.isDefender(target))?0.9:(target.getEquipment().getItemInOffHand()!=null && target.getEquipment().getItemInOffHand().getType()==Material.SHIELD)?0.95:1);
|
||||||
|
|
||||||
log(finaldmg+" damage calculated for: "+target.getName()+".",5);
|
log(finaldmg+" damage calculated for: "+target.getName()+".",5);
|
||||||
if (pd!=null) {
|
|
||||||
|
if (target instanceof Player) {
|
||||||
|
Player p = (Player)target;
|
||||||
|
PlayerStructure pd = (PlayerStructure)playerdata.get(p.getUniqueId());
|
||||||
pd.prev_armordef = finaldmg;
|
pd.prev_armordef = finaldmg;
|
||||||
}
|
}
|
||||||
return finaldmg;
|
return finaldmg;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package sig.plugin.TwosideKeeper;
|
package sig.plugin.TwosideKeeper;
|
||||||
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Monster;
|
import org.bukkit.entity.Monster;
|
||||||
@ -85,4 +86,10 @@ public final class TwosideKeeperAPI {
|
|||||||
public static String getLocalizedItemName(ItemStack i) {
|
public static String getLocalizedItemName(ItemStack i) {
|
||||||
return GenericFunctions.UserFriendlyMaterialName(i);
|
return GenericFunctions.UserFriendlyMaterialName(i);
|
||||||
}
|
}
|
||||||
|
public static String getLocalizedItemName(Material i) {
|
||||||
|
return GenericFunctions.UserFriendlyMaterialName(i);
|
||||||
|
}
|
||||||
|
public static String getLocalizedItemName(Material i, byte data) {
|
||||||
|
return GenericFunctions.UserFriendlyMaterialName(i,data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user