mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-26 07:06: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--
|
||||
Woodcutting now has the "Tree Feller" 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
|
||||
Chimaera Wing Item Added
|
||||
|
||||
--CHANGES--
|
||||
Woodcutting will drop the appropriate log on double drop procs
|
||||
Herbalism now applies double drops to herbs
|
||||
/<skillname> now shows much more information to the player regarding their stats
|
||||
Axes skill Critical Strikes are now based directly on your skill level
|
||||
Swords skill Bleed is now based directly on your skill level
|
||||
Unarmed disarm is now based directly on your skill level
|
||||
Swords skill Bleed chance 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
|
||||
|
||||
--BUGFIXES--
|
||||
Capped skills now have the correct proc chance
|
||||
/mmoedit is no longer case sensitive
|
||||
More NPE errors fixed
|
||||
|
||||
|
@ -1,7 +1,5 @@
|
||||
package com.gmail.nossr50;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
@ -55,6 +53,21 @@ public class mcBlockListener extends BlockListener {
|
||||
Location loc = block.getLocation();
|
||||
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
|
||||
*/
|
||||
@ -112,8 +125,10 @@ public class mcBlockListener extends BlockListener {
|
||||
for(Block blockx : mcConfig.getInstance().getTreeFeller()){
|
||||
if(blockx != null){
|
||||
Material mat = Material.getMaterial(block.getTypeId());
|
||||
byte damage = 0;
|
||||
ItemStack item = new ItemStack(mat, 1, (byte)0, damage);
|
||||
byte type = 0;
|
||||
if(block.getTypeId() == 17)
|
||||
type = block.getData();
|
||||
ItemStack item = new ItemStack(mat, 1, (byte)0, type);
|
||||
if(blockx.getTypeId() == 17){
|
||||
blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item);
|
||||
mcWoodCutting.getInstance().woodCuttingProcCheck(player, blockx, blockx.getLocation());
|
||||
@ -121,7 +136,7 @@ public class mcBlockListener extends BlockListener {
|
||||
}
|
||||
if(blockx.getTypeId() == 18){
|
||||
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)
|
||||
blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item);
|
||||
}
|
||||
|
@ -289,7 +289,7 @@ public class mcCombat {
|
||||
Player defender = (Player)x;
|
||||
if(mcPermissions.getInstance().unarmed(defender) && defender.getItemInHand().getTypeId() == 0){
|
||||
if(mcUsers.getProfile(defender).getUnarmedInt() >= 1000){
|
||||
if(Math.random() * 1000 >= 500){
|
||||
if(Math.random() * 1000 <= 500){
|
||||
event.setCancelled(true);
|
||||
defender.sendMessage(ChatColor.WHITE+"**ARROW DEFLECT**");
|
||||
return;
|
||||
@ -462,7 +462,7 @@ public class mcCombat {
|
||||
}
|
||||
public boolean simulateUnarmedProc(Player player){
|
||||
if(mcUsers.getProfile(player).getUnarmedInt() >= 750){
|
||||
if(Math.random() * 1000 >= 750){
|
||||
if(Math.random() * 1000 <= 750){
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
@ -522,7 +522,7 @@ public class mcCombat {
|
||||
public void axeCriticalCheck(Player attacker, EntityDamageByEntityEvent event, Entity x){
|
||||
if(mcm.getInstance().isAxes(attacker.getItemInHand()) && mcPermissions.getInstance().axes(attacker)){
|
||||
if(mcUsers.getProfile(attacker).getAxesInt() >= 750){
|
||||
if(Math.random() * 1000 >= 750){
|
||||
if(Math.random() * 1000 <= 750){
|
||||
event.setDamage(event.getDamage() * 2);
|
||||
attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!");
|
||||
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.EntityListener;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.util.Vector;
|
||||
|
||||
public class mcEntityListener extends EntityListener {
|
||||
private final mcMMO plugin;
|
||||
|
@ -19,7 +19,50 @@ public class mcExcavation {
|
||||
}
|
||||
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){
|
||||
int type = block.getTypeId();
|
||||
Location loc = block.getLocation();
|
||||
|
@ -2,7 +2,7 @@ package com.gmail.nossr50;
|
||||
|
||||
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 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 void loadMain(){
|
||||
@ -53,9 +53,11 @@ public class mcLoadProperties {
|
||||
sulphur = properties.getBoolean("canexcavatesulphur", true);
|
||||
netherrack = properties.getBoolean("canexcavatenetherrack", true);
|
||||
bones = properties.getBoolean("canexcavatebones", true);
|
||||
|
||||
/*
|
||||
* CUSTOM COMMANDS
|
||||
*/
|
||||
mcrefresh = properties.getString("/mcrefresh", "mcrefresh");
|
||||
mcitem = properties.getString("/mcitem", "mcitem");
|
||||
mcmmo = properties.getString("/mcmmo", "mcmmo");
|
||||
mcc = properties.getString("/mcc", "mcc");
|
||||
|
@ -67,7 +67,7 @@ public class mcMMO extends JavaPlugin {
|
||||
PluginManager pm = getServer().getPluginManager();
|
||||
pm.registerEvent(Event.Type.PLAYER_JOIN, playerListener, Priority.Normal, this);
|
||||
pm.registerEvent(Event.Type.PLAYER_LOGIN, playerListener, Priority.Normal, this);
|
||||
pm.registerEvent(Event.Type.BLOCK_DAMAGED, blockListener, Priority.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_COMMAND_PREPROCESS, playerListener, Priority.High, 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_RESPAWN, 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.CREATURE_SPAWN, entityListener, Priority.Normal, this);
|
||||
//Displays a message when plugin is loaded
|
||||
|
@ -26,7 +26,7 @@ public class mcMining {
|
||||
return;
|
||||
}
|
||||
|
||||
int miningticks = 3;
|
||||
int miningticks = 2;
|
||||
if(mcUsers.getProfile(player).getMiningInt() >= 50)
|
||||
miningticks++;
|
||||
if(mcUsers.getProfile(player).getMiningInt() >= 150)
|
||||
|
@ -30,6 +30,13 @@ public class mcPermissions {
|
||||
private boolean permission(Player player, String 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) {
|
||||
if (permissionsEnabled) {
|
||||
return permission(player, "mcmmo.tools.mmoedit");
|
||||
@ -37,6 +44,13 @@ public class mcPermissions {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
public boolean excavationAbility(Player player){
|
||||
if (permissionsEnabled) {
|
||||
return permission(player, "mcmmo.ability.excavation");
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
public boolean unarmedAbility(Player player){
|
||||
if (permissionsEnabled) {
|
||||
return permission(player, "mcmmo.ability.unarmed");
|
||||
|
@ -92,6 +92,48 @@ public class mcPlayerListener extends PlayerListener {
|
||||
String playerName = player.getName();
|
||||
//Check if the command is an mcMMO related help command
|
||||
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)){
|
||||
|
||||
}
|
||||
|
@ -38,25 +38,31 @@ public class mcSkills {
|
||||
if(mcUsers.getProfile(player).getTreeFellerCooldown() >= 1){
|
||||
mcUsers.getProfile(player).decreaseTreeFellerCooldown();
|
||||
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){
|
||||
mcUsers.getProfile(player).decreaseSuperBreakerCooldown();
|
||||
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){
|
||||
mcUsers.getProfile(player).decreaseSerratedStrikesCooldown();
|
||||
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){
|
||||
mcUsers.getProfile(player).decreaseSkullSplitterCooldown();
|
||||
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)){
|
||||
mcMining.getInstance().superBreakerCheck(player, block);
|
||||
}
|
||||
if(mcPermissions.getInstance().excavationAbility(player)){
|
||||
mcExcavation.getInstance().gigaDrillBreakerActivationCheck(player, block);
|
||||
}
|
||||
axeActivationCheck(player, block);
|
||||
}
|
||||
public void skullSplitterCheck(Player player){
|
||||
@ -90,7 +99,7 @@ public class mcSkills {
|
||||
mcUsers.getProfile(player).setAxePreparationMode(false);
|
||||
mcUsers.getProfile(player).setAxePreparationTicks(0);
|
||||
}
|
||||
int ticks = 3;
|
||||
int ticks = 2;
|
||||
if(mcUsers.getProfile(player).getAxesInt() >= 50)
|
||||
ticks++;
|
||||
if(mcUsers.getProfile(player).getAxesInt() >= 150)
|
||||
@ -136,7 +145,7 @@ public class mcSkills {
|
||||
* AXES ABILITY
|
||||
*/
|
||||
if(mcPermissions.getInstance().axesAbility(player)){
|
||||
//Monitor the length of TreeFeller mode
|
||||
//Monitor the length of Skull Splitter mode
|
||||
if(mcUsers.getProfile(player).getSkullSplitterMode()){
|
||||
mcUsers.getProfile(player).decreaseSkullSplitterTicks();
|
||||
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){
|
||||
/*
|
||||
|
@ -156,8 +156,8 @@ class PlayerList
|
||||
protected final Logger log = Logger.getLogger("Minecraft");
|
||||
private String playerName, gather, wgather, woodcutting, repair, mining, party, myspawn, myspawnworld, unarmed, herbalism, excavation,
|
||||
archery, swords, axes, invite, acrobatics, repairgather, unarmedgather, herbalismgather, excavationgather, archerygather, swordsgather, axesgather, acrobaticsgather;
|
||||
private boolean dead, treeFellerMode, superbreakermode, serratedStrikesMode, axePreparationMode, skullSplitterMode;
|
||||
private int recentlyhurt = 0, bleedticks = 0, superbreakerticks = 0, superbreakercooldown = 0,
|
||||
private boolean dead, treeFellerMode, superBreakerMode, gigaDrillBreakerMode, serratedStrikesMode, axePreparationMode, skullSplitterMode;
|
||||
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,
|
||||
axePreparationTicks = 0;
|
||||
Player thisplayer;
|
||||
@ -436,7 +436,7 @@ class PlayerList
|
||||
bleedticks = newvalue;
|
||||
}
|
||||
public Boolean hasCooldowns(){
|
||||
if((treeFellerCooldown + superbreakercooldown) >= 1){
|
||||
if((treeFellerCooldown + superBreakerCooldown) >= 1){
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
@ -524,6 +524,37 @@ class PlayerList
|
||||
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
|
||||
*/
|
||||
@ -559,31 +590,31 @@ class PlayerList
|
||||
* MINING
|
||||
*/
|
||||
public boolean getSuperBreakerMode(){
|
||||
return superbreakermode;
|
||||
return superBreakerMode;
|
||||
}
|
||||
public void setSuperBreakerMode(Boolean bool){
|
||||
superbreakermode = bool;
|
||||
superBreakerMode = bool;
|
||||
}
|
||||
public Integer getSuperBreakerTicks(){
|
||||
return superbreakerticks;
|
||||
return superBreakerTicks;
|
||||
}
|
||||
public void setSuperBreakerTicks(Integer newvalue){
|
||||
superbreakerticks = newvalue;
|
||||
superBreakerTicks = newvalue;
|
||||
}
|
||||
public void decreaseSuperBreakerTicks(){
|
||||
if(superbreakerticks >= 1){
|
||||
superbreakerticks--;
|
||||
if(superBreakerTicks >= 1){
|
||||
superBreakerTicks--;
|
||||
}
|
||||
}
|
||||
public void setSuperBreakerCooldown(Integer newvalue){
|
||||
superbreakercooldown = newvalue;
|
||||
superBreakerCooldown = newvalue;
|
||||
}
|
||||
public int getSuperBreakerCooldown(){
|
||||
return superbreakercooldown;
|
||||
return superBreakerCooldown;
|
||||
}
|
||||
public void decreaseSuperBreakerCooldown(){
|
||||
if(superbreakercooldown >= 1){
|
||||
superbreakercooldown--;
|
||||
if(superBreakerCooldown >= 1){
|
||||
superBreakerCooldown--;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -26,10 +26,9 @@ public class mcWoodCutting {
|
||||
public void woodCuttingProcCheck(Player player, Block block, Location loc){
|
||||
byte type = block.getData();
|
||||
Material mat = Material.getMaterial(block.getTypeId());
|
||||
byte damage = 0;
|
||||
if(player != null){
|
||||
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);
|
||||
return;
|
||||
}
|
||||
@ -48,7 +47,7 @@ public class mcWoodCutting {
|
||||
mcUsers.getProfile(player).setAxePreparationMode(false);
|
||||
mcUsers.getProfile(player).setAxePreparationTicks(0);
|
||||
}
|
||||
int treefellticks = 3;
|
||||
int treefellticks = 2;
|
||||
if(mcUsers.getProfile(player).getWoodCuttingInt() >= 50)
|
||||
treefellticks++;
|
||||
if(mcUsers.getProfile(player).getWoodCuttingInt() >= 150)
|
||||
|
@ -153,6 +153,13 @@ public class mcm {
|
||||
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){
|
||||
if(is.getTypeId() == 271 || is.getTypeId() == 258 || is.getTypeId() == 286 || is.getTypeId() == 279 || is.getTypeId() == 275){
|
||||
return true;
|
||||
@ -171,7 +178,7 @@ public class mcm {
|
||||
if(split[0].equalsIgnoreCase("/woodcutting")){
|
||||
event.setCancelled(true);
|
||||
float skillvalue = (float)mcUsers.getProfile(player).getWoodCuttingInt();
|
||||
int treefellticks = 3;
|
||||
int treefellticks = 2;
|
||||
if(mcUsers.getProfile(player).getWoodCuttingInt() >= 50)
|
||||
treefellticks++;
|
||||
if(mcUsers.getProfile(player).getWoodCuttingInt() >= 150)
|
||||
@ -235,7 +242,7 @@ public class mcm {
|
||||
} else {
|
||||
percentage = "75";
|
||||
}
|
||||
int ticks = 3;
|
||||
int ticks = 2;
|
||||
if(mcUsers.getProfile(player).getAxesInt() >= 50)
|
||||
ticks++;
|
||||
if(mcUsers.getProfile(player).getAxesInt() >= 150)
|
||||
@ -310,7 +317,7 @@ public class mcm {
|
||||
if(split[0].equalsIgnoreCase("/mining")){
|
||||
float skillvalue = (float)mcUsers.getProfile(player).getMiningInt();
|
||||
String percentage = String.valueOf((skillvalue / 1000) * 100);
|
||||
int miningticks = 3;
|
||||
int miningticks = 2;
|
||||
if(mcUsers.getProfile(player).getMiningInt() >= 50)
|
||||
miningticks++;
|
||||
if(mcUsers.getProfile(player).getMiningInt() >= 150)
|
||||
@ -428,10 +435,29 @@ public class mcm {
|
||||
}
|
||||
if(split[0].equalsIgnoreCase("/excavation")){
|
||||
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.DARK_GRAY+"XP GAIN: "+ChatColor.WHITE+"Digging and finding treasures");
|
||||
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.RED+"Giga Drill Breaker Length: "+ChatColor.YELLOW+(ticks * 2)+"s");
|
||||
}
|
||||
if(split[0].equalsIgnoreCase("/"+mcLoadProperties.mcmmo)){
|
||||
event.setCancelled(true);
|
||||
|
Loading…
Reference in New Issue
Block a user