mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-23 05:36:46 +01:00
All changes up to 0.8
This commit is contained in:
parent
2beaf41057
commit
4cf35a317d
@ -1,5 +1,11 @@
|
|||||||
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.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
|
Version 0.7.9
|
||||||
XP Curve now follows a new formula
|
XP Curve now follows a new formula
|
||||||
Acrobatics XP gains changed
|
Acrobatics XP gains changed
|
||||||
|
@ -7,6 +7,7 @@ import java.util.logging.Logger;
|
|||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.entity.Entity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
@ -19,12 +20,44 @@ public class mcConfig {
|
|||||||
static ArrayList<String> coordsWatchList = new ArrayList<String>();
|
static ArrayList<String> coordsWatchList = new ArrayList<String>();
|
||||||
static ArrayList<Block> blockWatchList = new ArrayList<Block>();
|
static ArrayList<Block> blockWatchList = new ArrayList<Block>();
|
||||||
static ArrayList<String> partyChatList = new ArrayList<String>();
|
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 isBlockWatched(Block block) {return blockWatchList.contains(block);}
|
||||||
public boolean isCoordsWatched(String xyz) {return coordsWatchList.contains(xyz);}
|
public boolean isCoordsWatched(String xyz) {return coordsWatchList.contains(xyz);}
|
||||||
public void removeBlockWatch(Block block) {blockWatchList.remove(blockWatchList.indexOf(block));}
|
public void removeBlockWatch(Block block) {blockWatchList.remove(blockWatchList.indexOf(block));}
|
||||||
public void removeCoordsWatch(String xyz) {coordsWatchList.remove(coordsWatchList.indexOf(xyz));}
|
public void removeCoordsWatch(String xyz) {coordsWatchList.remove(coordsWatchList.indexOf(xyz));}
|
||||||
public void addBlockWatch(Block block) {blockWatchList.add(block);}
|
public void addBlockWatch(Block block) {blockWatchList.add(block);}
|
||||||
public void addCoordsWatch(String xyz) {coordsWatchList.add(xyz);}
|
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 isAdminToggled(String playerName) {return adminChatList.contains(playerName);}
|
||||||
public boolean isPartyToggled(String playerName) {return partyChatList.contains(playerName);}
|
public boolean isPartyToggled(String playerName) {return partyChatList.contains(playerName);}
|
||||||
public void removePartyToggled(String playerName) {partyChatList.remove(partyChatList.indexOf(playerName));}
|
public void removePartyToggled(String playerName) {partyChatList.remove(partyChatList.indexOf(playerName));}
|
||||||
|
@ -71,6 +71,9 @@ public class mcEntityListener extends EntityListener {
|
|||||||
*/
|
*/
|
||||||
if(e instanceof Player){
|
if(e instanceof Player){
|
||||||
Player defender = (Player)e;
|
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
|
* PARRYING CHECK, CHECK TO SEE IF ITS A SUCCESSFUL PARRY OR NOT
|
||||||
*/
|
*/
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package com.gmail.nossr50;
|
package com.gmail.nossr50;
|
||||||
|
|
||||||
public class mcLoadProperties {
|
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 String mcmmo, mcc, stats, mmoedit, ptp, party, myspawn, setmyspawn, whois, invite, accept, clearmyspawn;
|
||||||
public static int xpmodifier;
|
public static int xpmodifier;
|
||||||
|
|
||||||
@ -25,6 +25,7 @@ public class mcLoadProperties {
|
|||||||
/*
|
/*
|
||||||
* EXCAVATION LOOT TOGGLES
|
* EXCAVATION LOOT TOGGLES
|
||||||
*/
|
*/
|
||||||
|
myspawnclearsinventory = properties.getBoolean("myspawnclearsinventory", true);
|
||||||
glowstone = properties.getBoolean("glowstone", true);
|
glowstone = properties.getBoolean("glowstone", true);
|
||||||
pvp = properties.getBoolean("pvp", true);
|
pvp = properties.getBoolean("pvp", true);
|
||||||
eggs = properties.getBoolean("eggs", true);
|
eggs = properties.getBoolean("eggs", true);
|
||||||
|
@ -9,6 +9,7 @@ import java.io.File;
|
|||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Timer;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import org.bukkit.event.player.*;
|
import org.bukkit.event.player.*;
|
||||||
@ -33,6 +34,7 @@ public class mcMMO extends JavaPlugin {
|
|||||||
private final String name = "mcMMO";
|
private final String name = "mcMMO";
|
||||||
public static PermissionHandler PermissionsHandler = null;
|
public static PermissionHandler PermissionsHandler = null;
|
||||||
private Permissions permissions;
|
private Permissions permissions;
|
||||||
|
private Timer mcMMO_Timer = new Timer(true);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
public mcMMO(PluginLoader pluginLoader, Server instance, PluginDescriptionFile desc, File folder, File plugin, ClassLoader cLoader) {
|
public mcMMO(PluginLoader pluginLoader, Server instance, PluginDescriptionFile desc, File folder, File plugin, ClassLoader cLoader) {
|
||||||
@ -41,6 +43,7 @@ public class mcMMO extends JavaPlugin {
|
|||||||
*/
|
*/
|
||||||
//herp
|
//herp
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
|
mcMMO_Timer.schedule(new mcTimer(this), 0, (long)(1000));
|
||||||
//Make the directory if it does not exist
|
//Make the directory if it does not exist
|
||||||
new File(maindirectory).mkdir();
|
new File(maindirectory).mkdir();
|
||||||
//Make the file if it does not exist
|
//Make the file if it does not exist
|
||||||
|
@ -37,6 +37,13 @@ public class mcPermissions {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public boolean regeneration(Player player){
|
||||||
|
if (permissionsEnabled) {
|
||||||
|
return permission(player, "mcmmo.skills.regeneration");
|
||||||
|
} else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
public boolean motd(Player player) {
|
public boolean motd(Player player) {
|
||||||
if (permissionsEnabled) {
|
if (permissionsEnabled) {
|
||||||
return permission(player, "mcmmo.motd");
|
return permission(player, "mcmmo.motd");
|
||||||
|
@ -423,6 +423,7 @@ public class mcPlayerListener extends PlayerListener {
|
|||||||
}
|
}
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
if(mcUsers.getProfile(player).getMySpawn(player) != null){
|
if(mcUsers.getProfile(player).getMySpawn(player) != null){
|
||||||
|
if(mcLoadProperties.myspawnclearsinventory)
|
||||||
player.getInventory().clear();
|
player.getInventory().clear();
|
||||||
player.setHealth(20);
|
player.setHealth(20);
|
||||||
Location mySpawn = mcUsers.getProfile(player).getMySpawn(player);
|
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,
|
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;
|
archery, swords, axes, invite, acrobatics, repairgather, unarmedgather, herbalismgather, excavationgather, archerygather, swordsgather, axesgather, acrobaticsgather;
|
||||||
private boolean dead;
|
private boolean dead;
|
||||||
|
private int recentlyhurt = 0;
|
||||||
Player thisplayer;
|
Player thisplayer;
|
||||||
char defaultColor;
|
char defaultColor;
|
||||||
|
|
||||||
@ -415,6 +416,17 @@ class PlayerList
|
|||||||
{
|
{
|
||||||
return player.getName().equals(playerName);
|
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){
|
public void skillUpAxes(int newskill){
|
||||||
int x = 0;
|
int x = 0;
|
||||||
if(axes != null){
|
if(axes != null){
|
||||||
@ -1172,6 +1184,11 @@ class PlayerList
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public int getPowerLevel(){
|
||||||
|
int x = 0;
|
||||||
|
x+=getMiningInt()+getRepairInt()+getWoodCuttingInt()+getUnarmedInt()+getHerbalismInt()+getExcavationInt()+getArcheryInt()+getSwordsInt()+getAxesInt()+getAcrobaticsInt();
|
||||||
|
return x;
|
||||||
|
}
|
||||||
public int getMiningGatherInt() {
|
public int getMiningGatherInt() {
|
||||||
if(isInt(gather)){
|
if(isInt(gather)){
|
||||||
return Integer.parseInt(gather);
|
return Integer.parseInt(gather);
|
||||||
|
@ -102,6 +102,15 @@ public class mcm {
|
|||||||
}
|
}
|
||||||
return true;
|
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){
|
public void archeryCheck(EntityDamageByProjectileEvent event){
|
||||||
Entity y = event.getDamager();
|
Entity y = event.getDamager();
|
||||||
Entity x = event.getEntity();
|
Entity x = event.getEntity();
|
||||||
@ -110,16 +119,59 @@ public class mcm {
|
|||||||
*/
|
*/
|
||||||
if(y instanceof Player){
|
if(y instanceof Player){
|
||||||
Player attacker = (Player)y;
|
Player attacker = (Player)y;
|
||||||
/*
|
|
||||||
* DEBUG MESSAGE
|
|
||||||
*/
|
|
||||||
//attacker.sendMessage(event.getProjectile().toString());
|
|
||||||
if(event.getProjectile().toString().equals("CraftArrow") && mcPermissions.getInstance().archery(attacker)){
|
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
|
* Defender is Monster
|
||||||
*/
|
*/
|
||||||
if(x instanceof Monster){
|
if(x instanceof Monster){
|
||||||
Monster defender = (Monster)x;
|
Monster defender = (Monster)x;
|
||||||
|
/*
|
||||||
|
* TRACK ARROWS USED AGAINST THE ENTITY
|
||||||
|
*/
|
||||||
if(mcUsers.getProfile(attacker).getArcheryInt() >= 50 && mcUsers.getProfile(attacker).getArcheryInt() < 250)
|
if(mcUsers.getProfile(attacker).getArcheryInt() >= 50 && mcUsers.getProfile(attacker).getArcheryInt() < 250)
|
||||||
defender.setHealth(mcm.getInstance().calculateDamage(defender, 1));
|
defender.setHealth(mcm.getInstance().calculateDamage(defender, 1));
|
||||||
if(mcUsers.getProfile(attacker).getArcheryInt() >= 250 && mcUsers.getProfile(attacker).getArcheryInt() < 575)
|
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));
|
defender.setHealth(mcm.getInstance().calculateDamage(defender, 4));
|
||||||
if(mcUsers.getProfile(attacker).getArcheryInt() >= 1000)
|
if(mcUsers.getProfile(attacker).getArcheryInt() >= 1000)
|
||||||
defender.setHealth(mcm.getInstance().calculateDamage(defender, 5));
|
defender.setHealth(mcm.getInstance().calculateDamage(defender, 5));
|
||||||
if(defender.getHealth() <= 0)
|
if(defender.getHealth() <= 0){
|
||||||
mcm.getInstance().simulateNaturalDrops(defender);
|
simulateNaturalDrops(defender);
|
||||||
|
}
|
||||||
//XP
|
//XP
|
||||||
if(x instanceof Creeper)
|
if(x instanceof Creeper)
|
||||||
mcUsers.getProfile(attacker).addArcheryGather(10);
|
mcUsers.getProfile(attacker).addArcheryGather(10);
|
||||||
@ -394,8 +447,7 @@ public class mcm {
|
|||||||
mcDropItem(loc, 351);
|
mcDropItem(loc, 351);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
arrowRetrievalCheck(entity);
|
||||||
|
|
||||||
}
|
}
|
||||||
public void mcDropItem(Location loc, int id){
|
public void mcDropItem(Location loc, int id){
|
||||||
if(loc != null){
|
if(loc != null){
|
||||||
@ -696,6 +748,31 @@ public class mcm {
|
|||||||
}
|
}
|
||||||
return false;
|
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){
|
public void playerVersusPlayerChecks(Entity x, Player attacker, EntityDamageByEntityEvent event, Plugin plugin){
|
||||||
if(x instanceof Player){
|
if(x instanceof Player){
|
||||||
if(mcLoadProperties.pvp == false){
|
if(mcLoadProperties.pvp == false){
|
||||||
@ -709,10 +786,14 @@ public class mcm {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
mcUsers.getProfile(defender).setRecentlyHurt(60);
|
||||||
/*
|
/*
|
||||||
* AXE CRITICAL CHECK
|
* AXE CRITICAL CHECK
|
||||||
*/
|
*/
|
||||||
axeCriticalCheckPlayer(attacker, event, x, plugin);
|
axeCriticalCheckPlayer(attacker, event, x, plugin);
|
||||||
|
if(!mcConfig.getInstance().isBleedTracked(x)){
|
||||||
|
bleedCheck(attacker, x);
|
||||||
|
}
|
||||||
if(mcPermissions.getInstance().unarmed(attacker) && attacker.getItemInHand().getTypeId() == 0){
|
if(mcPermissions.getInstance().unarmed(attacker) && attacker.getItemInHand().getTypeId() == 0){
|
||||||
//DMG MODIFIER
|
//DMG MODIFIER
|
||||||
if(mcUsers.getProfile(attacker).getUnarmedInt() >= 50 && mcUsers.getProfile(attacker).getUnarmedInt() < 100){
|
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){
|
public void playerVersusSquidChecks(EntityDamageByEntityEvent event, Player attacker, Entity x, int type){
|
||||||
if(x instanceof Squid){
|
if(x instanceof Squid){
|
||||||
|
if(!mcConfig.getInstance().isBleedTracked(x)){
|
||||||
|
bleedCheck(attacker, x);
|
||||||
|
}
|
||||||
Squid defender = (Squid)event.getEntity();
|
Squid defender = (Squid)event.getEntity();
|
||||||
if(isSwords(attacker.getItemInHand()) && defender.getHealth() > 0 && mcPermissions.getInstance().swords(attacker)){
|
if(isSwords(attacker.getItemInHand()) && defender.getHealth() > 0 && mcPermissions.getInstance().swords(attacker)){
|
||||||
mcUsers.getProfile(attacker).addSwordsGather(10);
|
mcUsers.getProfile(attacker).addSwordsGather(10);
|
||||||
@ -872,6 +956,9 @@ public class mcm {
|
|||||||
}
|
}
|
||||||
public void playerVersusAnimalsChecks(Entity x, Player attacker, EntityDamageByEntityEvent event, int type){
|
public void playerVersusAnimalsChecks(Entity x, Player attacker, EntityDamageByEntityEvent event, int type){
|
||||||
if(x instanceof Animals){
|
if(x instanceof Animals){
|
||||||
|
if(!mcConfig.getInstance().isBleedTracked(x)){
|
||||||
|
bleedCheck(attacker, x);
|
||||||
|
}
|
||||||
Animals defender = (Animals)event.getEntity();
|
Animals defender = (Animals)event.getEntity();
|
||||||
if(isAxes(attacker.getItemInHand()) && mcPermissions.getInstance().axes(attacker)){
|
if(isAxes(attacker.getItemInHand()) && mcPermissions.getInstance().axes(attacker)){
|
||||||
if(defender.getHealth() <= 0)
|
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){
|
public void playerVersusMonsterChecks(EntityDamageByEntityEvent event, Player attacker, Entity x, int type){
|
||||||
if(x instanceof Monster){
|
if(x instanceof Monster){
|
||||||
/*
|
/*
|
||||||
* AXE PROC CHECKS
|
* AXE PROC CHECKS
|
||||||
*/
|
*/
|
||||||
axeCriticalCheckMonster(attacker, event, x);
|
axeCriticalCheckMonster(attacker, event, x);
|
||||||
|
if(!mcConfig.getInstance().isBleedTracked(x)){
|
||||||
|
bleedCheck(attacker, x);
|
||||||
|
}
|
||||||
Monster defender = (Monster)event.getEntity();
|
Monster defender = (Monster)event.getEntity();
|
||||||
if(isSwords(attacker.getItemInHand())
|
if(isSwords(attacker.getItemInHand())
|
||||||
&& defender.getHealth() > 0
|
&& defender.getHealth() > 0
|
||||||
@ -1004,8 +1061,9 @@ public class mcm {
|
|||||||
if(mcUsers.getProfile(attacker).getAxesInt() >= 500){
|
if(mcUsers.getProfile(attacker).getAxesInt() >= 500){
|
||||||
defender.setHealth(calculateDamage(defender, (4 - axeNerf(attacker.getItemInHand().getTypeId()))));
|
defender.setHealth(calculateDamage(defender, (4 - axeNerf(attacker.getItemInHand().getTypeId()))));
|
||||||
}
|
}
|
||||||
if(defender.getHealth() <= 0)
|
if(defender.getHealth() <= 0 || defender.getHealth() - event.getDamage() <= 0){
|
||||||
mcm.getInstance().simulateNaturalDrops(defender);
|
simulateNaturalDrops(defender);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(type == 0 && mcPermissions.getInstance().unarmed(attacker)){
|
if(type == 0 && mcPermissions.getInstance().unarmed(attacker)){
|
||||||
if(defender.getHealth() <= 0)
|
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()+")");
|
attacker.sendMessage(ChatColor.YELLOW+"Unarmed skill increased by "+skillups+"."+" Total ("+mcUsers.getProfile(attacker).getUnarmed()+")");
|
||||||
}
|
}
|
||||||
if(defender.getHealth() <= 0)
|
if(defender.getHealth() <= 0 || defender.getHealth() - event.getDamage() <= 0){
|
||||||
mcm.getInstance().simulateNaturalDrops(defender);
|
simulateNaturalDrops(defender);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1108,7 +1167,7 @@ public class mcm {
|
|||||||
Animals animal = (Animals)x;
|
Animals animal = (Animals)x;
|
||||||
animal.setHealth(0);
|
animal.setHealth(0);
|
||||||
simulateNaturalDrops(x);
|
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;
|
Animals animal = (Animals)x;
|
||||||
animal.setHealth(0);
|
animal.setHealth(0);
|
||||||
simulateNaturalDrops(x);
|
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;
|
Animals animal = (Animals)x;
|
||||||
animal.setHealth(0);
|
animal.setHealth(0);
|
||||||
simulateNaturalDrops(x);
|
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;
|
Animals animal = (Animals)x;
|
||||||
animal.setHealth(0);
|
animal.setHealth(0);
|
||||||
simulateNaturalDrops(x);
|
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;
|
Animals animal = (Animals)x;
|
||||||
animal.setHealth(0);
|
animal.setHealth(0);
|
||||||
simulateNaturalDrops(x);
|
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 monster = (Monster)x;
|
||||||
monster.setHealth(0);
|
monster.setHealth(0);
|
||||||
simulateNaturalDrops(x);
|
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 monster = (Monster)x;
|
||||||
monster.setHealth(0);
|
monster.setHealth(0);
|
||||||
simulateNaturalDrops(x);
|
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 monster = (Monster)x;
|
||||||
monster.setHealth(0);
|
monster.setHealth(0);
|
||||||
simulateNaturalDrops(x);
|
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 monster = (Monster)x;
|
||||||
monster.setHealth(0);
|
monster.setHealth(0);
|
||||||
simulateNaturalDrops(x);
|
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 monster = (Monster)x;
|
||||||
monster.setHealth(0);
|
monster.setHealth(0);
|
||||||
simulateNaturalDrops(x);
|
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){
|
if(x instanceof Player){
|
||||||
Player player = (Player)x;
|
Player player = (Player)x;
|
||||||
player.setHealth(calculateDamage(player, (player.getHealth() - event.getDamage())));
|
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!");
|
player.sendMessage(ChatColor.DARK_RED + "You were CRITICALLY hit!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1225,7 +1284,7 @@ public class mcm {
|
|||||||
if(x instanceof Player){
|
if(x instanceof Player){
|
||||||
Player player = (Player)x;
|
Player player = (Player)x;
|
||||||
player.setHealth(calculateDamage(player, (player.getHealth() - event.getDamage())));
|
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!");
|
player.sendMessage(ChatColor.DARK_RED + "You were CRITICALLY hit!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1235,7 +1294,7 @@ public class mcm {
|
|||||||
if(x instanceof Player){
|
if(x instanceof Player){
|
||||||
Player player = (Player)x;
|
Player player = (Player)x;
|
||||||
player.setHealth(calculateDamage(player, (player.getHealth() - event.getDamage())));
|
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!");
|
player.sendMessage(ChatColor.DARK_RED + "You were CRITICALLY hit!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1245,7 +1304,7 @@ public class mcm {
|
|||||||
if(x instanceof Player){
|
if(x instanceof Player){
|
||||||
Player player = (Player)x;
|
Player player = (Player)x;
|
||||||
player.setHealth(calculateDamage(player, (player.getHealth() - event.getDamage())));
|
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!");
|
player.sendMessage(ChatColor.DARK_RED + "You were CRITICALLY hit!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1255,7 +1314,7 @@ public class mcm {
|
|||||||
if(x instanceof Player){
|
if(x instanceof Player){
|
||||||
Player player = (Player)x;
|
Player player = (Player)x;
|
||||||
player.setHealth(calculateDamage(player, (player.getHealth() - event.getDamage())));
|
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!");
|
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){
|
public void mcmmoHelpCheck(String[] split, Player player, PlayerChatEvent event){
|
||||||
if(split[0].equalsIgnoreCase("/woodcutting")){
|
if(split[0].equalsIgnoreCase("/woodcutting")){
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
player.sendMessage(ChatColor.GREEN+"~~WOODCUTTING INFO~~");
|
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"WOODCUTTING"+ChatColor.RED+"[]-----");
|
||||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Chop down trees.");
|
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Chopping down trees");
|
||||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||||
player.sendMessage(ChatColor.GRAY+"Double Drops start to happen at 10 woodcutting skill");
|
player.sendMessage(ChatColor.DARK_AQUA+"Double Drops: "+ChatColor.GREEN+"Double the normal loot");
|
||||||
player.sendMessage(ChatColor.GRAY+"and it gets more frequent from there.");
|
|
||||||
}
|
}
|
||||||
if(split[0].equalsIgnoreCase("/archery")){
|
if(split[0].equalsIgnoreCase("/archery")){
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
player.sendMessage(ChatColor.GREEN+"~~ARCHERY INFO~~");
|
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"ARCHERY"+ChatColor.RED+"[]-----");
|
||||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Shooting monsters.");
|
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Attacking Monsters");
|
||||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||||
player.sendMessage(ChatColor.GRAY+"Damage scales with Archery skill");
|
player.sendMessage(ChatColor.DARK_AQUA+"Daze (Monsters): "+ChatColor.GREEN+"Enemies lose interest for 1 second");
|
||||||
player.sendMessage(ChatColor.GRAY+"Chance to daze player opponents with high skill lvl");
|
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")){
|
if(split[0].equalsIgnoreCase("/axes")){
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
player.sendMessage(ChatColor.GREEN+"~~AXES INFO~~");
|
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"AXES"+ChatColor.RED+"[]-----");
|
||||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Hacking up Monsters.");
|
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Attacking Monsters");
|
||||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||||
player.sendMessage(ChatColor.GRAY+"Damage with Axes changes after 500 skill");
|
player.sendMessage(ChatColor.DARK_AQUA+"Critical Strikes (Monster): "+ChatColor.GREEN+"Instant kill");
|
||||||
player.sendMessage(ChatColor.GRAY+"Chance to do critical hits scales with skill");
|
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")){
|
if(split[0].equalsIgnoreCase("/swords")){
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
player.sendMessage(ChatColor.GREEN+"~~SWORDS INFO~~");
|
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"SWORDS"+ChatColor.RED+"[]-----");
|
||||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Slicing up monsters");
|
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Attacking Monsters");
|
||||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||||
player.sendMessage(ChatColor.GRAY+"Parrying. It negates damage.");
|
player.sendMessage(ChatColor.DARK_AQUA+"Parrying: "+ChatColor.GREEN+"Negates Damage");
|
||||||
player.sendMessage(ChatColor.GRAY+"Chance to parry scales with skill.");
|
player.sendMessage(ChatColor.DARK_AQUA+"Bleed: "+ChatColor.GREEN+"Apply a 2 second bleed DoT to enemies");
|
||||||
}
|
}
|
||||||
if(split[0].equalsIgnoreCase("/acrobatics")){
|
if(split[0].equalsIgnoreCase("/acrobatics")){
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
player.sendMessage(ChatColor.GREEN+"~~ACROBATICS INFO~~");
|
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"ACROBATICS"+ChatColor.RED+"[]-----");
|
||||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Spraining ankles.");
|
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Falling");
|
||||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||||
player.sendMessage(ChatColor.GRAY+"Rolling. Negates fall damage.");
|
player.sendMessage(ChatColor.DARK_AQUA+"Roll: "+ChatColor.GREEN+"Negates Damage");
|
||||||
player.sendMessage(ChatColor.GRAY+"Chance to roll scales with skill.");
|
|
||||||
}
|
}
|
||||||
if(split[0].equalsIgnoreCase("/mining")){
|
if(split[0].equalsIgnoreCase("/mining")){
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
player.sendMessage(ChatColor.GREEN+"~~MINING INFO~~");
|
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"MINING"+ChatColor.RED+"[]-----");
|
||||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Mining ore and stone,");
|
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Mining Stone & Ore");
|
||||||
player.sendMessage(ChatColor.DARK_GRAY+"the xp rate depends entirely upon the rarity of what you're harvesting.");
|
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
player.sendMessage(ChatColor.DARK_AQUA+"Double Drops: "+ChatColor.GREEN+"Double the normal loot");
|
||||||
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.");
|
|
||||||
}
|
}
|
||||||
if(split[0].equalsIgnoreCase("/repair")){
|
if(split[0].equalsIgnoreCase("/repair")){
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
player.sendMessage(ChatColor.GREEN+"~~REPAIR INFO~~");
|
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"REPAIR"+ChatColor.RED+"[]-----");
|
||||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Repairing tools and armor.");
|
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Repairing");
|
||||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||||
player.sendMessage(ChatColor.GRAY+"High skill levels make a proc to fully repair items happen more often.");
|
player.sendMessage(ChatColor.DARK_AQUA+"Repair: "+ChatColor.GREEN+"Repair Iron Tools & Armor");
|
||||||
player.sendMessage(ChatColor.GREEN+"~~USE~~");
|
player.sendMessage(ChatColor.DARK_AQUA+"Diamond Repair (50+ SKILL): "+ChatColor.GREEN+"Repair Diamond Tools & Armor");
|
||||||
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");
|
|
||||||
}
|
}
|
||||||
if(split[0].equalsIgnoreCase("/unarmed")){
|
if(split[0].equalsIgnoreCase("/unarmed")){
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
player.sendMessage(ChatColor.GREEN+"~~UNARMED INFO~~");
|
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"UNARMED"+ChatColor.RED+"[]-----");
|
||||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Punching monsters and players.");
|
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Attacking Monsters");
|
||||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||||
player.sendMessage(ChatColor.GRAY+"Damage scales with unarmed skill. The first damage increase");
|
player.sendMessage(ChatColor.DARK_AQUA+"Disarm (Players): "+ChatColor.GREEN+"Drops the foes item held in hand");
|
||||||
player.sendMessage(ChatColor.DARK_GRAY+"happens at 50 skill. At very high skill levels, you will");
|
player.sendMessage(ChatColor.DARK_AQUA+"Damage+: "+ChatColor.GREEN+"Modifies Damage");
|
||||||
player.sendMessage(ChatColor.DARK_GRAY+"gain a proc to disarm player opponents on hit");
|
|
||||||
}
|
}
|
||||||
if(split[0].equalsIgnoreCase("/herbalism")){
|
if(split[0].equalsIgnoreCase("/herbalism")){
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
player.sendMessage(ChatColor.GREEN+"~~HERBALISM INFO~~");
|
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"HERBALISM"+ChatColor.RED+"[]-----");
|
||||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Farming and picking herbs.");
|
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Harvesting Herbs");
|
||||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||||
player.sendMessage(ChatColor.GRAY+"Increases healing effects of bread and stew.");
|
player.sendMessage(ChatColor.DARK_AQUA+"Food+: "+ChatColor.GREEN+"Modifies health received from bread/stew");
|
||||||
player.sendMessage(ChatColor.GRAY+"Allows for chance to receive double drops based on skill");
|
player.sendMessage(ChatColor.DARK_AQUA+"Double Drops (Wheat): "+ChatColor.GREEN+"Double the normal loot");
|
||||||
}
|
}
|
||||||
if(split[0].equalsIgnoreCase("/excavation")){
|
if(split[0].equalsIgnoreCase("/excavation")){
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
player.sendMessage(ChatColor.GREEN+"~~EXCAVATION INFO~~");
|
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"ARCHERY"+ChatColor.RED+"[]-----");
|
||||||
player.sendMessage(ChatColor.GREEN+"Gaining Skill: "+ChatColor.DARK_GRAY+"Digging.");
|
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Digging and finding treasures");
|
||||||
player.sendMessage(ChatColor.GREEN+"~~EFFECTS~~");
|
player.sendMessage(ChatColor.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||||
player.sendMessage(ChatColor.GRAY+"You will find treasures while digging based on your excavation,");
|
player.sendMessage(ChatColor.DARK_AQUA+"Treasure Hunter: "+ChatColor.GREEN+"Ability to dig for treasure");
|
||||||
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.");
|
|
||||||
}
|
}
|
||||||
if(split[0].equalsIgnoreCase("/"+mcLoadProperties.mcmmo)){
|
if(split[0].equalsIgnoreCase("/"+mcLoadProperties.mcmmo)){
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
@ -1481,25 +1531,20 @@ public class mcm {
|
|||||||
if(block != null
|
if(block != null
|
||||||
&& block.getTypeId() == 42
|
&& block.getTypeId() == 42
|
||||||
&& mcPermissions.getInstance().repair(player)){
|
&& mcPermissions.getInstance().repair(player)){
|
||||||
player.sendMessage("DEBUG CODE 0");
|
|
||||||
short durability = is.getDurability();
|
short durability = is.getDurability();
|
||||||
if(player.getItemInHand().getDurability() > 0){
|
if(player.getItemInHand().getDurability() > 0){
|
||||||
//player.sendMessage("DEBUG CODE 1");
|
|
||||||
/*
|
/*
|
||||||
* ARMOR
|
* ARMOR
|
||||||
*/
|
*/
|
||||||
if(mcm.getInstance().isArmor(is) && block.getTypeId() == 42){
|
if(mcm.getInstance().isArmor(is) && block.getTypeId() == 42){
|
||||||
//player.sendMessage("DEBUG CODE 2");
|
|
||||||
/*
|
/*
|
||||||
* DIAMOND ARMOR
|
* DIAMOND ARMOR
|
||||||
*/
|
*/
|
||||||
if(mcm.getInstance().isDiamondArmor(is) && mcm.getInstance().hasDiamond(player) && mcUsers.getProfile(player).getRepairInt() >= 50){
|
if(mcm.getInstance().isDiamondArmor(is) && mcm.getInstance().hasDiamond(player) && mcUsers.getProfile(player).getRepairInt() >= 50){
|
||||||
//player.sendMessage("DEBUG CODE 3");
|
|
||||||
mcm.getInstance().removeDiamond(player);
|
mcm.getInstance().removeDiamond(player);
|
||||||
player.getItemInHand().setDurability(mcm.getInstance().getArmorRepairAmount(is, player));
|
player.getItemInHand().setDurability(mcm.getInstance().getArmorRepairAmount(is, player));
|
||||||
mcUsers.getProfile(player).addRepairGather(50);
|
mcUsers.getProfile(player).addRepairGather(50);
|
||||||
} else if (mcm.getInstance().isIronArmor(is) && mcm.getInstance().hasIron(player)){
|
} else if (mcm.getInstance().isIronArmor(is) && mcm.getInstance().hasIron(player)){
|
||||||
//player.sendMessage("DEBUG CODE 3");
|
|
||||||
/*
|
/*
|
||||||
* IRON ARMOR
|
* IRON ARMOR
|
||||||
*/
|
*/
|
||||||
@ -1517,17 +1562,14 @@ public class mcm {
|
|||||||
* TOOLS
|
* TOOLS
|
||||||
*/
|
*/
|
||||||
if(mcm.getInstance().isTools(is) && block.getTypeId() == 42){
|
if(mcm.getInstance().isTools(is) && block.getTypeId() == 42){
|
||||||
//player.sendMessage("DEBUG CODE 4");
|
|
||||||
/*
|
/*
|
||||||
* IRON TOOLS
|
* IRON TOOLS
|
||||||
*/
|
*/
|
||||||
if(mcm.getInstance().isIronTools(is) && mcm.getInstance().hasIron(player)){
|
if(mcm.getInstance().isIronTools(is) && mcm.getInstance().hasIron(player)){
|
||||||
//player.sendMessage("DEBUG CODE 5");
|
|
||||||
is.setDurability(mcm.getInstance().getToolRepairAmount(is, durability, player));
|
is.setDurability(mcm.getInstance().getToolRepairAmount(is, durability, player));
|
||||||
mcm.getInstance().removeIron(player);
|
mcm.getInstance().removeIron(player);
|
||||||
mcUsers.getProfile(player).addRepairGather(20);
|
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
|
} 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
|
* DIAMOND TOOLS
|
||||||
*/
|
*/
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
name: mcMMO
|
name: mcMMO
|
||||||
main: com.gmail.nossr50.mcMMO
|
main: com.gmail.nossr50.mcMMO
|
||||||
version: 0.7.10
|
version: 0.8
|
Loading…
Reference in New Issue
Block a user