All changes up to 0.9.4

This commit is contained in:
nossr50 2011-03-20 11:53:24 -07:00
parent 85d698da0c
commit 8fc7c56c12
11 changed files with 199 additions and 61 deletions

View File

@ -1,5 +1,23 @@
Changelog:
#Versions without changelogs probably had very small misc fixes, like tweaks to the source code#
Version 0.9.4
Flowers won't drop wheat anymore
Signs won't trigger ability readiness anymore
Version 0.9.3
Bug stopping abilities from never wearing of may have been fixed
Changed color of "X Ability has worn off" to RED from GRAY
Super Breaker, Giga Drill Breaker, and Tree Feller now damage the tool significantly during use
Netherrack and Glowstone now give Mining XP
Netherrack and Glowstone are now effected by Super Breaker
Abilities will no longer be readied when you right click signs or beds
Chimaera Wings won't activate on blocks you can interact with and signs
Abilities now adjust their effects depending on tool quality
Superbreaker won't break things that tool couldn't normally break
Giga Drill Breaker will only give triple xp and triple drops for diamond tools, with a reduced effect for lesser tools
Skull Splitter now has a limit of opponents nearby it will strike based on your tool quality
Serrated Strikes now has a limit of opponents nearby it will strike based on your tool quality
Modified /mcmmo description to be a little bit more relevant.
Version 0.9.2
Changed priority of some of the mcMMO listeners
Now when certain abilities are activated it shouldn't say "You lower your x"

View File

