mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-12-25 18:17:46 +01:00
All changes up to 0.8
This commit is contained in:
parent
2beaf41057
commit
4cf35a317d
@ -1,5 +1,11 @@
|
||||
Changelog:
|
||||
#Versions without changelogs probably had very small misc fixes, like tweaks to the source code#
|
||||
Version 0.8
|
||||
Archery skill now lets players recover arrows from downed foes
|
||||
Health regenerates based on power level
|
||||
Added toggle to myspawn clearing player inventory in settings file
|
||||
Swords now have a bleed effect
|
||||
Rewrote Skill descriptions to be more informative/better
|
||||
Version 0.7.9
|
||||
XP Curve now follows a new formula
|
||||
Acrobatics XP gains changed
|
||||
|
@ -7,6 +7,7 @@ import java.util.logging.Logger;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import java.util.Map.Entry;
|
||||
@ -19,12 +20,44 @@ public class mcConfig {
|
||||
static ArrayList<String> coordsWatchList = new ArrayList<String>();
|
||||
static ArrayList<Block> blockWatchList = new ArrayList<Block>();
|
||||
static ArrayList<String> partyChatList = new ArrayList<String>();
|
||||
HashMap<Entity, Integer> arrowTracker = new HashMap<Entity, Integer>();
|
||||
HashMap<Entity, Integer> bleedTracker = new HashMap<Entity, Integer>();
|
||||
public boolean isBlockWatched(Block block) {return blockWatchList.contains(block);}
|
||||
public boolean isCoordsWatched(String xyz) {return coordsWatchList.contains(xyz);}
|
||||
public void removeBlockWatch(Block block) {blockWatchList.remove(blockWatchList.indexOf(block));}
|
||||
public void removeCoordsWatch(String xyz) {coordsWatchList.remove(coordsWatchList.indexOf(xyz));}
|
||||
public void addBlockWatch(Block block) {blockWatchList.add(block);}
|
||||
public void addCoordsWatch(String xyz) {coordsWatchList.add(xyz);}
|
||||
public void addArrowTrack(Entity entity, Integer arrowcount) {arrowTracker.put(entity, arrowcount);}
|
||||
public void addBleedTrack(Entity entity, Integer duration) {bleedTracker.put(entity, duration);}
|
||||
public Integer getArrowCount(Entity entity) {return arrowTracker.get(entity);}
|
||||
public Integer getBleedCount(Entity entity) {return bleedTracker.get(entity);}
|
||||
public void removeBleedTrack(Entity entity){
|
||||
bleedTracker.remove(entity);
|
||||
}
|
||||
public void setBleedCount(Entity entity, Integer newvalue){
|
||||
bleedTracker.put(entity, newvalue);
|
||||
}
|
||||
public void removeBleedCount(Entity entity, Integer newvalue) {
|
||||
bleedTracker.put(entity, bleedTracker.get(entity) - newvalue);
|
||||
}
|
||||
public void addArrowCount(Entity entity, Integer newvalue) {
|
||||
arrowTracker.put(entity, arrowTracker.get(entity) + newvalue);
|
||||
}
|
||||
public boolean isTracked(Entity entity) {
|
||||
if(arrowTracker.containsKey(entity)){
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public boolean isBleedTracked(Entity entity) {
|
||||
if(bleedTracker.containsKey(entity)){
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public boolean isAdminToggled(String playerName) {return adminChatList.contains(playerName);}
|
||||
public boolean isPartyToggled(String playerName) {return partyChatList.contains(playerName);}
|
||||
public void removePartyToggled(String playerName) {partyChatList.remove(partyChatList.indexOf(playerName));}
|
||||
|
@ -71,6 +71,9 @@ public class mcEntityListener extends EntityListener {
|
||||
*/
|
||||
if(e instanceof Player){
|
||||
Player defender = (Player)e;
|
||||
if(f instanceof Monster){
|
||||
mcUsers.getProfile(defender).setRecentlyHurt(60);
|
||||
}
|
||||
/*
|
||||
* PARRYING CHECK, CHECK TO SEE IF ITS A SUCCESSFUL PARRY OR NOT
|
||||
*/
|
||||
|
@ -1,7 +1,7 @@
|
||||
package com.gmail.nossr50;
|
||||
|
||||
public class mcLoadProperties {
|
||||
public static Boolean pvp, eggs, apples, cake, music, diamond, glowstone, slowsand, sulphur, netherrack, bones, coal, clay, anvilmessages;
|
||||
public static Boolean pvp, eggs, apples, myspawnclearsinventory, cake, music, diamond, glowstone, slowsand, sulphur, netherrack, bones, coal, clay, anvilmessages;
|
||||
public static String mcmmo, mcc, stats, mmoedit, ptp, party, myspawn, setmyspawn, whois, invite, accept, clearmyspawn;
|
||||
public static int xpmodifier;
|
||||
|
||||
@ -25,6 +25,7 @@ public class mcLoadProperties {
|
||||
/*
|
||||
* EXCAVATION LOOT TOGGLES
|
||||
*/
|
||||
myspawnclearsinventory = properties.getBoolean("myspawnclearsinventory", true);
|
||||
glowstone = properties.getBoolean("glowstone", true);
|
||||
pvp = properties.getBoolean("pvp", true);
|
||||
eggs = properties.getBoolean("eggs", true);
|
||||
|
@ -9,6 +9,7 @@ import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Timer;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import org.bukkit.event.player.*;
|
||||
@ -33,6 +34,7 @@ public class mcMMO extends JavaPlugin {
|
||||
private final String name = "mcMMO";
|
||||
public static PermissionHandler PermissionsHandler = null;
|
||||
private Permissions permissions;
|
||||
private Timer mcMMO_Timer = new Timer(true);
|
||||
|
||||
/*
|
||||
public mcMMO(PluginLoader pluginLoader, Server instance, PluginDescriptionFile desc, File folder, File plugin, ClassLoader cLoader) {
|
||||
@ -41,6 +43,7 @@ public class mcMMO extends JavaPlugin {
|
||||
*/
|
||||
//herp
|
||||
public void onEnable() {
|
||||
mcMMO_Timer.schedule(new mcTimer(this), 0, (long)(1000));
|
||||
//Make the directory if it does not exist
|
||||
new File(maindirectory).mkdir();
|
||||
//Make the file if it does not exist
|
||||
|
@ -37,6 +37,13 @@ public class mcPermissions {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
public boolean regeneration(Player player){
|
||||
if (permissionsEnabled) {
|
||||
return permission(player, "mcmmo.skills.regeneration");
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
public boolean motd(Player player) {
|
||||
if (permissionsEnabled) {
|
||||
return permission(player, "mcmmo.motd");
|
||||
|
@ -423,6 +423,7 @@ public class mcPlayerListener extends PlayerListener {
|
||||
}
|
||||
event.setCancelled(true);
|
||||
if(mcUsers.getProfile(player).getMySpawn(player) != null){
|
||||
if(mcLoadProperties.myspawnclearsinventory)
|
||||
player.getInventory().clear();
|
||||
player.setHealth(20);
|
||||
Location mySpawn = mcUsers.getProfile(player).getMySpawn(player);
|
||||
|
147
mcMMO/com/gmail/nossr50/mcTimer.java
Normal file
147
mcMMO/com/gmail/nossr50/mcTimer.java
Normal file
@ -0,0 +1,147 @@
|
||||
package com.gmail.nossr50;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.*;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class mcTimer extends TimerTask{
|
||||
private final mcMMO plugin;
|
||||
int thecount = 1;
|
||||
|
||||
public mcTimer(final mcMMO plugin) {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
public Integer calculateHealth(Integer health, Integer newvalue){
|
||||
if((health + newvalue) > 20){
|
||||
return 20;
|
||||
} else {
|
||||
return health+newvalue;
|
||||
}
|
||||
}
|
||||
public Integer calculateMinusHealth(Integer health, Integer newvalue){
|
||||
if((health - newvalue) < 1){
|
||||
return 0;
|
||||
} else {
|
||||
return health-newvalue;
|
||||
}
|
||||
}
|
||||
public Integer getHealth(Entity entity){
|
||||
if(entity instanceof Monster){
|
||||
Monster monster = (Monster)entity;
|
||||
return monster.getHealth();
|
||||
} else if (entity instanceof Animals){
|
||||
Animals animals = (Animals)entity;
|
||||
return animals.getHealth();
|
||||
} else if (entity instanceof Player){
|
||||
Player player = (Player)entity;
|
||||
return player.getHealth();
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
public void run() {
|
||||
for(World world : plugin.getServer().getWorlds()){
|
||||
for(Entity entity : world.getEntities()){
|
||||
if(entity == null || getHealth(entity) <= 0)
|
||||
return;
|
||||
if(mcConfig.getInstance().getBleedCount(entity) < 1)
|
||||
return;
|
||||
if(mcConfig.getInstance().isBleedTracked(entity)){
|
||||
if(entity instanceof Player){
|
||||
Player player = (Player)entity;
|
||||
if(player.getHealth() >= 1){
|
||||
player.setHealth(calculateMinusHealth(player.getHealth(), 1));
|
||||
player.sendMessage(ChatColor.RED+"**BLEED**");
|
||||
if(player.getHealth() <= 0){
|
||||
for(ItemStack items : player.getInventory().getContents()){
|
||||
if(items.getTypeId() != 0)
|
||||
player.getLocation().getWorld().dropItemNaturally(player.getLocation(), items);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(entity instanceof Animals){
|
||||
Animals animals = (Animals)entity;
|
||||
if(animals.getHealth() >= 1){
|
||||
animals.setHealth(calculateMinusHealth(animals.getHealth(), 1));
|
||||
if(animals.getHealth() <= 0){
|
||||
mcm.getInstance().simulateNaturalDrops(entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(entity instanceof Monster){
|
||||
Monster monster = (Monster)entity;
|
||||
if(monster.getHealth() >= 1){
|
||||
monster.setHealth(calculateMinusHealth(monster.getHealth(), 1));
|
||||
if(monster.getHealth() <= 0){
|
||||
mcm.getInstance().simulateNaturalDrops(entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
for(World world : plugin.getServer().getWorlds()){
|
||||
for(Entity entity : world.getEntities()){
|
||||
if(mcConfig.getInstance().isBleedTracked(entity)){
|
||||
if(mcConfig.getInstance().getBleedCount(entity) >= 2){
|
||||
mcConfig.getInstance().removeBleedCount(entity, 1);
|
||||
} else if(mcConfig.getInstance().getBleedCount(entity) == 1){
|
||||
mcConfig.getInstance().removeBleedTrack(entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(thecount == 10 || thecount == 20 || thecount == 30 || thecount == 40){
|
||||
for(Player player : plugin.getServer().getOnlinePlayers()){
|
||||
if(player != null && mcUsers.getProfile(player).getRecentlyHurt() >= 1)
|
||||
mcUsers.getProfile(player).decreaseLastHurt();
|
||||
}
|
||||
}
|
||||
|
||||
for(Player player : plugin.getServer().getOnlinePlayers()){
|
||||
if(player != null &&
|
||||
player.getHealth() > 0 && player.getHealth() < 20
|
||||
&& mcUsers.getProfile(player).getPowerLevel() >= 1000
|
||||
&& mcUsers.getProfile(player).getRecentlyHurt() == 0
|
||||
&& mcPermissions.getInstance().regeneration(player)){
|
||||
player.setHealth(calculateHealth(player.getHealth(), 1));
|
||||
}
|
||||
}
|
||||
if(thecount == 20 || thecount == 40){
|
||||
for(Player player : plugin.getServer().getOnlinePlayers()){
|
||||
if(player != null &&
|
||||
player.getHealth() > 0 && player.getHealth() < 20
|
||||
&& mcUsers.getProfile(player).getPowerLevel() >= 500
|
||||
&& mcUsers.getProfile(player).getPowerLevel() < 1000
|
||||
&& mcUsers.getProfile(player).getRecentlyHurt() == 0
|
||||
&& mcPermissions.getInstance().regeneration(player)){
|
||||
player.setHealth(calculateHealth(player.getHealth(), 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
if(thecount == 40){
|
||||
for(Player player : plugin.getServer().getOnlinePlayers()){
|
||||
if(player != null &&
|
||||
player.getHealth() > 0 && player.getHealth() < 20
|
||||
&& mcUsers.getProfile(player).getPowerLevel() >= 100
|
||||
&& mcUsers.getProfile(player).getPowerLevel() < 500
|
||||
&& mcUsers.getProfile(player).getRecentlyHurt() == 0
|
||||
&& mcPermissions.getInstance().regeneration(player)){
|
||||
player.setHealth(calculateHealth(player.getHealth(), 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
* RESET THE COUNT
|
||||
*/
|
||||
if(thecount < 40){
|
||||
thecount++;
|
||||
} else {
|
||||
thecount = 1;
|
||||
}
|
||||
}
|
||||
}
|
@ -156,6 +156,7 @@ class PlayerList
|
||||
private String playerName, gather, wgather, woodcutting, repair, mining, party, myspawn, myspawnworld, unarmed, herbalism, excavation,
|
||||
archery, swords, axes, invite, acrobatics, repairgather, unarmedgather, herbalismgather, excavationgather, archerygather, swordsgather, axesgather, acrobaticsgather;
|
||||
private boolean dead;
|
||||
private int recentlyhurt = 0;
|
||||
Player thisplayer;
|
||||
char defaultColor;
|
||||
|
||||
@ -415,6 +416,17 @@ class PlayerList
|
||||
{
|
||||
return player.getName().equals(playerName);
|
||||
}
|
||||
public void decreaseLastHurt(){
|
||||
if(recentlyhurt >= 1){
|
||||
recentlyhurt--;
|
||||
}
|
||||
}
|
||||
public Integer getRecentlyHurt(){
|
||||
return recentlyhurt;
|
||||
}
|
||||
public void setRecentlyHurt(Integer newvalue){
|
||||
recentlyhurt = newvalue;
|
||||
}
|
||||
public void skillUpAxes(int newskill){
|
||||
int x = 0;
|
||||
if(axes != null){
|
||||
@ -1172,6 +1184,11 @@ class PlayerList
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
public int getPowerLevel(){
|
||||
int x = 0;
|
||||
x+=getMiningInt()+getRepairInt()+getWoodCuttingInt()+getUnarmedInt()+getHerbalismInt()+getExcavationInt()+getArcheryInt()+getSwordsInt()+getAxesInt()+getAcrobaticsInt();
|
||||
return x;
|
||||
}
|
||||
public int getMiningGatherInt() {
|
||||
if(isInt(gather)){
|
||||
return Integer.parseInt(gather);
|
||||
|
@ -102,6 +102,15 @@ public class mcm {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public void arrowRetrievalCheck(Entity entity){
|
||||
if(mcConfig.getInstance().isTracked(entity)){
|
||||
Integer x = 0;
|
||||
while(x < mcConfig.getInstance().getArrowCount(entity)){
|
||||
mcDropItem(entity.getLocation(), 262);
|
||||
x++;
|
||||
}
|
||||
}
|
||||
}
|
||||
public void archeryCheck(EntityDamageByProjectileEvent event){
|
||||
Entity y = event.getDamager();
|
||||
Entity x = event.getEntity();
|
||||
@ -110,16 +119,59 @@ public class mcm {
|
||||
*/
|
||||
if(y instanceof Player){
|
||||
Player attacker = (Player)y;
|
||||
/*
|
||||
* DEBUG MESSAGE
|
||||
*/
|
||||
//attacker.sendMessage(event.getProjectile().toString());
|
||||
if(event.getProjectile().toString().equals("CraftArrow") && mcPermissions.getInstance().archery(attacker)){
|
||||
if(!mcConfig.getInstance().isTracked(x) && event.getDamage() > 0){
|
||||
mcConfig.getInstance().addArrowTrack(x, 0);
|
||||
if(mcUsers.getProfile(attacker).getArcheryInt() >= 50 && mcUsers.getProfile(attacker).getArcheryInt() < 200){
|
||||
if(Math.random() * 10 > 8){
|
||||
mcConfig.getInstance().addArrowCount(x, 1);
|
||||
}
|
||||
} else if(mcUsers.getProfile(attacker).getArcheryInt() >= 200 && mcUsers.getProfile(attacker).getArcheryInt() < 400){
|
||||
if(Math.random() * 10 > 6){
|
||||
mcConfig.getInstance().addArrowCount(x, 1);
|
||||
}
|
||||
} else if(mcUsers.getProfile(attacker).getArcheryInt() >= 400 && mcUsers.getProfile(attacker).getArcheryInt() < 600){
|
||||
if(Math.random() * 10 > 4){
|
||||
mcConfig.getInstance().addArrowCount(x, 1);
|
||||
}
|
||||
} else if(mcUsers.getProfile(attacker).getArcheryInt() >= 600 && mcUsers.getProfile(attacker).getArcheryInt() < 800){
|
||||
if(Math.random() * 10 > 2){
|
||||
mcConfig.getInstance().addArrowCount(x, 1);
|
||||
}
|
||||
} else if(mcUsers.getProfile(attacker).getArcheryInt() >= 800){
|
||||
mcConfig.getInstance().addArrowCount(x, 1);
|
||||
}
|
||||
} else {
|
||||
if(event.getDamage() > 0){
|
||||
if(mcUsers.getProfile(attacker).getArcheryInt() >= 50 && mcUsers.getProfile(attacker).getArcheryInt() < 200){
|
||||
if(Math.random() * 10 > 8){
|
||||
mcConfig.getInstance().addArrowCount(x, 1);
|
||||
}
|
||||
} else if(mcUsers.getProfile(attacker).getArcheryInt() >= 200 && mcUsers.getProfile(attacker).getArcheryInt() < 400){
|
||||
if(Math.random() * 10 > 6){
|
||||
mcConfig.getInstance().addArrowCount(x, 1);
|
||||
}
|
||||
} else if(mcUsers.getProfile(attacker).getArcheryInt() >= 400 && mcUsers.getProfile(attacker).getArcheryInt() < 600){
|
||||
if(Math.random() * 10 > 4){
|
||||
mcConfig.getInstance().addArrowCount(x, 1);
|
||||
}
|
||||
} else if(mcUsers.getProfile(attacker).getArcheryInt() >= 600 && mcUsers.getProfile(attacker).getArcheryInt() < 800){
|
||||
if(Math.random() * 10 > 2){
|
||||
mcConfig.getInstance().addArrowCount(x, 1);
|
||||
}
|
||||
} else if(mcUsers.getProfile(attacker).getArcheryInt() >= 800){
|
||||
mcConfig.getInstance().addArrowCount(x, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
* Defender is Monster
|
||||
*/
|
||||
if(x instanceof Monster){
|
||||
Monster defender = (Monster)x;
|
||||
/*
|
||||
* TRACK ARROWS USED AGAINST THE ENTITY
|
||||
*/
|
||||
if(mcUsers.getProfile(attacker).getArcheryInt() >= 50 && mcUsers.getProfile(attacker).getArcheryInt() < 250)
|
||||
defender.setHealth(mcm.getInstance().calculateDamage(defender, 1));
|
||||
if(mcUsers.getProfile(attacker).getArcheryInt() >= 250 && mcUsers.getProfile(attacker).getArcheryInt() < 575)
|
||||
@ -130,8 +182,9 @@ public class mcm {
|
||||
defender.setHealth(mcm.getInstance().calculateDamage(defender, 4));
|
||||
if(mcUsers.getProfile(attacker).getArcheryInt() >= 1000)
|
||||
defender.setHealth(mcm.getInstance().calculateDamage(defender, 5));
|
||||
if(defender.getHealth() <= 0)
|
||||
mcm.getInstance().simulateNaturalDrops(defender);
|
||||
if(defender.getHealth() <= 0){
|
||||
simulateNaturalDrops(defender);
|
||||
}
|
||||
//XP
|
||||
if(x instanceof Creeper)
|
||||
mcUsers.getProfile(attacker).addArcheryGather(10);
|
||||
@ -394,8 +447,7 @@ public class mcm {
|
||||
mcDropItem(loc, 351);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
arrowRetrievalCheck(entity);
|
||||
}
|
||||
public void mcDropItem(Location loc, int id){
|
||||
if(loc != null){
|
||||
@ -696,6 +748,31 @@ public class mcm {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public void bleedCheck(Player attacker, Entity x){
|
||||
if(mcm.getInstance().isSwords(attacker.getItemInHand()) && !mcConfig.getInstance().isBleedTracked(x)){
|
||||
if(mcUsers.getProfile(attacker).getSwordsInt() >= 50 && mcUsers.getProfile(attacker).getSwordsInt() < 200){
|
||||
if(Math.random() * 10 > 8){
|
||||
mcConfig.getInstance().addBleedTrack(x, 4);
|
||||
attacker.sendMessage(ChatColor.RED+"**Your target is bleeding**");
|
||||
}
|
||||
} else if(mcUsers.getProfile(attacker).getSwordsInt() >= 200 && mcUsers.getProfile(attacker).getSwordsInt() < 600){
|
||||
if(Math.random() * 10 > 6){
|
||||
mcConfig.getInstance().addBleedTrack(x, 4);
|
||||
attacker.sendMessage(ChatColor.RED+"**Your target is bleeding**");
|
||||
}
|
||||
} else if(mcUsers.getProfile(attacker).getSwordsInt() >= 600 && mcUsers.getProfile(attacker).getSwordsInt() < 900){
|
||||
if(Math.random() * 10 > 4){
|
||||
mcConfig.getInstance().addBleedTrack(x, 6);
|
||||
attacker.sendMessage(ChatColor.RED+"**Your target is bleeding**");
|
||||
}
|
||||
} else if(mcUsers.getProfile(attacker).getSwordsInt() >= 900){
|
||||
if(Math.random() * 100 > 75){
|
||||
mcConfig.getInstance().addBleedTrack(x, 6);
|
||||
attacker.sendMessage(ChatColor.RED+"**Your target is bleeding**");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public void playerVersusPlayerChecks(Entity x, Player attacker, EntityDamageByEntityEvent event, Plugin plugin){
|
||||
if(x instanceof Player){
|
||||
if(mcLoadProperties.pvp == false){
|
||||
@ -709,10 +786,14 @@ public class mcm {
|
||||
return;
|
||||
}
|
||||
}
|
||||
mcUsers.getProfile(defender).setRecentlyHurt(60);
|
||||
/*
|
||||
* AXE CRITICAL CHECK
|
||||
*/
|
||||
axeCriticalCheckPlayer(attacker, event, x, plugin);
|
||||
if(!mcConfig.getInstance().isBleedTracked(x)){
|
||||
bleedCheck(attacker, x);
|
||||
}
|
||||
if(mcPermissions.getInstance().unarmed(attacker) && attacker.getItemInHand().getTypeId() == 0){
|
||||
//DMG MODIFIER
|
||||
if(mcUsers.getProfile(attacker).getUnarmedInt() >= 50 && mcUsers.getProfile(attacker).getUnarmedInt() < 100){
|
||||
@ -793,6 +874,9 @@ public class mcm {
|
||||
}
|
||||
public void playerVersusSquidChecks(EntityDamageByEntityEvent event, Player attacker, Entity x, int type){
|
||||
if(x instanceof Squid){
|
||||
if(!mcConfig.getInstance().isBleedTracked(x)){
|
||||
bleedCheck(attacker, x);
|
||||
}
|
||||
Squid defender = (Squid)event.getEntity();
|
||||
if(isSwords(attacker.getItemInHand()) && defender.getHealth() > 0 && mcPermissions.getInstance().swords(attacker)){
|
||||
mcUsers.getProfile(attacker).addSwordsGather(10);
|
||||
@ -872,6 +956,9 @@ public class mcm {
|
||||
}
|
||||
public void playerVersusAnimalsChecks(Entity x, Player attacker, EntityDamageByEntityEvent event, int type){
|
||||
if(x instanceof Animals){
|
||||
if(!mcConfig.getInstance().isBleedTracked(x)){
|
||||
bleedCheck(attacker, x);
|
||||
}
|
||||
Animals defender = (Animals)event.getEntity();
|
||||
if(isAxes(attacker.getItemInHand()) && mcPermissions.getInstance().axes(attacker)){
|
||||
if(defender.getHealth() <= 0)
|
||||
@ -908,45 +995,15 @@ public class mcm {
|
||||
}
|
||||
}
|
||||
}
|
||||
public void playerDeathByMonsterMessageCheck(Entity y, Player defender, Plugin plugin){
|
||||
if(y instanceof Monster){
|
||||
if(mcUsers.getProfile(defender).isDead())
|
||||
return;
|
||||
if(defender.getHealth() <= 0){
|
||||
mcm.getInstance().simulateNaturalDrops(defender);
|
||||
if(y instanceof Creeper){
|
||||
mcUsers.getProfile(defender).setDead(true);
|
||||
for(Player derp : plugin.getServer().getOnlinePlayers()){
|
||||
derp.sendMessage(ChatColor.GRAY + "A "+ChatColor.DARK_GREEN+"Creeper"+ChatColor.GRAY+" has killed "+ChatColor.DARK_RED+defender.getName());
|
||||
}
|
||||
}
|
||||
if(y instanceof Skeleton){
|
||||
mcUsers.getProfile(defender).setDead(true);
|
||||
for(Player derp : plugin.getServer().getOnlinePlayers()){
|
||||
derp.sendMessage(ChatColor.GRAY + "A "+ChatColor.WHITE+"Skeleton"+ChatColor.GRAY+" has killed "+ChatColor.DARK_RED+defender.getName());
|
||||
}
|
||||
}
|
||||
if(y instanceof Spider){
|
||||
mcUsers.getProfile(defender).setDead(true);
|
||||
for(Player derp : plugin.getServer().getOnlinePlayers()){
|
||||
derp.sendMessage(ChatColor.GRAY + "A "+ChatColor.DARK_PURPLE+"Spider"+ChatColor.GRAY+" has killed "+ChatColor.DARK_RED+defender.getName());
|
||||
}
|
||||
}
|
||||
if(y instanceof Zombie){
|
||||
mcUsers.getProfile(defender).setDead(true);
|
||||
for(Player derp : plugin.getServer().getOnlinePlayers()){
|
||||
derp.sendMessage(ChatColor.GRAY + "A "+ChatColor.DARK_AQUA+"Zombie"+ChatColor.GRAY+" has killed "+ChatColor.DARK_RED+defender.getName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
public void playerVersusMonsterChecks(EntityDamageByEntityEvent event, Player attacker, Entity x, int type){
|
||||
if(x instanceof Monster){
|
||||
/*
|
||||
* AXE PROC CHECKS
|
||||
*/
|
||||
axeCriticalCheckMonster(attacker, event, x);
|
||||
if(!mcConfig.getInstance().isBleedTracked(x)){
|
||||
bleedCheck(attacker, x);
|
||||
}
|
||||
Monster defender = (Monster)event.getEntity();
|
||||
if(isSwords(attacker.getItemInHand())
|
||||
&& defender.getHealth() > 0
|
||||
@ -1004,8 +1061,9 @@ public class mcm {
|
||||
if(mcUsers.getProfile(attacker).getAxesInt() >= 500){
|
||||
defender.setHealth(calculateDamage(defender, (4 - axeNerf(attacker.getItemInHand().getTypeId()))));
|
||||
}
|
||||
if(defender.getHealth() <= 0)
|
||||
mcm.getInstance().simulateNaturalDrops(defender);
|
||||
if(defender.getHealth() <= 0 || defender.getHealth() - event.getDamage() <= 0){
|
||||
simulateNaturalDrops(defender);
|
||||
}
|
||||
}
|
||||
if(type == 0 && mcPermissions.getInstance().unarmed(attacker)){
|
||||
if(defender.getHealth() <= 0)
|
||||
@ -1047,8 +1105,9 @@ public class mcm {
|
||||
}
|
||||
attacker.sendMessage(ChatColor.YELLOW+"Unarmed skill increased by "+skillups+"."+" Total ("+mcUsers.getProfile(attacker).getUnarmed()+")");
|
||||
}
|
||||
if(defender.getHealth() <= 0)
|
||||
mcm.getInstance().simulateNaturalDrops(defender);
|
||||
if(defender.getHealth() <= 0 || defender.getHealth() - event.getDamage() <= 0){
|
||||
simulateNaturalDrops(defender);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1108,7 +1167,7 @@ public class mcm {
|
||||
Animals animal = (Animals)x;
|
||||
animal.setHealth(0);
|
||||
simulateNaturalDrops(x);
|
||||
attacker.sendMessage(ChatColor.RED+"CRTICIAL HIT!");
|
||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1118,7 +1177,7 @@ public class mcm {
|
||||
Animals animal = (Animals)x;
|
||||
animal.setHealth(0);
|
||||
simulateNaturalDrops(x);
|
||||
attacker.sendMessage(ChatColor.RED+"CRTICIAL HIT!");
|
||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1128,7 +1187,7 @@ public class mcm {
|
||||
Animals animal = (Animals)x;
|
||||
animal.setHealth(0);
|
||||
simulateNaturalDrops(x);
|
||||
attacker.sendMessage(ChatColor.RED+"CRTICIAL HIT!");
|
||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1138,7 +1197,7 @@ public class mcm {
|
||||
Animals animal = (Animals)x;
|
||||
animal.setHealth(0);
|
||||
simulateNaturalDrops(x);
|
||||
attacker.sendMessage(ChatColor.RED+"CRTICIAL HIT!");
|
||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1148,7 +1207,7 @@ public class mcm {
|
||||
Animals animal = (Animals)x;
|
||||
animal.setHealth(0);
|
||||
simulateNaturalDrops(x);
|
||||
attacker.sendMessage(ChatColor.RED+"CRTICIAL HIT!");
|
||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1162,7 +1221,7 @@ public class mcm {
|
||||
Monster monster = (Monster)x;
|
||||
monster.setHealth(0);
|
||||
simulateNaturalDrops(x);
|
||||
attacker.sendMessage(ChatColor.RED+"CRTICIAL HIT!");
|
||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1172,7 +1231,7 @@ public class mcm {
|
||||
Monster monster = (Monster)x;
|
||||
monster.setHealth(0);
|
||||
simulateNaturalDrops(x);
|
||||
attacker.sendMessage(ChatColor.RED+"CRTICIAL HIT!");
|
||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1182,7 +1241,7 @@ public class mcm {
|
||||
Monster monster = (Monster)x;
|
||||
monster.setHealth(0);
|
||||
simulateNaturalDrops(x);
|
||||
attacker.sendMessage(ChatColor.RED+"CRTICIAL HIT!");
|
||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1192,7 +1251,7 @@ public class mcm {
|
||||
Monster monster = (Monster)x;
|
||||
monster.setHealth(0);
|
||||
simulateNaturalDrops(x);
|
||||
attacker.sendMessage(ChatColor.RED+"CRTICIAL HIT!");
|
||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1202,7 +1261,7 @@ public class mcm {
|
||||
Monster monster = (Monster)x;
|
||||
monster.setHealth(0);
|
||||
simulateNaturalDrops(x);
|
||||
attacker.sendMessage(ChatColor.RED+"CRTICIAL HIT!");
|
||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1215,7 +1274,7 @@ public class mcm {
|
||||
if(x instanceof Player){
|
||||
Player player = (Player)x;
|
||||
player.setHealth(calculateDamage(player, (player.getHealth() - event.getDamage())));
|
||||
attacker.sendMessage(ChatColor.RED+"CRTICIAL HIT!");
|
||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||
player.sendMessage(ChatColor.DARK_RED + "You were CRITICALLY hit!");
|
||||
}
|
||||
}
|
||||
@ -1225,7 +1284,7 @@ public class mcm {
|
||||
if(x instanceof Player){
|
||||
Player player = (Player)x;
|
||||
player.setHealth(calculateDamage(player, (player.getHealth() - event.getDamage())));
|
||||
attacker.sendMessage(ChatColor.RED+"CRTICIAL HIT!");
|
||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||
player.sendMessage(ChatColor.DARK_RED + "You were CRITICALLY hit!");
|
||||
}
|
||||
}
|
||||
@ -1235,7 +1294,7 @@ public class mcm {
|
||||
if(x instanceof Player){
|
||||
Player player = (Player)x;
|
||||
player.setHealth(calculateDamage(player, (player.getHealth() - event.getDamage())));
|
||||
attacker.sendMessage(ChatColor.RED+"CRTICIAL HIT!");
|
||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||
player.sendMessage(ChatColor.DARK_RED + "You were CRITICALLY hit!");
|
||||
}
|
||||
}
|
||||
@ -1245,7 +1304,7 @@ public class mcm {
|
||||
if(x instanceof Player){
|
||||
Player player = (Player)x;
|
||||
player.setHealth(calculateDamage(player, (player.getHealth() - event.getDamage())));
|
||||
attacker.sendMessage(ChatColor.RED+"CRTICIAL HIT!");
|
||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||
player.sendMessage(ChatColor.DARK_RED + "You were CRITICALLY hit!");
|
||||
}
|
||||
}
|
||||
@ -1255,7 +1314,7 @@ public class mcm {
|
||||
if(x instanceof Player){
|
||||
Player player = (Player)x;
|
||||
player.setHealth(calculateDamage(player, (player.getHealth() - event.getDamage())));
|
||||
attacker.sendMessage(ChatColor.RED+"CRTICIAL HIT!");
|
||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||
player.sendMessage(ChatColor.DARK_RED + "You were CRITICALLY hit!");
|
||||
}
|
||||
}
|
||||
@ -1334,90 +1393,81 @@ public class mcm {
|
||||
public void mcmmoHelpCheck(String[] split, Player player, PlayerChatEvent event){
|
||||
if(split[0].equalsIgnoreCase("/woodcutting")){
|
||||
event.setCancelled(true);
|
||||
player.sendMessage(ChatColor.GREEN+"~~WOODCUTTING INFO~~");
|
||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Chop down trees.");
|
||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
||||
player.sendMessage(ChatColor.GRAY+"Double Drops start to happen at 10 woodcutting skill");
|
||||
player.sendMessage(ChatColor.GRAY+"and it gets more frequent from there.");
|
||||
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"WOODCUTTING"+ChatColor.RED+"[]-----");
|
||||
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Chopping down trees");
|
||||
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Double Drops: "+ChatColor.GREEN+"Double the normal loot");
|
||||
}
|
||||
if(split[0].equalsIgnoreCase("/archery")){
|
||||
event.setCancelled(true);
|
||||
player.sendMessage(ChatColor.GREEN+"~~ARCHERY INFO~~");
|
||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Shooting monsters.");
|
||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
||||
player.sendMessage(ChatColor.GRAY+"Damage scales with Archery skill");
|
||||
player.sendMessage(ChatColor.GRAY+"Chance to daze player opponents with high skill lvl");
|
||||
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"ARCHERY"+ChatColor.RED+"[]-----");
|
||||
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Attacking Monsters");
|
||||
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Daze (Monsters): "+ChatColor.GREEN+"Enemies lose interest for 1 second");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Daze (Players): "+ChatColor.GREEN+"Disorients foes");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Damage+: "+ChatColor.GREEN+"Modifies Damage");
|
||||
}
|
||||
if(split[0].equalsIgnoreCase("/axes")){
|
||||
event.setCancelled(true);
|
||||
player.sendMessage(ChatColor.GREEN+"~~AXES INFO~~");
|
||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Hacking up Monsters.");
|
||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
||||
player.sendMessage(ChatColor.GRAY+"Damage with Axes changes after 500 skill");
|
||||
player.sendMessage(ChatColor.GRAY+"Chance to do critical hits scales with skill");
|
||||
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"AXES"+ChatColor.RED+"[]-----");
|
||||
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Attacking Monsters");
|
||||
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Critical Strikes (Monster): "+ChatColor.GREEN+"Instant kill");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Critical Strikes (Players): "+ChatColor.GREEN+"Double Damage");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Axe Mastery (500 SKILL): "+ChatColor.GREEN+"Modifies Damage");
|
||||
}
|
||||
if(split[0].equalsIgnoreCase("/swords")){
|
||||
event.setCancelled(true);
|
||||
player.sendMessage(ChatColor.GREEN+"~~SWORDS INFO~~");
|
||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Slicing up monsters");
|
||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
||||
player.sendMessage(ChatColor.GRAY+"Parrying. It negates damage.");
|
||||
player.sendMessage(ChatColor.GRAY+"Chance to parry scales with skill.");
|
||||
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"SWORDS"+ChatColor.RED+"[]-----");
|
||||
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Attacking Monsters");
|
||||
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Parrying: "+ChatColor.GREEN+"Negates Damage");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Bleed: "+ChatColor.GREEN+"Apply a 2 second bleed DoT to enemies");
|
||||
}
|
||||
if(split[0].equalsIgnoreCase("/acrobatics")){
|
||||
event.setCancelled(true);
|
||||
player.sendMessage(ChatColor.GREEN+"~~ACROBATICS INFO~~");
|
||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Spraining ankles.");
|
||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
||||
player.sendMessage(ChatColor.GRAY+"Rolling. Negates fall damage.");
|
||||
player.sendMessage(ChatColor.GRAY+"Chance to roll scales with skill.");
|
||||
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"ACROBATICS"+ChatColor.RED+"[]-----");
|
||||
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Falling");
|
||||
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Roll: "+ChatColor.GREEN+"Negates Damage");
|
||||
}
|
||||
if(split[0].equalsIgnoreCase("/mining")){
|
||||
event.setCancelled(true);
|
||||
player.sendMessage(ChatColor.GREEN+"~~MINING INFO~~");
|
||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Mining ore and stone,");
|
||||
player.sendMessage(ChatColor.DARK_GRAY+"the xp rate depends entirely upon the rarity of what you're harvesting.");
|
||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
||||
player.sendMessage(ChatColor.GRAY+"Double Drops start to happen at 25 Mining skill,");
|
||||
player.sendMessage(ChatColor.GRAY+"and the chance for it increases with skill.");
|
||||
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"MINING"+ChatColor.RED+"[]-----");
|
||||
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Mining Stone & Ore");
|
||||
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Double Drops: "+ChatColor.GREEN+"Double the normal loot");
|
||||
}
|
||||
if(split[0].equalsIgnoreCase("/repair")){
|
||||
event.setCancelled(true);
|
||||
player.sendMessage(ChatColor.GREEN+"~~REPAIR INFO~~");
|
||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Repairing tools and armor.");
|
||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
||||
player.sendMessage(ChatColor.GRAY+"High skill levels make a proc to fully repair items happen more often.");
|
||||
player.sendMessage(ChatColor.GREEN+"~~USE~~");
|
||||
player.sendMessage(ChatColor.GRAY+"Approach an Anvil (Iron Block) with the item you wish ");
|
||||
player.sendMessage(ChatColor.GRAY+"to repair in hand, right click to consume resources of the");
|
||||
player.sendMessage(ChatColor.GRAY+"same type to repair it. This does not work for stone/wood/gold");
|
||||
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"REPAIR"+ChatColor.RED+"[]-----");
|
||||
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Repairing");
|
||||
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Repair: "+ChatColor.GREEN+"Repair Iron Tools & Armor");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Diamond Repair (50+ SKILL): "+ChatColor.GREEN+"Repair Diamond Tools & Armor");
|
||||
}
|
||||
if(split[0].equalsIgnoreCase("/unarmed")){
|
||||
event.setCancelled(true);
|
||||
player.sendMessage(ChatColor.GREEN+"~~UNARMED INFO~~");
|
||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Punching monsters and players.");
|
||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
||||
player.sendMessage(ChatColor.GRAY+"Damage scales with unarmed skill. The first damage increase");
|
||||
player.sendMessage(ChatColor.DARK_GRAY+"happens at 50 skill. At very high skill levels, you will");
|
||||
player.sendMessage(ChatColor.DARK_GRAY+"gain a proc to disarm player opponents on hit");
|
||||
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"UNARMED"+ChatColor.RED+"[]-----");
|
||||
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Attacking Monsters");
|
||||
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Disarm (Players): "+ChatColor.GREEN+"Drops the foes item held in hand");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Damage+: "+ChatColor.GREEN+"Modifies Damage");
|
||||
}
|
||||
if(split[0].equalsIgnoreCase("/herbalism")){
|
||||
event.setCancelled(true);
|
||||
player.sendMessage(ChatColor.GREEN+"~~HERBALISM INFO~~");
|
||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Farming and picking herbs.");
|
||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
||||
player.sendMessage(ChatColor.GRAY+"Increases healing effects of bread and stew.");
|
||||
player.sendMessage(ChatColor.GRAY+"Allows for chance to receive double drops based on skill");
|
||||
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"HERBALISM"+ChatColor.RED+"[]-----");
|
||||
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Harvesting Herbs");
|
||||
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Food+: "+ChatColor.GREEN+"Modifies health received from bread/stew");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Double Drops (Wheat): "+ChatColor.GREEN+"Double the normal loot");
|
||||
}
|
||||
if(split[0].equalsIgnoreCase("/excavation")){
|
||||
event.setCancelled(true);
|
||||
player.sendMessage(ChatColor.GREEN+"~~EXCAVATION INFO~~");
|
||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Digging.");
|
||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
||||
player.sendMessage(ChatColor.GRAY+"You will find treasures while digging based on your excavation,");
|
||||
player.sendMessage(ChatColor.GRAY+"and at high levels the rewards are quite nice. The items you get");
|
||||
player.sendMessage(ChatColor.GRAY+"depend on the block you're digging.");
|
||||
player.sendMessage(ChatColor.GRAY+"Different blocks give diffrent stuff.");
|
||||
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"ARCHERY"+ChatColor.RED+"[]-----");
|
||||
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Digging and finding treasures");
|
||||
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||
player.sendMessage(ChatColor.DARK_AQUA+"Treasure Hunter: "+ChatColor.GREEN+"Ability to dig for treasure");
|
||||
}
|
||||
if(split[0].equalsIgnoreCase("/"+mcLoadProperties.mcmmo)){
|
||||
event.setCancelled(true);
|
||||
@ -1481,25 +1531,20 @@ public class mcm {
|
||||
if(block != null
|
||||
&& block.getTypeId() == 42
|
||||
&& mcPermissions.getInstance().repair(player)){
|
||||
player.sendMessage("DEBUG CODE 0");
|
||||
short durability = is.getDurability();
|
||||
if(player.getItemInHand().getDurability() > 0){
|
||||
//player.sendMessage("DEBUG CODE 1");
|
||||
/*
|
||||
* ARMOR
|
||||
*/
|
||||
if(mcm.getInstance().isArmor(is) && block.getTypeId() == 42){
|
||||
//player.sendMessage("DEBUG CODE 2");
|
||||
/*
|
||||
* DIAMOND ARMOR
|
||||
*/
|
||||
if(mcm.getInstance().isDiamondArmor(is) && mcm.getInstance().hasDiamond(player) && mcUsers.getProfile(player).getRepairInt() >= 50){
|
||||
//player.sendMessage("DEBUG CODE 3");
|
||||
mcm.getInstance().removeDiamond(player);
|
||||
player.getItemInHand().setDurability(mcm.getInstance().getArmorRepairAmount(is, player));
|
||||
mcUsers.getProfile(player).addRepairGather(50);
|
||||
} else if (mcm.getInstance().isIronArmor(is) && mcm.getInstance().hasIron(player)){
|
||||
//player.sendMessage("DEBUG CODE 3");
|
||||
/*
|
||||
* IRON ARMOR
|
||||
*/
|
||||
@ -1517,17 +1562,14 @@ public class mcm {
|
||||
* TOOLS
|
||||
*/
|
||||
if(mcm.getInstance().isTools(is) && block.getTypeId() == 42){
|
||||
//player.sendMessage("DEBUG CODE 4");
|
||||
/*
|
||||
* IRON TOOLS
|
||||
*/
|
||||
if(mcm.getInstance().isIronTools(is) && mcm.getInstance().hasIron(player)){
|
||||
//player.sendMessage("DEBUG CODE 5");
|
||||
is.setDurability(mcm.getInstance().getToolRepairAmount(is, durability, player));
|
||||
mcm.getInstance().removeIron(player);
|
||||
mcUsers.getProfile(player).addRepairGather(20);
|
||||
} else if (mcm.getInstance().isDiamondTools(is) && mcm.getInstance().hasDiamond(player) && mcUsers.getProfile(player).getRepairInt() >= 50){ //Check if its diamond and the player has diamonds
|
||||
//player.sendMessage("DEBUG CODE 5");
|
||||
/*
|
||||
* DIAMOND TOOLS
|
||||
*/
|
||||
|
@ -1,3 +1,3 @@
|
||||
name: mcMMO
|
||||
main: com.gmail.nossr50.mcMMO
|
||||
version: 0.7.10
|
||||
version: 0.8
|
Loading…
Reference in New Issue
Block a user