All changes up to 0.5.15

This commit is contained in:
nossr50 2011-02-14 15:27:11 -08:00
parent 3647ba5bd9
commit 3a95c2eeb6
8 changed files with 171 additions and 39 deletions

View File

@ -1,5 +1,21 @@
Changelog: Changelog:
#Versions without changelogs probably had very small misc fixes, like tweaks to the source code# #Versions without changelogs probably had very small misc fixes, like tweaks to the source code#
Version 0.5.15
Fixed stone swords not being recognized as swords
Fixed /a not working if you were an op but did not have permissions
Version 0.5.14
Added permissions for skills
Version 0.5.13
Removed skillgain from succesful parries
Repair now refreshed the inventory
Version 0.5.12
Fixed being able to hurt party members with the bow and arrow
Version 0.5.11 Version 0.5.11
Added /mmoedit command Added /mmoedit command

View File

@ -20,7 +20,12 @@ public class mcBlockListener extends BlockListener {
} }
public void onBlockPlace(BlockPlaceEvent event) { public void onBlockPlace(BlockPlaceEvent event) {
Block block = event.getBlock(); Block block = event.getBlock();
int x = block.getX();
int y = block.getY();
int z = block.getZ();
String xyz = x+","+y+","+z;
mcConfig.getInstance().addBlockWatch(block); mcConfig.getInstance().addBlockWatch(block);
mcConfig.getInstance().addCoordsWatch(xyz);
if(block.getTypeId() == 42) if(block.getTypeId() == 42)
event.getPlayer().sendMessage(ChatColor.DARK_RED+"You have placed an anvil, anvils can repair tools and armor."); event.getPlayer().sendMessage(ChatColor.DARK_RED+"You have placed an anvil, anvils can repair tools and armor.");
} }
@ -29,24 +34,45 @@ public class mcBlockListener extends BlockListener {
//STARTED(0), DIGGING(1), BROKEN(3), STOPPED(2); //STARTED(0), DIGGING(1), BROKEN(3), STOPPED(2);
Player player = event.getPlayer(); Player player = event.getPlayer();
Block block = event.getBlock(); Block block = event.getBlock();
int x = block.getX();
int y = block.getY();
int z = block.getZ();
String xyz = x+","+y+","+z;
int type = block.getTypeId(); int type = block.getTypeId();
Location loc = block.getLocation(); Location loc = block.getLocation();
int dmg = event.getDamageLevel().getLevel(); int dmg = event.getDamageLevel().getLevel();
//Smooth Stone /*
if(dmg == 3 && !mcConfig.getInstance().isBlockWatched(block)){ * MINING
*/
if(dmg == 3 && !mcConfig.getInstance().isBlockWatched(block) && !mcConfig.getInstance().isCoordsWatched(xyz)){
if(mcPermissions.getInstance().mining(player))
mcm.getInstance().miningBlockCheck(player, block); mcm.getInstance().miningBlockCheck(player, block);
//Give skill for woodcutting /*
if(block.getTypeId() == 17) * WOOD CUTTING
*/
if(block.getTypeId() == 17
&& mcPermissions.getInstance().woodcutting(player)){
mcUsers.getProfile(player).addwgather(1); mcUsers.getProfile(player).addwgather(1);
//Skill up players based on gather/wgather stuff
mcm.getInstance().simulateSkillUp(player);
if(block.getTypeId() == 17){
mcm.getInstance().woodCuttingProcCheck(player, block, loc); mcm.getInstance().woodCuttingProcCheck(player, block, loc);
} }
mcm.getInstance().simulateSkillUp(player);
/*
* EXCAVATION
*/
if(mcPermissions.getInstance().excavation(player))
mcm.getInstance().excavationProcCheck(block, player); mcm.getInstance().excavationProcCheck(block, player);
} /*
if(mcConfig.getInstance().isBlockWatched(block) && !(type == 39 || type == 40 || type == 37 || type == 38)); * HERBALISM
*/
if(!(type == 39 || type == 40 || type == 37 || type == 38)
&& mcPermissions.getInstance().herbalism(player));
mcm.getInstance().herbalismProcCheck(block, player); //You place the blocks so we wont check if they are being watched mcm.getInstance().herbalismProcCheck(block, player); //You place the blocks so we wont check if they are being watched
/*
* EXPLOIT COUNTERMEASURES
*/
mcConfig.getInstance().addCoordsWatch(xyz);
mcConfig.getInstance().addBlockWatch(block);
}
} }

