Skip to content

Commit

Permalink
Beginning work on cooldowns for BlastMining (DO NOT USE THIS BUILD)
Browse files Browse the repository at this point in the history
  • Loading branch information
nossr50 committed Mar 1, 2012
1 parent a805070 commit fadbaf4
Show file tree
Hide file tree
Showing 10 changed files with 69 additions and 34 deletions.
1 change: 1 addition & 0 deletions Changelog.txt
Expand Up @@ -25,6 +25,7 @@ Version 1.3.00-dev
+ Added 'mcmmo.commands.inspect' permission node for the new /inspect command
+ Added Impact & Greater Impact subskills to Axes
+ Re-added mcMMO reporting damage events
= Fixed bug with updating MySQL tables to include fishing on servers using custom table prefixes
= Fixed bug where Disarm didn't work at all ever
= Fixed bug where Swords command showed Bleed Length twice instead of Bleed Chance
= Fixed bug where Tree Feller wasn't checking for Tree Feller permission
Expand Down
27 changes: 26 additions & 1 deletion src/main/java/com/gmail/nossr50/Database.java
Expand Up @@ -133,7 +133,7 @@ public void createStructure() {

public void checkDatabaseStructure()
{
String sql = "SELECT * FROM `mcmmo_experience` ORDER BY `"+LoadProperties.MySQLtablePrefix+"experience`.`fishing` ASC LIMIT 0 , 30";
String sql = "SELECT * FROM `"+LoadProperties.MySQLtablePrefix+"experience` ORDER BY `"+LoadProperties.MySQLtablePrefix+"experience`.`fishing` ASC LIMIT 0 , 30";

ResultSet rs = null;
HashMap<Integer, ArrayList<String>> Rows = new HashMap<Integer, ArrayList<String>>();
Expand All @@ -157,6 +157,31 @@ public void checkDatabaseStructure()
}
}

public void checkDatabaseStructureForBlastMining()
{
String sql = "SELECT * FROM `"+LoadProperties.MySQLtablePrefix+"cooldowns` ORDER BY `"+LoadProperties.MySQLtablePrefix+"cooldowns`.`blast_mining` ASC LIMIT 0 , 30";

ResultSet rs = null;
HashMap<Integer, ArrayList<String>> Rows = new HashMap<Integer, ArrayList<String>>();
try {
PreparedStatement stmt = conn.prepareStatement(sql);
if (stmt.executeQuery() != null) {
stmt.executeQuery();
rs = stmt.getResultSet();
while (rs.next()) {
ArrayList<String> Col = new ArrayList<String>();
for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
Col.add(rs.getString(i));
}
Rows.put(rs.getRow(), Col);
}
}
} catch (SQLException ex) {
System.out.println("Updating mcMMO MySQL tables...");
Write("ALTER TABLE `"+LoadProperties.MySQLtablePrefix + "cooldowns` ADD `blast_mining` int(10) NOT NULL DEFAULT '0' ;");
}
}

