All changes up to 0.9.10

This commit is contained in:
nossr50 2011-03-26 15:01:26 -07:00
parent bb1c85ea4a
commit 318f5876d2
17 changed files with 183 additions and 128 deletions

View File

@ -1,5 +1,27 @@
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.10
Party invites now show who they are from
Mushrooms added to Dirt/Grass excavation loot tables, drops with 500+ skill
mcMMO configuration files property setting names have been changed for readability
Fixed bug where Gold and Iron wouldn't drop anything during Super Breaker
Added /mcability info to /mcc
Potentially fixed NPE error when checking players for being in same party for PVP XP
Removed sand specific diamond drop from sand excavation loot table, Diamonds can still drop globally for sand
Added a global XP gain multiplier, increase it to increase XP gained
Reduced PVE XP for Unarmed, now identical to Axes/Swords
Changed Chat priority in mcMMO to be higher, this should help plugin conflicts
Mushroom XP raised to 40 from 10
Flower XP raised to 10 from 3
Version 0.9.9
Fixed problem where entities never got removed from the arrow retrieval list of entities
Version 0.9.8
EntityLiving shouldn't be cast to entities that are not an instance of EntityLiving
Added a null check in the timer for players being null before proceeding
Version 0.9.7 Version 0.9.7
Procs/XP Gain will no longer happen when the Entity is immune to damage (Thanks EdwardHand!) Procs/XP Gain will no longer happen when the Entity is immune to damage (Thanks EdwardHand!)
Axes critical damage versus players reduced to 150% damage from 200% damage Axes critical damage versus players reduced to 150% damage from 200% damage

View File

