mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-29 16:46:46 +01:00
All changes up to 0.9.10
This commit is contained in:
parent
bb1c85ea4a
commit
318f5876d2
@ -1,5 +1,27 @@
|
||||
Changelog:
|
||||
#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
|
||||
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
|
||||
|
@ -19,7 +19,7 @@ public class mcAcrobatics {
|
||||
if(!mcConfig.getInstance().isBlockWatched(loc.getWorld().getBlockAt(xx, y, z))
|
||||
&& mcPermissions.getInstance().acrobatics(player)){
|
||||
if(!event.isCancelled())
|
||||
mcUsers.getProfile(player).addAcrobaticsGather(event.getDamage() * 8);
|
||||
mcUsers.getProfile(player).addAcrobaticsGather((event.getDamage() * 8) * mcLoadProperties.xpGainMultiplier);
|
||||
mcSkills.getInstance().XpCheck(player);
|
||||
event.setCancelled(true);
|
||||
}
|
||||
@ -32,7 +32,7 @@ public class mcAcrobatics {
|
||||
&& mcPermissions.getInstance().acrobatics(player)){
|
||||
if(!event.isCancelled())
|
||||
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);
|
||||
mcConfig.getInstance().addBlockWatch(loc.getWorld().getBlockAt(xx, y, z));
|
||||
if(player.getHealth() - event.getDamage() <= 0){
|
||||
|
@ -15,8 +15,6 @@ import org.bukkit.event.block.BlockRightClickEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
|
||||
import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
|
||||
|
||||
public class mcBlockListener extends BlockListener {
|
||||
private final mcMMO plugin;
|
||||
|
||||
@ -143,11 +141,11 @@ public class mcBlockListener extends BlockListener {
|
||||
if(mcLoadProperties.woodcuttingrequiresaxe){
|
||||
if(mcm.getInstance().isAxes(inhand)){
|
||||
mcWoodCutting.getInstance().woodCuttingProcCheck(player, block, loc);
|
||||
mcUsers.getProfile(player).addWoodcuttingGather(7);
|
||||
mcUsers.getProfile(player).addWoodcuttingGather(7 * mcLoadProperties.xpGainMultiplier);
|
||||
}
|
||||
} else {
|
||||
mcWoodCutting.getInstance().woodCuttingProcCheck(player, block, loc);
|
||||
mcUsers.getProfile(player).addWoodcuttingGather(7);
|
||||
mcUsers.getProfile(player).addWoodcuttingGather(7 * mcLoadProperties.xpGainMultiplier);
|
||||
}
|
||||
mcSkills.getInstance().XpCheck(player);
|
||||
/*
|
||||
|
@ -92,7 +92,9 @@ public class mcCombat {
|
||||
/*
|
||||
* 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()))
|
||||
mcUsers.getProfile(attacker).addAxesGather((event.getDamage() * 3) * mcLoadProperties.pvpxprewardmodifier);
|
||||
if(mcm.getInstance().isSwords(attacker.getItemInHand()))
|
||||
@ -113,13 +115,13 @@ public class mcCombat {
|
||||
}
|
||||
Squid defender = (Squid)event.getEntity();
|
||||
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);
|
||||
if(mcm.getInstance().isAxes(attacker.getItemInHand())
|
||||
&& defender.getHealth() > 0
|
||||
&& mcPermissions.getInstance().axes(attacker)){
|
||||
mcUsers.getProfile(attacker).addAxesGather(10);
|
||||
mcUsers.getProfile(attacker).addAxesGather(10 * mcLoadProperties.xpGainMultiplier);
|
||||
mcSkills.getInstance().XpCheck(attacker);
|
||||
}
|
||||
if(mcm.getInstance().isAxes(attacker.getItemInHand()) && mcPermissions.getInstance().axes(attacker)){
|
||||
@ -152,7 +154,7 @@ public class mcCombat {
|
||||
}
|
||||
//XP
|
||||
if(defender.getHealth() != 0){
|
||||
mcUsers.getProfile(attacker).addUnarmedGather(10);
|
||||
mcUsers.getProfile(attacker).addUnarmedGather(10 * mcLoadProperties.xpGainMultiplier);
|
||||
mcSkills.getInstance().XpCheck(attacker);
|
||||
}
|
||||
}
|
||||
@ -207,15 +209,15 @@ public class mcCombat {
|
||||
&& mcPermissions.getInstance().swords(attacker)){
|
||||
if(!mcConfig.getInstance().isMobSpawnTracked(x)){
|
||||
if(x instanceof Creeper)
|
||||
mcUsers.getProfile(attacker).addSwordsGather(10);
|
||||
mcUsers.getProfile(attacker).addSwordsGather(10 * mcLoadProperties.xpGainMultiplier);
|
||||
if(x instanceof Spider)
|
||||
mcUsers.getProfile(attacker).addSwordsGather(7);
|
||||
mcUsers.getProfile(attacker).addSwordsGather(7 * mcLoadProperties.xpGainMultiplier);
|
||||
if(x instanceof Skeleton)
|
||||
mcUsers.getProfile(attacker).addSwordsGather(5);
|
||||
mcUsers.getProfile(attacker).addSwordsGather(5 * mcLoadProperties.xpGainMultiplier);
|
||||
if(x instanceof Zombie)
|
||||
mcUsers.getProfile(attacker).addSwordsGather(3);
|
||||
mcUsers.getProfile(attacker).addSwordsGather(3 * mcLoadProperties.xpGainMultiplier);
|
||||
if(x instanceof PigZombie)
|
||||
mcUsers.getProfile(attacker).addSwordsGather(7);
|
||||
mcUsers.getProfile(attacker).addSwordsGather(7 * mcLoadProperties.xpGainMultiplier);
|
||||
}
|
||||
mcSkills.getInstance().XpCheck(attacker);
|
||||
}
|
||||
@ -223,17 +225,16 @@ public class mcCombat {
|
||||
&& defender.getHealth() > 0
|
||||
&& mcPermissions.getInstance().axes(attacker)){
|
||||
if(!mcConfig.getInstance().isMobSpawnTracked(x)){
|
||||
mcUsers.getProfile(attacker).addAxesGather(1);
|
||||
if(x instanceof Creeper)
|
||||
mcUsers.getProfile(attacker).addAxesGather(10);
|
||||
mcUsers.getProfile(attacker).addAxesGather(10 * mcLoadProperties.xpGainMultiplier);
|
||||
if(x instanceof Spider)
|
||||
mcUsers.getProfile(attacker).addAxesGather(7);
|
||||
mcUsers.getProfile(attacker).addAxesGather(7 * mcLoadProperties.xpGainMultiplier);
|
||||
if(x instanceof Skeleton)
|
||||
mcUsers.getProfile(attacker).addAxesGather(5);
|
||||
mcUsers.getProfile(attacker).addAxesGather(5 * mcLoadProperties.xpGainMultiplier);
|
||||
if(x instanceof Zombie)
|
||||
mcUsers.getProfile(attacker).addAxesGather(3);
|
||||
mcUsers.getProfile(attacker).addAxesGather(3 * mcLoadProperties.xpGainMultiplier);
|
||||
if(x instanceof PigZombie)
|
||||
mcUsers.getProfile(attacker).addAxesGather(7);
|
||||
mcUsers.getProfile(attacker).addAxesGather(7 * mcLoadProperties.xpGainMultiplier);
|
||||
}
|
||||
mcSkills.getInstance().XpCheck(attacker);
|
||||
}
|
||||
@ -268,15 +269,15 @@ public class mcCombat {
|
||||
//XP
|
||||
if(!mcConfig.getInstance().isMobSpawnTracked(x)){
|
||||
if(x instanceof Creeper)
|
||||
mcUsers.getProfile(attacker).addUnarmedGather(20);
|
||||
mcUsers.getProfile(attacker).addUnarmedGather(10 * mcLoadProperties.xpGainMultiplier);
|
||||
if(x instanceof Spider)
|
||||
mcUsers.getProfile(attacker).addUnarmedGather(15);
|
||||
mcUsers.getProfile(attacker).addUnarmedGather(7 * mcLoadProperties.xpGainMultiplier);
|
||||
if(x instanceof Skeleton)
|
||||
mcUsers.getProfile(attacker).addUnarmedGather(10);
|
||||
mcUsers.getProfile(attacker).addUnarmedGather(5 * mcLoadProperties.xpGainMultiplier);
|
||||
if(x instanceof Zombie)
|
||||
mcUsers.getProfile(attacker).addUnarmedGather(5);
|
||||
mcUsers.getProfile(attacker).addUnarmedGather(3 * mcLoadProperties.xpGainMultiplier);
|
||||
if(x instanceof PigZombie)
|
||||
mcUsers.getProfile(attacker).addUnarmedGather(15);
|
||||
mcUsers.getProfile(attacker).addUnarmedGather(7 * mcLoadProperties.xpGainMultiplier);
|
||||
}
|
||||
mcSkills.getInstance().XpCheck(attacker);
|
||||
}
|
||||
@ -358,22 +359,21 @@ public class mcCombat {
|
||||
//XP
|
||||
if(!mcConfig.getInstance().isMobSpawnTracked(x)){
|
||||
if(x instanceof Creeper)
|
||||
mcUsers.getProfile(attacker).addArcheryGather(10);
|
||||
mcUsers.getProfile(attacker).addArcheryGather(10 * mcLoadProperties.xpGainMultiplier);
|
||||
if(x instanceof Spider)
|
||||
mcUsers.getProfile(attacker).addArcheryGather(7);
|
||||
mcUsers.getProfile(attacker).addArcheryGather(7 * mcLoadProperties.xpGainMultiplier);
|
||||
if(x instanceof Skeleton)
|
||||
mcUsers.getProfile(attacker).addArcheryGather(5);
|
||||
mcUsers.getProfile(attacker).addArcheryGather(5 * mcLoadProperties.xpGainMultiplier);
|
||||
if(x instanceof Zombie)
|
||||
mcUsers.getProfile(attacker).addArcheryGather(3);
|
||||
mcUsers.getProfile(attacker).addArcheryGather(3 * mcLoadProperties.xpGainMultiplier);
|
||||
if(x instanceof PigZombie)
|
||||
mcUsers.getProfile(attacker).addArcheryGather(7);
|
||||
mcUsers.getProfile(attacker).addArcheryGather(7 * mcLoadProperties.xpGainMultiplier);
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Defender is Animals
|
||||
*/
|
||||
if(x instanceof Animals){
|
||||
Animals defender = (Animals)x;
|
||||
if(mcUsers.getProfile(attacker).getArcheryInt() >= 50 && mcUsers.getProfile(attacker).getArcheryInt() < 250)
|
||||
event.setDamage(calculateDamage(event, 1));
|
||||
if(mcUsers.getProfile(attacker).getArcheryInt() >= 250 && mcUsers.getProfile(attacker).getArcheryInt() < 575)
|
||||
|
@ -31,6 +31,11 @@ public class mcConfig {
|
||||
public ArrayList<Entity> getBleedTracked() {return bleedTracker;}
|
||||
public void addArrowTrack(Entity entity, Integer arrowcount) {arrowTracker.put(entity, arrowcount);}
|
||||
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){
|
||||
bleedTracker.remove(entity);
|
||||
}
|
||||
|
@ -39,9 +39,14 @@ public class mcEntityListener extends EntityListener {
|
||||
}
|
||||
}
|
||||
public void onEntityDamage(EntityDamageEvent event) {
|
||||
/*
|
||||
* CHECK FOR INVULNERABILITY
|
||||
*/
|
||||
if(event.getEntity() instanceof CraftEntity){
|
||||
CraftEntity cEntity = (CraftEntity)event.getEntity();
|
||||
EntityLiving entity = (EntityLiving)cEntity.getHandle();
|
||||
if(entity.noDamageTicks < entity.maxNoDamageTicks/2.0F){
|
||||
if(cEntity.getHandle() instanceof EntityLiving){
|
||||
EntityLiving entityliving = (EntityLiving)cEntity.getHandle();
|
||||
if(entityliving.noDamageTicks < entityliving.maxNoDamageTicks/2.0F){
|
||||
Entity x = event.getEntity();
|
||||
DamageCause type = event.getCause();
|
||||
/*
|
||||
@ -162,6 +167,8 @@ public class mcEntityListener extends EntityListener {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public void onEntityDeath(EntityDeathEvent event) {
|
||||
Entity x = event.getEntity();
|
||||
mcSkills.getInstance().arrowRetrievalCheck(x);
|
||||
|
@ -68,29 +68,31 @@ public class mcExcavation {
|
||||
Location loc = block.getLocation();
|
||||
ItemStack is = null;
|
||||
Material mat = null;
|
||||
if(type == 2 && mcUsers.getProfile(player).getExcavationInt() > 250){
|
||||
if(type == 2){
|
||||
if(mcUsers.getProfile(player).getExcavationInt() > 250){
|
||||
//CHANCE TO GET EGGS
|
||||
if(mcLoadProperties.eggs == true && Math.random() * 100 > 99){
|
||||
mcUsers.getProfile(player).addExcavationGather(10);
|
||||
mcUsers.getProfile(player).addExcavationGather(10 * mcLoadProperties.xpGainMultiplier);
|
||||
mat = Material.getMaterial(344);
|
||||
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){
|
||||
mcUsers.getProfile(player).addExcavationGather(10);
|
||||
mcUsers.getProfile(player).addExcavationGather(10 * mcLoadProperties.xpGainMultiplier);
|
||||
mat = Material.getMaterial(260);
|
||||
is = new ItemStack(mat, 1, (byte)0, (byte)0);
|
||||
loc.getWorld().dropItemNaturally(loc, is);
|
||||
}
|
||||
}
|
||||
}
|
||||
//DIRT SAND OR GRAVEL
|
||||
if(type == 3 || type == 13 || type == 2 || type == 12){
|
||||
mcUsers.getProfile(player).addExcavationGather(4);
|
||||
if(mcUsers.getProfile(player).getExcavationInt() > 750){
|
||||
//CHANCE TO GET CAKE
|
||||
if(mcLoadProperties.cake == true && Math.random() * 2000 > 1999){
|
||||
mcUsers.getProfile(player).addExcavationGather(300);
|
||||
mcUsers.getProfile(player).addExcavationGather(300 * mcLoadProperties.xpGainMultiplier);
|
||||
mat = Material.getMaterial(354);
|
||||
is = new ItemStack(mat, 1, (byte)0, (byte)0);
|
||||
loc.getWorld().dropItemNaturally(loc, is);
|
||||
@ -99,7 +101,7 @@ public class mcExcavation {
|
||||
if(mcUsers.getProfile(player).getExcavationInt() > 350){
|
||||
//CHANCE TO GET DIAMOND
|
||||
if(mcLoadProperties.diamond == true && Math.random() * 750 > 749){
|
||||
mcUsers.getProfile(player).addExcavationGather(100);
|
||||
mcUsers.getProfile(player).addExcavationGather(100 * mcLoadProperties.xpGainMultiplier);
|
||||
mat = Material.getMaterial(264);
|
||||
is = new ItemStack(mat, 1, (byte)0, (byte)0);
|
||||
loc.getWorld().dropItemNaturally(loc, is);
|
||||
@ -108,7 +110,7 @@ public class mcExcavation {
|
||||
if(mcUsers.getProfile(player).getExcavationInt() > 250){
|
||||
//CHANCE TO GET YELLOW MUSIC
|
||||
if(mcLoadProperties.music == true && Math.random() * 2000 > 1999){
|
||||
mcUsers.getProfile(player).addExcavationGather(300);
|
||||
mcUsers.getProfile(player).addExcavationGather(300 * mcLoadProperties.xpGainMultiplier);
|
||||
mat = Material.getMaterial(2256);
|
||||
is = new ItemStack(mat, 1, (byte)0, (byte)0);
|
||||
loc.getWorld().dropItemNaturally(loc, is);
|
||||
@ -118,7 +120,7 @@ public class mcExcavation {
|
||||
if(mcUsers.getProfile(player).getExcavationInt() > 350){
|
||||
//CHANCE TO GET GREEN MUSIC
|
||||
if(mcLoadProperties.music == true && Math.random() * 2000 > 1999){
|
||||
mcUsers.getProfile(player).addExcavationGather(300);
|
||||
mcUsers.getProfile(player).addExcavationGather(300 * mcLoadProperties.xpGainMultiplier);
|
||||
mat = Material.getMaterial(2257);
|
||||
is = new ItemStack(mat, 1, (byte)0, (byte)0);
|
||||
loc.getWorld().dropItemNaturally(loc, is);
|
||||
@ -129,31 +131,35 @@ public class mcExcavation {
|
||||
if(type == 12){
|
||||
//CHANCE TO GET GLOWSTONE
|
||||
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);
|
||||
is = new ItemStack(mat, 1, (byte)0, (byte)0);
|
||||
loc.getWorld().dropItemNaturally(loc, is);
|
||||
}
|
||||
//CHANCE TO GET SLOWSAND
|
||||
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);
|
||||
is = new ItemStack(mat, 1, (byte)0, (byte)0);
|
||||
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
|
||||
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
|
||||
if(mcLoadProperties.glowstone == true && Math.random() * 100 > 95){
|
||||
mcUsers.getProfile(player).addExcavationGather(8);
|
||||
if(mcLoadProperties.glowstone == true && mcUsers.getProfile(player).getExcavationInt() > 25 && Math.random() * 100 > 95){
|
||||
mcUsers.getProfile(player).addExcavationGather(8 * mcLoadProperties.xpGainMultiplier);
|
||||
mat = Material.getMaterial(348);
|
||||
is = new ItemStack(mat, 1, (byte)0, (byte)0);
|
||||
loc.getWorld().dropItemNaturally(loc, is);
|
||||
@ -163,7 +169,7 @@ public class mcExcavation {
|
||||
if(type == 13){
|
||||
//CHANCE TO GET NETHERRACK
|
||||
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);
|
||||
is = new ItemStack(mat, 1, (byte)0, (byte)0);
|
||||
loc.getWorld().dropItemNaturally(loc, is);
|
||||
@ -171,7 +177,7 @@ public class mcExcavation {
|
||||
//CHANCE TO GET SULPHUR
|
||||
if(mcLoadProperties.sulphur == true && mcUsers.getProfile(player).getExcavationInt() > 75){
|
||||
if(Math.random() * 10 > 9){
|
||||
mcUsers.getProfile(player).addExcavationGather(3);
|
||||
mcUsers.getProfile(player).addExcavationGather(3 * mcLoadProperties.xpGainMultiplier);
|
||||
mat = Material.getMaterial(289);
|
||||
is = new ItemStack(mat, 1, (byte)0, (byte)0);
|
||||
loc.getWorld().dropItemNaturally(loc, is);
|
||||
@ -180,7 +186,7 @@ public class mcExcavation {
|
||||
//CHANCE TO GET BONES
|
||||
if(mcLoadProperties.bones == true && mcUsers.getProfile(player).getExcavationInt() > 175){
|
||||
if(Math.random() * 10 > 9){
|
||||
mcUsers.getProfile(player).addExcavationGather(3);
|
||||
mcUsers.getProfile(player).addExcavationGather(3 * mcLoadProperties.xpGainMultiplier);
|
||||
mat = Material.getMaterial(352);
|
||||
is = new ItemStack(mat, 1, (byte)0, (byte)0);
|
||||
loc.getWorld().dropItemNaturally(loc, is);
|
||||
|
@ -27,7 +27,7 @@ public class mcHerbalism {
|
||||
if(type == 59 && block.getData() == (byte) 0x7){
|
||||
mat = Material.getMaterial(296);
|
||||
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(Math.random() * 1000 <= mcUsers.getProfile(player).getHerbalismInt()){
|
||||
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
|
||||
*/
|
||||
if(!mcConfig.getInstance().isBlockWatched(block)){
|
||||
//Mushroom
|
||||
if(type == 39 || type == 40){
|
||||
mat = Material.getMaterial(block.getTypeId());
|
||||
is = new ItemStack(mat, 1, (byte)0, (byte)0);
|
||||
@ -46,8 +47,9 @@ public class mcHerbalism {
|
||||
loc.getWorld().dropItemNaturally(loc, is);
|
||||
}
|
||||
}
|
||||
mcUsers.getProfile(player).addHerbalismGather(10);
|
||||
mcUsers.getProfile(player).addHerbalismGather(40 * mcLoadProperties.xpGainMultiplier);
|
||||
}
|
||||
//Flower
|
||||
if(type == 37 || type == 38){
|
||||
mat = Material.getMaterial(block.getTypeId());
|
||||
is = new ItemStack(mat, 1, (byte)0, (byte)0);
|
||||
@ -56,7 +58,7 @@ public class mcHerbalism {
|
||||
loc.getWorld().dropItemNaturally(loc, is);
|
||||
}
|
||||
}
|
||||
mcUsers.getProfile(player).addHerbalismGather(3);
|
||||
mcUsers.getProfile(player).addHerbalismGather(10 * mcLoadProperties.xpGainMultiplier);
|
||||
}
|
||||
}
|
||||
mcSkills.getInstance().XpCheck(player);
|
||||
|
@ -1,9 +1,9 @@
|
||||
package com.gmail.nossr50;
|
||||
|
||||
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 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(){
|
||||
String propertiesFile = mcMMO.maindirectory + "mcmmo.properties";
|
||||
@ -22,6 +22,8 @@ public class mcLoadProperties {
|
||||
/*
|
||||
* OTHER
|
||||
*/
|
||||
myspawnclearsinventory = properties.getBoolean("mySpawnClearsInventory", true);
|
||||
xpGainMultiplier = properties.getInteger("xpGainMultiplier", 1);
|
||||
toolsLoseDurabilityFromAbilities = properties.getBoolean("toolsLoseDurabilityFromAbilities", true);
|
||||
abilityDurabilityLoss = properties.getInteger("abilityDurabilityLoss", 2);
|
||||
feathersConsumedByChimaeraWing = properties.getInteger("feathersConsumedByChimaeraWing", 10);
|
||||
@ -29,44 +31,44 @@ public class mcLoadProperties {
|
||||
pvpxprewardmodifier = properties.getInteger("pvpXpRewardModifier", 1);
|
||||
miningrequirespickaxe = properties.getBoolean("miningRequiresPickaxe", true);
|
||||
woodcuttingrequiresaxe = properties.getBoolean("woodcuttingRequiresAxe", true);
|
||||
repairdiamondlevel = properties.getInteger("repairdiamondlevel", 50);
|
||||
repairdiamondlevel = properties.getInteger("repairDiamondLevel", 50);
|
||||
/*
|
||||
* EXPERIENCE RATE MODIFIER
|
||||
*/
|
||||
globalxpmodifier = properties.getInteger("globalxpmodifier", 1);
|
||||
miningxpmodifier = properties.getInteger("miningxpmodifier", 2);
|
||||
repairxpmodifier = properties.getInteger("repairxpmodifier", 2);
|
||||
woodcuttingxpmodifier = properties.getInteger("woodcuttingxpmodifier", 2);
|
||||
unarmedxpmodifier = properties.getInteger("unarmedxpmodifier", 2);
|
||||
herbalismxpmodifier = properties.getInteger("herbalismxpmodifier", 2);
|
||||
excavationxpmodifier = properties.getInteger("excavationxpmodifier", 2);
|
||||
archeryxpmodifier = properties.getInteger("archeryxpmodifier", 2);
|
||||
swordsxpmodifier = properties.getInteger("swordsxpmodifier", 2);
|
||||
axesxpmodifier = properties.getInteger("axesxpmodifier", 2);
|
||||
acrobaticsxpmodifier = properties.getInteger("acrobaticsxpmodifier", 2);
|
||||
globalxpmodifier = properties.getInteger("globalXpModifier", 1);
|
||||
miningxpmodifier = properties.getInteger("miningXpModifier", 2);
|
||||
repairxpmodifier = properties.getInteger("repairXpModifier", 2);
|
||||
woodcuttingxpmodifier = properties.getInteger("woodcuttingXpModifier", 2);
|
||||
unarmedxpmodifier = properties.getInteger("unarmedXpModifier", 2);
|
||||
herbalismxpmodifier = properties.getInteger("herbalismXpModifier", 2);
|
||||
excavationxpmodifier = properties.getInteger("excavationXpModifier", 2);
|
||||
archeryxpmodifier = properties.getInteger("archeryXpModifier", 2);
|
||||
swordsxpmodifier = properties.getInteger("swordsXpModifier", 2);
|
||||
axesxpmodifier = properties.getInteger("axesXpModifier", 2);
|
||||
acrobaticsxpmodifier = properties.getInteger("acrobaticsXpModifier", 2);
|
||||
/*
|
||||
* TOGGLE CLAY
|
||||
*/
|
||||
clay = properties.getBoolean("graveltoclay", true);
|
||||
clay = properties.getBoolean("gravelToClay", true);
|
||||
/*
|
||||
* ANVIL MESSAGES
|
||||
*/
|
||||
anvilmessages = properties.getBoolean("anvilmessages", true);
|
||||
anvilmessages = properties.getBoolean("anvilMessages", true);
|
||||
/*
|
||||
* EXCAVATION LOOT TOGGLES
|
||||
*/
|
||||
myspawnclearsinventory = properties.getBoolean("myspawnclearsinventory", true);
|
||||
glowstone = properties.getBoolean("canexcavateglowstone", true);
|
||||
mushrooms = properties.getBoolean("canExcavateMushrooms", true);
|
||||
glowstone = properties.getBoolean("canExcavateGlowstone", true);
|
||||
pvp = properties.getBoolean("pvp", true);
|
||||
eggs = properties.getBoolean("canexcavateeggs", true);
|
||||
apples = properties.getBoolean("canexcavateapples", true);
|
||||
cake = properties.getBoolean("canexcavatecake", true);
|
||||
music = properties.getBoolean("canexcavatemusic", true);
|
||||
diamond = properties.getBoolean("canexcavatediamond", true);
|
||||
slowsand = properties.getBoolean("canexcavateslowsand", true);
|
||||
sulphur = properties.getBoolean("canexcavatesulphur", true);
|
||||
netherrack = properties.getBoolean("canexcavatenetherrack", true);
|
||||
bones = properties.getBoolean("canexcavatebones", true);
|
||||
eggs = properties.getBoolean("canExcavateEggs", true);
|
||||
apples = properties.getBoolean("canExcavateApples", true);
|
||||
cake = properties.getBoolean("canExcavateCake", true);
|
||||
music = properties.getBoolean("canExcavateMusic", true);
|
||||
diamond = properties.getBoolean("canExcavateDiamond", true);
|
||||
slowsand = properties.getBoolean("canExcavateSlowSand", true);
|
||||
sulphur = properties.getBoolean("canExcavateSulphur", true);
|
||||
netherrack = properties.getBoolean("canExcavateNetherrack", true);
|
||||
bones = properties.getBoolean("canExcavateBones", true);
|
||||
|
||||
/*
|
||||
* CUSTOM COMMANDS
|
||||
|
@ -67,7 +67,7 @@ public class mcMMO extends JavaPlugin {
|
||||
pm.registerEvent(Event.Type.PLAYER_JOIN, 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.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.ENTITY_DEATH, entityListener, Priority.Normal, this);
|
||||
pm.registerEvent(Event.Type.BLOCK_FLOW, blockListener, Priority.Normal, this);
|
||||
|
@ -110,50 +110,52 @@ public class mcMining {
|
||||
}
|
||||
}
|
||||
public void miningBlockCheck(Player player, Block block){
|
||||
int xp = 0;
|
||||
if(block.getTypeId() == 1 || block.getTypeId() == 24){
|
||||
mcUsers.getProfile(player).addMiningGather(3);
|
||||
xp += 3;
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
//NETHERRACK
|
||||
if(block.getTypeId() == 87){
|
||||
mcUsers.getProfile(player).addMiningGather(3);
|
||||
xp += 3;
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
//GLOWSTONE
|
||||
if(block.getTypeId() == 89){
|
||||
mcUsers.getProfile(player).addMiningGather(3);
|
||||
xp += 3;
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
//COAL
|
||||
if(block.getTypeId() == 16){
|
||||
mcUsers.getProfile(player).addMiningGather(10);
|
||||
xp += 10;
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
//GOLD
|
||||
if(block.getTypeId() == 14){
|
||||
mcUsers.getProfile(player).addMiningGather(35);
|
||||
xp += 35;
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
//DIAMOND
|
||||
if(block.getTypeId() == 56){
|
||||
mcUsers.getProfile(player).addMiningGather(75);
|
||||
xp += 75;
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
//IRON
|
||||
if(block.getTypeId() == 15){
|
||||
mcUsers.getProfile(player).addMiningGather(25);
|
||||
xp += 25;
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
//REDSTONE
|
||||
if(block.getTypeId() == 73 || block.getTypeId() == 74){
|
||||
mcUsers.getProfile(player).addMiningGather(15);
|
||||
xp += 15;
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
//LAPUS
|
||||
if(block.getTypeId() == 21){
|
||||
mcUsers.getProfile(player).addMiningGather(40);
|
||||
xp += 40;
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
mcUsers.getProfile(player).addMiningGather(xp * mcLoadProperties.xpGainMultiplier);
|
||||
mcSkills.getInstance().XpCheck(player);
|
||||
}
|
||||
/*
|
||||
@ -172,11 +174,12 @@ public class mcMining {
|
||||
mcm.getInstance().damageTool(player, (short) mcLoadProperties.abilityDurabilityLoss);
|
||||
Location loc = block.getLocation();
|
||||
Material mat = Material.getMaterial(block.getTypeId());
|
||||
int xp = 0;
|
||||
byte damage = 0;
|
||||
ItemStack item = new ItemStack(mat, 1, (byte)0, damage);
|
||||
if(block.getTypeId() == 1 || block.getTypeId() == 24){
|
||||
if(!mcConfig.getInstance().isBlockWatched(block)){
|
||||
mcUsers.getProfile(player).addMiningGather(3);
|
||||
xp += 3;
|
||||
blockProcCheck(block, player);
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
@ -192,7 +195,7 @@ public class mcMining {
|
||||
//NETHERRACK
|
||||
if(block.getTypeId() == 87){
|
||||
if(!mcConfig.getInstance().isBlockWatched(block)){
|
||||
mcUsers.getProfile(player).addMiningGather(3);
|
||||
xp += 3;
|
||||
blockProcCheck(block, player);
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
@ -204,7 +207,7 @@ public class mcMining {
|
||||
//GLOWSTONE
|
||||
if(block.getTypeId() == 89){
|
||||
if(!mcConfig.getInstance().isBlockWatched(block)){
|
||||
mcUsers.getProfile(player).addMiningGather(3);
|
||||
xp += 3;
|
||||
blockProcCheck(block, player);
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
@ -216,7 +219,7 @@ public class mcMining {
|
||||
//COAL
|
||||
if(block.getTypeId() == 16){
|
||||
if(!mcConfig.getInstance().isBlockWatched(block)){
|
||||
mcUsers.getProfile(player).addMiningGather(10);
|
||||
xp += 10;
|
||||
blockProcCheck(block, player);
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
@ -228,16 +231,18 @@ public class mcMining {
|
||||
//GOLD
|
||||
if(block.getTypeId() == 14 && mcm.getInstance().getTier(player) >= 3){
|
||||
if(!mcConfig.getInstance().isBlockWatched(block)){
|
||||
mcUsers.getProfile(player).addMiningGather(35);
|
||||
xp += 35;
|
||||
blockProcCheck(block, player);
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
item = new ItemStack(mat, 1, (byte)0, damage);
|
||||
loc.getWorld().dropItemNaturally(loc, item);
|
||||
block.setType(Material.AIR);
|
||||
}
|
||||
//DIAMOND
|
||||
if(block.getTypeId() == 56 && mcm.getInstance().getTier(player) >= 3){
|
||||
if(!mcConfig.getInstance().isBlockWatched(block)){
|
||||
mcUsers.getProfile(player).addMiningGather(75);
|
||||
xp += 75;
|
||||
blockProcCheck(block, player);
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
@ -249,16 +254,18 @@ public class mcMining {
|
||||
//IRON
|
||||
if(block.getTypeId() == 15 && mcm.getInstance().getTier(player) >= 2){
|
||||
if(!mcConfig.getInstance().isBlockWatched(block)){
|
||||
mcUsers.getProfile(player).addMiningGather(25);
|
||||
xp += 25;
|
||||
blockProcCheck(block, player);
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
item = new ItemStack(mat, 1, (byte)0, damage);
|
||||
loc.getWorld().dropItemNaturally(loc, item);
|
||||
block.setType(Material.AIR);
|
||||
}
|
||||
//REDSTONE
|
||||
if((block.getTypeId() == 73 || block.getTypeId() == 74) && mcm.getInstance().getTier(player) >= 4){
|
||||
if(!mcConfig.getInstance().isBlockWatched(block)){
|
||||
mcUsers.getProfile(player).addMiningGather(15);
|
||||
xp += 15;
|
||||
blockProcCheck(block, player);
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
@ -275,7 +282,7 @@ public class mcMining {
|
||||
//LAPUS
|
||||
if(block.getTypeId() == 21 && mcm.getInstance().getTier(player) >= 3){
|
||||
if(!mcConfig.getInstance().isBlockWatched(block)){
|
||||
mcUsers.getProfile(player).addMiningGather(40);
|
||||
xp += 40;
|
||||
blockProcCheck(block, player);
|
||||
blockProcCheck(block, player);
|
||||
}
|
||||
@ -287,6 +294,7 @@ public class mcMining {
|
||||
loc.getWorld().dropItemNaturally(loc, item);
|
||||
block.setType(Material.AIR);
|
||||
}
|
||||
mcUsers.getProfile(player).addMiningGather(xp * mcLoadProperties.xpGainMultiplier);
|
||||
mcSkills.getInstance().XpCheck(player);
|
||||
}
|
||||
}
|
||||
|
@ -410,7 +410,7 @@ public class mcPlayerListener extends PlayerListener {
|
||||
Player target = getPlayer(split[1]);
|
||||
mcUsers.getProfile(target).modifyInvite(mcUsers.getProfile(player).getParty());
|
||||
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");
|
||||
}
|
||||
}
|
||||
|
@ -31,19 +31,19 @@ public class mcRepair {
|
||||
if(isDiamondArmor(is) && hasDiamond(player) && mcUsers.getProfile(player).getRepairInt() >= mcLoadProperties.repairdiamondlevel){
|
||||
removeDiamond(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)){
|
||||
/*
|
||||
* IRON ARMOR
|
||||
*/
|
||||
removeIron(player);
|
||||
player.getItemInHand().setDurability(getArmorRepairAmount(is, player));
|
||||
mcUsers.getProfile(player).addRepairGather(20);
|
||||
mcUsers.getProfile(player).addRepairGather(20 * mcLoadProperties.xpGainMultiplier);
|
||||
//GOLD ARMOR
|
||||
} else if (isGoldArmor(is) && hasGold(player)){
|
||||
removeGold(player);
|
||||
player.getItemInHand().setDurability(getArmorRepairAmount(is, player));
|
||||
mcUsers.getProfile(player).addRepairGather(50);
|
||||
mcUsers.getProfile(player).addRepairGather(50 * mcLoadProperties.xpGainMultiplier);
|
||||
} else {
|
||||
needMoreVespeneGas(is, player);
|
||||
}
|
||||
@ -58,18 +58,18 @@ public class mcRepair {
|
||||
if(isIronTools(is) && hasIron(player)){
|
||||
is.setDurability(getToolRepairAmount(is, 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
|
||||
/*
|
||||
* DIAMOND TOOLS
|
||||
*/
|
||||
is.setDurability(getToolRepairAmount(is, player));
|
||||
removeDiamond(player);
|
||||
mcUsers.getProfile(player).addRepairGather(75);
|
||||
mcUsers.getProfile(player).addRepairGather(75 * mcLoadProperties.xpGainMultiplier);
|
||||
} else if(isGoldTools(is) && hasGold(player)){
|
||||
is.setDurability(getToolRepairAmount(is, player));
|
||||
removeGold(player);
|
||||
mcUsers.getProfile(player).addRepairGather(50);
|
||||
mcUsers.getProfile(player).addRepairGather(50 * mcLoadProperties.xpGainMultiplier);
|
||||
} else {
|
||||
needMoreVespeneGas(is, player);
|
||||
}
|
||||
|
@ -511,5 +511,6 @@ public class mcSkills {
|
||||
x++;
|
||||
}
|
||||
}
|
||||
mcConfig.getInstance().removeArrowTracked(entity);
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,9 @@ public class mcTimer extends TimerTask{
|
||||
public void run() {
|
||||
Player[] playerlist = plugin.getServer().getOnlinePlayers();
|
||||
for(Player player : playerlist){
|
||||
if(player != null && mcUsers.getProfile(player) == null)
|
||||
if(player == null)
|
||||
continue;
|
||||
if(mcUsers.getProfile(player) == null)
|
||||
mcUsers.addUser(player);
|
||||
/*
|
||||
* MONITOR SKILLS
|
||||
|
@ -603,6 +603,8 @@ public class mcm {
|
||||
player.sendMessage("/"+mcLoadProperties.setmyspawn+" "+ChatColor.RED+"- Set your MySpawn");
|
||||
}
|
||||
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)){
|
||||
player.sendMessage("/a "+ChatColor.RED+"- Toggle admin chat");
|
||||
}
|
||||
|
@ -1,3 +1,3 @@
|
||||
name: mcMMO
|
||||
main: com.gmail.nossr50.mcMMO
|
||||
version: 0.9.7
|
||||
version: 0.9.10
|
Loading…
Reference in New Issue
Block a user