View File

@ -13,11 +13,15 @@ public class mcConfig {
String location = "mcmmo.properties"; String location = "mcmmo.properties";
protected static final Logger log = Logger.getLogger("Minecraft"); protected static final Logger log = Logger.getLogger("Minecraft");
static ArrayList<String> adminChatList = new ArrayList<String>(); static ArrayList<String> adminChatList = new ArrayList<String>();
static ArrayList<String> coordsWatchList = new ArrayList<String>();
static ArrayList<Block> blockWatchList = new ArrayList<Block>(); static ArrayList<Block> blockWatchList = new ArrayList<Block>();
static ArrayList<String> partyChatList = new ArrayList<String>(); static ArrayList<String> partyChatList = new ArrayList<String>();
public boolean isBlockWatched(Block block) {return blockWatchList.contains(block);} public boolean isBlockWatched(Block block) {return blockWatchList.contains(block);}
public boolean isCoordsWatched(String xyz) {return coordsWatchList.contains(xyz);}
public void removeBlockWatch(Block block) {blockWatchList.remove(blockWatchList.indexOf(block));} public void removeBlockWatch(Block block) {blockWatchList.remove(blockWatchList.indexOf(block));}
public void removeCoordsWatch(String xyz) {coordsWatchList.remove(coordsWatchList.indexOf(xyz));}
public void addBlockWatch(Block block) {blockWatchList.add(block);} public void addBlockWatch(Block block) {blockWatchList.add(block);}
public void addCoordsWatch(String xyz) {coordsWatchList.add(xyz);}
public boolean isAdminToggled(String playerName) {return adminChatList.contains(playerName);} public boolean isAdminToggled(String playerName) {return adminChatList.contains(playerName);}
public boolean isPartyToggled(String playerName) {return partyChatList.contains(playerName);} public boolean isPartyToggled(String playerName) {return partyChatList.contains(playerName);}
public void removePartyToggled(String playerName) {partyChatList.remove(partyChatList.indexOf(playerName));} public void removePartyToggled(String playerName) {partyChatList.remove(partyChatList.indexOf(playerName));}

View File

@ -110,6 +110,7 @@ public class mcEntityListener extends EntityListener {
*/ */
if(y instanceof Player){ if(y instanceof Player){
Player attacker = (Player)y; Player attacker = (Player)y;
if(mcPermissions.getInstance().archery(attacker)){
/* /*
* Defender is Monster * Defender is Monster
*/ */
@ -177,6 +178,12 @@ public class mcEntityListener extends EntityListener {
/* /*
* Stuff for the daze proc * Stuff for the daze proc
*/ */
if(mcUsers.getProfile(attacker).inParty() && mcUsers.getProfile(defender).inParty()){
if(mcm.getInstance().inSameParty(defender, attacker)){
event.setCancelled(true);
return;
}
}
Location loc = defender.getLocation(); Location loc = defender.getLocation();
if(Math.random() * 10 > 5){ if(Math.random() * 10 > 5){
loc.setPitch(90); loc.setPitch(90);
@ -214,9 +221,9 @@ public class mcEntityListener extends EntityListener {
if(mcUsers.getProfile(defender).isDead()) if(mcUsers.getProfile(defender).isDead())
return; return;
if(defender.getHealth() <= 0){ if(defender.getHealth() <= 0){
mcUsers.getProfile(defender).setDead(true);
for(Player derp : plugin.getServer().getOnlinePlayers()){ for(Player derp : plugin.getServer().getOnlinePlayers()){
derp.sendMessage(ChatColor.GRAY+attacker.getName() + " has " +ChatColor.DARK_RED+"slain "+ChatColor.GRAY+defender.getName() + " with an arrow."); derp.sendMessage(ChatColor.GRAY+attacker.getName() + " has " +ChatColor.DARK_RED+"slain "+ChatColor.GRAY+defender.getName() + " with an arrow.");
mcUsers.getProfile(defender).setDead(true);
} }
} }
} }
@ -231,7 +238,7 @@ public class mcEntityListener extends EntityListener {
} }
} }
} }
}
} }
public void onEntityDamage(EntityDamageEvent event) { public void onEntityDamage(EntityDamageEvent event) {
Entity x = event.getEntity(); Entity x = event.getEntity();
@ -243,42 +250,52 @@ public class mcEntityListener extends EntityListener {
int y = loc.getBlockY(); int y = loc.getBlockY();
int z = loc.getBlockZ(); int z = loc.getBlockZ();
if(type == DamageCause.FALL){ if(type == DamageCause.FALL){
if(mcUsers.getProfile(player).getAcrobaticsInt() >= 50 && mcUsers.getProfile(player).getAcrobaticsInt() < 250 ){ if(mcUsers.getProfile(player).getAcrobaticsInt() >= 50
&& mcUsers.getProfile(player).getAcrobaticsInt() < 250
&& mcPermissions.getInstance().acrobatics(player)){
if(Math.random() * 10 > 8){ if(Math.random() * 10 > 8){
event.setCancelled(true); event.setCancelled(true);
player.sendMessage("**ROLLED**"); player.sendMessage("**ROLLED**");
return; return;
} }
} }
if(mcUsers.getProfile(player).getAcrobaticsInt() >= 250 && mcUsers.getProfile(player).getAcrobaticsInt() < 450 ){ if(mcUsers.getProfile(player).getAcrobaticsInt() >= 250
&& mcUsers.getProfile(player).getAcrobaticsInt() < 450
&& mcPermissions.getInstance().acrobatics(player)){
if(Math.random() * 10 > 6){ if(Math.random() * 10 > 6){
event.setCancelled(true); event.setCancelled(true);
player.sendMessage("**ROLLED**"); player.sendMessage("**ROLLED**");
return; return;
} }
} }
if(mcUsers.getProfile(player).getAcrobaticsInt() >= 450 && mcUsers.getProfile(player).getAcrobaticsInt() < 750 ){ if(mcUsers.getProfile(player).getAcrobaticsInt() >= 450
&& mcUsers.getProfile(player).getAcrobaticsInt() < 750
&& mcPermissions.getInstance().acrobatics(player)){
if(Math.random() * 10 > 4){ if(Math.random() * 10 > 4){
event.setCancelled(true); event.setCancelled(true);
player.sendMessage("**ROLLED**"); player.sendMessage("**ROLLED**");
return; return;
} }
} }
if(mcUsers.getProfile(player).getAcrobaticsInt() >= 750 && mcUsers.getProfile(player).getAcrobaticsInt() < 950 ){ if(mcUsers.getProfile(player).getAcrobaticsInt() >= 750
&& mcUsers.getProfile(player).getAcrobaticsInt() < 950
&& mcPermissions.getInstance().acrobatics(player)){
if(Math.random() * 10 > 2){ if(Math.random() * 10 > 2){
event.setCancelled(true); event.setCancelled(true);
player.sendMessage("**BARREL ROLLED**"); player.sendMessage("**BARREL ROLLED**");
return; return;
} }
} }
if(mcUsers.getProfile(player).getAcrobaticsInt() >= 950){ if(mcUsers.getProfile(player).getAcrobaticsInt() >= 950
&& mcPermissions.getInstance().acrobatics(player)){
event.setCancelled(true); event.setCancelled(true);
player.sendMessage("**ROLLED... LIKE A BOSS**"); player.sendMessage("**ROLLED... LIKE A BOSS**");
return; return;
} }
if(player.getHealth() - event.getDamage() <= 0) if(player.getHealth() - event.getDamage() <= 0)
return; return;
if(!mcConfig.getInstance().isBlockWatched(loc.getWorld().getBlockAt(xx, y, z))){ if(!mcConfig.getInstance().isBlockWatched(loc.getWorld().getBlockAt(xx, y, z))
&& mcPermissions.getInstance().acrobatics(player)){
if(event.getDamage() >= 2 && event.getDamage() < 6){ if(event.getDamage() >= 2 && event.getDamage() < 6){
mcUsers.getProfile(player).skillUpAcrobatics(1); mcUsers.getProfile(player).skillUpAcrobatics(1);
player.sendMessage(ChatColor.YELLOW+"Acrobatics skill increased by 1. Total ("+mcUsers.getProfile(player).getAcrobatics()+")"); player.sendMessage(ChatColor.YELLOW+"Acrobatics skill increased by 1. Total ("+mcUsers.getProfile(player).getAcrobatics()+")");

View File

@ -98,4 +98,67 @@ public class mcPermissions {
} }
return instance; return instance;
} }
public boolean mining(Player player) {
if (permissionsEnabled) {
return permission(player, "mcmmo.skills.mining");
} else {
return true;
}
}
public boolean woodcutting(Player player) {
if (permissionsEnabled) {
return permission(player, "mcmmo.skills.woodcutting");
} else {
return true;
}
}
public boolean repair(Player player) {
if (permissionsEnabled) {
return permission(player, "mcmmo.skills.repair");
} else {
return true;
}
}
public boolean unarmed(Player player) {
if (permissionsEnabled) {
return permission(player, "mcmmo.skills.unarmed");
} else {
return true;
}
}
public boolean archery(Player player) {
if (permissionsEnabled) {
return permission(player, "mcmmo.skills.archery");
} else {
return true;
}
}
public boolean herbalism(Player player) {
if (permissionsEnabled) {
return permission(player, "mcmmo.skills.herbalism");
} else {
return true;
}
}
public boolean excavation(Player player) {
if (permissionsEnabled) {
return permission(player, "mcmmo.skills.excavation");
} else {
return true;
}
}
public boolean swords(Player player) {
if (permissionsEnabled) {
return permission(player, "mcmmo.skills.swords");
} else {
return true;
}
}
public boolean acrobatics(Player player) {
if (permissionsEnabled) {
return permission(player, "mcmmo.skills.acrobatics");
} else {
return true;
}
}
} }

View File

@ -90,12 +90,16 @@ public class mcPlayerListener extends PlayerListener {
Block block = event.getBlockClicked(); Block block = event.getBlockClicked();
Player player = event.getPlayer(); Player player = event.getPlayer();
ItemStack is = player.getItemInHand(); ItemStack is = player.getItemInHand();
if(mcPermissions.getInstance().herbalism(player)){
//BREADCHECK, CHECKS HERBALISM SKILL FOR BREAD HP MODIFIERS //BREADCHECK, CHECKS HERBALISM SKILL FOR BREAD HP MODIFIERS
mcm.getInstance().breadCheck(player, is); mcm.getInstance().breadCheck(player, is);
//STEW, CHECKS HERBALISM SKILL FOR BREAD HP MODIFIERS //STEW, CHECKS HERBALISM SKILL FOR BREAD HP MODIFIERS
mcm.getInstance().stewCheck(player, is); mcm.getInstance().stewCheck(player, is);
}
if(mcPermissions.getInstance().repair(player)){
//REPAIRCHECK, CHECKS TO MAKE SURE PLAYER IS RIGHT CLICKING AN ANVIL, PLAYER HAS ENOUGH RESOURCES, AND THE ITEM IS NOT AT FULL DURABILITY. //REPAIRCHECK, CHECKS TO MAKE SURE PLAYER IS RIGHT CLICKING AN ANVIL, PLAYER HAS ENOUGH RESOURCES, AND THE ITEM IS NOT AT FULL DURABILITY.
mcm.getInstance().repairCheck(player, is, block); mcm.getInstance().repairCheck(player, is, block);
}
} }
public void onPlayerCommand(PlayerChatEvent event) { public void onPlayerCommand(PlayerChatEvent event) {
@ -277,7 +281,7 @@ public class mcPlayerListener extends PlayerListener {
} }
} }
if(split[0].equalsIgnoreCase("/a") && (player.isOp() || mcPermissions.getInstance().adminChat(player))){ if(split[0].equalsIgnoreCase("/a") && (player.isOp() || mcPermissions.getInstance().adminChat(player))){
if(!mcPermissions.getInstance().adminChat(player)){ if(!mcPermissions.getInstance().adminChat(player) && !player.isOp()){
player.sendMessage(ChatColor.YELLOW+"[mcMMO]"+ChatColor.DARK_RED +" Insufficient permissions."); player.sendMessage(ChatColor.YELLOW+"[mcMMO]"+ChatColor.DARK_RED +" Insufficient permissions.");
return; return;
} }
@ -327,7 +331,8 @@ public class mcPlayerListener extends PlayerListener {
} }
return; return;
} }
if((player.isOp() || mcPermissions.getInstance().adminChat(player)) && mcConfig.getInstance().isAdminToggled(player.getName())){ if((player.isOp() || mcPermissions.getInstance().adminChat(player))
&& mcConfig.getInstance().isAdminToggled(player.getName())){
log.log(Level.INFO, "[A]"+"<"+player.getName()+"> "+event.getMessage()); log.log(Level.INFO, "[A]"+"<"+player.getName()+"> "+event.getMessage());
event.setCancelled(true); event.setCancelled(true);
for(Player herp : plugin.getServer().getOnlinePlayers()){ for(Player herp : plugin.getServer().getOnlinePlayers()){

View File

@ -421,7 +421,7 @@ public class mcm {
player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.GRAY+ "Iron"); player.sendMessage(ChatColor.DARK_RED+"You need more "+ChatColor.GRAY+ "Iron");
} }
public boolean isSwords(ItemStack is){ public boolean isSwords(ItemStack is){
if(is.getTypeId() == 268 || is.getTypeId() == 267 || is.getTypeId() == 271 || is.getTypeId() == 283 || is.getTypeId() == 276){ if(is.getTypeId() == 268 || is.getTypeId() == 267 || is.getTypeId() == 272 || is.getTypeId() == 283 || is.getTypeId() == 276){
return true; return true;
} else { } else {
return false; return false;
@ -525,7 +525,7 @@ public class mcm {
public void playerVersusSquidChecks(EntityDamageByEntityEvent event, Player attacker, Entity x, int type){ public void playerVersusSquidChecks(EntityDamageByEntityEvent event, Player attacker, Entity x, int type){
if(x instanceof Squid){ if(x instanceof Squid){
Squid defender = (Squid)event.getEntity(); Squid defender = (Squid)event.getEntity();
if(isSwords(attacker.getItemInHand()) && defender.getHealth() > 0){ if(isSwords(attacker.getItemInHand()) && defender.getHealth() > 0 && mcPermissions.getInstance().swords(attacker)){
if(Math.random() * 10 > 9){ if(Math.random() * 10 > 9){
mcUsers.getProfile(attacker).skillUpSwords(1); mcUsers.getProfile(attacker).skillUpSwords(1);
attacker.sendMessage(ChatColor.YELLOW+"Swords skill increased by 1. Total ("+mcUsers.getProfile(attacker).getSwords()+")"); attacker.sendMessage(ChatColor.YELLOW+"Swords skill increased by 1. Total ("+mcUsers.getProfile(attacker).getSwords()+")");
@ -534,7 +534,7 @@ public class mcm {
/* /*
* UNARMED VS SQUID * UNARMED VS SQUID
*/ */
if(type == 0){ if(type == 0 && mcPermissions.getInstance().unarmed(attacker)){
if(defender.getHealth() <= 0) if(defender.getHealth() <= 0)
return; return;
if(mcUsers.getProfile(attacker).getUnarmedInt() >= 50 && mcUsers.getProfile(attacker).getUnarmedInt() < 100){ if(mcUsers.getProfile(attacker).getUnarmedInt() >= 50 && mcUsers.getProfile(attacker).getUnarmedInt() < 100){
@ -568,7 +568,7 @@ public class mcm {
} }
public void playerVersusAnimalsChecks(Entity x, Player attacker, EntityDamageByEntityEvent event, int type){ public void playerVersusAnimalsChecks(Entity x, Player attacker, EntityDamageByEntityEvent event, int type){
if(x instanceof Animals){ if(x instanceof Animals){
if(type == 0){ if(type == 0 && mcPermissions.getInstance().unarmed(attacker)){
Animals defender = (Animals)event.getEntity(); Animals defender = (Animals)event.getEntity();
if(defender.getHealth() <= 0) if(defender.getHealth() <= 0)
return; return;
@ -631,13 +631,15 @@ public class mcm {
public void playerVersusMonsterChecks(EntityDamageByEntityEvent event, Player attacker, Entity x, int type){ public void playerVersusMonsterChecks(EntityDamageByEntityEvent event, Player attacker, Entity x, int type){
if(x instanceof Monster){ if(x instanceof Monster){
Monster defender = (Monster)event.getEntity(); Monster defender = (Monster)event.getEntity();
if(isSwords(attacker.getItemInHand()) && defender.getHealth() > 0){ if(isSwords(attacker.getItemInHand())
&& defender.getHealth() > 0
&& mcPermissions.getInstance().swords(attacker)){
if(Math.random() * 10 > 9){ if(Math.random() * 10 > 9){
mcUsers.getProfile(attacker).skillUpSwords(1); mcUsers.getProfile(attacker).skillUpSwords(1);
attacker.sendMessage(ChatColor.YELLOW+"Swords skill increased by 1. Total ("+mcUsers.getProfile(attacker).getSwords()+")"); attacker.sendMessage(ChatColor.YELLOW+"Swords skill increased by 1. Total ("+mcUsers.getProfile(attacker).getSwords()+")");
} }
} }
if(type == 0){ if(type == 0 && mcPermissions.getInstance().unarmed(attacker)){
if(defender.getHealth() <= 0) if(defender.getHealth() <= 0)
return; return;
if(mcUsers.getProfile(attacker).getUnarmedInt() >= 50 && mcUsers.getProfile(attacker).getUnarmedInt() < 100){ if(mcUsers.getProfile(attacker).getUnarmedInt() >= 50 && mcUsers.getProfile(attacker).getUnarmedInt() < 100){
@ -724,14 +726,14 @@ public class mcm {
} }
} }
public void parryCheck(Player defender, EntityDamageByEntityEvent event, Entity y){ public void parryCheck(Player defender, EntityDamageByEntityEvent event, Entity y){
if(isSwords(defender.getItemInHand())){ if(isSwords(defender.getItemInHand())
&& event.getDamage() > 0
&& mcPermissions.getInstance().swords(defender)){
if(mcUsers.getProfile(defender).getSwordsInt() >= 50 && mcUsers.getProfile(defender).getSwordsInt() < 250){ if(mcUsers.getProfile(defender).getSwordsInt() >= 50 && mcUsers.getProfile(defender).getSwordsInt() < 250){
if(Math.random() * 10 > 8){ if(Math.random() * 100 > 95){
event.setCancelled(true); event.setCancelled(true);
defender.sendMessage(ChatColor.YELLOW+"*CLANG* SUCCESSFUL PARRY *CLANG*"); defender.sendMessage(ChatColor.YELLOW+"*CLANG* SUCCESSFUL PARRY *CLANG*");
defender.getItemInHand().setDurability((short) (defender.getItemInHand().getDurability() + 1)); defender.getItemInHand().setDurability((short) (defender.getItemInHand().getDurability() + 1));
mcUsers.getProfile(defender).skillUpSwords(1);
defender.sendMessage(ChatColor.YELLOW+"Swords skill increased by 1. Total ("+mcUsers.getProfile(defender).getSwords()+")");
if(y instanceof Player){ if(y instanceof Player){
Player attacker = (Player)y; Player attacker = (Player)y;
attacker.sendMessage(ChatColor.DARK_RED+"**TARGET HAS PARRIED THAT ATTACK**"); attacker.sendMessage(ChatColor.DARK_RED+"**TARGET HAS PARRIED THAT ATTACK**");
@ -740,12 +742,10 @@ public class mcm {
} }
} }
if(mcUsers.getProfile(defender).getSwordsInt() >= 250 && mcUsers.getProfile(defender).getSwordsInt() < 450){ if(mcUsers.getProfile(defender).getSwordsInt() >= 250 && mcUsers.getProfile(defender).getSwordsInt() < 450){
if(Math.random() * 10 > 6){ if(Math.random() * 100 > 90){
event.setCancelled(true); event.setCancelled(true);
defender.sendMessage(ChatColor.YELLOW+"*CLANG* SUCCESSFUL PARRY *CLANG*"); defender.sendMessage(ChatColor.YELLOW+"*CLANG* SUCCESSFUL PARRY *CLANG*");
defender.getItemInHand().setDurability((short) (defender.getItemInHand().getDurability() + 1)); defender.getItemInHand().setDurability((short) (defender.getItemInHand().getDurability() + 1));
mcUsers.getProfile(defender).skillUpSwords(1);
defender.sendMessage(ChatColor.YELLOW+"Swords skill increased by 1. Total ("+mcUsers.getProfile(defender).getSwords()+")");
if(y instanceof Player){ if(y instanceof Player){
Player attacker = (Player)y; Player attacker = (Player)y;
attacker.sendMessage(ChatColor.DARK_RED+"**TARGET HAS PARRIED THAT ATTACK**"); attacker.sendMessage(ChatColor.DARK_RED+"**TARGET HAS PARRIED THAT ATTACK**");
@ -754,12 +754,10 @@ public class mcm {
} }
} }
if(mcUsers.getProfile(defender).getSwordsInt() >= 450 && mcUsers.getProfile(defender).getSwordsInt() < 775){ if(mcUsers.getProfile(defender).getSwordsInt() >= 450 && mcUsers.getProfile(defender).getSwordsInt() < 775){
if(Math.random() * 10 > 5){ if(Math.random() * 100 > 85){
event.setCancelled(true); event.setCancelled(true);
defender.sendMessage(ChatColor.YELLOW+"*CLANG* SUCCESSFUL PARRY *CLANG*"); defender.sendMessage(ChatColor.YELLOW+"*CLANG* SUCCESSFUL PARRY *CLANG*");
defender.getItemInHand().setDurability((short) (defender.getItemInHand().getDurability() + 1)); defender.getItemInHand().setDurability((short) (defender.getItemInHand().getDurability() + 1));
mcUsers.getProfile(defender).skillUpSwords(1);
defender.sendMessage(ChatColor.YELLOW+"Swords skill increased by 1. Total ("+mcUsers.getProfile(defender).getSwords()+")");
if(y instanceof Player){ if(y instanceof Player){
Player attacker = (Player)y; Player attacker = (Player)y;
attacker.sendMessage(ChatColor.DARK_RED+"**TARGET HAS PARRIED THAT ATTACK**"); attacker.sendMessage(ChatColor.DARK_RED+"**TARGET HAS PARRIED THAT ATTACK**");
@ -768,7 +766,7 @@ public class mcm {
} }
} }
if(mcUsers.getProfile(defender).getSwordsInt() >= 775){ if(mcUsers.getProfile(defender).getSwordsInt() >= 775){
if(Math.random() * 10 > 4){ if(Math.random() * 100 > 80){
event.setCancelled(true); event.setCancelled(true);
defender.sendMessage(ChatColor.YELLOW+"*CLANG* SUCCESSFUL PARRY *CLANG*"); defender.sendMessage(ChatColor.YELLOW+"*CLANG* SUCCESSFUL PARRY *CLANG*");
defender.getItemInHand().setDurability((short) (defender.getItemInHand().getDurability() + 1)); defender.getItemInHand().setDurability((short) (defender.getItemInHand().getDurability() + 1));
@ -913,7 +911,9 @@ public class mcm {
} }
} }
public void repairCheck(Player player, ItemStack is, Block block){ public void repairCheck(Player player, ItemStack is, Block block){
if(block != null && block.getTypeId() == 42){ if(block != null
&& block.getTypeId() == 42
&& mcPermissions.getInstance().repair(player)){
short durability = is.getDurability(); short durability = is.getDurability();
if(player.getItemInHand().getDurability() > 0){ if(player.getItemInHand().getDurability() > 0){
/* /*
@ -956,6 +956,7 @@ public class mcm {
} else { } else {
player.sendMessage("That is at full durability."); player.sendMessage("That is at full durability.");
} }
player.updateInventory();
} //end if block is iron block bracket } //end if block is iron block bracket
} }
public void herbalismProcCheck(Block block, Player player){ public void herbalismProcCheck(Block block, Player player){

View File

@ -1,3 +1,3 @@
name: mcMMO name: mcMMO
main: com.bukkit.nossr50.mcMMO.mcMMO main: com.bukkit.nossr50.mcMMO.mcMMO
version: 0.5.11 version: 0.5.15