mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-26 15:16:45 +01:00
Another WIP of 0.9
This commit is contained in:
parent
c868e8b2ee
commit
a8a35ae7a9
@ -4,18 +4,23 @@ Version 0.9
|
|||||||
--NEW CONTENT--
|
--NEW CONTENT--
|
||||||
Woodcutting now has the "Tree Feller" Ability
|
Woodcutting now has the "Tree Feller" Ability
|
||||||
Mining now has the "Super Breaker" Ability
|
Mining now has the "Super Breaker" Ability
|
||||||
|
Axes now has the "Skull Splitter" Ability
|
||||||
|
Excavation now has the "Giga Drill Breaker" Ability
|
||||||
|
Added /mcrefresh tool for refreshing cooldowns
|
||||||
Unarmed now has the "Deflect Arrows" passive skill
|
Unarmed now has the "Deflect Arrows" passive skill
|
||||||
Chimaera Wing Item Added
|
Chimaera Wing Item Added
|
||||||
|
|
||||||
--CHANGES--
|
--CHANGES--
|
||||||
|
Woodcutting will drop the appropriate log on double drop procs
|
||||||
Herbalism now applies double drops to herbs
|
Herbalism now applies double drops to herbs
|
||||||
/<skillname> now shows much more information to the player regarding their stats
|
/<skillname> now shows much more information to the player regarding their stats
|
||||||
Axes skill Critical Strikes are now based directly on your skill level
|
Axes skill Critical Strikes are now based directly on your skill level
|
||||||
Swords skill Bleed is now based directly on your skill level
|
Swords skill Bleed chance is now based directly on your skill level
|
||||||
Unarmed disarm is now based directly on your skill level
|
Unarmed disarm chance is now based directly on your skill level
|
||||||
Acrobatics now gives XP when you roll
|
Acrobatics now gives XP when you roll
|
||||||
|
|
||||||
--BUGFIXES--
|
--BUGFIXES--
|
||||||
|
Capped skills now have the correct proc chance
|
||||||
/mmoedit is no longer case sensitive
|
/mmoedit is no longer case sensitive
|
||||||
More NPE errors fixed
|
More NPE errors fixed
|
||||||
|
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.gmail.nossr50;
|
package com.gmail.nossr50;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
@ -55,6 +53,21 @@ public class mcBlockListener extends BlockListener {
|
|||||||
Location loc = block.getLocation();
|
Location loc = block.getLocation();
|
||||||
int dmg = event.getDamageLevel().getLevel();
|
int dmg = event.getDamageLevel().getLevel();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* GIGA DRILL BREAKER CHECKS
|
||||||
|
*/
|
||||||
|
if(mcUsers.getProfile(player).getGigaDrillBreakerMode() && dmg == 0 && mcExcavation.getInstance().canBeGigaDrillBroken(block) && mcm.getInstance().isShovel(inhand)){
|
||||||
|
mcExcavation.getInstance().excavationProcCheck(block, player);
|
||||||
|
mcExcavation.getInstance().excavationProcCheck(block, player);
|
||||||
|
mcExcavation.getInstance().excavationProcCheck(block, player);
|
||||||
|
Material mat = Material.getMaterial(block.getTypeId());
|
||||||
|
if(block.getTypeId() == 2)
|
||||||
|
mat = Material.DIRT;
|
||||||
|
byte type = block.getData();
|
||||||
|
ItemStack item = new ItemStack(mat, 1, (byte)0, type);
|
||||||
|
block.setType(Material.AIR);
|
||||||
|
block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item);
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* SUPER BREAKER CHECKS
|
* SUPER BREAKER CHECKS
|
||||||
*/
|
*/
|
||||||
@ -112,8 +125,10 @@ public class mcBlockListener extends BlockListener {
|
|||||||
for(Block blockx : mcConfig.getInstance().getTreeFeller()){
|
for(Block blockx : mcConfig.getInstance().getTreeFeller()){
|
||||||
if(blockx != null){
|
if(blockx != null){
|
||||||
Material mat = Material.getMaterial(block.getTypeId());
|
Material mat = Material.getMaterial(block.getTypeId());
|
||||||
byte damage = 0;
|
byte type = 0;
|
||||||
ItemStack item = new ItemStack(mat, 1, (byte)0, damage);
|
if(block.getTypeId() == 17)
|
||||||
|
type = block.getData();
|
||||||
|
ItemStack item = new ItemStack(mat, 1, (byte)0, type);
|
||||||
if(blockx.getTypeId() == 17){
|
if(blockx.getTypeId() == 17){
|
||||||
blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item);
|
blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item);
|
||||||
mcWoodCutting.getInstance().woodCuttingProcCheck(player, blockx, blockx.getLocation());
|
mcWoodCutting.getInstance().woodCuttingProcCheck(player, blockx, blockx.getLocation());
|
||||||
@ -121,7 +136,7 @@ public class mcBlockListener extends BlockListener {
|
|||||||
}
|
}
|
||||||
if(blockx.getTypeId() == 18){
|
if(blockx.getTypeId() == 18){
|
||||||
mat = Material.getMaterial(6);
|
mat = Material.getMaterial(6);
|
||||||
item = new ItemStack(mat, 1, (byte)0, damage);
|
item = new ItemStack(mat, 1, (byte)0, type);
|
||||||
if(Math.random() * 10 > 8)
|
if(Math.random() * 10 > 8)
|
||||||
blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item);
|
blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item);
|
||||||
}
|
}
|
||||||
|
@ -289,7 +289,7 @@ public class mcCombat {
|
|||||||
Player defender = (Player)x;
|
Player defender = (Player)x;
|
||||||
if(mcPermissions.getInstance().unarmed(defender) && defender.getItemInHand().getTypeId() == 0){
|
if(mcPermissions.getInstance().unarmed(defender) && defender.getItemInHand().getTypeId() == 0){
|
||||||
if(mcUsers.getProfile(defender).getUnarmedInt() >= 1000){
|
if(mcUsers.getProfile(defender).getUnarmedInt() >= 1000){
|
||||||
if(Math.random() * 1000 >= 500){
|
if(Math.random() * 1000 <= 500){
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
defender.sendMessage(ChatColor.WHITE+"**ARROW DEFLECT**");
|
defender.sendMessage(ChatColor.WHITE+"**ARROW DEFLECT**");
|
||||||
return;
|
return;
|
||||||
@ -462,7 +462,7 @@ public class mcCombat {
|
|||||||
}
|
}
|
||||||
public boolean simulateUnarmedProc(Player player){
|
public boolean simulateUnarmedProc(Player player){
|
||||||
if(mcUsers.getProfile(player).getUnarmedInt() >= 750){
|
if(mcUsers.getProfile(player).getUnarmedInt() >= 750){
|
||||||
if(Math.random() * 1000 >= 750){
|
if(Math.random() * 1000 <= 750){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -522,7 +522,7 @@ public class mcCombat {
|
|||||||
public void axeCriticalCheck(Player attacker, EntityDamageByEntityEvent event, Entity x){
|
public void axeCriticalCheck(Player attacker, EntityDamageByEntityEvent event, Entity x){
|
||||||
if(mcm.getInstance().isAxes(attacker.getItemInHand()) && mcPermissions.getInstance().axes(attacker)){
|
if(mcm.getInstance().isAxes(attacker.getItemInHand()) && mcPermissions.getInstance().axes(attacker)){
|
||||||
if(mcUsers.getProfile(attacker).getAxesInt() >= 750){
|
if(mcUsers.getProfile(attacker).getAxesInt() >= 750){
|
||||||
if(Math.random() * 1000 >= 750){
|
if(Math.random() * 1000 <= 750){
|
||||||
event.setDamage(event.getDamage() * 2);
|
event.setDamage(event.getDamage() * 2);
|
||||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||||
if(x instanceof Player){
|
if(x instanceof Player){
|
||||||
|
@ -13,6 +13,7 @@ import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
|||||||
import org.bukkit.event.entity.EntityDeathEvent;
|
import org.bukkit.event.entity.EntityDeathEvent;
|
||||||
import org.bukkit.event.entity.EntityListener;
|
import org.bukkit.event.entity.EntityListener;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.bukkit.util.Vector;
|
||||||
|
|
||||||
public class mcEntityListener extends EntityListener {
|
public class mcEntityListener extends EntityListener {
|
||||||
private final mcMMO plugin;
|
private final mcMMO plugin;
|
||||||
|
@ -19,7 +19,50 @@ public class mcExcavation {
|
|||||||
}
|
}
|
||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
public void gigaDrillBreakerActivationCheck(Player player, Block block){
|
||||||
|
if(mcm.getInstance().isShovel(player.getItemInHand())){
|
||||||
|
if(block != null){
|
||||||
|
if(!mcm.getInstance().abilityBlockCheck(block))
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int ticks = 2;
|
||||||
|
if(mcUsers.getProfile(player).getExcavationInt() >= 50)
|
||||||
|
ticks++;
|
||||||
|
if(mcUsers.getProfile(player).getExcavationInt() >= 150)
|
||||||
|
ticks++;
|
||||||
|
if(mcUsers.getProfile(player).getExcavationInt() >= 250)
|
||||||
|
ticks++;
|
||||||
|
if(mcUsers.getProfile(player).getExcavationInt() >= 350)
|
||||||
|
ticks++;
|
||||||
|
if(mcUsers.getProfile(player).getExcavationInt() >= 450)
|
||||||
|
ticks++;
|
||||||
|
if(mcUsers.getProfile(player).getExcavationInt() >= 550)
|
||||||
|
ticks++;
|
||||||
|
if(mcUsers.getProfile(player).getExcavationInt() >= 650)
|
||||||
|
ticks++;
|
||||||
|
if(mcUsers.getProfile(player).getExcavationInt() >= 750)
|
||||||
|
ticks++;
|
||||||
|
|
||||||
|
if(!mcUsers.getProfile(player).getGigaDrillBreakerMode() && mcUsers.getProfile(player).getGigaDrillBreakerCooldown() == 0){
|
||||||
|
player.sendMessage(ChatColor.GREEN+"**GIGA DRILL BREAKER ACTIVATED**");
|
||||||
|
mcUsers.getProfile(player).setGigaDrillBreakerTicks(ticks);
|
||||||
|
mcUsers.getProfile(player).setGigaDrillBreakerMode(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!mcUsers.getProfile(player).getGigaDrillBreakerMode() && mcUsers.getProfile(player).getGigaDrillBreakerCooldown() >= 1){
|
||||||
|
player.sendMessage(ChatColor.RED+"You are too tired to use that ability again.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public boolean canBeGigaDrillBroken(Block block){
|
||||||
|
int i = block.getTypeId();
|
||||||
|
if(i == 2||i == 3||i == 12||i == 13){
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
public void excavationProcCheck(Block block, Player player){
|
public void excavationProcCheck(Block block, Player player){
|
||||||
int type = block.getTypeId();
|
int type = block.getTypeId();
|
||||||
Location loc = block.getLocation();
|
Location loc = block.getLocation();
|
||||||
|
@ -2,7 +2,7 @@ package com.gmail.nossr50;
|
|||||||
|
|
||||||
public class mcLoadProperties {
|
public class mcLoadProperties {
|
||||||
public static Boolean pvpxp, miningrequirespickaxe, woodcuttingrequiresaxe, pvp, eggs, apples, myspawnclearsinventory, cake, music, diamond, glowstone, slowsand, sulphur, netherrack, bones, coal, clay, anvilmessages;
|
public static Boolean pvpxp, miningrequirespickaxe, woodcuttingrequiresaxe, pvp, eggs, apples, myspawnclearsinventory, cake, music, diamond, glowstone, slowsand, sulphur, netherrack, bones, coal, clay, anvilmessages;
|
||||||
public static String mcmmo, mcc, mcitem, mcgod, stats, mmoedit, ptp, party, myspawn, setmyspawn, whois, invite, accept, clearmyspawn;
|
public static String mcmmo, mcc, mcrefresh, mcitem, mcgod, stats, mmoedit, ptp, party, myspawn, setmyspawn, whois, invite, accept, clearmyspawn;
|
||||||
public static int feathersConsumedByChimaeraWing, pvpxprewardmodifier, repairdiamondlevel, globalxpmodifier, miningxpmodifier, repairxpmodifier, woodcuttingxpmodifier, unarmedxpmodifier, herbalismxpmodifier, excavationxpmodifier, archeryxpmodifier, swordsxpmodifier, axesxpmodifier, acrobaticsxpmodifier;
|
public static int feathersConsumedByChimaeraWing, pvpxprewardmodifier, repairdiamondlevel, globalxpmodifier, miningxpmodifier, repairxpmodifier, woodcuttingxpmodifier, unarmedxpmodifier, herbalismxpmodifier, excavationxpmodifier, archeryxpmodifier, swordsxpmodifier, axesxpmodifier, acrobaticsxpmodifier;
|
||||||
|
|
||||||
public static void loadMain(){
|
public static void loadMain(){
|
||||||
@ -53,9 +53,11 @@ public class mcLoadProperties {
|
|||||||
sulphur = properties.getBoolean("canexcavatesulphur", true);
|
sulphur = properties.getBoolean("canexcavatesulphur", true);
|
||||||
netherrack = properties.getBoolean("canexcavatenetherrack", true);
|
netherrack = properties.getBoolean("canexcavatenetherrack", true);
|
||||||
bones = properties.getBoolean("canexcavatebones", true);
|
bones = properties.getBoolean("canexcavatebones", true);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* CUSTOM COMMANDS
|
* CUSTOM COMMANDS
|
||||||
*/
|
*/
|
||||||
|
mcrefresh = properties.getString("/mcrefresh", "mcrefresh");
|
||||||
mcitem = properties.getString("/mcitem", "mcitem");
|
mcitem = properties.getString("/mcitem", "mcitem");
|
||||||
mcmmo = properties.getString("/mcmmo", "mcmmo");
|
mcmmo = properties.getString("/mcmmo", "mcmmo");
|
||||||
mcc = properties.getString("/mcc", "mcc");
|
mcc = properties.getString("/mcc", "mcc");
|
||||||
|
@ -67,7 +67,7 @@ public class mcMMO extends JavaPlugin {
|
|||||||
PluginManager pm = getServer().getPluginManager();
|
PluginManager pm = getServer().getPluginManager();
|
||||||
pm.registerEvent(Event.Type.PLAYER_JOIN, playerListener, Priority.Normal, this);
|
pm.registerEvent(Event.Type.PLAYER_JOIN, playerListener, Priority.Normal, this);
|
||||||
pm.registerEvent(Event.Type.PLAYER_LOGIN, playerListener, Priority.Normal, this);
|
pm.registerEvent(Event.Type.PLAYER_LOGIN, playerListener, Priority.Normal, this);
|
||||||
pm.registerEvent(Event.Type.BLOCK_DAMAGED, blockListener, Priority.Normal, this);
|
pm.registerEvent(Event.Type.BLOCK_DAMAGED, blockListener, Priority.Low, this);
|
||||||
pm.registerEvent(Event.Type.PLAYER_CHAT, playerListener, Priority.Monitor, this);
|
pm.registerEvent(Event.Type.PLAYER_CHAT, playerListener, Priority.Monitor, this);
|
||||||
pm.registerEvent(Event.Type.PLAYER_COMMAND_PREPROCESS, playerListener, Priority.High, this);
|
pm.registerEvent(Event.Type.PLAYER_COMMAND_PREPROCESS, playerListener, Priority.High, this);
|
||||||
pm.registerEvent(Event.Type.ENTITY_DEATH, entityListener, Priority.Normal, this);
|
pm.registerEvent(Event.Type.ENTITY_DEATH, entityListener, Priority.Normal, this);
|
||||||
@ -76,7 +76,7 @@ public class mcMMO extends JavaPlugin {
|
|||||||
pm.registerEvent(Event.Type.PLAYER_ITEM, playerListener, Priority.Monitor, this);
|
pm.registerEvent(Event.Type.PLAYER_ITEM, playerListener, Priority.Monitor, this);
|
||||||
pm.registerEvent(Event.Type.PLAYER_RESPAWN, playerListener, Priority.Normal, this);
|
pm.registerEvent(Event.Type.PLAYER_RESPAWN, playerListener, Priority.Normal, this);
|
||||||
pm.registerEvent(Event.Type.PLAYER_ITEM_HELD, playerListener, Priority.Normal, this);
|
pm.registerEvent(Event.Type.PLAYER_ITEM_HELD, playerListener, Priority.Normal, this);
|
||||||
pm.registerEvent(Event.Type.ENTITY_DAMAGED, entityListener, Priority.Normal, this);
|
pm.registerEvent(Event.Type.ENTITY_DAMAGED, entityListener, Priority.Low, this);
|
||||||
pm.registerEvent(Event.Type.BLOCK_RIGHTCLICKED, blockListener, Priority.Normal, this);
|
pm.registerEvent(Event.Type.BLOCK_RIGHTCLICKED, blockListener, Priority.Normal, this);
|
||||||
//pm.registerEvent(Event.Type.CREATURE_SPAWN, entityListener, Priority.Normal, this);
|
//pm.registerEvent(Event.Type.CREATURE_SPAWN, entityListener, Priority.Normal, this);
|
||||||
//Displays a message when plugin is loaded
|
//Displays a message when plugin is loaded
|
||||||
|
@ -26,7 +26,7 @@ public class mcMining {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int miningticks = 3;
|
int miningticks = 2;
|
||||||
if(mcUsers.getProfile(player).getMiningInt() >= 50)
|
if(mcUsers.getProfile(player).getMiningInt() >= 50)
|
||||||
miningticks++;
|
miningticks++;
|
||||||
if(mcUsers.getProfile(player).getMiningInt() >= 150)
|
if(mcUsers.getProfile(player).getMiningInt() >= 150)
|
||||||
|
@ -30,6 +30,13 @@ public class mcPermissions {
|
|||||||
private boolean permission(Player player, String string) {
|
private boolean permission(Player player, String string) {
|
||||||
return permissionsPlugin.Security.permission(player, string);
|
return permissionsPlugin.Security.permission(player, string);
|
||||||
}
|
}
|
||||||
|
public boolean mcrefresh(Player player) {
|
||||||
|
if (permissionsEnabled) {
|
||||||
|
return permission(player, "mcmmo.tools.mcrefresh");
|
||||||
|
} else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
public boolean mmoedit(Player player) {
|
public boolean mmoedit(Player player) {
|
||||||
if (permissionsEnabled) {
|
if (permissionsEnabled) {
|
||||||
return permission(player, "mcmmo.tools.mmoedit");
|
return permission(player, "mcmmo.tools.mmoedit");
|
||||||
@ -37,6 +44,13 @@ public class mcPermissions {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public boolean excavationAbility(Player player){
|
||||||
|
if (permissionsEnabled) {
|
||||||
|
return permission(player, "mcmmo.ability.excavation");
|
||||||
|
} else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
public boolean unarmedAbility(Player player){
|
public boolean unarmedAbility(Player player){
|
||||||
if (permissionsEnabled) {
|
if (permissionsEnabled) {
|
||||||
return permission(player, "mcmmo.ability.unarmed");
|
return permission(player, "mcmmo.ability.unarmed");
|
||||||
|
@ -92,6 +92,48 @@ public class mcPlayerListener extends PlayerListener {
|
|||||||
String playerName = player.getName();
|
String playerName = player.getName();
|
||||||
//Check if the command is an mcMMO related help command
|
//Check if the command is an mcMMO related help command
|
||||||
mcm.getInstance().mcmmoHelpCheck(split, player, event);
|
mcm.getInstance().mcmmoHelpCheck(split, player, event);
|
||||||
|
if(mcPermissions.permissionsEnabled && split[0].equalsIgnoreCase("/"+mcLoadProperties.mcrefresh)){
|
||||||
|
event.setCancelled(true);
|
||||||
|
if(!mcPermissions.getInstance().mcrefresh(player)){
|
||||||
|
player.sendMessage(ChatColor.YELLOW+"[mcMMO]"+ChatColor.DARK_RED +" Insufficient permissions.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(split.length >= 2 && isPlayer(split[1])){
|
||||||
|
player.sendMessage("You have refreshed "+split[1]+"'s cooldowns!");
|
||||||
|
player = getPlayer(split[1]);
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* AXE PREPARATION MODE
|
||||||
|
*/
|
||||||
|
mcUsers.getProfile(player).setAxePreparationMode(false);
|
||||||
|
mcUsers.getProfile(player).setAxePreparationTicks(0);
|
||||||
|
/*
|
||||||
|
* GIGA DRILL BREAKER
|
||||||
|
*/
|
||||||
|
mcUsers.getProfile(player).setGigaDrillBreakerCooldown(0);
|
||||||
|
mcUsers.getProfile(player).setGigaDrillBreakerMode(false);
|
||||||
|
mcUsers.getProfile(player).setGigaDrillBreakerTicks(0);
|
||||||
|
/*
|
||||||
|
* SERRATED STRIKE
|
||||||
|
*/
|
||||||
|
mcUsers.getProfile(player).setSerratedStrikesCooldown(0);
|
||||||
|
mcUsers.getProfile(player).setSerratedStrikesMode(false);
|
||||||
|
mcUsers.getProfile(player).setSerratedStrikesTicks(0);
|
||||||
|
/*
|
||||||
|
* SUPER BREAKER
|
||||||
|
*/
|
||||||
|
mcUsers.getProfile(player).setSuperBreakerCooldown(0);
|
||||||
|
mcUsers.getProfile(player).setSuperBreakerMode(false);
|
||||||
|
mcUsers.getProfile(player).setSuperBreakerTicks(0);
|
||||||
|
/*
|
||||||
|
* TREE FELLER
|
||||||
|
*/
|
||||||
|
mcUsers.getProfile(player).setTreeFellerCooldown(0);
|
||||||
|
mcUsers.getProfile(player).setTreeFellerMode(false);
|
||||||
|
mcUsers.getProfile(player).setTreeFellerTicks(0);
|
||||||
|
|
||||||
|
player.sendMessage(ChatColor.GREEN+"**ABILITIES REFRESHED!**");
|
||||||
|
}
|
||||||
if(split[0].equalsIgnoreCase("/"+mcLoadProperties.mcitem)){
|
if(split[0].equalsIgnoreCase("/"+mcLoadProperties.mcitem)){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -38,25 +38,31 @@ public class mcSkills {
|
|||||||
if(mcUsers.getProfile(player).getTreeFellerCooldown() >= 1){
|
if(mcUsers.getProfile(player).getTreeFellerCooldown() >= 1){
|
||||||
mcUsers.getProfile(player).decreaseTreeFellerCooldown();
|
mcUsers.getProfile(player).decreaseTreeFellerCooldown();
|
||||||
if(mcUsers.getProfile(player).getTreeFellerCooldown() == 0){
|
if(mcUsers.getProfile(player).getTreeFellerCooldown() == 0){
|
||||||
player.sendMessage(ChatColor.GREEN+"Your Tree Felling ability is refreshed!");
|
player.sendMessage(ChatColor.GREEN+"Your "+ChatColor.YELLOW+"Tree Feller "+ChatColor.GREEN+"ability is refreshed!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(mcUsers.getProfile(player).getSuperBreakerCooldown() >= 1){
|
if(mcUsers.getProfile(player).getSuperBreakerCooldown() >= 1){
|
||||||
mcUsers.getProfile(player).decreaseSuperBreakerCooldown();
|
mcUsers.getProfile(player).decreaseSuperBreakerCooldown();
|
||||||
if(mcUsers.getProfile(player).getSuperBreakerCooldown() == 0){
|
if(mcUsers.getProfile(player).getSuperBreakerCooldown() == 0){
|
||||||
player.sendMessage(ChatColor.GREEN+"Your Super Breaker ability is refreshed!");
|
player.sendMessage(ChatColor.GREEN+"Your "+ChatColor.YELLOW+"Super Breaker "+ChatColor.GREEN+"ability is refreshed!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(mcUsers.getProfile(player).getSerratedStrikesCooldown() >= 1){
|
if(mcUsers.getProfile(player).getSerratedStrikesCooldown() >= 1){
|
||||||
mcUsers.getProfile(player).decreaseSerratedStrikesCooldown();
|
mcUsers.getProfile(player).decreaseSerratedStrikesCooldown();
|
||||||
if(mcUsers.getProfile(player).getSuperBreakerCooldown() == 0){
|
if(mcUsers.getProfile(player).getSuperBreakerCooldown() == 0){
|
||||||
player.sendMessage(ChatColor.GREEN+"Your Serrated Strikes ability is refreshed!");
|
player.sendMessage(ChatColor.GREEN+"Your "+ChatColor.YELLOW+"Serrated Strikes "+ChatColor.GREEN+"ability is refreshed!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(mcUsers.getProfile(player).getSkullSplitterCooldown() >= 1){
|
if(mcUsers.getProfile(player).getSkullSplitterCooldown() >= 1){
|
||||||
mcUsers.getProfile(player).decreaseSkullSplitterCooldown();
|
mcUsers.getProfile(player).decreaseSkullSplitterCooldown();
|
||||||
if(mcUsers.getProfile(player).getSkullSplitterCooldown() == 0){
|
if(mcUsers.getProfile(player).getSkullSplitterCooldown() == 0){
|
||||||
player.sendMessage(ChatColor.GREEN+"Your Skull Splitter ability is refreshed!");
|
player.sendMessage(ChatColor.GREEN+"Your "+ChatColor.YELLOW+"Skull Splitter "+ChatColor.GREEN+"ability is refreshed!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(mcUsers.getProfile(player).getGigaDrillBreakerCooldown() >= 1){
|
||||||
|
mcUsers.getProfile(player).decreaseGigaDrillBreakerCooldown();
|
||||||
|
if(mcUsers.getProfile(player).getGigaDrillBreakerCooldown() == 0){
|
||||||
|
player.sendMessage(ChatColor.GREEN+"Your "+ChatColor.YELLOW+"Giga Drill Breaker "+ChatColor.GREEN+"ability is refreshed!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -79,6 +85,9 @@ public class mcSkills {
|
|||||||
if(mcPermissions.getInstance().miningability(player)){
|
if(mcPermissions.getInstance().miningability(player)){
|
||||||
mcMining.getInstance().superBreakerCheck(player, block);
|
mcMining.getInstance().superBreakerCheck(player, block);
|
||||||
}
|
}
|
||||||
|
if(mcPermissions.getInstance().excavationAbility(player)){
|
||||||
|
mcExcavation.getInstance().gigaDrillBreakerActivationCheck(player, block);
|
||||||
|
}
|
||||||
axeActivationCheck(player, block);
|
axeActivationCheck(player, block);
|
||||||
}
|
}
|
||||||
public void skullSplitterCheck(Player player){
|
public void skullSplitterCheck(Player player){
|
||||||
@ -90,7 +99,7 @@ public class mcSkills {
|
|||||||
mcUsers.getProfile(player).setAxePreparationMode(false);
|
mcUsers.getProfile(player).setAxePreparationMode(false);
|
||||||
mcUsers.getProfile(player).setAxePreparationTicks(0);
|
mcUsers.getProfile(player).setAxePreparationTicks(0);
|
||||||
}
|
}
|
||||||
int ticks = 3;
|
int ticks = 2;
|
||||||
if(mcUsers.getProfile(player).getAxesInt() >= 50)
|
if(mcUsers.getProfile(player).getAxesInt() >= 50)
|
||||||
ticks++;
|
ticks++;
|
||||||
if(mcUsers.getProfile(player).getAxesInt() >= 150)
|
if(mcUsers.getProfile(player).getAxesInt() >= 150)
|
||||||
@ -136,7 +145,7 @@ public class mcSkills {
|
|||||||
* AXES ABILITY
|
* AXES ABILITY
|
||||||
*/
|
*/
|
||||||
if(mcPermissions.getInstance().axesAbility(player)){
|
if(mcPermissions.getInstance().axesAbility(player)){
|
||||||
//Monitor the length of TreeFeller mode
|
//Monitor the length of Skull Splitter mode
|
||||||
if(mcUsers.getProfile(player).getSkullSplitterMode()){
|
if(mcUsers.getProfile(player).getSkullSplitterMode()){
|
||||||
mcUsers.getProfile(player).decreaseSkullSplitterTicks();
|
mcUsers.getProfile(player).decreaseSkullSplitterTicks();
|
||||||
if(mcUsers.getProfile(player).getSkullSplitterTicks() <= 0){
|
if(mcUsers.getProfile(player).getSkullSplitterTicks() <= 0){
|
||||||
@ -174,6 +183,20 @@ public class mcSkills {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
* EXCAVATION ABILITY
|
||||||
|
*/
|
||||||
|
if(mcPermissions.getInstance().excavationAbility(player)){
|
||||||
|
//Monitor the length of Giga Drill Breaker mode
|
||||||
|
if(mcUsers.getProfile(player).getGigaDrillBreakerMode()){
|
||||||
|
mcUsers.getProfile(player).decreaseGigaDrillBreakerTicks();
|
||||||
|
if(mcUsers.getProfile(player).getGigaDrillBreakerTicks() <= 0){
|
||||||
|
mcUsers.getProfile(player).setGigaDrillBreakerMode(false);
|
||||||
|
mcUsers.getProfile(player).setGigaDrillBreakerCooldown(120);
|
||||||
|
player.sendMessage(ChatColor.GRAY+"**You feel spiral energy leaving you**");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
public void XpCheck(Player player){
|
public void XpCheck(Player player){
|
||||||
/*
|
/*
|
||||||
|
@ -156,8 +156,8 @@ class PlayerList
|
|||||||
protected final Logger log = Logger.getLogger("Minecraft");
|
protected final Logger log = Logger.getLogger("Minecraft");
|
||||||
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, treeFellerMode, superbreakermode, serratedStrikesMode, axePreparationMode, skullSplitterMode;
|
private boolean dead, treeFellerMode, superBreakerMode, gigaDrillBreakerMode, serratedStrikesMode, axePreparationMode, skullSplitterMode;
|
||||||
private int recentlyhurt = 0, bleedticks = 0, superbreakerticks = 0, superbreakercooldown = 0,
|
private int recentlyhurt = 0, bleedticks = 0, gigaDrillBreaker = 0, gigaDrillBreakerCooldown = 0, gigaDrillBreakerTicks = 0, superBreakerTicks = 0, superBreakerCooldown = 0,
|
||||||
serratedStrikesTicks = 0, skullSplitterTicks = 0, skullSplitterCooldown = 0, serratedStrikesCooldown = 0, treeFellerTicks = 0, treeFellerCooldown = 0,
|
serratedStrikesTicks = 0, skullSplitterTicks = 0, skullSplitterCooldown = 0, serratedStrikesCooldown = 0, treeFellerTicks = 0, treeFellerCooldown = 0,
|
||||||
axePreparationTicks = 0;
|
axePreparationTicks = 0;
|
||||||
Player thisplayer;
|
Player thisplayer;
|
||||||
@ -436,7 +436,7 @@ class PlayerList
|
|||||||
bleedticks = newvalue;
|
bleedticks = newvalue;
|
||||||
}
|
}
|
||||||
public Boolean hasCooldowns(){
|
public Boolean hasCooldowns(){
|
||||||
if((treeFellerCooldown + superbreakercooldown) >= 1){
|
if((treeFellerCooldown + superBreakerCooldown) >= 1){
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
@ -524,6 +524,37 @@ class PlayerList
|
|||||||
serratedStrikesCooldown--;
|
serratedStrikesCooldown--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
* GIGA DRILL BREAKER
|
||||||
|
*/
|
||||||
|
public boolean getGigaDrillBreakerMode(){
|
||||||
|
return gigaDrillBreakerMode;
|
||||||
|
}
|
||||||
|
public void setGigaDrillBreakerMode(Boolean bool){
|
||||||
|
gigaDrillBreakerMode = bool;
|
||||||
|
}
|
||||||
|
public Integer getGigaDrillBreakerTicks(){
|
||||||
|
return gigaDrillBreakerTicks;
|
||||||
|
}
|
||||||
|
public void setGigaDrillBreakerTicks(Integer newvalue){
|
||||||
|
gigaDrillBreakerTicks = newvalue;
|
||||||
|
}
|
||||||
|
public void decreaseGigaDrillBreakerTicks(){
|
||||||
|
if(gigaDrillBreakerTicks >= 1){
|
||||||
|
gigaDrillBreakerTicks--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public void setGigaDrillBreakerCooldown(Integer newvalue){
|
||||||
|
gigaDrillBreakerCooldown = newvalue;
|
||||||
|
}
|
||||||
|
public int getGigaDrillBreakerCooldown(){
|
||||||
|
return gigaDrillBreakerCooldown;
|
||||||
|
}
|
||||||
|
public void decreaseGigaDrillBreakerCooldown(){
|
||||||
|
if(gigaDrillBreakerCooldown >= 1){
|
||||||
|
gigaDrillBreakerCooldown--;
|
||||||
|
}
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* TREE FELLER STUFF
|
* TREE FELLER STUFF
|
||||||
*/
|
*/
|
||||||
@ -559,31 +590,31 @@ class PlayerList
|
|||||||
* MINING
|
* MINING
|
||||||
*/
|
*/
|
||||||
public boolean getSuperBreakerMode(){
|
public boolean getSuperBreakerMode(){
|
||||||
return superbreakermode;
|
return superBreakerMode;
|
||||||
}
|
}
|
||||||
public void setSuperBreakerMode(Boolean bool){
|
public void setSuperBreakerMode(Boolean bool){
|
||||||
superbreakermode = bool;
|
superBreakerMode = bool;
|
||||||
}
|
}
|
||||||
public Integer getSuperBreakerTicks(){
|
public Integer getSuperBreakerTicks(){
|
||||||
return superbreakerticks;
|
return superBreakerTicks;
|
||||||
}
|
}
|
||||||
public void setSuperBreakerTicks(Integer newvalue){
|
public void setSuperBreakerTicks(Integer newvalue){
|
||||||
superbreakerticks = newvalue;
|
superBreakerTicks = newvalue;
|
||||||
}
|
}
|
||||||
public void decreaseSuperBreakerTicks(){
|
public void decreaseSuperBreakerTicks(){
|
||||||
if(superbreakerticks >= 1){
|
if(superBreakerTicks >= 1){
|
||||||
superbreakerticks--;
|
superBreakerTicks--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void setSuperBreakerCooldown(Integer newvalue){
|
public void setSuperBreakerCooldown(Integer newvalue){
|
||||||
superbreakercooldown = newvalue;
|
superBreakerCooldown = newvalue;
|
||||||
}
|
}
|
||||||
public int getSuperBreakerCooldown(){
|
public int getSuperBreakerCooldown(){
|
||||||
return superbreakercooldown;
|
return superBreakerCooldown;
|
||||||
}
|
}
|
||||||
public void decreaseSuperBreakerCooldown(){
|
public void decreaseSuperBreakerCooldown(){
|
||||||
if(superbreakercooldown >= 1){
|
if(superBreakerCooldown >= 1){
|
||||||
superbreakercooldown--;
|
superBreakerCooldown--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,10 +26,9 @@ public class mcWoodCutting {
|
|||||||
public void woodCuttingProcCheck(Player player, Block block, Location loc){
|
public void woodCuttingProcCheck(Player player, Block block, Location loc){
|
||||||
byte type = block.getData();
|
byte type = block.getData();
|
||||||
Material mat = Material.getMaterial(block.getTypeId());
|
Material mat = Material.getMaterial(block.getTypeId());
|
||||||
byte damage = 0;
|
|
||||||
if(player != null){
|
if(player != null){
|
||||||
if(Math.random() * 1000 <= mcUsers.getProfile(player).getWoodCuttingInt()){
|
if(Math.random() * 1000 <= mcUsers.getProfile(player).getWoodCuttingInt()){
|
||||||
ItemStack item = new ItemStack(mat, 1, type, damage);
|
ItemStack item = new ItemStack(mat, 1, (short) 0, type);
|
||||||
loc.getWorld().dropItemNaturally(loc, item);
|
loc.getWorld().dropItemNaturally(loc, item);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -48,7 +47,7 @@ public class mcWoodCutting {
|
|||||||
mcUsers.getProfile(player).setAxePreparationMode(false);
|
mcUsers.getProfile(player).setAxePreparationMode(false);
|
||||||
mcUsers.getProfile(player).setAxePreparationTicks(0);
|
mcUsers.getProfile(player).setAxePreparationTicks(0);
|
||||||
}
|
}
|
||||||
int treefellticks = 3;
|
int treefellticks = 2;
|
||||||
if(mcUsers.getProfile(player).getWoodCuttingInt() >= 50)
|
if(mcUsers.getProfile(player).getWoodCuttingInt() >= 50)
|
||||||
treefellticks++;
|
treefellticks++;
|
||||||
if(mcUsers.getProfile(player).getWoodCuttingInt() >= 150)
|
if(mcUsers.getProfile(player).getWoodCuttingInt() >= 150)
|
||||||
|
@ -153,6 +153,13 @@ public class mcm {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public boolean isShovel(ItemStack is){
|
||||||
|
if(is.getTypeId() == 269 || is.getTypeId() == 273 || is.getTypeId() == 277 || is.getTypeId() == 284 || is.getTypeId() == 256){
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
public boolean isAxes(ItemStack is){
|
public boolean isAxes(ItemStack is){
|
||||||
if(is.getTypeId() == 271 || is.getTypeId() == 258 || is.getTypeId() == 286 || is.getTypeId() == 279 || is.getTypeId() == 275){
|
if(is.getTypeId() == 271 || is.getTypeId() == 258 || is.getTypeId() == 286 || is.getTypeId() == 279 || is.getTypeId() == 275){
|
||||||
return true;
|
return true;
|
||||||
@ -171,7 +178,7 @@ public class mcm {
|
|||||||
if(split[0].equalsIgnoreCase("/woodcutting")){
|
if(split[0].equalsIgnoreCase("/woodcutting")){
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
float skillvalue = (float)mcUsers.getProfile(player).getWoodCuttingInt();
|
float skillvalue = (float)mcUsers.getProfile(player).getWoodCuttingInt();
|
||||||
int treefellticks = 3;
|
int treefellticks = 2;
|
||||||
if(mcUsers.getProfile(player).getWoodCuttingInt() >= 50)
|
if(mcUsers.getProfile(player).getWoodCuttingInt() >= 50)
|
||||||
treefellticks++;
|
treefellticks++;
|
||||||
if(mcUsers.getProfile(player).getWoodCuttingInt() >= 150)
|
if(mcUsers.getProfile(player).getWoodCuttingInt() >= 150)
|
||||||
@ -235,7 +242,7 @@ public class mcm {
|
|||||||
} else {
|
} else {
|
||||||
percentage = "75";
|
percentage = "75";
|
||||||
}
|
}
|
||||||
int ticks = 3;
|
int ticks = 2;
|
||||||
if(mcUsers.getProfile(player).getAxesInt() >= 50)
|
if(mcUsers.getProfile(player).getAxesInt() >= 50)
|
||||||
ticks++;
|
ticks++;
|
||||||
if(mcUsers.getProfile(player).getAxesInt() >= 150)
|
if(mcUsers.getProfile(player).getAxesInt() >= 150)
|
||||||
@ -310,7 +317,7 @@ public class mcm {
|
|||||||
if(split[0].equalsIgnoreCase("/mining")){
|
if(split[0].equalsIgnoreCase("/mining")){
|
||||||
float skillvalue = (float)mcUsers.getProfile(player).getMiningInt();
|
float skillvalue = (float)mcUsers.getProfile(player).getMiningInt();
|
||||||
String percentage = String.valueOf((skillvalue / 1000) * 100);
|
String percentage = String.valueOf((skillvalue / 1000) * 100);
|
||||||
int miningticks = 3;
|
int miningticks = 2;
|
||||||
if(mcUsers.getProfile(player).getMiningInt() >= 50)
|
if(mcUsers.getProfile(player).getMiningInt() >= 50)
|
||||||
miningticks++;
|
miningticks++;
|
||||||
if(mcUsers.getProfile(player).getMiningInt() >= 150)
|
if(mcUsers.getProfile(player).getMiningInt() >= 150)
|
||||||
@ -428,10 +435,29 @@ public class mcm {
|
|||||||
}
|
}
|
||||||
if(split[0].equalsIgnoreCase("/excavation")){
|
if(split[0].equalsIgnoreCase("/excavation")){
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
int ticks = 2;
|
||||||
|
if(mcUsers.getProfile(player).getExcavationInt() >= 50)
|
||||||
|
ticks++;
|
||||||
|
if(mcUsers.getProfile(player).getExcavationInt() >= 150)
|
||||||
|
ticks++;
|
||||||
|
if(mcUsers.getProfile(player).getExcavationInt() >= 250)
|
||||||
|
ticks++;
|
||||||
|
if(mcUsers.getProfile(player).getExcavationInt() >= 350)
|
||||||
|
ticks++;
|
||||||
|
if(mcUsers.getProfile(player).getExcavationInt() >= 450)
|
||||||
|
ticks++;
|
||||||
|
if(mcUsers.getProfile(player).getExcavationInt() >= 550)
|
||||||
|
ticks++;
|
||||||
|
if(mcUsers.getProfile(player).getExcavationInt() >= 650)
|
||||||
|
ticks++;
|
||||||
|
if(mcUsers.getProfile(player).getExcavationInt() >= 750)
|
||||||
|
ticks++;
|
||||||
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"EXCAVATION"+ChatColor.RED+"[]-----");
|
player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"EXCAVATION"+ChatColor.RED+"[]-----");
|
||||||
player.sendMessage(ChatColor.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Digging and finding treasures");
|
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.RED+"---[]"+ChatColor.GREEN+"EFFECTS"+ChatColor.RED+"[]---");
|
||||||
|
player.sendMessage(ChatColor.DARK_AQUA+"Giga Drill Breaker (ABILITY): "+ChatColor.GREEN+"3x Drop Rate, 3x EXP, +Speed");
|
||||||
player.sendMessage(ChatColor.DARK_AQUA+"Treasure Hunter: "+ChatColor.GREEN+"Ability to dig for treasure");
|
player.sendMessage(ChatColor.DARK_AQUA+"Treasure Hunter: "+ChatColor.GREEN+"Ability to dig for treasure");
|
||||||
|
player.sendMessage(ChatColor.RED+"Giga Drill Breaker Length: "+ChatColor.YELLOW+(ticks * 2)+"s");
|
||||||
}
|
}
|
||||||
if(split[0].equalsIgnoreCase("/"+mcLoadProperties.mcmmo)){
|
if(split[0].equalsIgnoreCase("/"+mcLoadProperties.mcmmo)){
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
Loading…
Reference in New Issue
Block a user