0.9.30 WIP

This commit is contained in:
nossr50 2011-04-14 20:48:54 -07:00
parent 6236e0960e
commit bc0c3c7a57
18 changed files with 680 additions and 483 deletions

View File

@ -1,5 +1,14 @@
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.9.29
Fixes critical bug involving water turning anything into clay
Version 0.9.28
Green thumb can now spread grass to dirt using seeds
Adding XP will check for level ups again
Acrobatics won't hand out XP on death anymore
Acrobatics will check plugins for the event being cancelled before handing out XP
Version 0.9.27 Version 0.9.27
Fixed Herbalism not properly receiving Triple Drops from Green Terra Fixed Herbalism not properly receiving Triple Drops from Green Terra
Fixed Herbalism not handing out any XP outside of Green Terra Fixed Herbalism not handing out any XP outside of Green Terra

View File

@ -22,7 +22,7 @@ public class mcAcrobatics {
int acrovar = PP.getAcrobaticsInt(); int acrovar = PP.getAcrobaticsInt();
if(player.isSneaking()) if(player.isSneaking())
acrovar = acrovar * 2; acrovar = acrovar * 2;
if(Math.random() * 1000 <= acrovar){ if(Math.random() * 1000 <= acrovar && !event.isCancelled()){
int threshold = 7; int threshold = 7;
if(player.isSneaking()) if(player.isSneaking())
threshold = 14; threshold = 14;
@ -34,7 +34,7 @@ public class mcAcrobatics {
*/ */
if(player.getHealth() - newDamage >= 1){ if(player.getHealth() - newDamage >= 1){
if(!event.isCancelled()) if(!event.isCancelled())
PP.addAcrobaticsGather((event.getDamage() * 8) * mcLoadProperties.xpGainMultiplier); PP.addAcrobaticsXP((event.getDamage() * 8) * mcLoadProperties.xpGainMultiplier);
mcSkills.getInstance().XpCheck(player); mcSkills.getInstance().XpCheck(player);
event.setDamage(newDamage); event.setDamage(newDamage);
if(event.getDamage() <= 0) if(event.getDamage() <= 0)
@ -45,9 +45,11 @@ public class mcAcrobatics {
player.sendMessage("**ROLL**"); player.sendMessage("**ROLL**");
} }
} }
} else if (!mcConfig.getInstance().isBlockWatched(loc.getWorld().getBlockAt(xx, y, z)) && !event.isCancelled()){ } else if (!event.isCancelled()){
PP.addAcrobaticsGather((event.getDamage() * 12) * mcLoadProperties.xpGainMultiplier); if(player.getHealth() - event.getDamage() >= 1){
mcSkills.getInstance().XpCheck(player); PP.addAcrobaticsXP((event.getDamage() * 12) * mcLoadProperties.xpGainMultiplier);
mcSkills.getInstance().XpCheck(player);
}
} }
} }
} }

View File