@ -19,7 +19,7 @@ public class mcAcrobatics {
if(!mcConfig.getInstance().isBlockWatched(loc.getWorld().getBlockAt(xx, y, z)) if(!mcConfig.getInstance().isBlockWatched(loc.getWorld().getBlockAt(xx, y, z))
&& mcPermissions.getInstance().acrobatics(player)){ && mcPermissions.getInstance().acrobatics(player)){
if(!event.isCancelled()) if(!event.isCancelled())
mcUsers.getProfile(player).addAcrobaticsGather(event.getDamage() * 8); mcUsers.getProfile(player).addAcrobaticsGather((event.getDamage() * 8) * mcLoadProperties.xpGainMultiplier);
mcSkills.getInstance().XpCheck(player); mcSkills.getInstance().XpCheck(player);
event.setCancelled(true); event.setCancelled(true);
} }
@ -32,7 +32,7 @@ public class mcAcrobatics {
&& mcPermissions.getInstance().acrobatics(player)){ && mcPermissions.getInstance().acrobatics(player)){
if(!event.isCancelled()) if(!event.isCancelled())
mcUsers.getProfile(player).addAcrobaticsGather(event.getDamage() * 8); mcUsers.getProfile(player).addAcrobaticsGather(event.getDamage() * 8);
mcUsers.getProfile(player).addAcrobaticsGather(event.getDamage() * 12); mcUsers.getProfile(player).addAcrobaticsGather((event.getDamage() * 12) * mcLoadProperties.xpGainMultiplier);
mcSkills.getInstance().XpCheck(player); mcSkills.getInstance().XpCheck(player);
mcConfig.getInstance().addBlockWatch(loc.getWorld().getBlockAt(xx, y, z)); mcConfig.getInstance().addBlockWatch(loc.getWorld().getBlockAt(xx, y, z));
if(player.getHealth() - event.getDamage() <= 0){ if(player.getHealth() - event.getDamage() <= 0){

View File

@ -15,8 +15,6 @@ import org.bukkit.event.block.BlockRightClickEvent;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.Plugin; import org.bukkit.plugin.Plugin;
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
public class mcBlockListener extends BlockListener { public class mcBlockListener extends BlockListener {
private final mcMMO plugin; private final mcMMO plugin;
@ -143,11 +141,11 @@ public class mcBlockListener extends BlockListener {
if(mcLoadProperties.woodcuttingrequiresaxe){ if(mcLoadProperties.woodcuttingrequiresaxe){
if(mcm.getInstance().isAxes(inhand)){ if(mcm.getInstance().isAxes(inhand)){
mcWoodCutting.getInstance().woodCuttingProcCheck(player, block, loc); mcWoodCutting.getInstance().woodCuttingProcCheck(player, block, loc);
mcUsers.getProfile(player).addWoodcuttingGather(7); mcUsers.getProfile(player).addWoodcuttingGather(7 * mcLoadProperties.xpGainMultiplier);
} }
} else { } else {
mcWoodCutting.getInstance().woodCuttingProcCheck(player, block, loc); mcWoodCutting.getInstance().woodCuttingProcCheck(player, block, loc);
mcUsers.getProfile(player).addWoodcuttingGather(7); mcUsers.getProfile(player).addWoodcuttingGather(7 * mcLoadProperties.xpGainMultiplier);
} }
mcSkills.getInstance().XpCheck(player); mcSkills.getInstance().XpCheck(player);
/* /*

View File

@ -92,7 +92,9 @@ public class mcCombat {
/* /*
* PVP XP * PVP XP
*/ */
if(attacker != null && defender != null && mcLoadProperties.pvpxp && !mcParty.getInstance().inSameParty(attacker, defender)){ if(attacker != null && defender != null && mcLoadProperties.pvpxp){
if(mcUsers.getProfile(defender).inParty() && mcUsers.getProfile(attacker).inParty() && mcParty.getInstance().inSameParty(attacker, defender))
return;
if(mcm.getInstance().isAxes(attacker.getItemInHand())) if(mcm.getInstance().isAxes(attacker.getItemInHand()))
mcUsers.getProfile(attacker).addAxesGather((event.getDamage() * 3) * mcLoadProperties.pvpxprewardmodifier); mcUsers.getProfile(attacker).addAxesGather((event.getDamage() * 3) * mcLoadProperties.pvpxprewardmodifier);
if(mcm.getInstance().isSwords(attacker.getItemInHand())) if(mcm.getInstance().isSwords(attacker.getItemInHand()))
@ -113,13 +115,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)){
mcUsers.getProfile(attacker).addSwordsGather(10); mcUsers.getProfile(attacker).addSwordsGather(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)){
mcUsers.getProfile(attacker).addAxesGather(10); mcUsers.getProfile(attacker).addAxesGather(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)){
@ -152,7 +154,7 @@ public class mcCombat {
} }
//XP //XP
if(defender.getHealth() != 0){ if(defender.getHealth() != 0){
mcUsers.getProfile(attacker).addUnarmedGather(10); mcUsers.getProfile(attacker).addUnarmedGather(10 * mcLoadProperties.xpGainMultiplier);
mcSkills.getInstance().XpCheck(attacker); mcSkills.getInstance().XpCheck(attacker);
} }
} }
@ -207,15 +209,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)
mcUsers.getProfile(attacker).addSwordsGather(10); mcUsers.getProfile(attacker).addSwordsGather(10 * mcLoadProperties.xpGainMultiplier);
if(x instanceof Spider) if(x instanceof Spider)
mcUsers.getProfile(attacker).addSwordsGather(7); mcUsers.getProfile(attacker).addSwordsGather(7 * mcLoadProperties.xpGainMultiplier);
if(x instanceof Skeleton) if(x instanceof Skeleton)
mcUsers.getProfile(attacker).addSwordsGather(5); mcUsers.getProfile(attacker).addSwordsGather(5 * mcLoadProperties.xpGainMultiplier);
if(x instanceof Zombie) if(x instanceof Zombie)
mcUsers.getProfile(attacker).addSwordsGather(3); mcUsers.getProfile(attacker).addSwordsGather(3 * mcLoadProperties.xpGainMultiplier);
if(x instanceof PigZombie) if(x instanceof PigZombie)
mcUsers.getProfile(attacker).addSwordsGather(7); mcUsers.getProfile(attacker).addSwordsGather(7 * mcLoadProperties.xpGainMultiplier);
} }
mcSkills.getInstance().XpCheck(attacker); mcSkills.getInstance().XpCheck(attacker);
} }
@ -223,17 +225,16 @@ public class mcCombat {
&& defender.getHealth() > 0 && defender.getHealth() > 0
&& mcPermissions.getInstance().axes(attacker)){ && mcPermissions.getInstance().axes(attacker)){
if(!mcConfig.getInstance().isMobSpawnTracked(x)){ if(!mcConfig.getInstance().isMobSpawnTracked(x)){
mcUsers.getProfile(attacker).addAxesGather(1);
if(x instanceof Creeper) if(x instanceof Creeper)
mcUsers.getProfile(attacker).addAxesGather(10); mcUsers.getProfile(attacker).addAxesGather(10 * mcLoadProperties.xpGainMultiplier);
if(x instanceof Spider) if(x instanceof Spider)
mcUsers.getProfile(attacker).addAxesGather(7); mcUsers.getProfile(attacker).addAxesGather(7 * mcLoadProperties.xpGainMultiplier);
if(x instanceof Skeleton) if(x instanceof Skeleton)
mcUsers.getProfile(attacker).addAxesGather(5); mcUsers.getProfile(attacker).addAxesGather(5 * mcLoadProperties.xpGainMultiplier);
if(x instanceof Zombie) if(x instanceof Zombie)
mcUsers.getProfile(attacker).addAxesGather(3); mcUsers.getProfile(attacker).addAxesGather(3 * mcLoadProperties.xpGainMultiplier);
if(x instanceof PigZombie) if(x instanceof PigZombie)
mcUsers.getProfile(attacker).addAxesGather(7); mcUsers.getProfile(attacker).addAxesGather(7 * mcLoadProperties.xpGainMultiplier);
} }
mcSkills.getInstance().XpCheck(attacker); mcSkills.getInstance().XpCheck(attacker);
} }
@ -268,15 +269,15 @@ public class mcCombat {
//XP //XP
if(!mcConfig.getInstance().isMobSpawnTracked(x)){ if(!mcConfig.getInstance().isMobSpawnTracked(x)){
if(x instanceof Creeper) if(x instanceof Creeper)
mcUsers.getProfile(attacker).addUnarmedGather(20); mcUsers.getProfile(attacker).addUnarmedGather(10 * mcLoadProperties.xpGainMultiplier);
if(x instanceof Spider) if(x instanceof Spider)
mcUsers.getProfile(attacker).addUnarmedGather(15); mcUsers.getProfile(attacker).addUnarmedGather(7 * mcLoadProperties.xpGainMultiplier);
if(x instanceof Skeleton) if(x instanceof Skeleton)
mcUsers.getProfile(attacker).addUnarmedGather(10); mcUsers.getProfile(attacker).addUnarmedGather(5 * mcLoadProperties.xpGainMultiplier);
if(x instanceof Zombie) if(x instanceof Zombie)
mcUsers.getProfile(attacker).addUnarmedGather(5); mcUsers.getProfile(attacker).addUnarmedGather(3 * mcLoadProperties.xpGainMultiplier);
if(x instanceof PigZombie) if(x instanceof PigZombie)
mcUsers.getProfile(attacker).addUnarmedGather(15); mcUsers.getProfile(attacker).addUnarmedGather(7 * mcLoadProperties.xpGainMultiplier);
} }
mcSkills.getInstance().XpCheck(attacker); mcSkills.getInstance().XpCheck(attacker);
} }
@ -358,22 +359,21 @@ public class mcCombat {
//XP //XP
if(!mcConfig.getInstance().isMobSpawnTracked(x)){ if(!mcConfig.getInstance().isMobSpawnTracked(x)){
if(x instanceof Creeper) if(x instanceof Creeper)
mcUsers.getProfile(attacker).addArcheryGather(10); mcUsers.getProfile(attacker).addArcheryGather(10 * mcLoadProperties.xpGainMultiplier);
if(x instanceof Spider) if(x instanceof Spider)
mcUsers.getProfile(attacker).addArcheryGather(7); mcUsers.getProfile(attacker).addArcheryGather(7 * mcLoadProperties.xpGainMultiplier);
if(x instanceof Skeleton) if(x instanceof Skeleton)
mcUsers.getProfile(attacker).addArcheryGather(5); mcUsers.getProfile(attacker).addArcheryGather(5 * mcLoadProperties.xpGainMultiplier);
if(x instanceof Zombie) if(x instanceof Zombie)
mcUsers.getProfile(attacker).addArcheryGather(3); mcUsers.getProfile(attacker).addArcheryGather(3 * mcLoadProperties.xpGainMultiplier);
if(x instanceof PigZombie) if(x instanceof PigZombie)
mcUsers.getProfile(attacker).addArcheryGather(7); mcUsers.getProfile(attacker).addArcheryGather(7 * mcLoadProperties.xpGainMultiplier);
} }
} }
/* /*
* Defender is Animals * Defender is Animals
*/ */
if(x instanceof Animals){ if(x instanceof Animals){
Animals defender = (Animals)x;
if(mcUsers.getProfile(attacker).getArcheryInt() >= 50 && mcUsers.getProfile(attacker).getArcheryInt() < 250) if(mcUsers.getProfile(attacker).getArcheryInt() >= 50 && mcUsers.getProfile(attacker).getArcheryInt() < 250)
event.setDamage(calculateDamage(event, 1)); event.setDamage(calculateDamage(event, 1));
if(mcUsers.getProfile(attacker).getArcheryInt() >= 250 && mcUsers.getProfile(attacker).getArcheryInt() < 575) if(mcUsers.getProfile(attacker).getArcheryInt() >= 250 && mcUsers.getProfile(attacker).getArcheryInt() < 575)

View File

@ -31,6 +31,11 @@ public class mcConfig {
public ArrayList<Entity> getBleedTracked() {return bleedTracker;} public ArrayList<Entity> getBleedTracked() {return bleedTracker;}
public void addArrowTrack(Entity entity, Integer arrowcount) {arrowTracker.put(entity, arrowcount);} public void addArrowTrack(Entity entity, Integer arrowcount) {arrowTracker.put(entity, arrowcount);}
public Integer getArrowCount(Entity entity) {return arrowTracker.get(entity);} public Integer getArrowCount(Entity entity) {return arrowTracker.get(entity);}
public void removeArrowTracked(Entity entity){
if(arrowTracker.containsKey(entity)){
arrowTracker.remove(entity);
}
}
public void removeBleedTrack(Entity entity){ public void removeBleedTrack(Entity entity){
bleedTracker.remove(entity); bleedTracker.remove(entity);
} }

View File

@ -39,9 +39,14 @@ public class mcEntityListener extends EntityListener {
} }
} }
public void onEntityDamage(EntityDamageEvent event) { public void onEntityDamage(EntityDamageEvent event) {
/*
* CHECK FOR INVULNERABILITY
*/
if(event.getEntity() instanceof CraftEntity){
CraftEntity cEntity = (CraftEntity)event.getEntity(); CraftEntity cEntity = (CraftEntity)event.getEntity();
EntityLiving entity = (EntityLiving)cEntity.getHandle(); if(cEntity.getHandle() instanceof EntityLiving){
if(entity.noDamageTicks < entity.maxNoDamageTicks/2.0F){ EntityLiving entityliving = (EntityLiving)cEntity.getHandle();
if(entityliving.noDamageTicks < entityliving.maxNoDamageTicks/2.0F){
Entity x = event.getEntity(); Entity x = event.getEntity();
DamageCause type = event.getCause(); DamageCause type = event.getCause();
/* /*
@ -161,6 +166,8 @@ public class mcEntityListener extends EntityListener {
mcUsers.getProfile(herpderp).setRecentlyHurt(30); mcUsers.getProfile(herpderp).setRecentlyHurt(30);
} }
} }
}
}
} }
public void onEntityDeath(EntityDeathEvent event) { public void onEntityDeath(EntityDeathEvent event) {
Entity x = event.getEntity(); Entity x = event.getEntity();

View File

@ -68,20 +68,22 @@ public class mcExcavation {
Location loc = block.getLocation(); Location loc = block.getLocation();
ItemStack is = null; ItemStack is = null;
Material mat = null; Material mat = null;
if(type == 2 && mcUsers.getProfile(player).getExcavationInt() > 250){ if(type == 2){
//CHANCE TO GET EGGS if(mcUsers.getProfile(player).getExcavationInt() > 250){
if(mcLoadProperties.eggs == true && Math.random() * 100 > 99){ //CHANCE TO GET EGGS
mcUsers.getProfile(player).addExcavationGather(10); if(mcLoadProperties.eggs == true && Math.random() * 100 > 99){
mat = Material.getMaterial(344); mcUsers.getProfile(player).addExcavationGather(10 * mcLoadProperties.xpGainMultiplier);
is = new ItemStack(mat, 1, (byte)0, (byte)0); mat = Material.getMaterial(344);
loc.getWorld().dropItemNaturally(loc, is); is = new ItemStack(mat, 1, (byte)0, (byte)0);
} loc.getWorld().dropItemNaturally(loc, is);
//CHANCE TO GET APPLES }
if(mcLoadProperties.apples == true && Math.random() * 100 > 99){ //CHANCE TO GET APPLES
mcUsers.getProfile(player).addExcavationGather(10); if(mcLoadProperties.apples == true && Math.random() * 100 > 99){
mat = Material.getMaterial(260); mcUsers.getProfile(player).addExcavationGather(10 * mcLoadProperties.xpGainMultiplier);
is = new ItemStack(mat, 1, (byte)0, (byte)0); mat = Material.getMaterial(260);
loc.getWorld().dropItemNaturally(loc, is); is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is);
}
} }
} }
//DIRT SAND OR GRAVEL //DIRT SAND OR GRAVEL
@ -90,7 +92,7 @@ public class mcExcavation {
if(mcUsers.getProfile(player).getExcavationInt() > 750){ if(mcUsers.getProfile(player).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){
mcUsers.getProfile(player).addExcavationGather(300); mcUsers.getProfile(player).addExcavationGather(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);
@ -99,7 +101,7 @@ public class mcExcavation {
if(mcUsers.getProfile(player).getExcavationInt() > 350){ if(mcUsers.getProfile(player).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){
mcUsers.getProfile(player).addExcavationGather(100); mcUsers.getProfile(player).addExcavationGather(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);
@ -108,7 +110,7 @@ public class mcExcavation {
if(mcUsers.getProfile(player).getExcavationInt() > 250){ if(mcUsers.getProfile(player).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){
mcUsers.getProfile(player).addExcavationGather(300); mcUsers.getProfile(player).addExcavationGather(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);
@ -118,7 +120,7 @@ public class mcExcavation {
if(mcUsers.getProfile(player).getExcavationInt() > 350){ if(mcUsers.getProfile(player).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){
mcUsers.getProfile(player).addExcavationGather(300); mcUsers.getProfile(player).addExcavationGather(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);
@ -129,31 +131,35 @@ public class mcExcavation {
if(type == 12){ if(type == 12){
//CHANCE TO GET GLOWSTONE //CHANCE TO GET GLOWSTONE
if(mcLoadProperties.glowstone == true && mcUsers.getProfile(player).getExcavationInt() > 50 && Math.random() * 100 > 95){ if(mcLoadProperties.glowstone == true && mcUsers.getProfile(player).getExcavationInt() > 50 && Math.random() * 100 > 95){
mcUsers.getProfile(player).addExcavationGather(8); mcUsers.getProfile(player).addExcavationGather(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 && mcUsers.getProfile(player).getExcavationInt() > 650 && Math.random() * 200 > 199){ if(mcLoadProperties.slowsand == true && mcUsers.getProfile(player).getExcavationInt() > 650 && Math.random() * 200 > 199){
mcUsers.getProfile(player).addExcavationGather(8); mcUsers.getProfile(player).addExcavationGather(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);
} }
//CHANCE TO GET DIAMOND
if(mcLoadProperties.diamond == true && mcUsers.getProfile(player).getExcavationInt() > 500 && Math.random() * 500 > 499){
mcUsers.getProfile(player).addExcavationGather(100);
mat = Material.getMaterial(264);
is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is);
}
} }
//GRASS OR DIRT //GRASS OR DIRT
if((type == 2 || type == 3) && mcUsers.getProfile(player).getExcavationInt() > 25){ if(type == 2 || type == 3){
//CHANCE FOR SHROOMS
if(mcLoadProperties.mushrooms == true && mcUsers.getProfile(player).getExcavationInt() > 500 && Math.random() * 200 > 199){
mcUsers.getProfile(player).addExcavationGather(8 * mcLoadProperties.xpGainMultiplier);
if(Math.random() * 10 > 5){
mat = Material.getMaterial(39);
} else {
mat = Material.getMaterial(40);
}
is = new ItemStack(mat, 1, (byte)0, (byte)0);
loc.getWorld().dropItemNaturally(loc, is);
}
//CHANCE TO GET GLOWSTONE //CHANCE TO GET GLOWSTONE
if(mcLoadProperties.glowstone == true && Math.random() * 100 > 95){ if(mcLoadProperties.glowstone == true && mcUsers.getProfile(player).getExcavationInt() > 25 && Math.random() * 100 > 95){
mcUsers.getProfile(player).addExcavationGather(8); mcUsers.getProfile(player).addExcavationGather(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);
@ -163,7 +169,7 @@ public class mcExcavation {
if(type == 13){ if(type == 13){
//CHANCE TO GET NETHERRACK //CHANCE TO GET NETHERRACK
if(mcLoadProperties.netherrack == true && mcUsers.getProfile(player).getExcavationInt() > 850 && Math.random() * 200 > 199){ if(mcLoadProperties.netherrack == true && mcUsers.getProfile(player).getExcavationInt() > 850 && Math.random() * 200 > 199){
mcUsers.getProfile(player).addExcavationGather(3); mcUsers.getProfile(player).addExcavationGather(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);
@ -171,7 +177,7 @@ public class mcExcavation {
//CHANCE TO GET SULPHUR //CHANCE TO GET SULPHUR
if(mcLoadProperties.sulphur == true && mcUsers.getProfile(player).getExcavationInt() > 75){ if(mcLoadProperties.sulphur == true && mcUsers.getProfile(player).getExcavationInt() > 75){
if(Math.random() * 10 > 9){ if(Math.random() * 10 > 9){
mcUsers.getProfile(player).addExcavationGather(3); mcUsers.getProfile(player).addExcavationGather(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);
@ -180,7 +186,7 @@ public class mcExcavation {
//CHANCE TO GET BONES //CHANCE TO GET BONES
if(mcLoadProperties.bones == true && mcUsers.getProfile(player).getExcavationInt() > 175){ if(mcLoadProperties.bones == true && mcUsers.getProfile(player).getExcavationInt() > 175){
if(Math.random() * 10 > 9){ if(Math.random() * 10 > 9){
mcUsers.getProfile(player).addExcavationGather(3); mcUsers.getProfile(player).addExcavationGather(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

@ -27,7 +27,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);
mcUsers.getProfile(player).addHerbalismGather(5); mcUsers.getProfile(player).addHerbalismGather(5 * mcLoadProperties.xpGainMultiplier);
if(player != null){ if(player != null){
if(Math.random() * 1000 <= mcUsers.getProfile(player).getHerbalismInt()){ if(Math.random() * 1000 <= mcUsers.getProfile(player).getHerbalismInt()){
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
@ -38,6 +38,7 @@ public class mcHerbalism {
* We need to check not-wheat stuff for if it was placed by the player or not * We need to check not-wheat stuff for if it was placed by the player or not
*/ */
if(!mcConfig.getInstance().isBlockWatched(block)){ if(!mcConfig.getInstance().isBlockWatched(block)){
//Mushroom
if(type == 39 || type == 40){ if(type == 39 || type == 40){
mat = Material.getMaterial(block.getTypeId()); mat = Material.getMaterial(block.getTypeId());
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
@ -46,8 +47,9 @@ public class mcHerbalism {
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
} }
} }
mcUsers.getProfile(player).addHerbalismGather(10); mcUsers.getProfile(player).addHerbalismGather(40 * mcLoadProperties.xpGainMultiplier);
} }
//Flower
if(type == 37 || type == 38){ if(type == 37 || type == 38){
mat = Material.getMaterial(block.getTypeId()); mat = Material.getMaterial(block.getTypeId());
is = new ItemStack(mat, 1, (byte)0, (byte)0); is = new ItemStack(mat, 1, (byte)0, (byte)0);
@ -56,7 +58,7 @@ public class mcHerbalism {
loc.getWorld().dropItemNaturally(loc, is); loc.getWorld().dropItemNaturally(loc, is);
} }
} }
mcUsers.getProfile(player).addHerbalismGather(3); mcUsers.getProfile(player).addHerbalismGather(10 * mcLoadProperties.xpGainMultiplier);
} }
} }
mcSkills.getInstance().XpCheck(player); mcSkills.getInstance().XpCheck(player);