@ -37,7 +37,7 @@ public class mcBlockListener extends BlockListener {
Block block = event.getBlock();
Player player = event.getPlayer();
ItemStack is = player.getItemInHand();
if(mcPermissions.getInstance().unarmed(player) && player.getItemInHand().getTypeId() == 0 && mcm.getInstance().abilityBlockCheck(block)){
if(mcPermissions.getInstance().unarmed(player) && player.getItemInHand().getTypeId() == 0 && mcm.getInstance().abilityBlockCheck(block) && mcUsers.getProfile(player).getAbilityUse()){
mcSkills.getInstance().abilityActivationCheck(player, block);
}
if(block != null && player != null && mcPermissions.getInstance().repair(player) && event.getBlock().getTypeId() == 42){
@ -70,15 +70,19 @@ public class mcBlockListener extends BlockListener {
* GIGA DRILL BREAKER CHECKS
*/
if(mcUsers.getProfile(player).getGigaDrillBreakerMode() && dmg == 0 && mcExcavation.getInstance().canBeGigaDrillBroken(block) && mcm.getInstance().isShovel(inhand)){
mcExcavation.getInstance().excavationProcCheck(block, player);
mcExcavation.getInstance().excavationProcCheck(block, player);
mcExcavation.getInstance().excavationProcCheck(block, player);
if(mcm.getInstance().getTier(player) >= 2)
mcExcavation.getInstance().excavationProcCheck(block, player);
if(mcm.getInstance().getTier(player) >= 3)
mcExcavation.getInstance().excavationProcCheck(block, player);
if(mcm.getInstance().getTier(player) >= 4)
mcExcavation.getInstance().excavationProcCheck(block, player);
Material mat = Material.getMaterial(block.getTypeId());
if(block.getTypeId() == 2)
mat = Material.DIRT;
byte type = block.getData();
ItemStack item = new ItemStack(mat, 1, (byte)0, type);
block.setType(Material.AIR);
mcm.getInstance().damageTool(player, (short) 15);
block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item);
}
/*
@ -166,6 +170,7 @@ public class mcBlockListener extends BlockListener {
blockx.setType(Material.AIR);
}
}
mcm.getInstance().damageTool(player, (short) 15);
/*
* NOTE TO SELF
* I NEED TO REMOVE TREE FELL BLOCKS FROM BEING WATCHED AFTER THIS CODE IS EXECUTED

View File

@ -499,55 +499,65 @@ public class mcCombat {
return event.getDamage() + dmg;
}
public void applyAoeDamage(Player attacker, EntityDamageByEntityEvent event, Entity x){
int targets = 0;
targets = mcm.getInstance().getTier(attacker);
for(Entity derp : x.getWorld().getEntities()){
if(mcm.getInstance().getDistance(x.getLocation(), derp.getLocation()) < 5){
if(derp instanceof Player){
Player target = (Player)derp;
if(mcParty.getInstance().inSameParty(attacker, target))
continue;
if(!target.getName().equals(attacker.getName())){
if(!target.getName().equals(attacker.getName()) && targets >= 1){
target.damage(event.getDamage() / 2);
target.sendMessage(ChatColor.DARK_RED+"Struck by CLEAVE!");
targets--;
}
}
if(derp instanceof Monster){
if(derp instanceof Monster && targets >= 1){
Monster target = (Monster)derp;
target.damage(event.getDamage() / 2);
targets--;
}
if(derp instanceof Animals){
if(derp instanceof Animals && targets >= 1){
Animals target = (Animals)derp;
target.damage(event.getDamage() / 2);
targets--;
}
}
}
}
public void applySerratedStrikes(Player attacker, EntityDamageByEntityEvent event, Entity x){
int targets = 0;
targets = mcm.getInstance().getTier(attacker);
for(Entity derp : x.getWorld().getEntities()){
if(mcm.getInstance().getDistance(x.getLocation(), derp.getLocation()) < 5){
if(derp instanceof Player){
Player target = (Player)derp;
if(mcParty.getInstance().inSameParty(attacker, target))
continue;
if(!target.getName().equals(attacker.getName())){
if(!target.getName().equals(attacker.getName()) && targets >= 1){
target.damage(event.getDamage() / 4);
target.sendMessage(ChatColor.DARK_RED+"Struck by Serrated Strikes!");
if(!mcConfig.getInstance().isBleedTracked(derp)){
mcConfig.getInstance().addBleedTrack(x);
mcUsers.getProfile(target).setBleedTicks(12);
}
targets--;
}
}
if(derp instanceof Monster){
if(derp instanceof Monster && targets >= 1){
if(!mcConfig.getInstance().isBleedTracked(derp))
mcConfig.getInstance().addBleedTrack(x);
Monster target = (Monster)derp;
target.damage(event.getDamage() / 4);
targets--;
}
if(derp instanceof Animals){
if(derp instanceof Animals && targets >= 1){
if(!mcConfig.getInstance().isBleedTracked(derp))
mcConfig.getInstance().addBleedTrack(x);
Animals target = (Animals)derp;
target.damage(event.getDamage() / 4);
targets--;
}
}
}

View File

@ -49,7 +49,7 @@ public class mcHerbalism {
mcUsers.getProfile(player).addHerbalismGather(10);
}
if(type == 37 || type == 38){
mat = Material.getMaterial(296);
mat = Material.getMaterial(block.getTypeId());
is = new ItemStack(mat, 1, (byte)0, (byte)0);
if(player != null){
if(Math.random() * 1000 <= mcUsers.getProfile(player).getHerbalismInt()){

View File

@ -26,7 +26,7 @@ public class mcItem {
public void chimaerawing(Player player){
ItemStack is = player.getItemInHand();
Block block = player.getLocation().getBlock();
if(mcPermissions.getInstance().chimaeraWing(player) && is.getTypeId() == 288){
if(mcPermissions.getInstance().chimaeraWing(player) && is.getTypeId() == 288 && mcm.getInstance().abilityBlockCheck(block)){
if(mcUsers.getProfile(player).getRecentlyHurt() == 0 && is.getAmount() >= mcLoadProperties.feathersConsumedByChimaeraWing){
Block derp = player.getLocation().getBlock();
int y = derp.getY();

View File

@ -25,7 +25,6 @@ public class mcMining {
if(!mcm.getInstance().abilityBlockCheck(block))
return;
}
int miningticks = 2;
if(mcUsers.getProfile(player).getMiningInt() >= 50)
miningticks++;
@ -57,8 +56,13 @@ public class mcMining {
Material mat = Material.getMaterial(block.getTypeId());
byte damage = 0;
ItemStack item = new ItemStack(mat, 1, (byte)0, damage);
if(block.getTypeId() != 73 && block.getTypeId() != 74 && block.getTypeId() != 56 && block.getTypeId() != 21 && block.getTypeId() != 1 && block.getTypeId() != 16)
if(block.getTypeId() != 89 && block.getTypeId() != 73 && block.getTypeId() != 74 && block.getTypeId() != 56 && block.getTypeId() != 21 && block.getTypeId() != 1 && block.getTypeId() != 16)
loc.getWorld().dropItemNaturally(loc, item);
if(block.getTypeId() == 89){
mat = Material.getMaterial(348);
item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item);
}
if(block.getTypeId() == 73 || block.getTypeId() == 74){
mat = Material.getMaterial(331);
item = new ItemStack(mat, 1, (byte)0, damage);
@ -106,6 +110,16 @@ public class mcMining {
mcUsers.getProfile(player).addMiningGather(3);
blockProcCheck(block, player);
}
//NETHERRACK
if(block.getTypeId() == 87){
mcUsers.getProfile(player).addMiningGather(3);
blockProcCheck(block, player);
}
//GLOWSTONE
if(block.getTypeId() == 89){
mcUsers.getProfile(player).addMiningGather(3);
blockProcCheck(block, player);
}
//COAL
if(block.getTypeId() == 16){
mcUsers.getProfile(player).addMiningGather(10);
@ -143,28 +157,53 @@ public class mcMining {
*/
public Boolean canBeSuperBroken(Block block){
int t = block.getTypeId();
if(t == 73 || t == 74 || t == 56 || t == 21 || t == 1 || t == 16 || t == 14 || t == 15){
if(t == 87 || t == 89 || t == 73 || t == 74 || t == 56 || t == 21 || t == 1 || t == 16 || t == 14 || t == 15){
return true;
} else {
return false;
}
}
public void SuperBreakerBlockCheck(Player player, Block block){
player.getItemInHand().setDurability((short) (player.getItemInHand().getDurability() + 1));
mcm.getInstance().damageTool(player, (short) 15);
Location loc = block.getLocation();
Material mat = Material.getMaterial(block.getTypeId());
byte damage = 0;
ItemStack item = new ItemStack(mat, 1, (byte)0, damage);
if(block.getTypeId() != 73 && block.getTypeId() != 74 && block.getTypeId() != 56 && block.getTypeId() != 21 && block.getTypeId() != 1 && block.getTypeId() != 16)
loc.getWorld().dropItemNaturally(loc, item);
if(block.getTypeId() == 1 || block.getTypeId() == 24){
if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(3);
blockProcCheck(block, player);
mcUsers.getProfile(player).addMiningGather(3);
blockProcCheck(block, player);
}
if(block.getTypeId() == 1){
mat = Material.COBBLESTONE;
} else {
mat = Material.SANDSTONE;
}
mat = Material.getMaterial(4);
item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item);
block.setType(Material.AIR);
}
//NETHERRACK
if(block.getTypeId() == 87){
if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(3);
blockProcCheck(block, player);
}
mat = Material.getMaterial(87);
item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item);
block.setType(Material.AIR);
}
//GLOWSTONE
if(block.getTypeId() == 89){
if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(3);
blockProcCheck(block, player);
}
mat = Material.getMaterial(348);
item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item);
block.setType(Material.AIR);
}
//COAL
if(block.getTypeId() == 16){
@ -175,16 +214,18 @@ public class mcMining {
mat = Material.getMaterial(263);
item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item);
block.setType(Material.AIR);
}
//GOLD
if(block.getTypeId() == 14){
if(block.getTypeId() == 14 && mcm.getInstance().getTier(player) >= 3){
if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(35);
blockProcCheck(block, player);
}
block.setType(Material.AIR);
}
//DIAMOND
if(block.getTypeId() == 56){
if(block.getTypeId() == 56 && mcm.getInstance().getTier(player) >= 3){
if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(75);
blockProcCheck(block, player);
@ -192,16 +233,18 @@ public class mcMining {
mat = Material.getMaterial(264);
item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item);
block.setType(Material.AIR);
}
//IRON
if(block.getTypeId() == 15){
if(block.getTypeId() == 15 && mcm.getInstance().getTier(player) >= 2){
if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(25);
blockProcCheck(block, player);
}
block.setType(Material.AIR);
}
//REDSTONE
if(block.getTypeId() == 73 || block.getTypeId() == 74){
if((block.getTypeId() == 73 || block.getTypeId() == 74) && mcm.getInstance().getTier(player) >= 4){
if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(15);
blockProcCheck(block, player);
@ -214,9 +257,10 @@ public class mcMining {
if(Math.random() * 10 > 5){
loc.getWorld().dropItemNaturally(loc, item);
}
block.setType(Material.AIR);
}
//LAPUS
if(block.getTypeId() == 21){
if(block.getTypeId() == 21 && mcm.getInstance().getTier(player) >= 3){
if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(40);
blockProcCheck(block, player);
@ -227,8 +271,8 @@ public class mcMining {
loc.getWorld().dropItemNaturally(loc, item);
loc.getWorld().dropItemNaturally(loc, item);
loc.getWorld().dropItemNaturally(loc, item);
block.setType(Material.AIR);
}
mcSkills.getInstance().XpCheck(player);
block.setType(Material.AIR);
}
}

View File

@ -73,7 +73,12 @@ public class mcPlayerListener extends PlayerListener {
/*
* ABILITY ACTIVATION CHECKS
*/
mcSkills.getInstance().abilityActivationCheck(player, block);
if(block != null){
if(mcm.getInstance().abilityBlockCheck(block))
mcSkills.getInstance().abilityActivationCheck(player, block);
} else {
mcSkills.getInstance().abilityActivationCheck(player, block);
}
/*
* ITEM INTERACTIONS
*/

View File

@ -221,6 +221,8 @@ public class mcSkills {
/*
* AXE PREPARATION MODE
*/
if(mcUsers.getProfile(player) == null)
mcUsers.addUser(player);
if(mcUsers.getProfile(player).getAxePreparationMode()){
mcUsers.getProfile(player).decreaseAxePreparationTicks();
if(mcUsers.getProfile(player).getAxePreparationTicks() <= 0){
@ -266,7 +268,7 @@ public class mcSkills {
if(mcUsers.getProfile(player).getSkullSplitterTicks() <= 0){
mcUsers.getProfile(player).setSkullSplitterMode(false);
mcUsers.getProfile(player).setSkullSplitterCooldown(120);
player.sendMessage(ChatColor.GRAY+"**Skull Splitter has worn off**");
player.sendMessage(ChatColor.RED+"**Skull Splitter has worn off**");
}
}
}
@ -279,7 +281,7 @@ public class mcSkills {
if(mcUsers.getProfile(player).getTreeFellerTicks() <= 0){
mcUsers.getProfile(player).setTreeFellerMode(false);
mcUsers.getProfile(player).setTreeFellerCooldown(120);
player.sendMessage(ChatColor.GRAY+"**Tree Feller has worn off**");
player.sendMessage(ChatColor.RED+"**Tree Feller has worn off**");
}
}
}
@ -292,7 +294,7 @@ public class mcSkills {
if(mcUsers.getProfile(player).getSuperBreakerTicks() <= 0){
mcUsers.getProfile(player).setSuperBreakerMode(false);
mcUsers.getProfile(player).setSuperBreakerCooldown(120);
player.sendMessage(ChatColor.GRAY+"**Super Breaker has worn off**");
player.sendMessage(ChatColor.RED+"**Super Breaker has worn off**");
}
}
}
@ -305,7 +307,7 @@ public class mcSkills {
if(mcUsers.getProfile(player).getGigaDrillBreakerTicks() <= 0){
mcUsers.getProfile(player).setGigaDrillBreakerMode(false);
mcUsers.getProfile(player).setGigaDrillBreakerCooldown(120);
player.sendMessage(ChatColor.GRAY+"**You feel spiral energy leaving you**");
player.sendMessage(ChatColor.RED+"**You feel spiral energy leaving you**");
}
}
}
@ -318,7 +320,7 @@ public class mcSkills {
if(mcUsers.getProfile(player).getSerratedStrikesTicks() <= 0){
mcUsers.getProfile(player).setSerratedStrikesMode(false);
mcUsers.getProfile(player).setSerratedStrikesCooldown(120);
player.sendMessage(ChatColor.GRAY+"**Serrated Strikes has worn off**");
player.sendMessage(ChatColor.RED+"**Serrated Strikes has worn off**");
}
}
}
@ -331,7 +333,7 @@ public class mcSkills {
if(mcUsers.getProfile(player).getBerserkTicks() <= 0){
mcUsers.getProfile(player).setBerserkMode(false);
mcUsers.getProfile(player).setBerserkCooldown(120);
player.sendMessage(ChatColor.GRAY+"**Berserk has worn off**");
player.sendMessage(ChatColor.RED+"**Berserk has worn off**");
}
}
}

View File

@ -16,6 +16,17 @@ public class mcTimer extends TimerTask{
public void run() {
Player[] playerlist = plugin.getServer().getOnlinePlayers();
for(Player player : playerlist){
if(mcUsers.getProfile(player) == null)
mcUsers.addUser(player);
/*
* MONITOR SKILLS
*/
mcSkills.getInstance().monitorSkills(player);
/*
* COOLDOWN MONITORING
*/
mcSkills.getInstance().decreaseCooldowns(player);
if(mcPermissions.getInstance().regeneration(player)){
if(thecount == 5 || thecount == 10 || thecount == 15 || thecount == 20){
if(player != null &&
@ -46,14 +57,6 @@ public class mcTimer extends TimerTask{
mcUsers.getProfile(player).decreaseLastHurt();
}
}
/*
* MONITOR SKILLS
*/
mcSkills.getInstance().monitorSkills(player);
/*
* COOLDOWN MONITORING
*/
mcSkills.getInstance().decreaseCooldowns(player);
}
if(thecount < 20){
thecount++;

View File

@ -30,6 +30,56 @@ public class mcm {
}
return instance;
}
public void damageTool(Player player, short damage){
if(player.getItemInHand().getTypeId() == 0)
return;
player.getItemInHand().setDurability((short) (player.getItemInHand().getDurability() + damage));
if(player.getItemInHand().getDurability() >= getMaxDurability(mcm.getInstance().getTier(player), player.getItemInHand())){
ItemStack[] inventory = player.getInventory().getContents();
for(ItemStack x : inventory){
if(x.getTypeId() == player.getItemInHand().getTypeId() && x.getDurability() == player.getItemInHand().getDurability()){
x.setTypeId(0);
x.setAmount(0);
player.getInventory().setContents(inventory);
return;
}
}
}
}
public Integer getTier(Player player){
int i = player.getItemInHand().getTypeId();
if(i == 268 || i == 269 || i == 270 || i == 271 || i == 290){
return 1; //WOOD
} else if (i == 272 || i == 273 || i == 274 || i == 275 || i == 291){
return 2; //STONE
} else if (i == 256 || i == 257 || i == 258 || i == 267 || i == 292){
return 3; //IRON
} else if (i == 283 || i == 284 || i == 285 || i == 286 || i == 294){
return 1; //GOLD
} else if (i == 276 || i == 277 || i == 278 || i == 279 || i == 293){
return 4; //DIAMOND
} else {
return 1; //UNRECOGNIZED
}
}
public Integer getMaxDurability(Integer tier, ItemStack item){
int id = item.getTypeId();
if(tier == 1){
if((id == 276 || id == 277 || id == 278 || id == 279 || id == 293)){
return 33;
} else {
return 60;
}
} else if (tier == 2){
return 132;
} else if (tier == 3){
return 251;
} else if (tier == 4){
return 1562;
} else {
return 0;
}
}
public double getDistance(Location loca, Location locb)
{
return Math.sqrt(Math.pow(loca.getX() - locb.getX(), 2) + Math.pow(loca.getY() - locb.getY(), 2)
@ -37,7 +87,7 @@ public class mcm {
}
public boolean abilityBlockCheck(Block block){
int i = block.getTypeId();
if(i == 25 || i == 54 || i == 69 || i == 92 || i == 77 || i == 58 || i == 61 || i == 62 || i == 42 || i == 71 || i == 64 || i == 84 || i == 324 || i == 330){
if(i == 68 || i == 355 || i == 323 || i == 25 || i == 54 || i == 69 || i == 92 || i == 77 || i == 58 || i == 61 || i == 62 || i == 42 || i == 71 || i == 64 || i == 84 || i == 324 || i == 330){
return false;
} else {
return true;
@ -503,23 +553,24 @@ public class mcm {
}
if(split[0].equalsIgnoreCase("/"+mcLoadProperties.mcmmo)){
event.setCancelled(true);
player.sendMessage(ChatColor.GRAY+"mcMMO is an RPG inspired plugin");
player.sendMessage(ChatColor.GRAY+"You can gain skills in several professions by");
player.sendMessage(ChatColor.GRAY+"doing things related to that profession.");
player.sendMessage(ChatColor.GRAY+"Mining for example will increase your mining XP.");
player.sendMessage(ChatColor.GRAY+"Wood Cutting will increase Wood Cutting, etc...");
player.sendMessage(ChatColor.GRAY+"Repairing is simple in mcMMO");
player.sendMessage(ChatColor.GRAY+"Say you want to repair an iron shovel");
player.sendMessage(ChatColor.GRAY+"start by making an anvil by combining 9 iron ingots");
player.sendMessage(ChatColor.GRAY+"on a workbench. Place the anvil and while holding the shovel");
player.sendMessage(ChatColor.GRAY+"right click the anvil to interact with it, If you have spare");
player.sendMessage(ChatColor.GRAY+"iron ingots in your inventory the item will be repaired.");
player.sendMessage(ChatColor.GRAY+"You cannot hurt other party members");
player.sendMessage(ChatColor.BLUE+"Set your own spawn with "+ChatColor.RED+"/"+mcLoadProperties.setmyspawn);
player.sendMessage(ChatColor.GREEN+"Based on your skills you will get "+ChatColor.DARK_RED+"random procs "+ChatColor.GREEN+ "when");
player.sendMessage(ChatColor.GREEN+"using your profession, like "+ChatColor.DARK_RED+"double drops "+ChatColor.GREEN+"or "+ChatColor.DARK_RED+"better repairs");
player.sendMessage(ChatColor.GREEN+"Find out mcMMO commands with /"+mcLoadProperties.mcc);
player.sendMessage(ChatColor.GREEN+"Appreciate the mod? ");
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"mcMMO"+ChatColor.RED+"[]-----");
player.sendMessage(ChatColor.YELLOW+"mcMMO is an RPG server mod for minecraft.");
player.sendMessage(ChatColor.YELLOW+"There are many skills added by mcMMO to minecraft.");
player.sendMessage(ChatColor.YELLOW+"They can do anything from giving a chance");
player.sendMessage(ChatColor.YELLOW+"for double drops to letting you break materials instantly.");
player.sendMessage(ChatColor.YELLOW+"For example, by harvesting logs from trees you will gain");
player.sendMessage(ChatColor.YELLOW+"Woodcutting xp and once you have enough xp you will gain");
player.sendMessage(ChatColor.YELLOW+"a skill level in Woodcutting. By raising this skill you will");
player.sendMessage(ChatColor.YELLOW+"be able to receive benefits like "+ChatColor.RED+"double drops");
player.sendMessage(ChatColor.YELLOW+"and increase the effects of the "+ChatColor.RED+"\"Tree Felling\""+ChatColor.YELLOW+" ability.");
player.sendMessage(ChatColor.YELLOW+"mcMMO has abilities related to the skill, skills normally");
player.sendMessage(ChatColor.YELLOW+"provide passive bonuses but they also have activated");
player.sendMessage(ChatColor.YELLOW+"abilities too. Each ability is activated by holding");
player.sendMessage(ChatColor.YELLOW+"the appropriate tool and "+ChatColor.RED+"right clicking.");
player.sendMessage(ChatColor.YELLOW+"For example, if you hold a Mining Pick and right click");
player.sendMessage(ChatColor.YELLOW+"you will ready your Pickaxe, attack mining materials");
player.sendMessage(ChatColor.YELLOW+"and then "+ChatColor.RED+"Super Breaker "+ChatColor.YELLOW+"will activate.");
player.sendMessage(ChatColor.GREEN+"Find out mcMMO commands with "+ChatColor.DARK_AQUA+"/"+mcLoadProperties.mcc);
player.sendMessage(ChatColor.GREEN+"You can donate via paypal to"+ChatColor.DARK_RED+" nossr50@gmail.com");
}
if(split[0].equalsIgnoreCase("/"+mcLoadProperties.mcc)){

View File

@ -1,3 +1,3 @@
name: mcMMO
main: com.gmail.nossr50.mcMMO
version: 0.9.2
version: 0.9.4