More work on new super abilities

This commit is contained in:
nossr50 2020-07-31 19:41:28 -07:00
parent ea2e2bdc9a
commit 916a747f88
7 changed files with 213 additions and 137 deletions

View File

@ -563,7 +563,7 @@ public class Config extends AutoUpdateConfigLoader {
} }
public int getLevelCap(PrimarySkillType skill) { public int getLevelCap(PrimarySkillType skill) {
int cap = config.getInt("Skills." + StringUtils.getCapitalized(skill.toString()) + ".Level_Cap"); int cap = config.getInt("Skills." + StringUtils.getCapitalized(skill.toString()) + ".Level_Cap", 0);
return (cap <= 0) ? Integer.MAX_VALUE : cap; return (cap <= 0) ? Integer.MAX_VALUE : cap;
} }

View File

@ -30,6 +30,72 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
private final File usersFile; private final File usersFile;
private static final Object fileWritingLock = new Object(); private static final Object fileWritingLock = new Object();
//Used to map out the split data in the FFDB
public static int USERNAME = 0;
public static int SKILLS_MINING = 1;
public static int EXP_MINING = 4;
public static int SKILLS_WOODCUTTING = 5;
public static int EXP_WOODCUTTING = 6;
public static int SKILLS_REPAIR = 7;
public static int SKILLS_UNARMED = 8;
public static int SKILLS_HERBALISM = 9;
public static int SKILLS_EXCAVATION = 10;
public static int SKILLS_ARCHERY = 11;
public static int SKILLS_SWORDS = 12;
public static int SKILLS_AXES = 13;
public static int SKILLS_ACROBATICS = 14;
public static int EXP_REPAIR = 15;
public static int EXP_UNARMED = 16;
public static int EXP_HERBALISM = 17;
public static int EXP_EXCAVATION = 18;
public static int EXP_ARCHERY = 19;
public static int EXP_SWORDS = 20;
public static int EXP_AXES = 21;
public static int EXP_ACROBATICS = 22;
public static int SKILLS_TAMING = 24;
public static int EXP_TAMING = 25;
public static int COOLDOWN_BERSERK = 26;
public static int COOLDOWN_GIGA_DRILL_BREAKER = 27;
public static int COOLDOWN_TREE_FELLER = 28;
public static int COOLDOWN_GREEN_TERRA = 29;
public static int COOLDOWN_SERRATED_STRIKES = 30;
public static int COOLDOWN_SKULL_SPLITTER = 31;
public static int COOLDOWN_SUPER_BREAKER = 32;
public static int SKILLS_FISHING = 34;
public static int EXP_FISHING = 35;
public static int COOLDOWN_BLAST_MINING = 36;
public static int LAST_LOGIN = 37;
public static int HEALTHBAR = 38;
public static int SKILLS_ALCHEMY = 39;
public static int EXP_ALCHEMY = 40;
public static int UUID_INDEX = 41;
public static int SCOREBOARD_TIPS = 42;
public static int COOLDOWN_CHIMAERA_WING = 43;
public static int SKILLS_TRIDENTS = 44;
public static int EXP_TRIDENTS = 45;
public static int SKILLS_CROSSBOWS = 46;
public static int EXP_CROSSBOWS = 47;
public static int BARSTATE_ACROBATICS = 48;
public static int BARSTATE_ALCHEMY = 49;
public static int BARSTATE_ARCHERY = 50;
public static int BARSTATE_AXES = 51;
public static int BARSTATE_EXCAVATION = 52;
public static int BARSTATE_FISHING = 53;
public static int BARSTATE_HERBALISM = 54;
public static int BARSTATE_MINING = 55;
public static int BARSTATE_REPAIR = 56;
public static int BARSTATE_SALVAGE = 57;
public static int BARSTATE_SMELTING = 58;
public static int BARSTATE_SWORDS = 59;
public static int BARSTATE_TAMING = 60;
public static int BARSTATE_UNARMED = 61;
public static int BARSTATE_WOODCUTTING = 62;
public static int BARSTATE_TRIDENTS = 63;
public static int BARSTATE_CROSSBOWS = 64;
public static int COOLDOWN_ARCHERY_SUPER_1 = 65;
public static int COOLDOWN_CROSSBOWS_SUPER_1 = 66;
public static int COOLDOWN_TRIDENTS_SUPER_1 = 67;
protected FlatfileDatabaseManager() { protected FlatfileDatabaseManager() {
usersFile = new File(mcMMO.getUsersFilePath()); usersFile = new File(mcMMO.getUsersFilePath());
checkStructure(); checkStructure();
@ -491,6 +557,11 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
out.append("0:"); // Scoreboard tips shown out.append("0:"); // Scoreboard tips shown
out.append("0:"); // Chimaera Wing Dats out.append("0:"); // Chimaera Wing Dats
out.append("0:"); // Tridents Skill Level
out.append("0:"); // Tridents XP
out.append("0:"); // Crossbow Skill Level
out.append("0:"); // Crossbow XP Level
//Barstates for the 15 currently existing skills by ordinal value //Barstates for the 15 currently existing skills by ordinal value
out.append("NORMAL:"); // Acrobatics out.append("NORMAL:"); // Acrobatics
out.append("NORMAL:"); // Alchemy out.append("NORMAL:"); // Alchemy
@ -860,6 +931,8 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
powerLevel += putStat(taming, playerName, skills.get(PrimarySkillType.TAMING)); powerLevel += putStat(taming, playerName, skills.get(PrimarySkillType.TAMING));
powerLevel += putStat(unarmed, playerName, skills.get(PrimarySkillType.UNARMED)); powerLevel += putStat(unarmed, playerName, skills.get(PrimarySkillType.UNARMED));
powerLevel += putStat(woodcutting, playerName, skills.get(PrimarySkillType.WOODCUTTING)); powerLevel += putStat(woodcutting, playerName, skills.get(PrimarySkillType.WOODCUTTING));
powerLevel += putStat(woodcutting, playerName, skills.get(PrimarySkillType.CROSSBOWS));
powerLevel += putStat(woodcutting, playerName, skills.get(PrimarySkillType.TRIDENTS));
putStat(powerLevels, playerName, powerLevel); putStat(powerLevels, playerName, powerLevel);
} }
@ -940,6 +1013,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
} }
boolean updated = false; boolean updated = false;
String[] character = line.split(":"); String[] character = line.split(":");
int originalLength = character.length;
// Prevent the same username from being present multiple times // Prevent the same username from being present multiple times
if (!usernames.add(character[USERNAME])) { if (!usernames.add(character[USERNAME])) {
@ -950,10 +1024,6 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
} }
} }
// Prevent the same player from being present multiple times
if (character.length >= 42 && (!character[UUID_INDEX].isEmpty() && !character[UUID_INDEX].equals("NULL") && !players.add(character[UUID_INDEX]))) {
continue;
}
if (character.length < 33) { if (character.length < 33) {
// Before Version 1.0 - Drop // Before Version 1.0 - Drop
@ -968,34 +1038,10 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
// Version 1.4.07-dev2 // Version 1.4.07-dev2
// commit 7bac0e2ca5143bce84dc160617fed97f0b1cb968 // commit 7bac0e2ca5143bce84dc160617fed97f0b1cb968
character[33] = ""; character[33] = "";
if (oldVersion == null) {
oldVersion = "1.4.07"; oldVersion = "1.4.07";
}
updated = true; updated = true;
} }
//TODO: If new skills are added this needs to be rewritten
if (Config.getInstance().getTruncateSkills()) {
for (PrimarySkillType skill : PrimarySkillType.NON_CHILD_SKILLS) {
int index = getSkillIndex(skill);
if (index >= character.length) {
continue;
}
int cap = Config.getInstance().getLevelCap(skill);
if (Integer.parseInt(character[index]) > cap) {
mcMMO.p.getLogger().warning("Truncating " + skill.getName() + " to configured max level for player " + character[USERNAME]);
character[index] = cap + "";
updated = true;
}
}
}
// If they're valid, rewrite them to the file.
if (!updated && character.length == 43) {
writer.append(line).append("\r\n");
continue;
}
if (character.length <= 33) { if (character.length <= 33) {
// Introduction of HUDType // Introduction of HUDType
// Version 1.1.06 // Version 1.1.06
@ -1003,6 +1049,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
character = Arrays.copyOf(character, character.length + 1); character = Arrays.copyOf(character, character.length + 1);
character[character.length - 1] = ""; character[character.length - 1] = "";
oldVersion = "1.1.06"; oldVersion = "1.1.06";
updated = true;
} }
if (character.length <= 35) { if (character.length <= 35) {
@ -1015,6 +1062,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
if (oldVersion == null) { if (oldVersion == null) {
oldVersion = "1.2.00"; oldVersion = "1.2.00";
} }
updated = true;
} }
if (character.length <= 36) { if (character.length <= 36) {
// Introduction of Blast Mining cooldowns // Introduction of Blast Mining cooldowns
@ -1025,6 +1073,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
if (oldVersion == null) { if (oldVersion == null) {
oldVersion = "1.3.00"; oldVersion = "1.3.00";
} }
updated = true;
} }
if (character.length <= 37) { if (character.length <= 37) {
// Making old-purge work with flatfile // Making old-purge work with flatfile
@ -1036,6 +1085,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
if (oldVersion == null) { if (oldVersion == null) {
oldVersion = "1.4.00"; oldVersion = "1.4.00";
} }
updated = true;
} }
if (character.length <= 38) { if (character.length <= 38) {
// Addition of mob healthbars // Addition of mob healthbars
@ -1046,6 +1096,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
if (oldVersion == null) { if (oldVersion == null) {
oldVersion = "1.4.06"; oldVersion = "1.4.06";
} }
updated = true;
} }
if (character.length <= 39) { if (character.length <= 39) {
// Addition of Alchemy // Addition of Alchemy
@ -1056,6 +1107,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
if (oldVersion == null) { if (oldVersion == null) {
oldVersion = "1.4.08"; oldVersion = "1.4.08";
} }
updated = true;
} }
if (character.length <= 41) { if (character.length <= 41) {
// Addition of UUIDs // Addition of UUIDs
@ -1066,6 +1118,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
if (oldVersion == null) { if (oldVersion == null) {
oldVersion = "1.5.01"; oldVersion = "1.5.01";
} }
updated = true;
} }
if (character.length <= 42) { if (character.length <= 42) {
// Addition of scoreboard tips auto disable // Addition of scoreboard tips auto disable
@ -1076,6 +1129,7 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
if (oldVersion == null) { if (oldVersion == null) {
oldVersion = "1.5.02"; oldVersion = "1.5.02";
} }
updated = true;
} }
if(character.length <= 43) { if(character.length <= 43) {
@ -1086,15 +1140,16 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
if (oldVersion == null) { if (oldVersion == null) {
oldVersion = "2.1.133"; oldVersion = "2.1.133";
} }
updated = true;
} }
if(character.length <= 65) { if(character.length <= 67) {
if (oldVersion == null) { if (oldVersion == null) {
oldVersion = "2.1.133"; oldVersion = "2.1.134";
} }
character = Arrays.copyOf(character, 64); // new array size character = Arrays.copyOf(character, 68); // new array size
/* /*
public static int SKILLS_TRIDENTS = 44; public static int SKILLS_TRIDENTS = 44;
@ -1120,33 +1175,64 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
public static int BARSTATE_CROSSBOWS = 64; public static int BARSTATE_CROSSBOWS = 64;
*/ */
character[44-1] = "0"; //trident skill lvl character[SKILLS_TRIDENTS] = "0"; //trident skill lvl
character[45-1] = "0"; //trident xp value character[EXP_TRIDENTS] = "0"; //trident xp value
character[46-1] = "0"; //xbow skill lvl character[SKILLS_CROSSBOWS] = "0"; //xbow skill lvl
character[47-1] = "0"; //xbow xp lvl character[EXP_CROSSBOWS] = "0"; //xbow xp lvl
//Barstates 48-64 //Barstates 48-64
character[48-1] = "NORMAL"; character[BARSTATE_ACROBATICS] = "NORMAL";
character[49-1] = "NORMAL"; character[BARSTATE_ALCHEMY] = "NORMAL";
character[50-1] = "NORMAL"; character[BARSTATE_ARCHERY] = "NORMAL";
character[51-1] = "NORMAL"; character[BARSTATE_AXES] = "NORMAL";
character[52-1] = "NORMAL"; character[BARSTATE_EXCAVATION] = "NORMAL";
character[53-1] = "NORMAL"; character[BARSTATE_FISHING] = "NORMAL";
character[54-1] = "NORMAL"; character[BARSTATE_HERBALISM] = "NORMAL";
character[55-1] = "NORMAL"; character[BARSTATE_MINING] = "NORMAL";
character[56-1] = "NORMAL"; character[BARSTATE_REPAIR] = "NORMAL";
character[57-1] = "DISABLED"; //Child skills character[BARSTATE_SALVAGE] = "DISABLED"; //Child skills
character[58-1] = "DISABLED"; //Child skills character[BARSTATE_SMELTING] = "DISABLED"; //Child skills
character[59-1] = "NORMAL"; character[BARSTATE_SWORDS] = "NORMAL";
character[60-1] = "NORMAL"; character[BARSTATE_TAMING] = "NORMAL";
character[61-1] = "NORMAL"; character[BARSTATE_UNARMED] = "NORMAL";
character[62-1] = "NORMAL"; character[BARSTATE_WOODCUTTING] = "NORMAL";
character[63-1] = "NORMAL"; character[BARSTATE_TRIDENTS] = "NORMAL";
character[64-1] = "NORMAL"; character[BARSTATE_CROSSBOWS] = "NORMAL";
character[COOLDOWN_ARCHERY_SUPER_1] = "0";
character[COOLDOWN_CROSSBOWS_SUPER_1] = "0";
character[COOLDOWN_TRIDENTS_SUPER_1] = "0";
updated = true;
}
//TODO: If new skills are added this needs to be rewritten
if (Config.getInstance().getTruncateSkills()) {
for (PrimarySkillType skill : PrimarySkillType.NON_CHILD_SKILLS) {
int index = getSkillIndex(skill);
if (index >= character.length) {
continue;
}
int cap = Config.getInstance().getLevelCap(skill);
if (Integer.parseInt(character[index]) > cap) {
mcMMO.p.getLogger().warning("Truncating " + skill.getName() + " to configured max level for player " + character[USERNAME]);
character[index] = cap + "";
updated = true;
}
}
} }
boolean corrupted = false; boolean corrupted = false;
//TODO: Update this corruption code, its super out of date
//TODO: Update this corruption code, its super out of date
//TODO: Update this corruption code, its super out of date
//TODO: Update this corruption code, its super out of date
//TODO: Update this corruption code, its super out of date
//TODO: Update this corruption code, its super out of date
//TODO: Update this corruption code, its super out of date
//TODO: Update this corruption code, its super out of date
//TODO: Update this corruption code, its super out of dated
for (int i = 0; i < character.length; i++) { for (int i = 0; i < character.length; i++) {
//Sigh... this code //Sigh... this code
if (character[i].isEmpty() && !(i == 2 || i == 3 || i == 23 || i == 33 || i == 41)) { if (character[i].isEmpty() && !(i == 2 || i == 3 || i == 23 || i == 33 || i == 41)) {
@ -1199,6 +1285,14 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
line = org.apache.commons.lang.StringUtils.join(character, ":") + ":"; line = org.apache.commons.lang.StringUtils.join(character, ":") + ":";
} }
// Prevent the same player from being present multiple times
if (character.length == originalLength //If the length changed then the schema was expanded
&& (!character[UUID_INDEX].isEmpty()
&& !character[UUID_INDEX].equals("NULL")
&& !players.add(character[UUID_INDEX]))) {
continue;
}
writer.append(line).append("\r\n"); writer.append(line).append("\r\n");
} }
@ -1314,11 +1408,14 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
skillsDATS.put(SuperAbilityType.BERSERK, Integer.valueOf(character[COOLDOWN_BERSERK])); skillsDATS.put(SuperAbilityType.BERSERK, Integer.valueOf(character[COOLDOWN_BERSERK]));
skillsDATS.put(SuperAbilityType.GREEN_TERRA, Integer.valueOf(character[COOLDOWN_GREEN_TERRA])); skillsDATS.put(SuperAbilityType.GREEN_TERRA, Integer.valueOf(character[COOLDOWN_GREEN_TERRA]));
skillsDATS.put(SuperAbilityType.GIGA_DRILL_BREAKER, Integer.valueOf(character[COOLDOWN_GIGA_DRILL_BREAKER])); skillsDATS.put(SuperAbilityType.GIGA_DRILL_BREAKER, Integer.valueOf(character[COOLDOWN_GIGA_DRILL_BREAKER]));
// Archery - Unused
skillsDATS.put(SuperAbilityType.SERRATED_STRIKES, Integer.valueOf(character[COOLDOWN_SERRATED_STRIKES])); skillsDATS.put(SuperAbilityType.SERRATED_STRIKES, Integer.valueOf(character[COOLDOWN_SERRATED_STRIKES]));
skillsDATS.put(SuperAbilityType.SKULL_SPLITTER, Integer.valueOf(character[COOLDOWN_SKULL_SPLITTER])); skillsDATS.put(SuperAbilityType.SKULL_SPLITTER, Integer.valueOf(character[COOLDOWN_SKULL_SPLITTER]));
// Acrobatics - Unused // Acrobatics - Unused
skillsDATS.put(SuperAbilityType.BLAST_MINING, Integer.valueOf(character[COOLDOWN_BLAST_MINING])); skillsDATS.put(SuperAbilityType.BLAST_MINING, Integer.valueOf(character[COOLDOWN_BLAST_MINING]));
skillsDATS.put(SuperAbilityType.ARCHERY_SUPER, Integer.valueOf(character[COOLDOWN_ARCHERY_SUPER_1]));
skillsDATS.put(SuperAbilityType.SUPER_SHOTGUN, Integer.valueOf(character[COOLDOWN_CROSSBOWS_SUPER_1]));
skillsDATS.put(SuperAbilityType.TRIDENT_SUPER, Integer.valueOf(character[COOLDOWN_TRIDENTS_SUPER_1]));
try { try {
mobHealthbarType = MobHealthbarType.valueOf(character[HEALTHBAR]); mobHealthbarType = MobHealthbarType.valueOf(character[HEALTHBAR]);
@ -1401,9 +1498,6 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
return DatabaseType.FLATFILE; return DatabaseType.FLATFILE;
} }
@Override
public void onDisable() { }
private int getSkillIndex(PrimarySkillType skill) { private int getSkillIndex(PrimarySkillType skill) {
switch (skill) { switch (skill) {
case ACROBATICS: case ACROBATICS:
@ -1442,67 +1536,8 @@ public final class FlatfileDatabaseManager implements DatabaseManager {
} }
} }
public static int USERNAME = 0; @Override
public static int SKILLS_MINING = 1; public void onDisable() { }
public static int EXP_MINING = 4;
public static int SKILLS_WOODCUTTING = 5;
public static int EXP_WOODCUTTING = 6;
public static int SKILLS_REPAIR = 7;
public static int SKILLS_UNARMED = 8;
public static int SKILLS_HERBALISM = 9;
public static int SKILLS_EXCAVATION = 10;
public static int SKILLS_ARCHERY = 11;
public static int SKILLS_SWORDS = 12;
public static int SKILLS_AXES = 13;
public static int SKILLS_ACROBATICS = 14;
public static int EXP_REPAIR = 15;
public static int EXP_UNARMED = 16;
public static int EXP_HERBALISM = 17;
public static int EXP_EXCAVATION = 18;
public static int EXP_ARCHERY = 19;
public static int EXP_SWORDS = 20;
public static int EXP_AXES = 21;
public static int EXP_ACROBATICS = 22;
public static int SKILLS_TAMING = 24;
public static int EXP_TAMING = 25;
public static int COOLDOWN_BERSERK = 26;
public static int COOLDOWN_GIGA_DRILL_BREAKER = 27;
public static int COOLDOWN_TREE_FELLER = 28;
public static int COOLDOWN_GREEN_TERRA = 29;
public static int COOLDOWN_SERRATED_STRIKES = 30;
public static int COOLDOWN_SKULL_SPLITTER = 31;
public static int COOLDOWN_SUPER_BREAKER = 32;
public static int SKILLS_FISHING = 34;
public static int EXP_FISHING = 35;
public static int COOLDOWN_BLAST_MINING = 36;
public static int LAST_LOGIN = 37;
public static int HEALTHBAR = 38;
public static int SKILLS_ALCHEMY = 39;
public static int EXP_ALCHEMY = 40;
public static int UUID_INDEX = 41;
public static int SCOREBOARD_TIPS = 42;
public static int COOLDOWN_CHIMAERA_WING = 43;
public static int SKILLS_TRIDENTS = 44;
public static int EXP_TRIDENTS = 45;
public static int SKILLS_CROSSBOWS = 46;
public static int EXP_CROSSBOWS = 47;
public static int BARSTATE_ACROBATICS = 48;
public static int BARSTATE_ALCHEMY = 49;
public static int BARSTATE_ARCHERY = 50;
public static int BARSTATE_AXES = 51;
public static int BARSTATE_EXCAVATION = 52;
public static int BARSTATE_FISHING = 53;
public static int BARSTATE_HERBALISM = 54;
public static int BARSTATE_MINING = 55;
public static int BARSTATE_REPAIR = 56;
public static int BARSTATE_SALVAGE = 57;
public static int BARSTATE_SMELTING = 58;
public static int BARSTATE_SWORDS = 59;
public static int BARSTATE_TAMING = 60;
public static int BARSTATE_UNARMED = 61;
public static int BARSTATE_WOODCUTTING = 62;
public static int BARSTATE_TRIDENTS = 63;
public static int BARSTATE_CROSSBOWS = 64;
public void resetMobHealthSettings() { public void resetMobHealthSettings() {
BufferedReader in = null; BufferedReader in = null;

View File

@ -77,6 +77,31 @@ public enum SuperAbilityType {
"Mining.Blast.Refresh", "Mining.Blast.Refresh",
null, null,
"Mining.SubSkill.BlastMining.Name"), "Mining.SubSkill.BlastMining.Name"),
ARCHERY_SUPER(
"Archery.SuperAbility.SuperAbilityName.On",
"Archery.SuperAbility.SuperAbilityName.Off",
"Archery.SuperAbility.SuperAbilityName.InformOthers.On",
"Archery.SuperAbility.SuperAbilityName.Refresh",
"Archery.SuperAbility.SuperAbilityName.InformOthers.Off",
"Archery.SuperAbility.SuperAbilityName.Name"
),
SUPER_SHOTGUN(
"Crossbows.SuperAbility.SuperShotgun.On",
"Crossbows.SuperAbility.SuperShotgun.Off",
"Crossbows.SuperAbility.SuperShotgun.InformOthers.On",
"Crossbows.SuperAbility.SuperShotgun.Refresh",
"Crossbows.SuperAbility.SuperShotgun.InformOthers.Off",
"Crossbows.SuperAbility.SuperShotgun.Name"
),
TRIDENT_SUPER(
"Tridents.SuperAbility.SuperAbilityName.On",
"Tridents.SuperAbility.SuperAbilityName.Off",
"Tridents.SuperAbility.SuperAbilityName.InformOthers.On",
"Tridents.SuperAbility.SuperAbilityName.Refresh",
"Tridents.SuperAbility.SuperAbilityName.InformOthers.Off",
"Tridents.SuperAbility.SuperAbilityName.Name"
),
; ;
/* /*

View File

@ -16,7 +16,6 @@ import org.bukkit.Bukkit;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.block.BlockState; import org.bukkit.block.BlockState;
import org.bukkit.entity.Item;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;

View File

@ -7,16 +7,9 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer;
import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
import com.gmail.nossr50.datatypes.skills.SuperAbilityType; import com.gmail.nossr50.datatypes.skills.SuperAbilityType;
import com.gmail.nossr50.datatypes.skills.ToolType; import com.gmail.nossr50.datatypes.skills.ToolType;
import com.gmail.nossr50.datatypes.skills.subskills.taming.CallOfTheWildType;
import com.gmail.nossr50.events.fake.FakePlayerAnimationEvent;
import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.mcMMO;
import com.gmail.nossr50.runnables.skills.AbilityDisableTask; import com.gmail.nossr50.runnables.skills.AbilityDisableTask;
import com.gmail.nossr50.runnables.skills.ToolLowerTask; import com.gmail.nossr50.runnables.skills.ToolLowerTask;
import com.gmail.nossr50.skills.herbalism.HerbalismManager;
import com.gmail.nossr50.skills.mining.MiningManager;
import com.gmail.nossr50.skills.taming.TamingManager;
import com.gmail.nossr50.util.BlockUtils;
import com.gmail.nossr50.util.ChimaeraWing;
import com.gmail.nossr50.util.EventUtils; import com.gmail.nossr50.util.EventUtils;
import com.gmail.nossr50.util.Misc; import com.gmail.nossr50.util.Misc;
import com.gmail.nossr50.util.player.NotificationManager; import com.gmail.nossr50.util.player.NotificationManager;
@ -25,12 +18,7 @@ import com.gmail.nossr50.util.skills.RankUtils;
import com.gmail.nossr50.util.skills.SkillUtils; import com.gmail.nossr50.util.skills.SkillUtils;
import com.gmail.nossr50.util.sounds.SoundManager; import com.gmail.nossr50.util.sounds.SoundManager;
import com.gmail.nossr50.util.sounds.SoundType; import com.gmail.nossr50.util.sounds.SoundType;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import java.util.HashMap; import java.util.HashMap;

View File

@ -238,8 +238,6 @@ Items:
Recipe_Cost: 5 Recipe_Cost: 5
Item_Name: FEATHER Item_Name: FEATHER
Sound_Enabled: true Sound_Enabled: true
Flux_Pickaxe:
Sound_Enabled: true
# #
# Settings for Parties # Settings for Parties
@ -297,6 +295,9 @@ Abilities:
Skull_Splitter: 240 Skull_Splitter: 240
Super_Breaker: 240 Super_Breaker: 240
Tree_Feller: 240 Tree_Feller: 240
Super_Shotgun: 240
Archery_Super: 240
Tridents_Super: 240
Max_Seconds: Max_Seconds:
Berserk: 0 Berserk: 0
Blast_Mining: 0 Blast_Mining: 0
@ -306,6 +307,9 @@ Abilities:
Skull_Splitter: 0 Skull_Splitter: 0
Super_Breaker: 0 Super_Breaker: 0
Tree_Feller: 0 Tree_Feller: 0
Super_Shotgun: 0
Archery_Super: 0
Tridents_Super: 0
Limits: Limits:
Tree_Feller_Threshold: 500 Tree_Feller_Threshold: 500
Tools: Tools:

View File

@ -558,6 +558,9 @@ Woodcutting.Skills.TreeFeller.Threshold=That tree is too large!
Tridents.SubSkill.TridentsLimitBreak.Name=Tridents Limit Break Tridents.SubSkill.TridentsLimitBreak.Name=Tridents Limit Break
Tridents.SubSkill.TridentsLimitBreak.Description=Breaking your limits. Increased damage against tough opponents. Intended for PVP, up to server settings for whether or not it will boost damage in PVE. Tridents.SubSkill.TridentsLimitBreak.Description=Breaking your limits. Increased damage against tough opponents. Intended for PVP, up to server settings for whether or not it will boost damage in PVE.
Tridents.SubSkill.TridentsLimitBreak.Stat=Limit Break Max DMG Tridents.SubSkill.TridentsLimitBreak.Stat=Limit Break Max DMG
Tridents.SubSkill.MultiTasking.Name=Multi Tasking
Tridents.SubSkill.MultiTasking.Description=Hit additional targets
Tridents.SubSkill.MultiTasking.Stat=Additional targets
Tridents.Listener=Tridents: Tridents.Listener=Tridents:
Tridents.SkillName=TRIDENTS Tridents.SkillName=TRIDENTS
@ -1141,3 +1144,25 @@ Commands.Description.mmocompat=Information about mcMMO and whether or not its in
Compatibility.Layer.Unsupported=[[GOLD]]Compatibility for [[GREEN]]{0}[[GOLD]] is not supported by this version of Minecraft. Compatibility.Layer.Unsupported=[[GOLD]]Compatibility for [[GREEN]]{0}[[GOLD]] is not supported by this version of Minecraft.
Compatibility.Layer.PartialSupport=[[GOLD]]Compatibility for [[GREEN]]{0}[[GOLD]] is not fully supported by this version of Minecraft, but mcMMO is running a secondary system to emulate some of the missing features. Compatibility.Layer.PartialSupport=[[GOLD]]Compatibility for [[GREEN]]{0}[[GOLD]] is not fully supported by this version of Minecraft, but mcMMO is running a secondary system to emulate some of the missing features.
Commands.XPBar.DisableAll=[[GOLD]] All mcMMO XP bars are now disabled, use /mmoxpbar reset to restore default settings. Commands.XPBar.DisableAll=[[GOLD]] All mcMMO XP bars are now disabled, use /mmoxpbar reset to restore default settings.
Archery.SuperAbility.SuperAbilityName.On=&a**SUPER ABILITY ACTIVATED**
Archery.SuperAbility.SuperAbilityName.Off=**Super Ability has worn off**
Archery.SuperAbility.SuperAbilityName.InformOthers.On=&a{0}[[DARK_GREEN]] has used [[RED]]Super Ability!
Archery.SuperAbility.SuperAbilityName.InformOthers.Off=Super Ability &ahas worn off for [[YELLOW]]{0}
Archery.SuperAbility.SuperAbilityName.Refresh=&aYour [[YELLOW]]Super Ability &ais refreshed!
Archery.SuperAbility.SuperAbilityName.Name=Archery Super
Crossbows.SuperAbility.SuperShotgun.On=&a**SUPER SHOTGUN ACTIVATED**
Crossbows.SuperAbility.SuperShotgun.Off=**Super Shotgun has worn off**
Crossbows.SuperAbility.SuperShotgun.InformOthers.On=&a{0}[[DARK_GREEN]] has used [[RED]]SSG!
Crossbows.SuperAbility.SuperShotgun.InformOthers.Off=Super Ability &ahas worn off for [[YELLOW]]{0}
Crossbows.SuperAbility.SuperShotgun.Refresh=&aYour [[YELLOW]]Super Shotgun &ais refreshed!
Crossbows.SuperAbility.SuperShotgun.Name=Super Shotgun
Tridents.SuperAbility.SuperAbilityName.On=&a**SUPER ABILITY ACTIVATED**
Tridents.SuperAbility.SuperAbilityName.Off=**Super Ability has worn off**
Tridents.SuperAbility.SuperAbilityName.InformOthers.On=&a{0}[[DARK_GREEN]] has used [[RED]]Super Ability!
Tridents.SuperAbility.SuperAbilityName.InformOthers.Off=Super Ability &ahas worn off for [[YELLOW]]{0}
Tridents.SuperAbility.SuperAbilityName.Refresh=&aYour [[YELLOW]]Super Ability &ais refreshed!
Tridents.SuperAbility.SuperAbilityName.Name=Tridents Super