View File

@ -1,9 +1,9 @@
package com.gmail.nossr50; package com.gmail.nossr50;
public class mcLoadProperties { public class mcLoadProperties {
public static Boolean toolsLoseDurabilityFromAbilities, pvpxp, miningrequirespickaxe, woodcuttingrequiresaxe, pvp, eggs, apples, myspawnclearsinventory, cake, music, diamond, glowstone, slowsand, sulphur, netherrack, bones, coal, clay, anvilmessages; public static Boolean mushrooms, toolsLoseDurabilityFromAbilities, pvpxp, miningrequirespickaxe, woodcuttingrequiresaxe, pvp, eggs, apples, myspawnclearsinventory, cake, music, diamond, glowstone, slowsand, sulphur, netherrack, bones, coal, clay, anvilmessages;
public static String mcability, mcmmo, mcc, mcrefresh, mcitem, mcgod, stats, mmoedit, ptp, party, myspawn, setmyspawn, whois, invite, accept, clearmyspawn; public static String mcability, mcmmo, mcc, mcrefresh, mcitem, mcgod, stats, mmoedit, ptp, party, myspawn, setmyspawn, whois, invite, accept, clearmyspawn;
public static int superBreakerCooldown, 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, gigaDrillBreakerCooldown, treeFellerCooldown, berserkCooldown, serratedStrikeCooldown, skullSplitterCooldown, abilityDurabilityLoss, feathersConsumedByChimaeraWing, pvpxprewardmodifier, repairdiamondlevel, globalxpmodifier, 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";
@ -22,6 +22,8 @@ public class mcLoadProperties {
/* /*
* OTHER * OTHER
*/ */
myspawnclearsinventory = properties.getBoolean("mySpawnClearsInventory", true);
xpGainMultiplier = properties.getInteger("xpGainMultiplier", 1);
toolsLoseDurabilityFromAbilities = properties.getBoolean("toolsLoseDurabilityFromAbilities", true); toolsLoseDurabilityFromAbilities = properties.getBoolean("toolsLoseDurabilityFromAbilities", true);
abilityDurabilityLoss = properties.getInteger("abilityDurabilityLoss", 2); abilityDurabilityLoss = properties.getInteger("abilityDurabilityLoss", 2);
feathersConsumedByChimaeraWing = properties.getInteger("feathersConsumedByChimaeraWing", 10); feathersConsumedByChimaeraWing = properties.getInteger("feathersConsumedByChimaeraWing", 10);
@ -29,44 +31,44 @@ public class mcLoadProperties {
pvpxprewardmodifier = properties.getInteger("pvpXpRewardModifier", 1); pvpxprewardmodifier = properties.getInteger("pvpXpRewardModifier", 1);
miningrequirespickaxe = properties.getBoolean("miningRequiresPickaxe", true); miningrequirespickaxe = properties.getBoolean("miningRequiresPickaxe", true);
woodcuttingrequiresaxe = properties.getBoolean("woodcuttingRequiresAxe", true); woodcuttingrequiresaxe = properties.getBoolean("woodcuttingRequiresAxe", true);
repairdiamondlevel = properties.getInteger("repairdiamondlevel", 50); repairdiamondlevel = properties.getInteger("repairDiamondLevel", 50);
/* /*
* EXPERIENCE RATE MODIFIER * EXPERIENCE RATE MODIFIER
*/ */
globalxpmodifier = properties.getInteger("globalxpmodifier", 1); globalxpmodifier = properties.getInteger("globalXpModifier", 1);
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);
unarmedxpmodifier = properties.getInteger("unarmedxpmodifier", 2); unarmedxpmodifier = properties.getInteger("unarmedXpModifier", 2);
herbalismxpmodifier = properties.getInteger("herbalismxpmodifier", 2); herbalismxpmodifier = properties.getInteger("herbalismXpModifier", 2);
excavationxpmodifier = properties.getInteger("excavationxpmodifier", 2); excavationxpmodifier = properties.getInteger("excavationXpModifier", 2);
archeryxpmodifier = properties.getInteger("archeryxpmodifier", 2); archeryxpmodifier = properties.getInteger("archeryXpModifier", 2);
swordsxpmodifier = properties.getInteger("swordsxpmodifier", 2); swordsxpmodifier = properties.getInteger("swordsXpModifier", 2);
axesxpmodifier = properties.getInteger("axesxpmodifier", 2); axesxpmodifier = properties.getInteger("axesXpModifier", 2);
acrobaticsxpmodifier = properties.getInteger("acrobaticsxpmodifier", 2); acrobaticsxpmodifier = properties.getInteger("acrobaticsXpModifier", 2);
/* /*
* TOGGLE CLAY * TOGGLE CLAY
*/ */
clay = properties.getBoolean("graveltoclay", true); clay = properties.getBoolean("gravelToClay", true);
/* /*
* ANVIL MESSAGES * ANVIL MESSAGES
*/ */
anvilmessages = properties.getBoolean("anvilmessages", true); anvilmessages = properties.getBoolean("anvilMessages", true);
/* /*
* EXCAVATION LOOT TOGGLES * EXCAVATION LOOT TOGGLES
*/ */
myspawnclearsinventory = properties.getBoolean("myspawnclearsinventory", true); mushrooms = properties.getBoolean("canExcavateMushrooms", true);
glowstone = properties.getBoolean("canexcavateglowstone", true); glowstone = properties.getBoolean("canExcavateGlowstone", true);
pvp = properties.getBoolean("pvp", true); pvp = properties.getBoolean("pvp", true);
eggs = properties.getBoolean("canexcavateeggs", true); eggs = properties.getBoolean("canExcavateEggs", true);
apples = properties.getBoolean("canexcavateapples", true); apples = properties.getBoolean("canExcavateApples", true);
cake = properties.getBoolean("canexcavatecake", true); cake = properties.getBoolean("canExcavateCake", true);
music = properties.getBoolean("canexcavatemusic", true); music = properties.getBoolean("canExcavateMusic", true);
diamond = properties.getBoolean("canexcavatediamond", true); diamond = properties.getBoolean("canExcavateDiamond", true);
slowsand = properties.getBoolean("canexcavateslowsand", true); slowsand = properties.getBoolean("canExcavateSlowSand", true);
sulphur = properties.getBoolean("canexcavatesulphur", true); sulphur = properties.getBoolean("canExcavateSulphur", true);
netherrack = properties.getBoolean("canexcavatenetherrack", true); netherrack = properties.getBoolean("canExcavateNetherrack", true);
bones = properties.getBoolean("canexcavatebones", true); bones = properties.getBoolean("canExcavateBones", true);
/* /*
* CUSTOM COMMANDS * CUSTOM COMMANDS

View File

@ -67,7 +67,7 @@ public class mcMMO extends JavaPlugin {
pm.registerEvent(Event.Type.PLAYER_JOIN, playerListener, Priority.Normal, this); pm.registerEvent(Event.Type.PLAYER_JOIN, playerListener, Priority.Normal, this);
pm.registerEvent(Event.Type.PLAYER_LOGIN, playerListener, Priority.Normal, this); pm.registerEvent(Event.Type.PLAYER_LOGIN, playerListener, Priority.Normal, this);
pm.registerEvent(Event.Type.BLOCK_DAMAGED, blockListener, Priority.Highest, this); pm.registerEvent(Event.Type.BLOCK_DAMAGED, blockListener, Priority.Highest, this);
pm.registerEvent(Event.Type.PLAYER_CHAT, playerListener, Priority.Low, this); pm.registerEvent(Event.Type.PLAYER_CHAT, playerListener, Priority.Highest, this);
pm.registerEvent(Event.Type.PLAYER_COMMAND_PREPROCESS, playerListener, Priority.Normal, this); pm.registerEvent(Event.Type.PLAYER_COMMAND_PREPROCESS, playerListener, Priority.Normal, this);
pm.registerEvent(Event.Type.ENTITY_DEATH, entityListener, Priority.Normal, this); pm.registerEvent(Event.Type.ENTITY_DEATH, entityListener, Priority.Normal, this);
pm.registerEvent(Event.Type.BLOCK_FLOW, blockListener, Priority.Normal, this); pm.registerEvent(Event.Type.BLOCK_FLOW, blockListener, Priority.Normal, this);

View File

@ -110,50 +110,52 @@ public class mcMining {
} }
} }
public void miningBlockCheck(Player player, Block block){ public void miningBlockCheck(Player player, Block block){
int xp = 0;
if(block.getTypeId() == 1 || block.getTypeId() == 24){ if(block.getTypeId() == 1 || block.getTypeId() == 24){
mcUsers.getProfile(player).addMiningGather(3); xp += 3;
blockProcCheck(block, player); blockProcCheck(block, player);
} }
//NETHERRACK //NETHERRACK
if(block.getTypeId() == 87){ if(block.getTypeId() == 87){
mcUsers.getProfile(player).addMiningGather(3); xp += 3;
blockProcCheck(block, player); blockProcCheck(block, player);
} }
//GLOWSTONE //GLOWSTONE
if(block.getTypeId() == 89){ if(block.getTypeId() == 89){
mcUsers.getProfile(player).addMiningGather(3); xp += 3;
blockProcCheck(block, player); blockProcCheck(block, player);
} }
//COAL //COAL
if(block.getTypeId() == 16){ if(block.getTypeId() == 16){
mcUsers.getProfile(player).addMiningGather(10); xp += 10;
blockProcCheck(block, player); blockProcCheck(block, player);
} }
//GOLD //GOLD
if(block.getTypeId() == 14){ if(block.getTypeId() == 14){
mcUsers.getProfile(player).addMiningGather(35); xp += 35;
blockProcCheck(block, player); blockProcCheck(block, player);
} }
//DIAMOND //DIAMOND
if(block.getTypeId() == 56){ if(block.getTypeId() == 56){
mcUsers.getProfile(player).addMiningGather(75); xp += 75;
blockProcCheck(block, player); blockProcCheck(block, player);
} }
//IRON //IRON
if(block.getTypeId() == 15){ if(block.getTypeId() == 15){
mcUsers.getProfile(player).addMiningGather(25); xp += 25;
blockProcCheck(block, player); blockProcCheck(block, player);
} }
//REDSTONE //REDSTONE
if(block.getTypeId() == 73 || block.getTypeId() == 74){ if(block.getTypeId() == 73 || block.getTypeId() == 74){
mcUsers.getProfile(player).addMiningGather(15); xp += 15;
blockProcCheck(block, player); blockProcCheck(block, player);
} }
//LAPUS //LAPUS
if(block.getTypeId() == 21){ if(block.getTypeId() == 21){
mcUsers.getProfile(player).addMiningGather(40); xp += 40;
blockProcCheck(block, player); blockProcCheck(block, player);
} }
mcUsers.getProfile(player).addMiningGather(xp * mcLoadProperties.xpGainMultiplier);
mcSkills.getInstance().XpCheck(player); mcSkills.getInstance().XpCheck(player);
} }
/* /*
@ -172,11 +174,12 @@ public class mcMining {
mcm.getInstance().damageTool(player, (short) mcLoadProperties.abilityDurabilityLoss); mcm.getInstance().damageTool(player, (short) mcLoadProperties.abilityDurabilityLoss);
Location loc = block.getLocation(); Location loc = block.getLocation();
Material mat = Material.getMaterial(block.getTypeId()); Material mat = Material.getMaterial(block.getTypeId());
int xp = 0;
byte damage = 0; byte damage = 0;
ItemStack item = new ItemStack(mat, 1, (byte)0, damage); ItemStack item = new ItemStack(mat, 1, (byte)0, damage);
if(block.getTypeId() == 1 || block.getTypeId() == 24){ if(block.getTypeId() == 1 || block.getTypeId() == 24){
if(!mcConfig.getInstance().isBlockWatched(block)){ if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(3); xp += 3;
blockProcCheck(block, player); blockProcCheck(block, player);
blockProcCheck(block, player); blockProcCheck(block, player);
} }
@ -192,7 +195,7 @@ public class mcMining {
//NETHERRACK //NETHERRACK
if(block.getTypeId() == 87){ if(block.getTypeId() == 87){
if(!mcConfig.getInstance().isBlockWatched(block)){ if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(3); xp += 3;
blockProcCheck(block, player); blockProcCheck(block, player);
blockProcCheck(block, player); blockProcCheck(block, player);
} }
@ -204,7 +207,7 @@ public class mcMining {
//GLOWSTONE //GLOWSTONE
if(block.getTypeId() == 89){ if(block.getTypeId() == 89){
if(!mcConfig.getInstance().isBlockWatched(block)){ if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(3); xp += 3;
blockProcCheck(block, player); blockProcCheck(block, player);
blockProcCheck(block, player); blockProcCheck(block, player);
} }
@ -216,7 +219,7 @@ public class mcMining {
//COAL //COAL
if(block.getTypeId() == 16){ if(block.getTypeId() == 16){
if(!mcConfig.getInstance().isBlockWatched(block)){ if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(10); xp += 10;
blockProcCheck(block, player); blockProcCheck(block, player);
blockProcCheck(block, player); blockProcCheck(block, player);
} }
@ -228,16 +231,18 @@ public class mcMining {
//GOLD //GOLD
if(block.getTypeId() == 14 && mcm.getInstance().getTier(player) >= 3){ if(block.getTypeId() == 14 && mcm.getInstance().getTier(player) >= 3){
if(!mcConfig.getInstance().isBlockWatched(block)){ if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(35); xp += 35;
blockProcCheck(block, player); blockProcCheck(block, player);
blockProcCheck(block, player); blockProcCheck(block, player);
} }
item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item);
block.setType(Material.AIR); block.setType(Material.AIR);
} }
//DIAMOND //DIAMOND
if(block.getTypeId() == 56 && mcm.getInstance().getTier(player) >= 3){ if(block.getTypeId() == 56 && mcm.getInstance().getTier(player) >= 3){
if(!mcConfig.getInstance().isBlockWatched(block)){ if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(75); xp += 75;
blockProcCheck(block, player); blockProcCheck(block, player);
blockProcCheck(block, player); blockProcCheck(block, player);
} }
@ -249,16 +254,18 @@ public class mcMining {
//IRON //IRON
if(block.getTypeId() == 15 && mcm.getInstance().getTier(player) >= 2){ if(block.getTypeId() == 15 && mcm.getInstance().getTier(player) >= 2){
if(!mcConfig.getInstance().isBlockWatched(block)){ if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(25); xp += 25;
blockProcCheck(block, player); blockProcCheck(block, player);
blockProcCheck(block, player); blockProcCheck(block, player);
} }
item = new ItemStack(mat, 1, (byte)0, damage);
loc.getWorld().dropItemNaturally(loc, item);
block.setType(Material.AIR); block.setType(Material.AIR);
} }
//REDSTONE //REDSTONE
if((block.getTypeId() == 73 || block.getTypeId() == 74) && mcm.getInstance().getTier(player) >= 4){ if((block.getTypeId() == 73 || block.getTypeId() == 74) && mcm.getInstance().getTier(player) >= 4){
if(!mcConfig.getInstance().isBlockWatched(block)){ if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(15); xp += 15;
blockProcCheck(block, player); blockProcCheck(block, player);
blockProcCheck(block, player); blockProcCheck(block, player);
} }
@ -275,7 +282,7 @@ public class mcMining {
//LAPUS //LAPUS
if(block.getTypeId() == 21 && mcm.getInstance().getTier(player) >= 3){ if(block.getTypeId() == 21 && mcm.getInstance().getTier(player) >= 3){
if(!mcConfig.getInstance().isBlockWatched(block)){ if(!mcConfig.getInstance().isBlockWatched(block)){
mcUsers.getProfile(player).addMiningGather(40); xp += 40;
blockProcCheck(block, player); blockProcCheck(block, player);
blockProcCheck(block, player); blockProcCheck(block, player);
} }
@ -287,6 +294,7 @@ public class mcMining {
loc.getWorld().dropItemNaturally(loc, item); loc.getWorld().dropItemNaturally(loc, item);
block.setType(Material.AIR); block.setType(Material.AIR);
} }
mcUsers.getProfile(player).addMiningGather(xp * mcLoadProperties.xpGainMultiplier);
mcSkills.getInstance().XpCheck(player); mcSkills.getInstance().XpCheck(player);
} }
} }

View File

@ -341,7 +341,7 @@ public class mcPlayerListener extends PlayerListener {
event.setCancelled(true); event.setCancelled(true);
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().mining(player)) if(mcPermissions.getInstance().mining(player))
player.sendMessage(ChatColor.YELLOW + "Mining Skill: " + ChatColor.GREEN + mcUsers.getProfile(player).getMining()+ChatColor.DARK_AQUA player.sendMessage(ChatColor.YELLOW + "Mining Skill: " + ChatColor.GREEN + mcUsers.getProfile(player).getMining()+ChatColor.DARK_AQUA
+ " XP("+mcUsers.getProfile(player).getMiningGather() + " XP("+mcUsers.getProfile(player).getMiningGather()
@ -410,7 +410,7 @@ public class mcPlayerListener extends PlayerListener {
Player target = getPlayer(split[1]); Player target = getPlayer(split[1]);
mcUsers.getProfile(target).modifyInvite(mcUsers.getProfile(player).getParty()); mcUsers.getProfile(target).modifyInvite(mcUsers.getProfile(player).getParty());
player.sendMessage(ChatColor.GREEN+"Invite sent successfully"); player.sendMessage(ChatColor.GREEN+"Invite sent successfully");
target.sendMessage(ChatColor.RED+"ALERT: "+ChatColor.GREEN+"You have received a party invite for "+mcUsers.getProfile(target).getInvite()); target.sendMessage(ChatColor.RED+"ALERT: "+ChatColor.GREEN+"You have received a party invite for "+mcUsers.getProfile(target).getInvite()+" from "+player.getName());
target.sendMessage(ChatColor.YELLOW+"Type "+ChatColor.GREEN+"/"+mcLoadProperties.accept+ChatColor.YELLOW+" to accept the invite"); target.sendMessage(ChatColor.YELLOW+"Type "+ChatColor.GREEN+"/"+mcLoadProperties.accept+ChatColor.YELLOW+" to accept the invite");
} }
} }

View File

@ -31,19 +31,19 @@ public class mcRepair {
if(isDiamondArmor(is) && hasDiamond(player) && mcUsers.getProfile(player).getRepairInt() >= mcLoadProperties.repairdiamondlevel){ if(isDiamondArmor(is) && hasDiamond(player) && mcUsers.getProfile(player).getRepairInt() >= mcLoadProperties.repairdiamondlevel){
removeDiamond(player); removeDiamond(player);
player.getItemInHand().setDurability(getArmorRepairAmount(is, player)); player.getItemInHand().setDurability(getArmorRepairAmount(is, player));
mcUsers.getProfile(player).addRepairGather(75); mcUsers.getProfile(player).addRepairGather(75 * mcLoadProperties.xpGainMultiplier);
} else if (isIronArmor(is) && hasIron(player)){ } else if (isIronArmor(is) && hasIron(player)){
/* /*
* IRON ARMOR * IRON ARMOR
*/ */
removeIron(player); removeIron(player);
player.getItemInHand().setDurability(getArmorRepairAmount(is, player)); player.getItemInHand().setDurability(getArmorRepairAmount(is, player));
mcUsers.getProfile(player).addRepairGather(20); mcUsers.getProfile(player).addRepairGather(20 * mcLoadProperties.xpGainMultiplier);
//GOLD ARMOR //GOLD ARMOR
} else if (isGoldArmor(is) && hasGold(player)){ } else if (isGoldArmor(is) && hasGold(player)){
removeGold(player); removeGold(player);
player.getItemInHand().setDurability(getArmorRepairAmount(is, player)); player.getItemInHand().setDurability(getArmorRepairAmount(is, player));
mcUsers.getProfile(player).addRepairGather(50); mcUsers.getProfile(player).addRepairGather(50 * mcLoadProperties.xpGainMultiplier);
} else { } else {
needMoreVespeneGas(is, player); needMoreVespeneGas(is, player);
} }
@ -58,18 +58,18 @@ public class mcRepair {
if(isIronTools(is) && hasIron(player)){ if(isIronTools(is) && hasIron(player)){
is.setDurability(getToolRepairAmount(is, player)); is.setDurability(getToolRepairAmount(is, player));
removeIron(player); removeIron(player);
mcUsers.getProfile(player).addRepairGather(20); mcUsers.getProfile(player).addRepairGather(20 * mcLoadProperties.xpGainMultiplier);
} else if (isDiamondTools(is) && hasDiamond(player) && mcUsers.getProfile(player).getRepairInt() >= mcLoadProperties.repairdiamondlevel){ //Check if its diamond and the player has diamonds } else if (isDiamondTools(is) && hasDiamond(player) && mcUsers.getProfile(player).getRepairInt() >= mcLoadProperties.repairdiamondlevel){ //Check if its diamond and the player has diamonds
/* /*
* DIAMOND TOOLS * DIAMOND TOOLS
*/ */
is.setDurability(getToolRepairAmount(is, player)); is.setDurability(getToolRepairAmount(is, player));
removeDiamond(player); removeDiamond(player);
mcUsers.getProfile(player).addRepairGather(75); mcUsers.getProfile(player).addRepairGather(75 * mcLoadProperties.xpGainMultiplier);
} else if(isGoldTools(is) && hasGold(player)){ } else if(isGoldTools(is) && hasGold(player)){
is.setDurability(getToolRepairAmount(is, player)); is.setDurability(getToolRepairAmount(is, player));
removeGold(player); removeGold(player);
mcUsers.getProfile(player).addRepairGather(50); mcUsers.getProfile(player).addRepairGather(50 * mcLoadProperties.xpGainMultiplier);
} else { } else {
needMoreVespeneGas(is, player); needMoreVespeneGas(is, player);
} }
@ -325,9 +325,9 @@ public class mcRepair {
break; break;
} }
if(durability < 0) if(durability < 0)
durability = 0; durability = 0;
if(checkPlayerProcRepair(player)) if(checkPlayerProcRepair(player))
durability = 0; durability = 0;
return durability; return durability;
} }
public void needMoreVespeneGas(ItemStack is, Player player){ public void needMoreVespeneGas(ItemStack is, Player player){

View File

@ -511,5 +511,6 @@ public class mcSkills {
x++; x++;
} }
} }
mcConfig.getInstance().removeArrowTracked(entity);
} }
} }