@ -88,13 +88,13 @@ public class mcBlockListener extends BlockListener {
if(mcm.getInstance().isAxes(inhand)){ if(mcm.getInstance().isAxes(inhand)){
if(!mcConfig.getInstance().isBlockWatched(block)){ if(!mcConfig.getInstance().isBlockWatched(block)){
mcWoodCutting.getInstance().woodCuttingProcCheck(player, block); mcWoodCutting.getInstance().woodCuttingProcCheck(player, block);
PP.addWoodcuttingGather(7 * mcLoadProperties.xpGainMultiplier); PP.addWoodcuttingXP(7 * mcLoadProperties.xpGainMultiplier);
} }
} }
} else { } else {
if(block.getData() != 5){ if(block.getData() != 5){
mcWoodCutting.getInstance().woodCuttingProcCheck(player, block); mcWoodCutting.getInstance().woodCuttingProcCheck(player, block);
PP.addWoodcuttingGather(7 * mcLoadProperties.xpGainMultiplier); PP.addWoodcuttingXP(7 * mcLoadProperties.xpGainMultiplier);
} }
} }
mcSkills.getInstance().XpCheck(player); mcSkills.getInstance().XpCheck(player);
@ -120,7 +120,7 @@ public class mcBlockListener extends BlockListener {
//XP WOODCUTTING //XP WOODCUTTING
if(!mcConfig.getInstance().isBlockWatched(block)){ if(!mcConfig.getInstance().isBlockWatched(block)){
mcWoodCutting.getInstance().woodCuttingProcCheck(player, blockx); mcWoodCutting.getInstance().woodCuttingProcCheck(player, blockx);
PP.addWoodcuttingGather(7); PP.addWoodcuttingXP(7);
} }
} }
if(blockx.getTypeId() == 18){ if(blockx.getTypeId() == 18){
@ -265,7 +265,7 @@ public class mcBlockListener extends BlockListener {
for (int cz = -radius; cz <= radius; cz++) { for (int cz = -radius; cz <= radius; cz++) {
Block block = world.getBlockAt(ox + cx, oy + cy, oz + cz); Block block = world.getBlockAt(ox + cx, oy + cy, oz + cz);
//If block is block //If block is block
if (isWater == true){ if (isWater == true && block.getType() == Material.GRAVEL){
//Change //Change
block.setType(Material.CLAY); block.setType(Material.CLAY);
return; return;

View File

@ -93,11 +93,11 @@ public class mcCombat {
if(PPd.inParty() && PPa.inParty() && mcParty.getInstance().inSameParty(attacker, defender)) if(PPd.inParty() && PPa.inParty() && mcParty.getInstance().inSameParty(attacker, defender))
return; return;
if(mcm.getInstance().isAxes(attacker.getItemInHand())) if(mcm.getInstance().isAxes(attacker.getItemInHand()))
PPa.addAxesGather((event.getDamage() * 3) * mcLoadProperties.pvpxprewardmodifier); PPa.addAxesXP((event.getDamage() * 3) * mcLoadProperties.pvpxprewardmodifier);
if(mcm.getInstance().isSwords(attacker.getItemInHand())) if(mcm.getInstance().isSwords(attacker.getItemInHand()))
PPa.addSwordsGather((event.getDamage() * 3) * mcLoadProperties.pvpxprewardmodifier); PPa.addSwordsXP((event.getDamage() * 3) * mcLoadProperties.pvpxprewardmodifier);
if(attacker.getItemInHand().getTypeId() == 0) if(attacker.getItemInHand().getTypeId() == 0)
PPa.addUnarmedGather((event.getDamage() * 3) * mcLoadProperties.pvpxprewardmodifier); PPa.addUnarmedXP((event.getDamage() * 3) * mcLoadProperties.pvpxprewardmodifier);
} }
/* /*
* CHECK FOR LEVEL UPS * CHECK FOR LEVEL UPS
@ -113,13 +113,13 @@ public class mcCombat {
} }
Squid defender = (Squid)event.getEntity(); Squid defender = (Squid)event.getEntity();
if(mcm.getInstance().isSwords(attacker.getItemInHand()) && defender.getHealth() > 0 && mcPermissions.getInstance().swords(attacker)){ if(mcm.getInstance().isSwords(attacker.getItemInHand()) && defender.getHealth() > 0 && mcPermissions.getInstance().swords(attacker)){
PPa.addSwordsGather(10 * mcLoadProperties.xpGainMultiplier); PPa.addSwordsXP(10 * mcLoadProperties.xpGainMultiplier);
} }
mcSkills.getInstance().XpCheck(attacker); mcSkills.getInstance().XpCheck(attacker);
if(mcm.getInstance().isAxes(attacker.getItemInHand()) if(mcm.getInstance().isAxes(attacker.getItemInHand())
&& defender.getHealth() > 0 && defender.getHealth() > 0
&& mcPermissions.getInstance().axes(attacker)){ && mcPermissions.getInstance().axes(attacker)){
PPa.addAxesGather(10 * mcLoadProperties.xpGainMultiplier); PPa.addAxesXP(10 * mcLoadProperties.xpGainMultiplier);
mcSkills.getInstance().XpCheck(attacker); mcSkills.getInstance().XpCheck(attacker);
} }
if(mcm.getInstance().isAxes(attacker.getItemInHand()) && mcPermissions.getInstance().axes(attacker)){ if(mcm.getInstance().isAxes(attacker.getItemInHand()) && mcPermissions.getInstance().axes(attacker)){
@ -144,7 +144,7 @@ public class mcCombat {
//XP //XP
if(defender.getHealth() != 0){ if(defender.getHealth() != 0){
PPa.addUnarmedGather(10 * mcLoadProperties.xpGainMultiplier); PPa.addUnarmedXP(10 * mcLoadProperties.xpGainMultiplier);
mcSkills.getInstance().XpCheck(attacker); mcSkills.getInstance().XpCheck(attacker);
} }
} }
@ -191,15 +191,15 @@ public class mcCombat {
&& mcPermissions.getInstance().swords(attacker)){ && mcPermissions.getInstance().swords(attacker)){
if(!mcConfig.getInstance().isMobSpawnTracked(x)){ if(!mcConfig.getInstance().isMobSpawnTracked(x)){
if(x instanceof Creeper) if(x instanceof Creeper)
PPa.addSwordsGather((event.getDamage() * 4) * mcLoadProperties.xpGainMultiplier); PPa.addSwordsXP((event.getDamage() * 4) * mcLoadProperties.xpGainMultiplier);
if(x instanceof Spider) if(x instanceof Spider)
PPa.addSwordsGather((event.getDamage() * 3) * mcLoadProperties.xpGainMultiplier); PPa.addSwordsXP((event.getDamage() * 3) * mcLoadProperties.xpGainMultiplier);
if(x instanceof Skeleton) if(x instanceof Skeleton)
PPa.addSwordsGather((event.getDamage() * 2) * mcLoadProperties.xpGainMultiplier); PPa.addSwordsXP((event.getDamage() * 2) * mcLoadProperties.xpGainMultiplier);
if(x instanceof Zombie) if(x instanceof Zombie)
PPa.addSwordsGather((event.getDamage() * 2) * mcLoadProperties.xpGainMultiplier); PPa.addSwordsXP((event.getDamage() * 2) * mcLoadProperties.xpGainMultiplier);
if(x instanceof PigZombie) if(x instanceof PigZombie)
PPa.addSwordsGather((event.getDamage() * 3) * mcLoadProperties.xpGainMultiplier); PPa.addSwordsXP((event.getDamage() * 3) * mcLoadProperties.xpGainMultiplier);
} }
mcSkills.getInstance().XpCheck(attacker); mcSkills.getInstance().XpCheck(attacker);
} }
@ -208,15 +208,15 @@ public class mcCombat {
&& mcPermissions.getInstance().axes(attacker)){ && mcPermissions.getInstance().axes(attacker)){
if(!mcConfig.getInstance().isMobSpawnTracked(x)){ if(!mcConfig.getInstance().isMobSpawnTracked(x)){
if(x instanceof Creeper) if(x instanceof Creeper)
PPa.addAxesGather((event.getDamage() * 4) * mcLoadProperties.xpGainMultiplier); PPa.addAxesXP((event.getDamage() * 4) * mcLoadProperties.xpGainMultiplier);
if(x instanceof Spider) if(x instanceof Spider)
PPa.addAxesGather((event.getDamage() * 3) * mcLoadProperties.xpGainMultiplier); PPa.addAxesXP((event.getDamage() * 3) * mcLoadProperties.xpGainMultiplier);
if(x instanceof Skeleton) if(x instanceof Skeleton)
PPa.addAxesGather((event.getDamage() * 2) * mcLoadProperties.xpGainMultiplier); PPa.addAxesXP((event.getDamage() * 2) * mcLoadProperties.xpGainMultiplier);
if(x instanceof Zombie) if(x instanceof Zombie)
PPa.addAxesGather((event.getDamage() * 2) * mcLoadProperties.xpGainMultiplier); PPa.addAxesXP((event.getDamage() * 2) * mcLoadProperties.xpGainMultiplier);
if(x instanceof PigZombie) if(x instanceof PigZombie)
PPa.addAxesGather((event.getDamage() * 3) * mcLoadProperties.xpGainMultiplier); PPa.addAxesXP((event.getDamage() * 3) * mcLoadProperties.xpGainMultiplier);
} }
mcSkills.getInstance().XpCheck(attacker); mcSkills.getInstance().XpCheck(attacker);
} }
@ -243,15 +243,15 @@ public class mcCombat {
//XP //XP
if(!mcConfig.getInstance().isMobSpawnTracked(x)){ if(!mcConfig.getInstance().isMobSpawnTracked(x)){
if(x instanceof Creeper) if(x instanceof Creeper)
PPa.addUnarmedGather((event.getDamage() * 4) * mcLoadProperties.xpGainMultiplier); PPa.addUnarmedXP((event.getDamage() * 4) * mcLoadProperties.xpGainMultiplier);
if(x instanceof Spider) if(x instanceof Spider)
PPa.addUnarmedGather((event.getDamage() * 3) * mcLoadProperties.xpGainMultiplier); PPa.addUnarmedXP((event.getDamage() * 3) * mcLoadProperties.xpGainMultiplier);
if(x instanceof Skeleton) if(x instanceof Skeleton)
PPa.addUnarmedGather((event.getDamage() * 2) * mcLoadProperties.xpGainMultiplier); PPa.addUnarmedXP((event.getDamage() * 2) * mcLoadProperties.xpGainMultiplier);
if(x instanceof Zombie) if(x instanceof Zombie)
PPa.addUnarmedGather((event.getDamage() * 2) * mcLoadProperties.xpGainMultiplier); PPa.addUnarmedXP((event.getDamage() * 2) * mcLoadProperties.xpGainMultiplier);
if(x instanceof PigZombie) if(x instanceof PigZombie)
PPa.addUnarmedGather((event.getDamage() * 3) * mcLoadProperties.xpGainMultiplier); PPa.addUnarmedXP((event.getDamage() * 3) * mcLoadProperties.xpGainMultiplier);
} }
mcSkills.getInstance().XpCheck(attacker); mcSkills.getInstance().XpCheck(attacker);
} }
@ -351,15 +351,15 @@ public class mcCombat {
//XP //XP
if(!mcConfig.getInstance().isMobSpawnTracked(x)){ if(!mcConfig.getInstance().isMobSpawnTracked(x)){
if(x instanceof Creeper) if(x instanceof Creeper)
PPa.addArcheryGather((event.getDamage() * 4) * mcLoadProperties.xpGainMultiplier); PPa.addArcheryXP((event.getDamage() * 4) * mcLoadProperties.xpGainMultiplier);
if(x instanceof Spider) if(x instanceof Spider)
PPa.addArcheryGather((event.getDamage() * 3) * mcLoadProperties.xpGainMultiplier); PPa.addArcheryXP((event.getDamage() * 3) * mcLoadProperties.xpGainMultiplier);
if(x instanceof Skeleton) if(x instanceof Skeleton)
PPa.addArcheryGather((event.getDamage() * 2) * mcLoadProperties.xpGainMultiplier); PPa.addArcheryXP((event.getDamage() * 2) * mcLoadProperties.xpGainMultiplier);
if(x instanceof Zombie) if(x instanceof Zombie)
PPa.addArcheryGather((event.getDamage() * 2) * mcLoadProperties.xpGainMultiplier); PPa.addArcheryXP((event.getDamage() * 2) * mcLoadProperties.xpGainMultiplier);
if(x instanceof PigZombie) if(x instanceof PigZombie)
PPa.addArcheryGather((event.getDamage() * 3) * mcLoadProperties.xpGainMultiplier); PPa.addArcheryXP((event.getDamage() * 3) * mcLoadProperties.xpGainMultiplier);
} }
} }
/* /*
@ -415,7 +415,7 @@ public class mcCombat {
* PVP XP * PVP XP
*/ */
if(mcLoadProperties.pvpxp && !mcParty.getInstance().inSameParty(attacker, defender)){ if(mcLoadProperties.pvpxp && !mcParty.getInstance().inSameParty(attacker, defender)){
PPa.addArcheryGather((event.getDamage() * 3) * mcLoadProperties.pvpxprewardmodifier); PPa.addArcheryXP((event.getDamage() * 3) * mcLoadProperties.pvpxprewardmodifier);
} }
/* /*
* DAZE PROC * DAZE PROC

View File

@ -8,6 +8,7 @@ import org.bukkit.craftbukkit.entity.CraftEntity;
import org.bukkit.entity.Arrow; import org.bukkit.entity.Arrow;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.entity.Wolf;
import org.bukkit.event.entity.CreatureSpawnEvent; import org.bukkit.event.entity.CreatureSpawnEvent;
import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageByProjectileEvent; import org.bukkit.event.entity.EntityDamageByProjectileEvent;
@ -70,9 +71,9 @@ public class mcEntityListener extends EntityListener {
* Entity Damage by Entity checks * Entity Damage by Entity checks
*/ */
if(event instanceof EntityDamageByEntityEvent && event.getDamage() >= 1){ if(event instanceof EntityDamageByEntityEvent && event.getDamage() >= 1){
if(event.isCancelled()){ if(event.isCancelled())
return; return;
}
EntityDamageByEntityEvent eventb = (EntityDamageByEntityEvent)event; EntityDamageByEntityEvent eventb = (EntityDamageByEntityEvent)event;
Entity e = eventb.getEntity(); //Defender Entity e = eventb.getEntity(); //Defender
Entity f = eventb.getDamager(); //Attacker Entity f = eventb.getDamager(); //Attacker
@ -209,7 +210,7 @@ public class mcEntityListener extends EntityListener {
if(PPd.getAcrobaticsInt() <= 800){ if(PPd.getAcrobaticsInt() <= 800){
if(Math.random() * 4000 <= PPd.getAcrobaticsInt()){ if(Math.random() * 4000 <= PPd.getAcrobaticsInt()){
defender.sendMessage(ChatColor.GREEN+"**DODGE**"); defender.sendMessage(ChatColor.GREEN+"**DODGE**");
PPd.addAcrobaticsGather(event.getDamage() * 12); PPd.addAcrobaticsXP(event.getDamage() * 12);
mcSkills.getInstance().XpCheck(defender); mcSkills.getInstance().XpCheck(defender);
event.setDamage(event.getDamage() / 2); event.setDamage(event.getDamage() / 2);
//Needs to do minimal damage //Needs to do minimal damage
@ -218,7 +219,7 @@ public class mcEntityListener extends EntityListener {
} }
} else if(Math.random() * 4000 <= 800) { } else if(Math.random() * 4000 <= 800) {
defender.sendMessage(ChatColor.GREEN+"**DODGE**"); defender.sendMessage(ChatColor.GREEN+"**DODGE**");
PPd.addAcrobaticsGather(event.getDamage() * 12); PPd.addAcrobaticsXP(event.getDamage() * 12);
mcSkills.getInstance().XpCheck(defender); mcSkills.getInstance().XpCheck(defender);
event.setDamage(event.getDamage() / 2); event.setDamage(event.getDamage() / 2);
//Needs to do minimal damage //Needs to do minimal damage
@ -227,8 +228,21 @@ public class mcEntityListener extends EntityListener {
} }
} }
} }
/*
* TAMING STUFF
*/
if(f instanceof Wolf){
Wolf theWolf = (Wolf)f;
if(mcTaming.getInstance().hasOwner(theWolf, plugin)){
Player wolfMaster = mcTaming.getInstance().getOwner(theWolf, plugin);
if(!event.isCancelled()){
mcUsers.getProfile(wolfMaster.getName()).addXpToSkill(event.getDamage(), "Taming");
}
}
}
} }
/* /*
* Check to see if the defender took damage so we can apply recently hurt * Check to see if the defender took damage so we can apply recently hurt
*/ */

View File

@ -74,14 +74,14 @@ public class mcExcavation {
if(PP.getExcavationInt() > 250){ if(PP.getExcavationInt() > 250){
//CHANCE TO GET EGGS //CHANCE TO GET EGGS
if(mcLoadProperties.eggs == true && Math.random() * 100 > 99){ if(mcLoadProperties.eggs == true && Math.random() * 100 > 99){
PP.addExcavationGather(10 * mcLoadProperties.xpGainMultiplier); PP.addExcavationXP(10 * mcLoadProperties.xpGainMultiplier);
mat = Material.getMaterial(344); mat = Material.getMaterial(344);
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
} }
//CHANCE TO GET APPLES //CHANCE TO GET APPLES
if(mcLoadProperties.apples == true && Math.random() * 100 > 99){ if(mcLoadProperties.apples == true && Math.random() * 100 > 99){
PP.addExcavationGather(10 * mcLoadProperties.xpGainMultiplier); PP.addExcavationXP(10 * mcLoadProperties.xpGainMultiplier);
mat = Material.getMaterial(260); mat = Material.getMaterial(260);
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
@ -90,11 +90,11 @@ public class mcExcavation {
} }
//DIRT SAND OR GRAVEL //DIRT SAND OR GRAVEL
if(type == 3 || type == 13 || type == 2 || type == 12){ if(type == 3 || type == 13 || type == 2 || type == 12){
PP.addExcavationGather(4 * mcLoadProperties.xpGainMultiplier); PP.addExcavationXP(4 * mcLoadProperties.xpGainMultiplier);
if(PP.getExcavationInt() > 750){ if(PP.getExcavationInt() > 750){
//CHANCE TO GET CAKE //CHANCE TO GET CAKE
if(mcLoadProperties.cake == true && Math.random() * 2000 > 1999){ if(mcLoadProperties.cake == true && Math.random() * 2000 > 1999){
PP.addExcavationGather(300 * mcLoadProperties.xpGainMultiplier); PP.addExcavationXP(300 * mcLoadProperties.xpGainMultiplier);
mat = Material.getMaterial(354); mat = Material.getMaterial(354);
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
@ -103,7 +103,7 @@ public class mcExcavation {
if(PP.getExcavationInt() > 350){ if(PP.getExcavationInt() > 350){
//CHANCE TO GET DIAMOND //CHANCE TO GET DIAMOND
if(mcLoadProperties.diamond == true && Math.random() * 750 > 749){ if(mcLoadProperties.diamond == true && Math.random() * 750 > 749){
PP.addExcavationGather(100 * mcLoadProperties.xpGainMultiplier); PP.addExcavationXP(100 * mcLoadProperties.xpGainMultiplier);
mat = Material.getMaterial(264); mat = Material.getMaterial(264);
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
@ -112,7 +112,7 @@ public class mcExcavation {
if(PP.getExcavationInt() > 250){ if(PP.getExcavationInt() > 250){
//CHANCE TO GET YELLOW MUSIC //CHANCE TO GET YELLOW MUSIC
if(mcLoadProperties.music == true && Math.random() * 2000 > 1999){ if(mcLoadProperties.music == true && Math.random() * 2000 > 1999){
PP.addExcavationGather(300 * mcLoadProperties.xpGainMultiplier); PP.addExcavationXP(300 * mcLoadProperties.xpGainMultiplier);
mat = Material.getMaterial(2256); mat = Material.getMaterial(2256);
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
@ -122,7 +122,7 @@ public class mcExcavation {
if(PP.getExcavationInt() > 350){ if(PP.getExcavationInt() > 350){
//CHANCE TO GET GREEN MUSIC //CHANCE TO GET GREEN MUSIC
if(mcLoadProperties.music == true && Math.random() * 2000 > 1999){ if(mcLoadProperties.music == true && Math.random() * 2000 > 1999){
PP.addExcavationGather(300 * mcLoadProperties.xpGainMultiplier); PP.addExcavationXP(300 * mcLoadProperties.xpGainMultiplier);
mat = Material.getMaterial(2257); mat = Material.getMaterial(2257);
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
@ -133,14 +133,14 @@ public class mcExcavation {
if(type == 12){ if(type == 12){
//CHANCE TO GET GLOWSTONE //CHANCE TO GET GLOWSTONE
if(mcLoadProperties.glowstone == true && PP.getExcavationInt() > 50 && Math.random() * 100 > 95){ if(mcLoadProperties.glowstone == true && PP.getExcavationInt() > 50 && Math.random() * 100 > 95){
PP.addExcavationGather(8 * mcLoadProperties.xpGainMultiplier); PP.addExcavationXP(8 * mcLoadProperties.xpGainMultiplier);
mat = Material.getMaterial(348); mat = Material.getMaterial(348);
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
} }
//CHANCE TO GET SLOWSAND //CHANCE TO GET SLOWSAND
if(mcLoadProperties.slowsand == true && PP.getExcavationInt() > 650 && Math.random() * 200 > 199){ if(mcLoadProperties.slowsand == true && PP.getExcavationInt() > 650 && Math.random() * 200 > 199){
PP.addExcavationGather(8 * mcLoadProperties.xpGainMultiplier); PP.addExcavationXP(8 * mcLoadProperties.xpGainMultiplier);
mat = Material.getMaterial(88); mat = Material.getMaterial(88);
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
@ -151,7 +151,7 @@ public class mcExcavation {
if(PP.getExcavationInt() > 50){ if(PP.getExcavationInt() > 50){
//CHANCE FOR COCOA BEANS //CHANCE FOR COCOA BEANS
if(mcLoadProperties.eggs == true && Math.random() * 75 > 74){ if(mcLoadProperties.eggs == true && Math.random() * 75 > 74){
PP.addExcavationGather(10 * mcLoadProperties.xpGainMultiplier); PP.addExcavationXP(10 * mcLoadProperties.xpGainMultiplier);
mat = Material.getMaterial(351); mat = Material.getMaterial(351);
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
is.setDurability((byte) 3); //COCOA is.setDurability((byte) 3); //COCOA
@ -160,7 +160,7 @@ public class mcExcavation {
} }
//CHANCE FOR SHROOMS //CHANCE FOR SHROOMS
if(mcLoadProperties.mushrooms == true && PP.getExcavationInt() > 500 && Math.random() * 200 > 199){ if(mcLoadProperties.mushrooms == true && PP.getExcavationInt() > 500 && Math.random() * 200 > 199){
PP.addExcavationGather(8 * mcLoadProperties.xpGainMultiplier); PP.addExcavationXP(8 * mcLoadProperties.xpGainMultiplier);
if(Math.random() * 10 > 5){ if(Math.random() * 10 > 5){
mat = Material.getMaterial(39); mat = Material.getMaterial(39);
} else { } else {
@ -171,7 +171,7 @@ public class mcExcavation {
} }
//CHANCE TO GET GLOWSTONE //CHANCE TO GET GLOWSTONE
if(mcLoadProperties.glowstone == true && PP.getExcavationInt() > 25 && Math.random() * 100 > 95){ if(mcLoadProperties.glowstone == true && PP.getExcavationInt() > 25 && Math.random() * 100 > 95){
PP.addExcavationGather(8 * mcLoadProperties.xpGainMultiplier); PP.addExcavationXP(8 * mcLoadProperties.xpGainMultiplier);
mat = Material.getMaterial(348); mat = Material.getMaterial(348);
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
@ -181,7 +181,7 @@ public class mcExcavation {
if(type == 13){ if(type == 13){
//CHANCE TO GET NETHERRACK //CHANCE TO GET NETHERRACK
if(mcLoadProperties.netherrack == true && PP.getExcavationInt() > 850 && Math.random() * 200 > 199){ if(mcLoadProperties.netherrack == true && PP.getExcavationInt() > 850 && Math.random() * 200 > 199){
PP.addExcavationGather(3 * mcLoadProperties.xpGainMultiplier); PP.addExcavationXP(3 * mcLoadProperties.xpGainMultiplier);
mat = Material.getMaterial(87); mat = Material.getMaterial(87);
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
@ -189,7 +189,7 @@ public class mcExcavation {
//CHANCE TO GET SULPHUR //CHANCE TO GET SULPHUR
if(mcLoadProperties.sulphur == true && PP.getExcavationInt() > 75){ if(mcLoadProperties.sulphur == true && PP.getExcavationInt() > 75){
if(Math.random() * 10 > 9){ if(Math.random() * 10 > 9){
PP.addExcavationGather(3 * mcLoadProperties.xpGainMultiplier); PP.addExcavationXP(3 * mcLoadProperties.xpGainMultiplier);
mat = Material.getMaterial(289); mat = Material.getMaterial(289);
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
@ -198,7 +198,7 @@ public class mcExcavation {
//CHANCE TO GET BONES //CHANCE TO GET BONES
if(mcLoadProperties.bones == true && PP.getExcavationInt() > 175){ if(mcLoadProperties.bones == true && PP.getExcavationInt() > 175){
if(Math.random() * 10 > 9){ if(Math.random() * 10 > 9){
PP.addExcavationGather(3 * mcLoadProperties.xpGainMultiplier); PP.addExcavationXP(3 * mcLoadProperties.xpGainMultiplier);
mat = Material.getMaterial(352); mat = Material.getMaterial(352);
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);

View File

@ -32,7 +32,7 @@ public class mcHerbalism {
Material mat = Material.getMaterial(296); Material mat = Material.getMaterial(296);
Location loc = block.getLocation(); Location loc = block.getLocation();
ItemStack is = new ItemStack(mat, 1, (byte)0, (byte)0); ItemStack is = new ItemStack(mat, 1, (byte)0, (byte)0);
PP.addHerbalismGather(5 * mcLoadProperties.xpGainMultiplier); PP.addHerbalismXP(5 * mcLoadProperties.xpGainMultiplier);
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
herbalismProcCheck(block, player, event); herbalismProcCheck(block, player, event);
herbalismProcCheck(block, player, event); herbalismProcCheck(block, player, event);
@ -128,7 +128,7 @@ public class mcHerbalism {
if(type == 59 && block.getData() == (byte) 0x7){ if(type == 59 && block.getData() == (byte) 0x7){
mat = Material.getMaterial(296); mat = Material.getMaterial(296);
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
PP.addHerbalismGather(5 * mcLoadProperties.xpGainMultiplier); PP.addHerbalismXP(5 * mcLoadProperties.xpGainMultiplier);
if(player != null){ if(player != null){
if(Math.random() * 1000 <= PP.getHerbalismInt()){ if(Math.random() * 1000 <= PP.getHerbalismInt()){
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
@ -172,7 +172,7 @@ public class mcHerbalism {
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
} }
} }
PP.addHerbalismGather(3 * mcLoadProperties.xpGainMultiplier); PP.addHerbalismXP(3 * mcLoadProperties.xpGainMultiplier);
} }
//Sugar Canes //Sugar Canes
if(type == 83){ if(type == 83){
@ -182,7 +182,7 @@ public class mcHerbalism {
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
} }
} }
PP.addHerbalismGather(3 * mcLoadProperties.xpGainMultiplier); PP.addHerbalismXP(3 * mcLoadProperties.xpGainMultiplier);
} }
//Pumpkins //Pumpkins
if(type == 91 || type == 86){ if(type == 91 || type == 86){
@ -193,7 +193,7 @@ public class mcHerbalism {
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
} }
} }
PP.addHerbalismGather(55 * mcLoadProperties.xpGainMultiplier); PP.addHerbalismXP(55 * mcLoadProperties.xpGainMultiplier);
} }
//Mushroom //Mushroom
if(type == 39 || type == 40){ if(type == 39 || type == 40){
@ -204,7 +204,7 @@ public class mcHerbalism {
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
} }
} }
PP.addHerbalismGather(40 * mcLoadProperties.xpGainMultiplier); PP.addHerbalismXP(40 * mcLoadProperties.xpGainMultiplier);
} }
//Flower //Flower
if(type == 37 || type == 38){ if(type == 37 || type == 38){
@ -215,7 +215,7 @@ public class mcHerbalism {
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
} }
} }
PP.addHerbalismGather(10 * mcLoadProperties.xpGainMultiplier); PP.addHerbalismXP(10 * mcLoadProperties.xpGainMultiplier);
} }
} }
mcSkills.getInstance().XpCheck(player); mcSkills.getInstance().XpCheck(player);

View File

@ -3,7 +3,7 @@ package com.gmail.nossr50;
public class mcLoadProperties { public class mcLoadProperties {
public static Boolean cocoabeans, archeryFireRateLimit, mushrooms, toolsLoseDurabilityFromAbilities, pvpxp, miningrequirespickaxe, woodcuttingrequiresaxe, pvp, eggs, apples, myspawnclearsinventory, cake, music, diamond, glowstone, slowsand, sulphur, netherrack, bones, coal, clay, anvilmessages; public static Boolean cocoabeans, archeryFireRateLimit, mushrooms, toolsLoseDurabilityFromAbilities, pvpxp, miningrequirespickaxe, woodcuttingrequiresaxe, pvp, eggs, apples, myspawnclearsinventory, cake, music, diamond, glowstone, slowsand, sulphur, netherrack, bones, coal, clay, anvilmessages;
public static String addxp, mcability, mcmmo, mcc, mcrefresh, mcitem, mcgod, stats, mmoedit, ptp, party, myspawn, setmyspawn, whois, invite, accept, clearmyspawn; public static String addxp, mcability, mcmmo, mcc, mcrefresh, mcitem, mcgod, stats, mmoedit, ptp, party, myspawn, setmyspawn, whois, invite, accept, clearmyspawn;
public static int xpGainMultiplier, superBreakerCooldown, greenTerraCooldown, gigaDrillBreakerCooldown, treeFellerCooldown, berserkCooldown, serratedStrikeCooldown, skullSplitterCooldown, abilityDurabilityLoss, feathersConsumedByChimaeraWing, pvpxprewardmodifier, repairdiamondlevel, globalxpmodifier, miningxpmodifier, repairxpmodifier, woodcuttingxpmodifier, unarmedxpmodifier, herbalismxpmodifier, excavationxpmodifier, archeryxpmodifier, swordsxpmodifier, axesxpmodifier, acrobaticsxpmodifier; public static int xpGainMultiplier, superBreakerCooldown, greenTerraCooldown, gigaDrillBreakerCooldown, treeFellerCooldown, berserkCooldown, serratedStrikeCooldown, skullSplitterCooldown, abilityDurabilityLoss, feathersConsumedByChimaeraWing, pvpxprewardmodifier, repairdiamondlevel, globalxpmodifier, tamingxpmodifier, miningxpmodifier, repairxpmodifier, woodcuttingxpmodifier, unarmedxpmodifier, herbalismxpmodifier, excavationxpmodifier, archeryxpmodifier, swordsxpmodifier, axesxpmodifier, acrobaticsxpmodifier;
public static void loadMain(){ public static void loadMain(){
String propertiesFile = mcMMO.maindirectory + "mcmmo.properties"; String propertiesFile = mcMMO.maindirectory + "mcmmo.properties";
@ -38,6 +38,7 @@ public class mcLoadProperties {
* EXPERIENCE RATE MODIFIER * EXPERIENCE RATE MODIFIER
*/ */
globalxpmodifier = properties.getInteger("globalXpModifier", 1); globalxpmodifier = properties.getInteger("globalXpModifier", 1);
tamingxpmodifier = properties.getInteger("tamingXpModifier", 2);
miningxpmodifier = properties.getInteger("miningXpModifier", 2); miningxpmodifier = properties.getInteger("miningXpModifier", 2);
repairxpmodifier = properties.getInteger("repairXpModifier", 2); repairxpmodifier = properties.getInteger("repairXpModifier", 2);
woodcuttingxpmodifier = properties.getInteger("woodcuttingXpModifier", 2); woodcuttingxpmodifier = properties.getInteger("woodcuttingXpModifier", 2);

View File

@ -118,6 +118,7 @@ public class mcMMO extends JavaPlugin {
public void addXp(Player player, String skillname, Integer newvalue){ public void addXp(Player player, String skillname, Integer newvalue){
PlayerProfile PP = mcUsers.getProfile(player.getName()); PlayerProfile PP = mcUsers.getProfile(player.getName());
PP.addXpToSkill(newvalue, skillname); PP.addXpToSkill(newvalue, skillname);
mcSkills.getInstance().XpCheck(player);
} }
public void modifySkill(Player player, String skillname, Integer newvalue){ public void modifySkill(Player player, String skillname, Integer newvalue){
PlayerProfile PP = mcUsers.getProfile(player.getName()); PlayerProfile PP = mcUsers.getProfile(player.getName());

View File

@ -163,7 +163,7 @@ public class mcMining {
xp += 40; xp += 40;
blockProcCheck(block, player); blockProcCheck(block, player);
} }
PP.addMiningGather(xp * mcLoadProperties.xpGainMultiplier); PP.addMiningXP(xp * mcLoadProperties.xpGainMultiplier);
mcSkills.getInstance().XpCheck(player); mcSkills.getInstance().XpCheck(player);
} }
/* /*
@ -318,7 +318,7 @@ public class mcMining {
block.setType(Material.AIR); block.setType(Material.AIR);
} }
if(block.getData() != (byte) 5) if(block.getData() != (byte) 5)
PP.addMiningGather(xp * mcLoadProperties.xpGainMultiplier); PP.addMiningXP(xp * mcLoadProperties.xpGainMultiplier);
mcSkills.getInstance().XpCheck(player); mcSkills.getInstance().XpCheck(player);
} }
} }

View File

@ -183,6 +183,13 @@ public class mcPermissions {
} }
return instance; return instance;
} }
public boolean taming(Player player) {
if (permissionsEnabled) {
return permission(player, "mcmmo.skills.taming");
} else {
return true;
}
}
public boolean mining(Player player) { public boolean mining(Player player) {
if (permissionsEnabled) { if (permissionsEnabled) {
return permission(player, "mcmmo.skills.mining"); return permission(player, "mcmmo.skills.mining");

View File

@ -116,15 +116,20 @@ public class mcPlayerListener extends PlayerListener {
} }
//GREEN THUMB //GREEN THUMB
if(block != null && block.getType() == Material.COBBLESTONE && player.getItemInHand().getType() == Material.SEEDS){ if(block != null && (block.getType() == Material.COBBLESTONE || block.getType() == Material.DIRT) && player.getItemInHand().getType() == Material.SEEDS){
boolean pass = false; boolean pass = false;
if(mcHerbalism.getInstance().hasSeeds(player)){ if(mcHerbalism.getInstance().hasSeeds(player)){
mcHerbalism.getInstance().removeSeeds(player); mcHerbalism.getInstance().removeSeeds(player);
if(Math.random() * 1500 <= PP.getHerbalismInt()){ if(block.getType() == Material.COBBLESTONE && Math.random() * 1500 <= PP.getHerbalismInt()){
player.sendMessage(ChatColor.GREEN+"**GREEN THUMB**"); player.sendMessage(ChatColor.GREEN+"**GREEN THUMB**");
block.setType(Material.MOSSY_COBBLESTONE); block.setType(Material.MOSSY_COBBLESTONE);
pass = true; pass = true;
} }
if(block.getType() == Material.DIRT && Math.random() * 1500 <= PP.getHerbalismInt()){
player.sendMessage(ChatColor.GREEN+"**GREEN THUMB**");
block.setType(Material.GRASS);
pass = true;
}
if(pass == false) if(pass == false)
player.sendMessage(ChatColor.RED+"**GREEN THUMB FAIL**"); player.sendMessage(ChatColor.RED+"**GREEN THUMB FAIL**");
} }
@ -368,45 +373,49 @@ public class mcPlayerListener extends PlayerListener {
player.sendMessage("Health: "+target.getHealth()+ChatColor.GRAY+" (20 is full health)"); player.sendMessage("Health: "+target.getHealth()+ChatColor.GRAY+" (20 is full health)");
player.sendMessage("OP: " + target.isOp()); player.sendMessage("OP: " + target.isOp());
player.sendMessage(ChatColor.GREEN+"mcMMO Stats for "+ChatColor.YELLOW+target.getName()); player.sendMessage(ChatColor.GREEN+"mcMMO Stats for "+ChatColor.YELLOW+target.getName());
if(mcPermissions.getInstance().taming(target))
player.sendMessage(ChatColor.YELLOW + "Taming Skill: " + ChatColor.GREEN + PPt.getTaming()+ChatColor.DARK_AQUA
+ " XP("+PPt.getTamingXP()
+"/"+PPt.getXpToLevel("taming")+")");
if(mcPermissions.getInstance().mining(target)) if(mcPermissions.getInstance().mining(target))
player.sendMessage(ChatColor.YELLOW + "Mining Skill: " + ChatColor.GREEN + PPt.getMining()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Mining Skill: " + ChatColor.GREEN + PPt.getMining()+ChatColor.DARK_AQUA
+ " XP("+PPt.getMiningGather() + " XP("+PPt.getMiningXP()
+"/"+PPt.getXpToLevel("mining")+")"); +"/"+PPt.getXpToLevel("mining")+")");
if(mcPermissions.getInstance().repair(target)) if(mcPermissions.getInstance().repair(target))
player.sendMessage(ChatColor.YELLOW + "Repair Skill: "+ ChatColor.GREEN + PPt.getRepair()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Repair Skill: "+ ChatColor.GREEN + PPt.getRepair()+ChatColor.DARK_AQUA
+ " XP("+PPt.getRepairGather() + " XP("+PPt.getRepairXP()
+"/"+PPt.getXpToLevel("repair")+")"); +"/"+PPt.getXpToLevel("repair")+")");
if(mcPermissions.getInstance().woodcutting(target)) if(mcPermissions.getInstance().woodcutting(target))
player.sendMessage(ChatColor.YELLOW + "Woodcutting Skill: "+ ChatColor.GREEN + PPt.getWoodCutting()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Woodcutting Skill: "+ ChatColor.GREEN + PPt.getWoodCutting()+ChatColor.DARK_AQUA
+ " XP("+PPt.getWoodCuttingGather() + " XP("+PPt.getWoodCuttingXP()
+"/"+PPt.getXpToLevel("woodcutting")+")"); +"/"+PPt.getXpToLevel("woodcutting")+")");
if(mcPermissions.getInstance().unarmed(target)) if(mcPermissions.getInstance().unarmed(target))
player.sendMessage(ChatColor.YELLOW + "Unarmed Skill: " + ChatColor.GREEN + PPt.getUnarmed()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Unarmed Skill: " + ChatColor.GREEN + PPt.getUnarmed()+ChatColor.DARK_AQUA
+ " XP("+PPt.getUnarmedGather() + " XP("+PPt.getUnarmedXP()
+"/"+PPt.getXpToLevel("unarmed")+")"); +"/"+PPt.getXpToLevel("unarmed")+")");
if(mcPermissions.getInstance().herbalism(target)) if(mcPermissions.getInstance().herbalism(target))
player.sendMessage(ChatColor.YELLOW + "Herbalism Skill: "+ ChatColor.GREEN + PPt.getHerbalism()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Herbalism Skill: "+ ChatColor.GREEN + PPt.getHerbalism()+ChatColor.DARK_AQUA
+ " XP("+PPt.getHerbalismGather() + " XP("+PPt.getHerbalismXP()
+"/"+PPt.getXpToLevel("herbalism")+")"); +"/"+PPt.getXpToLevel("herbalism")+")");
if(mcPermissions.getInstance().excavation(target)) if(mcPermissions.getInstance().excavation(target))
player.sendMessage(ChatColor.YELLOW + "Excavation Skill: "+ ChatColor.GREEN + PPt.getExcavation()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Excavation Skill: "+ ChatColor.GREEN + PPt.getExcavation()+ChatColor.DARK_AQUA
+ " XP("+PPt.getExcavationGather() + " XP("+PPt.getExcavationXP()
+"/"+PPt.getXpToLevel("excavation")+")"); +"/"+PPt.getXpToLevel("excavation")+")");
if(mcPermissions.getInstance().archery(target)) if(mcPermissions.getInstance().archery(target))
player.sendMessage(ChatColor.YELLOW + "Archery Skill: " + ChatColor.GREEN + PPt.getArchery()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Archery Skill: " + ChatColor.GREEN + PPt.getArchery()+ChatColor.DARK_AQUA
+ " XP("+PPt.getArcheryGather() + " XP("+PPt.getArcheryXP()
+"/"+PPt.getXpToLevel("archery")+")"); +"/"+PPt.getXpToLevel("archery")+")");
if(mcPermissions.getInstance().swords(target)) if(mcPermissions.getInstance().swords(target))
player.sendMessage(ChatColor.YELLOW + "Swords Skill: " + ChatColor.GREEN + PPt.getSwords()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Swords Skill: " + ChatColor.GREEN + PPt.getSwords()+ChatColor.DARK_AQUA
+ " XP("+PPt.getSwordsGather() + " XP("+PPt.getSwordsXP()
+"/"+PPt.getXpToLevel("swords")+")"); +"/"+PPt.getXpToLevel("swords")+")");
if(mcPermissions.getInstance().axes(target)) if(mcPermissions.getInstance().axes(target))
player.sendMessage(ChatColor.YELLOW + "Axes Skill: " + ChatColor.GREEN + PPt.getAxes()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Axes Skill: " + ChatColor.GREEN + PPt.getAxes()+ChatColor.DARK_AQUA
+ " XP("+PPt.getAxesGather() + " XP("+PPt.getAxesXP()
+"/"+PPt.getXpToLevel("axes")+")"); +"/"+PPt.getXpToLevel("axes")+")");
if(mcPermissions.getInstance().acrobatics(target)) if(mcPermissions.getInstance().acrobatics(target))
player.sendMessage(ChatColor.YELLOW + "Acrobatics Skill: " + ChatColor.GREEN + PPt.getAcrobatics()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Acrobatics Skill: " + ChatColor.GREEN + PPt.getAcrobatics()+ChatColor.DARK_AQUA
+ " XP("+PPt.getAcrobaticsGather() + " XP("+PPt.getAcrobaticsXP()
+"/"+PPt.getXpToLevel("acrobatics")+")"); +"/"+PPt.getXpToLevel("acrobatics")+")");
player.sendMessage(ChatColor.DARK_RED+"POWER LEVEL: "+ChatColor.GREEN+(mcm.getInstance().getPowerLevel(target))); player.sendMessage(ChatColor.DARK_RED+"POWER LEVEL: "+ChatColor.GREEN+(mcm.getInstance().getPowerLevel(target)));
player.sendMessage(ChatColor.GREEN+"~~COORDINATES~~"); player.sendMessage(ChatColor.GREEN+"~~COORDINATES~~");
@ -423,45 +432,50 @@ public class mcPlayerListener extends PlayerListener {
player.sendMessage(ChatColor.GREEN + "Your mcMMO Stats"); player.sendMessage(ChatColor.GREEN + "Your mcMMO Stats");
if(mcPermissions.getInstance().permissionsEnabled) if(mcPermissions.getInstance().permissionsEnabled)
player.sendMessage(ChatColor.DARK_GRAY+"If you don't have access to a skill it will not be shown here."); player.sendMessage(ChatColor.DARK_GRAY+"If you don't have access to a skill it will not be shown here.");
if(mcPermissions.getInstance().taming(player))
player.sendMessage(ChatColor.YELLOW + "Taming Skill: " + ChatColor.GREEN + PP.getTaming()+ChatColor.DARK_AQUA
+ " XP("+PP.getTamingXP()
+"/"+PP.getXpToLevel("taming")+")");
if(mcPermissions.getInstance().mining(player)) if(mcPermissions.getInstance().mining(player))
player.sendMessage(ChatColor.YELLOW + "Mining Skill: " + ChatColor.GREEN + PP.getMining()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Mining Skill: " + ChatColor.GREEN + PP.getMining()+ChatColor.DARK_AQUA
+ " XP("+PP.getMiningGather() + " XP("+PP.getMiningXP()
+"/"+PP.getXpToLevel("mining")+")"); +"/"+PP.getXpToLevel("mining")+")");
if(mcPermissions.getInstance().repair(player)) if(mcPermissions.getInstance().repair(player))
player.sendMessage(ChatColor.YELLOW + "Repair Skill: "+ ChatColor.GREEN + PP.getRepair()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Repair Skill: "+ ChatColor.GREEN + PP.getRepair()+ChatColor.DARK_AQUA
+ " XP("+PP.getRepairGather() + " XP("+PP.getRepairXP()
+"/"+PP.getXpToLevel("repair")+")"); +"/"+PP.getXpToLevel("repair")+")");
if(mcPermissions.getInstance().woodcutting(player)) if(mcPermissions.getInstance().woodcutting(player))
player.sendMessage(ChatColor.YELLOW + "Woodcutting Skill: "+ ChatColor.GREEN + PP.getWoodCutting()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Woodcutting Skill: "+ ChatColor.GREEN + PP.getWoodCutting()+ChatColor.DARK_AQUA
+ " XP("+PP.getWoodCuttingGather() + " XP("+PP.getWoodCuttingXP()
+"/"+PP.getXpToLevel("woodcutting")+")"); +"/"+PP.getXpToLevel("woodcutting")+")");
if(mcPermissions.getInstance().unarmed(player)) if(mcPermissions.getInstance().unarmed(player))
player.sendMessage(ChatColor.YELLOW + "Unarmed Skill: " + ChatColor.GREEN + PP.getUnarmed()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Unarmed Skill: " + ChatColor.GREEN + PP.getUnarmed()+ChatColor.DARK_AQUA
+ " XP("+PP.getUnarmedGather() + " XP("+PP.getUnarmedXP()
+"/"+PP.getXpToLevel("unarmed")+")"); +"/"+PP.getXpToLevel("unarmed")+")");
if(mcPermissions.getInstance().herbalism(player)) if(mcPermissions.getInstance().herbalism(player))
player.sendMessage(ChatColor.YELLOW + "Herbalism Skill: "+ ChatColor.GREEN + PP.getHerbalism()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Herbalism Skill: "+ ChatColor.GREEN + PP.getHerbalism()+ChatColor.DARK_AQUA
+ " XP("+PP.getHerbalismGather() + " XP("+PP.getHerbalismXP()
+"/"+PP.getXpToLevel("herbalism")+")"); +"/"+PP.getXpToLevel("herbalism")+")");
if(mcPermissions.getInstance().excavation(player)) if(mcPermissions.getInstance().excavation(player))
player.sendMessage(ChatColor.YELLOW + "Excavation Skill: "+ ChatColor.GREEN + PP.getExcavation()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Excavation Skill: "+ ChatColor.GREEN + PP.getExcavation()+ChatColor.DARK_AQUA
+ " XP("+PP.getExcavationGather() + " XP("+PP.getExcavationXP()
+"/"+PP.getXpToLevel("excavation")+")"); +"/"+PP.getXpToLevel("excavation")+")");
if(mcPermissions.getInstance().archery(player)) if(mcPermissions.getInstance().archery(player))
player.sendMessage(ChatColor.YELLOW + "Archery Skill: " + ChatColor.GREEN + PP.getArchery()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Archery Skill: " + ChatColor.GREEN + PP.getArchery()+ChatColor.DARK_AQUA
+ " XP("+PP.getArcheryGather() + " XP("+PP.getArcheryXP()
+"/"+PP.getXpToLevel("archery")+")"); +"/"+PP.getXpToLevel("archery")+")");
if(mcPermissions.getInstance().swords(player)) if(mcPermissions.getInstance().swords(player))
player.sendMessage(ChatColor.YELLOW + "Swords Skill: " + ChatColor.GREEN + PP.getSwords()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Swords Skill: " + ChatColor.GREEN + PP.getSwords()+ChatColor.DARK_AQUA
+ " XP("+PP.getSwordsGather() + " XP("+PP.getSwordsXP()
+"/"+PP.getXpToLevel("swords")+")"); +"/"+PP.getXpToLevel("swords")+")");
if(mcPermissions.getInstance().axes(player)) if(mcPermissions.getInstance().axes(player))
player.sendMessage(ChatColor.YELLOW + "Axes Skill: " + ChatColor.GREEN + PP.getAxes()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Axes Skill: " + ChatColor.GREEN + PP.getAxes()+ChatColor.DARK_AQUA
+ " XP("+PP.getAxesGather() + " XP("+PP.getAxesXP()
+"/"+PP.getXpToLevel("axes")+")"); +"/"+PP.getXpToLevel("axes")+")");
if(mcPermissions.getInstance().acrobatics(player)) if(mcPermissions.getInstance().acrobatics(player))
player.sendMessage(ChatColor.YELLOW + "Acrobatics Skill: " + ChatColor.GREEN + PP.getAcrobatics()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Acrobatics Skill: " + ChatColor.GREEN + PP.getAcrobatics()+ChatColor.DARK_AQUA
+ " XP("+PP.getAcrobaticsGather() + " XP("+PP.getAcrobaticsXP()
+"/"+PP.getXpToLevel("acrobatics")+")"); +"/"+PP.getXpToLevel("acrobatics")+")");
player.sendMessage(ChatColor.DARK_RED+"POWER LEVEL: "+ChatColor.GREEN+(mcm.getInstance().getPowerLevel(player))); player.sendMessage(ChatColor.DARK_RED+"POWER LEVEL: "+ChatColor.GREEN+(mcm.getInstance().getPowerLevel(player)));
} }

View File

@ -42,7 +42,7 @@ public class mcRepair {
player.sendMessage(String.valueOf(durabilityBefore - durabilityAfter)); player.sendMessage(String.valueOf(durabilityBefore - durabilityAfter));
dif = (short) (durabilityBefore - durabilityAfter); dif = (short) (durabilityBefore - durabilityAfter);
dif = (short) (dif * 6); //Boost XP dif = (short) (dif * 6); //Boost XP
PP.addRepairGather(dif * mcLoadProperties.xpGainMultiplier); PP.addRepairXP(dif * mcLoadProperties.xpGainMultiplier);
} else if (isIronArmor(is) && hasIron(player)){ } else if (isIronArmor(is) && hasIron(player)){
/* /*
* IRON ARMOR * IRON ARMOR
@ -52,7 +52,7 @@ public class mcRepair {
durabilityAfter = player.getItemInHand().getDurability(); durabilityAfter = player.getItemInHand().getDurability();
dif = (short) (durabilityBefore - durabilityAfter); dif = (short) (durabilityBefore - durabilityAfter);
dif = (short) (dif * 2); //Boost XP dif = (short) (dif * 2); //Boost XP
PP.addRepairGather(dif * mcLoadProperties.xpGainMultiplier); PP.addRepairXP(dif * mcLoadProperties.xpGainMultiplier);
//GOLD ARMOR //GOLD ARMOR
} else if (isGoldArmor(is) && hasGold(player)){ } else if (isGoldArmor(is) && hasGold(player)){
removeGold(player); removeGold(player);
@ -60,7 +60,7 @@ public class mcRepair {
durabilityAfter = player.getItemInHand().getDurability(); durabilityAfter = player.getItemInHand().getDurability();
dif = (short) (durabilityBefore - durabilityAfter); dif = (short) (durabilityBefore - durabilityAfter);
dif = (short) (dif * 4); //Boost XP of Gold to around Iron dif = (short) (dif * 4); //Boost XP of Gold to around Iron
PP.addRepairGather(dif * mcLoadProperties.xpGainMultiplier); PP.addRepairXP(dif * mcLoadProperties.xpGainMultiplier);
} else { } else {
needMoreVespeneGas(is, player); needMoreVespeneGas(is, player);
} }
@ -86,7 +86,7 @@ public class mcRepair {
dif = (short) (dif / 2); dif = (short) (dif / 2);
if(mcm.getInstance().isHoe(is)) if(mcm.getInstance().isHoe(is))
dif = (short) (dif / 2); dif = (short) (dif / 2);
PP.addRepairGather(dif * mcLoadProperties.xpGainMultiplier); PP.addRepairXP(dif * mcLoadProperties.xpGainMultiplier);
} else if (isDiamondTools(is) && hasDiamond(player) && PP.getRepairInt() >= mcLoadProperties.repairdiamondlevel){ //Check if its diamond and the player has diamonds } else if (isDiamondTools(is) && hasDiamond(player) && PP.getRepairInt() >= mcLoadProperties.repairdiamondlevel){ //Check if its diamond and the player has diamonds
/* /*
* DIAMOND TOOLS * DIAMOND TOOLS
@ -101,7 +101,7 @@ public class mcRepair {
dif = (short) (dif / 2); dif = (short) (dif / 2);
if(mcm.getInstance().isHoe(is)) if(mcm.getInstance().isHoe(is))
dif = (short) (dif / 2); dif = (short) (dif / 2);
PP.addRepairGather(dif * mcLoadProperties.xpGainMultiplier); PP.addRepairXP(dif * mcLoadProperties.xpGainMultiplier);
} else if(isGoldTools(is) && hasGold(player)){ } else if(isGoldTools(is) && hasGold(player)){
player.getItemInHand().setDurability(getToolRepairAmount(is, player)); player.getItemInHand().setDurability(getToolRepairAmount(is, player));
removeGold(player); removeGold(player);
@ -114,7 +114,7 @@ public class mcRepair {
dif = (short) (dif / 2); dif = (short) (dif / 2);
if(mcm.getInstance().isHoe(is)) if(mcm.getInstance().isHoe(is))
dif = (short) (dif / 2); dif = (short) (dif / 2);
PP.addRepairGather(dif * mcLoadProperties.xpGainMultiplier); PP.addRepairXP(dif * mcLoadProperties.xpGainMultiplier);
} else { } else {
needMoreVespeneGas(is, player); needMoreVespeneGas(is, player);
} }

View File

@ -342,14 +342,27 @@ public class mcSkills {
} }
public void XpCheck(Player player){ public void XpCheck(Player player){
PlayerProfile PP = mcUsers.getProfile(player.getName()); PlayerProfile PP = mcUsers.getProfile(player.getName());
/*
* TAMING
*/
if(player != null && PP.getTamingXPInt() >= PP.getXpToLevel("taming")){
int skillups = 0;
while(PP.getTamingXPInt() >= PP.getXpToLevel("taming")){
skillups++;
PP.removeTamingXP(PP.getXpToLevel("taming"));
PP.skillUpTaming(1);
}
if(player != null && PP.getTaming() != null)
player.sendMessage(ChatColor.YELLOW+"Taming skill increased by "+skillups+"."+" Total ("+PP.getTaming()+")");
}
/* /*
* ACROBATICS * ACROBATICS
*/ */
if(player != null && PP.getAcrobaticsGatherInt() >= PP.getXpToLevel("acrobatics")){ if(player != null && PP.getAcrobaticsXPInt() >= PP.getXpToLevel("acrobatics")){
int skillups = 0; int skillups = 0;
while(PP.getAcrobaticsGatherInt() >= PP.getXpToLevel("acrobatics")){ while(PP.getAcrobaticsXPInt() >= PP.getXpToLevel("acrobatics")){
skillups++; skillups++;
PP.removeAcrobaticsGather(PP.getXpToLevel("acrobatics")); PP.removeAcrobaticsXP(PP.getXpToLevel("acrobatics"));
PP.skillUpAcrobatics(1); PP.skillUpAcrobatics(1);
} }
if(player != null && PP.getAcrobatics() != null) if(player != null && PP.getAcrobatics() != null)
@ -358,11 +371,11 @@ public class mcSkills {
/* /*
* ARCHERY * ARCHERY
*/ */
if(PP.getArcheryGatherInt() >= PP.getXpToLevel("archery")){ if(PP.getArcheryXPInt() >= PP.getXpToLevel("archery")){
int skillups = 0; int skillups = 0;
while(PP.getArcheryGatherInt() >= PP.getXpToLevel("archery")){ while(PP.getArcheryXPInt() >= PP.getXpToLevel("archery")){
skillups++; skillups++;
PP.removeArcheryGather(PP.getXpToLevel("archery")); PP.removeArcheryXP(PP.getXpToLevel("archery"));
PP.skillUpArchery(1); PP.skillUpArchery(1);
} }
if(player != null && PP.getArchery() != null) if(player != null && PP.getArchery() != null)
@ -371,11 +384,11 @@ public class mcSkills {
/* /*
* SWORDS * SWORDS
*/ */
if(PP.getSwordsGatherInt() >= PP.getXpToLevel("swords")){ if(PP.getSwordsXPInt() >= PP.getXpToLevel("swords")){
int skillups = 0; int skillups = 0;
while(PP.getSwordsGatherInt() >= PP.getXpToLevel("swords")){ while(PP.getSwordsXPInt() >= PP.getXpToLevel("swords")){
skillups++; skillups++;
PP.removeSwordsGather(PP.getXpToLevel("swords")); PP.removeSwordsXP(PP.getXpToLevel("swords"));
PP.skillUpSwords(1); PP.skillUpSwords(1);
} }
if(player != null && PP.getSwords() != null) if(player != null && PP.getSwords() != null)
@ -384,11 +397,11 @@ public class mcSkills {
/* /*
* AXES * AXES
*/ */
if(PP.getAxesGatherInt() >= PP.getXpToLevel("axes")){ if(PP.getAxesXPInt() >= PP.getXpToLevel("axes")){
int skillups = 0; int skillups = 0;
while(PP.getAxesGatherInt() >= PP.getXpToLevel("axes")){ while(PP.getAxesXPInt() >= PP.getXpToLevel("axes")){
skillups++; skillups++;
PP.removeAxesGather(PP.getXpToLevel("axes")); PP.removeAxesXP(PP.getXpToLevel("axes"));
PP.skillUpAxes(1); PP.skillUpAxes(1);
} }
if(player != null && PP.getAxes() != null) if(player != null && PP.getAxes() != null)
@ -397,11 +410,11 @@ public class mcSkills {
/* /*
* UNARMED * UNARMED
*/ */
if(PP.getUnarmedGatherInt() >= PP.getXpToLevel("unarmed")){ if(PP.getUnarmedXPInt() >= PP.getXpToLevel("unarmed")){
int skillups = 0; int skillups = 0;
while(PP.getUnarmedGatherInt() >= PP.getXpToLevel("unarmed")){ while(PP.getUnarmedXPInt() >= PP.getXpToLevel("unarmed")){
skillups++; skillups++;
PP.removeUnarmedGather(PP.getXpToLevel("unarmed")); PP.removeUnarmedXP(PP.getXpToLevel("unarmed"));
PP.skillUpUnarmed(1); PP.skillUpUnarmed(1);
} }
if(player != null && PP.getUnarmed() != null) if(player != null && PP.getUnarmed() != null)
@ -410,11 +423,11 @@ public class mcSkills {
/* /*
* HERBALISM * HERBALISM
*/ */
if(PP.getHerbalismGatherInt() >= PP.getXpToLevel("herbalism")){ if(PP.getHerbalismXPInt() >= PP.getXpToLevel("herbalism")){
int skillups = 0; int skillups = 0;
while(PP.getHerbalismGatherInt() >= PP.getXpToLevel("herbalism")){ while(PP.getHerbalismXPInt() >= PP.getXpToLevel("herbalism")){
skillups++; skillups++;
PP.removeHerbalismGather(PP.getXpToLevel("herbalism")); PP.removeHerbalismXP(PP.getXpToLevel("herbalism"));
PP.skillUpHerbalism(1); PP.skillUpHerbalism(1);
} }
if(player != null && PP.getHerbalism() != null) if(player != null && PP.getHerbalism() != null)
@ -423,11 +436,11 @@ public class mcSkills {
/* /*
* MINING * MINING
*/ */
if(player != null && PP.getMiningGatherInt() >= PP.getXpToLevel("mining")){ if(player != null && PP.getMiningXPInt() >= PP.getXpToLevel("mining")){
int skillups = 0; int skillups = 0;
while(PP.getMiningGatherInt() >= PP.getXpToLevel("mining")){ while(PP.getMiningXPInt() >= PP.getXpToLevel("mining")){
skillups++; skillups++;
PP.removeMiningGather(PP.getXpToLevel("mining")); PP.removeMiningXP(PP.getXpToLevel("mining"));
PP.skillUpMining(1); PP.skillUpMining(1);
} }
if(player != null && PP.getMining() != null) if(player != null && PP.getMining() != null)
@ -436,11 +449,11 @@ public class mcSkills {
/* /*
* WOODCUTTING * WOODCUTTING
*/ */
if(player != null && PP.getWoodCuttingGatherInt() >= PP.getXpToLevel("woodcutting")){ if(player != null && PP.getWoodCuttingXPInt() >= PP.getXpToLevel("woodcutting")){
int skillups = 0; int skillups = 0;
while(PP.getWoodCuttingGatherInt() >= PP.getXpToLevel("woodcutting")){ while(PP.getWoodCuttingXPInt() >= PP.getXpToLevel("woodcutting")){
skillups++; skillups++;
PP.removeWoodCuttingGather(PP.getXpToLevel("woodcutting")); PP.removeWoodCuttingXP(PP.getXpToLevel("woodcutting"));
PP.skillUpWoodCutting(1); PP.skillUpWoodCutting(1);
} }
if(player != null && PP.getWoodCutting() != null) if(player != null && PP.getWoodCutting() != null)
@ -449,11 +462,11 @@ public class mcSkills {
/* /*
* REPAIR * REPAIR
*/ */
if(PP.getRepairGatherInt() >= PP.getXpToLevel("repair")){ if(PP.getRepairXPInt() >= PP.getXpToLevel("repair")){
int skillups = 0; int skillups = 0;
while(PP.getRepairGatherInt() >= PP.getXpToLevel("repair")){ while(PP.getRepairXPInt() >= PP.getXpToLevel("repair")){
skillups++; skillups++;
PP.removeRepairGather(PP.getXpToLevel("repair")); PP.removeRepairXP(PP.getXpToLevel("repair"));
PP.skillUpRepair(1); PP.skillUpRepair(1);
} }
if(player != null && PP.getRepair() != null) if(player != null && PP.getRepair() != null)
@ -462,11 +475,11 @@ public class mcSkills {
/* /*
* EXCAVATION * EXCAVATION
*/ */
if(PP.getExcavationGatherInt() >= PP.getXpToLevel("excavation")){ if(PP.getExcavationXPInt() >= PP.getXpToLevel("excavation")){
int skillups = 0; int skillups = 0;
while(PP.getExcavationGatherInt() >= PP.getXpToLevel("excavation")){ while(PP.getExcavationXPInt() >= PP.getXpToLevel("excavation")){
skillups++; skillups++;
PP.removeExcavationGather(PP.getXpToLevel("excavation")); PP.removeExcavationXP(PP.getXpToLevel("excavation"));
PP.skillUpExcavation(1); PP.skillUpExcavation(1);
} }
if(player != null && PP.getExcavation() != null) if(player != null && PP.getExcavation() != null)
@ -478,6 +491,9 @@ public class mcSkills {
if(skillname.equals("all")){ if(skillname.equals("all")){
return true; return true;
} }
if(skillname.equals("taming")){
return true;
}
if(skillname.equals("mining")){ if(skillname.equals("mining")){
return true; return true;
} }

View File

@ -0,0 +1,47 @@
package com.gmail.nossr50;
import net.minecraft.server.EntityWolf;
import org.bukkit.craftbukkit.entity.CraftWolf;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;
public class mcTaming {
private static mcMMO plugin;
public mcTaming(mcMMO instance) {
plugin = instance;
}
private static volatile mcTaming instance;
public static mcTaming getInstance() {
if (instance == null) {
instance = new mcTaming(plugin);
}
return instance;
}
public String getOwnerName(Entity theWolf){
CraftWolf cWolf = (CraftWolf)theWolf;
EntityWolf eWolf = (EntityWolf)cWolf.getHandle();
String playerName = eWolf.v();
return playerName;
}
public boolean hasOwner(Entity theWolf, Plugin pluginx){
for(Player x : pluginx.getServer().getOnlinePlayers()){
if(x != null && x.getName().equals(getOwnerName(theWolf))){
return true;
}
}
return false;
}
public Player getOwner(Entity theWolf, Plugin pluginx){
for(Player x : pluginx.getServer().getOnlinePlayers()){
if(x != null && x.getName().equals(getOwnerName(theWolf))){
return x;
}
}
return null;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -77,9 +77,9 @@ public class mcWoodCutting {
public void treeFeller(Block block, Player player){ public void treeFeller(Block block, Player player){
PlayerProfile PP = mcUsers.getProfile(player.getName()); PlayerProfile PP = mcUsers.getProfile(player.getName());
int radius = 1; int radius = 1;
if(PP.getWoodCuttingGatherInt() >= 500) if(PP.getWoodCuttingXPInt() >= 500)
radius++; radius++;
if(PP.getWoodCuttingGatherInt() >= 950) if(PP.getWoodCuttingXPInt() >= 950)
radius++; radius++;
ArrayList<Block> blocklist = new ArrayList<Block>(); ArrayList<Block> blocklist = new ArrayList<Block>();
ArrayList<Block> toAdd = new ArrayList<Block>(); ArrayList<Block> toAdd = new ArrayList<Block>();

View File

@ -1,3 +1,3 @@
name: mcMMO name: mcMMO
main: com.gmail.nossr50.mcMMO main: com.gmail.nossr50.mcMMO
version: 0.9.27 version: 0.9.30 WIP