// write query
public boolean Write(String sql) {
if(conn != null)
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/com/gmail/nossr50/config/LoadProperties.java
Expand Up @@ -47,7 +47,7 @@ public class LoadProperties {
mcactus, mmushroom, mflower, msugar, mpumpkin, mwheat, mgold,
mdiamond, miron, mredstone, mlapis, mobsidian, mnetherrack,
mglowstone, mcoal, mstone, MySQLport, xpGainMultiplier,
superBreakerCooldown, greenTerraCooldown, gigaDrillBreakerCooldown,
superBreakerCooldown, blastMiningCooldown, greenTerraCooldown, gigaDrillBreakerCooldown,
treeFellerCooldown, berserkCooldown, serratedStrikeCooldown,
skullSplitterCooldown, abilityDurabilityLoss,
feathersConsumedByChimaeraWing, bonesConsumedByCOTW,
Expand Down Expand Up @@ -254,6 +254,7 @@ private void loadKeys() {
berserkCooldown = readInteger("Abilities.Cooldowns.Berserk", 240);
serratedStrikeCooldown = readInteger("Abilities.Cooldowns.Serrated_Strikes", 240);
skullSplitterCooldown = readInteger("Abilities.Cooldowns.Skull_Splitter", 240);
blastMiningCooldown = readInteger("Abilities.Cooldowns.Blast_Mining", 60);

MySQLserverName = readString("MySQL.Server.Address", "localhost");
if (readString("MySQL.Database.User.Password", null) != null)
Expand Down
7 changes: 5 additions & 2 deletions src/main/java/com/gmail/nossr50/datatypes/AbilityType.java
Expand Up @@ -14,8 +14,9 @@ public enum AbilityType
GREEN_TERRA(LoadProperties.greenTerraCooldown, mcLocale.getString("Skills.GreenTerraOn"), mcLocale.getString("Skills.GreenTerraOff"), "Skills.GreenTerraPlayer", mcLocale.getString("Skills.YourGreenTerra"), mcLocale.getString("Skills.GreenTerraPlayerOff")),
SKULL_SPLIITER(LoadProperties.skullSplitterCooldown, mcLocale.getString("Skills.SkullSplitterOn"), mcLocale.getString("Skills.SkullSplitterOff"), "Skills.SkullSplitterPlayer", mcLocale.getString("Skills.YourSkullSplitter"), "Skills.SkullSplitterPlayerOff"),
TREE_FELLER(LoadProperties.treeFellerCooldown, mcLocale.getString("Skills.TreeFellerOn"), mcLocale.getString("Skills.TreeFellerOff"), "Skills.TreeFellerPlayer", mcLocale.getString("Skills.YourTreeFeller"), "Skills.TreeFellerPlayerOff"),
SERRATED_STRIKES(LoadProperties.skullSplitterCooldown, mcLocale.getString("Skills.SerratedStrikesOn"), mcLocale.getString("Skills.SerratedStrikesOff"), "Skills.SerratedStrikesPlayer", mcLocale.getString("Skills.YourSerratedStrikes"), "Skills.SerratedStrikesPlayerOff");

SERRATED_STRIKES(LoadProperties.skullSplitterCooldown, mcLocale.getString("Skills.SerratedStrikesOn"), mcLocale.getString("Skills.SerratedStrikesOff"), "Skills.SerratedStrikesPlayer", mcLocale.getString("Skills.YourSerratedStrikes"), "Skills.SerratedStrikesPlayerOff"),
BLAST_MINING(LoadProperties.blastMiningCooldown, mcLocale.getString("Skills.BlastMiningOn"), mcLocale.getString("Skills.BlastMiningOff"), "Skills.BlastMiningPlayer", mcLocale.getString("Skills.YourBlastMining"), "Skills.BlastMiningPlayerOff");

private int cooldown;
private String abilityOn;
private String abilityOff;
Expand Down Expand Up @@ -181,6 +182,8 @@ public boolean getPermissions(Player player)
return mcPermissions.getInstance().miningAbility(player);
case TREE_FELLER:
return mcPermissions.getInstance().woodCuttingAbility(player);
case BLAST_MINING:
return mcPermissions.getInstance().blastMining(player);
}
return false;
}
Expand Down
52 changes: 31 additions & 21 deletions src/main/java/com/gmail/nossr50/datatypes/PlayerProfile.java
Expand Up @@ -47,7 +47,7 @@ public class PlayerProfile

//TOGGLES
private boolean loaded = false, partyhud = true, spoutcraft = false, filling = false, xpbarlocked = false, placedAnvil = false, partyChatMode = false, adminChatMode = false, godMode = false, greenTerraMode, partyChatOnly = false, greenTerraInformed = true, berserkInformed = true, skullSplitterInformed = true, gigaDrillBreakerInformed = true,
superBreakerInformed = true, serratedStrikesInformed = true, treeFellerInformed = true, dead, abilityuse = true, treeFellerMode, superBreakerMode, gigaDrillBreakerMode,
superBreakerInformed = true, blastMiningInformed = true, serratedStrikesInformed = true, treeFellerInformed = true, dead, abilityuse = true, treeFellerMode, superBreakerMode, gigaDrillBreakerMode,
serratedStrikesMode, hoePreparationMode = false, shovelPreparationMode = false, swordsPreparationMode = false, fistsPreparationMode = false, pickaxePreparationMode = false, axePreparationMode = false, skullSplitterMode, berserkMode;

//TIMESTAMPS
Expand Down Expand Up @@ -189,6 +189,7 @@ public boolean loadMySQL()
skillsDATS.put(AbilityType.GIGA_DRILL_BREAKER, Integer.valueOf(cooldowns.get(1).get(4)));
skillsDATS.put(AbilityType.SERRATED_STRIKES, Integer.valueOf(cooldowns.get(1).get(5)));
skillsDATS.put(AbilityType.SKULL_SPLIITER, Integer.valueOf(cooldowns.get(1).get(6)));
skillsDATS.put(AbilityType.BLAST_MINING, Integer.valueOf(cooldowns.get(1).get(7)));
}
HashMap<Integer, ArrayList<String>> stats = mcMMO.database.Read("SELECT taming, mining, repair, woodcutting, unarmed, herbalism, excavation, archery, swords, axes, acrobatics, fishing FROM "+LoadProperties.MySQLtablePrefix+"skills WHERE user_id = " + id);
skills.put(SkillType.TAMING, Integer.valueOf(stats.get(1).get(0)));
Expand Down Expand Up @@ -324,6 +325,8 @@ public boolean load()
skills.put(SkillType.FISHING, Integer.valueOf(character[34]));
if(character.length > 35)
skillsXp.put(SkillType.FISHING, Integer.valueOf(character[35]));
if(character.length > 36)
skillsDATS.put(AbilityType.BLAST_MINING, Integer.valueOf(character[36]));
in.close();
loaded = true;
return true;
Expand Down Expand Up @@ -354,6 +357,7 @@ public void save()
+", excavation = " + skillsDATS.get(AbilityType.GIGA_DRILL_BREAKER)
+", swords = " + skillsDATS.get(AbilityType.SERRATED_STRIKES)
+", axes = " + skillsDATS.get(AbilityType.SKULL_SPLIITER)
+", blast_mining = " + skillsDATS.get(AbilityType.BLAST_MINING)
+" WHERE user_id = "+this.userid);
mcMMO.database.Write("UPDATE "+LoadProperties.MySQLtablePrefix+"skills SET "
+" taming = "+skills.get(SkillType.TAMING)
Expand Down Expand Up @@ -442,6 +446,7 @@ public void save()
writer.append(hud.toString()+":");
writer.append(skills.get(SkillType.FISHING) + ":");
writer.append(skillsXp.get(SkillType.FISHING) + ":");
writer.append(String.valueOf(skillsDATS.get(AbilityType.BLAST_MINING)) + ":");
writer.append("\r\n");
}
}
Expand Down Expand Up @@ -522,6 +527,7 @@ public void addPlayer()
out.append(LoadProperties.defaulthud.toString()+":");//HUD
out.append(0+":"); //Fishing
out.append(0+":"); //FishingXP
out.append(0+":"); //Blast Mining