View File

@ -16,7 +16,9 @@ public class mcTimer extends TimerTask{
public void run() { public void run() {
Player[] playerlist = plugin.getServer().getOnlinePlayers(); Player[] playerlist = plugin.getServer().getOnlinePlayers();
for(Player player : playerlist){ for(Player player : playerlist){
if(player != null && mcUsers.getProfile(player) == null) if(player == null)
continue;
if(mcUsers.getProfile(player) == null)
mcUsers.addUser(player); mcUsers.addUser(player);
/* /*
* MONITOR SKILLS * MONITOR SKILLS

View File

@ -603,6 +603,8 @@ public class mcm {
player.sendMessage("/"+mcLoadProperties.setmyspawn+" "+ChatColor.RED+"- Set your MySpawn"); player.sendMessage("/"+mcLoadProperties.setmyspawn+" "+ChatColor.RED+"- Set your MySpawn");
} }
player.sendMessage(ChatColor.GREEN+"--OTHER COMMANDS--"); player.sendMessage(ChatColor.GREEN+"--OTHER COMMANDS--");
if(mcPermissions.getInstance().mcAbility(player))
player.sendMessage("/"+mcLoadProperties.mcability+ChatColor.RED+" - Toggle ability activation with right click");
if(mcPermissions.getInstance().adminChat(player)){ if(mcPermissions.getInstance().adminChat(player)){
player.sendMessage("/a "+ChatColor.RED+"- Toggle admin chat"); player.sendMessage("/a "+ChatColor.RED+"- Toggle admin chat");
} }

View File

@ -1,3 +1,3 @@
name: mcMMO name: mcMMO
main: com.gmail.nossr50.mcMMO main: com.gmail.nossr50.mcMMO
version: 0.9.7 version: 0.9.10