//Add more in the same format as the line above

Expand Down Expand Up @@ -672,7 +678,7 @@ public void addBleedTicks(Integer newvalue){
public boolean getHoePreparationMode(){
return hoePreparationMode;
}
public void setHoePreparationMode(Boolean bool){
public void setHoePreparationMode(boolean bool){
hoePreparationMode = bool;
}
public long getHoePreparationATS(){
Expand All @@ -688,7 +694,7 @@ public void setHoePreparationATS(long newvalue){
public boolean getSwordsPreparationMode(){
return swordsPreparationMode;
}
public void setSwordsPreparationMode(Boolean bool){
public void setSwordsPreparationMode(boolean bool){
swordsPreparationMode = bool;
}
public long getSwordsPreparationATS(){
Expand All @@ -703,7 +709,7 @@ public void setSwordsPreparationATS(long newvalue){
public boolean getShovelPreparationMode(){
return shovelPreparationMode;
}
public void setShovelPreparationMode(Boolean bool){
public void setShovelPreparationMode(boolean bool){
shovelPreparationMode = bool;
}
public long getShovelPreparationATS(){
Expand All @@ -718,7 +724,7 @@ public void setShovelPreparationATS(long newvalue){
public boolean getFistsPreparationMode(){
return fistsPreparationMode;
}
public void setFistsPreparationMode(Boolean bool){
public void setFistsPreparationMode(boolean bool){
fistsPreparationMode = bool;
}
public long getFistsPreparationATS(){
Expand All @@ -733,7 +739,7 @@ public void setFistsPreparationATS(long newvalue){
public boolean getAxePreparationMode(){
return axePreparationMode;
}
public void setAxePreparationMode(Boolean bool){
public void setAxePreparationMode(boolean bool){
axePreparationMode = bool;
}
public long getAxePreparationATS(){
Expand All @@ -748,7 +754,7 @@ public void setAxePreparationATS(long newvalue){
public boolean getPickaxePreparationMode(){
return pickaxePreparationMode;
}
public void setPickaxePreparationMode(Boolean bool){
public void setPickaxePreparationMode(boolean bool){
pickaxePreparationMode = bool;
}
public long getPickaxePreparationATS(){
Expand All @@ -761,92 +767,96 @@ public void setPickaxePreparationATS(long newvalue){
* GREEN TERRA MODE
*/
public boolean getGreenTerraInformed() {return greenTerraInformed;}
public void setGreenTerraInformed(Boolean bool){
public void setGreenTerraInformed(boolean bool){
greenTerraInformed = bool;
}
public boolean getGreenTerraMode(){
return greenTerraMode;
}
public void setGreenTerraMode(Boolean bool){
public void setGreenTerraMode(boolean bool){
greenTerraMode = bool;
}

/*
* BERSERK MODE
*/
public boolean getBerserkInformed() {return berserkInformed;}
public void setBerserkInformed(Boolean bool){
public void setBerserkInformed(boolean bool){
berserkInformed = bool;
}
public boolean getBerserkMode(){
return berserkMode;
}
public void setBerserkMode(Boolean bool){
public void setBerserkMode(boolean bool){
berserkMode = bool;
}
/*
* SKULL SPLITTER
*/
public boolean getSkullSplitterInformed() {return skullSplitterInformed;}
public void setSkullSplitterInformed(Boolean bool){
public void setSkullSplitterInformed(boolean bool){
skullSplitterInformed = bool;
}
public boolean getSkullSplitterMode(){
return skullSplitterMode;
}
public void setSkullSplitterMode(Boolean bool){
public void setSkullSplitterMode(boolean bool){
skullSplitterMode = bool;
}
/*
* SERRATED STRIKES
*/
public boolean getSerratedStrikesInformed() {return serratedStrikesInformed;}
public void setSerratedStrikesInformed(Boolean bool){
public void setSerratedStrikesInformed(boolean bool){
serratedStrikesInformed = bool;
}
public boolean getSerratedStrikesMode(){
return serratedStrikesMode;
}
public void setSerratedStrikesMode(Boolean bool){
public void setSerratedStrikesMode(boolean bool){
serratedStrikesMode = bool;
}
/*
* GIGA DRILL BREAKER
*/
public boolean getGigaDrillBreakerInformed() {return gigaDrillBreakerInformed;}
public void setGigaDrillBreakerInformed(Boolean bool){
public void setGigaDrillBreakerInformed(boolean bool){
gigaDrillBreakerInformed = bool;
}
public boolean getGigaDrillBreakerMode(){
return gigaDrillBreakerMode;
}
public void setGigaDrillBreakerMode(Boolean bool){
public void setGigaDrillBreakerMode(boolean bool){
gigaDrillBreakerMode = bool;
}
/*
* TREE FELLER STUFF
*/
public boolean getTreeFellerInformed() {return treeFellerInformed;}
public void setTreeFellerInformed(Boolean bool){
public void setTreeFellerInformed(boolean bool){
treeFellerInformed = bool;
}
public boolean getTreeFellerMode(){
return treeFellerMode;
}
public void setTreeFellerMode(Boolean bool){
public void setTreeFellerMode(boolean bool){
treeFellerMode = bool;
}
/*
* MINING
*/
public boolean getSuperBreakerInformed() {return superBreakerInformed;}
public void setSuperBreakerInformed(Boolean bool){
public void setSuperBreakerInformed(boolean bool){
superBreakerInformed = bool;
}
public boolean getBlastMiningInformed() {return blastMiningInformed;}
public void setBlastMiningInformed(boolean bool){
blastMiningInformed = bool;
}
public boolean getSuperBreakerMode(){
return superBreakerMode;
}
public void setSuperBreakerMode(Boolean bool){
public void setSuperBreakerMode(boolean bool){
superBreakerMode = bool;
}
public long getRecentlyHurt(){
Expand Down
Expand Up @@ -72,7 +72,7 @@ public void onBlockPlace(BlockPlaceEvent event)
Material mat = block.getType();

//TNT placement checks - needed for Blast Mining
if(id == 46 && mcPermissions.getInstance().blastmining(player))
if(id == 46 && mcPermissions.getInstance().blastMining(player))
{
int skill = Users.getProfile(player).getSkillLevel(SkillType.MINING);
plugin.misc.tntTracker.put(block.getLocation(), player);
Expand Down Expand Up @@ -159,10 +159,6 @@ public void onBlockBreak(BlockBreakEvent event)
/*
* MINING
*/

//TNT removal checks - needed for Blast Mining
if(id == 46 && inhand.getTypeId() != 259 && mcPermissions.getInstance().blastmining(player))
plugin.misc.tntTracker.remove(block);

if(mcPermissions.getInstance().mining(player))
{
Expand Down
Expand Up @@ -17,7 +17,6 @@
package com.gmail.nossr50.listeners;

import org.bukkit.Location;
import org.bukkit.block.Block;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
Expand Down Expand Up @@ -106,7 +105,7 @@ public void onEntityDamage(EntityDamageEvent event)
/*
* Demolitions Expert
*/
if(cause == DamageCause.BLOCK_EXPLOSION && mcPermissions.getInstance().blastmining(player))
if(cause == DamageCause.BLOCK_EXPLOSION && mcPermissions.getInstance().blastMining(player))
BlastMining.demolitionsExpertise(Users.getProfile(player).getSkillLevel(SkillType.MINING), event);
}

Expand Down
Expand Up @@ -292,7 +292,6 @@ public void onPlayerInteract(PlayerInteractEvent event)
tnt.setFuseTicks(0);
if(plugin.misc.tntTracker.get(tnt.getLocation()) != null)
System.out.println(tnt.getLocation().toString());
// plugin.misc.tntTracker.remove(block);
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/gmail/nossr50/mcPermissions.java
Expand Up @@ -100,7 +100,7 @@ public boolean taming(Player player) {
public boolean mining(Player player) {
return player.hasPermission("mcmmo.skills.mining");
}
public boolean blastmining(Player player) {
public boolean blastMining(Player player) {
return player.hasPermission("mcmmo.skills.blastmining");
}
public boolean fishing(Player player) {
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/config.yml
Expand Up @@ -87,6 +87,7 @@ Abilities:
Activation:
Only_Activate_When_Sneaking: false
Cooldowns:
Blast_Mining: 60
Giga_Drill_Breaker: 240
Berserk: 240
Green_Terra: 240
Expand Down

0 comments on commit fadbaf4

Please sign in to comment.