mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2024-11-26 23:26:45 +01:00
Merge branch 'master' of https://github.com/mcMMO-Dev/mcMMO
This commit is contained in:
commit
f8c5c380b1
@ -33,6 +33,7 @@ Version 1.3.13-dev
|
|||||||
= Fixed a bug where dropped items did not retain custom NBT data
|
= Fixed a bug where dropped items did not retain custom NBT data
|
||||||
= Fixed a bug which caused a potentially infinite recursion in a btree structure
|
= Fixed a bug which caused a potentially infinite recursion in a btree structure
|
||||||
= Fixed a NPE with custom blocks
|
= Fixed a NPE with custom blocks
|
||||||
|
= Fixed a bug with Blast Mining never dropping debris blocks
|
||||||
! GJ stopped being a lazy slacker and got stuff done
|
! GJ stopped being a lazy slacker and got stuff done
|
||||||
! Changed code that uses SpoutPlugin to make it compatible with the latest version
|
! Changed code that uses SpoutPlugin to make it compatible with the latest version
|
||||||
! Changed Reimplemented skill level and power level caps.
|
! Changed Reimplemented skill level and power level caps.
|
||||||
|
@ -43,7 +43,7 @@ public class InspectCommand implements CommandExecutor {
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
if (sender instanceof Player && !sender.isOp() && !Permissions.inspectOfflineBypass((Player) sender)) {
|
if (sender instanceof Player && !sender.isOp() && !Permissions.inspectOfflineBypass((Player) sender)) {
|
||||||
sender.sendMessage(LocaleLoader.getString("Inspect.Offline"));
|
sender.sendMessage(LocaleLoader.getString("Inspect.Offline"));
|
||||||
return true;
|
return true;
|
||||||
@ -77,7 +77,6 @@ public class InspectCommand implements CommandExecutor {
|
|||||||
sender.sendMessage(LocaleLoader.getString("Skills.Stats", new Object[] { LocaleLoader.getString("Repair.Listener"), profile.getSkillLevel(SkillType.REPAIR), profile.getSkillXpLevel(SkillType.REPAIR), profile.getXpToLevel(SkillType.REPAIR) }));
|
sender.sendMessage(LocaleLoader.getString("Skills.Stats", new Object[] { LocaleLoader.getString("Repair.Listener"), profile.getSkillLevel(SkillType.REPAIR), profile.getSkillXpLevel(SkillType.REPAIR), profile.getXpToLevel(SkillType.REPAIR) }));
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
sender.sendMessage(usage);
|
sender.sendMessage(usage);
|
||||||
|
@ -62,7 +62,7 @@ public class MctopCommand implements CommandExecutor {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
String powerlevel = "taming+mining+woodcutting+repair+unarmed+herbalism+excavation+archery+swords+axes+acrobatics+fishing";
|
String powerlevel = "taming+mining+woodcutting+repair+unarmed+herbalism+excavation+archery+swords+axes+acrobatics+fishing";
|
||||||
|
|
||||||
switch (args.length) {
|
switch (args.length) {
|
||||||
@ -103,7 +103,6 @@ public class MctopCommand implements CommandExecutor {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private void flatfileDisplay(int page, String skill, CommandSender sender) {
|
private void flatfileDisplay(int page, String skill, CommandSender sender) {
|
||||||
String[] info = Leaderboard.retrieveInfo(skill, page);
|
String[] info = Leaderboard.retrieveInfo(skill, page);
|
||||||
|
@ -56,15 +56,13 @@ public class InviteCommand implements CommandExecutor {
|
|||||||
target.sendMessage(LocaleLoader.getString("Commands.Party.Invite.1"));
|
target.sendMessage(LocaleLoader.getString("Commands.Party.Invite.1"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
player.sendMessage(LocaleLoader.getString("Party.Locked"));
|
player.sendMessage(LocaleLoader.getString("Party.Locked"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else {
|
|
||||||
player.sendMessage(LocaleLoader.getString("Party.Player.Invalid"));
|
player.sendMessage(LocaleLoader.getString("Party.Player.Invalid"));
|
||||||
return true;
|
return true;
|
||||||
}
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
sender.sendMessage(usage);
|
sender.sendMessage(usage);
|
||||||
|
@ -87,7 +87,7 @@ public class PartyCommand implements CommandExecutor {
|
|||||||
player.sendMessage(LocaleLoader.getString("Commands.Party.Leave"));
|
player.sendMessage(LocaleLoader.getString("Commands.Party.Leave"));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
player.sendMessage("Commands.Party.None");
|
player.sendMessage(LocaleLoader.getString("Commands.Party.None"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (args[0].equals("?")) {
|
else if (args[0].equals("?")) {
|
||||||
@ -140,7 +140,7 @@ public class PartyCommand implements CommandExecutor {
|
|||||||
Party newParty = partyManagerInstance.getParty(args[0]);
|
Party newParty = partyManagerInstance.getParty(args[0]);
|
||||||
|
|
||||||
// Check to see if the party exists, and if it does, can the player join it?
|
// Check to see if the party exists, and if it does, can the player join it?
|
||||||
if (newParty != null && !partyManagerInstance.checkJoinability(player, playerProfile, newParty, null)) {
|
if (newParty != null && !partyManagerInstance.checkJoinability(player, newParty, null)) {
|
||||||
return true; // End before any event is fired.
|
return true; // End before any event is fired.
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -186,7 +186,7 @@ public class PartyCommand implements CommandExecutor {
|
|||||||
player.sendMessage(LocaleLoader.getString("Party.NotInYourParty", new Object[] {args[1]}));
|
player.sendMessage(LocaleLoader.getString("Party.NotInYourParty", new Object[] {args[1]}));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
String partyName = party.getName();
|
String partyName = party.getName();
|
||||||
McMMOPartyChangeEvent event = new McMMOPartyChangeEvent(player, partyName, null, EventReason.KICKED_FROM_PARTY);
|
McMMOPartyChangeEvent event = new McMMOPartyChangeEvent(player, partyName, null, EventReason.KICKED_FROM_PARTY);
|
||||||
|
|
||||||
@ -198,7 +198,6 @@ public class PartyCommand implements CommandExecutor {
|
|||||||
|
|
||||||
partyManagerInstance.removeFromParty(args[1], party);
|
partyManagerInstance.removeFromParty(args[1], party);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else {
|
else {
|
||||||
player.sendMessage(LocaleLoader.getString("Party.NotOwner"));
|
player.sendMessage(LocaleLoader.getString("Party.NotOwner"));
|
||||||
}
|
}
|
||||||
@ -209,16 +208,15 @@ public class PartyCommand implements CommandExecutor {
|
|||||||
player.sendMessage(LocaleLoader.getString("Party.NotInYourParty", new Object[] {args[1]}));
|
player.sendMessage(LocaleLoader.getString("Party.NotInYourParty", new Object[] {args[1]}));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
partyManagerInstance.setPartyLeader(args[1], party);
|
partyManagerInstance.setPartyLeader(args[1], party);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else {
|
else {
|
||||||
Party newParty = partyManagerInstance.getParty(args[0]);
|
Party newParty = partyManagerInstance.getParty(args[0]);
|
||||||
|
|
||||||
// Check to see if the party exists, and if it does, can the player join it?
|
// Check to see if the party exists, and if it does, can the player join it?
|
||||||
if (newParty != null && !partyManagerInstance.checkJoinability(player, playerProfile, newParty, args[1])) {
|
if (newParty != null && !partyManagerInstance.checkJoinability(player, newParty, args[1])) {
|
||||||
return true; // End before any event is fired.
|
return true; // End before any event is fired.
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -237,7 +235,7 @@ public class PartyCommand implements CommandExecutor {
|
|||||||
Party newParty = partyManagerInstance.getParty(args[0]);
|
Party newParty = partyManagerInstance.getParty(args[0]);
|
||||||
|
|
||||||
// Check to see if the party exists, and if it does, can the player join it?
|
// Check to see if the party exists, and if it does, can the player join it?
|
||||||
if (newParty != null && !partyManagerInstance.checkJoinability(player, playerProfile, newParty, args[1])) {
|
if (newParty != null && !partyManagerInstance.checkJoinability(player, newParty, args[1])) {
|
||||||
return true; // End before any event is fired.
|
return true; // End before any event is fired.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ public class RepairCommand extends SkillCommand {
|
|||||||
private String superRepairChance;
|
private String superRepairChance;
|
||||||
private String superRepairChanceLucky;
|
private String superRepairChanceLucky;
|
||||||
|
|
||||||
private float repairMasteryChanceMax = advancedConfig.getRepairMasteryChanceMax();
|
private float repairMasteryMaxBonus = advancedConfig.getRepairMasteryMaxBonus();
|
||||||
private float repairMasteryMaxBonusLevel = advancedConfig.getRepairMasteryMaxLevel();
|
private float repairMasteryMaxBonusLevel = advancedConfig.getRepairMasteryMaxLevel();
|
||||||
private float superRepairChanceMax = advancedConfig.getSuperRepairChanceMax();
|
private float superRepairChanceMax = advancedConfig.getSuperRepairChanceMax();
|
||||||
private float superRepairMaxBonusLevel = advancedConfig.getSuperRepairMaxLevel();
|
private float superRepairMaxBonusLevel = advancedConfig.getSuperRepairMaxLevel();
|
||||||
@ -67,8 +67,8 @@ public class RepairCommand extends SkillCommand {
|
|||||||
|
|
||||||
salvageLevel = Config.getInstance().getSalvageUnlockLevel();
|
salvageLevel = Config.getInstance().getSalvageUnlockLevel();
|
||||||
|
|
||||||
if(skillValue >= repairMasteryMaxBonusLevel) repairMasteryBonus = df.format(repairMasteryChanceMax);
|
if (skillValue >= repairMasteryMaxBonusLevel) repairMasteryBonus = df.format(repairMasteryMaxBonus);
|
||||||
else repairMasteryBonus = df.format(((double) repairMasteryChanceMax / (double) repairMasteryMaxBonusLevel) * skillValue);
|
else repairMasteryBonus = df.format(((double) repairMasteryMaxBonus / (double) repairMasteryMaxBonusLevel) * skillValue);
|
||||||
|
|
||||||
if (skillValue >= superRepairMaxBonusLevel) superRepairChanceF = superRepairChanceMax;
|
if (skillValue >= superRepairMaxBonusLevel) superRepairChanceF = superRepairChanceMax;
|
||||||
else superRepairChanceF = (float) (((double) superRepairChanceMax / (double) superRepairMaxBonusLevel) * skillValue);
|
else superRepairChanceF = (float) (((double) superRepairChanceMax / (double) superRepairMaxBonusLevel) * skillValue);
|
||||||
|
@ -59,8 +59,6 @@ public class SwordsCommand extends SkillCommand {
|
|||||||
counterAttackChance = df.format(counterAttackChanceF);
|
counterAttackChance = df.format(counterAttackChanceF);
|
||||||
if (counterAttackChanceF + counterAttackChanceF * 0.3333D >= 100D) counterAttackChanceLucky = df.format(100D);
|
if (counterAttackChanceF + counterAttackChanceF * 0.3333D >= 100D) counterAttackChanceLucky = df.format(100D);
|
||||||
else counterAttackChanceLucky = df.format(counterAttackChanceF + counterAttackChanceF * 0.3333D);
|
else counterAttackChanceLucky = df.format(counterAttackChanceF + counterAttackChanceF * 0.3333D);
|
||||||
|
|
||||||
serratedStrikesLength = String.valueOf(serratedBleedTicks);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -93,7 +93,7 @@ public class AdvancedConfig extends ConfigLoader {
|
|||||||
public int getBlastMiningRank7() { return config.getInt("Skills.Mining.BlastMining_Rank7", 875); }
|
public int getBlastMiningRank7() { return config.getInt("Skills.Mining.BlastMining_Rank7", 875); }
|
||||||
public int getBlastMiningRank8() { return config.getInt("Skills.Mining.BlastMining_Rank8", 1000); }
|
public int getBlastMiningRank8() { return config.getInt("Skills.Mining.BlastMining_Rank8", 1000); }
|
||||||
/* REPAIR */
|
/* REPAIR */
|
||||||
public int getRepairMasteryChanceMax() { return config.getInt("Skills.Repair.RepairMastery_ChanceMax", 200); }
|
public int getRepairMasteryMaxBonus() { return config.getInt("Skills.Repair.RepairMastery_MaxBonusPercentage", 200); }
|
||||||
public int getRepairMasteryMaxLevel() { return config.getInt("Skills.Repair.RepairMastery_MaxBonusLevel", 1000); }
|
public int getRepairMasteryMaxLevel() { return config.getInt("Skills.Repair.RepairMastery_MaxBonusLevel", 1000); }
|
||||||
public int getSuperRepairChanceMax() { return config.getInt("Skills.Repair.SuperRepair_ChanceMax", 100); }
|
public int getSuperRepairChanceMax() { return config.getInt("Skills.Repair.SuperRepair_ChanceMax", 100); }
|
||||||
public int getSuperRepairMaxLevel() { return config.getInt("Skills.Repair.SuperRepair_MaxBonusLevel", 1000); }
|
public int getSuperRepairMaxLevel() { return config.getInt("Skills.Repair.SuperRepair_MaxBonusLevel", 1000); }
|
||||||
@ -136,7 +136,7 @@ public class AdvancedConfig extends ConfigLoader {
|
|||||||
public int getDeflectMaxBonusLevel() { return config.getInt("Skills.Unarmed.Deflect_MaxBonusLevel", 1000); }
|
public int getDeflectMaxBonusLevel() { return config.getInt("Skills.Unarmed.Deflect_MaxBonusLevel", 1000); }
|
||||||
public int getIronGripChanceMax() { return config.getInt("Skills.Unarmed.IronGrip_ChanceMax", 100); }
|
public int getIronGripChanceMax() { return config.getInt("Skills.Unarmed.IronGrip_ChanceMax", 100); }
|
||||||
public int getIronGripMaxBonusLevel() { return config.getInt("Skills.Unarmed.IronGrip_MaxBonusLevel", 1000); }
|
public int getIronGripMaxBonusLevel() { return config.getInt("Skills.Unarmed.IronGrip_MaxBonusLevel", 1000); }
|
||||||
public int getIronArmBonus() { return config.getInt("Skills.Unarmed.IronArm_Bonus", 8); }
|
public int getIronArmBonus() { return config.getInt("Skills.Unarmed.IronArm_BonusMax", 8); }
|
||||||
public int getIronArmIncreaseLevel() { return config.getInt("Skills.Unarmed.IronArm_IncreaseLevel", 50); }
|
public int getIronArmIncreaseLevel() { return config.getInt("Skills.Unarmed.IronArm_IncreaseLevel", 50); }
|
||||||
/* WOODCUTTING */
|
/* WOODCUTTING */
|
||||||
public int getLeafBlowUnlockLevel() { return config.getInt("Skills.Woodcutting.LeafBlower_UnlockLevel", 100); }
|
public int getLeafBlowUnlockLevel() { return config.getInt("Skills.Woodcutting.LeafBlower_UnlockLevel", 100); }
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.gmail.nossr50.config;
|
package com.gmail.nossr50.config;
|
||||||
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
@ -49,10 +48,9 @@ public class Config extends ConfigLoader {
|
|||||||
if (getStringIncludingInts(config, "MySQL.Database.User_Password") != null) {
|
if (getStringIncludingInts(config, "MySQL.Database.User_Password") != null) {
|
||||||
return getStringIncludingInts(config, "MySQL.Database.User_Password");
|
return getStringIncludingInts(config, "MySQL.Database.User_Password");
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private static String getStringIncludingInts(ConfigurationSection cfg, String key) {
|
private static String getStringIncludingInts(ConfigurationSection cfg, String key) {
|
||||||
String str = cfg.getString(key);
|
String str = cfg.getString(key);
|
||||||
@ -206,22 +204,7 @@ public class Config extends ConfigLoader {
|
|||||||
public boolean getPotatoDoubleDropsEnabled() { return config.getBoolean("Double_Drops.Herbalism.Potato", true); }
|
public boolean getPotatoDoubleDropsEnabled() { return config.getBoolean("Double_Drops.Herbalism.Potato", true); }
|
||||||
|
|
||||||
public boolean herbalismDoubleDropsDisabled() {
|
public boolean herbalismDoubleDropsDisabled() {
|
||||||
ConfigurationSection section = config.getConfigurationSection("Double_Drops.Herbalism");
|
return doubleDropsDisabled("Herbalism");
|
||||||
Set<String> keys = section.getKeys(false);
|
|
||||||
Iterator<String> iterator = keys.iterator();
|
|
||||||
|
|
||||||
boolean disabled = true;
|
|
||||||
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
String key = iterator.next();
|
|
||||||
|
|
||||||
if (config.getBoolean("Double_Drops.Herbalism." + key)) {
|
|
||||||
disabled = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return disabled;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Mining */
|
/* Mining */
|
||||||
@ -256,22 +239,7 @@ public class Config extends ConfigLoader {
|
|||||||
public boolean getEmeraldDoubleDropsEnabled() { return config.getBoolean("Double_Drops.Mining.Emerald", true); }
|
public boolean getEmeraldDoubleDropsEnabled() { return config.getBoolean("Double_Drops.Mining.Emerald", true); }
|
||||||
|
|
||||||
public boolean miningDoubleDropsDisabled() {
|
public boolean miningDoubleDropsDisabled() {
|
||||||
ConfigurationSection section = config.getConfigurationSection("Double_Drops.Mining");
|
return doubleDropsDisabled("Mining");
|
||||||
Set<String> keys = section.getKeys(false);
|
|
||||||
Iterator<String> iterator = keys.iterator();
|
|
||||||
|
|
||||||
boolean disabled = true;
|
|
||||||
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
String key = iterator.next();
|
|
||||||
|
|
||||||
if (config.getBoolean("Double_Drops.Mining." + key)) {
|
|
||||||
disabled = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return disabled;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getDetonatorItemID() { return config.getInt("Skills.Mining.Detonator_ID", 259); }
|
public int getDetonatorItemID() { return config.getInt("Skills.Mining.Detonator_ID", 259); }
|
||||||
@ -303,22 +271,7 @@ public class Config extends ConfigLoader {
|
|||||||
public boolean getJungleDoubleDropsEnabled() { return config.getBoolean("Double_Drops.Woodcutting.Jungle", true); }
|
public boolean getJungleDoubleDropsEnabled() { return config.getBoolean("Double_Drops.Woodcutting.Jungle", true); }
|
||||||
|
|
||||||
public boolean woodcuttingDoubleDropsDisabled() {
|
public boolean woodcuttingDoubleDropsDisabled() {
|
||||||
ConfigurationSection section = config.getConfigurationSection("Double_Drops.Woodcutting");
|
return doubleDropsDisabled("Woodcutting");
|
||||||
Set<String> keys = section.getKeys(false);
|
|
||||||
Iterator<String> iterator = keys.iterator();
|
|
||||||
|
|
||||||
boolean disabled = true;
|
|
||||||
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
String key = iterator.next();
|
|
||||||
|
|
||||||
if (config.getBoolean("Double_Drops.Woodcutting." + key)) {
|
|
||||||
disabled = false;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return disabled;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* AFK Leveling */
|
/* AFK Leveling */
|
||||||
@ -343,68 +296,55 @@ public class Config extends ConfigLoader {
|
|||||||
|
|
||||||
/* Level Caps */
|
/* Level Caps */
|
||||||
public int getLevelCapAcrobatics() {
|
public int getLevelCapAcrobatics() {
|
||||||
int cap = config.getInt("Skills.Acrobatics.Level_Cap", 0);
|
return getLevelCap("Skills.Acrobatics.Level_Cap");
|
||||||
return ((cap <= 0) ? Integer.MAX_VALUE : cap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getLevelCapArchery() {
|
public int getLevelCapArchery() {
|
||||||
int cap = config.getInt("Skills.Archery.Level_Cap", 0);
|
return getLevelCap("Skills.Archery.Level_Cap");
|
||||||
return ((cap <= 0) ? Integer.MAX_VALUE : cap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getLevelCapAxes() {
|
public int getLevelCapAxes() {
|
||||||
int cap = config.getInt("Skills.Axes.Level_Cap", 0);
|
return getLevelCap("Skills.Axes.Level_Cap");
|
||||||
return ((cap <= 0) ? Integer.MAX_VALUE : cap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getLevelCapExcavation() {
|
public int getLevelCapExcavation() {
|
||||||
int cap = config.getInt("Skills.Excavation.Level_Cap", 0);
|
return getLevelCap("Skills.Excavation.Level_Cap");
|
||||||
return ((cap <= 0) ? Integer.MAX_VALUE : cap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getLevelCapFishing() {
|
public int getLevelCapFishing() {
|
||||||
int cap = config.getInt("Skills.Fishing.Level_Cap", 0);
|
return getLevelCap("Skills.Fishing.Level_Cap");
|
||||||
return ((cap <= 0) ? Integer.MAX_VALUE : cap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getLevelCapHerbalism() {
|
public int getLevelCapHerbalism() {
|
||||||
int cap = config.getInt("Skills.Herbalism.Level_Cap", 0);
|
return getLevelCap("Skills.Herbalism.Level_Cap");
|
||||||
return ((cap <= 0) ? Integer.MAX_VALUE : cap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getLevelCapMining() {
|
public int getLevelCapMining() {
|
||||||
int cap = config.getInt("Skills.Mining.Level_Cap", 0);
|
return getLevelCap("Skills.Mining.Level_Cap");
|
||||||
return ((cap <= 0) ? Integer.MAX_VALUE : cap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getLevelCapRepair() {
|
public int getLevelCapRepair() {
|
||||||
int cap = config.getInt("Skills.Repair.Level_Cap", 0);
|
return getLevelCap("Skills.Repair.Level_Cap");
|
||||||
return ((cap <= 0) ? Integer.MAX_VALUE : cap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getLevelCapSwords() {
|
public int getLevelCapSwords() {
|
||||||
int cap = config.getInt("Skills.Swords.Level_Cap", 0);
|
return getLevelCap("Skills.Swords.Level_Cap");
|
||||||
return ((cap <= 0) ? Integer.MAX_VALUE : cap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getLevelCapTaming() {
|
public int getLevelCapTaming() {
|
||||||
int cap = config.getInt("Skills.Taming.Level_Cap", 0);
|
return getLevelCap("Skills.Taming.Level_Cap");
|
||||||
return ((cap <= 0) ? Integer.MAX_VALUE : cap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getLevelCapUnarmed() {
|
public int getLevelCapUnarmed() {
|
||||||
int cap = config.getInt("Skills.Unarmed.Level_Cap", 0);
|
return getLevelCap("Skills.Unarmed.Level_Cap");
|
||||||
return ((cap <= 0) ? Integer.MAX_VALUE : cap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getLevelCapWoodcutting() {
|
public int getLevelCapWoodcutting() {
|
||||||
int cap = config.getInt("Skills.Woodcutting.Level_Cap", 0);
|
return getLevelCap("Skills.Woodcutting.Level_Cap");
|
||||||
return ((cap <= 0) ? Integer.MAX_VALUE : cap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getPowerLevelCap() {
|
public int getPowerLevelCap() {
|
||||||
int cap = config.getInt("General.Power_Level_Cap", 0);
|
return getLevelCap("General.Power_Level_Cap");
|
||||||
return ((cap <= 0) ? Integer.MAX_VALUE : cap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* PVP & PVE Settings */
|
/* PVP & PVE Settings */
|
||||||
@ -466,4 +406,25 @@ public class Config extends ConfigLoader {
|
|||||||
public double getFormulaMultiplierAxes() { return config.getDouble("Experience.Formula.Multiplier.Axes", 1.0); }
|
public double getFormulaMultiplierAxes() { return config.getDouble("Experience.Formula.Multiplier.Axes", 1.0); }
|
||||||
public double getFormulaMultiplierAcrobatics() { return config.getDouble("Experience.Formula.Multiplier.Acrobatics", 1.0); }
|
public double getFormulaMultiplierAcrobatics() { return config.getDouble("Experience.Formula.Multiplier.Acrobatics", 1.0); }
|
||||||
public double getFormulaMultiplierFishing() { return config.getDouble("Experience.Formula.Multiplier.Fishing", 1.0); }
|
public double getFormulaMultiplierFishing() { return config.getDouble("Experience.Formula.Multiplier.Fishing", 1.0); }
|
||||||
|
|
||||||
|
private boolean doubleDropsDisabled(String skillName) {
|
||||||
|
ConfigurationSection section = config.getConfigurationSection("Double_Drops." + skillName);
|
||||||
|
Set<String> keys = section.getKeys(false);
|
||||||
|
|
||||||
|
boolean disabled = true;
|
||||||
|
|
||||||
|
for (String key : keys) {
|
||||||
|
if (config.getBoolean("Double_Drops." + skillName + "." + key)) {
|
||||||
|
disabled = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return disabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int getLevelCap(String configString) {
|
||||||
|
int cap = config.getInt(configString, 0);
|
||||||
|
return ((cap <= 0) ? Integer.MAX_VALUE : cap);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,6 @@ package com.gmail.nossr50.config;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
@ -50,10 +49,8 @@ public class TreasuresConfig extends ConfigLoader{
|
|||||||
Map<String, Treasure> treasures = new HashMap<String, Treasure>();
|
Map<String, Treasure> treasures = new HashMap<String, Treasure>();
|
||||||
ConfigurationSection treasureSection = config.getConfigurationSection("Treasures");
|
ConfigurationSection treasureSection = config.getConfigurationSection("Treasures");
|
||||||
Set<String> treasureConfigSet = treasureSection.getKeys(false);
|
Set<String> treasureConfigSet = treasureSection.getKeys(false);
|
||||||
Iterator<String> iterator = treasureConfigSet.iterator();
|
|
||||||
|
|
||||||
while (iterator.hasNext()) {
|
for (String treasureName : treasureConfigSet) {
|
||||||
String treasureName = iterator.next();
|
|
||||||
|
|
||||||
// Validate all the things!
|
// Validate all the things!
|
||||||
List<String> reason = new ArrayList<String>();
|
List<String> reason = new ArrayList<String>();
|
||||||
@ -191,11 +188,8 @@ public class TreasuresConfig extends ConfigLoader{
|
|||||||
|
|
||||||
List<String> excavationTreasures = config.getStringList("Excavation.Treasure");
|
List<String> excavationTreasures = config.getStringList("Excavation.Treasure");
|
||||||
List<String> fishingTreasures = config.getStringList("Fishing.Treasure");
|
List<String> fishingTreasures = config.getStringList("Fishing.Treasure");
|
||||||
// Iterator<String> treasureIterator = treasures.keySet().iterator();
|
|
||||||
Iterator<Entry<String,Treasure>> treasureIterator = treasures.entrySet().iterator();
|
|
||||||
|
|
||||||
while (treasureIterator.hasNext()) {
|
for (Entry<String,Treasure> nextEntry : treasures.entrySet()) {
|
||||||
Entry<String,Treasure> nextEntry = treasureIterator.next();
|
|
||||||
String treasureKey = nextEntry.getKey();
|
String treasureKey = nextEntry.getKey();
|
||||||
Treasure treasure = nextEntry.getValue();
|
Treasure treasure = nextEntry.getValue();
|
||||||
|
|
||||||
@ -271,11 +265,10 @@ public class TreasuresConfig extends ConfigLoader{
|
|||||||
if (issues.isEmpty()) {
|
if (issues.isEmpty()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
for (String issue : issues) {
|
for (String issue : issues) {
|
||||||
plugin.getLogger().warning(issue);
|
plugin.getLogger().warning(issue);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@ -2,7 +2,6 @@ package com.gmail.nossr50.config.mods;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@ -54,11 +53,8 @@ public class CustomArmorConfig extends ConfigLoader{
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
Set<String> armorConfigSet = armorSection.getKeys(false);
|
Set<String> armorConfigSet = armorSection.getKeys(false);
|
||||||
Iterator<String> iterator = armorConfigSet.iterator();
|
|
||||||
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
String armorName = iterator.next();
|
|
||||||
|
|
||||||
|
for (String armorName : armorConfigSet) {
|
||||||
int id = config.getInt(armorType + "." + armorName + ".ID", 0);
|
int id = config.getInt(armorType + "." + armorName + ".ID", 0);
|
||||||
boolean repairable = config.getBoolean(armorType + "." + armorName + ".Repairable");
|
boolean repairable = config.getBoolean(armorType + "." + armorName + ".Repairable");
|
||||||
int repairID = config.getInt(armorType + "." + armorName + ".Repair_Material_ID", 0);
|
int repairID = config.getInt(armorType + "." + armorName + ".Repair_Material_ID", 0);
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package com.gmail.nossr50.config.mods;
|
package com.gmail.nossr50.config.mods;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@ -54,11 +53,8 @@ public class CustomBlocksConfig extends ConfigLoader {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
Set<String> skillConfigSet = skillSection.getKeys(false);
|
Set<String> skillConfigSet = skillSection.getKeys(false);
|
||||||
Iterator<String> iterator = skillConfigSet.iterator();
|
|
||||||
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
String blockName = iterator.next();
|
|
||||||
|
|
||||||
|
for (String blockName : skillConfigSet) {
|
||||||
int id = config.getInt(skillType + "." + blockName + ".ID", 0);
|
int id = config.getInt(skillType + "." + blockName + ".ID", 0);
|
||||||
byte data = (byte) config.getInt(skillType + "." + blockName + ".Data_Value", 0);
|
byte data = (byte) config.getInt(skillType + "." + blockName + ".Data_Value", 0);
|
||||||
int xp = config.getInt(skillType + "." + blockName + ".XP_Gain", 0);
|
int xp = config.getInt(skillType + "." + blockName + ".XP_Gain", 0);
|
||||||
|
@ -2,7 +2,6 @@ package com.gmail.nossr50.config.mods;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
@ -58,11 +57,8 @@ public class CustomToolsConfig extends ConfigLoader {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
Set<String> toolConfigSet = toolSection.getKeys(false);
|
Set<String> toolConfigSet = toolSection.getKeys(false);
|
||||||
Iterator<String> iterator = toolConfigSet.iterator();
|
|
||||||
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
String toolName = iterator.next();
|
|
||||||
|
|
||||||
|
for (String toolName : toolConfigSet) {
|
||||||
int id = config.getInt(toolType + "." + toolName + ".ID", 0);
|
int id = config.getInt(toolType + "." + toolName + ".ID", 0);
|
||||||
double multiplier = config.getDouble(toolType + "." + toolName + ".XP_Modifier", 1.0);
|
double multiplier = config.getDouble(toolType + "." + toolName + ".XP_Modifier", 1.0);
|
||||||
boolean abilityEnabled = config.getBoolean(toolType + "." + toolName + ".Ability_Enabled", true);
|
boolean abilityEnabled = config.getBoolean(toolType + "." + toolName + ".Ability_Enabled", true);
|
||||||
|
@ -99,11 +99,10 @@ public class RepairConfig extends ConfigLoader {
|
|||||||
if (issues.isEmpty()) {
|
if (issues.isEmpty()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
for (String issue : issues) {
|
for (String issue : issues) {
|
||||||
plugin.getLogger().warning(issue);
|
plugin.getLogger().warning(issue);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@ -209,10 +209,9 @@ public class McMMOPlayer {
|
|||||||
if (invite != null) {
|
if (invite != null) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public void setParty(Party party) {
|
public void setParty(Party party) {
|
||||||
this.party = party;
|
this.party = party;
|
||||||
@ -226,10 +225,9 @@ public class McMMOPlayer {
|
|||||||
if (party != null) {
|
if (party != null) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public void removeParty() {
|
public void removeParty() {
|
||||||
party = null;
|
party = null;
|
||||||
|
@ -96,7 +96,7 @@ public class PlayerProfile {
|
|||||||
if (userId == 0) {
|
if (userId == 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
HashMap<Integer, ArrayList<String>> huds = database.read("SELECT hudtype FROM " + tablePrefix + "huds WHERE user_id = " + userId);
|
HashMap<Integer, ArrayList<String>> huds = database.read("SELECT hudtype FROM " + tablePrefix + "huds WHERE user_id = " + userId);
|
||||||
|
|
||||||
if (huds.get(1) == null) {
|
if (huds.get(1) == null) {
|
||||||
@ -179,7 +179,6 @@ public class PlayerProfile {
|
|||||||
loaded = true;
|
loaded = true;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public void addMySQLPlayer() {
|
public void addMySQLPlayer() {
|
||||||
Database database = mcMMO.getPlayerDatabase();
|
Database database = mcMMO.getPlayerDatabase();
|
||||||
@ -1175,10 +1174,9 @@ public class PlayerProfile {
|
|||||||
if (invite != null) {
|
if (invite != null) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public void setParty(Party party) {
|
public void setParty(Party party) {
|
||||||
this.party = party;
|
this.party = party;
|
||||||
@ -1193,10 +1191,9 @@ public class PlayerProfile {
|
|||||||
if (party != null) {
|
if (party != null) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public void removeParty() {
|
public void removeParty() {
|
||||||
party = null;
|
party = null;
|
||||||
|
@ -57,10 +57,9 @@ public enum SkillType {
|
|||||||
if (maxLevel > 0) {
|
if (maxLevel > 0) {
|
||||||
return maxLevel;
|
return maxLevel;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return Integer.MAX_VALUE;
|
return Integer.MAX_VALUE;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public ToolType getTool() {
|
public ToolType getTool() {
|
||||||
return tool;
|
return tool;
|
||||||
|
@ -136,13 +136,12 @@ public class BlockListener implements Listener {
|
|||||||
if (block.getRelative(0, y, 0).getType().equals(Material.AIR)) {
|
if (block.getRelative(0, y, 0).getType().equals(Material.AIR)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
Block newLocation = block.getRelative(0, y + 1, 0);
|
Block newLocation = block.getRelative(0, y + 1, 0);
|
||||||
mcMMO.placeStore.setTrue(newLocation);
|
mcMMO.placeStore.setTrue(newLocation);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/* Check if the blocks placed should be monitored so they do not give out XP in the future */
|
/* Check if the blocks placed should be monitored so they do not give out XP in the future */
|
||||||
if (BlockChecks.shouldBeWatched(block)) {
|
if (BlockChecks.shouldBeWatched(block)) {
|
||||||
@ -204,14 +203,14 @@ public class BlockListener implements Listener {
|
|||||||
|
|
||||||
/* MINING */
|
/* MINING */
|
||||||
else if (BlockChecks.canBeSuperBroken(block) && Permissions.mining(player)) {
|
else if (BlockChecks.canBeSuperBroken(block) && Permissions.mining(player)) {
|
||||||
MiningManager manager = new MiningManager(player);
|
MiningManager miningManager = new MiningManager(player);
|
||||||
if (configInstance.getMiningRequiresTool()) {
|
if (configInstance.getMiningRequiresTool()) {
|
||||||
if (ItemChecks.isPickaxe(inHand)) {
|
if (ItemChecks.isPickaxe(inHand)) {
|
||||||
manager.miningBlockCheck(block);
|
miningManager.miningBlockCheck(block);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
manager.miningBlockCheck(block);
|
miningManager.miningBlockCheck(block);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -356,17 +355,17 @@ public class BlockListener implements Listener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (profile.getAbilityMode(AbilityType.SUPER_BREAKER) && Skills.triggerCheck(player, block, AbilityType.SUPER_BREAKER)) {
|
else if (profile.getAbilityMode(AbilityType.SUPER_BREAKER) && Skills.triggerCheck(player, block, AbilityType.SUPER_BREAKER)) {
|
||||||
MiningManager manager = new MiningManager(player);
|
MiningManager miningManager = new MiningManager(player);
|
||||||
|
|
||||||
if (configInstance.getMiningRequiresTool()) {
|
if (configInstance.getMiningRequiresTool()) {
|
||||||
if (ItemChecks.isPickaxe(inHand)) {
|
if (ItemChecks.isPickaxe(inHand)) {
|
||||||
event.setInstaBreak(true);
|
event.setInstaBreak(true);
|
||||||
manager.superBreakerBlockCheck(block);
|
miningManager.superBreakerBlockCheck(block);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
event.setInstaBreak(true);
|
event.setInstaBreak(true);
|
||||||
manager.superBreakerBlockCheck(block);
|
miningManager.superBreakerBlockCheck(block);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (profile.getSkillLevel(SkillType.WOODCUTTING) >= LEAF_BLOWER_LEVEL && (material.equals(Material.LEAVES) || (configInstance.getBlockModsEnabled() && ModChecks.isCustomLeafBlock(block)))) {
|
else if (profile.getSkillLevel(SkillType.WOODCUTTING) >= LEAF_BLOWER_LEVEL && (material.equals(Material.LEAVES) || (configInstance.getBlockModsEnabled() && ModChecks.isCustomLeafBlock(block)))) {
|
||||||
|
@ -35,7 +35,7 @@ import com.gmail.nossr50.party.PartyManager;
|
|||||||
import com.gmail.nossr50.runnables.BleedTimer;
|
import com.gmail.nossr50.runnables.BleedTimer;
|
||||||
import com.gmail.nossr50.skills.acrobatics.AcrobaticsManager;
|
import com.gmail.nossr50.skills.acrobatics.AcrobaticsManager;
|
||||||
import com.gmail.nossr50.skills.archery.Archery;
|
import com.gmail.nossr50.skills.archery.Archery;
|
||||||
import com.gmail.nossr50.skills.mining.BlastMining;
|
import com.gmail.nossr50.skills.mining.MiningManager;
|
||||||
import com.gmail.nossr50.skills.taming.TamingManager;
|
import com.gmail.nossr50.skills.taming.TamingManager;
|
||||||
import com.gmail.nossr50.util.Combat;
|
import com.gmail.nossr50.util.Combat;
|
||||||
import com.gmail.nossr50.util.Misc;
|
import com.gmail.nossr50.util.Misc;
|
||||||
@ -151,7 +151,8 @@ public class EntityListener implements Listener {
|
|||||||
acroManager.rollCheck(event);
|
acroManager.rollCheck(event);
|
||||||
}
|
}
|
||||||
else if (cause == DamageCause.BLOCK_EXPLOSION && Permissions.demolitionsExpertise(player)) {
|
else if (cause == DamageCause.BLOCK_EXPLOSION && Permissions.demolitionsExpertise(player)) {
|
||||||
BlastMining.demolitionsExpertise(player, event);
|
MiningManager miningManager = new MiningManager(player);
|
||||||
|
miningManager.demolitionsExpertise(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event.getDamage() >= 1) {
|
if (event.getDamage() >= 1) {
|
||||||
@ -219,7 +220,8 @@ public class EntityListener implements Listener {
|
|||||||
Player player = plugin.getTNTPlayer(id);
|
Player player = plugin.getTNTPlayer(id);
|
||||||
|
|
||||||
if (Permissions.biggerBombs(player)) {
|
if (Permissions.biggerBombs(player)) {
|
||||||
BlastMining.biggerBombs(player, event);
|
MiningManager miningManager = new MiningManager(player);
|
||||||
|
miningManager.biggerBombs(event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -243,7 +245,8 @@ public class EntityListener implements Listener {
|
|||||||
|
|
||||||
if (plugin.tntIsTracked(id)) {
|
if (plugin.tntIsTracked(id)) {
|
||||||
Player player = plugin.getTNTPlayer(id);
|
Player player = plugin.getTNTPlayer(id);
|
||||||
BlastMining.dropProcessing(player, event);
|
MiningManager miningManager = new MiningManager(player);
|
||||||
|
miningManager.blastMiningDropProcessing(event);
|
||||||
plugin.removeFromTNTTracker(id);
|
plugin.removeFromTNTTracker(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37,7 +37,7 @@ import com.gmail.nossr50.party.Party;
|
|||||||
import com.gmail.nossr50.runnables.BleedTimer;
|
import com.gmail.nossr50.runnables.BleedTimer;
|
||||||
import com.gmail.nossr50.skills.gathering.Fishing;
|
import com.gmail.nossr50.skills.gathering.Fishing;
|
||||||
import com.gmail.nossr50.skills.gathering.Herbalism;
|
import com.gmail.nossr50.skills.gathering.Herbalism;
|
||||||
import com.gmail.nossr50.skills.mining.BlastMining;
|
import com.gmail.nossr50.skills.mining.MiningManager;
|
||||||
import com.gmail.nossr50.skills.repair.Salvage;
|
import com.gmail.nossr50.skills.repair.Salvage;
|
||||||
import com.gmail.nossr50.skills.taming.TamingManager;
|
import com.gmail.nossr50.skills.taming.TamingManager;
|
||||||
import com.gmail.nossr50.util.BlockChecks;
|
import com.gmail.nossr50.util.BlockChecks;
|
||||||
@ -364,7 +364,8 @@ public class PlayerListener implements Listener {
|
|||||||
|
|
||||||
/* BLAST MINING CHECK */
|
/* BLAST MINING CHECK */
|
||||||
if (player.isSneaking() && inHand.getTypeId() == Config.getInstance().getDetonatorItemID() && Permissions.blastMining(player)) {
|
if (player.isSneaking() && inHand.getTypeId() == Config.getInstance().getDetonatorItemID() && Permissions.blastMining(player)) {
|
||||||
BlastMining.detonate(event, player, plugin);
|
MiningManager miningManager = new MiningManager(player);
|
||||||
|
miningManager.detonate(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -387,7 +388,8 @@ public class PlayerListener implements Listener {
|
|||||||
|
|
||||||
/* BLAST MINING CHECK */
|
/* BLAST MINING CHECK */
|
||||||
if (player.isSneaking() && inHand.getTypeId() == Config.getInstance().getDetonatorItemID() && Permissions.blastMining(player)) {
|
if (player.isSneaking() && inHand.getTypeId() == Config.getInstance().getDetonatorItemID() && Permissions.blastMining(player)) {
|
||||||
BlastMining.detonate(event, player, plugin);
|
MiningManager miningManager = new MiningManager(player);
|
||||||
|
miningManager.detonate(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -224,7 +224,7 @@ public class PartyManager {
|
|||||||
|
|
||||||
parties.add(party);
|
parties.add(party);
|
||||||
}
|
}
|
||||||
else if (!checkJoinability(player, playerProfile, party, password)) {
|
else if (!checkJoinability(player, party, password)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -241,7 +241,7 @@ public class PartyManager {
|
|||||||
* @param password The password provided by the player
|
* @param password The password provided by the player
|
||||||
* @return true if the player can join the party
|
* @return true if the player can join the party
|
||||||
*/
|
*/
|
||||||
public boolean checkJoinability(Player player, PlayerProfile playerProfile, Party party, String password) {
|
public boolean checkJoinability(Player player, Party party, String password) {
|
||||||
//Don't care about passwords if it isn't locked
|
//Don't care about passwords if it isn't locked
|
||||||
if (party.isLocked()) {
|
if (party.isLocked()) {
|
||||||
String partyPassword = party.getPassword();
|
String partyPassword = party.getPassword();
|
||||||
|
@ -33,8 +33,8 @@ public class ChunkletUnloader implements Runnable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
for (Iterator<Entry<Chunk, Integer>> it = unloadedChunks.entrySet().iterator() ; it.hasNext() ; ) {
|
for (Iterator<Entry<Chunk, Integer>> unloadedChunkIterator = unloadedChunks.entrySet().iterator() ; unloadedChunkIterator.hasNext() ; ) {
|
||||||
Entry<Chunk, Integer> entry = it.next();
|
Entry<Chunk, Integer> entry = unloadedChunkIterator.next();
|
||||||
Chunk chunk = entry.getKey();
|
Chunk chunk = entry.getKey();
|
||||||
|
|
||||||
if (!chunk.isLoaded()) {
|
if (!chunk.isLoaded()) {
|
||||||
@ -46,7 +46,7 @@ public class ChunkletUnloader implements Runnable {
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
mcMMO.placeStore.unloadChunk(chunk.getX(), chunk.getZ(), chunk.getWorld());
|
mcMMO.placeStore.unloadChunk(chunk.getX(), chunk.getZ(), chunk.getWorld());
|
||||||
it.remove();
|
unloadedChunkIterator.remove();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ public class ChunkletUnloader implements Runnable {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
//Just remove the entry if the chunk has been reloaded.
|
//Just remove the entry if the chunk has been reloaded.
|
||||||
it.remove();
|
unloadedChunkIterator.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -86,13 +86,18 @@ public class BlockStoreConversionZDirectory implements Runnable {
|
|||||||
for (this.y = 0; this.y < (this.world.getMaxHeight() / 64); this.y++) {
|
for (this.y = 0; this.y < (this.world.getMaxHeight() / 64); this.y++) {
|
||||||
this.chunkletName = this.world.getName() + "," + this.cx + "," + this.cz + "," + this.y;
|
this.chunkletName = this.world.getName() + "," + this.cx + "," + this.cz + "," + this.y;
|
||||||
this.tempChunklet = this.manager.store.get(this.chunkletName);
|
this.tempChunklet = this.manager.store.get(this.chunkletName);
|
||||||
if(this.tempChunklet instanceof PrimitiveChunkletStore)
|
|
||||||
|
if (this.tempChunklet instanceof PrimitiveChunkletStore) {
|
||||||
this.primitiveChunklet = (PrimitiveChunkletStore) this.tempChunklet;
|
this.primitiveChunklet = (PrimitiveChunkletStore) this.tempChunklet;
|
||||||
else if(this.tempChunklet instanceof PrimitiveExChunkletStore)
|
}
|
||||||
|
else if (this.tempChunklet instanceof PrimitiveExChunkletStore) {
|
||||||
this.primitiveExChunklet = (PrimitiveExChunkletStore) this.tempChunklet;
|
this.primitiveExChunklet = (PrimitiveExChunkletStore) this.tempChunklet;
|
||||||
|
}
|
||||||
|
|
||||||
if (this.tempChunklet == null) {
|
if (this.tempChunklet == null) {
|
||||||
continue;
|
continue;
|
||||||
} else {
|
}
|
||||||
|
|
||||||
this.chunkName = this.world.getName() + "," + this.cx + "," + this.cz;
|
this.chunkName = this.world.getName() + "," + this.cx + "," + this.cz;
|
||||||
this.currentChunk = (PrimitiveChunkStore) this.newManager.store.get(this.chunkName);
|
this.currentChunk = (PrimitiveChunkStore) this.newManager.store.get(this.chunkName);
|
||||||
|
|
||||||
@ -140,7 +145,6 @@ public class BlockStoreConversionZDirectory implements Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
this.manager.unloadChunk(this.cx, this.cz, this.world);
|
this.manager.unloadChunk(this.cx, this.cz, this.world);
|
||||||
this.newManager.unloadChunk(this.cx, this.cz, this.world);
|
this.newManager.unloadChunk(this.cx, this.cz, this.world);
|
||||||
|
31
src/main/java/com/gmail/nossr50/skills/SkillManager.java
Normal file
31
src/main/java/com/gmail/nossr50/skills/SkillManager.java
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
package com.gmail.nossr50.skills;
|
||||||
|
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import com.gmail.nossr50.datatypes.PlayerProfile;
|
||||||
|
import com.gmail.nossr50.datatypes.SkillType;
|
||||||
|
import com.gmail.nossr50.util.Users;
|
||||||
|
|
||||||
|
public abstract class SkillManager {
|
||||||
|
protected Player player;
|
||||||
|
protected PlayerProfile profile;
|
||||||
|
protected int skillLevel;
|
||||||
|
|
||||||
|
public SkillManager(Player player, SkillType skill) {
|
||||||
|
this.player = player;
|
||||||
|
this.profile = Users.getProfile(player);
|
||||||
|
this.skillLevel = profile.getSkillLevel(skill);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Player getPlayer() {
|
||||||
|
return player;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PlayerProfile getProfile() {
|
||||||
|
return profile;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getSkillLevel() {
|
||||||
|
return skillLevel;
|
||||||
|
}
|
||||||
|
}
|
@ -1,12 +1,9 @@
|
|||||||
package com.gmail.nossr50.skills.acrobatics;
|
package com.gmail.nossr50.skills.acrobatics;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import com.gmail.nossr50.config.AdvancedConfig;
|
import com.gmail.nossr50.config.AdvancedConfig;
|
||||||
|
|
||||||
public class Acrobatics {
|
public class Acrobatics {
|
||||||
private static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
private static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
private static Random random = new Random();
|
|
||||||
|
|
||||||
public static final int DODGE_MAX_CHANCE = advancedConfig.getDodgeChanceMax();
|
public static final int DODGE_MAX_CHANCE = advancedConfig.getDodgeChanceMax();
|
||||||
public static final int DODGE_MAX_BONUS_LEVEL = advancedConfig.getDodgeMaxBonusLevel();
|
public static final int DODGE_MAX_BONUS_LEVEL = advancedConfig.getDodgeMaxBonusLevel();
|
||||||
@ -19,8 +16,4 @@ public class Acrobatics {
|
|||||||
|
|
||||||
public static final int ROLL_XP_MODIFIER = advancedConfig.getRollXPModifier();
|
public static final int ROLL_XP_MODIFIER = advancedConfig.getRollXPModifier();
|
||||||
public static final int FALL_XP_MODIFIER = advancedConfig.getFallXPModifier();
|
public static final int FALL_XP_MODIFIER = advancedConfig.getFallXPModifier();
|
||||||
|
|
||||||
protected static Random getRandom() {
|
|
||||||
return random;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -53,7 +53,7 @@ public abstract class AcrobaticsEventHandler {
|
|||||||
* @return true if the damage is fatal, false otherwise
|
* @return true if the damage is fatal, false otherwise
|
||||||
*/
|
*/
|
||||||
protected boolean isFatal(int damage) {
|
protected boolean isFatal(int damage) {
|
||||||
if (Misc.isCitizensNPC(player) || player.getHealth() - damage < 1) {
|
if (Misc.isNPC(player) || player.getHealth() - damage < 1) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,23 +4,16 @@ import org.bukkit.entity.Player;
|
|||||||
import org.bukkit.event.entity.EntityDamageEvent;
|
import org.bukkit.event.entity.EntityDamageEvent;
|
||||||
|
|
||||||
import com.gmail.nossr50.config.Config;
|
import com.gmail.nossr50.config.Config;
|
||||||
import com.gmail.nossr50.datatypes.PlayerProfile;
|
|
||||||
import com.gmail.nossr50.datatypes.SkillType;
|
import com.gmail.nossr50.datatypes.SkillType;
|
||||||
|
import com.gmail.nossr50.skills.SkillManager;
|
||||||
import com.gmail.nossr50.util.Misc;
|
import com.gmail.nossr50.util.Misc;
|
||||||
import com.gmail.nossr50.util.Permissions;
|
import com.gmail.nossr50.util.Permissions;
|
||||||
import com.gmail.nossr50.util.Users;
|
|
||||||
|
|
||||||
public class AcrobaticsManager {
|
public class AcrobaticsManager extends SkillManager {
|
||||||
private static Config config = Config.getInstance();
|
private static Config config = Config.getInstance();
|
||||||
|
|
||||||
private Player player;
|
|
||||||
private PlayerProfile profile;
|
|
||||||
private int skillLevel;
|
|
||||||
|
|
||||||
public AcrobaticsManager (Player player) {
|
public AcrobaticsManager (Player player) {
|
||||||
this.player = player;
|
super(player, SkillType.ACROBATICS);
|
||||||
this.profile = Users.getProfile(player);
|
|
||||||
this.skillLevel = profile.getSkillLevel(SkillType.ACROBATICS);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -29,7 +22,7 @@ public class AcrobaticsManager {
|
|||||||
* @param event The event to check
|
* @param event The event to check
|
||||||
*/
|
*/
|
||||||
public void rollCheck(EntityDamageEvent event) {
|
public void rollCheck(EntityDamageEvent event) {
|
||||||
if (Misc.isCitizensNPC(player) || !Permissions.roll(player)) {
|
if (Misc.isNPC(player) || !Permissions.roll(player)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,7 +46,7 @@ public class AcrobaticsManager {
|
|||||||
chance = ((float) Acrobatics.ROLL_MAX_CHANCE / Acrobatics.ROLL_MAX_BONUS_LEVEL) * eventHandler.skillModifier;
|
chance = ((float) Acrobatics.ROLL_MAX_CHANCE / Acrobatics.ROLL_MAX_BONUS_LEVEL) * eventHandler.skillModifier;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (chance > Acrobatics.getRandom().nextInt(randomChance) && !eventHandler.isFatal(eventHandler.modifiedDamage)) {
|
if (chance > Misc.getRandom().nextInt(randomChance) && !eventHandler.isFatal(eventHandler.modifiedDamage)) {
|
||||||
eventHandler.modifyEventDamage();
|
eventHandler.modifyEventDamage();
|
||||||
eventHandler.sendAbilityMessage();
|
eventHandler.sendAbilityMessage();
|
||||||
eventHandler.processXPGain(eventHandler.damage * Acrobatics.ROLL_XP_MODIFIER);
|
eventHandler.processXPGain(eventHandler.damage * Acrobatics.ROLL_XP_MODIFIER);
|
||||||
@ -69,7 +62,7 @@ public class AcrobaticsManager {
|
|||||||
* @param event The event to check
|
* @param event The event to check
|
||||||
*/
|
*/
|
||||||
public void dodgeCheck(EntityDamageEvent event) {
|
public void dodgeCheck(EntityDamageEvent event) {
|
||||||
if (Misc.isCitizensNPC(player) || !Permissions.dodge(player)) {
|
if (Misc.isNPC(player) || !Permissions.dodge(player)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,22 +75,10 @@ public class AcrobaticsManager {
|
|||||||
|
|
||||||
float chance = ((float) Acrobatics.DODGE_MAX_CHANCE / Acrobatics.DODGE_MAX_BONUS_LEVEL) * eventHandler.skillModifier;
|
float chance = ((float) Acrobatics.DODGE_MAX_CHANCE / Acrobatics.DODGE_MAX_BONUS_LEVEL) * eventHandler.skillModifier;
|
||||||
|
|
||||||
if (chance > Acrobatics.getRandom().nextInt(randomChance) && !eventHandler.isFatal(eventHandler.modifiedDamage)) {
|
if (chance > Misc.getRandom().nextInt(randomChance) && !eventHandler.isFatal(eventHandler.modifiedDamage)) {
|
||||||
eventHandler.modifyEventDamage();
|
eventHandler.modifyEventDamage();
|
||||||
eventHandler.sendAbilityMessage();
|
eventHandler.sendAbilityMessage();
|
||||||
eventHandler.processXPGain(eventHandler.damage * Acrobatics.DODGE_XP_MODIFIER);
|
eventHandler.processXPGain(eventHandler.damage * Acrobatics.DODGE_XP_MODIFIER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Player getPlayer() {
|
|
||||||
return player;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected PlayerProfile getProfile() {
|
|
||||||
return profile;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected int getSkillLevel() {
|
|
||||||
return skillLevel;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ package com.gmail.nossr50.skills.archery;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
@ -14,7 +13,6 @@ import com.gmail.nossr50.util.Misc;
|
|||||||
|
|
||||||
public class Archery {
|
public class Archery {
|
||||||
private static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
private static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
private static Random random = new Random();
|
|
||||||
private static List<TrackedEntity> trackedEntities = new ArrayList<TrackedEntity>();
|
private static List<TrackedEntity> trackedEntities = new ArrayList<TrackedEntity>();
|
||||||
|
|
||||||
public static final int ARROW_TRACKING_MAX_BONUS_LEVEL = advancedConfig.getRetrieveMaxBonusLevel();
|
public static final int ARROW_TRACKING_MAX_BONUS_LEVEL = advancedConfig.getRetrieveMaxBonusLevel();
|
||||||
@ -66,8 +64,4 @@ public class Archery {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static Random getRandom() {
|
|
||||||
return random;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -4,21 +4,14 @@ import org.bukkit.entity.LivingEntity;
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.entity.EntityDamageEvent;
|
import org.bukkit.event.entity.EntityDamageEvent;
|
||||||
|
|
||||||
import com.gmail.nossr50.datatypes.PlayerProfile;
|
|
||||||
import com.gmail.nossr50.datatypes.SkillType;
|
import com.gmail.nossr50.datatypes.SkillType;
|
||||||
|
import com.gmail.nossr50.skills.SkillManager;
|
||||||
import com.gmail.nossr50.util.Misc;
|
import com.gmail.nossr50.util.Misc;
|
||||||
import com.gmail.nossr50.util.Permissions;
|
import com.gmail.nossr50.util.Permissions;
|
||||||
import com.gmail.nossr50.util.Users;
|
|
||||||
|
|
||||||
public class ArcheryManager {
|
|
||||||
private Player player;
|
|
||||||
private PlayerProfile profile;
|
|
||||||
private int skillLevel;
|
|
||||||
|
|
||||||
|
public class ArcheryManager extends SkillManager {
|
||||||
public ArcheryManager (Player player) {
|
public ArcheryManager (Player player) {
|
||||||
this.player = player;
|
super(player, SkillType.ARCHERY);
|
||||||
this.profile = Users.getProfile(player);
|
|
||||||
this.skillLevel = profile.getSkillLevel(SkillType.ARCHERY);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -27,7 +20,7 @@ public class ArcheryManager {
|
|||||||
* @param livingEntity Entity damaged by the arrow
|
* @param livingEntity Entity damaged by the arrow
|
||||||
*/
|
*/
|
||||||
public void trackArrows(LivingEntity livingEntity) {
|
public void trackArrows(LivingEntity livingEntity) {
|
||||||
if (Misc.isCitizensNPC(player) || !Permissions.trackArrows(player)) {
|
if (Misc.isNPC(player) || !Permissions.trackArrows(player)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,7 +33,7 @@ public class ArcheryManager {
|
|||||||
|
|
||||||
float chance = ((float) Archery.ARROW_TRACKING_MAX_BONUS / Archery.ARROW_TRACKING_MAX_BONUS_LEVEL) * eventHandler.skillModifier;
|
float chance = ((float) Archery.ARROW_TRACKING_MAX_BONUS / Archery.ARROW_TRACKING_MAX_BONUS_LEVEL) * eventHandler.skillModifier;
|
||||||
|
|
||||||
if (chance > Archery.getRandom().nextInt(randomChance)) {
|
if (chance > Misc.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.addToTracker();
|
eventHandler.addToTracker();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -52,7 +45,7 @@ public class ArcheryManager {
|
|||||||
* @param event The event to modify
|
* @param event The event to modify
|
||||||
*/
|
*/
|
||||||
public void dazeCheck(Player defender, EntityDamageEvent event) {
|
public void dazeCheck(Player defender, EntityDamageEvent event) {
|
||||||
if (Misc.isCitizensNPC(player) || !Permissions.daze(player)) {
|
if (Misc.isNPC(player) || !Permissions.daze(player)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,7 +58,7 @@ public class ArcheryManager {
|
|||||||
|
|
||||||
float chance = ((float) Archery.DAZE_MAX_BONUS / Archery.DAZE_MAX_BONUS_LEVEL) * eventHandler.skillModifier;
|
float chance = ((float) Archery.DAZE_MAX_BONUS / Archery.DAZE_MAX_BONUS_LEVEL) * eventHandler.skillModifier;
|
||||||
|
|
||||||
if (chance > Archery.getRandom().nextInt(randomChance)) {
|
if (chance > Misc.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.handleDazeEffect();
|
eventHandler.handleDazeEffect();
|
||||||
eventHandler.sendAbilityMessages();
|
eventHandler.sendAbilityMessages();
|
||||||
}
|
}
|
||||||
@ -77,7 +70,7 @@ public class ArcheryManager {
|
|||||||
* @param event The event to modify.
|
* @param event The event to modify.
|
||||||
*/
|
*/
|
||||||
public void bonusDamage(EntityDamageEvent event) {
|
public void bonusDamage(EntityDamageEvent event) {
|
||||||
if (Misc.isCitizensNPC(player) || !Permissions.archeryBonus(player)) {
|
if (Misc.isNPC(player) || !Permissions.archeryBonus(player)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,12 +81,4 @@ public class ArcheryManager {
|
|||||||
eventHandler.modifyEventDamage();
|
eventHandler.modifyEventDamage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected int getSkillLevel() {
|
|
||||||
return skillLevel;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Player getPlayer() {
|
|
||||||
return player;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,7 @@ public class DazeEventHandler {
|
|||||||
protected void handleDazeEffect() {
|
protected void handleDazeEffect() {
|
||||||
Location location = defender.getLocation();
|
Location location = defender.getLocation();
|
||||||
|
|
||||||
if (Archery.getRandom().nextInt(100) > DAZE_CHANCE) {
|
if (Misc.getRandom().nextInt(100) > DAZE_CHANCE) {
|
||||||
location.setPitch(90);
|
location.setPitch(90);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -0,0 +1,5 @@
|
|||||||
|
package com.gmail.nossr50.skills.axes;
|
||||||
|
|
||||||
|
public class AxeManager {
|
||||||
|
|
||||||
|
}
|
@ -1,6 +1,4 @@
|
|||||||
package com.gmail.nossr50.skills.combat;
|
package com.gmail.nossr50.skills.axes;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import org.bukkit.enchantments.Enchantment;
|
import org.bukkit.enchantments.Enchantment;
|
||||||
import org.bukkit.entity.AnimalTamer;
|
import org.bukkit.entity.AnimalTamer;
|
||||||
@ -24,8 +22,6 @@ import com.gmail.nossr50.util.Users;
|
|||||||
public class Axes {
|
public class Axes {
|
||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
private static Random random = new Random();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Apply bonus to damage done by axes.
|
* Apply bonus to damage done by axes.
|
||||||
*
|
*
|
||||||
@ -95,7 +91,7 @@ public class Axes {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (chance > random.nextInt(randomChance) && !entity.isDead()){
|
if (chance > Misc.getRandom().nextInt(randomChance) && !entity.isDead()) {
|
||||||
int damage = event.getDamage();
|
int damage = event.getDamage();
|
||||||
|
|
||||||
if (entity instanceof Player) {
|
if (entity instanceof Player) {
|
||||||
@ -145,7 +141,7 @@ public class Axes {
|
|||||||
for (int i = 0; i <= durabilityDamage; i ++) {
|
for (int i = 0; i <= durabilityDamage; i ++) {
|
||||||
if (armor.containsEnchantment(Enchantment.DURABILITY)) {
|
if (armor.containsEnchantment(Enchantment.DURABILITY)) {
|
||||||
int level = armor.getEnchantmentLevel(Enchantment.DURABILITY);
|
int level = armor.getEnchantmentLevel(Enchantment.DURABILITY);
|
||||||
if (random.nextInt(level + 1) > 0) {
|
if (Misc.getRandom().nextInt(level + 1) > 0) {
|
||||||
lowerdamage++;
|
lowerdamage++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -189,7 +185,7 @@ public class Axes {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (random.nextInt(randomChance) <= GREATER_IMPACT_CHANCE) {
|
if (Misc.getRandom().nextInt(randomChance) <= GREATER_IMPACT_CHANCE) {
|
||||||
event.setDamage(event.getDamage() + GREATER_IMPACT_DAMAGE);
|
event.setDamage(event.getDamage() + GREATER_IMPACT_DAMAGE);
|
||||||
target.setVelocity(attacker.getLocation().getDirection().normalize().multiply(GREATER_IMPACT_MULTIPLIER));
|
target.setVelocity(attacker.getLocation().getDirection().normalize().multiply(GREATER_IMPACT_MULTIPLIER));
|
||||||
attacker.sendMessage(LocaleLoader.getString("Axes.Combat.GI.Proc"));
|
attacker.sendMessage(LocaleLoader.getString("Axes.Combat.GI.Proc"));
|
||||||
@ -211,8 +207,7 @@ public class Axes {
|
|||||||
if (inventory.getBoots() != null || inventory.getChestplate() != null || inventory.getHelmet() != null || inventory.getLeggings() != null) {
|
if (inventory.getBoots() != null || inventory.getChestplate() != null || inventory.getHelmet() != null || inventory.getLeggings() != null) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
@ -2,7 +2,6 @@ package com.gmail.nossr50.skills.gathering;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
@ -29,8 +28,6 @@ import com.gmail.nossr50.util.Users;
|
|||||||
|
|
||||||
public class Excavation {
|
public class Excavation {
|
||||||
|
|
||||||
private static Random random = new Random();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check to see if treasures were found.
|
* Check to see if treasures were found.
|
||||||
*
|
*
|
||||||
@ -103,7 +100,7 @@ public class Excavation {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (random.nextDouble() * randomChance <= treasure.getDropChance()) {
|
if (Misc.getRandom().nextDouble() * randomChance <= treasure.getDropChance()) {
|
||||||
xp += treasure.getXp();
|
xp += treasure.getXp();
|
||||||
is.add(treasure.getDrop());
|
is.add(treasure.getDrop());
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ package com.gmail.nossr50.skills.gathering;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import org.bukkit.DyeColor;
|
import org.bukkit.DyeColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@ -38,8 +37,6 @@ import com.gmail.nossr50.util.Skills;
|
|||||||
import com.gmail.nossr50.util.Users;
|
import com.gmail.nossr50.util.Users;
|
||||||
|
|
||||||
public class Fishing {
|
public class Fishing {
|
||||||
|
|
||||||
private static Random random = new Random();
|
|
||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -112,7 +109,7 @@ public class Fishing {
|
|||||||
if (Config.getInstance().getFishingDropsEnabled() && rewards.size() > 0
|
if (Config.getInstance().getFishingDropsEnabled() && rewards.size() > 0
|
||||||
&& Permissions.fishingTreasures(player)) {
|
&& Permissions.fishingTreasures(player)) {
|
||||||
FishingTreasure treasure;
|
FishingTreasure treasure;
|
||||||
treasure = rewards.get(random.nextInt(rewards.size()));
|
treasure = rewards.get(Misc.getRandom().nextInt(rewards.size()));
|
||||||
|
|
||||||
int randomChance = 100;
|
int randomChance = 100;
|
||||||
|
|
||||||
@ -120,7 +117,7 @@ public class Fishing {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (random.nextDouble() * randomChance <= treasure.getDropChance()) {
|
if (Misc.getRandom().nextDouble() * randomChance <= treasure.getDropChance()) {
|
||||||
Users.getPlayer(player).addXP(SkillType.FISHING,treasure.getXp());
|
Users.getPlayer(player).addXP(SkillType.FISHING,treasure.getXp());
|
||||||
theCatch.setItemStack(treasure.getDrop());
|
theCatch.setItemStack(treasure.getDrop());
|
||||||
}
|
}
|
||||||
@ -131,7 +128,7 @@ public class Fishing {
|
|||||||
short maxDurability = theCatch.getItemStack().getType().getMaxDurability();
|
short maxDurability = theCatch.getItemStack().getType().getMaxDurability();
|
||||||
|
|
||||||
if (maxDurability > 0) {
|
if (maxDurability > 0) {
|
||||||
theCatch.getItemStack().setDurability((short) (random.nextInt(maxDurability))); // Change durability to random value
|
theCatch.getItemStack().setDurability((short) (Misc.getRandom().nextInt(maxDurability))); // Change durability to random value
|
||||||
}
|
}
|
||||||
|
|
||||||
Skills.xpProcessing(player, profile, SkillType.FISHING, Config.getInstance().getFishingBaseXP());
|
Skills.xpProcessing(player, profile, SkillType.FISHING, Config.getInstance().getFishingBaseXP());
|
||||||
@ -167,7 +164,7 @@ public class Fishing {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (random.nextInt(randomChance) <= ENCHANTMENT_CHANCE
|
if (Misc.getRandom().nextInt(randomChance) <= ENCHANTMENT_CHANCE
|
||||||
&& Permissions.fishingMagic(player)) {
|
&& Permissions.fishingMagic(player)) {
|
||||||
for (Enchantment newEnchant : Enchantment.values()) {
|
for (Enchantment newEnchant : Enchantment.values()) {
|
||||||
if (newEnchant.canEnchantItem(fishingResults)) {
|
if (newEnchant.canEnchantItem(fishingResults)) {
|
||||||
@ -182,9 +179,9 @@ public class Fishing {
|
|||||||
* Actual chance to have an enchantment is related
|
* Actual chance to have an enchantment is related
|
||||||
* to your fishing skill
|
* to your fishing skill
|
||||||
*/
|
*/
|
||||||
if (random.nextInt(15) < Fishing.getFishingLootTier(profile)) {
|
if (Misc.getRandom().nextInt(15) < Fishing.getFishingLootTier(profile)) {
|
||||||
enchanted = true;
|
enchanted = true;
|
||||||
int randomEnchantLevel = random.nextInt(newEnchant.getMaxLevel()) + 1;
|
int randomEnchantLevel = Misc.getRandom().nextInt(newEnchant.getMaxLevel()) + 1;
|
||||||
|
|
||||||
if (randomEnchantLevel < newEnchant.getStartLevel()) {
|
if (randomEnchantLevel < newEnchant.getStartLevel()) {
|
||||||
randomEnchantLevel = newEnchant.getStartLevel();
|
randomEnchantLevel = newEnchant.getStartLevel();
|
||||||
@ -230,8 +227,8 @@ public class Fishing {
|
|||||||
dropChance = (int) (dropChance * 1.25);
|
dropChance = (int) (dropChance * 1.25);
|
||||||
}
|
}
|
||||||
|
|
||||||
final int DROP_CHANCE = random.nextInt(100);
|
final int DROP_CHANCE = Misc.getRandom().nextInt(100);
|
||||||
final int DROP_NUMBER = random.nextInt(randomChance) + 1;
|
final int DROP_NUMBER = Misc.getRandom().nextInt(randomChance) + 1;
|
||||||
|
|
||||||
LivingEntity le = (LivingEntity) event.getCaught();
|
LivingEntity le = (LivingEntity) event.getCaught();
|
||||||
EntityType type = le.getType();
|
EntityType type = le.getType();
|
||||||
@ -341,7 +338,7 @@ public class Fishing {
|
|||||||
wool.setColor(sheep.getColor());
|
wool.setColor(sheep.getColor());
|
||||||
|
|
||||||
final ItemStack theWool = wool.toItemStack();
|
final ItemStack theWool = wool.toItemStack();
|
||||||
theWool.setAmount(1 + random.nextInt(6));
|
theWool.setAmount(1 + Misc.getRandom().nextInt(6));
|
||||||
|
|
||||||
Misc.dropItem(location, theWool);
|
Misc.dropItem(location, theWool);
|
||||||
sheep.setSheared(true);
|
sheep.setSheared(true);
|
||||||
@ -404,7 +401,7 @@ public class Fishing {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case WITCH:
|
case WITCH:
|
||||||
final int DROP_NUMBER_2 = random.nextInt(randomChance) + 1;
|
final int DROP_NUMBER_2 = Misc.getRandom().nextInt(randomChance) + 1;
|
||||||
if (DROP_NUMBER > 95) {
|
if (DROP_NUMBER > 95) {
|
||||||
if (DROP_NUMBER_2 > 66) {
|
if (DROP_NUMBER_2 > 66) {
|
||||||
Misc.dropItem(location, new Potion(PotionType.INSTANT_HEAL).toItemStack(1));
|
Misc.dropItem(location, new Potion(PotionType.INSTANT_HEAL).toItemStack(1));
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.gmail.nossr50.skills.gathering;
|
package com.gmail.nossr50.skills.gathering;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import org.bukkit.CropState;
|
import org.bukkit.CropState;
|
||||||
import org.bukkit.DyeColor;
|
import org.bukkit.DyeColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@ -30,8 +28,6 @@ import com.gmail.nossr50.util.Skills;
|
|||||||
import com.gmail.nossr50.util.Users;
|
import com.gmail.nossr50.util.Users;
|
||||||
|
|
||||||
public class Herbalism {
|
public class Herbalism {
|
||||||
|
|
||||||
private static Random random = new Random();
|
|
||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -129,7 +125,7 @@ public class Herbalism {
|
|||||||
if (b.getType().equals(Material.CACTUS)) {
|
if (b.getType().equals(Material.CACTUS)) {
|
||||||
mat = Material.CACTUS;
|
mat = Material.CACTUS;
|
||||||
if (!mcMMO.placeStore.isTrue(b)) {
|
if (!mcMMO.placeStore.isTrue(b)) {
|
||||||
if (chance > random.nextInt(randomChance)) {
|
if (chance > Misc.getRandom().nextInt(randomChance)) {
|
||||||
catciDrops++;
|
catciDrops++;
|
||||||
}
|
}
|
||||||
xp += Config.getInstance().getHerbalismXPCactus();
|
xp += Config.getInstance().getHerbalismXPCactus();
|
||||||
@ -189,7 +185,7 @@ public class Herbalism {
|
|||||||
if (b.getType().equals(Material.SUGAR_CANE_BLOCK)) {
|
if (b.getType().equals(Material.SUGAR_CANE_BLOCK)) {
|
||||||
mat = Material.SUGAR_CANE;
|
mat = Material.SUGAR_CANE;
|
||||||
if (!mcMMO.placeStore.isTrue(b)) {
|
if (!mcMMO.placeStore.isTrue(b)) {
|
||||||
if (chance > random.nextInt(randomChance)) {
|
if (chance > Misc.getRandom().nextInt(randomChance)) {
|
||||||
caneDrops++;
|
caneDrops++;
|
||||||
}
|
}
|
||||||
xp += Config.getInstance().getHerbalismXPSugarCane();
|
xp += Config.getInstance().getHerbalismXPSugarCane();
|
||||||
@ -287,7 +283,7 @@ public class Herbalism {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (chance > random.nextInt(randomChance)) {
|
if (chance > Misc.getRandom().nextInt(randomChance)) {
|
||||||
Config configInstance = Config.getInstance();
|
Config configInstance = Config.getInstance();
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
@ -456,7 +452,7 @@ public class Herbalism {
|
|||||||
float chance = (float) (((double) MAX_CHANCE / (double) MAX_BONUS_LEVEL) * herbLevel);
|
float chance = (float) (((double) MAX_CHANCE / (double) MAX_BONUS_LEVEL) * herbLevel);
|
||||||
if (chance > MAX_CHANCE) chance = (float) MAX_CHANCE;
|
if (chance > MAX_CHANCE) chance = (float) MAX_CHANCE;
|
||||||
|
|
||||||
if (hasSeeds && profile.getAbilityMode(AbilityType.GREEN_TERRA) || hasSeeds && (chance > random.nextInt(randomChance))) {
|
if (hasSeeds && profile.getAbilityMode(AbilityType.GREEN_TERRA) || hasSeeds && (chance > Misc.getRandom().nextInt(randomChance))) {
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
|
||||||
switch(type) {
|
switch(type) {
|
||||||
@ -526,7 +522,7 @@ public class Herbalism {
|
|||||||
float chance = (float) (((double) MAX_CHANCE / (double) MAX_BONUS_LEVEL) * skillLevel);
|
float chance = (float) (((double) MAX_CHANCE / (double) MAX_BONUS_LEVEL) * skillLevel);
|
||||||
if (chance > MAX_CHANCE) chance = (float) MAX_CHANCE;
|
if (chance > MAX_CHANCE) chance = (float) MAX_CHANCE;
|
||||||
|
|
||||||
if (chance > random.nextInt(randomChance)) {
|
if (chance > Misc.getRandom().nextInt(randomChance)) {
|
||||||
greenTerraConvert(player, block);
|
greenTerraConvert(player, block);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package com.gmail.nossr50.skills.gathering;
|
package com.gmail.nossr50.skills.gathering;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
@ -35,7 +34,6 @@ import com.gmail.nossr50.util.Users;
|
|||||||
public class WoodCutting {
|
public class WoodCutting {
|
||||||
|
|
||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
private static Random random = new Random();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle the Tree Feller ability.
|
* Handle the Tree Feller ability.
|
||||||
@ -82,7 +80,7 @@ public class WoodCutting {
|
|||||||
int health = player.getHealth();
|
int health = player.getHealth();
|
||||||
|
|
||||||
if (health >= 2) {
|
if (health >= 2) {
|
||||||
Combat.dealDamage(player, random.nextInt(health - 1));
|
Combat.dealDamage(player, Misc.getRandom().nextInt(health - 1));
|
||||||
}
|
}
|
||||||
inHand.setDurability(inHand.getType().getMaxDurability());
|
inHand.setDurability(inHand.getType().getMaxDurability());
|
||||||
return;
|
return;
|
||||||
@ -94,7 +92,7 @@ public class WoodCutting {
|
|||||||
int health = player.getHealth();
|
int health = player.getHealth();
|
||||||
|
|
||||||
if (health >= 2) {
|
if (health >= 2) {
|
||||||
Combat.dealDamage(player, random.nextInt(health - 1));
|
Combat.dealDamage(player, Misc.getRandom().nextInt(health - 1));
|
||||||
}
|
}
|
||||||
inHand.setDurability(inHand.getType().getMaxDurability());
|
inHand.setDurability(inHand.getType().getMaxDurability());
|
||||||
return;
|
return;
|
||||||
@ -327,10 +325,9 @@ public class WoodCutting {
|
|||||||
if ((currentType.equals(Material.LEAVES) || currentType.equals(Material.AIR) || (Config.getInstance().getBlockModsEnabled() && ModChecks.isCustomLeafBlock(currentBlock))) && (newType.equals(Material.LEAVES) || newType.equals(Material.AIR) || (Config.getInstance().getBlockModsEnabled() && ModChecks.isCustomLeafBlock(currentBlock)))) {
|
if ((currentType.equals(Material.LEAVES) || currentType.equals(Material.AIR) || (Config.getInstance().getBlockModsEnabled() && ModChecks.isCustomLeafBlock(currentBlock))) && (newType.equals(Material.LEAVES) || newType.equals(Material.AIR) || (Config.getInstance().getBlockModsEnabled() && ModChecks.isCustomLeafBlock(currentBlock)))) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check for double drops.
|
* Check for double drops.
|
||||||
@ -362,7 +359,7 @@ public class WoodCutting {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (chance > random.nextInt(randomChance) && Permissions.woodcuttingDoubleDrops(player)) {
|
if (chance > Misc.getRandom().nextInt(randomChance) && Permissions.woodcuttingDoubleDrops(player)) {
|
||||||
Config configInstance = Config.getInstance();
|
Config configInstance = Config.getInstance();
|
||||||
ItemStack item;
|
ItemStack item;
|
||||||
Location location;
|
Location location;
|
||||||
@ -504,7 +501,7 @@ public class WoodCutting {
|
|||||||
private static int durabilityLossCalulate(ArrayList<Block> toBeFelled, int level) {
|
private static int durabilityLossCalulate(ArrayList<Block> toBeFelled, int level) {
|
||||||
int durabilityLoss = 0;
|
int durabilityLoss = 0;
|
||||||
for (Block x : toBeFelled) {
|
for (Block x : toBeFelled) {
|
||||||
if (random.nextInt(level + 1) > 0) {}//Don't add durabilityLoss, because Unbreaking enchantment does it's work.
|
if (Misc.getRandom().nextInt(level + 1) > 0) {}//Don't add durabilityLoss, because Unbreaking enchantment does it's work.
|
||||||
else if (x.getType().equals(Material.LOG) || (Config.getInstance().getBlockModsEnabled() && ModChecks.isCustomLogBlock(x))) {
|
else if (x.getType().equals(Material.LOG) || (Config.getInstance().getBlockModsEnabled() && ModChecks.isCustomLogBlock(x))) {
|
||||||
durabilityLoss = durabilityLoss + Config.getInstance().getAbilityToolDamage();
|
durabilityLoss = durabilityLoss + Config.getInstance().getAbilityToolDamage();
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,42 @@
|
|||||||
|
package com.gmail.nossr50.skills.mining;
|
||||||
|
|
||||||
|
import org.bukkit.event.entity.ExplosionPrimeEvent;
|
||||||
|
|
||||||
|
public class BiggerBombsEventHandler {
|
||||||
|
private int skillLevel;
|
||||||
|
|
||||||
|
private ExplosionPrimeEvent event;
|
||||||
|
private float radius;
|
||||||
|
private float radiusModifier;
|
||||||
|
|
||||||
|
protected BiggerBombsEventHandler(MiningManager manager, ExplosionPrimeEvent event) {
|
||||||
|
this.skillLevel = manager.getSkillLevel();
|
||||||
|
|
||||||
|
this.event = event;
|
||||||
|
this.radius = event.getRadius();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void calculateRadiusIncrease() {
|
||||||
|
if (skillLevel < BlastMining.BLAST_MINING_RANK_2) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (skillLevel >= BlastMining.BLAST_MINING_RANK_8) {
|
||||||
|
radiusModifier = 4.0f;
|
||||||
|
}
|
||||||
|
else if (skillLevel >= BlastMining.BLAST_MINING_RANK_6) {
|
||||||
|
radiusModifier = 3.0f;
|
||||||
|
}
|
||||||
|
else if (skillLevel >= BlastMining.BLAST_MINING_RANK_4) {
|
||||||
|
radiusModifier = 2.0f;
|
||||||
|
}
|
||||||
|
else if (skillLevel >= BlastMining.BLAST_MINING_RANK_2) {
|
||||||
|
radiusModifier = 1.0f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void modifyBlastRadius() {
|
||||||
|
radius = radius + radiusModifier;
|
||||||
|
event.setRadius(radius);
|
||||||
|
}
|
||||||
|
}
|
@ -1,336 +1,18 @@
|
|||||||
package com.gmail.nossr50.skills.mining;
|
package com.gmail.nossr50.skills.mining;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
|
||||||
import org.bukkit.Location;
|
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.block.Block;
|
|
||||||
import org.bukkit.entity.Player;
|
|
||||||
import org.bukkit.entity.TNTPrimed;
|
|
||||||
import org.bukkit.event.entity.EntityDamageEvent;
|
|
||||||
import org.bukkit.event.entity.EntityExplodeEvent;
|
|
||||||
import org.bukkit.event.entity.ExplosionPrimeEvent;
|
|
||||||
import org.bukkit.event.player.PlayerInteractEvent;
|
|
||||||
|
|
||||||
import com.gmail.nossr50.mcMMO;
|
|
||||||
import com.gmail.nossr50.config.AdvancedConfig;
|
import com.gmail.nossr50.config.AdvancedConfig;
|
||||||
import com.gmail.nossr50.datatypes.AbilityType;
|
|
||||||
import com.gmail.nossr50.datatypes.PlayerProfile;
|
|
||||||
import com.gmail.nossr50.datatypes.SkillType;
|
|
||||||
import com.gmail.nossr50.locale.LocaleLoader;
|
|
||||||
import com.gmail.nossr50.util.BlockChecks;
|
|
||||||
import com.gmail.nossr50.util.Misc;
|
|
||||||
import com.gmail.nossr50.util.Skills;
|
|
||||||
import com.gmail.nossr50.util.Users;
|
|
||||||
|
|
||||||
public class BlastMining {
|
public class BlastMining {
|
||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
private static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
private static Random random = new Random();
|
public final static int BLAST_MINING_RANK_1 = advancedConfig.getBlastMiningRank1();
|
||||||
|
public final static int BLAST_MINING_RANK_2 = advancedConfig.getBlastMiningRank2();
|
||||||
|
public final static int BLAST_MINING_RANK_3 = advancedConfig.getBlastMiningRank3();
|
||||||
|
public final static int BLAST_MINING_RANK_4 = advancedConfig.getBlastMiningRank4();
|
||||||
|
public final static int BLAST_MINING_RANK_5 = advancedConfig.getBlastMiningRank5();
|
||||||
|
public final static int BLAST_MINING_RANK_6 = advancedConfig.getBlastMiningRank6();
|
||||||
|
public final static int BLAST_MINING_RANK_7 = advancedConfig.getBlastMiningRank7();
|
||||||
|
public final static int BLAST_MINING_RANK_8 = advancedConfig.getBlastMiningRank8();
|
||||||
|
|
||||||
private static int blastMiningRank1 = advancedConfig.getBlastMiningRank1();
|
public final static int MAXIMUM_REMOTE_DETONATION_DISTANCE = 100;
|
||||||
private static int blastMiningRank2 = advancedConfig.getBlastMiningRank2();
|
|
||||||
private static int blastMiningRank3 = advancedConfig.getBlastMiningRank3();
|
|
||||||
private static int blastMiningRank4 = advancedConfig.getBlastMiningRank4();
|
|
||||||
private static int blastMiningRank5 = advancedConfig.getBlastMiningRank5();
|
|
||||||
private static int blastMiningRank6 = advancedConfig.getBlastMiningRank6();
|
|
||||||
private static int blastMiningRank7 = advancedConfig.getBlastMiningRank7();
|
|
||||||
private static int blastMiningRank8 = advancedConfig.getBlastMiningRank8();
|
|
||||||
/**
|
|
||||||
* Handler for what blocks drop from the explosion.
|
|
||||||
*
|
|
||||||
* @param ores List of ore blocks destroyed by the explosion
|
|
||||||
* @param debris List of non-ore blocks destroyed by the explosion
|
|
||||||
* @param yield Percentage of blocks to drop
|
|
||||||
* @param oreBonus Percentage bonus for ore drops
|
|
||||||
* @param debrisReduction Percentage reduction for non-ore drops
|
|
||||||
* @param extraDrops Number of times to drop each block
|
|
||||||
* @return A list of blocks dropped from the explosion
|
|
||||||
*/
|
|
||||||
private static List<Block> explosionYields(List<Block> ores, List<Block> debris, float yield, float oreBonus, float debrisReduction, int extraDrops) {
|
|
||||||
Iterator<Block> oresIterator = ores.iterator();
|
|
||||||
List<Block> blocksDropped = new ArrayList<Block>();
|
|
||||||
|
|
||||||
while (oresIterator.hasNext()) {
|
|
||||||
Block temp = oresIterator.next();
|
|
||||||
Location tempLocation = temp.getLocation();
|
|
||||||
Material tempType = temp.getType();
|
|
||||||
|
|
||||||
if (random.nextFloat() < (yield + oreBonus)) {
|
|
||||||
blocksDropped.add(temp);
|
|
||||||
Mining.miningDrops(temp, tempLocation, tempType);
|
|
||||||
|
|
||||||
if (!mcMMO.placeStore.isTrue(temp)) {
|
|
||||||
for (int i = 1 ; i < extraDrops ; i++) {
|
|
||||||
blocksDropped.add(temp);
|
|
||||||
Mining.miningDrops(temp, tempLocation, tempType);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (yield - debrisReduction > 0) {
|
|
||||||
Iterator<Block> debrisIterator = debris.iterator();
|
|
||||||
|
|
||||||
while (debrisIterator.hasNext()) {
|
|
||||||
Block temp = debrisIterator.next();
|
|
||||||
Location tempLocation = temp.getLocation();
|
|
||||||
Material tempType = temp.getType();
|
|
||||||
|
|
||||||
if (random.nextFloat() < (yield - debrisReduction))
|
|
||||||
Mining.miningDrops(temp, tempLocation, tempType);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return blocksDropped;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Handler for explosion drops and XP gain.
|
|
||||||
*
|
|
||||||
* @param player Player triggering the explosion
|
|
||||||
* @param event Event whose explosion is being processed
|
|
||||||
*/
|
|
||||||
public static void dropProcessing(Player player, EntityExplodeEvent event) {
|
|
||||||
if(player == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
final int RANK_1_LEVEL = blastMiningRank1;
|
|
||||||
final int RANK_2_LEVEL = blastMiningRank2;
|
|
||||||
final int RANK_3_LEVEL = blastMiningRank3;
|
|
||||||
final int RANK_4_LEVEL = blastMiningRank4;
|
|
||||||
final int RANK_5_LEVEL = blastMiningRank5;
|
|
||||||
final int RANK_6_LEVEL = blastMiningRank6;
|
|
||||||
final int RANK_7_LEVEL = blastMiningRank7;
|
|
||||||
final int RANK_8_LEVEL = blastMiningRank8;
|
|
||||||
|
|
||||||
int skillLevel = Users.getProfile(player).getSkillLevel(SkillType.MINING);
|
|
||||||
float yield = event.getYield();
|
|
||||||
List<Block> blocks = event.blockList();
|
|
||||||
Iterator<Block> iterator = blocks.iterator();
|
|
||||||
|
|
||||||
List<Block> ores = new ArrayList<Block>();
|
|
||||||
List<Block> debris = new ArrayList<Block>();
|
|
||||||
List<Block> xp = new ArrayList<Block>();
|
|
||||||
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
Block temp = iterator.next();
|
|
||||||
|
|
||||||
if (BlockChecks.isOre(temp)) {
|
|
||||||
ores.add(temp);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
debris.add(temp);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//Normal explosion
|
|
||||||
if (skillLevel < RANK_1_LEVEL) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
event.setYield(0);
|
|
||||||
|
|
||||||
//Triple Drops, No debris, +70% ores
|
|
||||||
if (skillLevel >= RANK_8_LEVEL) {
|
|
||||||
xp = explosionYields(ores, debris, yield, .70f, .30f, 3);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Triple Drops, No debris, +65% ores
|
|
||||||
else if (skillLevel >= RANK_7_LEVEL) {
|
|
||||||
xp = explosionYields(ores, debris, yield, .65f, .30f, 3);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Double Drops, No Debris, +60% ores
|
|
||||||
else if (skillLevel >= RANK_6_LEVEL) {
|
|
||||||
xp = explosionYields(ores, debris, yield, .60f, .30f, 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
//Double Drops, No Debris, +55% ores
|
|
||||||
else if (skillLevel >= RANK_5_LEVEL) {
|
|
||||||
xp = explosionYields(ores, debris, yield, .55f, .30f, 2);
|
|
||||||
}
|
|
||||||
|
|
||||||
//No debris, +50% ores
|
|
||||||
else if (skillLevel >= RANK_4_LEVEL) {
|
|
||||||
xp = explosionYields(ores, debris, yield, .50f, .30f, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
//No debris, +45% ores
|
|
||||||
else if (skillLevel >= RANK_3_LEVEL) {
|
|
||||||
xp = explosionYields(ores, debris, yield, .45f, .30f, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
//+40% ores, -20% debris
|
|
||||||
else if (skillLevel >= RANK_2_LEVEL) {
|
|
||||||
xp = explosionYields(ores, debris, yield, .40f, .20f, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
//+35% ores, -10% debris
|
|
||||||
else if (skillLevel >= RANK_1_LEVEL) {
|
|
||||||
xp = explosionYields(ores, debris, yield, .35f, .10f, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (Block block : xp) {
|
|
||||||
if (!mcMMO.placeStore.isTrue(block)) {
|
|
||||||
Mining.miningXP(player, Users.getProfile(player), block, block.getType());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Increases the blast radius of the explosion.
|
|
||||||
*
|
|
||||||
* @param player Player triggering the explosion
|
|
||||||
* @param event Event whose explosion radius is being changed
|
|
||||||
*/
|
|
||||||
public static void biggerBombs(Player player, ExplosionPrimeEvent event) {
|
|
||||||
if(player == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
final int RANK_1_LEVEL = blastMiningRank2;
|
|
||||||
final int RANK_2_LEVEL = blastMiningRank4;
|
|
||||||
final int RANK_3_LEVEL = blastMiningRank6;
|
|
||||||
final int RANK_4_LEVEL = blastMiningRank8;
|
|
||||||
|
|
||||||
int skillLevel = Users.getProfile(player).getSkillLevel(SkillType.MINING);
|
|
||||||
float radius = event.getRadius();
|
|
||||||
|
|
||||||
if (skillLevel < RANK_1_LEVEL) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (skillLevel >= RANK_1_LEVEL) {
|
|
||||||
radius++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (skillLevel >= RANK_2_LEVEL) {
|
|
||||||
radius++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (skillLevel >= RANK_3_LEVEL) {
|
|
||||||
radius++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (skillLevel >= RANK_4_LEVEL) {
|
|
||||||
radius++;
|
|
||||||
}
|
|
||||||
|
|
||||||
event.setRadius(radius);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Decreases damage dealt by the explosion.
|
|
||||||
*
|
|
||||||
* @param player Player triggering the explosion
|
|
||||||
* @param event Event whose explosion damage is being reduced
|
|
||||||
*/
|
|
||||||
public static void demolitionsExpertise(Player player, EntityDamageEvent event) {
|
|
||||||
if(player == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
final int RANK_1_LEVEL = blastMiningRank4;
|
|
||||||
final int RANK_2_LEVEL = blastMiningRank6;
|
|
||||||
final int RANK_3_LEVEL = blastMiningRank8;
|
|
||||||
|
|
||||||
int skill = Users.getProfile(player).getSkillLevel(SkillType.MINING);
|
|
||||||
int damage = event.getDamage();
|
|
||||||
|
|
||||||
if (skill < RANK_1_LEVEL) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (skill >= RANK_3_LEVEL) {
|
|
||||||
damage = 0;
|
|
||||||
}
|
|
||||||
else if (skill >= RANK_2_LEVEL) {
|
|
||||||
damage = damage / 2;
|
|
||||||
}
|
|
||||||
else if (skill >= RANK_1_LEVEL) {
|
|
||||||
damage = damage/4;
|
|
||||||
}
|
|
||||||
|
|
||||||
event.setDamage(damage);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Detonate TNT for Blast Mining
|
|
||||||
*
|
|
||||||
* @param event The PlayerInteractEvent
|
|
||||||
* @param player Player detonating the TNT
|
|
||||||
* @param plugin mcMMO plugin instance
|
|
||||||
*/
|
|
||||||
public static void detonate(PlayerInteractEvent event, Player player, mcMMO plugin) {
|
|
||||||
if(player == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
PlayerProfile profile = Users.getProfile(player);
|
|
||||||
|
|
||||||
if (profile.getSkillLevel(SkillType.MINING) < 125)
|
|
||||||
return;
|
|
||||||
|
|
||||||
Block block = event.getClickedBlock();
|
|
||||||
|
|
||||||
if (block == null || block.getType() != Material.TNT) {
|
|
||||||
final byte SNOW = 78;
|
|
||||||
final byte AIR = 0;
|
|
||||||
final int BLOCKS_AWAY = 100;
|
|
||||||
|
|
||||||
HashSet<Byte> transparent = new HashSet<Byte>();
|
|
||||||
|
|
||||||
transparent.add(SNOW);
|
|
||||||
transparent.add(AIR);
|
|
||||||
|
|
||||||
block = player.getTargetBlock(transparent, BLOCKS_AWAY);
|
|
||||||
|
|
||||||
if (block.getType() != Material.TNT) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (block.getType() == Material.TNT) {
|
|
||||||
event.setCancelled(true); // This is the only way I know to avoid the original TNT to be triggered (in case the player is close to it)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!Misc.blockBreakSimulate(block, player, true)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
final double MAX_DISTANCE_AWAY = 10.0;
|
|
||||||
final int TIME_CONVERSION_FACTOR = 1000;
|
|
||||||
|
|
||||||
AbilityType ability = AbilityType.BLAST_MINING;
|
|
||||||
|
|
||||||
/* Check Cooldown */
|
|
||||||
if (!Skills.cooldownOver(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown(), player)) {
|
|
||||||
player.sendMessage(LocaleLoader.getString("Skills.TooTired") + ChatColor.YELLOW + " (" + Skills.calculateTimeLeft(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown(), player) + "s)");
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Send message to nearby players */
|
|
||||||
for (Player y : player.getWorld().getPlayers()) {
|
|
||||||
if (y != player && Misc.isNear(player.getLocation(), y.getLocation(), MAX_DISTANCE_AWAY)) {
|
|
||||||
y.sendMessage(ability.getAbilityPlayer(player));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
player.sendMessage(LocaleLoader.getString("Mining.Blast.Boom"));
|
|
||||||
|
|
||||||
/* Create the TNT entity */
|
|
||||||
// TNTPrimed tnt = (TNTPrimed) player.getWorld().spawnEntity(block.getLocation(), EntityType.PRIMED_TNT);
|
|
||||||
TNTPrimed tnt = player.getWorld().spawn(block.getLocation(), TNTPrimed.class);
|
|
||||||
plugin.addToTNTTracker(tnt.getEntityId(), player.getName());
|
|
||||||
tnt.setFuseTicks(0);
|
|
||||||
|
|
||||||
/* Disable the original one */
|
|
||||||
block.setType(Material.AIR);
|
|
||||||
|
|
||||||
profile.setSkillDATS(ability, System.currentTimeMillis()); //Save DATS for Blast Mining
|
|
||||||
profile.setAbilityInformed(ability, false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,152 @@
|
|||||||
|
package com.gmail.nossr50.skills.mining;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.event.entity.EntityExplodeEvent;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
import com.gmail.nossr50.mcMMO;
|
||||||
|
import com.gmail.nossr50.util.BlockChecks;
|
||||||
|
import com.gmail.nossr50.util.Misc;
|
||||||
|
|
||||||
|
public class BlastMiningDropEventHandler {
|
||||||
|
private MiningManager manager;
|
||||||
|
private int skillLevel;
|
||||||
|
|
||||||
|
private EntityExplodeEvent event;
|
||||||
|
private float yield;
|
||||||
|
private List<Block> blocks;
|
||||||
|
|
||||||
|
private List<Block> ores;
|
||||||
|
private List<Block> debris;
|
||||||
|
private List<Block> droppedOres;
|
||||||
|
|
||||||
|
private float oreBonus;
|
||||||
|
private float debrisReduction;
|
||||||
|
private int dropMultiplier;
|
||||||
|
|
||||||
|
public BlastMiningDropEventHandler(MiningManager manager, EntityExplodeEvent event) {
|
||||||
|
this.manager = manager;
|
||||||
|
this.skillLevel = manager.getSkillLevel();
|
||||||
|
|
||||||
|
this.event = event;
|
||||||
|
this.yield = event.getYield();
|
||||||
|
this.blocks = event.blockList();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void sortExplosionBlocks() {
|
||||||
|
for (Block block : blocks) {
|
||||||
|
if (BlockChecks.isOre(block)) {
|
||||||
|
ores.add(block);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
debris.add(block);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void processXPGain() {
|
||||||
|
for (Block block : droppedOres) {
|
||||||
|
if (!mcMMO.placeStore.isTrue(block)) {
|
||||||
|
Mining.miningXP(manager.getPlayer(), manager.getProfile(), block, block.getType());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void processDroppedBlocks() {
|
||||||
|
for (Block block : ores) {
|
||||||
|
Location location = block.getLocation();
|
||||||
|
Material type = block.getType();
|
||||||
|
|
||||||
|
if (Misc.getRandom().nextFloat() < (yield + oreBonus)) {
|
||||||
|
droppedOres.add(block);
|
||||||
|
Mining.miningDrops(block, location, type);
|
||||||
|
|
||||||
|
if (!mcMMO.placeStore.isTrue(block)) {
|
||||||
|
for (int i = 1 ; i < dropMultiplier ; i++) {
|
||||||
|
droppedOres.add(block);
|
||||||
|
Mining.miningDrops(block, location, type);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
float debrisYield = yield - debrisReduction;
|
||||||
|
|
||||||
|
if (debrisYield > 0) {
|
||||||
|
for (Block block : debris) {
|
||||||
|
Location location = block.getLocation();
|
||||||
|
Material type = block.getType();
|
||||||
|
|
||||||
|
if (Misc.getRandom().nextFloat() < debrisYield) {
|
||||||
|
Misc.dropItem(location, new ItemStack(type));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void modifyEventYield() {
|
||||||
|
event.setYield(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void calcuateDropModifiers() {
|
||||||
|
calculateOreBonus();
|
||||||
|
calculateDebrisReduction();
|
||||||
|
calculateDropMultiplier();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void calculateOreBonus() {
|
||||||
|
if (skillLevel >= BlastMining.BLAST_MINING_RANK_8) {
|
||||||
|
oreBonus = .70f;
|
||||||
|
}
|
||||||
|
else if (skillLevel >= BlastMining.BLAST_MINING_RANK_7) {
|
||||||
|
oreBonus = .65f;
|
||||||
|
}
|
||||||
|
else if (skillLevel >= BlastMining.BLAST_MINING_RANK_6) {
|
||||||
|
oreBonus = .60f;
|
||||||
|
}
|
||||||
|
else if (skillLevel >= BlastMining.BLAST_MINING_RANK_5) {
|
||||||
|
oreBonus = .55f;
|
||||||
|
}
|
||||||
|
else if (skillLevel >= BlastMining.BLAST_MINING_RANK_4) {
|
||||||
|
oreBonus = .50f;
|
||||||
|
}
|
||||||
|
else if (skillLevel >= BlastMining.BLAST_MINING_RANK_3) {
|
||||||
|
oreBonus = .45f;
|
||||||
|
}
|
||||||
|
else if (skillLevel >= BlastMining.BLAST_MINING_RANK_2) {
|
||||||
|
oreBonus = .40f;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
debrisReduction = .35f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void calculateDebrisReduction() {
|
||||||
|
if (skillLevel >= BlastMining.BLAST_MINING_RANK_3) {
|
||||||
|
debrisReduction = .30f;
|
||||||
|
}
|
||||||
|
else if (skillLevel >= BlastMining.BLAST_MINING_RANK_2) {
|
||||||
|
debrisReduction = .20f;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
debrisReduction = .10f;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void calculateDropMultiplier() {
|
||||||
|
if (skillLevel >= BlastMining.BLAST_MINING_RANK_7) {
|
||||||
|
dropMultiplier = 3;
|
||||||
|
}
|
||||||
|
else if (skillLevel >= BlastMining.BLAST_MINING_RANK_5) {
|
||||||
|
dropMultiplier = 2;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
dropMultiplier = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,39 @@
|
|||||||
|
package com.gmail.nossr50.skills.mining;
|
||||||
|
|
||||||
|
import org.bukkit.event.entity.EntityDamageEvent;
|
||||||
|
|
||||||
|
public class DemoltionsExpertiseEventHandler {
|
||||||
|
private int skillLevel;
|
||||||
|
|
||||||
|
private EntityDamageEvent event;
|
||||||
|
private int damage;
|
||||||
|
private double damageModifier;
|
||||||
|
|
||||||
|
public DemoltionsExpertiseEventHandler(MiningManager manager, EntityDamageEvent event) {
|
||||||
|
this.skillLevel = manager.getSkillLevel();
|
||||||
|
|
||||||
|
this.event = event;
|
||||||
|
this.damage = event.getDamage();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void calculateDamageModifier() {
|
||||||
|
if (skillLevel < BlastMining.BLAST_MINING_RANK_4) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (skillLevel >= BlastMining.BLAST_MINING_RANK_8) {
|
||||||
|
damageModifier = 0;
|
||||||
|
}
|
||||||
|
else if (skillLevel >= BlastMining.BLAST_MINING_RANK_6) {
|
||||||
|
damageModifier = 0.5;
|
||||||
|
}
|
||||||
|
else if (skillLevel >= BlastMining.BLAST_MINING_RANK_4) {
|
||||||
|
damageModifier = 0.25;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void modifyEventDamage() {
|
||||||
|
damage = (int) (damage * damageModifier);
|
||||||
|
event.setDamage(damage);
|
||||||
|
}
|
||||||
|
}
|
@ -1,7 +1,5 @@
|
|||||||
package com.gmail.nossr50.skills.mining;
|
package com.gmail.nossr50.skills.mining;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import org.bukkit.CoalType;
|
import org.bukkit.CoalType;
|
||||||
import org.bukkit.DyeColor;
|
import org.bukkit.DyeColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@ -23,7 +21,6 @@ import com.gmail.nossr50.util.Skills;
|
|||||||
public class Mining {
|
public class Mining {
|
||||||
private static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
private static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
private static Config config = Config.getInstance();
|
private static Config config = Config.getInstance();
|
||||||
private static Random random = new Random();
|
|
||||||
|
|
||||||
public static final int DOUBLE_DROPS_MAX_BONUS_LEVEL = advancedConfig.getMiningDoubleDropMaxLevel();
|
public static final int DOUBLE_DROPS_MAX_BONUS_LEVEL = advancedConfig.getMiningDoubleDropMaxLevel();
|
||||||
public static final int DOUBLE_DROPS_MAX_CHANCE = advancedConfig.getMiningDoubleDropChance();
|
public static final int DOUBLE_DROPS_MAX_CHANCE = advancedConfig.getMiningDoubleDropChance();
|
||||||
@ -315,8 +312,4 @@ public class Mining {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static Random getRandom() {
|
|
||||||
return random;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,7 @@ public class MiningBlockEventHandler {
|
|||||||
calculateSkillModifier();
|
calculateSkillModifier();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void calculateSkillModifier() {
|
private void calculateSkillModifier() {
|
||||||
this.skillModifier = Misc.skillCheck(manager.getSkillLevel(), Mining.DOUBLE_DROPS_MAX_BONUS_LEVEL);
|
this.skillModifier = Misc.skillCheck(manager.getSkillLevel(), Mining.DOUBLE_DROPS_MAX_BONUS_LEVEL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ public class MiningBlockEventHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void processXP() {
|
protected void processXPGain() {
|
||||||
Mining.miningXP(player, manager.getProfile(), block, blockType);
|
Mining.miningXP(player, manager.getProfile(), block, blockType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,25 +1,117 @@
|
|||||||
package com.gmail.nossr50.skills.mining;
|
package com.gmail.nossr50.skills.mining;
|
||||||
|
|
||||||
|
import org.bukkit.Material;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.entity.EntityDamageEvent;
|
||||||
|
import org.bukkit.event.entity.EntityExplodeEvent;
|
||||||
|
import org.bukkit.event.entity.ExplosionPrimeEvent;
|
||||||
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
|
|
||||||
import com.gmail.nossr50.mcMMO;
|
import com.gmail.nossr50.mcMMO;
|
||||||
import com.gmail.nossr50.datatypes.PlayerProfile;
|
|
||||||
import com.gmail.nossr50.datatypes.SkillType;
|
import com.gmail.nossr50.datatypes.SkillType;
|
||||||
|
import com.gmail.nossr50.skills.SkillManager;
|
||||||
import com.gmail.nossr50.util.Misc;
|
import com.gmail.nossr50.util.Misc;
|
||||||
import com.gmail.nossr50.util.Permissions;
|
import com.gmail.nossr50.util.Permissions;
|
||||||
import com.gmail.nossr50.util.Users;
|
|
||||||
|
|
||||||
public class MiningManager {
|
|
||||||
private Player player;
|
|
||||||
private PlayerProfile profile;
|
|
||||||
private int skillLevel;
|
|
||||||
|
|
||||||
|
public class MiningManager extends SkillManager{
|
||||||
public MiningManager (Player player) {
|
public MiningManager (Player player) {
|
||||||
this.player = player;
|
super(player, SkillType.MINING);
|
||||||
this.profile = Users.getProfile(player);
|
}
|
||||||
|
|
||||||
this.skillLevel = profile.getSkillLevel(SkillType.MINING);
|
/**
|
||||||
|
* Detonate TNT for Blast Mining
|
||||||
|
*
|
||||||
|
* @param event The PlayerInteractEvent
|
||||||
|
* @param player Player detonating the TNT
|
||||||
|
* @param plugin mcMMO plugin instance
|
||||||
|
*/
|
||||||
|
public void detonate(PlayerInteractEvent event) {
|
||||||
|
if (Misc.isNPC(player)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (skillLevel < BlastMining.BLAST_MINING_RANK_1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
RemoteDetonationEventHandler eventHandler = new RemoteDetonationEventHandler(this, event);
|
||||||
|
|
||||||
|
eventHandler.targetTNT();
|
||||||
|
|
||||||
|
if (eventHandler.block.getType() != Material.TNT) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Misc.blockBreakSimulate(eventHandler.block, player, true)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!eventHandler.cooldownOver()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
eventHandler.sendMessages();
|
||||||
|
eventHandler.handleDetonation();
|
||||||
|
eventHandler.setProfileData();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handler for explosion drops and XP gain.
|
||||||
|
*
|
||||||
|
* @param event Event whose explosion is being processed
|
||||||
|
*/
|
||||||
|
public void blastMiningDropProcessing(EntityExplodeEvent event) {
|
||||||
|
if (Misc.isNPC(player)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (skillLevel < BlastMining.BLAST_MINING_RANK_1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
BlastMiningDropEventHandler eventHandler = new BlastMiningDropEventHandler(this, event);
|
||||||
|
|
||||||
|
eventHandler.sortExplosionBlocks();
|
||||||
|
eventHandler.modifyEventYield();
|
||||||
|
|
||||||
|
eventHandler.calcuateDropModifiers();
|
||||||
|
eventHandler.processDroppedBlocks();
|
||||||
|
|
||||||
|
eventHandler.processXPGain();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Decreases damage dealt by the explosion from TNT activated by Blast Mining.
|
||||||
|
*
|
||||||
|
* @param event Event whose explosion damage is being reduced
|
||||||
|
*/
|
||||||
|
public void demolitionsExpertise(EntityDamageEvent event) {
|
||||||
|
if (Misc.isNPC(player)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
DemoltionsExpertiseEventHandler eventHandler = new DemoltionsExpertiseEventHandler(this, event);
|
||||||
|
|
||||||
|
eventHandler.calculateDamageModifier();
|
||||||
|
eventHandler.modifyEventDamage();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Increases the blast radius of the explosion.
|
||||||
|
*
|
||||||
|
* @param player Player triggering the explosion
|
||||||
|
* @param event Event whose explosion radius is being changed
|
||||||
|
*/
|
||||||
|
public void biggerBombs(ExplosionPrimeEvent event) {
|
||||||
|
if (Misc.isNPC(player)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
BiggerBombsEventHandler eventHandler = new BiggerBombsEventHandler(this, event);
|
||||||
|
|
||||||
|
eventHandler.calculateRadiusIncrease();
|
||||||
|
eventHandler.modifyBlastRadius();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -34,7 +126,7 @@ public class MiningManager {
|
|||||||
|
|
||||||
MiningBlockEventHandler eventHandler = new MiningBlockEventHandler(this, block);
|
MiningBlockEventHandler eventHandler = new MiningBlockEventHandler(this, block);
|
||||||
|
|
||||||
eventHandler.processXP();
|
eventHandler.processXPGain();
|
||||||
|
|
||||||
if (!Permissions.miningDoubleDrops(player)) {
|
if (!Permissions.miningDoubleDrops(player)) {
|
||||||
return;
|
return;
|
||||||
@ -47,7 +139,7 @@ public class MiningManager {
|
|||||||
|
|
||||||
float chance = ((float) Mining.DOUBLE_DROPS_MAX_CHANCE / Mining.DOUBLE_DROPS_MAX_BONUS_LEVEL) * eventHandler.skillModifier;
|
float chance = ((float) Mining.DOUBLE_DROPS_MAX_CHANCE / Mining.DOUBLE_DROPS_MAX_BONUS_LEVEL) * eventHandler.skillModifier;
|
||||||
|
|
||||||
if (chance > Mining.getRandom().nextInt(randomChance)) {
|
if (chance > Misc.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.processDrops();
|
eventHandler.processDrops();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -74,16 +166,4 @@ public class MiningManager {
|
|||||||
eventHandler.processDropsAndXP();
|
eventHandler.processDropsAndXP();
|
||||||
eventHandler.playSpoutSound();
|
eventHandler.playSpoutSound();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected int getSkillLevel() {
|
|
||||||
return skillLevel;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Player getPlayer() {
|
|
||||||
return player;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected PlayerProfile getProfile() {
|
|
||||||
return profile;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,115 @@
|
|||||||
|
package com.gmail.nossr50.skills.mining;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
|
import org.bukkit.ChatColor;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.entity.TNTPrimed;
|
||||||
|
import org.bukkit.event.player.PlayerInteractEvent;
|
||||||
|
|
||||||
|
import com.gmail.nossr50.mcMMO;
|
||||||
|
import com.gmail.nossr50.datatypes.AbilityType;
|
||||||
|
import com.gmail.nossr50.datatypes.PlayerProfile;
|
||||||
|
import com.gmail.nossr50.locale.LocaleLoader;
|
||||||
|
import com.gmail.nossr50.util.Misc;
|
||||||
|
import com.gmail.nossr50.util.Skills;
|
||||||
|
|
||||||
|
public class RemoteDetonationEventHandler {
|
||||||
|
private Player player;
|
||||||
|
private PlayerProfile profile;
|
||||||
|
|
||||||
|
private PlayerInteractEvent event;
|
||||||
|
protected Block block;
|
||||||
|
|
||||||
|
private HashSet<Byte> transparentBlocks = new HashSet<Byte>();
|
||||||
|
|
||||||
|
public RemoteDetonationEventHandler(MiningManager manager, PlayerInteractEvent event) {
|
||||||
|
this.player = manager.getPlayer();
|
||||||
|
this.profile = manager.getProfile();
|
||||||
|
|
||||||
|
this.event = event;
|
||||||
|
this.block = event.getClickedBlock();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void targetTNT() {
|
||||||
|
if (block == null || block.getType() != Material.TNT) {
|
||||||
|
generateTransparentBlockList();
|
||||||
|
block = player.getTargetBlock(transparentBlocks, BlastMining.MAXIMUM_REMOTE_DETONATION_DISTANCE);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
event.setCancelled(true); // This is the only way I know to avoid the original TNT to be triggered (in case the player is close to it)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected boolean cooldownOver() {
|
||||||
|
if (!Skills.cooldownOver(profile.getSkillDATS(AbilityType.BLAST_MINING) * Misc.TIME_CONVERSION_FACTOR, AbilityType.BLAST_MINING.getCooldown(), player)) {
|
||||||
|
player.sendMessage(LocaleLoader.getString("Skills.TooTired") + ChatColor.YELLOW + " (" + Skills.calculateTimeLeft(profile.getSkillDATS(AbilityType.BLAST_MINING) * Misc.TIME_CONVERSION_FACTOR, AbilityType.BLAST_MINING.getCooldown(), player) + "s)");
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void sendMessages() {
|
||||||
|
Misc.sendSkillMessage(player, AbilityType.BLAST_MINING.getAbilityPlayer(player));
|
||||||
|
player.sendMessage(LocaleLoader.getString("Mining.Blast.Boom"));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void handleDetonation() {
|
||||||
|
TNTPrimed tnt = player.getWorld().spawn(block.getLocation(), TNTPrimed.class);
|
||||||
|
mcMMO.p.addToTNTTracker(tnt.getEntityId(), player.getName());
|
||||||
|
tnt.setFuseTicks(0);
|
||||||
|
|
||||||
|
block.setType(Material.AIR);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void setProfileData() {
|
||||||
|
profile.setSkillDATS(AbilityType.BLAST_MINING, System.currentTimeMillis());
|
||||||
|
profile.setAbilityInformed(AbilityType.BLAST_MINING, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void generateTransparentBlockList() {
|
||||||
|
transparentBlocks.add((byte) Material.AIR.getId());
|
||||||
|
transparentBlocks.add((byte) Material.SAPLING.getId());
|
||||||
|
transparentBlocks.add((byte) Material.POWERED_RAIL.getId());
|
||||||
|
transparentBlocks.add((byte) Material.DETECTOR_RAIL.getId());
|
||||||
|
transparentBlocks.add((byte) Material.LONG_GRASS.getId());
|
||||||
|
transparentBlocks.add((byte) Material.DEAD_BUSH.getId());
|
||||||
|
transparentBlocks.add((byte) Material.YELLOW_FLOWER.getId());
|
||||||
|
transparentBlocks.add((byte) Material.RED_ROSE.getId());
|
||||||
|
transparentBlocks.add((byte) Material.BROWN_MUSHROOM.getId());
|
||||||
|
transparentBlocks.add((byte) Material.RED_MUSHROOM.getId());
|
||||||
|
transparentBlocks.add((byte) Material.TORCH.getId());
|
||||||
|
transparentBlocks.add((byte) Material.FIRE.getId());
|
||||||
|
transparentBlocks.add((byte) Material.REDSTONE_WIRE.getId());
|
||||||
|
transparentBlocks.add((byte) Material.CROPS.getId());
|
||||||
|
transparentBlocks.add((byte) Material.LADDER.getId());
|
||||||
|
transparentBlocks.add((byte) Material.RAILS.getId());
|
||||||
|
transparentBlocks.add((byte) Material.LEVER.getId());
|
||||||
|
transparentBlocks.add((byte) Material.REDSTONE_TORCH_OFF.getId());
|
||||||
|
transparentBlocks.add((byte) Material.REDSTONE_TORCH_ON.getId());
|
||||||
|
transparentBlocks.add((byte) Material.STONE_BUTTON.getId());
|
||||||
|
transparentBlocks.add((byte) Material.SNOW.getId());
|
||||||
|
transparentBlocks.add((byte) Material.SUGAR_CANE_BLOCK.getId());
|
||||||
|
transparentBlocks.add((byte) Material.PORTAL.getId());
|
||||||
|
transparentBlocks.add((byte) Material.DIODE_BLOCK_OFF.getId());
|
||||||
|
transparentBlocks.add((byte) Material.DIODE_BLOCK_ON.getId());
|
||||||
|
transparentBlocks.add((byte) Material.PUMPKIN_STEM.getId());
|
||||||
|
transparentBlocks.add((byte) Material.MELON_STEM.getId());
|
||||||
|
transparentBlocks.add((byte) Material.VINE.getId());
|
||||||
|
transparentBlocks.add((byte) Material.WATER_LILY.getId());
|
||||||
|
transparentBlocks.add((byte) Material.NETHER_WARTS.getId());
|
||||||
|
transparentBlocks.add((byte) Material.ENDER_PORTAL.getId());
|
||||||
|
transparentBlocks.add((byte) Material.COCOA.getId());
|
||||||
|
transparentBlocks.add((byte) Material.TRIPWIRE_HOOK.getId());
|
||||||
|
transparentBlocks.add((byte) Material.TRIPWIRE.getId());
|
||||||
|
transparentBlocks.add((byte) Material.FLOWER_POT.getId());
|
||||||
|
transparentBlocks.add((byte) Material.CARROT.getId());
|
||||||
|
transparentBlocks.add((byte) Material.POTATO.getId());
|
||||||
|
transparentBlocks.add((byte) Material.WOOD_BUTTON.getId());
|
||||||
|
transparentBlocks.add((byte) Material.SKULL.getId());
|
||||||
|
}
|
||||||
|
}
|
@ -69,11 +69,10 @@ public class SuperBreakerEventHandler {
|
|||||||
if (ModChecks.getCustomBlock(block).getTier() < tier) {
|
if (ModChecks.getCustomBlock(block).getTier() < tier) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else {
|
|
||||||
switch (blockType) {
|
switch (blockType) {
|
||||||
case OBSIDIAN:
|
case OBSIDIAN:
|
||||||
if (tier < Mining.DIAMOND_TOOL_TIER) {
|
if (tier < Mining.DIAMOND_TOOL_TIER) {
|
||||||
@ -111,7 +110,6 @@ public class SuperBreakerEventHandler {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private void calculateDurabilityLoss() {
|
private void calculateDurabilityLoss() {
|
||||||
this.durabilityLoss = Misc.TOOL_DURABILITY_LOSS;
|
this.durabilityLoss = Misc.TOOL_DURABILITY_LOSS;
|
||||||
|
@ -2,7 +2,6 @@ package com.gmail.nossr50.skills.repair;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Map.Entry;
|
import java.util.Map.Entry;
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.enchantments.Enchantment;
|
import org.bukkit.enchantments.Enchantment;
|
||||||
@ -18,18 +17,17 @@ import com.gmail.nossr50.datatypes.PlayerProfile;
|
|||||||
import com.gmail.nossr50.datatypes.SkillType;
|
import com.gmail.nossr50.datatypes.SkillType;
|
||||||
import com.gmail.nossr50.locale.LocaleLoader;
|
import com.gmail.nossr50.locale.LocaleLoader;
|
||||||
import com.gmail.nossr50.spout.SpoutSounds;
|
import com.gmail.nossr50.spout.SpoutSounds;
|
||||||
|
import com.gmail.nossr50.util.Misc;
|
||||||
import com.gmail.nossr50.util.Permissions;
|
import com.gmail.nossr50.util.Permissions;
|
||||||
import com.gmail.nossr50.util.Skills;
|
import com.gmail.nossr50.util.Skills;
|
||||||
import com.gmail.nossr50.util.Users;
|
import com.gmail.nossr50.util.Users;
|
||||||
|
|
||||||
public class Repair {
|
public class Repair {
|
||||||
|
|
||||||
private static Random random = new Random();
|
|
||||||
private static Config configInstance = Config.getInstance();
|
private static Config configInstance = Config.getInstance();
|
||||||
|
|
||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
|
|
||||||
public static final int REPAIR_MASTERY_CHANCE_MAX = advancedConfig.getRepairMasteryChanceMax();
|
public static final int REPAIR_MASTERY_CHANCE_MAX = advancedConfig.getRepairMasteryMaxBonus();
|
||||||
public static final int REPAIR_MASTERY_MAX_BONUS_LEVEL = advancedConfig.getRepairMasteryMaxLevel();
|
public static final int REPAIR_MASTERY_MAX_BONUS_LEVEL = advancedConfig.getRepairMasteryMaxLevel();
|
||||||
public static final int SUPER_REPAIR_CHANCE_MAX = advancedConfig.getSuperRepairChanceMax();
|
public static final int SUPER_REPAIR_CHANCE_MAX = advancedConfig.getSuperRepairChanceMax();
|
||||||
public static final int SUPER_REPAIR_MAX_BONUS_LEVEL = advancedConfig.getSuperRepairMaxLevel();
|
public static final int SUPER_REPAIR_MAX_BONUS_LEVEL = advancedConfig.getSuperRepairMaxLevel();
|
||||||
@ -121,11 +119,11 @@ public class Repair {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (random.nextInt(randomChance) <= getEnchantChance(rank)) {
|
if (Misc.getRandom().nextInt(randomChance) <= getEnchantChance(rank)) {
|
||||||
int enchantLevel = enchant.getValue();
|
int enchantLevel = enchant.getValue();
|
||||||
|
|
||||||
if (configInstance.getArcaneForgingDowngradeEnabled() && enchantLevel > 1) {
|
if (configInstance.getArcaneForgingDowngradeEnabled() && enchantLevel > 1) {
|
||||||
if (random.nextInt(randomChance) < getDowngradeChance(rank)) {
|
if (Misc.getRandom().nextInt(randomChance) < getDowngradeChance(rank)) {
|
||||||
is.addEnchantment(enchantment, --enchantLevel);
|
is.addEnchantment(enchantment, --enchantLevel);
|
||||||
downgraded = true;
|
downgraded = true;
|
||||||
}
|
}
|
||||||
@ -249,7 +247,7 @@ public class Repair {
|
|||||||
|
|
||||||
if (Permissions.luckyRepair(player)) randomChance = (int) (randomChance * 0.75);
|
if (Permissions.luckyRepair(player)) randomChance = (int) (randomChance * 0.75);
|
||||||
|
|
||||||
if (chance > random.nextInt(randomChance) && Permissions.repairBonus(player)){
|
if (chance > Misc.getRandom().nextInt(randomChance) && Permissions.repairBonus(player)) {
|
||||||
player.sendMessage(LocaleLoader.getString("Repair.Skills.FeltEasy"));
|
player.sendMessage(LocaleLoader.getString("Repair.Skills.FeltEasy"));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -187,10 +187,9 @@ public class SimpleRepairManager implements RepairManager {
|
|||||||
if (inventory.getItem(location).getTypeId() == itemId) {
|
if (inventory.getItem(location).getTypeId() == itemId) {
|
||||||
return location;
|
return location;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Search the inventory for an item and return the index.
|
* Search the inventory for an item and return the index.
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.gmail.nossr50.skills.swords;
|
package com.gmail.nossr50.skills.swords;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import com.gmail.nossr50.config.AdvancedConfig;
|
import com.gmail.nossr50.config.AdvancedConfig;
|
||||||
|
|
||||||
public class Swords {
|
public class Swords {
|
||||||
@ -18,10 +16,4 @@ public class Swords {
|
|||||||
|
|
||||||
public static final int SERRATED_STRIKES_MODIFIER = advancedConfig.getSerratedStrikesModifier();
|
public static final int SERRATED_STRIKES_MODIFIER = advancedConfig.getSerratedStrikesModifier();
|
||||||
public static final int SERRATED_STRIKES_BLEED_TICKS = advancedConfig.getSerratedStrikesTicks();
|
public static final int SERRATED_STRIKES_BLEED_TICKS = advancedConfig.getSerratedStrikesTicks();
|
||||||
|
|
||||||
private static Random random = new Random();
|
|
||||||
|
|
||||||
protected static Random getRandom() {
|
|
||||||
return random;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -3,21 +3,15 @@ package com.gmail.nossr50.skills.swords;
|
|||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
import com.gmail.nossr50.datatypes.PlayerProfile;
|
|
||||||
import com.gmail.nossr50.datatypes.SkillType;
|
import com.gmail.nossr50.datatypes.SkillType;
|
||||||
|
import com.gmail.nossr50.skills.SkillManager;
|
||||||
import com.gmail.nossr50.util.Combat;
|
import com.gmail.nossr50.util.Combat;
|
||||||
|
import com.gmail.nossr50.util.Misc;
|
||||||
import com.gmail.nossr50.util.Permissions;
|
import com.gmail.nossr50.util.Permissions;
|
||||||
import com.gmail.nossr50.util.Users;
|
|
||||||
|
|
||||||
public class SwordsManager {
|
|
||||||
private Player player;
|
|
||||||
private PlayerProfile profile;
|
|
||||||
private int skillLevel;
|
|
||||||
|
|
||||||
|
public class SwordsManager extends SkillManager {
|
||||||
public SwordsManager (Player player) {
|
public SwordsManager (Player player) {
|
||||||
this.player = player;
|
super(player, SkillType.SWORDS);
|
||||||
this.profile = Users.getProfile(player);
|
|
||||||
this.skillLevel = profile.getSkillLevel(SkillType.SWORDS);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -45,7 +39,7 @@ public class SwordsManager {
|
|||||||
float chance = (float) (((double) Swords.BLEED_CHANCE_MAX / (double) Swords.BLEED_MAX_BONUS_LEVEL) * skillLevel);
|
float chance = (float) (((double) Swords.BLEED_CHANCE_MAX / (double) Swords.BLEED_MAX_BONUS_LEVEL) * skillLevel);
|
||||||
if (chance > Swords.BLEED_CHANCE_MAX) chance = Swords.BLEED_CHANCE_MAX;
|
if (chance > Swords.BLEED_CHANCE_MAX) chance = Swords.BLEED_CHANCE_MAX;
|
||||||
|
|
||||||
if (chance > Swords.getRandom().nextInt(randomChance)) {
|
if (chance > Misc.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.addBleedTicks();
|
eventHandler.addBleedTicks();
|
||||||
eventHandler.sendAbilityMessages();
|
eventHandler.sendAbilityMessages();
|
||||||
}
|
}
|
||||||
@ -74,7 +68,7 @@ public class SwordsManager {
|
|||||||
float chance = (float) (((double) Swords.COUNTER_ATTACK_CHANCE_MAX / (double) Swords.COUNTER_ATTACK_MAX_BONUS_LEVEL) * skillLevel);
|
float chance = (float) (((double) Swords.COUNTER_ATTACK_CHANCE_MAX / (double) Swords.COUNTER_ATTACK_MAX_BONUS_LEVEL) * skillLevel);
|
||||||
if (chance > Swords.COUNTER_ATTACK_CHANCE_MAX) chance = Swords.COUNTER_ATTACK_CHANCE_MAX;
|
if (chance > Swords.COUNTER_ATTACK_CHANCE_MAX) chance = Swords.COUNTER_ATTACK_CHANCE_MAX;
|
||||||
|
|
||||||
if (chance > Swords.getRandom().nextInt(randomChance)) {
|
if (chance > Misc.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.dealDamage();
|
eventHandler.dealDamage();
|
||||||
eventHandler.sendAbilityMessages();
|
eventHandler.sendAbilityMessages();
|
||||||
}
|
}
|
||||||
@ -93,12 +87,4 @@ public class SwordsManager {
|
|||||||
|
|
||||||
eventHandler.applyAbilityEffects();
|
eventHandler.applyAbilityEffects();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected int getSkillLevel() {
|
|
||||||
return skillLevel;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Player getPlayer() {
|
|
||||||
return player;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -44,8 +44,7 @@ public class BeastLoreEventHandler {
|
|||||||
if (tamer instanceof Player) {
|
if (tamer instanceof Player) {
|
||||||
return ((Player) tamer).getName();
|
return ((Player) tamer).getName();
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return "Offline Master";
|
return "Offline Master";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@ -72,7 +72,7 @@ public class CallOfTheWildEventHandler {
|
|||||||
((Tameable) entity).setOwner(player);
|
((Tameable) entity).setOwner(player);
|
||||||
|
|
||||||
if (type == EntityType.OCELOT) {
|
if (type == EntityType.OCELOT) {
|
||||||
((Ocelot) entity).setCatType(Ocelot.Type.getType(1 + Taming.getRandom().nextInt(3)));
|
((Ocelot) entity).setCatType(Ocelot.Type.getType(1 + Misc.getRandom().nextInt(3)));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
entity.setHealth(entity.getMaxHealth());
|
entity.setHealth(entity.getMaxHealth());
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.gmail.nossr50.skills.taming;
|
package com.gmail.nossr50.skills.taming;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import com.gmail.nossr50.config.AdvancedConfig;
|
import com.gmail.nossr50.config.AdvancedConfig;
|
||||||
|
|
||||||
public class Taming {
|
public class Taming {
|
||||||
@ -25,10 +23,4 @@ public class Taming {
|
|||||||
|
|
||||||
public static final int THICK_FUR_ACTIVATION_LEVEL = advancedConfig.getThickFurUnlock();
|
public static final int THICK_FUR_ACTIVATION_LEVEL = advancedConfig.getThickFurUnlock();
|
||||||
public static final int THICK_FUR_MODIFIER = advancedConfig.getThickFurModifier();
|
public static final int THICK_FUR_MODIFIER = advancedConfig.getThickFurModifier();
|
||||||
|
|
||||||
private static Random random = new Random();
|
|
||||||
|
|
||||||
public static Random getRandom() {
|
|
||||||
return random;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -9,21 +9,16 @@ import org.bukkit.event.entity.EntityDamageEvent.DamageCause;
|
|||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import com.gmail.nossr50.config.Config;
|
import com.gmail.nossr50.config.Config;
|
||||||
import com.gmail.nossr50.datatypes.PlayerProfile;
|
|
||||||
import com.gmail.nossr50.datatypes.SkillType;
|
import com.gmail.nossr50.datatypes.SkillType;
|
||||||
|
import com.gmail.nossr50.skills.SkillManager;
|
||||||
|
import com.gmail.nossr50.util.Misc;
|
||||||
import com.gmail.nossr50.util.Permissions;
|
import com.gmail.nossr50.util.Permissions;
|
||||||
import com.gmail.nossr50.util.Users;
|
|
||||||
|
|
||||||
public class TamingManager {
|
public class TamingManager extends SkillManager {
|
||||||
private Player player;
|
|
||||||
private PlayerProfile profile;
|
|
||||||
private int skillLevel;
|
|
||||||
private Config configInstance;
|
private Config configInstance;
|
||||||
|
|
||||||
public TamingManager (Player player) {
|
public TamingManager (Player player) {
|
||||||
this.player = player;
|
super(player, SkillType.TAMING);
|
||||||
this.profile = Users.getProfile(player);
|
|
||||||
this.skillLevel = profile.getSkillLevel(SkillType.TAMING);
|
|
||||||
this.configInstance = Config.getInstance();
|
this.configInstance = Config.getInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -48,7 +43,7 @@ public class TamingManager {
|
|||||||
randomChance = (int) (randomChance * 0.75);
|
randomChance = (int) (randomChance * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Taming.getRandom().nextInt(randomChance) < Taming.FAST_FOOD_SERVICE_ACTIVATION_CHANCE) {
|
if (Misc.getRandom().nextInt(randomChance) < Taming.FAST_FOOD_SERVICE_ACTIVATION_CHANCE) {
|
||||||
FastFoodServiceEventHandler eventHandler = new FastFoodServiceEventHandler(wolf);
|
FastFoodServiceEventHandler eventHandler = new FastFoodServiceEventHandler(wolf);
|
||||||
|
|
||||||
eventHandler.modifyHealth(damage);
|
eventHandler.modifyHealth(damage);
|
||||||
@ -100,7 +95,7 @@ public class TamingManager {
|
|||||||
float chance = (float) (((double) Taming.GORE_CHANCE_MAX / (double) Taming.GORE_MAX_BONUS_LEVEL) * skillLevel);
|
float chance = (float) (((double) Taming.GORE_CHANCE_MAX / (double) Taming.GORE_MAX_BONUS_LEVEL) * skillLevel);
|
||||||
if (chance > Taming.GORE_CHANCE_MAX) chance = Taming.GORE_CHANCE_MAX;
|
if (chance > Taming.GORE_CHANCE_MAX) chance = Taming.GORE_CHANCE_MAX;
|
||||||
|
|
||||||
if (chance > Taming.getRandom().nextInt(randomChance)) {
|
if (chance > Misc.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.modifyEventDamage();
|
eventHandler.modifyEventDamage();
|
||||||
eventHandler.applyBleed();
|
eventHandler.applyBleed();
|
||||||
eventHandler.sendAbilityMessage();
|
eventHandler.sendAbilityMessage();
|
||||||
@ -195,7 +190,7 @@ public class TamingManager {
|
|||||||
eventHandler.sendInsufficientAmountMessage();
|
eventHandler.sendInsufficientAmountMessage();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
if (eventHandler.nearbyEntityExists()) {
|
if (eventHandler.nearbyEntityExists()) {
|
||||||
eventHandler.sendFailureMessage();
|
eventHandler.sendFailureMessage();
|
||||||
}
|
}
|
||||||
@ -205,7 +200,6 @@ public class TamingManager {
|
|||||||
eventHandler.sendSuccessMessage();
|
eventHandler.sendSuccessMessage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle the Environmentally Aware ability.
|
* Handle the Environmentally Aware ability.
|
||||||
@ -282,12 +276,4 @@ public class TamingManager {
|
|||||||
eventHandler.modifyEventDamage();
|
eventHandler.modifyEventDamage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected int getSkillLevel() {
|
|
||||||
return skillLevel;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Player getPlayer() {
|
|
||||||
return player;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.gmail.nossr50.skills.unarmed;
|
package com.gmail.nossr50.skills.unarmed;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import com.gmail.nossr50.config.AdvancedConfig;
|
import com.gmail.nossr50.config.AdvancedConfig;
|
||||||
|
|
||||||
public class Unarmed {
|
public class Unarmed {
|
||||||
@ -18,10 +16,4 @@ public class Unarmed {
|
|||||||
|
|
||||||
public static final int IRON_GRIP_MAX_CHANCE = advancedConfig.getIronGripChanceMax();
|
public static final int IRON_GRIP_MAX_CHANCE = advancedConfig.getIronGripChanceMax();
|
||||||
public static final int IRON_GRIP_MAX_BONUS_LEVEL = advancedConfig.getIronGripMaxBonusLevel();
|
public static final int IRON_GRIP_MAX_BONUS_LEVEL = advancedConfig.getIronGripMaxBonusLevel();
|
||||||
|
|
||||||
private static Random random = new Random();
|
|
||||||
|
|
||||||
protected static Random getRandom() {
|
|
||||||
return random;
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -3,20 +3,14 @@ package com.gmail.nossr50.skills.unarmed;
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.entity.EntityDamageEvent;
|
import org.bukkit.event.entity.EntityDamageEvent;
|
||||||
|
|
||||||
import com.gmail.nossr50.datatypes.PlayerProfile;
|
|
||||||
import com.gmail.nossr50.datatypes.SkillType;
|
import com.gmail.nossr50.datatypes.SkillType;
|
||||||
|
import com.gmail.nossr50.skills.SkillManager;
|
||||||
|
import com.gmail.nossr50.util.Misc;
|
||||||
import com.gmail.nossr50.util.Permissions;
|
import com.gmail.nossr50.util.Permissions;
|
||||||
import com.gmail.nossr50.util.Users;
|
|
||||||
|
|
||||||
public class UnarmedManager {
|
|
||||||
private Player player;
|
|
||||||
private PlayerProfile profile;
|
|
||||||
private int skillLevel;
|
|
||||||
|
|
||||||
|
public class UnarmedManager extends SkillManager {
|
||||||
public UnarmedManager (Player player) {
|
public UnarmedManager (Player player) {
|
||||||
this.player = player;
|
super(player, SkillType.UNARMED);
|
||||||
this.profile = Users.getProfile(player);
|
|
||||||
this.skillLevel = profile.getSkillLevel(SkillType.UNARMED);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -46,7 +40,7 @@ public class UnarmedManager {
|
|||||||
float chance = (float) (((double) Unarmed.DISARM_MAX_CHANCE / (double) Unarmed.DISARM_MAX_BONUS_LEVEL) * skillLevel);
|
float chance = (float) (((double) Unarmed.DISARM_MAX_CHANCE / (double) Unarmed.DISARM_MAX_BONUS_LEVEL) * skillLevel);
|
||||||
if (chance > Unarmed.DISARM_MAX_CHANCE) chance = Unarmed.DISARM_MAX_CHANCE;
|
if (chance > Unarmed.DISARM_MAX_CHANCE) chance = Unarmed.DISARM_MAX_CHANCE;
|
||||||
|
|
||||||
if (chance > Unarmed.getRandom().nextInt(randomChance)) {
|
if (chance > Misc.getRandom().nextInt(randomChance)) {
|
||||||
if (!hasIronGrip(defender)) {
|
if (!hasIronGrip(defender)) {
|
||||||
eventHandler.sendAbilityMessage();
|
eventHandler.sendAbilityMessage();
|
||||||
eventHandler.handleDisarm();
|
eventHandler.handleDisarm();
|
||||||
@ -80,7 +74,7 @@ public class UnarmedManager {
|
|||||||
float chance = (float) (((double) Unarmed.DEFLECT_MAX_CHANCE / (double) Unarmed.DEFLECT_MAX_BONUS_LEVEL) * skillLevel);
|
float chance = (float) (((double) Unarmed.DEFLECT_MAX_CHANCE / (double) Unarmed.DEFLECT_MAX_BONUS_LEVEL) * skillLevel);
|
||||||
if (chance > Unarmed.DEFLECT_MAX_CHANCE) chance = Unarmed.DEFLECT_MAX_CHANCE;
|
if (chance > Unarmed.DEFLECT_MAX_CHANCE) chance = Unarmed.DEFLECT_MAX_CHANCE;
|
||||||
|
|
||||||
if (chance > Unarmed.getRandom().nextInt(randomChance)) {
|
if (chance > Misc.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.cancelEvent();
|
eventHandler.cancelEvent();
|
||||||
eventHandler.sendAbilityMessage();
|
eventHandler.sendAbilityMessage();
|
||||||
}
|
}
|
||||||
@ -130,20 +124,11 @@ public class UnarmedManager {
|
|||||||
float chance = (float) (((double) Unarmed.IRON_GRIP_MAX_CHANCE / (double) Unarmed.IRON_GRIP_MAX_BONUS_LEVEL) * skillLevel);
|
float chance = (float) (((double) Unarmed.IRON_GRIP_MAX_CHANCE / (double) Unarmed.IRON_GRIP_MAX_BONUS_LEVEL) * skillLevel);
|
||||||
if (chance > Unarmed.IRON_GRIP_MAX_CHANCE) chance = Unarmed.IRON_GRIP_MAX_CHANCE;
|
if (chance > Unarmed.IRON_GRIP_MAX_CHANCE) chance = Unarmed.IRON_GRIP_MAX_CHANCE;
|
||||||
|
|
||||||
if (chance > Unarmed.getRandom().nextInt(randomChance)) {
|
if (chance > Misc.getRandom().nextInt(randomChance)) {
|
||||||
eventHandler.sendAbilityMessages();
|
eventHandler.sendAbilityMessages();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected int getSkillLevel() {
|
|
||||||
return skillLevel;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected Player getPlayer() {
|
|
||||||
return player;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -48,6 +48,7 @@ public class SpoutStuff {
|
|||||||
* @param theFilePath The name of the file path
|
* @param theFilePath The name of the file path
|
||||||
*/
|
*/
|
||||||
private static void writeFile(String theFileName, String theFilePath) {
|
private static void writeFile(String theFileName, String theFilePath) {
|
||||||
|
InputStream is = null;
|
||||||
OutputStream os = null;
|
OutputStream os = null;
|
||||||
JarFile jar = null;
|
JarFile jar = null;
|
||||||
|
|
||||||
@ -56,7 +57,7 @@ public class SpoutStuff {
|
|||||||
|
|
||||||
jar = new JarFile(mcMMO.mcmmo);
|
jar = new JarFile(mcMMO.mcmmo);
|
||||||
JarEntry entry = jar.getJarEntry("resources/" + theFileName);
|
JarEntry entry = jar.getJarEntry("resources/" + theFileName);
|
||||||
InputStream is = jar.getInputStream(entry);
|
is = jar.getInputStream(entry);
|
||||||
|
|
||||||
byte[] buf = new byte[2048];
|
byte[] buf = new byte[2048];
|
||||||
int nbRead;
|
int nbRead;
|
||||||
@ -66,6 +67,8 @@ public class SpoutStuff {
|
|||||||
while ((nbRead = is.read(buf)) != -1) {
|
while ((nbRead = is.read(buf)) != -1) {
|
||||||
os.write(buf, 0, nbRead);
|
os.write(buf, 0, nbRead);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
os.flush();
|
||||||
}
|
}
|
||||||
catch (FileNotFoundException e) {
|
catch (FileNotFoundException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@ -74,9 +77,16 @@ public class SpoutStuff {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
finally {
|
finally {
|
||||||
|
if (is != null) {
|
||||||
|
try {
|
||||||
|
is.close();
|
||||||
|
}
|
||||||
|
catch (IOException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
if (os != null) {
|
if (os != null) {
|
||||||
try {
|
try {
|
||||||
os.flush();
|
|
||||||
os.close();
|
os.close();
|
||||||
}
|
}
|
||||||
catch (IOException ex) {
|
catch (IOException ex) {
|
||||||
|
@ -65,11 +65,10 @@ public class BlockChecks {
|
|||||||
if (customBlocksEnabled && CustomBlocksConfig.getInstance().customItems.contains(item)) {
|
if (customBlocksEnabled && CustomBlocksConfig.getInstance().customItems.contains(item)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if a block should allow for the activation of abilities.
|
* Check if a block should allow for the activation of abilities.
|
||||||
@ -114,11 +113,10 @@ public class BlockChecks {
|
|||||||
if (block.getTypeId() == Config.getInstance().getRepairAnvilId() || block.getTypeId() == Config.getInstance().getSalvageAnvilId()) {
|
if (block.getTypeId() == Config.getInstance().getRepairAnvilId() || block.getTypeId() == Config.getInstance().getSalvageAnvilId()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if a block type is an ore.
|
* Check if a block type is an ore.
|
||||||
@ -142,11 +140,10 @@ public class BlockChecks {
|
|||||||
if (customBlocksEnabled && ModChecks.isCustomOreBlock(block)) {
|
if (customBlocksEnabled && ModChecks.isCustomOreBlock(block)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if a block can be made mossy.
|
* Check if a block can be made mossy.
|
||||||
@ -198,9 +195,8 @@ public class BlockChecks {
|
|||||||
if (block.getData() == CropState.RIPE.getData()) {
|
if (block.getData() == CropState.RIPE.getData()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
ItemStack item = (new MaterialData(block.getTypeId(), block.getData())).toItemStack(1);
|
ItemStack item = (new MaterialData(block.getTypeId(), block.getData())).toItemStack(1);
|
||||||
@ -208,11 +204,10 @@ public class BlockChecks {
|
|||||||
if (customBlocksEnabled && CustomBlocksConfig.getInstance().customHerbalismBlocks.contains(item)) {
|
if (customBlocksEnabled && CustomBlocksConfig.getInstance().customHerbalismBlocks.contains(item)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check to see if a block is broken by Super Breaker.
|
* Check to see if a block is broken by Super Breaker.
|
||||||
@ -245,11 +240,10 @@ public class BlockChecks {
|
|||||||
if (customBlocksEnabled && CustomBlocksConfig.getInstance().customMiningBlocks.contains(item)) {
|
if (customBlocksEnabled && CustomBlocksConfig.getInstance().customMiningBlocks.contains(item)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check to see if a block can be broken by Giga Drill Breaker.
|
* Check to see if a block can be broken by Giga Drill Breaker.
|
||||||
@ -274,11 +268,10 @@ public class BlockChecks {
|
|||||||
if (customBlocksEnabled && CustomBlocksConfig.getInstance().customExcavationBlocks.contains(item)) {
|
if (customBlocksEnabled && CustomBlocksConfig.getInstance().customExcavationBlocks.contains(item)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if the block is affected by Tree Feller.
|
* Checks if the block is affected by Tree Feller.
|
||||||
@ -299,18 +292,16 @@ public class BlockChecks {
|
|||||||
if (customBlocksEnabled && CustomBlocksConfig.getInstance().customWoodcuttingBlocks.contains(item)) {
|
if (customBlocksEnabled && CustomBlocksConfig.getInstance().customWoodcuttingBlocks.contains(item)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isLog (Block block) {
|
public static boolean isLog (Block block) {
|
||||||
if (block.getType().equals(Material.LOG) || (customBlocksEnabled && ModChecks.isCustomLogBlock(block))) {
|
if (block.getType().equals(Material.LOG) || (customBlocksEnabled && ModChecks.isCustomLogBlock(block))) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@ -32,7 +32,7 @@ import com.gmail.nossr50.runnables.BleedTimer;
|
|||||||
import com.gmail.nossr50.runnables.GainXp;
|
import com.gmail.nossr50.runnables.GainXp;
|
||||||
import com.gmail.nossr50.skills.acrobatics.AcrobaticsManager;
|
import com.gmail.nossr50.skills.acrobatics.AcrobaticsManager;
|
||||||
import com.gmail.nossr50.skills.archery.ArcheryManager;
|
import com.gmail.nossr50.skills.archery.ArcheryManager;
|
||||||
import com.gmail.nossr50.skills.combat.Axes;
|
import com.gmail.nossr50.skills.axes.Axes;
|
||||||
import com.gmail.nossr50.skills.swords.Swords;
|
import com.gmail.nossr50.skills.swords.Swords;
|
||||||
import com.gmail.nossr50.skills.swords.SwordsManager;
|
import com.gmail.nossr50.skills.swords.SwordsManager;
|
||||||
import com.gmail.nossr50.skills.taming.TamingManager;
|
import com.gmail.nossr50.skills.taming.TamingManager;
|
||||||
@ -335,6 +335,12 @@ public class Combat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (Entity entity : target.getNearbyEntities(2.5, 2.5, 2.5)) {
|
for (Entity entity : target.getNearbyEntities(2.5, 2.5, 2.5)) {
|
||||||
|
if (entity instanceof Player) {
|
||||||
|
if (Misc.isNPC((Player) entity)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!(entity instanceof LivingEntity)) {
|
if (!(entity instanceof LivingEntity)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -172,11 +172,10 @@ public class ItemChecks {
|
|||||||
if (customArmorEnabled && CustomArmorConfig.getInstance().customHelmetIDs.contains(is.getTypeId())) {
|
if (customArmorEnabled && CustomArmorConfig.getInstance().customHelmetIDs.contains(is.getTypeId())) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if the item is a chestplate.
|
* Checks if the item is a chestplate.
|
||||||
@ -196,11 +195,10 @@ public class ItemChecks {
|
|||||||
if (customArmorEnabled && CustomArmorConfig.getInstance().customChestplateIDs.contains(is.getTypeId())) {
|
if (customArmorEnabled && CustomArmorConfig.getInstance().customChestplateIDs.contains(is.getTypeId())) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if the item is a pair of pants.
|
* Checks if the item is a pair of pants.
|
||||||
@ -220,11 +218,10 @@ public class ItemChecks {
|
|||||||
if (customArmorEnabled && CustomArmorConfig.getInstance().customLeggingIDs.contains(is.getTypeId())) {
|
if (customArmorEnabled && CustomArmorConfig.getInstance().customLeggingIDs.contains(is.getTypeId())) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks if the item is a pair of boots.
|
* Checks if the item is a pair of boots.
|
||||||
@ -244,11 +241,10 @@ public class ItemChecks {
|
|||||||
if (customArmorEnabled && CustomArmorConfig.getInstance().customBootIDs.contains(is.getTypeId())) {
|
if (customArmorEnabled && CustomArmorConfig.getInstance().customBootIDs.contains(is.getTypeId())) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks to see if an item is a wearable armor piece.
|
* Checks to see if an item is a wearable armor piece.
|
||||||
|
@ -55,9 +55,8 @@ public class Leaderboard {
|
|||||||
if (players.contains(p)) {
|
if (players.contains(p)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
players.add(p);
|
players.add(p);
|
||||||
}
|
|
||||||
|
|
||||||
if (character.length > 1 && Misc.isInt(character[1])) {
|
if (character.length > 1 && Misc.isInt(character[1])) {
|
||||||
Mining.add(new PlayerStat(p, Integer.valueOf(character[1])));
|
Mining.add(new PlayerStat(p, Integer.valueOf(character[1])));
|
||||||
|
@ -398,7 +398,8 @@ public class Metrics {
|
|||||||
|
|
||||||
if (response == null || response.startsWith("ERR")) {
|
if (response == null || response.startsWith("ERR")) {
|
||||||
throw new IOException(response); //Throw the exception
|
throw new IOException(response); //Throw the exception
|
||||||
} else {
|
}
|
||||||
|
|
||||||
// Is this the first update this hour?
|
// Is this the first update this hour?
|
||||||
if (response.contains("OK This is your first update this hour")) {
|
if (response.contains("OK This is your first update this hour")) {
|
||||||
synchronized (graphs) {
|
synchronized (graphs) {
|
||||||
@ -414,8 +415,6 @@ public class Metrics {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//if (response.startsWith("OK")) - We should get "OK" followed by an optional description if everything goes right
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if mineshafter is present. If it is, we need to bypass it to send POST requests
|
* Check if mineshafter is present. If it is, we need to bypass it to send POST requests
|
||||||
|
@ -24,8 +24,10 @@ public class Misc {
|
|||||||
|
|
||||||
public static final int TOOL_DURABILITY_LOSS = Config.getInstance().getAbilityToolDamage();
|
public static final int TOOL_DURABILITY_LOSS = Config.getInstance().getAbilityToolDamage();
|
||||||
public static final int PLAYER_RESPAWN_COOLDOWN_SECONDS = 5;
|
public static final int PLAYER_RESPAWN_COOLDOWN_SECONDS = 5;
|
||||||
|
public static final int TIME_CONVERSION_FACTOR = 1000;
|
||||||
|
public static final double SKILL_MESSAGE_MAX_SENDING_DISTANCE = 10.0;
|
||||||
|
|
||||||
public static boolean isCitizensNPC(Player player) {
|
public static boolean isNPC(Player player) {
|
||||||
if (player == null || Users.getProfile(player) == null || player.hasMetadata("NPC")) {
|
if (player == null || Users.getProfile(player) == null || player.hasMetadata("NPC")) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -33,6 +35,14 @@ public class Misc {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void sendSkillMessage(Player player, String message) {
|
||||||
|
for (Player otherPlayer : player.getWorld().getPlayers()) {
|
||||||
|
if (otherPlayer != player && Misc.isNear(player.getLocation(), otherPlayer.getLocation(), Misc.SKILL_MESSAGE_MAX_SENDING_DISTANCE)) {
|
||||||
|
otherPlayer.sendMessage(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a capitalized version of the target string.
|
* Gets a capitalized version of the target string.
|
||||||
*
|
*
|
||||||
@ -82,10 +92,9 @@ public class Misc {
|
|||||||
if (isInt(string)) {
|
if (isInt(string)) {
|
||||||
return Integer.parseInt(string);
|
return Integer.parseInt(string);
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks to see if an entity is currently invincible.
|
* Checks to see if an entity is currently invincible.
|
||||||
@ -103,10 +112,9 @@ public class Misc {
|
|||||||
if (le.getNoDamageTicks() > le.getMaximumNoDamageTicks() / 2.0F && event.getDamage() <= le.getLastDamage()) {
|
if (le.getNoDamageTicks() > le.getMaximumNoDamageTicks() / 2.0F && event.getDamage() <= le.getLastDamage()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Simulate a block break event.
|
* Simulate a block break event.
|
||||||
@ -135,10 +143,9 @@ public class Misc {
|
|||||||
if (!damageEvent.isCancelled() && !breakEvent.isCancelled()) {
|
if (!damageEvent.isCancelled() && !breakEvent.isCancelled()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the upgrade tier of the item in hand.
|
* Get the upgrade tier of the item in hand.
|
||||||
@ -187,10 +194,9 @@ public class Misc {
|
|||||||
if (first.distanceSquared(second) < (maxDistance * maxDistance)) {
|
if (first.distanceSquared(second) < (maxDistance * maxDistance)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine if a string represents an Integer
|
* Determine if a string represents an Integer
|
||||||
@ -284,10 +290,9 @@ public class Misc {
|
|||||||
if (skillLevel > maxLevel) {
|
if (skillLevel > maxLevel) {
|
||||||
return maxLevel;
|
return maxLevel;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return skillLevel;
|
return skillLevel;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the max power level for a player.
|
* Get the max power level for a player.
|
||||||
@ -300,8 +305,11 @@ public class Misc {
|
|||||||
if (levelCap > 0) {
|
if (levelCap > 0) {
|
||||||
return levelCap;
|
return levelCap;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return Integer.MAX_VALUE;
|
return Integer.MAX_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Random getRandom() {
|
||||||
|
return random;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -154,10 +154,9 @@ public class ModChecks {
|
|||||||
if (customToolsEnabled && toolInstance.customTools.containsKey(item.getTypeId())) {
|
if (customToolsEnabled && toolInstance.customTools.containsKey(item.getTypeId())) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks to see if an item is custom armor.
|
* Checks to see if an item is custom armor.
|
||||||
@ -169,8 +168,7 @@ public class ModChecks {
|
|||||||
if (customArmorEnabled && armorInstance.customArmor.containsKey(item.getTypeId())) {
|
if (customArmorEnabled && armorInstance.customArmor.containsKey(item.getTypeId())) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@ -15,7 +15,7 @@ public class Page {
|
|||||||
String[] addressSplit = LocaleLoader.getString(address).split("\n");
|
String[] addressSplit = LocaleLoader.getString(address).split("\n");
|
||||||
if (addressSplit.length <= 8)
|
if (addressSplit.length <= 8)
|
||||||
return 1;
|
return 1;
|
||||||
else
|
|
||||||
return (addressSplit.length/8)+1;
|
return (addressSplit.length/8)+1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.gmail.nossr50.util;
|
package com.gmail.nossr50.util;
|
||||||
|
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
import org.bukkit.enchantments.Enchantment;
|
import org.bukkit.enchantments.Enchantment;
|
||||||
@ -28,11 +26,6 @@ public class Skills {
|
|||||||
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
static AdvancedConfig advancedConfig = AdvancedConfig.getInstance();
|
||||||
public static int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
public static int abilityLengthIncreaseLevel = advancedConfig.getAbilityLength();
|
||||||
|
|
||||||
private final static int TIME_CONVERSION_FACTOR = 1000;
|
|
||||||
private final static double MAX_DISTANCE_AWAY = 10.0;
|
|
||||||
|
|
||||||
private final static Random random = new Random();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks to see if the cooldown for an item or ability is expired.
|
* Checks to see if the cooldown for an item or ability is expired.
|
||||||
*
|
*
|
||||||
@ -56,13 +49,12 @@ public class Skills {
|
|||||||
adjustedCooldown = (int) (adjustedCooldown * 0.75);
|
adjustedCooldown = (int) (adjustedCooldown * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (currentTime - oldTime >= (adjustedCooldown * TIME_CONVERSION_FACTOR)) {
|
if (currentTime - oldTime >= (adjustedCooldown * Misc.TIME_CONVERSION_FACTOR)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculate the time remaining until the cooldown expires.
|
* Calculate the time remaining until the cooldown expires.
|
||||||
@ -85,7 +77,7 @@ public class Skills {
|
|||||||
adjustedCooldown = (int) (adjustedCooldown * 0.75);
|
adjustedCooldown = (int) (adjustedCooldown * 0.75);
|
||||||
}
|
}
|
||||||
|
|
||||||
return (int) (((deactivatedTimeStamp + (adjustedCooldown * TIME_CONVERSION_FACTOR)) - System.currentTimeMillis()) / TIME_CONVERSION_FACTOR);
|
return (int) (((deactivatedTimeStamp + (adjustedCooldown * Misc.TIME_CONVERSION_FACTOR)) - System.currentTimeMillis()) / Misc.TIME_CONVERSION_FACTOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -99,7 +91,7 @@ public class Skills {
|
|||||||
if (player == null || profile == null || ability == null)
|
if (player == null || profile == null || ability == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!profile.getAbilityInformed(ability) && cooldownOver(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown(), player)) {
|
if (!profile.getAbilityInformed(ability) && cooldownOver(profile.getSkillDATS(ability) * Misc.TIME_CONVERSION_FACTOR, ability.getCooldown(), player)) {
|
||||||
profile.setAbilityInformed(ability, true);
|
profile.setAbilityInformed(ability, true);
|
||||||
player.sendMessage(ability.getAbilityRefresh());
|
player.sendMessage(ability.getAbilityRefresh());
|
||||||
}
|
}
|
||||||
@ -145,8 +137,8 @@ public class Skills {
|
|||||||
*/
|
*/
|
||||||
if (ability.getPermissions(player) && tool.inHand(inHand) && !profile.getToolPreparationMode(tool)) {
|
if (ability.getPermissions(player) && tool.inHand(inHand) && !profile.getToolPreparationMode(tool)) {
|
||||||
if (skill != SkillType.WOODCUTTING && skill != SkillType.AXES) {
|
if (skill != SkillType.WOODCUTTING && skill != SkillType.AXES) {
|
||||||
if (!profile.getAbilityMode(ability) && !cooldownOver(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown(), player)) {
|
if (!profile.getAbilityMode(ability) && !cooldownOver(profile.getSkillDATS(ability) * Misc.TIME_CONVERSION_FACTOR, ability.getCooldown(), player)) {
|
||||||
player.sendMessage(LocaleLoader.getString("Skills.TooTired") + ChatColor.YELLOW + " (" + calculateTimeLeft(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown(), player) + "s)");
|
player.sendMessage(LocaleLoader.getString("Skills.TooTired") + ChatColor.YELLOW + " (" + calculateTimeLeft(profile.getSkillDATS(ability) * Misc.TIME_CONVERSION_FACTOR, ability.getCooldown(), player) + "s)");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -178,7 +170,7 @@ public class Skills {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (profile.getToolPreparationMode(tool) && curTime - (profile.getToolPreparationATS(tool) * TIME_CONVERSION_FACTOR) >= FOUR_SECONDS) {
|
if (profile.getToolPreparationMode(tool) && curTime - (profile.getToolPreparationATS(tool) * Misc.TIME_CONVERSION_FACTOR) >= FOUR_SECONDS) {
|
||||||
profile.setToolPreparationMode(tool, false);
|
profile.setToolPreparationMode(tool, false);
|
||||||
|
|
||||||
if (Config.getInstance().getAbilityMessagesEnabled()) {
|
if (Config.getInstance().getAbilityMessagesEnabled()) {
|
||||||
@ -187,16 +179,12 @@ public class Skills {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ability.getPermissions(player)) {
|
if (ability.getPermissions(player)) {
|
||||||
if (profile.getAbilityMode(ability) && (profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR) <= curTime) {
|
if (profile.getAbilityMode(ability) && (profile.getSkillDATS(ability) * Misc.TIME_CONVERSION_FACTOR) <= curTime) {
|
||||||
profile.setAbilityMode(ability, false);
|
profile.setAbilityMode(ability, false);
|
||||||
profile.setAbilityInformed(ability, false);
|
profile.setAbilityInformed(ability, false);
|
||||||
player.sendMessage(ability.getAbilityOff());
|
player.sendMessage(ability.getAbilityOff());
|
||||||
|
|
||||||
for (Player nearbyPlayer : player.getWorld().getPlayers()) {
|
Misc.sendSkillMessage(player, ability.getAbilityPlayerOff(player));
|
||||||
if (nearbyPlayer != player && Misc.isNear(player.getLocation(), nearbyPlayer.getLocation(), MAX_DISTANCE_AWAY)) {
|
|
||||||
nearbyPlayer.sendMessage(ability.getAbilityPlayerOff(player));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -331,10 +319,9 @@ public class Skills {
|
|||||||
if (getSkillType(skillName) != null) {
|
if (getSkillType(skillName) != null) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if the player has any combat skill permissions.
|
* Check if the player has any combat skill permissions.
|
||||||
@ -350,10 +337,9 @@ public class Skills {
|
|||||||
|| Permissions.unarmed(player)) {
|
|| Permissions.unarmed(player)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if the player has any gathering skill permissions.
|
* Check if the player has any gathering skill permissions.
|
||||||
@ -369,10 +355,9 @@ public class Skills {
|
|||||||
|| Permissions.woodcutting(player)) {
|
|| Permissions.woodcutting(player)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if the player has any misc skill permissions.
|
* Check if the player has any misc skill permissions.
|
||||||
@ -384,10 +369,9 @@ public class Skills {
|
|||||||
if (Permissions.acrobatics(player) || Permissions.repair(player)) {
|
if (Permissions.acrobatics(player) || Permissions.repair(player)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle tool durability loss from abilities.
|
* Handle tool durability loss from abilities.
|
||||||
@ -399,7 +383,7 @@ public class Skills {
|
|||||||
if (Config.getInstance().getAbilitiesDamageTools()) {
|
if (Config.getInstance().getAbilitiesDamageTools()) {
|
||||||
if (inHand.containsEnchantment(Enchantment.DURABILITY)) {
|
if (inHand.containsEnchantment(Enchantment.DURABILITY)) {
|
||||||
int level = inHand.getEnchantmentLevel(Enchantment.DURABILITY);
|
int level = inHand.getEnchantmentLevel(Enchantment.DURABILITY);
|
||||||
if (random.nextInt(level + 1) > 0) {
|
if (Misc.getRandom().nextInt(level + 1) > 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -432,8 +416,8 @@ public class Skills {
|
|||||||
* We show them the too tired message when they take action.
|
* We show them the too tired message when they take action.
|
||||||
*/
|
*/
|
||||||
if (type == SkillType.WOODCUTTING || type == SkillType.AXES) {
|
if (type == SkillType.WOODCUTTING || type == SkillType.AXES) {
|
||||||
if (!profile.getAbilityMode(ability) && !cooldownOver(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown(), player)) {
|
if (!profile.getAbilityMode(ability) && !cooldownOver(profile.getSkillDATS(ability) * Misc.TIME_CONVERSION_FACTOR, ability.getCooldown(), player)) {
|
||||||
player.sendMessage(LocaleLoader.getString("Skills.TooTired") + ChatColor.YELLOW + " (" + calculateTimeLeft(profile.getSkillDATS(ability) * TIME_CONVERSION_FACTOR, ability.getCooldown(), player) + "s)");
|
player.sendMessage(LocaleLoader.getString("Skills.TooTired") + ChatColor.YELLOW + " (" + calculateTimeLeft(profile.getSkillDATS(ability) * Misc.TIME_CONVERSION_FACTOR, ability.getCooldown(), player) + "s)");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -459,13 +443,9 @@ public class Skills {
|
|||||||
if (!profile.getAbilityMode(ability) && cooldownOver(profile.getSkillDATS(ability), ability.getCooldown(), player)) {
|
if (!profile.getAbilityMode(ability) && cooldownOver(profile.getSkillDATS(ability), ability.getCooldown(), player)) {
|
||||||
player.sendMessage(ability.getAbilityOn());
|
player.sendMessage(ability.getAbilityOn());
|
||||||
|
|
||||||
for (Player y : player.getWorld().getPlayers()) {
|
Misc.sendSkillMessage(player, ability.getAbilityPlayer(player));
|
||||||
if (y != player && Misc.isNear(player.getLocation(), y.getLocation(), MAX_DISTANCE_AWAY)) {
|
|
||||||
y.sendMessage(ability.getAbilityPlayer(player));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
profile.setSkillDATS(ability, System.currentTimeMillis() + (ticks * TIME_CONVERSION_FACTOR));
|
profile.setSkillDATS(ability, System.currentTimeMillis() + (ticks * Misc.TIME_CONVERSION_FACTOR));
|
||||||
profile.setAbilityMode(ability, true);
|
profile.setAbilityMode(ability, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,8 +8,8 @@ public class ChunkletManagerFactory {
|
|||||||
|
|
||||||
if (hConfig.getChunkletsEnabled()) {
|
if (hConfig.getChunkletsEnabled()) {
|
||||||
return new HashChunkletManager();
|
return new HashChunkletManager();
|
||||||
} else {
|
}
|
||||||
|
|
||||||
return new NullChunkletManager();
|
return new NullChunkletManager();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
@ -65,14 +65,14 @@ public class HashChunkletManager implements ChunkletManager {
|
|||||||
File yFile = new File(czDir, "" + y);
|
File yFile = new File(czDir, "" + y);
|
||||||
if (!yFile.exists()) {
|
if (!yFile.exists()) {
|
||||||
continue;
|
continue;
|
||||||
} else {
|
}
|
||||||
|
|
||||||
ChunkletStore in = deserializeChunkletStore(yFile);
|
ChunkletStore in = deserializeChunkletStore(yFile);
|
||||||
if (in != null) {
|
if (in != null) {
|
||||||
store.put(world.getName() + "," + cx + "," + cz + "," + y, in);
|
store.put(world.getName() + "," + cx + "," + cz + "," + y, in);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void unloadChunk(int cx, int cz, World world) {
|
public void unloadChunk(int cx, int cz, World world) {
|
||||||
|
@ -8,8 +8,8 @@ public class ChunkManagerFactory {
|
|||||||
|
|
||||||
if (hConfig.getChunkletsEnabled()) {
|
if (hConfig.getChunkletsEnabled()) {
|
||||||
return new HashChunkManager();
|
return new HashChunkManager();
|
||||||
} else {
|
}
|
||||||
|
|
||||||
return new NullChunkManager();
|
return new NullChunkManager();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
@ -38,12 +38,11 @@ public class HashChunkManager implements ChunkManager {
|
|||||||
public synchronized void closeAll() {
|
public synchronized void closeAll() {
|
||||||
for (UUID uid : regionFiles.keySet()) {
|
for (UUID uid : regionFiles.keySet()) {
|
||||||
HashMap<Long, mcMMOSimpleRegionFile> worldRegions = regionFiles.get(uid);
|
HashMap<Long, mcMMOSimpleRegionFile> worldRegions = regionFiles.get(uid);
|
||||||
Iterator<mcMMOSimpleRegionFile> itr = worldRegions.values().iterator();
|
for (Iterator<mcMMOSimpleRegionFile> worldRegionIterator = worldRegions.values().iterator(); worldRegionIterator.hasNext();) {
|
||||||
while (itr.hasNext()) {
|
mcMMOSimpleRegionFile rf = worldRegionIterator.next();
|
||||||
mcMMOSimpleRegionFile rf = itr.next();
|
|
||||||
if (rf != null) {
|
if (rf != null) {
|
||||||
rf.close();
|
rf.close();
|
||||||
itr.remove();
|
worldRegionIterator.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -62,9 +61,9 @@ public class HashChunkManager implements ChunkManager {
|
|||||||
Object o = objectStream.readObject();
|
Object o = objectStream.readObject();
|
||||||
if (o instanceof ChunkStore) {
|
if (o instanceof ChunkStore) {
|
||||||
return (ChunkStore) o;
|
return (ChunkStore) o;
|
||||||
} else {
|
|
||||||
throw new RuntimeException("Wrong class type read for chunk meta data for " + x + ", " + z);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
throw new RuntimeException("Wrong class type read for chunk meta data for " + x + ", " + z);
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
// Assume the format changed
|
// Assume the format changed
|
||||||
return null;
|
return null;
|
||||||
|
@ -84,10 +84,9 @@ public class ZipLibrary {
|
|||||||
if (path == null || path.isEmpty()) {
|
if (path == null || path.isEmpty()) {
|
||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
return path + File.separator + file;
|
return path + File.separator + file;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
private static void zipDir(ZipOutputStream zos, String path, File dir) throws IOException {
|
private static void zipDir(ZipOutputStream zos, String path, File dir) throws IOException {
|
||||||
if (!dir.canRead()) {
|
if (!dir.canRead()) {
|
||||||
|
@ -216,9 +216,9 @@ public class mcMMOSimpleRegionFile {
|
|||||||
if (old != null && old == used) {
|
if (old != null && old == used) {
|
||||||
if (old) {
|
if (old) {
|
||||||
throw new IllegalStateException("Attempting to overwrite an in-use segment");
|
throw new IllegalStateException("Attempting to overwrite an in-use segment");
|
||||||
} else {
|
|
||||||
throw new IllegalStateException("Attempting to delete empty segment");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
throw new IllegalStateException("Attempting to delete empty segment");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -271,9 +271,9 @@ public class mcMMOSimpleRegionFile {
|
|||||||
private synchronized int sizeToSegments(int size) {
|
private synchronized int sizeToSegments(int size) {
|
||||||
if (size <= 0) {
|
if (size <= 0) {
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
|
||||||
return ((size - 1) >> segmentSize) + 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return ((size - 1) >> segmentSize) + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
private synchronized Integer getChunkIndex(int x, int z) {
|
private synchronized Integer getChunkIndex(int x, int z) {
|
||||||
|
@ -126,7 +126,7 @@ Skills:
|
|||||||
DoubleDrops_ChanceMax: 100
|
DoubleDrops_ChanceMax: 100
|
||||||
DoubleDrops_MaxBonusLevel: 1000
|
DoubleDrops_MaxBonusLevel: 1000
|
||||||
|
|
||||||
# BlastMining rank unlocks
|
# BlastMining_Rank: BlastMining rank unlocks
|
||||||
BlastMining_Rank1: 125
|
BlastMining_Rank1: 125
|
||||||
BlastMining_Rank2: 250
|
BlastMining_Rank2: 250
|
||||||
BlastMining_Rank3: 375
|
BlastMining_Rank3: 375
|
||||||
@ -135,49 +135,117 @@ Skills:
|
|||||||
BlastMining_Rank6: 750
|
BlastMining_Rank6: 750
|
||||||
BlastMining_Rank7: 875
|
BlastMining_Rank7: 875
|
||||||
BlastMining_Rank8: 1000
|
BlastMining_Rank8: 1000
|
||||||
|
#
|
||||||
|
# Settings for Repair
|
||||||
|
###
|
||||||
Repair:
|
Repair:
|
||||||
RepairMastery_ChanceMax: 200
|
# RepairMastery_ChanceMax: Maximum bonus percentage for Repair Mastery
|
||||||
|
# RepairMastery_MaxBonusLevel: On this level, the maximum bonus is reached
|
||||||
|
RepairMastery_MaxBonusPercentage: 200
|
||||||
RepairMastery_MaxBonusLevel: 1000
|
RepairMastery_MaxBonusLevel: 1000
|
||||||
|
|
||||||
|
# SuperRepair_ChanceMax: Maximum chance of Super Repair
|
||||||
|
# SuperRepair_MaxBonusLevel: On this level, Super Repair chance will be SuperRepair_ChanceMax
|
||||||
SuperRepair_ChanceMax: 100
|
SuperRepair_ChanceMax: 100
|
||||||
SuperRepair_MaxBonusLevel: 1000
|
SuperRepair_MaxBonusLevel: 1000
|
||||||
|
#
|
||||||
|
# Settings for Swords
|
||||||
|
###
|
||||||
Swords:
|
Swords:
|
||||||
|
# Bleed_ChanceMax: Maximum chance of triggering bleeding
|
||||||
|
# Bleed_MaxBonusLevel: On this level, the chance to cause Bleeding will be Bleed_ChanceMax
|
||||||
Bleed_ChanceMax: 75
|
Bleed_ChanceMax: 75
|
||||||
Bleed_MaxBonusLevel: 750
|
Bleed_MaxBonusLevel: 750
|
||||||
|
# These settings determine how long the Bleeding effect lasts
|
||||||
Bleed_MaxTicks: 3
|
Bleed_MaxTicks: 3
|
||||||
Bleed_BaseTicks: 2
|
Bleed_BaseTicks: 2
|
||||||
|
|
||||||
|
# Counter_ChanceMax: Maximum chance of triggering a counter attack
|
||||||
|
# Counter_MaxBonusLevel: On this level, the chance to Counter will be Counter_ChanceMax
|
||||||
Counter_ChanceMax: 30
|
Counter_ChanceMax: 30
|
||||||
Counter_MaxBonusLevel: 600
|
Counter_MaxBonusLevel: 600
|
||||||
|
|
||||||
|
# Counter_DamageModifier: Damaged caused by the damager will get divided by this modifier and dealt back to the damager
|
||||||
Counter_DamageModifier: 2
|
Counter_DamageModifier: 2
|
||||||
|
|
||||||
|
# SerratedStrikes_DamageModifier: Damage will get divided by this modifier
|
||||||
|
# SerratedStrikes_BleedTicks: This determines how long the bleeding effect of SerratedStrikes lasts
|
||||||
SerratedStrikes_DamageModifier: 4
|
SerratedStrikes_DamageModifier: 4
|
||||||
SerratedStrikes_BleedTicks: 5
|
SerratedStrikes_BleedTicks: 5
|
||||||
|
#
|
||||||
|
# Settings for Taming
|
||||||
|
###
|
||||||
Taming:
|
Taming:
|
||||||
|
# Gore_ChanceMax: Maximum chance of triggering gore
|
||||||
|
# Gore_MaxBonusLevel: On this level, the chance to cause Gore will be Gore_ChanceMax
|
||||||
Gore_ChanceMax: 100
|
Gore_ChanceMax: 100
|
||||||
Gore_MaxBonusLevel: 1000
|
Gore_MaxBonusLevel: 1000
|
||||||
|
|
||||||
|
# Gore_BleedTicks: Determines the length of the bleeding effect
|
||||||
|
# Gore_Modifier: Damage will get multiplied by this modifier
|
||||||
Gore_BleedTicks: 2
|
Gore_BleedTicks: 2
|
||||||
Gore_Modifier: 2
|
Gore_Modifier: 2
|
||||||
|
|
||||||
|
# FastFood_UnlockLevel: Level when FastFood unlocks
|
||||||
|
# FastFood_Chance: The chance for wolves to heal hp when inflicting damage
|
||||||
FastFood_UnlockLevel: 50
|
FastFood_UnlockLevel: 50
|
||||||
FastFood_Chance: 50
|
FastFood_Chance: 50
|
||||||
|
|
||||||
|
# EnvironmentallyAware_UnlockLevel: Level when EnvironmentallyAware unlocks
|
||||||
EnvironmentallyAware_UnlockLevel: 100
|
EnvironmentallyAware_UnlockLevel: 100
|
||||||
|
|
||||||
|
# ThickFur_UnlockLevel: Level when ThickFur unlocks
|
||||||
|
# ThickFur_Modifier: Damage will get divided by this modifier
|
||||||
ThickFur_UnlockLevel: 250
|
ThickFur_UnlockLevel: 250
|
||||||
ThickFur_Modifier: 2
|
ThickFur_Modifier: 2
|
||||||
|
|
||||||
|
# ShockProof_UnlockLevel: Level when ShockProof unlocks
|
||||||
|
# ShockProof_Modifier: Damage will get divided by this modifier
|
||||||
ShockProof_UnlockLevel: 500
|
ShockProof_UnlockLevel: 500
|
||||||
ShockProof_Modifier: 6
|
ShockProof_Modifier: 6
|
||||||
|
|
||||||
|
# SharpenedClaws_UnlockLevel: Level when SharpenedClaws unlocks
|
||||||
|
# SharpenedClaws_Bonus: This bonus will get added to the damage caused
|
||||||
SharpenedClaws_UnlockLevel: 750
|
SharpenedClaws_UnlockLevel: 750
|
||||||
SharpenedClaws_Bonus: 2
|
SharpenedClaws_Bonus: 2
|
||||||
|
#
|
||||||
|
# Settings for Unarmed
|
||||||
|
###
|
||||||
Unarmed:
|
Unarmed:
|
||||||
|
# Disarm_ChanceMax: Maximum chance of disarming other players
|
||||||
|
# Disarm_MaxBonusLevel: Level when the maximum chance to disarm is reached
|
||||||
Disarm_ChanceMax: 33
|
Disarm_ChanceMax: 33
|
||||||
Disarm_MaxBonusLevel: 1000
|
Disarm_MaxBonusLevel: 1000
|
||||||
|
|
||||||
|
# Deflect_ChanceMax: Maximum chance of deflecting arrows
|
||||||
|
# Deflect_MaxBonusLevel: Level when the maximum chance to deflect is reached
|
||||||
Deflect_ChanceMax: 50
|
Deflect_ChanceMax: 50
|
||||||
Deflect_MaxBonusLevel: 1000
|
Deflect_MaxBonusLevel: 1000
|
||||||
|
|
||||||
|
# IronGrip_ChanceMax: Maximum chance of preventing being disarmed
|
||||||
|
# IronGrip_MaxBonusLevel: Level when the maximum chance to prevent being disarmed is reached
|
||||||
IronGrip_ChanceMax: 100
|
IronGrip_ChanceMax: 100
|
||||||
IronGrip_MaxBonusLevel: 1000
|
IronGrip_MaxBonusLevel: 1000
|
||||||
IronArmBonus: 8
|
|
||||||
|
# IronArmBonusMax: Maximum bonus damage for unarmed
|
||||||
|
# IronArm_IncreaseLevel: Bonus damage increases every increase level
|
||||||
|
IronArmBonusMax: 8
|
||||||
IronArm_IncreaseLevel: 50
|
IronArm_IncreaseLevel: 50
|
||||||
|
#
|
||||||
|
# Settings for Woodcutting
|
||||||
|
###
|
||||||
Woodcutting:
|
Woodcutting:
|
||||||
|
# LeafBlower_UnlockLevel: At this level, the passive ability LeafBlower unlocks
|
||||||
LeafBlower_UnlockLevel: 100
|
LeafBlower_UnlockLevel: 100
|
||||||
|
|
||||||
|
# DoubleDrops_ChanceMax: Maximum chance of receiving double drops
|
||||||
|
# DoubleDrops_MaxBonusLevel: Level when the maximum chance of receiving double drops is reached
|
||||||
DoubleDrops_ChanceMax: 100
|
DoubleDrops_ChanceMax: 100
|
||||||
DoubleDrops_MaxBonusLevel: 1000
|
DoubleDrops_MaxBonusLevel: 1000
|
||||||
Spout:
|
Spout:
|
||||||
|
#
|
||||||
|
# Settings for the Spout notifications, when a player reaches a higher tier, the image of the notification will change.
|
||||||
|
###
|
||||||
Notifications:
|
Notifications:
|
||||||
Tier1: 200
|
Tier1: 200
|
||||||
Tier2: 400
|
Tier2: 400
|
||||||
|
@ -86,7 +86,7 @@ Fishing.Effect.4=Shake (vs. Entities)
|
|||||||
Fishing.Effect.5=Vyklepni p\u0159edm\u011bty z p\u0159\u00ed\u0161er s prutem
|
Fishing.Effect.5=Vyklepni p\u0159edm\u011bty z p\u0159\u00ed\u0161er s prutem
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.6=Fisherman\'s Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]\u0160ance na magick\u00e9ho lovce: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]Nasel si poklad!
|
Fishing.ItemFound=[[GRAY]]Nasel si poklad!
|
||||||
Fishing.Listener=Rybareni:
|
Fishing.Listener=Rybareni:
|
||||||
Fishing.MagicFound=[[GRAY]]C\u00edt\u00edte dotek magie s t\u00edmto \u00falovkem...
|
Fishing.MagicFound=[[GRAY]]C\u00edt\u00edte dotek magie s t\u00edmto \u00falovkem...
|
||||||
@ -417,7 +417,7 @@ Commands.XPGain.Repair=Opravovani
|
|||||||
Commands.XPGain.Swords=Zabijenim monster.
|
Commands.XPGain.Swords=Zabijenim monster.
|
||||||
Commands.XPGain.Taming=Ochoceni zvirat nebo boj s vlky
|
Commands.XPGain.Taming=Ochoceni zvirat nebo boj s vlky
|
||||||
Commands.XPGain.Unarmed=Zabijenim monster.
|
Commands.XPGain.Unarmed=Zabijenim monster.
|
||||||
Commands.XPGain.WoodCutting=Kaceni stromu
|
Commands.XPGain.Woodcutting=Chopping down trees
|
||||||
Commands.XPGain=[[DARK_GRAY]]Zisk dovednosti: [[WHITE]]{0}
|
Commands.XPGain=[[DARK_GRAY]]Zisk dovednosti: [[WHITE]]{0}
|
||||||
Commands.xplock.locked=[[GOLD]]Tvuj XP bar byl uzamcen na {0}!
|
Commands.xplock.locked=[[GOLD]]Tvuj XP bar byl uzamcen na {0}!
|
||||||
Commands.xplock.unlocked=[[GOLD]]Tvuj XP bar je nyni [[GREEN]]ODEMCEN[[GOLD]]!
|
Commands.xplock.unlocked=[[GOLD]]Tvuj XP bar je nyni [[GREEN]]ODEMCEN[[GOLD]]!
|
||||||
@ -464,6 +464,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
Acrobatics.Ability.Proc=[[GREEN]]**Graceful Landing**
|
Acrobatics.Ability.Proc=[[GREEN]]**Graceful Landing**
|
||||||
Acrobatics.Combat.Proc=[[GWYRDD]] **osgoi\'r**
|
Acrobatics.Combat.Proc=[[GREEN]] **osgoi\'r**
|
||||||
Acrobatics.DodgeChance=[[RED]]Dodge Chance: [[YELLOW]]{0}%
|
Acrobatics.DodgeChance=[[RED]]Dodge Chance: [[YELLOW]]{0}%
|
||||||
Acrobatics.Effect.0=Roll
|
Acrobatics.Effect.0=Roll
|
||||||
Acrobatics.Effect.1=Reduces or Negates fall damage
|
Acrobatics.Effect.1=Reduces or Negates fall damage
|
||||||
@ -12,7 +12,7 @@ Acrobatics.Roll.Chance=[[RED]]Roll Chance: [[YELLOW]]{0}%
|
|||||||
Acrobatics.Roll.GraceChance=[[RED]]Graceful Roll Chance: [[YELLOW]]{0}%
|
Acrobatics.Roll.GraceChance=[[RED]]Graceful Roll Chance: [[YELLOW]]{0}%
|
||||||
Acrobatics.Roll.Text=**Rolled**
|
Acrobatics.Roll.Text=**Rolled**
|
||||||
Acrobatics.SkillName=ACROBATEG
|
Acrobatics.SkillName=ACROBATEG
|
||||||
Acrobatics.Skillup=[[MELYN]] Acrobateg sgil cynyddu {0}. Cyfanswm ({1})
|
Acrobatics.Skillup=[[YELLOW]] Acrobateg sgil cynyddu {0}. Cyfanswm ({1})
|
||||||
Archery.Combat.DazeChance=[[RED]]Chance to Daze: [[YELLOW]]{0}%
|
Archery.Combat.DazeChance=[[RED]]Chance to Daze: [[YELLOW]]{0}%
|
||||||
Archery.Combat.RetrieveChance=[[RED]]Chance to Retrieve Arrows: [[YELLOW]]{0}%
|
Archery.Combat.RetrieveChance=[[RED]]Chance to Retrieve Arrows: [[YELLOW]]{0}%
|
||||||
Archery.Combat.SkillshotBonus=[[RED]]Skill Shot Bonus Damage: [[YELLOW]]{0}
|
Archery.Combat.SkillshotBonus=[[RED]]Skill Shot Bonus Damage: [[YELLOW]]{0}
|
||||||
@ -24,7 +24,7 @@ Archery.Effect.4=Arrow Retrieval
|
|||||||
Archery.Effect.5=Chance to retrieve arrows from corpses
|
Archery.Effect.5=Chance to retrieve arrows from corpses
|
||||||
Archery.Listener=Archery:
|
Archery.Listener=Archery:
|
||||||
Archery.SkillName=ARCHERY
|
Archery.SkillName=ARCHERY
|
||||||
Archery.Skillup=[[MELYN]] sgiliau Saethyddiaeth cynyddu {0}. Cyfanswm ({1})
|
Archery.Skillup=[[YELLOW]] sgiliau Saethyddiaeth cynyddu {0}. Cyfanswm ({1})
|
||||||
Axes.Ability.Bonus.0=Axe Mastery
|
Axes.Ability.Bonus.0=Axe Mastery
|
||||||
Axes.Ability.Bonus.1=Bonus {0} damage
|
Axes.Ability.Bonus.1=Bonus {0} damage
|
||||||
Axes.Ability.Bonus.2=Impact
|
Axes.Ability.Bonus.2=Impact
|
||||||
@ -38,7 +38,7 @@ Axes.Combat.CritStruck=[[DARK_RED]]You were CRITICALLY hit!
|
|||||||
Axes.Combat.CritChance=[[RED]]Chance to critically strike: [[YELLOW]]{0}%
|
Axes.Combat.CritChance=[[RED]]Chance to critically strike: [[YELLOW]]{0}%
|
||||||
Axes.Combat.CriticalHit=[[RED]]CRITICAL HIT!
|
Axes.Combat.CriticalHit=[[RED]]CRITICAL HIT!
|
||||||
Axes.Combat.GI.Proc=[[GREEN]]**STRUCK WITH GREAT FORCE**
|
Axes.Combat.GI.Proc=[[GREEN]]**STRUCK WITH GREAT FORCE**
|
||||||
Axes.Combat.GI.Struck=[[COCH]] ** ** BRIFO GAN EFFAITH FWYAF
|
Axes.Combat.GI.Struck=[[RED]] ** ** BRIFO GAN EFFAITH FWYAF
|
||||||
Axes.Combat.SS.Length=[[RED]]Skull Splitter Length: [[YELLOW]]{0}s
|
Axes.Combat.SS.Length=[[RED]]Skull Splitter Length: [[YELLOW]]{0}s
|
||||||
Axes.Effect.0=Skull Splitter (Ability)
|
Axes.Effect.0=Skull Splitter (Ability)
|
||||||
Axes.Effect.1=Deal AoE Damage
|
Axes.Effect.1=Deal AoE Damage
|
||||||
@ -54,10 +54,10 @@ Axes.Listener=Axes:
|
|||||||
Axes.SkillName=AXES
|
Axes.SkillName=AXES
|
||||||
Axes.Skills.SS.Off=[[RED]]**Skull Splitter has worn off**
|
Axes.Skills.SS.Off=[[RED]]**Skull Splitter has worn off**
|
||||||
Axes.Skills.SS.On=actifadu Penglog Llorweddol
|
Axes.Skills.SS.On=actifadu Penglog Llorweddol
|
||||||
Axes.Skills.SS.Refresh=[[GWYRDD]] Eich [[MELYN]] Penglog Llorweddol [[GWYRDD]] gallu ei hadnewyddu!
|
Axes.Skills.SS.Refresh=[[GREEN]] Eich [[YELLOW]] Penglog Llorweddol [[GREEN]] gallu ei hadnewyddu!
|
||||||
Axes.Skills.SS.Other.Off=[[RED]]Skull Splitter[[GREEN]] has worn off for [[YELLOW]]{0}
|
Axes.Skills.SS.Other.Off=[[RED]]Skull Splitter[[GREEN]] has worn off for [[YELLOW]]{0}
|
||||||
Axes.Skills.SS.Other.On=[[GWYRDD]] {0} [[TYWYLL_GWYRDD]] wedi defnyddio [[COCH]] Llorweddol Benglog!
|
Axes.Skills.SS.Other.On=[[GREEN]] {0} [[DARK_GREEN]] wedi defnyddio [[RED]] Llorweddol Benglog!
|
||||||
Axes.Skillup=[[MELYN]] sgiliau Echelau cynyddu {0}. Cyfanswm ({1})
|
Axes.Skillup=[[YELLOW]] sgiliau Echelau cynyddu {0}. Cyfanswm ({1})
|
||||||
Excavation.Ability.Lower=[[GRAY]]**YOU LOWER YOUR SHOVEL**
|
Excavation.Ability.Lower=[[GRAY]]**YOU LOWER YOUR SHOVEL**
|
||||||
Excavation.Ability.Ready=[[GREEN]]**YOU READY YOUR SHOVEL**
|
Excavation.Ability.Ready=[[GREEN]]**YOU READY YOUR SHOVEL**
|
||||||
Excavation.Effect.0=Giga Drill Breaker (ABILITY)
|
Excavation.Effect.0=Giga Drill Breaker (ABILITY)
|
||||||
@ -115,16 +115,16 @@ Herbalism.Listener=Meddygaeth lysieuol:
|
|||||||
Herbalism.SkillName=HERBALISM
|
Herbalism.SkillName=HERBALISM
|
||||||
Herbalism.Skills.GTe.Off=[[RED]]**Green Terra has worn off**
|
Herbalism.Skills.GTe.Off=[[RED]]**Green Terra has worn off**
|
||||||
Herbalism.Skills.GTe.On=[[GREEN]]**GREEN TERRA ACTIVATED**
|
Herbalism.Skills.GTe.On=[[GREEN]]**GREEN TERRA ACTIVATED**
|
||||||
Herbalism.Skills.GTe.Refresh=[[GWYRDD]] Eich [[MELYN]] Gwyrdd Terra [[GWYRDD]] gallu ei hadnewyddu!
|
Herbalism.Skills.GTe.Refresh=[[GREEN]] Eich [[YELLOW]] Green Terra [[GREEN]] gallu ei hadnewyddu!
|
||||||
Herbalism.Skills.GTe.Other.Off=[[COCH]] gwyrdd terra [[GWYRDD]] wedi gwisgo i ffwrdd ar gyfer [[MELYN]] {0}
|
Herbalism.Skills.GTe.Other.Off=[[RED]] Green terra [[GREEN]] wedi gwisgo i ffwrdd ar gyfer [[YELLOW]] {0}
|
||||||
Herbalism.Skills.GTe.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Green Terra!
|
Herbalism.Skills.GTe.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Green Terra!
|
||||||
Herbalism.Skillup=[[YELLOW]]Herbalism skill increased by {0}. Total ({1})
|
Herbalism.Skillup=[[YELLOW]]Herbalism skill increased by {0}. Total ({1})
|
||||||
Mining.Ability.Length=[[COCH]] Hyd Torri\'r Super: [[MELYN]] {0} s
|
Mining.Ability.Length=[[RED]] Hyd Torri\'r Super: [[YELLOW]] {0} s
|
||||||
Mining.Ability.Locked.0=LOCKED UNTIL {0}+ SKILL (BLAST MINING)
|
Mining.Ability.Locked.0=LOCKED UNTIL {0}+ SKILL (BLAST MINING)
|
||||||
Mining.Ability.Locked.1=LOCKED UNTIL {0}+ SKILL (BIGGER BOMBS)
|
Mining.Ability.Locked.1=LOCKED UNTIL {0}+ SKILL (BIGGER BOMBS)
|
||||||
Mining.Ability.Locked.2=LOCKED UNTIL {0}+ SKILL (DEMOLITIONS EXPERTISE)
|
Mining.Ability.Locked.2=LOCKED UNTIL {0}+ SKILL (DEMOLITIONS EXPERTISE)
|
||||||
Mining.Ability.Lower=[[GRAY]]**YOU LOWER YOUR PICKAXE**
|
Mining.Ability.Lower=[[GRAY]]**YOU LOWER YOUR PICKAXE**
|
||||||
Mining.Ability.Ready=[[GWYRDD]] ** CHI\'N BAROD EICH PICKAXE **
|
Mining.Ability.Ready=[[GREEN]] ** CHI\'N BAROD EICH PICKAXE **
|
||||||
Mining.Effect.0=Super Breaker (ABILITY)
|
Mining.Effect.0=Super Breaker (ABILITY)
|
||||||
Mining.Effect.1=Speed+, Triple Drop Chance
|
Mining.Effect.1=Speed+, Triple Drop Chance
|
||||||
Mining.Effect.2=Double Drops
|
Mining.Effect.2=Double Drops
|
||||||
@ -143,8 +143,8 @@ Mining.Skills.SuperBreaker.Off=[[RED]]**Super Breaker has worn off**
|
|||||||
Mining.Skills.SuperBreaker.On=[[GREEN]]**SUPER BREAKER ACTIVATED**
|
Mining.Skills.SuperBreaker.On=[[GREEN]]**SUPER BREAKER ACTIVATED**
|
||||||
Mining.Skills.SuperBreaker.Other.Off=[[RED]]Super Breaker[[GREEN]] has worn off for [[YELLOW]]{0}
|
Mining.Skills.SuperBreaker.Other.Off=[[RED]]Super Breaker[[GREEN]] has worn off for [[YELLOW]]{0}
|
||||||
Mining.Skills.SuperBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Super Breaker!
|
Mining.Skills.SuperBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Super Breaker!
|
||||||
Mining.Skills.SuperBreaker.Refresh=[[GWYRDD]] Eich [[MELYN]] Super Torri\'r [[GWYRDD]] gallu ei hadnewyddu!
|
Mining.Skills.SuperBreaker.Refresh=[[GREEN]] Eich [[YELLOW]] Super Torri\'r [[GREEN]] gallu ei hadnewyddu!
|
||||||
Mining.Skillup=[[MELYN]] sgiliau Mwyngloddio cynyddu {0}. Cyfanswm ({1})
|
Mining.Skillup=[[YELLOW]] sgiliau Mwyngloddio cynyddu {0}. Cyfanswm ({1})
|
||||||
Mining.Blast.Boom=[[GRAY]]**BOOM**
|
Mining.Blast.Boom=[[GRAY]]**BOOM**
|
||||||
Mining.Blast.Effect.0=+35% ore yield
|
Mining.Blast.Effect.0=+35% ore yield
|
||||||
Mining.Blast.Effect.1=+40% ore yield
|
Mining.Blast.Effect.1=+40% ore yield
|
||||||
@ -154,10 +154,10 @@ Mining.Blast.Effect.4=+55% ore yield, no debris, double drops
|
|||||||
Mining.Blast.Effect.5=+60% ore yield, no debris, double drops
|
Mining.Blast.Effect.5=+60% ore yield, no debris, double drops
|
||||||
Mining.Blast.Effect.6=+65% ore yield, no debris, triple drops
|
Mining.Blast.Effect.6=+65% ore yield, no debris, triple drops
|
||||||
Mining.Blast.Effect.7=+70% ore yield, no debris, triple drops
|
Mining.Blast.Effect.7=+70% ore yield, no debris, triple drops
|
||||||
Mining.Blast.Radius.Increase=[[COCH]] Chwyth Cynnydd Radiws [[MELYN]] {0}
|
Mining.Blast.Radius.Increase=[[RED]] Chwyth Cynnydd Radiws [[YELLOW]] {0}
|
||||||
Mining.Blast.Rank=[[RED]]Blast Mining: [[YELLOW]] Rank {0}/8 [[GRAY]]({1})
|
Mining.Blast.Rank=[[RED]]Blast Mining: [[YELLOW]] Rank {0}/8 [[GRAY]]({1})
|
||||||
Mining.Blast.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Blast Mining!
|
Mining.Blast.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Blast Mining!
|
||||||
Mining.Blast.Refresh=[[GWYRDD]] Eich [[MELYN]] Mwyngloddio Chwyth [[GWYRDD]] gallu ei hadnewyddu!
|
Mining.Blast.Refresh=[[GREEN]] Eich [[YELLOW]] Mwyngloddio Chwyth [[GREEN]] gallu ei hadnewyddu!
|
||||||
Repair.Effect.0=Repair
|
Repair.Effect.0=Repair
|
||||||
Repair.Effect.1=Repair Tools & Armor
|
Repair.Effect.1=Repair Tools & Armor
|
||||||
Repair.Effect.10=Gold Repair ({0}+ SKILL)
|
Repair.Effect.10=Gold Repair ({0}+ SKILL)
|
||||||
@ -181,10 +181,10 @@ Repair.Listener.Anvil2=[[DARK_RED]]You have placed a Salvage anvil, use this to
|
|||||||
Repair.Listener=Atgyweirio:
|
Repair.Listener=Atgyweirio:
|
||||||
Repair.SkillName=ATGYWEIRIO:
|
Repair.SkillName=ATGYWEIRIO:
|
||||||
Repair.Skills.AdeptSalvage=[[DARK_RED]]You\'re not skilled enough to Salvage items.
|
Repair.Skills.AdeptSalvage=[[DARK_RED]]You\'re not skilled enough to Salvage items.
|
||||||
Repair.Skills.AdeptDiamond=[[TYWYLL_COCH]] Dydych chi ddim yn ddigon medrus i drwsio Diemwnt.
|
Repair.Skills.AdeptDiamond=[[DARK_RED]] Dydych chi ddim yn ddigon medrus i drwsio Diemwnt.
|
||||||
Repair.Skills.AdeptGold=[[TYWYLL COCH]] Dydych chi ddim yn ddigon medrus i drwsio Aur.
|
Repair.Skills.AdeptGold=[[DARK RED]] Dydych chi ddim yn ddigon medrus i drwsio Aur.
|
||||||
Repair.Skills.AdeptIron=[[DARK_RED]]You\'re not skilled enough to repair Iron.
|
Repair.Skills.AdeptIron=[[DARK_RED]]You\'re not skilled enough to repair Iron.
|
||||||
Repair.Skills.AdeptStone=[[TYWYLL_COCH]] Dydych chi ddim yn ddigon medrus i drwsio cerrig.
|
Repair.Skills.AdeptStone=[[DARK_RED]] Dydych chi ddim yn ddigon medrus i drwsio cerrig.
|
||||||
Repair.Skills.Adept=[[RED]]You must be level [[YELLOW]]{0}[[RED]] to repair [[YELLOW]]{1}
|
Repair.Skills.Adept=[[RED]]You must be level [[YELLOW]]{0}[[RED]] to repair [[YELLOW]]{1}
|
||||||
Repair.Skills.FeltEasy=[[GRAY]]That felt easy.
|
Repair.Skills.FeltEasy=[[GRAY]]That felt easy.
|
||||||
Repair.Skills.FullDurability=[[GRAY]]That is at full durability.
|
Repair.Skills.FullDurability=[[GRAY]]That is at full durability.
|
||||||
@ -193,26 +193,26 @@ Repair.Skills.NotFullDurability=[[DARK_RED]]You can\'t salvage damaged items.
|
|||||||
Repair.Skills.Mastery=[[RED]]Repair Mastery: [[YELLOW]]Extra {0}% durability restored
|
Repair.Skills.Mastery=[[RED]]Repair Mastery: [[YELLOW]]Extra {0}% durability restored
|
||||||
Repair.Skills.StackedItems=[[DARK_RED]]You can\'t repair stacked items.
|
Repair.Skills.StackedItems=[[DARK_RED]]You can\'t repair stacked items.
|
||||||
Repair.Skills.Super.Chance=[[RED]]Super Repair Chance: [[YELLOW]]{0}%
|
Repair.Skills.Super.Chance=[[RED]]Super Repair Chance: [[YELLOW]]{0}%
|
||||||
Repair.Skillup=[[MELYN]] sgiliau Atgyweirio cynyddu {0}. Cyfanswm ({1})
|
Repair.Skillup=[[YELLOW]] sgiliau Atgyweirio cynyddu {0}. Cyfanswm ({1})
|
||||||
Repair.Arcane.Chance.Downgrade=[[GRAY]]AF Downgrade Chance: [[YELLOW]]{0}%
|
Repair.Arcane.Chance.Downgrade=[[GRAY]]AF Downgrade Chance: [[YELLOW]]{0}%
|
||||||
Repair.Arcane.Chance.Success=[[GRAY]] Cyfradd Llwyddiant AF: [[MELYN]] {0}%
|
Repair.Arcane.Chance.Success=[[GRAY]] Cyfradd Llwyddiant AF: [[YELLOW]] {0}%
|
||||||
Repair.Arcane.Downgrade=[[RED]]Arcane power has decreased for this item.
|
Repair.Arcane.Downgrade=[[RED]]Arcane power has decreased for this item.
|
||||||
Repair.Arcane.Fail=[[RED]]P\u0175er dirgel wedi gadael yr eitem barhaol
|
Repair.Arcane.Fail=[[RED]]P\u0175er dirgel wedi gadael yr eitem barhaol
|
||||||
Repair.Arcane.Lost=[[RED]]You were not skilled enough to keep any enchantments.
|
Repair.Arcane.Lost=[[RED]]You were not skilled enough to keep any enchantments.
|
||||||
Repair.Arcane.Perfect=[[GREEN]]You have sustained the arcane energies in this item.
|
Repair.Arcane.Perfect=[[GREEN]]You have sustained the arcane energies in this item.
|
||||||
Repair.Arcane.Rank=[[RED]]Arcane Forging: [[YELLOW]]Rank {0}/4
|
Repair.Arcane.Rank=[[RED]]Arcane Forging: [[YELLOW]]Rank {0}/4
|
||||||
Swords.Ability.Lower=[[GRAY]] ** I LEIHAU EICH CLEDDYF **
|
Swords.Ability.Lower=[[GRAY]] ** I LEIHAU EICH CLEDDYF **
|
||||||
Swords.Ability.Ready=[[GWYRDD]] ** CHI\'N BAROD EICH SWORD **
|
Swords.Ability.Ready=[[GREEN]] ** CHI\'N BAROD EICH SWORD **
|
||||||
Swords.Combat.Bleed.Chance=[[RED]]Bleed Chance: [[YELLOW]]{0}%
|
Swords.Combat.Bleed.Chance=[[RED]]Bleed Chance: [[YELLOW]]{0}%
|
||||||
Swords.Combat.Bleed.Length=[[RED]]Bleed Length: [[YELLOW]]{0} ticks
|
Swords.Combat.Bleed.Length=[[RED]]Bleed Length: [[YELLOW]]{0} ticks
|
||||||
Swords.Combat.Bleed.Note=[[GRAY]]NOTE: [[YELLOW]]1 Tick happens every 2 seconds
|
Swords.Combat.Bleed.Note=[[GRAY]]NOTE: [[YELLOW]]1 Tick happens every 2 seconds
|
||||||
Swords.Combat.Bleeding.Started=[[DARK_RED]] You\'re bleeding!
|
Swords.Combat.Bleeding.Started=[[DARK_RED]] You\'re bleeding!
|
||||||
Swords.Combat.Bleeding.Stopped=[[GRAY]] y gwaedu wedi [[GWYRDD]] rhoi\'r gorau i [[GRAY]]!
|
Swords.Combat.Bleeding.Stopped=[[GRAY]] y gwaedu wedi [[GREEN]] rhoi\'r gorau i [[GRAY]]!
|
||||||
Swords.Combat.Bleeding=[[GWYRDD]]** GELYN GWAEDU\'N**
|
Swords.Combat.Bleeding=[[GREEN]]** GELYN GWAEDU\'N**
|
||||||
Swords.Combat.Counter.Chance=[[RED]]Counter Attack Chance: [[YELLOW]]{0}%
|
Swords.Combat.Counter.Chance=[[RED]]Counter Attack Chance: [[YELLOW]]{0}%
|
||||||
Swords.Combat.Counter.Hit=[[DARK_RED]]Hit with a counter-attack!
|
Swords.Combat.Counter.Hit=[[DARK_RED]]Hit with a counter-attack!
|
||||||
Swords.Combat.Countered=[[GWYRDD]] ** GWRTH-YMOSOD **
|
Swords.Combat.Countered=[[GREEN]] ** GWRTH-YMOSOD **
|
||||||
Swords.Combat.SS.Struck=[[TYWYLL_COCH]] Taro gan Streiciau danheddog!
|
Swords.Combat.SS.Struck=[[DARK_RED]] Taro gan Streiciau danheddog!
|
||||||
Swords.Effect.0=Counter Attack
|
Swords.Effect.0=Counter Attack
|
||||||
Swords.Effect.1=Reflect 50% of damage taken
|
Swords.Effect.1=Reflect 50% of damage taken
|
||||||
Swords.Effect.2=Serrated Strikes (ABILITY)
|
Swords.Effect.2=Serrated Strikes (ABILITY)
|
||||||
@ -224,7 +224,7 @@ Swords.Effect.7=Apply a bleed DoT
|
|||||||
Swords.Listener=Swords:
|
Swords.Listener=Swords:
|
||||||
Swords.SkillName=SWORDS
|
Swords.SkillName=SWORDS
|
||||||
Swords.Skills.SS.Off=[[RED]]**Serrated Strikes has worn off**
|
Swords.Skills.SS.Off=[[RED]]**Serrated Strikes has worn off**
|
||||||
Swords.Skills.SS.On=[[GWYRDD]] ** Streiciau danheddog actifadu **
|
Swords.Skills.SS.On=[[GREEN]] ** Streiciau danheddog actifadu **
|
||||||
Swords.Skills.SS.Refresh=[[GREEN]]Your [[YELLOW]]Serrated Strikes [[GREEN]]ability is refreshed!
|
Swords.Skills.SS.Refresh=[[GREEN]]Your [[YELLOW]]Serrated Strikes [[GREEN]]ability is refreshed!
|
||||||
Swords.Skills.SS.Other.Off=[[RED]] Streiciau danheddog [[GREEN]] wedi gwisgo i ffwrdd ar gyfer [[YELLOW]] {0}
|
Swords.Skills.SS.Other.Off=[[RED]] Streiciau danheddog [[GREEN]] wedi gwisgo i ffwrdd ar gyfer [[YELLOW]] {0}
|
||||||
Swords.Skills.SS.Other.On=[[GREEN]] {0} [[DARK_GREEN]] wedi defnyddio [[RED]] Streiciau danheddog!
|
Swords.Skills.SS.Other.On=[[GREEN]] {0} [[DARK_GREEN]] wedi defnyddio [[RED]] Streiciau danheddog!
|
||||||
@ -267,14 +267,14 @@ Taming.Effect.9=DMG Reduction, Fire Resistance
|
|||||||
Taming.Listener.Wolf=[[DARK_GRAY]] Eich sgrialu i blaidd yn \u00f4l i chi ...
|
Taming.Listener.Wolf=[[DARK_GRAY]] Eich sgrialu i blaidd yn \u00f4l i chi ...
|
||||||
Taming.Listener=Taming:
|
Taming.Listener=Taming:
|
||||||
Taming.SkillName=TAMING
|
Taming.SkillName=TAMING
|
||||||
Taming.Skillup=[[MELYN]] sgiliau Ddofi cynyddu {0}.\u00a0Cyfanswm ({1})
|
Taming.Skillup=[[YELLOW]] sgiliau Ddofi cynyddu {0}.\u00a0Cyfanswm ({1})
|
||||||
Taming.Summon.Complete=[[GREEN]]Summoning complete
|
Taming.Summon.Complete=[[GREEN]]Summoning complete
|
||||||
Taming.Summon.Fail.Ocelot=[[RED]]You have too many ocelots nearby to summon any more.
|
Taming.Summon.Fail.Ocelot=[[RED]]You have too many ocelots nearby to summon any more.
|
||||||
Taming.Summon.Fail.Wolf=[[RED]]You have too many wolves nearby to summon any more.
|
Taming.Summon.Fail.Wolf=[[RED]]You have too many wolves nearby to summon any more.
|
||||||
Unarmed.Ability.Berserk.Length=[[RED]]Berserk Length: [[YELLOW]]{0}s
|
Unarmed.Ability.Berserk.Length=[[RED]]Berserk Length: [[YELLOW]]{0}s
|
||||||
Unarmed.Ability.Bonus.0=Iron Arm Style
|
Unarmed.Ability.Bonus.0=Iron Arm Style
|
||||||
Unarmed.Ability.Bonus.1=+{0} DMG Upgrade
|
Unarmed.Ability.Bonus.1=+{0} DMG Upgrade
|
||||||
Unarmed.Ability.Chance.ArrowDeflect=[[COCH]] Saeth wyro cyfle: [[MELYN]] {0}%
|
Unarmed.Ability.Chance.ArrowDeflect=[[RED]] Saeth wyro cyfle: [[YELLOW]] {0}%
|
||||||
Unarmed.Ability.Chance.Disarm=[[RED]]Disarm Chance: [[YELLOW]]{0}%
|
Unarmed.Ability.Chance.Disarm=[[RED]]Disarm Chance: [[YELLOW]]{0}%
|
||||||
Unarmed.Ability.Lower=[[GRAY]]**YOU LOWER YOUR FISTS**
|
Unarmed.Ability.Lower=[[GRAY]]**YOU LOWER YOUR FISTS**
|
||||||
Unarmed.Ability.Ready=[[GREEN]]**YOU READY YOUR FISTS**
|
Unarmed.Ability.Ready=[[GREEN]]**YOU READY YOUR FISTS**
|
||||||
@ -288,10 +288,10 @@ Unarmed.Effect.6=Arrow Deflect
|
|||||||
Unarmed.Effect.7=Deflect arrows
|
Unarmed.Effect.7=Deflect arrows
|
||||||
Unarmed.Listener=Dim Arfau:
|
Unarmed.Listener=Dim Arfau:
|
||||||
Unarmed.SkillName=UNARMED
|
Unarmed.SkillName=UNARMED
|
||||||
Unarmed.Skills.Berserk.Off=[[COCH]] ** arno\'i hun wedi gwisgo i ffwrdd **
|
Unarmed.Skills.Berserk.Off=[[RED]] ** arno\'i hun wedi gwisgo i ffwrdd **
|
||||||
Unarmed.Skills.Berserk.On=[[GREEN]]**BERSERK ACTIVATED**
|
Unarmed.Skills.Berserk.On=[[GREEN]]**BERSERK ACTIVATED**
|
||||||
Unarmed.Skills.Berserk.Other.Off=[[COCH]] arno\'i hun [[GWYRDD]] wedi gwisgo i ffwrdd ar gyfer [[MELYN]] {0}
|
Unarmed.Skills.Berserk.Other.Off=[[RED]] arno\'i hun [[GREEN]] wedi gwisgo i ffwrdd ar gyfer [[YELLOW]] {0}
|
||||||
Unarmed.Skills.Berserk.Other.On=[[GWYRDD]] {0} [[TYWYLL_GWYRDD]] wedi defnyddio [[COCH]] arno\'i hun!
|
Unarmed.Skills.Berserk.Other.On=[[GREEN]] {0} [[DARK_GREEN]] wedi defnyddio [[RED]] arno\'i hun!
|
||||||
Unarmed.Skills.Berserk.Refresh=[[GREEN]]Your [[YELLOW]]Berserk [[GREEN]]ability is refreshed!
|
Unarmed.Skills.Berserk.Refresh=[[GREEN]]Your [[YELLOW]]Berserk [[GREEN]]ability is refreshed!
|
||||||
Unarmed.Skillup=[[YELLOW]]Unarmed skill increased by {0}. Total ({1})
|
Unarmed.Skillup=[[YELLOW]]Unarmed skill increased by {0}. Total ({1})
|
||||||
Woodcutting.Ability.0=Chwythwr o ddail
|
Woodcutting.Ability.0=Chwythwr o ddail
|
||||||
@ -309,18 +309,18 @@ Woodcutting.Listener=Woodcutting:
|
|||||||
Woodcutting.SkillName=Torri coed
|
Woodcutting.SkillName=Torri coed
|
||||||
Woodcutting.Skills.TreeFeller.Off=[[RED]]**Tree Feller has worn off**
|
Woodcutting.Skills.TreeFeller.Off=[[RED]]**Tree Feller has worn off**
|
||||||
Woodcutting.Skills.TreeFeller.On=[[GREEN]]**TREE FELLER ACTIVATED**
|
Woodcutting.Skills.TreeFeller.On=[[GREEN]]**TREE FELLER ACTIVATED**
|
||||||
Woodcutting.Skills.TreeFeller.Refresh=[[GWYRDD]] Eich [[MELYN]] Feller Coed [[GWYRDD]] gallu ei hadnewyddu!
|
Woodcutting.Skills.TreeFeller.Refresh=[[GREEN]] Eich [[YELLOW]] Feller Coed [[GREEN]] gallu ei hadnewyddu!
|
||||||
Woodcutting.Skills.TreeFeller.Other.Off=[[COCH]] Feller Coed [[GWYRDD]] wedi gwisgo i ffwrdd ar gyfer [[MELYN]] {0}
|
Woodcutting.Skills.TreeFeller.Other.Off=[[RED]] Feller Coed [[GREEN]] wedi gwisgo i ffwrdd ar gyfer [[YELLOW]] {0}
|
||||||
Woodcutting.Skills.TreeFeller.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Tree Feller!
|
Woodcutting.Skills.TreeFeller.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Tree Feller!
|
||||||
Woodcutting.Skills.TreeFeller.Splinter=[[COCH]] EICH AXE GWAHANU I DDWSINAU O DARNAU!
|
Woodcutting.Skills.TreeFeller.Splinter=[[RED]] EICH AXE GWAHANU I DDWSINAU O DARNAU!
|
||||||
Woodcutting.Skills.TreeFellerThreshold=[[RED]]That tree is too large!
|
Woodcutting.Skills.TreeFellerThreshold=[[RED]]That tree is too large!
|
||||||
Woodcutting.Skillup=[[YELLOW]]Woodcutting skill increased by {0}. Total ({1})
|
Woodcutting.Skillup=[[YELLOW]]Woodcutting skill increased by {0}. Total ({1})
|
||||||
Ability.Generic.Refresh=[[GREEN]]**ABILITIES REFRESHED!**
|
Ability.Generic.Refresh=[[GREEN]]**ABILITIES REFRESHED!**
|
||||||
Ability.Generic.Template.Lock=[[GRAY]]{0}
|
Ability.Generic.Template.Lock=[[GRAY]]{0}
|
||||||
Ability.Generic.Template=[[coch]]{0}: [[melyn]]{1}
|
Ability.Generic.Template=[[RED]]{0}: [[YELLOW]]{1}
|
||||||
Combat.ArrowDeflect=[[WHITE]]**ARROW DEFLECT**
|
Combat.ArrowDeflect=[[WHITE]]**ARROW DEFLECT**
|
||||||
Combat.BeastLore=[[GWYRDD]] ** bwystfil ll\u00ean **
|
Combat.BeastLore=[[GREEN]] ** bwystfil ll\u00ean **
|
||||||
Combat.BeastLoreHealth=[[TYWYLL_AQUA]] Iechyd ([[GWYRDD]] {0} [[TYWYLL_AQUA]] / {1})
|
Combat.BeastLoreHealth=[[DARK_AQUA]] Iechyd ([[GREEN]] {0} [[DARK_AQUA]] / {1})
|
||||||
Combat.BeastLoreOwner=[[DARK_AQUA]]Owner ([[RED]]{0}[[DARK_AQUA]])
|
Combat.BeastLoreOwner=[[DARK_AQUA]]Owner ([[RED]]{0}[[DARK_AQUA]])
|
||||||
Combat.BurningArrowHit=[[DARK_RED]]You were struck by a burning arrow!
|
Combat.BurningArrowHit=[[DARK_RED]]You were struck by a burning arrow!
|
||||||
Combat.Gore=[[GREEN]]**GORED**
|
Combat.Gore=[[GREEN]]**GORED**
|
||||||
@ -331,20 +331,20 @@ Combat.TouchedFuzzy=[[DARK_RED]] cyffwrdd Fuzzy. Teimlo benysgafn.
|
|||||||
mcMMO.Description=[[DARK_AQUA]]About the [[YELLOW]]mcMMO[[DARK_AQUA]] Project:,[[GOLD]]mcMMO is an [[RED]]open source[[GOLD]] RPG mod created in February 2011,[[GOLD]]by [[BLUE]]nossr50[[GOLD]]. The goal is to provide a quality RPG experience.,[[DARK_AQUA]]Tips:,[[GOLD]] - [[GREEN]]Use [[RED]]/mcc[[GREEN]] to see commands,[[GOLD]] - [[GREEN]]Type [[RED]]/SKILLNAME[[GREEN]] to see detailed skill info,[[DARK_AQUA]]Developers:,[[GOLD]] - [[GREEN]]nossr50 [[BLUE]](Project Lead),[[GOLD]] - [[GREEN]]GJ [[BLUE]](Senior Developer),[[GOLD]] - [[GREEN]]NuclearW [[BLUE]](Developer),[[GOLD]] - [[GREEN]]bm01 [[BLUE]](Developer),[[DARK_AQUA]]Useful Links:,[[GOLD]] - [[GREEN]]issues.mcmmo.org[[GOLD]] Bug Reporting,[[GOLD]] - [[GREEN]]#mcmmo @ irc.esper.net[[GOLD]] IRC Chat,[[GOLD]] - [[GREEN]]http://bit.ly/H6XwFb[[GOLD]] Bukkit Forum Thread
|
mcMMO.Description=[[DARK_AQUA]]About the [[YELLOW]]mcMMO[[DARK_AQUA]] Project:,[[GOLD]]mcMMO is an [[RED]]open source[[GOLD]] RPG mod created in February 2011,[[GOLD]]by [[BLUE]]nossr50[[GOLD]]. The goal is to provide a quality RPG experience.,[[DARK_AQUA]]Tips:,[[GOLD]] - [[GREEN]]Use [[RED]]/mcc[[GREEN]] to see commands,[[GOLD]] - [[GREEN]]Type [[RED]]/SKILLNAME[[GREEN]] to see detailed skill info,[[DARK_AQUA]]Developers:,[[GOLD]] - [[GREEN]]nossr50 [[BLUE]](Project Lead),[[GOLD]] - [[GREEN]]GJ [[BLUE]](Senior Developer),[[GOLD]] - [[GREEN]]NuclearW [[BLUE]](Developer),[[GOLD]] - [[GREEN]]bm01 [[BLUE]](Developer),[[DARK_AQUA]]Useful Links:,[[GOLD]] - [[GREEN]]issues.mcmmo.org[[GOLD]] Bug Reporting,[[GOLD]] - [[GREEN]]#mcmmo @ irc.esper.net[[GOLD]] IRC Chat,[[GOLD]] - [[GREEN]]http://bit.ly/H6XwFb[[GOLD]] Bukkit Forum Thread
|
||||||
Commands.Ability.Off=Ability use toggled [[RED]]off
|
Commands.Ability.Off=Ability use toggled [[RED]]off
|
||||||
Commands.Ability.On=Ability use toggled [[GREEN]]on
|
Commands.Ability.On=Ability use toggled [[GREEN]]on
|
||||||
Commands.AdminChat.Off=Admin Sgwrs unig [[COCH]] Oddi ar
|
Commands.AdminChat.Off=Admin Sgwrs unig [[RED]] Oddi ar
|
||||||
Commands.AdminChat.On=Admin Chat only [[GREEN]]On
|
Commands.AdminChat.On=Admin Chat only [[GREEN]]On
|
||||||
Commands.AdminToggle=[[COCH]] - sgwrs gweinyddol Toggle
|
Commands.AdminToggle=[[RED]] - sgwrs gweinyddol Toggle
|
||||||
Commands.Disabled=[[COCH]] Mae\'r gorchymyn yn anabl.
|
Commands.Disabled=[[RED]] Mae\'r gorchymyn yn anabl.
|
||||||
Commands.DoesNotExist=[[COCH]] nid Chwaraewr yn bodoli yn y gronfa ddata!
|
Commands.DoesNotExist=[[RED]] nid Chwaraewr yn bodoli yn y gronfa ddata!
|
||||||
Commands.GodMode.Disabled=[[YELLOW]]mcMMO Godmode Disabled
|
Commands.GodMode.Disabled=[[YELLOW]]mcMMO Godmode Disabled
|
||||||
Commands.GodMode.Enabled=[[YELLOW]]mcMMO Godmode Enabled
|
Commands.GodMode.Enabled=[[YELLOW]]mcMMO Godmode Enabled
|
||||||
Commands.GodMode.Forbidden=[mcMMO] God Mode not permitted on this world (See Permissions)
|
Commands.GodMode.Forbidden=[mcMMO] God Mode not permitted on this world (See Permissions)
|
||||||
Commands.Inspect=<player> [[RED]]- View detailed player info
|
Commands.Inspect=<player> [[RED]]- View detailed player info
|
||||||
Commands.Invite.Accepted=[[GWYRDD]] Gwahodd Derbyniwyd. Yr ydych wedi ymuno parti {0}
|
Commands.Invite.Accepted=[[GREEN]] Gwahodd Derbyniwyd. Yr ydych wedi ymuno parti {0}
|
||||||
Commands.Invite.Success=[[GREEN]]Invite sent successfully.
|
Commands.Invite.Success=[[GREEN]]Invite sent successfully.
|
||||||
Commands.Leaderboards=<skill> <page> [[RED]]- Leaderboards
|
Commands.Leaderboards=<skill> <page> [[RED]]- Leaderboards
|
||||||
Commands.mcgod=[[RED]]- Toggle GodMode
|
Commands.mcgod=[[RED]]- Toggle GodMode
|
||||||
Commands.mmoedit=[chwaraewr] <skill> <newvalue> [[COCH]] - Targed addasu
|
Commands.mmoedit=[chwaraewr] <skill> <newvalue> [[RED]] - Targed addasu
|
||||||
Commands.ModDescription=[[RED]]- Read brief mod description
|
Commands.ModDescription=[[RED]]- Read brief mod description
|
||||||
Commands.NoConsole=This command does not support console usage.
|
Commands.NoConsole=This command does not support console usage.
|
||||||
Commands.Other=[[GREEN]]--OTHER COMMANDS--
|
Commands.Other=[[GREEN]]--OTHER COMMANDS--
|
||||||
@ -352,12 +352,12 @@ Commands.Party.Accept=[[RED]]- Accept party invite
|
|||||||
Commands.Party.Chat.Off=Party Chat only [[RED]]Off
|
Commands.Party.Chat.Off=Party Chat only [[RED]]Off
|
||||||
Commands.Party.Chat.On=Party Chat only [[GREEN]]On
|
Commands.Party.Chat.On=Party Chat only [[GREEN]]On
|
||||||
Commands.Party.Commands=[[GREEN]]--PARTY COMMANDS--
|
Commands.Party.Commands=[[GREEN]]--PARTY COMMANDS--
|
||||||
Commands.Party.Invite.0=[[COCH]] RHYBUDD: [[GWYRDD]] fod wedi derbyn gwahoddiad i barti {0} o {1}
|
Commands.Party.Invite.0=[[RED]] RHYBUDD: [[GREEN]] fod wedi derbyn gwahoddiad i barti {0} o {1}
|
||||||
Commands.Party.Invite.1=[[MELYN]] Math [[GWYRDD]]/accept[[MELYN]] i dderbyn y gwahoddiad
|
Commands.Party.Invite.1=[[YELLOW]] Math [[GREEN]]/accept[[YELLOW]] i dderbyn y gwahoddiad
|
||||||
Commands.Party.Invite=<player> [[RED]]- Send party invite
|
Commands.Party.Invite=<player> [[RED]]- Send party invite
|
||||||
Commands.Party.Join=Joined Party: {0}
|
Commands.Party.Join=Joined Party: {0}
|
||||||
Commands.Party.Kick=[[COCH]] oeddech yn cicio o blaid {0}!
|
Commands.Party.Kick=[[RED]] oeddech yn cicio o blaid {0}!
|
||||||
Commands.Party.Leave=[[COCH]] Yr ydych wedi gadael y blaid honno
|
Commands.Party.Leave=[[RED]] Yr ydych wedi gadael y blaid honno
|
||||||
Commands.Party.Members=[[GREEN]]Party Members: {0}
|
Commands.Party.Members=[[GREEN]]Party Members: {0}
|
||||||
Commands.Party.None=[[RED]]You are not in a party.
|
Commands.Party.None=[[RED]]You are not in a party.
|
||||||
Commands.Party.Quit=[[RED]]- Leave your current party
|
Commands.Party.Quit=[[RED]]- Leave your current party
|
||||||
@ -378,7 +378,7 @@ mcMMO.NoInvites=[[RED]]You have no invites at this time
|
|||||||
mcMMO.NoPermission=[[DARK_RED]]Insufficient permissions.
|
mcMMO.NoPermission=[[DARK_RED]]Insufficient permissions.
|
||||||
mcMMO.NoSkillNote=[[DARK_GRAY]]If you don\'t have access to a skill it will not be shown here.
|
mcMMO.NoSkillNote=[[DARK_GRAY]]If you don\'t have access to a skill it will not be shown here.
|
||||||
mcMMO.Website=[[GREEN]]http://forums.mcmmo.info[[BLUE]] - mcMMO Website
|
mcMMO.Website=[[GREEN]]http://forums.mcmmo.info[[BLUE]] - mcMMO Website
|
||||||
Commands.Party.InParty=[[GWYRDD]]Parti: {0}
|
Commands.Party.InParty=[[GREEN]]Parti: {0}
|
||||||
Party.Forbidden=[mcMMO] Parties not permitted on this world (See Permissions)
|
Party.Forbidden=[mcMMO] Parties not permitted on this world (See Permissions)
|
||||||
Party.Help.0=[[RED]]Proper usage is /party <party-name> to join or /party q to quit
|
Party.Help.0=[[RED]]Proper usage is /party <party-name> to join or /party q to quit
|
||||||
Party.Help.1=[[RED]]To join a passworded party, use /party <party-name> <password>
|
Party.Help.1=[[RED]]To join a passworded party, use /party <party-name> <password>
|
||||||
@ -386,22 +386,22 @@ Party.Help.2=[[RED]]Consult /party ? for more information
|
|||||||
Party.Help.3=[[RED]]Use /party <party-name> to join or /party q to quit
|
Party.Help.3=[[RED]]Use /party <party-name> to join or /party q to quit
|
||||||
Party.Help.4=[[RED]]To lock or unlock your party, use /party <lock/unlock>
|
Party.Help.4=[[RED]]To lock or unlock your party, use /party <lock/unlock>
|
||||||
Party.Help.5=[[RED]]To password protect your party, use /party password <password>
|
Party.Help.5=[[RED]]To password protect your party, use /party password <password>
|
||||||
Party.Help.6=[[COCH]] I gicio chwaraewr o\'ch plaid, <player> cic defnydd / parti
|
Party.Help.6=[[RED]] I gicio chwaraewr o\'ch plaid, <player> cic defnydd / parti
|
||||||
Party.Help.7=[[RED]]To transfer ownership of your party, use /party owner <player>
|
Party.Help.7=[[RED]]To transfer ownership of your party, use /party owner <player>
|
||||||
Party.InformedOnJoin={0} [[GREEN]] has joined your party
|
Party.InformedOnJoin={0} [[GREEN]] has joined your party
|
||||||
Party.InformedOnQuit={0} [[GWYRDD]] wedi gadael eich plaid
|
Party.InformedOnQuit={0} [[GREEN]] wedi gadael eich plaid
|
||||||
Party.InvalidName=[[DARK_RED]]That is not a valid party name.
|
Party.InvalidName=[[DARK_RED]]That is not a valid party name.
|
||||||
Party.IsLocked=[[RED]]This party is already locked!
|
Party.IsLocked=[[RED]]This party is already locked!
|
||||||
Party.IsntLocked=[[RED]]This party is not locked!
|
Party.IsntLocked=[[RED]]This party is not locked!
|
||||||
Party.Locked=[[RED]]Party is locked, only party leader may invite.
|
Party.Locked=[[RED]]Party is locked, only party leader may invite.
|
||||||
Party.NotInYourParty=[[DARK_RED]]{0} is not in your party
|
Party.NotInYourParty=[[DARK_RED]]{0} is not in your party
|
||||||
Party.NotOwner=[[DARK_RED]]You are not the party owner
|
Party.NotOwner=[[DARK_RED]]You are not the party owner
|
||||||
Party.PasswordSet=[[GWYRDD]] Blaid cyfrinair wedi ei osod i {0}
|
Party.PasswordSet=[[GREEN]] Blaid cyfrinair wedi ei osod i {0}
|
||||||
Party.Player.Invalid=[[COCH]] Nid yw hynny\'n chwaraewr ddilys.
|
Party.Player.Invalid=[[RED]] Nid yw hynny\'n chwaraewr ddilys.
|
||||||
Party.Teleport.Dead=[[COCH]] Ni allwch teleport y chwaraewr yn farw.
|
Party.Teleport.Dead=[[RED]] Ni allwch teleport y chwaraewr yn farw.
|
||||||
Party.Teleport.Hurt=[[RED]]You\'ve been hurt in the last {0} seconds and cannnot teleport.
|
Party.Teleport.Hurt=[[RED]]You\'ve been hurt in the last {0} seconds and cannnot teleport.
|
||||||
Party.Teleport.Player=[[GREEN]]You have teleported to {0}.
|
Party.Teleport.Player=[[GREEN]]You have teleported to {0}.
|
||||||
Party.Teleport.Target=[[GWYRDD]] {0} wedi teleported i chi.
|
Party.Teleport.Target=[[GREEN]] {0} wedi teleported i chi.
|
||||||
Party.Unlocked=[[GRAY]] Blaid yn cael ei gloi
|
Party.Unlocked=[[GRAY]] Blaid yn cael ei gloi
|
||||||
Commands.XPGain.Acrobatics=Falling
|
Commands.XPGain.Acrobatics=Falling
|
||||||
Commands.XPGain.Archery=Attacking Monsters
|
Commands.XPGain.Archery=Attacking Monsters
|
||||||
@ -415,7 +415,7 @@ Commands.XPGain.Swords=Angenfilod ymosod
|
|||||||
Commands.XPGain.Taming=Anifeiliaid Taming, neu ymladd \u00e2\'ch bleiddiaid
|
Commands.XPGain.Taming=Anifeiliaid Taming, neu ymladd \u00e2\'ch bleiddiaid
|
||||||
Commands.XPGain.Unarmed=Attacking Monsters
|
Commands.XPGain.Unarmed=Attacking Monsters
|
||||||
Commands.XPGain.Woodcutting=Chopping down trees
|
Commands.XPGain.Woodcutting=Chopping down trees
|
||||||
Commands.XPGain=[[DARK_GRAY]] Cael Profiad: [[GWYN]] {0}
|
Commands.XPGain=[[DARK_GRAY]] Cael Profiad: [[WHITE]] {0}
|
||||||
Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}!
|
Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}!
|
||||||
Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]!
|
Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]!
|
||||||
Commands.xprate.over=[[RED]]mcMMO XP Rate Event is OVER!!
|
Commands.xprate.over=[[RED]]mcMMO XP Rate Event is OVER!!
|
||||||
@ -424,17 +424,17 @@ Commands.xprate.proper.1=[[RED]]Proper usage to restore the XP rate to default i
|
|||||||
Commands.xprate.proper.2=[[RED]]Please specify true or false to indicate if this is an xp event or not
|
Commands.xprate.proper.2=[[RED]]Please specify true or false to indicate if this is an xp event or not
|
||||||
Commands.xprate.started.0=[[GOLD]]XP EVENT FOR mcMMO HAS STARTED!
|
Commands.xprate.started.0=[[GOLD]]XP EVENT FOR mcMMO HAS STARTED!
|
||||||
Commands.xprate.started.1=[[GOLD]]mcMMO XP RATE IS NOW {0}x!
|
Commands.xprate.started.1=[[GOLD]]mcMMO XP RATE IS NOW {0}x!
|
||||||
XPRate.Event=[[AUR]] mcMMO ar hyn o bryd mewn digwyddiad gyfradd XP! Gyfradd yn XP {0} x!
|
XPRate.Event=[[GOLD]] mcMMO ar hyn o bryd mewn digwyddiad gyfradd XP! Gyfradd yn XP {0} x!
|
||||||
Effects.Effects=EFFEITHIAU
|
Effects.Effects=EFFEITHIAU
|
||||||
Effects.Level=[[DARK_GRAY]]LVL: [[GREEN]]{0} [[DARK_AQUA]]XP[[YELLOW]]([[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]])
|
Effects.Level=[[DARK_GRAY]]LVL: [[GREEN]]{0} [[DARK_AQUA]]XP[[YELLOW]]([[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]])
|
||||||
Effects.Template=[[DARK_AQUA]]{0}: [[GREEN]]{1}
|
Effects.Template=[[DARK_AQUA]]{0}: [[GREEN]]{1}
|
||||||
Guides.Acrobatics=[[DARK_AQUA]]About Acrobatics:\n[[YELLOW]]Acrobatics is the art of moving gracefully in mcMMO.\n[[YELLOW]]It provides combat bonuses and environment damage bonuses.\n\n[[DARK_AQUA]]XP GAIN:\n[[YELLOW]]To gain XP in this skill you need to perform a dodge\n[[YELLOW]]in combat or survive falls from heights that damage you.\n\n[[DARK_AQUA]]How does Rolling work?\n[[YELLOW]]You have a passive chance when you take fall damage\n[[YELLOW]]to negate the damage done. You can hold the sneak button to\n[[YELLOW]]double your chances during the fall.\n[[YELLOW]]This triggers a Graceful Roll instead of a standard one.\n[[YELLOW]]Graceful Rolls are like regular rolls but are twice as likely to\n[[YELLOW]]occur and provide more damage safety than regular rolls.\n[[YELLOW]]Rolling chance is tied to your skill level\n[[DARK_AQUA]]How does Dodge work?\n[[YELLOW]]Dodge is a passive chance when you are\n[[YELLOW]]injured in combat to halve the damage taken.\n[[YELLOW]]It is tied to your skill level.
|
Guides.Acrobatics=[[DARK_AQUA]]About Acrobatics:\n[[YELLOW]]Acrobatics is the art of moving gracefully in mcMMO.\n[[YELLOW]]It provides combat bonuses and environment damage bonuses.\n\n[[DARK_AQUA]]XP GAIN:\n[[YELLOW]]To gain XP in this skill you need to perform a dodge\n[[YELLOW]]in combat or survive falls from heights that damage you.\n\n[[DARK_AQUA]]How does Rolling work?\n[[YELLOW]]You have a passive chance when you take fall damage\n[[YELLOW]]to negate the damage done. You can hold the sneak button to\n[[YELLOW]]double your chances during the fall.\n[[YELLOW]]This triggers a Graceful Roll instead of a standard one.\n[[YELLOW]]Graceful Rolls are like regular rolls but are twice as likely to\n[[YELLOW]]occur and provide more damage safety than regular rolls.\n[[YELLOW]]Rolling chance is tied to your skill level\n[[DARK_AQUA]]How does Dodge work?\n[[YELLOW]]Dodge is a passive chance when you are\n[[YELLOW]]injured in combat to halve the damage taken.\n[[YELLOW]]It is tied to your skill level.
|
||||||
Guides.Archery=Canllaw yn dod yn fuan ...
|
Guides.Archery=Canllaw yn dod yn fuan ...
|
||||||
Guides.Axes=Guide coming soon...
|
Guides.Axes=Guide coming soon...
|
||||||
Guides.Excavation=[[DARK_AQUA]] Amdanom Cloddio:\n[[MELYN]] Cloddio yn y weithred o gloddio hyd faw i ddod o hyd drysorau.\n[[MELYN]] Trwy gloddio y tir y byddwch yn dod o hyd i drysorau.\n[[MELYN]] Po fwyaf y byddwch yn gwneud hyn y trysorau mwy gallwch ddod o hyd.\n[[DARK_AQUA]] Profiad Ennill:\n[[MELYN]] I ennill XP yn y sgil mae\'n rhaid i chi gloddio \u00e2 rhaw mewn llaw.\n[[MELYN]] Dim ond rhai deunyddiau yn cael ei godi am drysorau ac XP.\n[[DARK_AQUA]] Deunyddiau Cyt\u00fbn:\n[[MELYN]] Tywod Soul Glaswellt, Baw, Tywod, Clay, Gravel, myseliwm,\n[[DARK_AQUA]] Sut i ddefnyddio Torri\'r Drill Giga:\n[[MELYN]] Gyda rhaw yn llaw dde glicio i yn barod i\'ch offeryn.\n[[MELYN]] Unwaith yn y cyflwr hwn sydd gennych am 4 eiliad i wneud\n[[MELYN]] cysylltiad \u00e2 gwaith cloddio deunyddiau sy\'n gydnaws bydd hyn yn\n[[MELYN]] Activate Torri\'r Drill Giga.\n[[DARK_AQUA]] Beth yw Torri\'r Drill Giga?\n[[MELYN]] Drill Giga Torri\'r yn gallu gyda cooldown\n[[MELYN]] ynghlwm wrth sgiliau Cloddio. Mae\'n deirgwaith eich cyfle\n[[MELYN]] o ddod o hyd i drysorau ac yn galluogi toriad sydyn\n[[MELYN]] ar ddeunyddiau Cloddio.\n[[DARK_AQUA]] Sut mae Drysor Hunter gweithio?\n[[MELYN]] Bob trysor posibl ar gyfer cloddio wedi ei hun\n[[MELYN]] sgiliau lefel ofynnol iddo ollwng, o ganlyniad, mae\'n\n[[MELYN]] anodd dweud faint y mae\'n ei helpu chi.\n[[MELYN]] Dim ond yn cadw mewn cof bod yr uwch eich sgiliau Cloddio\n[[MELYN]] yw, y trysorau yn fwy y gellir ei weld.\n[[MELYN]] A hefyd yn cadw mewn cof bod pob math o Cloddio\n[[MELYN]] deunydd gydnaws ei restr unigryw ei hun o drysorau.\n[[MELYN]] Mewn geiriau eraill y byddwch yn dod o hyd i drysorau gwahanol yn Baw\n[[MELYN]] nag y byddech yn Gravel.\n[[DARK_AQUA]] Nodiadau am Cloddio:\n[[] MELYN] diferion Cloddio yn hollol customizeable\n[[MELYN]] Felly canlyniadau yn amrywio gweinydd \u00e2\'r gweinydd.
|
Guides.Excavation=[[DARK_AQUA]] Amdanom Cloddio:\n[[YELLOW]] Cloddio yn y weithred o gloddio hyd faw i ddod o hyd drysorau.\n[[YELLOW]] Trwy gloddio y tir y byddwch yn dod o hyd i drysorau.\n[[YELLOW]] Po fwyaf y byddwch yn gwneud hyn y trysorau mwy gallwch ddod o hyd.\n[[DARK_AQUA]] Profiad Ennill:\n[[YELLOW]] I ennill XP yn y sgil mae\'n rhaid i chi gloddio \u00e2 rhaw mewn llaw.\n[[YELLOW]] Dim ond rhai deunyddiau yn cael ei godi am drysorau ac XP.\n[[DARK_AQUA]] Deunyddiau Cyt\u00fbn:\n[[YELLOW]] Tywod Soul Glaswellt, Baw, Tywod, Clay, Gravel, myseliwm,\n[[DARK_AQUA]] Sut i ddefnyddio Torri\'r Drill Giga:\n[[YELLOW]] Gyda rhaw yn llaw dde glicio i yn barod i\'ch offeryn.\n[[YELLOW]] Unwaith yn y cyflwr hwn sydd gennych am 4 eiliad i wneud\n[[YELLOW]] cysylltiad \u00e2 gwaith cloddio deunyddiau sy\'n gydnaws bydd hyn yn\n[[YELLOW]] Activate Torri\'r Drill Giga.\n[[DARK_AQUA]] Beth yw Torri\'r Drill Giga?\n[[YELLOW]] Drill Giga Torri\'r yn gallu gyda cooldown\n[[YELLOW]] ynghlwm wrth sgiliau Cloddio. Mae\'n deirgwaith eich cyfle\n[[YELLOW]] o ddod o hyd i drysorau ac yn galluogi toriad sydyn\n[[YELLOW]] ar ddeunyddiau Cloddio.\n[[DARK_AQUA]] Sut mae Drysor Hunter gweithio?\n[[YELLOW]] Bob trysor posibl ar gyfer cloddio wedi ei hun\n[[YELLOW]] sgiliau lefel ofynnol iddo ollwng, o ganlyniad, mae\'n\n[[YELLOW]] anodd dweud faint y mae\'n ei helpu chi.\n[[YELLOW]] Dim ond yn cadw mewn cof bod yr uwch eich sgiliau Cloddio\n[[YELLOW]] yw, y trysorau yn fwy y gellir ei weld.\n[[YELLOW]] A hefyd yn cadw mewn cof bod pob math o Cloddio\n[[YELLOW]] deunydd gydnaws ei restr unigryw ei hun o drysorau.\n[[YELLOW]] Mewn geiriau eraill y byddwch yn dod o hyd i drysorau gwahanol yn Baw\n[[YELLOW]] nag y byddech yn Gravel.\n[[DARK_AQUA]] Nodiadau am Cloddio:\n[[] YELLOW] diferion Cloddio yn hollol customizeable\n[[YELLOW]] Felly canlyniadau yn amrywio gweinydd \u00e2\'r gweinydd.
|
||||||
Guides.Fishing=Guide coming soon...
|
Guides.Fishing=Guide coming soon...
|
||||||
Guides.Herbalism=Guide coming soon...
|
Guides.Herbalism=Guide coming soon...
|
||||||
Guides.Mining=[[TYWYLL_AQUA]] Amdanom Mwyngloddio\n[[MELYN]] Mwyngloddio yn cynnwys cerrig a mwyngloddio mwynau.\u00a0Mae\'n darparu taliadau bonws\n[[MELYN]] i faint o ddeunyddiau gollwng wrth gloddio.\n\n[[TYWYLL_AQUA]] profiad a gafwyd\n[[MELYN]] I ennill XP yn y sgil, rhaid i chi gloddio gyda pickaxe mewn llaw.\n[[MELYN]] Dim ond rhai blociau wobr XP.\n\n[[TYWYLL_AQUA]] Deunyddiau Cyd-fynd\n[[MELYN]] Cerrig, Mwyn Glo, Haearn Mwyn, Mwyn Aur, Diemwnt Mwyn, Redstone Mwyn,\n[[MELYN]] Lapis Mwyn, Obsidian, Mossy cobl Cerrig, Ender Cerrig,\n[[MELYN]], carreg Glow ac Uffern Cerrig.\n\n[[TYWYLL_AQUA]] Sut i ddefnyddio Torri\'r Super\n[[MELYN]] Gyda pickaxe yn eich llaw, dde chlecia at barod eich offeryn.\n[[MELYN]] Unwaith yn y cyflwr hwn, mae gennych tua 4 eiliad i gysylltu\n[[MELYN]] gyda deunyddiau Mwyngloddio cydnaws, a fydd yn activate Super\n[[MELYN]] Torri\'r.\n\n[[TYWYLL_AQUA]] Beth yw Super Torri\'r?\n[[MELYN]] Super Torri\'r yn gallu gyda cooldown ynghlwm wrth y Mwyngloddio\n[[MELYN]] sgiliau.\u00a0Mae\'n treblu\'r eich cyfle o eitemau ychwanegol ollwng a\n[[MELYN]] yn galluogi egwyl yn syth ar ddeunyddiau Mwyngloddio.\n\n[[TYWYLL_AQUA]] Sut i ddefnyddio Mwyngloddio Blast\n[[MELYN]] Gyda ffrwydrwr mewn llaw, sy\'n dur fflint at ball,\n[[MELYN]] de-gliciwch ar TNT o bellter.\u00a0Bydd hyn yn achosi i\'r TNT\n[[MELYN]] i ffrwydro ar unwaith.\n\n[[TYWYLL_AQUA]] Sut mae Mwyngloddio Chwyth?\n[[MELYN]] Mwyngloddio Blast yn gallu gyda cooldown ynghlwm wrth y Mwyngloddio\n[[MELYN]] sgiliau.\u00a0Mae\'n rhoi taliadau bonws wrth cloddio \u00e2 TNT ac yn caniat\u00e1u i chi\n[[MELYN]] i anghysbell ffrwydro TNT.\u00a0Mae tair rhan i Blast Mwyngloddio.\n[[MELYN]] Mae\'r rhan gyntaf yn Bomiau Bigger, sy\'n cynyddu\'r radiws chwyth.\n[[MELYN]] Yr ail yw Dymchweliadau Arbenigol, sy\'n lleihau difrod\n[[MELYN]] o ffrwydradau TNT.\u00a0Mae\'r drydedd ran yn syml yn cynyddu\'r\n[[MELYN]] swm y mwynau gostwng o TNT a lleihau\'r\n[[MELYN]] malurion gollwng.
|
Guides.Mining=[[DARK_AQUA]] Amdanom Mwyngloddio\n[[YELLOW]] Mwyngloddio yn cynnwys cerrig a mwyngloddio mwynau.\u00a0Mae\'n darparu taliadau bonws\n[[YELLOW]] i faint o ddeunyddiau gollwng wrth gloddio.\n\n[[DARK_AQUA]] profiad a gafwyd\n[[YELLOW]] I ennill XP yn y sgil, rhaid i chi gloddio gyda pickaxe mewn llaw.\n[[YELLOW]] Dim ond rhai blociau wobr XP.\n\n[[DARK_AQUA]] Deunyddiau Cyd-fynd\n[[YELLOW]] Cerrig, Mwyn Glo, Haearn Mwyn, Mwyn Aur, Diemwnt Mwyn, Redstone Mwyn,\n[[YELLOW]] Lapis Mwyn, Obsidian, Mossy cobl Cerrig, Ender Cerrig,\n[[YELLOW]], carreg Glow ac Uffern Cerrig.\n\n[[DARK_AQUA]] Sut i ddefnyddio Torri\'r Super\n[[YELLOW]] Gyda pickaxe yn eich llaw, dde chlecia at barod eich offeryn.\n[[YELLOW]] Unwaith yn y cyflwr hwn, mae gennych tua 4 eiliad i gysylltu\n[[YELLOW]] gyda deunyddiau Mwyngloddio cydnaws, a fydd yn activate Super\n[[YELLOW]] Torri\'r.\n\n[[DARK_AQUA]] Beth yw Super Torri\'r?\n[[YELLOW]] Super Torri\'r yn gallu gyda cooldown ynghlwm wrth y Mwyngloddio\n[[YELLOW]] sgiliau.\u00a0Mae\'n treblu\'r eich cyfle o eitemau ychwanegol ollwng a\n[[YELLOW]] yn galluogi egwyl yn syth ar ddeunyddiau Mwyngloddio.\n\n[[DARK_AQUA]] Sut i ddefnyddio Mwyngloddio Blast\n[[YELLOW]] Gyda ffrwydrwr mewn llaw, sy\'n dur fflint at ball,\n[[YELLOW]] de-gliciwch ar TNT o bellter.\u00a0Bydd hyn yn achosi i\'r TNT\n[[YELLOW]] i ffrwydro ar unwaith.\n\n[[DARK_AQUA]] Sut mae Mwyngloddio Chwyth?\n[[YELLOW]] Mwyngloddio Blast yn gallu gyda cooldown ynghlwm wrth y Mwyngloddio\n[[YELLOW]] sgiliau.\u00a0Mae\'n rhoi taliadau bonws wrth cloddio \u00e2 TNT ac yn caniat\u00e1u i chi\n[[YELLOW]] i anghysbell ffrwydro TNT.\u00a0Mae tair rhan i Blast Mwyngloddio.\n[[YELLOW]] Mae\'r rhan gyntaf yn Bomiau Bigger, sy\'n cynyddu\'r radiws chwyth.\n[[YELLOW]] Yr ail yw Dymchweliadau Arbenigol, sy\'n lleihau difrod\n[[YELLOW]] o ffrwydradau TNT.\u00a0Mae\'r drydedd ran yn syml yn cynyddu\'r\n[[YELLOW]] swm y mwynau gostwng o TNT a lleihau\'r\n[[YELLOW]] malurion gollwng.
|
||||||
Guides.Repair=Guide coming soon...
|
Guides.Repair=Guide coming soon...
|
||||||
Guides.Swords=Canllaw yn dod yn fuan ...
|
Guides.Swords=Canllaw yn dod yn fuan ...
|
||||||
Guides.Taming=Canllaw yn dod yn fuan ...
|
Guides.Taming=Canllaw yn dod yn fuan ...
|
||||||
@ -447,15 +447,15 @@ Inspect.TooFar=[[RED]]You are too far away to inspect that player!
|
|||||||
Item.ChimaeraWing.Fail=**CHIMAERA WING FAILED!**
|
Item.ChimaeraWing.Fail=**CHIMAERA WING FAILED!**
|
||||||
Item.ChimaeraWing.Pass=**CHIMAERA ADAIN**
|
Item.ChimaeraWing.Pass=**CHIMAERA ADAIN**
|
||||||
Item.Injured.Wait=You were injured recently and must wait to use this. [[YELLOW]]({0}s)
|
Item.Injured.Wait=You were injured recently and must wait to use this. [[YELLOW]]({0}s)
|
||||||
Skills.Disarmed=[[TYWYLL_COCH]] Rydych wedi cael eich diarfogi!
|
Skills.Disarmed=[[DARK_RED]] Rydych wedi cael eich diarfogi!
|
||||||
Skills.Header=[[RED]]-----[][[GREEN]]{0}[[RED]][]-----
|
Skills.Header=[[RED]]-----[][[GREEN]]{0}[[RED]][]-----
|
||||||
Skills.NeedMore=[[TYWYLL_COCH]] y bydd angen mwy o
|
Skills.NeedMore=[[DARK_RED]] y bydd angen mwy o
|
||||||
Skills.Stats=[[YELLOW]]{0}[[GREEN]]{1}[[DARK_AQUA]] XP([[GRAY]]{2}[[DARK_AQUA]]/[[GRAY]]{3}[[DARK_AQUA]])
|
Skills.Stats=[[YELLOW]]{0}[[GREEN]]{1}[[DARK_AQUA]] XP([[GRAY]]{2}[[DARK_AQUA]]/[[GRAY]]{3}[[DARK_AQUA]])
|
||||||
Skills.TooTired=[[COCH]] Yr ydych yn rhy flinedig i ddefnyddio\'r gallu eto.
|
Skills.TooTired=[[RED]] Yr ydych yn rhy flinedig i ddefnyddio\'r gallu eto.
|
||||||
Stats.Header.Combat=[[AUR]] - = GWRTHSEFYLL SGILIAU = -
|
Stats.Header.Combat=[[GOLD]] - = GWRTHSEFYLL SGILIAU = -
|
||||||
Stats.Header.Gathering=[[AUR]] -= CASGLU SGILIAU = = -
|
Stats.Header.Gathering=[[GOLD]] -= CASGLU SGILIAU = = -
|
||||||
Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
|
Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
|
||||||
Stats.Own.Stats=[[GWYRDD]][mcMMO] Ystadegau
|
Stats.Own.Stats=[[GREEN]][mcMMO] Ystadegau
|
||||||
Perks.xp.name=Experience
|
Perks.xp.name=Experience
|
||||||
Perks.xp.desc=Receive {0}x XP.
|
Perks.xp.desc=Receive {0}x XP.
|
||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
|
@ -86,7 +86,7 @@ Fishing.Effect.4=Shake (vs. Entities)
|
|||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.6=Fisherman\'s Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]Du har fundet en skat!
|
Fishing.ItemFound=[[GRAY]Du har fundet en skat!
|
||||||
Fishing.Listener=Fishing:
|
Fishing.Listener=Fishing:
|
||||||
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
||||||
|
@ -1,471 +1,533 @@
|
|||||||
Acrobatics.Ability.Proc=[[GREEN]]**Graceful Landing**
|
# de locale file v2.0
|
||||||
|
#
|
||||||
|
#Build_________|Translator________#
|
||||||
|
# >1.3.11 | Jobsti #
|
||||||
|
# >1.3.13 | Jobsti #
|
||||||
|
# ***** | ****** #
|
||||||
|
#---------------------------------#
|
||||||
|
|
||||||
|
#AKROBATIK
|
||||||
|
Acrobatics.Ability.Proc=[[GREEN]]**Grazi\u00F6s Abgerollt**
|
||||||
Acrobatics.Combat.Proc=[[GREEN]]**Ausgewichen**
|
Acrobatics.Combat.Proc=[[GREEN]]**Ausgewichen**
|
||||||
Acrobatics.DodgeChance=[[RED]]Dodge Chance: [[YELLOW]]{0}%
|
Acrobatics.DodgeChance=[[RED]]Ausweich-Chance: [[YELLOW]]{0}%
|
||||||
Acrobatics.Effect.0=Roll
|
Acrobatics.Effect.0=Rolle
|
||||||
Acrobatics.Effect.1=Reduces or Negates fall damage
|
Acrobatics.Effect.1=Reduziert oder negiert Fall-Schaden
|
||||||
Acrobatics.Effect.2=Graceful Roll
|
Acrobatics.Effect.2=Grazi\u00F6se Rolle
|
||||||
Acrobatics.Effect.3=Twice as effective as a normal Roll
|
Acrobatics.Effect.3=Doppelte Effektivit\u00E4t der Rolle
|
||||||
Acrobatics.Effect.4=Dodge
|
Acrobatics.Effect.4=Ausweichen
|
||||||
Acrobatics.Effect.5=Reduce attack damage by half
|
Acrobatics.Effect.5=Halbiert Angriffschaden
|
||||||
Acrobatics.Listener=Akrobatik:
|
Acrobatics.Listener=Akrobatik:
|
||||||
Acrobatics.Roll.Chance=[[RED]]Roll Chance: [[YELLOW]]{0}%
|
Acrobatics.Roll.Chance=[[RED]]Rolle-Chance: [[YELLOW]]{0}%
|
||||||
Acrobatics.Roll.GraceChance=[[RED]]Graceful Roll Chance: [[YELLOW]]{0}%
|
Acrobatics.Roll.GraceChance=[[RED]]Grazi\u00F6se Rolle-Chance: [[YELLOW]]{0}%
|
||||||
Acrobatics.Roll.Text=**Rolled**
|
Acrobatics.Roll.Text=**Abgerollt**
|
||||||
Acrobatics.SkillName=AKROBATIK
|
Acrobatics.SkillName=AKROBATIK
|
||||||
Acrobatics.Skillup=[[YELLOW]]Acrobatik Fertigkeit ist um {0} gestiegen. Gesamt ({1})
|
Acrobatics.Skillup=[[YELLOW]]Akrobatik Skill um {0} gestiegen. Gesamt ({1})
|
||||||
Archery.Combat.DazeChance=[[RED]]Chance to Daze: [[YELLOW]]{0}%
|
|
||||||
Archery.Combat.RetrieveChance=[[RED]]Chance Pfeile wiederzuerlangen: [[YELLOW]]{0}%
|
#BOGEN
|
||||||
Archery.Combat.SkillshotBonus=[[RED]]Skill Shot Bonus Damage: [[YELLOW]]{0}
|
Archery.Combat.DazeChance=[[RED]]Chance auf Bet\u00E4ubung: [[YELLOW]]{0}%
|
||||||
Archery.Effect.0=Skill Shot
|
Archery.Combat.RetrieveChance=[[RED]]Chance auf Pfeil-R\u00FCckgewinnung: [[YELLOW]]{0}%
|
||||||
Archery.Effect.1=Erh\u00f6ht Schaden von B\u00f6gen
|
Archery.Combat.SkillshotBonus=[[RED]]Kunstschuss Zusatzschaden: [[YELLOW]]{0}
|
||||||
Archery.Effect.2=Daze (Players)
|
Archery.Effect.0=Kunstschuss
|
||||||
Archery.Effect.3=Disorients foes and deals 4 DMG
|
Archery.Effect.1=Erh\u00F6ht Schaden vom Bogen
|
||||||
Archery.Effect.4=Arrow Retrieval
|
Archery.Effect.2=Bet\u00E4ubung (Spieler)
|
||||||
Archery.Effect.5=Chance to retrieve arrows from corpses
|
Archery.Effect.3=Verwirrt Feinde und verursacht 4 Schaden
|
||||||
Archery.Listener=Bogenschie\u00dfen
|
Archery.Effect.4=Pfeil-R\u00FCckgewinnung
|
||||||
Archery.SkillName=BOGENSCHIE\u00dfEN
|
Archery.Effect.5=Chance auf Pfeil-R\u00FCckgewinnung von Leichen
|
||||||
Archery.Skillup=[[YELLOW]]Bogenschiessen Fertigkeit ist um {0} gestiegen. Gesamt ({1})
|
Archery.Listener=Bogen:
|
||||||
Axes.Ability.Bonus.0=Axt Beherrschung
|
Archery.SkillName=BOGEN
|
||||||
Axes.Ability.Bonus.1=Bonus {0} damage
|
Archery.Skillup=[[YELLOW]]Bogen Skill um {0} gestiegen. Gesamt ({1})
|
||||||
|
|
||||||
|
# AXES
|
||||||
|
Axes.Ability.Bonus.0=Axt-Beherrschung
|
||||||
|
Axes.Ability.Bonus.1={0} Zusatz-Schaden
|
||||||
Axes.Ability.Bonus.2=Wucht
|
Axes.Ability.Bonus.2=Wucht
|
||||||
Axes.Ability.Bonus.3=Deal {0} Bonus DMG to armor
|
Axes.Ability.Bonus.3=Veraursacht {0} Zusatz-Schaden gegen R\u00FCstung
|
||||||
Axes.Ability.Bonus.4=Greater Impact
|
Axes.Ability.Bonus.4=Wucht-Schlag
|
||||||
Axes.Ability.Bonus.5=Deal {0} Bonus DMG to unarmored foes
|
Axes.Ability.Bonus.5=Veraursacht {0} Zusatz-Schaden gegen ungepanzerte Feinde
|
||||||
Axes.Ability.Lower=[[GRAY]]**YOU LOWER YOUR AXE**
|
Axes.Ability.Lower=[[GRAY]]**Du senkst deine Axt**
|
||||||
Axes.Ability.Ready=[[GREEN]]**YOU READY YOUR AXE**
|
Axes.Ability.Ready=[[GREEN]]**Deine Axt ist bereit**
|
||||||
Axes.Combat.Cleave.Proc=[[DARK_RED]]Struck by CLEAVE!
|
Axes.Combat.Cleave.Proc=[[DARK_RED]]AUSGESCHALTET durch SCHLITZER!
|
||||||
Axes.Combat.CritStruck=[[DARK_RED]]Du hast einen KRITISCHEN Treffer eingesteckt!
|
Axes.Combat.CritStruck=[[DARK_RED]]Du wurdest KRITISCH getroffen!
|
||||||
Axes.Combat.CritChance=[[RED]]Chance to critically strike: [[YELLOW]]{0}%
|
Axes.Combat.CritChance=[[RED]]Chance auf kritischen Treffer: [[YELLOW]]{0}%
|
||||||
Axes.Combat.CriticalHit=[[RED]]Kritischer Treffer!
|
Axes.Combat.CriticalHit=[[RED]]KRITISCHER TREFFER!
|
||||||
Axes.Combat.GI.Proc=[[GREEN]]**STRUCK WITH GREAT FORCE**
|
Axes.Combat.GI.Proc=[[GREEN]]**AUSGESCHALTET durch GEWALT SCHLAG**
|
||||||
Axes.Combat.GI.Struck=[[RED]]**Getroffen mit grosser Wucht**
|
Axes.Combat.GI.Struck=[[RED]]**Von WUCHT-SCHLAG getroffen**
|
||||||
Axes.Combat.SS.Length=[[RED]]Sch\u00e4delspalter Dauer: [[YELLOW]]{0}s
|
Axes.Combat.SS.Length=[[RED]]Sch\u00E4del-Spalter Dauer: [[YELLOW]]{0}s
|
||||||
Axes.Effect.0=Sch\u00e4delspalter (F\u00e4higkeit)
|
Axes.Effect.0=Sch\u00E4del-Spalter (F\u00E4higkeit)
|
||||||
Axes.Effect.1=Deal AoE Damage
|
Axes.Effect.1=Verursacht Umgebungsschaden
|
||||||
Axes.Effect.2=Kritische Treffer
|
Axes.Effect.2=Kritische Treffer
|
||||||
Axes.Effect.3=Doppelter Schaden
|
Axes.Effect.3=Doppelter Schaden
|
||||||
Axes.Effect.4=Axt Beherrschung
|
Axes.Effect.4=Axt-Beherrschung
|
||||||
Axes.Effect.5=F\u00fcgt zus\u00e4tzlichen Schaden hinzu
|
Axes.Effect.5=Verursacht Bonus-Schaden
|
||||||
Axes.Effect.6=Wucht
|
Axes.Effect.6=Wucht
|
||||||
Axes.Effect.7=Strike with enough force to shatter armor
|
Axes.Effect.7=Treffe mit gen\u00FCgend Gewalt zum R\u00FCstung zerschmettern
|
||||||
Axes.Effect.8=Greater Impact
|
Axes.Effect.8=Wucht-Schlag
|
||||||
Axes.Effect.9=F\u00fcgt ungepanzerten Zielen zus\u00e4tzlichen Schaden zu
|
Axes.Effect.9=Zusatz-Schaden gegen ungepanzerte Feinde
|
||||||
Axes.Listener=\u00c4xte:
|
Axes.Listener=Axt:
|
||||||
Axes.SkillName=\u00c4XTE
|
Axes.SkillName=AXT
|
||||||
Axes.Skills.SS.Off=[[RED]]**Skull Splitter has worn off**
|
Axes.Skills.SS.Off=[[RED]]**Sch\u00E4del-Spalter abgenutzt**
|
||||||
Axes.Skills.SS.On=[[GREEN]]**Sch\u00e4delspalter AKTIVIERT**
|
Axes.Skills.SS.On=[[GREEN]]**Sch\u00E4del-Spalter AKTIVIERT**
|
||||||
Axes.Skills.SS.Refresh=[[GREEN]]Deine [[YELLOW]]Sch\u00e4delspalter [[GREEN]]-F\u00e4higkeit ist bereit!
|
Axes.Skills.SS.Refresh=[[GREEN]]Dein [[YELLOW]]Sch\u00E4del-Spalter [[GREEN]]ist wieder bereit!
|
||||||
Axes.Skills.SS.Other.Off=[[RED]]Skull Splitter[[GREEN]] has worn off for [[YELLOW]]{0}
|
Axes.Skills.SS.Other.Off=[[YELLOW]]{0}s [[RED]]Sch\u00E4del-Spalter[[GREEN]] ist [[GREEN]]abgenutzt
|
||||||
Axes.Skills.SS.Other.On=[[GREEN]]{0}[[DARK_GREEN]] hat [[RED]]Sch\u00e4delspalter eingesetzt!
|
Axes.Skills.SS.Other.On=[[GREEN]]{0}[[DARK_GREEN]] benutzte [[RED]]Sch\u00E4del-Spalter!
|
||||||
Axes.Skillup=[[YELLOW]]Axt Fertigkeit ist um {0} gestiegen. Gesamt ({1})
|
Axes.Skillup=[[YELLOW]]Axt Skill um {0} gestiegen. Gesamt ({1})
|
||||||
Excavation.Ability.Lower=[[GRAY]]**YOU LOWER YOUR SHOVEL**
|
|
||||||
Excavation.Ability.Ready=[[GREEN]]**YOU READY YOUR SHOVEL**
|
#GRABEN
|
||||||
Excavation.Effect.0=Giga Drill Breaker (ABILITY)
|
Excavation.Ability.Lower=[[GRAY]]**Du senkst deine SCHAUFEL**
|
||||||
Excavation.Effect.1=3x Drop Rate, 3x EXP, +Speed
|
Excavation.Ability.Ready=[[GREEN]]**Deine SCHAUFEL ist bereit**
|
||||||
Excavation.Effect.2=Schatzj\u00e4ger
|
Excavation.Effect.0=Giga Bohrhammer (F\u00E4higkeit)
|
||||||
Excavation.Effect.3=Die F\u00e4higkeit, nach Sch\u00e4tzen zu Graben
|
Excavation.Effect.1=3x Drop Rate, 3x EXP, +Geschwindigkeit
|
||||||
Excavation.Effect.Length=[[RED]]Giga Drill Breaker Length: [[YELLOW]]{0}s
|
Excavation.Effect.2=Schatz-J\u00E4ger
|
||||||
|
Excavation.Effect.3=F\u00E4higkeit nach Sch\u00E4tzen zu graben
|
||||||
|
Excavation.Effect.Length=[[RED]]Giga Bohrhammer Dauer: [[YELLOW]]{0}s
|
||||||
Excavation.Listener=Graben:
|
Excavation.Listener=Graben:
|
||||||
Excavation.SkillName=AUSGRABUNG
|
Excavation.SkillName=GRABEN
|
||||||
Excavation.Skills.GigaDrillBreaker.Off=[[RED]]**Giga Drill Breaker has worn off**
|
Excavation.Skills.GigaDrillBreaker.Off=[[RED]]**Giga Bohrhammer ausgelaufen**
|
||||||
Excavation.Skills.GigaDrillBreaker.On=[[GREEN]]**GIGA DRILL BREAKER ACTIVATED**
|
Excavation.Skills.GigaDrillBreaker.On=[[GREEN]]**Giga Bohrhammer AKTIVIERT**
|
||||||
Excavation.Skills.GigaDrillBreaker.Refresh=[[GREEN]]Your [[YELLOW]]Giga Drill Breaker [[GREEN]]ability is refreshed!
|
Excavation.Skills.GigaDrillBreaker.Refresh=[[GREEN]]Dein [[YELLOW]]Giga Bohrhammer [[GREEN]]ist wieder bereit!
|
||||||
Excavation.Skills.GigaDrillBreaker.Other.Off=[[RED]]Giga Drill Breaker[[GREEN]] has worn off for [[YELLOW]]{0}
|
Excavation.Skills.GigaDrillBreaker.Other.Off=[[YELLOW]]{0}s [[RED]]Giga Bohrhammer[[GREEN]] ist [[GREEN]]ausgelaufen
|
||||||
Excavation.Skills.GigaDrillBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Giga Drill Breaker!
|
Excavation.Skills.GigaDrillBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]] benutzte [[RED]]Giga Bohrhammer!
|
||||||
Excavation.Skillup=[[YELLOW]]Graben Fertigkeit ist um {0} gestiegen. Gesamt ({1})
|
Excavation.Skillup=[[YELLOW]]Graben Skill um {0} gestiegen. Gesamt ({1})
|
||||||
Fishing.Ability.Info=[[RED]]Magiej\u00e4ger: [[GRAY]] **Verbessert sich mit Schatzj\u00e4ger Rang**
|
|
||||||
Fishing.Ability.Locked.0=LOCKED UNTIL {0}+ SKILL (SHAKE)
|
#ANGELN
|
||||||
Fishing.Ability.Rank=[[RED]]Schatzj\u00e4ger Rang: [[YELLOW]]{0}/5
|
Fishing.Ability.Info=[[RED]]Zauber-J\u00E4ger: [[GRAY]] **Verbessert sich mit Schatz-J\u00E4ger Rang**
|
||||||
Fishing.Ability.Shake=[[RED]]Shake Chance: [[YELLOW]]{0}%
|
Fishing.Ability.Locked.0=GESPERRT bis Skill Skill {0}+ (Reissen)
|
||||||
Fishing.Ability.FD=[[RED]]Fisherman\'\'s Diet: [[YELLOW]]Rank {0}
|
Fishing.Ability.Rank=[[RED]]Schatz-J\u00E4ger Rang: [[YELLOW]]{0}/5
|
||||||
Fishing.Effect.0=Schatzj\u00e4ger (Passiv)
|
Fishing.Ability.Shake=[[RED]]Reissen-Chance: [[YELLOW]]{0}%
|
||||||
Fishing.Effect.1=Fish up misc. objects
|
Fishing.Ability.FD=[[RED]]Fischer-Mahlzeit Rang: [[YELLOW]]{0}
|
||||||
Fishing.Effect.2=Magiej\u00e4ger
|
Fishing.Effect.0=Schatz-J\u00E4ger (Passiv)
|
||||||
Fishing.Effect.3=Find Enchanted Items
|
Fishing.Effect.1=Angle verschiedene Objekte
|
||||||
Fishing.Effect.4=Shake (vs. Entities)
|
Fishing.Effect.2=Zauber-J\u00E4ger
|
||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
Fishing.Effect.3=Finde verzauberte Gegenst\u00E4nde
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.4=Reissen (vs. Dinge)
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.5=Reisse per Angel Gegenst\u00E4nde aus den Mobs
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Effect.6=Fischer-Mahlzeit
|
||||||
|
Fishing.Effect.7=Verbessert Effizienz von geangelter Nahrung
|
||||||
|
Fishing.Enchant.Chance=[[RED]]Zauber-J\u00E4ger Chance: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[AQUA]]Du hast einen Schatz gefunden!
|
Fishing.ItemFound=[[AQUA]]Du hast einen Schatz gefunden!
|
||||||
Fishing.Listener=Angeln:
|
Fishing.Listener=Angeln:
|
||||||
Fishing.MagicFound=[[AQUA]]Du hast etwas magisches gefunden...
|
Fishing.MagicFound=[[AQUA]]Dich ber\u00FChrt ein leichter Zauber bei diesem Fang...
|
||||||
Fishing.SkillName=FISHING
|
Fishing.SkillName=ANGELN
|
||||||
Fishing.Skillup=[[YELLOW]]Fishing skill increased by {0}. Total ({1})
|
Fishing.Skillup=[[YELLOW]]Angel Skill um {0} gestiegen. Gesamt ({1})
|
||||||
Herbalism.Ability.DoubleDropChance=[[RED]]Double Drop Chance: [[YELLOW]]{0}%
|
|
||||||
Herbalism.Ability.FD=[[RED]]Farmers Diet: [[YELLOW]]Rank {0}
|
#PFLANZENKUNDE
|
||||||
Herbalism.Ability.GTe.Length=[[RED]]Green Terra Length: [[YELLOW]]{0}s
|
Herbalism.Ability.DoubleDropChance=[[RED]]Chance auf Doppel-Drops: [[YELLOW]]{0}%
|
||||||
Herbalism.Ability.GTh.Chance=[[RED]]Green Thumb Chance: [[YELLOW]]{0}%
|
Herbalism.Ability.FD=[[RED]]Bauernfr\u00FChst\u00FCck Rang:[[YELLOW]] {0}
|
||||||
Herbalism.Ability.GTh.Fail=[[RED]]**GREEN THUMB FAIL**
|
Herbalism.Ability.GTe.Length=[[RED]]Gr\u00FCnes Land Dauer: [[YELLOW]]{0}s
|
||||||
Herbalism.Ability.GTh.Stage=[[RED]]Green Thumb Stage: [[YELLOW]] Crops grow in stage {0}
|
Herbalism.Ability.GTh.Chance=[[RED]]Gr\u00FCner Daumen Chance: [[YELLOW]]{0}%
|
||||||
Herbalism.Ability.GTh=[[GREEN]]**Gr\u00fcner Daumen**
|
Herbalism.Ability.GTh.Fail=[[RED]]**Gr\u00FCner Daumen GESCHEITERT**
|
||||||
Herbalism.Ability.Lower=[[GRAY]]**YOU LOWER YOUR HOE**
|
Herbalism.Ability.GTh.Stage=[[RED]]Gr\u00FCner Daumen Stufe: [[YELLOW]] Weizen w\u00E4chst auf Stufe {0}
|
||||||
Herbalism.Ability.Ready=[[GREEN]]**YOU READY YOUR HOE**
|
Herbalism.Ability.GTh=[[GREEN]]**GR\u00DCNER DAUMEN**
|
||||||
Herbalism.Effect.0=Green Terra (ABILITY)
|
Herbalism.Ability.Lower=[[GRAY]]**Du senkst deine HARKE**
|
||||||
Herbalism.Effect.1=Spread the Terra, 3x Drops
|
Herbalism.Ability.Ready=[[GREEN]]**Deine HARKE ist bereit**
|
||||||
Herbalism.Effect.2=Green Thumb (Wheat)
|
Herbalism.Effect.0=Gr\u00FCnes Land (F\u00E4higkeit)
|
||||||
Herbalism.Effect.3=Auto-Plants crops when harvesting
|
Herbalism.Effect.1=Farme das Land, 3x Drops
|
||||||
Herbalism.Effect.4=Green Thumb (Cobble/Stone Brick/Dirt)
|
Herbalism.Effect.2=Gr\u00FCner Daumen (Weizen)
|
||||||
Herbalism.Effect.5=Make bricks mossy, or make grass grow
|
Herbalism.Effect.3=Auto-Saht, s\u00E4ht Weizen wenn abgeerntet
|
||||||
Herbalism.Effect.6=Farmer\'s Diet
|
Herbalism.Effect.4=Gr\u00FCner Daumen (Cobble/Stone Brick/Dirt)
|
||||||
Herbalism.Effect.7=Improves hunger restored from farmed foods
|
Herbalism.Effect.5=Macht Bricks zu Mossy-Bricks, l\u00E4sst Gras wachsen
|
||||||
Herbalism.Effect.8=Double Drops (All Herbs)
|
Herbalism.Effect.6=Bauernfr\u00FChst\u00FCck
|
||||||
Herbalism.Effect.9=Verdoppelt die normale Ausbeute
|
Herbalism.Effect.7=Erh\u00F6ht Effektivit\u00E4t von geframter Nahrung
|
||||||
Herbalism.Listener=Kr\u00e4uterkunde:
|
Herbalism.Effect.8=Doppel Drops (Alle Pflanzen)
|
||||||
Herbalism.SkillName=KR\u00c4UTERKUNDE
|
Herbalism.Effect.9=Verdoppelt die normale Ausbeute (Loot)
|
||||||
Herbalism.Skills.GTe.Off=[[RED]]**Green Terra has worn off**
|
Herbalism.Listener=Pflanzenkunde:
|
||||||
Herbalism.Skills.GTe.On=[[GREEN]]**GREEN TERRA ACTIVATED**
|
Herbalism.SkillName=PFLANZENKUNDE
|
||||||
Herbalism.Skills.GTe.Refresh=[[GREEN]]Your [[YELLOW]]Green Terra [[GREEN]]ability is refreshed!
|
Herbalism.Skills.GTe.Off=[[RED]]**Gr\u00FCnes Land ist ausgelaufen**
|
||||||
Herbalism.Skills.GTe.Other.Off=[[RED]]Gr\u00fcner Daumen[[GREEN]] f\u00fcr [[YELLOW]]{0}[[GREEN]]ausgelaufen!
|
Herbalism.Skills.GTe.On=[[GREEN]]**Gr\u00FCnes Land AKTIVIERT**
|
||||||
Herbalism.Skills.GTe.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Green Terra!
|
Herbalism.Skills.GTe.Refresh=[[GREEN]]Deine [[YELLOW]]Gr\u00FCnes Land [[GREEN]]F\u00E4higkeit ist wieder bereit!
|
||||||
Herbalism.Skillup=[[YELLOW]]Kr\u00e4uterkunde Fertigkeit ist um {0} gestiegen. Gesamt ({1})
|
Herbalism.Skills.GTe.Other.Off=[[YELLOW]]{0}s [[RED]]Gr\u00FCnes Land[[GREEN]] ist [[GREEN]]ausgelaufen.
|
||||||
Mining.Ability.Length=[[RED]]Super Brecher Dauer: [[YELLOW]]{0}s
|
Herbalism.Skills.GTe.Other.On=[[GREEN]]{0}[[DARK_GREEN]] benutzte [[RED]]Gr\u00FCnes Land!
|
||||||
Mining.Ability.Locked.0=LOCKED UNTIL {0}+ SKILL (BLAST MINING)
|
Herbalism.Skillup=[[YELLOW]]Pflanzenkunde Skill um {0} gestiegen. Gesamt ({1})
|
||||||
Mining.Ability.Locked.1=LOCKED UNTIL {0}+ SKILL (BIGGER BOMBS)
|
|
||||||
Mining.Ability.Locked.2=LOCKED UNTIL {0}+ SKILL (DEMOLITIONS EXPERTISE)
|
#BERGBAU
|
||||||
Mining.Ability.Lower=[[GRAY]]**Du hast deine Spitzhacke abgesenkt**
|
Mining.Ability.Length=[[RED]]Super-Brecher Dauer: [[YELLOW]]{0}s
|
||||||
Mining.Ability.Ready=[[GREEN]]**DU Z\u00dcCKST DEINE SPITZHACKE**
|
Mining.Ability.Locked.0=GESPERRT bis Skill {0}+ (Z\u00FCndstoff)
|
||||||
Mining.Effect.0=Super Breaker (ABILITY)
|
Mining.Ability.Locked.1=GESPERRT bis Skill {0}+ (Sprengmeister)
|
||||||
Mining.Effect.1=Speed+, Triple Drop Chance
|
Mining.Ability.Locked.2=GESPERRT bis Skill {0}+ (Explosions-Experte)
|
||||||
Mining.Effect.2=Doppelte Ausbeute
|
Mining.Ability.Lower=[[GRAY]]**Du senkst deine SPITZHACKE**
|
||||||
Mining.Effect.3=Verdoppelt die normale Ausbeute
|
Mining.Ability.Ready=[[GREEN]]**Deine SPITZHACKE ist bereit**
|
||||||
Mining.Effect.4=Blast Mining
|
Mining.Effect.0=Super-Brecher (F\u00E4higkeit)
|
||||||
Mining.Effect.5=Bonuses to mining with TNT
|
Mining.Effect.1=Speed+, Dreifach-Drop Chance
|
||||||
Mining.Effect.6=Bigger Bombs
|
Mining.Effect.2=Doppel Drops
|
||||||
Mining.Effect.7=Erh\u00f6hte TNT Explosionsreichweite
|
Mining.Effect.3=Verdoppelt die normale Ausbeute (Loot)
|
||||||
Mining.Effect.8=Demolitions Expertise
|
Mining.Effect.4=Z\u00FCndstoff
|
||||||
Mining.Effect.9=Decreases damage from TNT explosions
|
Mining.Effect.5=Bonus beim Abbaue mit TNT
|
||||||
Mining.Effect.Decrease=[[RED]]Demolitions Expert Damage Decrease: [[YELLOW]]{0}
|
Mining.Effect.6=Sprengmeister
|
||||||
Mining.Effect.DropChance=[[RED]]Double Drop Chance: [[YELLOW]]{0}%
|
Mining.Effect.7=Erh\u00F6ht den Explosions-Radius
|
||||||
|
Mining.Effect.8=Explosions-Experte
|
||||||
|
Mining.Effect.9=Reduziert den Schaden durch TNT Explosinen
|
||||||
|
Mining.Effect.Decrease=[[RED]]Explosions-Experte Schadensreduzierung: [[YELLOW]]{0}
|
||||||
|
Mining.Effect.DropChance=[[RED]]Doppel Drop Chance: [[YELLOW]]{0}%
|
||||||
Mining.Listener=Bergbau:
|
Mining.Listener=Bergbau:
|
||||||
Mining.SkillName=BERGBAU
|
Mining.SkillName=BERGBAU
|
||||||
Mining.Skills.SuperBreaker.Off=[[RED]]**Super Breaker has worn off**
|
Mining.Skills.SuperBreaker.Off=[[RED]]**Super-Brecher ist ausgelaufen**
|
||||||
Mining.Skills.SuperBreaker.On=[[GREEN]]**SUPER BREAKER ACTIVATED**
|
Mining.Skills.SuperBreaker.On=[[GREEN]]**Super-Brecher AKTIVIERT**
|
||||||
Mining.Skills.SuperBreaker.Other.Off=[[RED]]Super Breaker[[GREEN]] has worn off for [[YELLOW]]{0}
|
Mining.Skills.SuperBreaker.Other.Off=[[YELLOW]]{0}s [[RED]]Super-Brecher[[GREEN]] ist [[GREEN]]ausgelaufen.
|
||||||
Mining.Skills.SuperBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Super Breaker!
|
Mining.Skills.SuperBreaker.Other.On=[[GREEN]]{0}[[DARK_GREEN]] benutzte [[RED]]Super-Brecher!
|
||||||
Mining.Skills.SuperBreaker.Refresh=[[GREEN]]Dein [[YELLOW]]Super Brecher [[GREEN]]ist wieder bereit!
|
Mining.Skills.SuperBreaker.Refresh=[[GREEN]]Dein [[YELLOW]]Super-Brecher [[GREEN]]ist wieder bereit!
|
||||||
Mining.Skillup=[[YELLOW]]Bergbau Fertigkeit ist um {0} gestiegen. Gesamt ({1})
|
Mining.Skillup=[[YELLOW]]Bergbau Skill um {0} gestiegen. Gesamt ({1})
|
||||||
|
|
||||||
|
#Z\u00FCndstoff
|
||||||
Mining.Blast.Boom=[[GRAY]]**BOOM**
|
Mining.Blast.Boom=[[GRAY]]**BOOM**
|
||||||
Mining.Blast.Effect.0=+35% ore yield
|
Mining.Blast.Effect.0=+35% Erz-Ausbeute
|
||||||
Mining.Blast.Effect.1=+40% ore yield
|
Mining.Blast.Effect.1=+40% Erz-Ausbeute
|
||||||
Mining.Blast.Effect.2=+45% ore yield, no debris
|
Mining.Blast.Effect.2=+45% Erz-Ausbeute, kein Schutt
|
||||||
Mining.Blast.Effect.3=+50% ore yield, no debris
|
Mining.Blast.Effect.3=+50% Erz-Ausbeute, kein Schutt
|
||||||
Mining.Blast.Effect.4=+55% ore yield, no debris, double drops
|
Mining.Blast.Effect.4=+55% Erz-Ausbeute, kein Schutt, Doppel-Drops
|
||||||
Mining.Blast.Effect.5=+60% ore yield, no debris, double drops
|
Mining.Blast.Effect.5=+60% Erz-Ausbeute, kein Schutt, Doppel-Drops
|
||||||
Mining.Blast.Effect.6=+65% ore yield, no debris, triple drops
|
Mining.Blast.Effect.6=+65% Erz-Ausbeute, kein Schutt, Dreifach-Drops
|
||||||
Mining.Blast.Effect.7=+70% ore yield, no debris, triple drops
|
Mining.Blast.Effect.7=+70% Erz-Ausbeute, kein Schutt, Dreifach-Drops
|
||||||
Mining.Blast.Radius.Increase=[[RED]]Blast Radius Increase: [[YELLOW]]+{0}
|
Mining.Blast.Radius.Increase=[[RED]]Z\u00FCndstoff Radius Erh\u00F6hung: [[YELLOW]]+{0}
|
||||||
Mining.Blast.Rank=[[RED]]Blast Mining: [[YELLOW]] Rank {0}/8 [[GRAY]]({1})
|
Mining.Blast.Rank=[[RED]]Z\u00FCndstoff Rang:[[YELLOW]] {0}/8 [[GRAY]]({1})
|
||||||
Mining.Blast.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Blast Mining!
|
Mining.Blast.Other.On=[[GREEN]]{0}[[DARK_GREEN]] benutzte [[RED]]Z\u00FCndstoff!
|
||||||
Mining.Blast.Refresh=[[GREEN]]Deine [[YELLOW]]explosiv Bergbau [[GREEN]]F\u00e4higkeit ist erneuert!
|
Mining.Blast.Refresh=[[GREEN]]Dein [[YELLOW]]Z\u00FCndstoff [[GREEN]]ist wieder bereit!
|
||||||
Repair.Effect.0=Reparieren
|
|
||||||
Repair.Effect.1=Repair Tools & Armor
|
#REPARATUR
|
||||||
Repair.Effect.10=Gold Repair ({0}+ SKILL)
|
Repair.Effect.0=Reparatur
|
||||||
Repair.Effect.11=Repair Gold Tools & Armor
|
Repair.Effect.1=Repariere Werkzeuge & R\u00FCstung
|
||||||
Repair.Effect.12=Iron Repair ({0}+ SKILL)
|
Repair.Effect.10=Gold Reparatur ({0}+ SKILL)
|
||||||
Repair.Effect.13=Repair Iron Tools & Armor
|
Repair.Effect.11=Repariere Gold-Werkzeuge & R\u00FCstung
|
||||||
Repair.Effect.14=Stone Repair ({0}+ SKILL)
|
Repair.Effect.12=Eisen Reparatur ({0}+ SKILL)
|
||||||
Repair.Effect.15=Repair Stone Tools
|
Repair.Effect.13=Repariere Eisen-Werkzeuge & R\u00FCstung
|
||||||
Repair.Effect.2=Reparatur Beherrschung
|
Repair.Effect.14=Stein Reparatur ({0}+ SKILL)
|
||||||
Repair.Effect.3=Reparaturmenge erh\u00f6ht
|
Repair.Effect.15=Repariere Stein-Werkzeuge
|
||||||
Repair.Effect.4=Super Reparatur
|
Repair.Effect.2=Reparatur Meister
|
||||||
Repair.Effect.5=Doppelte Effektivit\u00e4t
|
Repair.Effect.3=Erh\u00F6ht den Reparatur-Wert
|
||||||
|
Repair.Effect.4=Super-Reparatur
|
||||||
|
Repair.Effect.5=Doppelte Effektivit\u00E4t
|
||||||
Repair.Effect.6=Diamant Reparatur ({0}+ SKILL)
|
Repair.Effect.6=Diamant Reparatur ({0}+ SKILL)
|
||||||
Repair.Effect.7=Repariere Diamant Werkzeug & R\u00fcstungen
|
Repair.Effect.7=Repariere Diamant-Werkzeuge & R\u00FCstung
|
||||||
Repair.Effect.8=Arkane Schmiedekunst
|
Repair.Effect.8=Arkanes Schmieden
|
||||||
Repair.Effect.9=Repariere magische Gegenst\u00e4nde
|
Repair.Effect.9=Repariere magische Gegenst\u00E4nde
|
||||||
Repair.Effect.16=Salvage ({0}+ SKILL)
|
Repair.Effect.16=Verwertung ({0}+ SKILL)
|
||||||
Repair.Effect.17=Salvage Tools & Armor
|
Repair.Effect.17=Verwerte Werkzeuge & R\u00FCstung
|
||||||
Repair.Listener.Anvil=[[DARK_RED]]Du hast einen Amboss plaziert, Ambosse k\u00f6nnen Waffen und R\u00fcstung reparieren.
|
Repair.Listener.Anvil=[[DARK_RED]]Du hast einen Amboss gebaut, hiermit kannst du R\u00FCstung und Werkzeug reparieren.
|
||||||
Repair.Listener.Anvil2=[[DARK_RED]]You have placed a Salvage anvil, use this to Salvage tools and armor.
|
Repair.Listener.Anvil2=[[DARK_RED]]Du hast einen Verwertungs-Amboss gebaut, hiermit kannst du R\u00FCstung und Werkzeug verwerten.
|
||||||
Repair.Listener=Reparieren:
|
Repair.Listener=Reparatur:
|
||||||
Repair.SkillName=Reparatur
|
Repair.SkillName=REPARATUR
|
||||||
Repair.Skills.AdeptSalvage=[[DARK_RED]]You\'re not skilled enough to Salvage items.
|
RepairRepair.Skills.AdeptSalvage=[[DARK_RED]]Du hast nicht gen\u00FCgend Skill zum Verwerten.
|
||||||
Repair.Skills.AdeptDiamond=[[DARK_RED]]Deine Fertigkeit ist nicht hoch genug, um Diamant zu reparieren.
|
Repair.Skills.AdeptDiamond=[[DARK_RED]]Du hast nicht gen\u00FCgend Skill um Diamant zu reparieren.
|
||||||
Repair.Skills.AdeptGold=[[DARK_RED]]Deine Fertigkeit ist nicht hoch genug um Gold zu reparieren.
|
Repair.Skills.AdeptGold=[[DARK_RED]]Du hast nicht gen\u00FCgend Skill um Gold zu reparieren.
|
||||||
Repair.Skills.AdeptIron=[[DARK_RED]]You\'re not skilled enough to repair Iron.
|
Repair.Skills.AdeptIron=[[DARK_RED]]Du hast nicht gen\u00FCgend Skill um Eisen zu reparieren
|
||||||
Repair.Skills.AdeptStone=[[DARK_RED]]Deine Fertigkeit ist nicht hoch genug, um Steine zu reparieren.
|
Repair.Skills.AdeptStone=[[DARK_RED]]Du hast nicht gen\u00FCgend Skill um Stein zu reparieren
|
||||||
Repair.Skills.Adept=[[RED]]You must be level [[YELLOW]]{0}[[RED]] to repair [[YELLOW]]{1}
|
Repair.Skills.Adept=[[RED]]Du ben\u00F6tigst Level [[YELLOW]]{0}[[RED]] um [[YELLOW]]{1} zu reparieren.
|
||||||
Repair.Skills.FeltEasy=[[GRAY]]That felt easy.
|
Repair.Skills.FeltEasy=[[GRAY]]Das f\u00FChlte sich einfach an.
|
||||||
Repair.Skills.FullDurability=[[GRAY]]That is at full durability.
|
Repair.Skills.FullDurability=[[GRAY]]Dieser Gegenstand hat volle Haltbarkeit.
|
||||||
Repair.Skills.SalvageSuccess=[[GRAY]]Item salvaged!
|
Repair.Skills.SalvageSuccess=[[GRAY]]Gegenstand verwertet!
|
||||||
Repair.Skills.NotFullDurability=[[DARK_RED]]You can\'t salvage damaged items.
|
Repair.Skills.NotFullDurability=[[DARK_RED]]Du kannst keine besch\u00E4digten Gegenst\u00E4nde verwerten.
|
||||||
Repair.Skills.Mastery=[[RED]]Repair Mastery: [[YELLOW]]Extra {0}% durability restored
|
Repair.Skills.Mastery=[[RED]]Reparatur-Meister: [[YELLOW]]{0}% Zusatz-Haltbarkeit.
|
||||||
Repair.Skills.StackedItems=[[DARK_RED]]Du kannst keine gestapelten Gegenst\u00e4nde reparieren.
|
Repair.Skills.StackedItems=[[DARK_RED]]Du kannst keine gestpaleten Gegenst\u00E4nde reparieren.
|
||||||
Repair.Skills.Super.Chance=[[RED]]Super Repair Chance: [[YELLOW]]{0}%
|
Repair.Skills.Super.Chance=[[RED]]Super-Reparatur Chance: [[YELLOW]]{0}%
|
||||||
Repair.Skillup=[[YELLOW]]Reparatur Fertigkeit ist um {0} gestiegen. Gesamt ({1})
|
Repair.Skillup=[[YELLOW]]Reparatur Skill um {0} gestiegen. Gesamt ({1})
|
||||||
Repair.Arcane.Chance.Downgrade=[[GRAY]]AF Downgrade Chance: [[YELLOW]]{0}%
|
|
||||||
Repair.Arcane.Chance.Success=[[GRAY]]AF Erfolgsrate: [[YELLOW]]{0}%
|
##ARKANES SCHMIEDEN
|
||||||
Repair.Arcane.Downgrade=[[RED]]Arcane power has decreased for this item.
|
Repair.Arcane.Chance.Downgrade=[[GRAY]]AS Verminderungs Chance: [[YELLOW]]{0}%
|
||||||
Repair.Arcane.Fail=[[RED]]Die geheimnisvolle Kraft hat den Gegenstand dauerhaft verlassen.
|
Repair.Arcane.Chance.Success=[[GRAY]]AS Erfolgs-Rate: [[YELLOW]]{0}%
|
||||||
Repair.Arcane.Lost=[[RED]]You were not skilled enough to keep any enchantments.
|
Repair.Arcane.Downgrade=[[RED]]Zauber-Wert des Gegenstands vermindert.
|
||||||
Repair.Arcane.Perfect=[[GREEN]]You have sustained the arcane energies in this item.
|
Repair.Arcane.Fail=[[RED]]Der Gegenstands wurde entzaubert.
|
||||||
Repair.Arcane.Rank=[[RED]]Arcane Forging: [[YELLOW]]Rank {0}/4
|
Repair.Arcane.Lost=[[RED]]Du hast nicht gen\u00FCgend Skill um Verzauberungen zu erhalten.
|
||||||
Swords.Ability.Lower=[[GRAY]]**Du hast dein Schwert abgesenkt**
|
Repair.Arcane.Perfect=[[GREEN]]Du hast den Zauber-Wert des Gegenstands erhalten.
|
||||||
Swords.Ability.Ready=[[GREEN]]**Du hebst dein Schwert**
|
Repair.Arcane.Rank=[[RED]]Arkanes Schmieden Rang: [[YELLOW]]{0}/4
|
||||||
Swords.Combat.Bleed.Chance=[[RED]]Bleed Chance: [[YELLOW]]{0}%
|
|
||||||
Swords.Combat.Bleed.Length=[[RED]]Bleed Length: [[YELLOW]]{0} ticks
|
#SCHWERTER
|
||||||
Swords.Combat.Bleed.Note=[[GRAY]]NOTE: [[YELLOW]]1 Tick happens every 2 seconds
|
Swords.Ability.Lower=[[GRAY]]**Du senkst dein SCHWERT**
|
||||||
Swords.Combat.Bleeding.Started=[[DARK_RED]] You\'re bleeding!
|
Swords.Ability.Ready=[[GREEN]]**Dein SCHWERT ist bereit**
|
||||||
Swords.Combat.Bleeding.Stopped=[[GRAY]]Das Bluten hat [[GREEN]]aufgeh\u00f6rt[[GRAY]]!
|
Swords.Combat.Bleed.Chance=[[RED]]Blutungs Chance: [[YELLOW]]{0}%
|
||||||
Swords.Combat.Bleeding=[[GREEN]]**Dein Feind blutet**
|
Swords.Combat.Bleed.Length=[[RED]]Blutungs Dauer: [[YELLOW]]{0} ticks
|
||||||
Swords.Combat.Counter.Chance=[[RED]]Counter Attack Chance: [[YELLOW]]{0}%
|
Swords.Combat.Bleed.Note=[[GRAY]]Info: [[YELLOW]]1 Tick tritt alle 2 Sekunden ein.
|
||||||
Swords.Combat.Counter.Hit=[[DARK_RED]]Hit with a counter-attack!
|
Swords.Combat.Bleeding.Started=[[DARK_RED]] Du blutest!
|
||||||
Swords.Combat.Countered=[[GREEN]]**Gegenangriff**
|
Swords.Combat.Bleeding.Stopped=[[GRAY]]Die Blutung [[GREEN]]stoppt[[GRAY]]!
|
||||||
Swords.Combat.SS.Struck=[[DARK_RED]]Struck by SERRATED STRIKES!
|
Swords.Combat.Bleeding=[[GREEN]]**GEGNER BLUTET**
|
||||||
|
Swords.Combat.Counter.Chance=[[RED]]Gegenangriff Chance: [[YELLOW]]{0}%
|
||||||
|
Swords.Combat.Counter.Hit=[[DARK_RED]]Treffer durch Gegenangriff!
|
||||||
|
Swords.Combat.Countered=[[GREEN]]**GEGENANGRIFF**
|
||||||
|
Swords.Combat.SS.Struck=[[DARK_RED]]Getroffen von S\u00C4GEZAHNSCHLAG!
|
||||||
Swords.Effect.0=Gegenangriff
|
Swords.Effect.0=Gegenangriff
|
||||||
Swords.Effect.1=Reflect 50% of damage taken
|
Swords.Effect.1=Reflektiert 50% des erhaltenen Schadens
|
||||||
Swords.Effect.2=Serrated Strikes (ABILITY)
|
Swords.Effect.2=S\u00E4gezahnschlag (F\u00E4higkeit)
|
||||||
Swords.Effect.3=25% DMG AoE, Bleed+ AoE
|
Swords.Effect.3=25% Umgebungsschaden, Blutung+
|
||||||
Swords.Effect.4=Serrated Strikes Bleed+
|
Swords.Effect.4=S\u00E4gezahnschlag, Blutung+
|
||||||
Swords.Effect.5=5 Tick Bleed
|
Swords.Effect.5=5 Ticks Blutung
|
||||||
Swords.Effect.6=Bleed
|
Swords.Effect.6=Blutung
|
||||||
Swords.Effect.7=Apply a bleed DoT
|
Swords.Effect.7=Verursacht Blutungsschaden \u00FCber Zeit (DoT)
|
||||||
Swords.Listener=Schwerter:
|
Swords.Listener=Schwert:
|
||||||
Swords.SkillName=SCHWERTER
|
Swords.SkillName=SCHWERT
|
||||||
Swords.Skills.SS.Off=[[RED]]**Serrated Strikes has worn off**
|
Swords.Skills.SS.Off=[[RED]]**S\u00E4gezahnschlag abgenutzt**
|
||||||
Swords.Skills.SS.On=[[GREEN]]**GEZAHNTE TREFFER AKTIVIERT**
|
Swords.Skills.SS.On=[[GREEN]]**S\u00E4gezahnschlag AKTIVIERT**
|
||||||
Swords.Skills.SS.Refresh=[[GREEN]]Your [[YELLOW]]Serrated Strikes [[GREEN]]ability is refreshed!
|
Swords.Skills.SS.Refresh=[[GREEN]]Dein [[YELLOW]]S\u00E4gezahnschlag [[GREEN]]ist wieder bereit!
|
||||||
Swords.Skills.SS.Other.Off=[[RED]]Serrated Strikes[[GREEN]] has worn off for [[YELLOW]]{0}
|
Swords.Skills.SS.Other.Off=[[YELLOW]]{0}s [[RED]]S\u00E4gezahnschlag[[GREEN]] ist [[GREEN]]abgenutzt.
|
||||||
Swords.Skills.SS.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Serrated Strikes!
|
Swords.Skills.SS.Other.On=[[GREEN]]{0}[[DARK_GREEN]] benutzte [[RED]]S\u00E4gezahnschlag!
|
||||||
Swords.Skillup=[[YELLOW]]Swords skill increased by {0}. Total ({1})
|
Swords.Skillup=[[YELLOW]]Schwert Skill um {0} gestiegen. Gesamt ({1})
|
||||||
Swords.SS.Length=[[RED]]Serrated Strikes Length: [[YELLOW]]{0}s
|
Swords.SS.Length=[[RED]]S\u00E4gezahnschlag Dauer: [[YELLOW]]{0}s
|
||||||
|
|
||||||
|
#Z\u00C4HMEN
|
||||||
Taming.Ability.Bonus.0=Umweltbewusst
|
Taming.Ability.Bonus.0=Umweltbewusst
|
||||||
Taming.Ability.Bonus.1=W\u00f6lfe vermeiden Gefahr
|
Taming.Ability.Bonus.1=W\u00F6lfe weichen Gefahren aus
|
||||||
Taming.Ability.Bonus.2=Dickes Fell
|
Taming.Ability.Bonus.2=Dicker Pelz
|
||||||
Taming.Ability.Bonus.3=1/2 Damage, Fire Resistance
|
Taming.Ability.Bonus.3=Halber Schaden, Feuer-Resistent
|
||||||
Taming.Ability.Bonus.4=Shock Proof
|
Taming.Ability.Bonus.4=Schock-Sicher
|
||||||
Taming.Ability.Bonus.5=Explosives do 1/6 normal damage
|
Taming.Ability.Bonus.5=Explosionen verursachen 1/6 Schaden
|
||||||
Taming.Ability.Bonus.6=Gesch\u00e4rfte Krallen
|
Taming.Ability.Bonus.6=Gesch\u00E4rfte Krallen
|
||||||
Taming.Ability.Bonus.7=+2 Schaden
|
Taming.Ability.Bonus.7=+2 Schaden
|
||||||
Taming.Ability.Bonus.8=Fast Food Service
|
Taming.Ability.Bonus.8=Schnell-Imbiss
|
||||||
Taming.Ability.Bonus.9={0}% Chance for heal on attack
|
Taming.Ability.Bonus.9={0}% Chance auf Heilung bei Attacke
|
||||||
Taming.Ability.Locked.0=LOCKED UNTIL {0}+ SKILL (ENVIRONMENTALLY AWARE)
|
Taming.Ability.Locked.0=GESPERRT bis Skill {0}+ (Umweltbewusst)
|
||||||
Taming.Ability.Locked.1=LOCKED UNTIL {0}+ SKILL (THICK FUR)
|
Taming.Ability.Locked.1=GESPERRT bis Skill {0}+ (Dicker Pelz)
|
||||||
Taming.Ability.Locked.2=LOCKED UNTIL {0}+ SKILL (SHOCK PROOF)
|
Taming.Ability.Locked.2=GESPERRT bis Skill {0}+ (Schock-Sicher)
|
||||||
Taming.Ability.Locked.3=LOCKED UNTIL {0}+ SKILL (SHARPENED CLAWS)
|
Taming.Ability.Locked.3=GESPERRT bis Skill {0}+ (Gesch\u00E4rfte Krallen)
|
||||||
Taming.Ability.Locked.4=LOCKED UNTIL {0}+ SKILL (FAST FOOD SERVICE)
|
Taming.Ability.Locked.4=GESPERRT bis Skill {0}+ (Schnell-Imbiss)
|
||||||
Taming.Combat.Chance.Gore=[[RED]]Gore Chance: [[YELLOW]]{0}%
|
Taming.Combat.Chance.Gore=[[RED]]Aufschlitzen Chance: [[YELLOW]]{0}%
|
||||||
Taming.Effect.0=Beast Lore
|
Taming.Effect.0=Bestienkunde
|
||||||
Taming.Effect.1=Bone-whacking inspects wolves & ocelots
|
Taming.Effect.1=Knochenschlag inspiziert W\u00F6lfe und Ozelots
|
||||||
Taming.Effect.10=Shock Proof
|
Taming.Effect.10=Schock-Sicher
|
||||||
Taming.Effect.11=Explosive Damage Reduction
|
Taming.Effect.11=Reduktion von Explosions-Schaden
|
||||||
Taming.Effect.12=Ruf der Wildnis
|
Taming.Effect.12=Ruf der Wildniss
|
||||||
Taming.Effect.13=Beschw\u00f6rt ein Tier an deine Seite
|
Taming.Effect.13=Beschw\u00F6re ein Tier an deine Seite
|
||||||
Taming.Effect.14=[[GRAY]]COTW (Ocelot): Crouch and left-click with {0} Fish in hand
|
Taming.Effect.14=[[GRAY]]RdW (Ozelot): B\u00FCcken und Linksklick mit {0} Fischen in der Hand
|
||||||
Taming.Effect.15=[[GRAY]]COTW (Wolf): Crouch and left-click with {0} Bones in hand
|
Taming.Effect.15=[[GRAY]]RdW (Wolf): B\u00FCcken und Linksklick mit {0} Knochen in der Hand
|
||||||
Taming.Effect.16=Fast Food Service
|
Taming.Effect.16=Schnell-Imbiss
|
||||||
Taming.Effect.17=Chance for wolves to heal on attack
|
Taming.Effect.17=Chance auf Heilung bei Attacke (Wolf)
|
||||||
Taming.Effect.2=Gore
|
Taming.Effect.2=Aufschlitzen
|
||||||
Taming.Effect.3=Critical Strike that applies Bleed
|
Taming.Effect.3=Kritische Treffer verursachen Blutung
|
||||||
Taming.Effect.4=Gesch\u00e4rfte Krallen
|
Taming.Effect.4=Gesch\u00E4rfte Krallen
|
||||||
Taming.Effect.5=Zus\u00e4tzlicher Schaden
|
Taming.Effect.5=Schadens-Bonus
|
||||||
Taming.Effect.6=Umweltbewusst
|
Taming.Effect.6=Umweltbewusst
|
||||||
Taming.Effect.7=Kaktus/ Lava Phobie, Immun gegen Fallschaden
|
Taming.Effect.7=Kaktus/Lava-Furcht, Immun gegen Fall-Schaden
|
||||||
Taming.Effect.8=Dickes Fell
|
Taming.Effect.8=Dicker Pelz
|
||||||
Taming.Effect.9=DMG Reduction, Fire Resistance
|
Taming.Effect.9=Verminderter Schaden, Feuer-Resistent
|
||||||
Taming.Listener.Wolf=[[DARK_GRAY]]Dein Wolf hastet zur\u00fcck zu dir...
|
Taming.Listener.Wolf=[[DARK_GRAY]]Dein Wolf hastet zu dir zur\u00FCck...
|
||||||
Taming.Listener=Tierz\u00e4hmung:
|
Taming.Listener=Z\u00E4hmen:
|
||||||
Taming.SkillName=TIERZ\u00c4HMUNG
|
Taming.SkillName=Z\u00C4HMEN
|
||||||
Taming.Skillup=[[YELLOW]]Tierz\u00e4hmung Fertigkeit ist um {0} gestiegen. Gesamt ({1})
|
Taming.Skillup=[[YELLOW]]Z\u00E4hhmen Skill um {0} gestiegen. Gesamt ({1})
|
||||||
Taming.Summon.Complete=[[GREEN]]Beschw\u00f6ren abgeschlossen
|
Taming.Summon.Complete=[[GREEN]]Beschw\u00F6rung abgeschlossen
|
||||||
Taming.Summon.Fail.Ocelot=[[RED]]Du hast zu viele Ozelots in deiner N\u00e4he um weitere zu beschw\u00f6ren.
|
Taming.Summon.Fail.Ocelot=[[RED]]Du hast zu viele Ozelots um dich, um weitere zu beschw\u00F6ren.
|
||||||
Taming.Summon.Fail.Wolf=[[RED]]Du hast zu viele W\u00f6lfe in deiner N\u00e4he um weitere zu beschw\u00f6ren.
|
Taming.Summon.Fail.Wolf=[[RED]]Du hast zu viele W\u00F6lfe um dich, um weitere zu beschw\u00F6ren.
|
||||||
|
|
||||||
|
#UNBEWAFFNET
|
||||||
Unarmed.Ability.Berserk.Length=[[RED]]Berserker Dauer: [[YELLOW]]{0}s
|
Unarmed.Ability.Berserk.Length=[[RED]]Berserker Dauer: [[YELLOW]]{0}s
|
||||||
Unarmed.Ability.Bonus.0=Iron Arm Style
|
Unarmed.Ability.Bonus.0=Eiserner Arm
|
||||||
Unarmed.Ability.Bonus.1=+{0} Extra Schaden
|
Unarmed.Ability.Bonus.1=+{0} Schadens-Bonus
|
||||||
Unarmed.Ability.Chance.ArrowDeflect=[[RED]]Pfeil Ablenkungs-Wahrscheinlichkeit: [[YELLOW]]{0}%
|
Unarmed.Ability.Chance.ArrowDeflect=[[RED]]Pfeile ablenken Chance: [[YELLOW]]{0}%
|
||||||
Unarmed.Ability.Chance.Disarm=[[RED]]Disarm Chance: [[YELLOW]]{0}%
|
Unarmed.Ability.Chance.Disarm=[[RED]]Entwaffnen Chance: [[YELLOW]]{0}%
|
||||||
Unarmed.Ability.Lower=[[GRAY]]**YOU LOWER YOUR FISTS**
|
Unarmed.Ability.Lower=[[GRAY]]**Du senkst deine F\u00C4USTE**
|
||||||
Unarmed.Ability.Ready=[[GREEN]]**YOU READY YOUR FISTS**
|
Unarmed.Ability.Ready=[[GREEN]]**Deine F\u00C4USTE sind bereit**
|
||||||
Unarmed.Effect.0=Berserk (ABILITY)
|
Unarmed.Effect.0=Berserker (F\u00E4higkeit)
|
||||||
Unarmed.Effect.1=+50% DMG, Breaks weak materials
|
Unarmed.Effect.1=+50% Schaden, Zerbricht weiche Materialien
|
||||||
Unarmed.Effect.2=Disarm (Players)
|
Unarmed.Effect.2=Entwaffnen (Spieler)
|
||||||
Unarmed.Effect.3=Drops the foes item held in hand
|
Unarmed.Effect.3=Dropt Gegenstand aus der Hand des Feindes
|
||||||
Unarmed.Effect.4=Iron Arm Style
|
Unarmed.Effect.4=Eiserner Arm
|
||||||
Unarmed.Effect.5=Hardens your arm over time
|
Unarmed.Effect.5=Verh\u00E4rtet deinen Arm einige Zeit
|
||||||
Unarmed.Effect.6=Arrow Deflect
|
Unarmed.Effect.6=Pfeil-Ablenkung
|
||||||
Unarmed.Effect.7=Deflect arrows
|
Unarmed.Effect.7=Lenkt Pfeile ab
|
||||||
Unarmed.Listener=Unbewaffnet:
|
Unarmed.Listener=Unbewaffnet:
|
||||||
Unarmed.SkillName=UNBEWAFFNET
|
Unarmed.SkillName=UNBEWAFFNET
|
||||||
Unarmed.Skills.Berserk.Off=[[RED]]**Du bist nicht mehr w\u00fctend**
|
Unarmed.Skills.Berserk.Off=[[RED]]**Berserker ausgelaufen**
|
||||||
Unarmed.Skills.Berserk.On=[[GREEN]]**BERSERK ACTIVATED**
|
Unarmed.Skills.Berserk.On=[[GREEN]]**Berserker AKTIVIERT**
|
||||||
Unarmed.Skills.Berserk.Other.Off=[[RED]]Berserk[[GREEN]] has worn off for [[YELLOW]]{0}
|
Unarmed.Skills.Berserk.Other.Off=[[YELLOW]]{0}s [[RED]]Berserker[[GREEN]] ist [[GREEN]]ausgelaufen
|
||||||
Unarmed.Skills.Berserk.Other.On=[[GREEN]]{0}[[DARK_GREEN]] hat [[RED]]Berserker[[DARK_GREEN]] benutzt!
|
Unarmed.Skills.Berserk.Other.On=[[GREEN]]{0}[[DARK_GREEN]] benutzte [[RED]]Berserker!
|
||||||
Unarmed.Skills.Berserk.Refresh=[[GREEN]]Your [[YELLOW]]Berserk [[GREEN]]ability is refreshed!
|
Unarmed.Skills.Berserk.Refresh=[[GREEN]]Dein [[YELLOW]]Berserker [[GREEN]]ist wieder bereit!
|
||||||
Unarmed.Skillup=[[YELLOW]]Unarmed skill increased by {0}. Total ({1})
|
Unarmed.Skillup=[[YELLOW]]Unbewaffnet Skill um {0} gestiegen. Gesamt ({1})
|
||||||
Woodcutting.Ability.0=Laubbl\u00e4ser
|
|
||||||
Woodcutting.Ability.1=Blase Bl\u00e4tter weg
|
#HOLZF\u00C4LLER
|
||||||
Woodcutting.Ability.Chance.DDrop=[[RED]]Doppelte Drop Wahrscheinlichkeit: [[YELLOW]]{0}%
|
Woodcutting.Ability.0=Bl\u00E4ttersturm
|
||||||
Woodcutting.Ability.Length=[[RED]]Tree Feller Length: [[YELLOW]]{0}s
|
Woodcutting.Ability.1=Bl\u00E4st Bl\u00E4tter davon
|
||||||
Woodcutting.Ability.Locked.0=LOCKED UNTIL {0}+ SKILL (LEAF BLOWER)
|
Woodcutting.Ability.Chance.DDrop=[[RED]]Doppel Drop Chance: [[YELLOW]]{0}%
|
||||||
Woodcutting.Effect.0=Baumf\u00e4ller (F\u00e4higkeit)
|
Woodcutting.Ability.Length=[[RED]]Baumf\u00E4ller Dauer: [[YELLOW]]{0}s
|
||||||
Woodcutting.Effect.1=Make trees explode
|
Woodcutting.Ability.Locked.0=GESPERRT bis Skill {0}+ (Bl\u00E4ttersturm)
|
||||||
Woodcutting.Effect.2=Laubbl\u00e4ser
|
Woodcutting.Effect.0=Baumf\u00E4ller (F\u00E4higkeit)
|
||||||
Woodcutting.Effect.3=Blow Away Leaves
|
Woodcutting.Effect.1=L\u00E4sst B\u00E4ume explodieren
|
||||||
Woodcutting.Effect.4=Doppelte Ausbeute
|
Woodcutting.Effect.2=Bl\u00E4ttersturm
|
||||||
Woodcutting.Effect.5=Verdoppelt die normale Ausbeute
|
Woodcutting.Effect.3=Bl\u00E4st Bl\u00E4tter davon
|
||||||
Woodcutting.Listener=Holzf\u00e4llen:
|
Woodcutting.Effect.4=Doppel Drops
|
||||||
Woodcutting.SkillName=HOLZF\u00c4LLEN
|
Woodcutting.Effect.5=Verdoppelt die normale Ausbeute (Loots)
|
||||||
Woodcutting.Skills.TreeFeller.Off=[[RED]]**Tree Feller has worn off**
|
Woodcutting.Listener=Holzf\u00E4ller:
|
||||||
Woodcutting.Skills.TreeFeller.On=[[GREEN]]**TREE FELLER ACTIVATED**
|
Woodcutting.SkillName=HOLZF\u00C4LLER
|
||||||
Woodcutting.Skills.TreeFeller.Refresh=[[GREEN]]Your [[YELLOW]]Tree Feller [[GREEN]]ability is refreshed!
|
Woodcutting.Skills.TreeFeller.Off=[[RED]]**Baumf\u00E4ller abgelaufen**
|
||||||
Woodcutting.Skills.TreeFeller.Other.Off=[[RED]]Baumf\u00e4ller[[GREEN]] von [[YELLOW]]{0}[[GREEN]] ausgelaufen!
|
Woodcutting.Skills.TreeFeller.On=[[GREEN]]**Baumf\u00E4ller AKTIVIERT**
|
||||||
Woodcutting.Skills.TreeFeller.Other.On=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Tree Feller!
|
Woodcutting.Skills.TreeFeller.Refresh=[[GREEN]]Dein [[YELLOW]]Baumf\u00E4ller [[GREEN]]ist wieder bereit!
|
||||||
Woodcutting.Skills.TreeFeller.Splinter=[[RED]]Der Axt ist zersplittert
|
Woodcutting.Skills.TreeFeller.Other.Off=[[YELLOW]]{0}s [[RED]]Baumf\u00E4ller[[GREEN]] ist [[GREEN]]abgelaufen
|
||||||
Woodcutting.Skills.TreeFellerThreshold=[[RED]]Dieser Baum ist zu gro\u00df!
|
Woodcutting.Skills.TreeFeller.Other.On=[[GREEN]]{0}[[DARK_GREEN]] benutzte [[RED]]Baumf\u00E4ller!
|
||||||
Woodcutting.Skillup=[[YELLOW]]Holzf\u00e4llen Fertigkeit ist um {0} gestiegen. Gesamt ({1})
|
Woodcutting.Skills.TreeFeller.Splinter=[[RED]]Deine Axt zerplittert in tausend kleine Teile!
|
||||||
Ability.Generic.Refresh=[[GREEN]]**ABILITIES REFRESHED!**
|
Woodcutting.Skills.TreeFellerThreshold=[[RED]]Dieser Baum ist zu gross!
|
||||||
|
Woodcutting.Skillup=[[YELLOW]]Holzf\u00E4ller Skill um {0} gestiegen. Gesamt ({1})
|
||||||
|
|
||||||
|
#F\u00C4HIGKEIT
|
||||||
|
## allgemein
|
||||||
|
Ability.Generic.Refresh=[[GREEN]]**F\u00E4higkeit wieder BEREIT!**
|
||||||
Ability.Generic.Template.Lock=[[GRAY]]{0}
|
Ability.Generic.Template.Lock=[[GRAY]]{0}
|
||||||
Ability.Generic.Template=[[RED]]{0}: [[YELLOW]]{1}
|
Ability.Generic.Template=[[RED]]{0}: [[YELLOW]]{1}
|
||||||
Combat.ArrowDeflect=[[AQUA]]**PFEIL ABGELENKT**
|
|
||||||
Combat.BeastLore=[[YELLOW]]**BESTIENKUNDE**
|
#KAMPF
|
||||||
Combat.BeastLoreHealth=[[DARK_AQUA]]Health ([[GREEN]]{0}[[DARK_AQUA]]/{1})
|
Combat.ArrowDeflect=[[WHITE]]**Pfeil ABGELENKT**
|
||||||
|
Combat.BeastLore=[[GREEN]]**BESTIENKUNDE**
|
||||||
|
Combat.BeastLoreHealth=[[DARK_AQUA]]Gesundheit ([[GREEN]]{0}[[DARK_AQUA]]/{1})
|
||||||
Combat.BeastLoreOwner=[[DARK_AQUA]]Besitzer ([[RED]]{0}[[DARK_AQUA]])
|
Combat.BeastLoreOwner=[[DARK_AQUA]]Besitzer ([[RED]]{0}[[DARK_AQUA]])
|
||||||
Combat.BurningArrowHit=[[DARK_RED]]Du wurdest von einem brennenden Pfeil gestriffen\\!
|
Combat.BurningArrowHit=[[DARK_RED]]Du wurdest von einem BRENNENDEM PFEIL getroffen!
|
||||||
Combat.Gore=[[YELLOW]]**BISS**
|
Combat.Gore=[[GREEN]]**AUFGESCHLITZT**
|
||||||
Combat.Ignition=[[RED]]**ENTZUENDEN**
|
Combat.Ignition=[[RED]]**ENTZ\u00DCNDUNG**
|
||||||
Combat.StruckByGore=[[RED]]**Getroffen von Biss**
|
Combat.StruckByGore=[[RED]]**du wurdest AUFGESCHLITZT**
|
||||||
Combat.TargetDazed=Target was [[DARK_RED]]benommen
|
Combat.TargetDazed=Ziel wurde [[DARK_RED]]BET\u00C4UBT
|
||||||
Combat.TouchedFuzzy=[[DARK_RED]]Benommen. fuehlt sich schwindelig.
|
Combat.TouchedFuzzy=[[DARK_RED]]Ungl\u00FCcklich ber\u00FChrt. Schwindelgef\u00FChl.
|
||||||
mcMMO.Description=[[DARK_AQUA]]About the [[YELLOW]]mcMMO[[DARK_AQUA]] Project:,[[GOLD]]mcMMO is an [[RED]]open source[[GOLD]] RPG mod created in February 2011,[[GOLD]]by [[BLUE]]nossr50[[GOLD]]. The goal is to provide a quality RPG experience.,[[DARK_AQUA]]Tips:,[[GOLD]] - [[GREEN]]Use [[RED]]/mcc[[GREEN]] to see commands,[[GOLD]] - [[GREEN]]Type [[RED]]/SKILLNAME[[GREEN]] to see detailed skill info,[[DARK_AQUA]]Developers:,[[GOLD]] - [[GREEN]]nossr50 [[BLUE]](Project Lead),[[GOLD]] - [[GREEN]]GJ [[BLUE]](Senior Developer),[[GOLD]] - [[GREEN]]NuclearW [[BLUE]](Developer),[[GOLD]] - [[GREEN]]bm01 [[BLUE]](Developer),[[DARK_AQUA]]Useful Links:,[[GOLD]] - [[GREEN]]issues.mcmmo.org[[GOLD]] Bug Reporting,[[GOLD]] - [[GREEN]]#mcmmo @ irc.esper.net[[GOLD]] IRC Chat,[[GOLD]] - [[GREEN]]http://bit.ly/H6XwFb[[GOLD]] Bukkit Forum Thread
|
|
||||||
Commands.Ability.Off=Ability use toggled [[RED]]off
|
#KOMMANDOS
|
||||||
Commands.Ability.On=Ability use toggled [[GREEN]]on
|
##allgemein
|
||||||
Commands.AdminChat.Off=Admin Chat [[RED]]deaktiviert
|
mcMMO.Description=[[DARK_AQUA]]\u00DCber das [[YELLOW]]mcMMO[[DARK_AQUA]] Project:,[[GOLD]]mcMMO ist ein [[RED]]Open Source[[GOLD]] RPG Mod [[GOLD]]von [[BLUE]]nossr50[[GOLD]] aus 2011,[[GOLD]]Ziel ist es eine qualitative RPG Erfahrung zu bieten.,[[DARK_AQUA]]Tips:,[[GOLD]] - [[GOLD]]Nutze [[RED]]/mcc[[GOLD]] f\u00FCr die Commands,[[GOLD]] - [[GOLD]]Nutze [[RED]]/SKILLNAME[[GOLD]] f\u00FCr detailierte Skillinfos,[[DARK_AQUA]]Entwickler:,[[GOLD]] - [[GREEN]]nossr50 [[BLUE]](Projekleiter),[[GOLD]] - [[GREEN]]GJ [[BLUE]](Senior Entwickler),[[GOLD]] - [[GREEN]]NuclearW [[BLUE]](Entwickler),[[GOLD]] - [[GREEN]]bm01 [[BLUE]](Entwickler),[[DARK_AQUA]]N\u00FCtzliche Links:,[[GOLD]] - [[GREEN]]issues.mcmmo.org[[GOLD]] Fehlerberichte,[[GOLD]] - [[GREEN]]#mcmmo @ irc.esper.net[[GOLD]] IRC Chat,[[GOLD]] - [[GREEN]]http://bit.ly/H6XwFb[[GOLD]] Thema im Bukkit Forum,[[DARK_AQUA]]Deutsche \u00DCbersetzung:,[[GOLD]] - [[BLUE]] Jobsti
|
||||||
Commands.AdminChat.On=Admin Chat [[GREEN]]aktiviert
|
Commands.Ability.Off=F\u00E4higkeiten [[RED]]deaktiviert
|
||||||
Commands.AdminToggle=[[RED]]- Toggle admin chat
|
Commands.Ability.On=F\u00E4higkeiten [[GREEN]]aktivivert
|
||||||
Commands.Disabled=[[RED]]Dieser Befehl ist nicht verf\u00fcgbar.
|
Commands.AdminChat.Off=Admin Chat only [[RED]]deaktiviert
|
||||||
Commands.DoesNotExist=[[RED]]Player does not exist in the database!
|
Commands.AdminChat.On=Admin Chat only [[GREEN]]aktiviert
|
||||||
Commands.GodMode.Disabled=[[YELLOW]]mcMMO Godmode Disabled
|
Commands.AdminToggle=[[RED]]- Admin Chat umschalten
|
||||||
Commands.GodMode.Enabled=[[YELLOW]]mcMMO Godmode Enabled
|
Commands.Disabled=[[RED]]Dieser Command ist deaktiviert.
|
||||||
Commands.GodMode.Forbidden=[mcMMO] God Mode not permitted on this world (See Permissions)
|
Commands.DoesNotExist= [[RED]]Spieler in Datenbank nicht gefunden!
|
||||||
Commands.Inspect=<player> [[RED]]- View detailed player info
|
Commands.GodMode.Disabled=[[YELLOW]]mcMMO Godmode deaktivivert
|
||||||
Commands.Invite.Accepted=[[GREEN]]Anfrage angenommen. Du bist der Gruppe beigetreten {0}
|
Commands.GodMode.Enabled=[[YELLOW]]mcMMO Godmode aktivivert
|
||||||
Commands.Invite.Success=[[GREEN]]Invite sent successfully.
|
Commands.GodMode.Forbidden=[mcMMO] God Mode ist in dieser Welt nicht gestattet (Siehe Permissions)
|
||||||
Commands.Leaderboards=<skill> <page> [[RED]]- Leaderboards
|
Commands.Inspect=<Spieler> [[RED]]- Zeigt detailierte Spielerinfos
|
||||||
Commands.mcgod=[[RED]]- Toggle GodMode
|
Commands.Invite.Accepted=[[GREEN]]Einladung akzeptiert. Du bist der Gruppe {0} beigetreten
|
||||||
Commands.mmoedit=[player] <skill> <newvalue> [[RED]] - Modify target
|
Commands.Invite.Success=[[GREEN]]Einladung erfolgreich versendet.
|
||||||
Commands.ModDescription=[[RED]]- Kurzbeschreibung dieser Mod
|
Commands.Leaderboards=<skill> <seite> [[RED]]- Ranglisten
|
||||||
Commands.NoConsole=This command does not support console usage.
|
Commands.mcgod=[[RED]]- GodMode umschalten
|
||||||
Commands.Other=[[GREEN]]--Sonstige Kommandos--
|
Commands.mmoedit=[Spieler] <skill> <newvalue> [[RED]] - Ziel modifizieren
|
||||||
Commands.Party.Accept=[[RED]]- Gruppenanfrage annehmen
|
Commands.ModDescription=[[RED]]- Mod-Informationen Lesen.
|
||||||
Commands.Party.Chat.Off=Nur Gruppenchat [[RED]]Aus
|
Commands.NoConsole=Dieser Command wird nicht per Console unterst\u00FCtzt.
|
||||||
Commands.Party.Chat.On=Nur Gruppenchat [[GREEN]]An
|
Commands.Other=[[GREEN]]--ANDERE COMMANDS--
|
||||||
Commands.Party.Commands=[[GREEN]]--Gruppenkommandos--
|
Commands.Party.Accept=[[RED]]- Gruppen-Einladung akzeptieren
|
||||||
Commands.Party.Invite.0=[[RED]]ALERT: [[GREEN]]Du hast eine Partyeinladung f\u00fcr die Party {0} von {1} erhalten
|
Commands.Party.Chat.Off=Gruppen-Chat only [[RED]]deaktiviert
|
||||||
Commands.Party.Invite.1=[[YELLOW]]Type [[GREEN]]/accept[[YELLOW]] to accept the invite
|
Commands.Party.Chat.On=Gruppen-Chat only [[GREEN]]aktiviert
|
||||||
Commands.Party.Invite=<player> [[RED]]- Send party invite
|
Commands.Party.Commands=[[GREEN]]--GRUPPEN COMMANDS--
|
||||||
Commands.Party.Join=Gruppe beigetreten: {0}
|
Commands.Party.Invite.0=[[RED]]INFO: [[GREEN]]Du hast eine Gruppen-Einladung f\u00FCr {0} von {1} bekommen
|
||||||
Commands.Party.Kick=Du wurdest aus der Party rausgeworfen {0}!
|
Commands.Party.Invite.1=[[YELLOW]]Schreibe [[GREEN]]/accept[[YELLOW]] um die Einladung zu genehmingen
|
||||||
Commands.Party.Leave=[[RED]]Du hast die Gruppe verlassen
|
Commands.Party.Invite=<Spieler> [[RED]]- Gruppen-Einladung versenden
|
||||||
Commands.Party.Members=[[GREEN]]Party Mitglieder: {0}
|
Commands.Party.Join=Beigetretene Gruppe: {0}
|
||||||
Commands.Party.None=[[RED]]Du bist nicht in einer Gruppe.
|
Commands.Party.Kick=[[RED]]Du wurdest von folgender Gruppe gekickt: {0}!
|
||||||
Commands.Party.Quit=[[RED]]- Leave your current party
|
Commands.Party.Leave=[[RED]]Du hast diese Gruppe verlassen
|
||||||
Commands.Party.Teleport=<player> [[RED]]- Teleport to party member
|
Commands.Party.Members=[[GREEN]]Gruppen-Mitglieder: {0}
|
||||||
Commands.Party.Toggle=[[RED]]- Toggle Party Chat
|
Commands.Party.None=[[RED]]Du bist in keiner Gruppe.
|
||||||
Commands.Party=<party-name> [[RED]]- Create/Join designated party
|
Commands.Party.Quit=[[RED]]- Verlasse deine derzeitige Gruppe
|
||||||
Commands.PowerLevel.Leaderboard=[[YELLOW]]--mcMMO[[BLUE]] Macht [[YELLOW]]Rangliste--
|
Commands.Party.Teleport=<Spieler> [[RED]]- Zu Gruppen-Mitglied teleportieren
|
||||||
|
Commands.Party.Toggle=[[RED]]- Gruppen-Chat umschalten
|
||||||
|
Commands.Party=<party-name> [[RED]]- Gew\u00FCnschte Gruppe Er\u00F6ffnen/Beitreten
|
||||||
|
Commands.PowerLevel.Leaderboard=[[YELLOW]]--mcMMO[[BLUE]] Kraft Level [[YELLOW]]Rangliste--
|
||||||
Commands.PowerLevel.Capped=[[DARK_RED]]POWER LEVEL: [[GREEN]]{0} [[DARK_RED]]MAX LEVEL: [[YELLOW]]{1}
|
Commands.PowerLevel.Capped=[[DARK_RED]]POWER LEVEL: [[GREEN]]{0} [[DARK_RED]]MAX LEVEL: [[YELLOW]]{1}
|
||||||
Commands.PowerLevel=[[DARK_RED]]POWER LEVEL: [[GREEN]]{0} slightly below 9000
|
Commands.PowerLevel=[[DARK_RED]]KRAFT LEVEL: [[GREEN]]{0}
|
||||||
Commands.Reset.All=[[GREEN]]All of your skill levels have been reset successfully.
|
Commands.Reset.All=[[GREEN]]Alle deine Skill-Level wurden erfolgreich zur\u00FCckgesetzt.
|
||||||
Commands.Reset.Single=[[GREEN]]Your {0} skill level has been reset successfully.
|
Commands.Reset.Single=[[GREEN]]Dein {0} Skill Level wurde erfolgreich zur\u00FCckgesetzt.
|
||||||
Commands.Reset=[[RED]]Reset a skill\'s level to 0
|
Commands.Reset=[[RED]]Setze ein Skill Level auf 0 zur\u00FCck
|
||||||
Commands.Skill.Invalid=[[RED]]That is not a valid skillname!
|
Commands.Skill.Invalid=[[RED]]Dies ist kein g\u00FCltiger Skillname!
|
||||||
Commands.Skill.Leaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Leaderboard--
|
Commands.Skill.Leaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Rangliste--
|
||||||
Commands.SkillInfo=/<skill> [[RED]]- View detailed information about a skill
|
Commands.SkillInfo=/<skill> [[RED]]- Zeigt detalierte Infos \u00FCber einen Skill
|
||||||
Commands.Stats.Self=YOUR STATS
|
Commands.Stats.Self=DEINE WERTE
|
||||||
Commands.Stats=[[RED]]- View your mcMMO stats
|
Commands.Stats=[[RED]]- Zeigt deine mcMMO Werte
|
||||||
Commands.ToggleAbility=[[RED]]- Toggle ability activation with right click
|
Commands.ToggleAbility=[[RED]]- F\u00E4higkeiten-Aktivierung per Rechtsklick umschalten
|
||||||
mcMMO.MOTD=[[BLUE]]This server is running mcMMO {0}! \n Type [[YELLOW]]/mcmmo[[BLUE]] for help.
|
mcMMO.MOTD=[[BLUE]]Auf diesem Server l\u00E4uft mcMMO {0}! \n schreibe [[YELLOW]]/mcmmo[[BLUE]] f\u00FCr weitere Hilfe.
|
||||||
mcMMO.NoInvites=[[RED]]You have no invites at this time
|
mcMMO.NoInvites=[[RED]]Du hast derzeit keine Einladungen
|
||||||
mcMMO.NoPermission=[[DARK_RED]]Unzureichende Rechte.
|
mcMMO.NoPermission=[[DARK_RED]]Unzureichende Rechte.
|
||||||
mcMMO.NoSkillNote=[[DARK_GRAY]]If you don\'t have access to a skill it will not be shown here.
|
mcMMO.NoSkillNote=[[DARK_GRAY]]F\u00FCr dich nicht verf\u00FCgbare Skills werden ausgeblendet.
|
||||||
mcMMO.Website=[[GREEN]]http://forums.mcmmo.info[[BLUE]] - mcMMO Website
|
mcMMO.Website=[[GREEN]]http://forums.mcmmo.info[[BLUE]] - mcMMO Website
|
||||||
Commands.Party.InParty=[[GREEN]]Party: {0}
|
|
||||||
Party.Forbidden=[mcMMO] Parties not permitted on this world (See Permissions)
|
##GRUPPE
|
||||||
Party.Help.0=[[RED]]Proper usage is /party <party-name> to join or /party q to quit
|
Commands.Party.InParty=[[GREEN]]Gruppe: {0}
|
||||||
Party.Help.1=[[RED]]To join a passworded party, use /party <party-name> <password>
|
Party.Forbidden=[mcMMO] Gruppen sind in dieser Welt nicht gestattet (Siehe Permissions)
|
||||||
Party.Help.2=[[RED]]Consult /party ? for more information
|
Party.Help.0=[[RED]]Korrekte Eingabe lautet /party <gruppen-name> zum Beitreten, /party q zum Verlassen.
|
||||||
Party.Help.3=[[RED]]Use /party <party-name> to join or /party q to quit
|
Party.Help.1=[[RED]]Um passwort-gesch\u00FCtzter Gruppe beizutreten, nutze /party <gruppen-name> <password>
|
||||||
Party.Help.4=[[RED]]To lock or unlock your party, use /party <lock/unlock>
|
Party.Help.2=[[RED]]F\u00FCr weitere Informationen nutze /party ?
|
||||||
Party.Help.5=[[RED]]To password protect your party, use /party password <password>
|
Party.Help.3=[[RED]]Nutze /party <gruppen-name> zum Beitreten, /party q zum Verlassen.
|
||||||
Party.Help.6=[[RED]]Um einen Spieler aus deiner Party rauszuwerfen, verwende /party kick <player>
|
Party.Help.4=[[RED]]Um Gruppe zu sperren/entsperren, nutze /party <lock/unlock>
|
||||||
Party.Help.7=[[RED]]To transfer ownership of your party, use /party owner <player>
|
Party.Help.5=[[RED]]Um Gruppe per Passwort zu sperren, nutze /party password <password>
|
||||||
Party.InformedOnJoin={0} [[YELLOW]] ist deiner Gruppe beigetreten
|
Party.Help.6=[[RED]]Um Spieler aus der Gruppe zu kicken, nutze /party kick <spieler>
|
||||||
Party.InformedOnQuit={0} [[YELLOW]] hat deine Gruppe verlassen
|
Party.Help.7=[[RED]]Um die Leitung deiner Gruppe wem anders zu \u00FCbergeben, nutze /party owner <Spieler>
|
||||||
Party.InvalidName=[[DARK_RED]]That is not a valid party name.
|
Party.InformedOnJoin={0} [[GREEN]] ist der Gruppe beigetreten
|
||||||
Party.IsLocked=[[RED]]This party is already locked!
|
Party.InformedOnQuit={0} [[GREEN]] hat die Gruppe verlassen
|
||||||
Party.IsntLocked=[[RED]]This party is not locked!
|
Party.InvalidName=[[DARK_RED]]Dies ist kein g\u00FCltiger Gruppen-Name.
|
||||||
Party.Locked=[[RED]]Gruppe ist gesperrt, nur der Besitzer kann neue User einladen.
|
Party.IsLocked=[[RED]]Diese Gruppe ist bereits gesperrt!
|
||||||
|
Party.IsntLocked=[[RED]]Diese Gruppe ist NICHT gesperrt!
|
||||||
|
Party.Locked=[[RED]]Gruppe gesperrt, nur der Gruppenleiter kann Einladungen versenden.
|
||||||
Party.NotInYourParty=[[DARK_RED]]{0} ist nicht in deiner Gruppe
|
Party.NotInYourParty=[[DARK_RED]]{0} ist nicht in deiner Gruppe
|
||||||
Party.NotOwner=[[DARK_RED]]Du bist nicht der Gruppenbesitzer
|
Party.NotOwner=[[DARK_RED]]Du bist nicht der Gruppenleiter
|
||||||
Party.PasswordSet=[[GREEN]]Gruppenpasswort zu {0} gesetzt
|
Party.PasswordSet=[[GREEN]]Gruppen-Password ge\u00E4ndert zu: {0}
|
||||||
Party.Player.Invalid=[[RED]]Dieser Spieler existiert nicht.
|
Party.Player.Invalid=[[RED]]Dies ist kein g\u00FCltiger Spieler.
|
||||||
Party.Teleport.Dead=[[RED]]Du kannst dich nicht zu einem toten Spieler hinteleportieren.
|
Party.Teleport.Dead=[[RED]]Du kannst dich nicht zu toten Spielern teleportieren
|
||||||
Party.Teleport.Hurt=[[RED]]You\'ve been hurt in the last {0} seconds and cannnot teleport.
|
Party.Teleport.Hurt=[[RED]]Du wurdest in den letzten {0} Sekunden verletzt und kannst dich nicht teleportieren.
|
||||||
Party.Teleport.Player=[[GREEN]]You have teleported to {0}.
|
Party.Teleport.Player=[[GREEN]]Du wurdest zu {0} teleportiert.
|
||||||
Party.Teleport.Target=[[GREEN]]{0} hat sich zu dir hin teleportiert
|
Party.Teleport.Target=[[GREEN]]{0} hat sich zu dir teleportiert.
|
||||||
Party.Unlocked=[[AQUA]]Gruppe entsperrt
|
Party.Unlocked=[[GRAY]]Gruppe ist entsperrt.
|
||||||
|
|
||||||
|
##xp
|
||||||
Commands.XPGain.Acrobatics=Fallen
|
Commands.XPGain.Acrobatics=Fallen
|
||||||
Commands.XPGain.Archery=Monster angreifen
|
Commands.XPGain.Archery=Monster angreifen
|
||||||
Commands.XPGain.Axes=Monster angreifen
|
Commands.XPGain.Axes=Monster angreifen
|
||||||
Commands.XPGain.Excavation=Graben und Sch\u00e4tze finden
|
Commands.XPGain.Excavation=Graben und Sch\u00E4tze finden
|
||||||
Commands.XPGain.Fishing=Fishing (Go figure!)
|
Commands.XPGain.Fishing=Angeln
|
||||||
Commands.XPGain.Herbalism=Kr\u00e4uter sammeln
|
Commands.XPGain.Herbalism=Pflanzen abernten
|
||||||
Commands.XPGain.Mining=Stein und Erz abbauen
|
Commands.XPGain.Mining=Steine & Erze abbauen
|
||||||
Commands.XPGain.Repair=Repairing
|
Commands.XPGain.Repair=Reparieren
|
||||||
Commands.XPGain.Swords=Monster angreifen
|
Commands.XPGain.Swords=Monster angreifen
|
||||||
Commands.XPGain.Taming=Tierz\u00e4hmung oder Kampf mit W\u00f6lfen
|
Commands.XPGain.Taming=Tiere b\u00E4ndigen, oder mit deinen W\u00F6lfen k\u00E4mpfen
|
||||||
Commands.XPGain.Unarmed=Monster angreifen
|
Commands.XPGain.Unarmed=Monster angreifen
|
||||||
Commands.XPGain.Woodcutting=Chopping down trees
|
Commands.XPGain.Woodcutting=B\u00E4ume f\u00E4llen
|
||||||
Commands.XPGain=[[DARK_GRAY]]XP Gewinn: [[WHITE]]{0}
|
Commands.XPGain=[[DARK_GRAY]]XP ZUWACHS: [[WHITE]]{0}
|
||||||
Commands.xplock.locked=[[YELLOW]]Deine XP BAR ist nun auf {0} gesperrt!
|
Commands.xplock.locked=[[GOLD]]Deine XP Anzeige ist nun auf {0} festgesetzt!
|
||||||
Commands.xplock.unlocked=[[YELLOW]]Deine XP BAR ist nun wieder [[GREEN]]FREIGEGEBEN[[YELLOW]]!
|
Commands.xplock.unlocked=[[GOLD]]Deine XP Anzeige ist nun wieder [[GREEN]]FREIGEGEBEN[[GOLD]]!
|
||||||
Commands.xprate.over=[[RED]]Der mcMMO XP Rate Event ist vorbei!!
|
Commands.xprate.over=[[RED]]Das mcMMO XP Rate Event ist vor\u00FCber!!
|
||||||
Commands.xprate.proper.0=[[RED]]Proper usage to change the XP rate is /xprate <integer> <true/false>
|
Commands.xprate.proper.0=[[RED]]Korrekte Eingabe f\u00FCr XP Rate Wechsel: /xprate <integer> <true/false>
|
||||||
Commands.xprate.proper.1=[[RED]]Proper usage to restore the XP rate to default is /xprate reset
|
Commands.xprate.proper.1=[[RED]]Korrekte Eingabe f\u00FCr R\u00FCcksetzung auf Standard XP Rate: /xprate reset
|
||||||
Commands.xprate.proper.2=[[RED]]Please specify true or false to indicate if this is an xp event or not
|
Commands.xprate.proper.2=[[RED]]Bitte spezifiziere mit true/false ob dies ein XP-Event ist oder nicht.
|
||||||
Commands.xprate.started.0=[[GOLD]]XP EVENT FOR mcMMO HAS STARTED!
|
Commands.xprate.started.0=[[GOLD]]Das XP EVENT f\u00FCr mcMMO hat BEGONNEN!
|
||||||
Commands.xprate.started.1=[[GOLD]]mcMMO XP RATE IS NOW {0}x!
|
Commands.xprate.started.1=[[GOLD]]Die mcMMO XP RATE liegt nun bei {0}x!
|
||||||
XPRate.Event=[[GOLD]]mcMMO is currently in an XP rate event! XP rate is {0}x!
|
XPRate.Event= [[GOLD]]mcMMO hat gerade ein XP-RATE Event. Derzeitige XP Rate: {0}x!
|
||||||
Effects.Effects=Effekte
|
|
||||||
|
#EFFEKTE
|
||||||
|
##allgemein
|
||||||
|
Effects.Effects=EFFEKTE
|
||||||
Effects.Level=[[DARK_GRAY]]LVL: [[GREEN]]{0} [[DARK_AQUA]]XP[[YELLOW]]([[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]])
|
Effects.Level=[[DARK_GRAY]]LVL: [[GREEN]]{0} [[DARK_AQUA]]XP[[YELLOW]]([[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]])
|
||||||
Effects.Template=[[DARK_AQUA]]{0}: [[GREEN]]{1}
|
Effects.Template=[[DARK_AQUA]]{0}: [[GREEN]]{1}
|
||||||
Guides.Acrobatics=[[DARK_AQUA]]About Acrobatics:\n[[YELLOW]]Acrobatics is the art of moving gracefully in mcMMO.\n[[YELLOW]]It provides combat bonuses and environment damage bonuses.\n\n[[DARK_AQUA]]XP GAIN:\n[[YELLOW]]To gain XP in this skill you need to perform a dodge\n[[YELLOW]]in combat or survive falls from heights that damage you.\n\n[[DARK_AQUA]]How does Rolling work?\n[[YELLOW]]You have a passive chance when you take fall damage\n[[YELLOW]]to negate the damage done. You can hold the sneak button to\n[[YELLOW]]double your chances during the fall.\n[[YELLOW]]This triggers a Graceful Roll instead of a standard one.\n[[YELLOW]]Graceful Rolls are like regular rolls but are twice as likely to\n[[YELLOW]]occur and provide more damage safety than regular rolls.\n[[YELLOW]]Rolling chance is tied to your skill level\n[[DARK_AQUA]]How does Dodge work?\n[[YELLOW]]Dodge is a passive chance when you are\n[[YELLOW]]injured in combat to halve the damage taken.\n[[YELLOW]]It is tied to your skill level.
|
|
||||||
Guides.Archery=Guide coming soon...
|
#HANDB\u00DCCHER
|
||||||
Guides.Axes=Guide coming soon...
|
Guides.Acrobatics=[[DARK_AQUA]]\u00DCber Akrobatik:\n[[YELLOW]]Akrobatik ist die Kunst, sich in mcMMO anmutig zu bewegen.\n[[YELLOW]]Es bietet Kampf- und Umgebungsschaden-Boni.\n\n[[DARK_AQUA]]XP GAIN:\n[[YELLOW]]Um XP in diesem Skill zu bekommen, musst du im Kapf Ausweichen\n[[YELLOW]]oder St\u00FCrze aus grosser H\u00F6he \u00FCberlebe.\n\n[[DARK_AQUA]]Wie funktioniert Abrollen?\n[[YELLOW]]Du hast eine passive Chance Fallschaden zu negieren.\n[[YELLOW]]W\u00E4hrend du f\u00E4llst, kannst du dich b\u00FCcken um\n[[YELLOW]]um die Chancen zu verdoppeln!\n[[YELLOW]]Dies l\u00F6st eine grazi\u00F6se Rolle aus anstatt einer Normalen.\n[[YELLOW]]Grazi\u00F6se Rollen sind wie Normale, haben aber die doppelte Chance\n[[YELLOW]]ausgel\u00F6st zu werden und bieten mehr Sicherheit gegen Schaden.\n[[YELLOW]]Die Chance auf Abrollen ist an dein Skill-Level gebunden.\n[[DARK_AQUA]]Wie funktionier Ausweichen?\n[[YELLOW]]Ausweichen bietet eine passive Chance auf halben Schaden\n[[YELLOW]]falls du im Kampf verletzt wirst.\n[[YELLOW]]Ausweichen ist an dein Skill-Level gebunden.
|
||||||
Guides.Excavation=[[DARK_AQUA]]About Excavation:\n[[YELLOW]]Excavation is the act of digging up dirt to find treasures.\n[[YELLOW]]By excavating the land you will find treasures.\n[[YELLOW]]The more you do this the more treasures you can find.\n\n[[DARK_AQUA]]XP GAIN:\n[[YELLOW]]To gain XP in this skill you must dig with a shovel in hand.\n[[YELLOW]]Only certain materials can be dug up for treasures and XP.\n[[DARK_AQUA]]Compatible Materials:\n[[YELLOW]]Grass, Dirt, Sand, Clay, Gravel, Mycelium, Soul Sand\n\n[[DARK_AQUA]]How to use Giga Drill Breaker:\n[[YELLOW]]With a shovel in hand right click to ready your tool.\n[[YELLOW]]Once in this state you have about 4 seconds to make\n[[YELLOW]]contact with Excavation compatible materials this will\n[[YELLOW]]activate Giga Drill Breaker.\n[[DARK_AQUA]]What is Giga Drill Breaker?\n[[YELLOW]]Giga Drill Breaker is an ability with a cooldown\n[[YELLOW]]tied to Excavation skill. It triples your chance\n[[YELLOW]]of finding treasures and enables instant break\n[[YELLOW]]on Excavation materials.\n\n[[DARK_AQUA]]How does Treasure Hunter work?\n[[YELLOW]]Every possible treasure for Excavation has its own\n[[YELLOW]]skill level requirement for it to drop, as a result it\'s\n[[YELLOW]]difficult to say how much it is helping you.\n[[YELLOW]]Just keep in mind that the higher your Excavation skill\n[[YELLOW]]is, the more treasures that can be found.\n[[YELLOW]]And also keep in mind that each type of Excavation\n[[YELLOW]]compatible material has its own unique list of treasures.\n[[YELLOW]]In other words you will find different treasures in Dirt\n[[YELLOW]]than you would in Gravel.\n[[DARK_AQUA]]Notes about Excavation:\n[[YELLOW]]Excavation drops are completely customizeable\n[[YELLOW]]So results vary server to server.
|
Guides.Archery=Hilfe in Arbeit...
|
||||||
Guides.Fishing=Guide coming soon...
|
Guides.Axes=Hilfe in Arbeit...
|
||||||
Guides.Herbalism=Guide coming soon...
|
Guides.Excavation=[[DARK_AQUA]]\u00DCber Graben:\n[[YELLOW]]Graben ist die Kunst, beim Graben im Dreck Sch\u00E4tze zu finden.\n[[YELLOW]]Beim Ausgraben kannst du Sch\u00E4tze finden.\n[[YELLOW]]Um so mehr du gr\u00E4bst, um so mehr Sch\u00E4tze findest du.\n\n[[DARK_AQUA]]XP Zuwachs:\n[[YELLOW]]Um XP in diesem Skill zu bekommen, musst du mit einer Schaufel in der Hand buddeln.\n[[YELLOW]]Nur das Ausgraben von bestimmten Materialen bietet Sch\u00E4tze und XP.\n[[DARK_AQUA]]Materialien:\n[[YELLOW]]Grass, Dreck, Sand, Lehm, Kies, Myzel & Seelensand\n\n[[DARK_AQUA]]Nutzung des Giga-Bohrer:\n[[YELLOW]]Rechtsklicke mit einer Schaufel in deiner Hand um dich zu vorzubereiten.\n[[YELLOW]]Bist zu vorbereitet, hast du 4 Sekunden um\n[[YELLOW]]um im geeigneten Material mit dem Graben zu beginnen, dies\n[[YELLOW]]aktiviert den Gigabohrer.\n[[DARK_AQUA]]Was macht der Giga-Bohrer?\n[[YELLOW]]Der Giga-Bohrer ist eine F\u00E4higkeit mit Abklingzeit,\n[[YELLOW]]welche an den Graben Skill gebunden ist. Sie verdreifacht die Chance\n[[YELLOW]]Sch\u00E4tze zu finden und aktiviert Instant-Abbau\n[[YELLOW]]von ausgrabbaren Materialien.\n\n[[DARK_AQUA]]Wie funktioniert Schatz-J\u00E4ger?\n[[YELLOW]]Jeder verf\u00FCgbare Schatz beim Graben hat seine eigene\n[[YELLOW]]Skill Level Anferderungen um zu droppen, wo diese jeweils liegen\n[[YELLOW]]w\u00E4re zu schwierig um sie hier zu nennen.\n[[YELLOW]]Behalte dir einfach, dass je h\u00F6her dein Skill im Graben,\n[[YELLOW]]desto mehr Sch\u00E4tze kannst du finden.\n[[YELLOW]]Zudem hat jedes Material seine eigene, einzigartige \n[[YELLOW]]Liste an findbaren Sch\u00E4tzen.\n[[YELLOW]]In anderen Worten, du wirst in Erde andere Sch\u00E4tze als in Kies finden.\n[[DARK_AQUA]]Infos \u00FCber Graben:\n[[YELLOW]]Graben ist komplett anpassbar, somit sind die Sch\u00E4tze\n[[YELLOW]]und XP von Server zu Server unterschiedlich!
|
||||||
Guides.Mining=[[DARK_AQUA]]About Mining:\n[[YELLOW]]Mining consists of mining stone and ores. It provides bonuses\n[[YELLOW]]to the amount of materials dropped while mining.\n\n[[DARK_AQUA]]XP GAIN:\n[[YELLOW]]To gain XP in this skill, you must mine with a pickaxe in hand.\n[[YELLOW]]Only certain blocks award XP.\n\n[[DARK_AQUA]]Compatible Materials:\n[[YELLOW]]Stone, Coal Ore, Iron Ore, Gold Ore, Diamond Ore, Redstone Ore,\n[[YELLOW]]Lapis Ore, Obsidian, Mossy Cobblestone, Ender Stone,\n[[YELLOW]]Glowstone, and Netherrack.\n\n[[DARK_AQUA]]How to use Super Breaker:\n[[YELLOW]]With a pickaxe in your hand, right click to ready your tool.\n[[YELLOW]]Once in this state, you have about 4 seconds to make contact\n[[YELLOW]]with Mining compatible materials, which will activate Super\n[[YELLOW]]Breaker.\n\n[[DARK_AQUA]]What is Super Breaker?\n[[YELLOW]]Super Breaker is an ability with a cooldown tied to the Mining\n[[YELLOW]]skill. It triples your chance of extra items dropping and\n[[YELLOW]]enables instant break on Mining materials.\n\n[[DARK_AQUA]]How to use Blast Mining:\n[[YELLOW]]With a detonator in hand, which is a flint & steel by default,\n[[YELLOW]]right-click on TNT from a distance. This will cause the TNT\n[[YELLOW]]to instantly explode.\n\n[[DARK_AQUA]]How does Blast Mining work?\n[[YELLOW]]Blast Mining is an ability with a cooldown tied to the Mining\n[[YELLOW]]skill. It gives bonuses when mining with TNT and allows you\n[[YELLOW]]to remote detonate TNT. There are three parts to Blast Mining.\n[[YELLOW]]The first part is Bigger Bombs, which increases blast radius.\n[[YELLOW]]The second is Demolitions Expert, which decreases damage\n[[YELLOW]]from TNT explosions. The third part simply increases the\n[[YELLOW]]amount of ores dropped from TNT and decreases the\n[[YELLOW]]debris dropped.
|
Guides.Fishing=Hilfe in Arbeit...
|
||||||
Guides.Repair=Guide coming soon...
|
Guides.Herbalism=Hilfe in Arbeit...
|
||||||
Guides.Swords=Guide coming soon...
|
Guides.Mining=[[DARK_AQUA]]\u00DCber Bergbau:\n[[YELLOW]]Bergbau beinhaltet das Abbauen von Steinen und Erzen. Es bietet Boni\n[[YELLOW]]auf die Anzahl der Drops beim Abbau.\n\n[[DARK_AQUA]]XP Zuwachs:\n[[YELLOW]]Um XP in diesem Skill zu bekommen XP, musst du mit einer Spitzhacke in der Hand abbauen.\n[[YELLOW]]Nur bestimmte Materialien gew\u00E4hren XP.\n\n[[DARK_AQUA]]Kompatible Materialien:\n[[YELLOW]]Stein, Kogleerz, Eisenerz, Gilderz, Diemanterz, Redstoneerz,\n[[YELLOW]]Lapiserz, Obsidian, Moosiger Pflasterstein, Endstein,\n[[YELLOW]]Glowstone und Netherstein.\n\n[[DARK_AQUA]]Super-Brecher benutzen:\n[[YELLOW]]Rechtsklicke mit einer Spitzhacke in deiner Hand um dich zu vorzubereiten.\n[[YELLOW]]Bist zu vorbereitet, hast du 4 Sekunden um\n[[YELLOW]]um im geeigneten Material mit dem Abbau zu beginnen, dies\n[[YELLOW]]aktiviert den Super-Brecher.\n\n[[DARK_AQUA]]Was ist der Super-Brecher?\n[[YELLOW]]Der Super-Brecher ist eine F\u00E4higkeit mit Abklingzeit, welche an\n[[YELLOW]]den Bergbau Skill gebunden ist. Sie bitet die Chance\n[[YELLOW]]auf dreifach Drops und aktiviert Instant-Abbau von abbaubaren Materialien.\n\n[[DARK_AQUA]]How to use Blast Mining:\n[[YELLOW]]With a detonator in hand, which is a flint & steel by default,\n[[YELLOW]]right-click on TNT from a distance. This will cause the TNT\n[[YELLOW]]to instantly explode.\n\n[[DARK_AQUA]]Funktion von Z\u00FCndstoff?\n[[YELLOW]]Z\u00FCndstoff ist eine F\u00E4higkeit mit Abklingzeit, welche an den Bergbauskill gebunden ist.\n[[YELLOW]]Sie vergibt Boni, falls mit TNT Abgebaut wird und erlaubt\n[[YELLOW]]TNT aus Entfernung zu z\u00FCnden. Z\u00FCndstoff besteht aus 3 Teilen.\n[[YELLOW]]Teil 1 ist Sprengmeister, welcher den Sprengradius erh\u00F6ht.\n[[YELLOW]]Teil 2 ist Explosions-Experte, welcher den Schaden von\n[[YELLOW]]TNT Explosionen minimiert. Teil 3 erh\u00F6ht einfach\n[[YELLOW]]die Anzahl von gefundenen Erzen und minimiert dabei den Schutt.
|
||||||
Guides.Taming=Guide coming soon...
|
Guides.Repair=Hilfe in Arbeit...
|
||||||
Guides.Unarmed=Guide coming soon...
|
Guides.Swords=Hilfe in Arbeit...
|
||||||
Guides.Woodcutting=Guide coming soon...
|
Guides.Taming=Hilfe in Arbeit...
|
||||||
Inspect.Offline=[[RED]]You do not have permission to inspect offline players!
|
Guides.Unarmed=Hilfe in Arbeit...
|
||||||
Inspect.OfflineStats=mcMMO Stats for Offline Player [[YELLOW]]{0}
|
Guides.Woodcutting=Hilfe in Arbeit...
|
||||||
Inspect.Stats=[[GREEN]]mcMMO Stats for [[YELLOW]]{0}
|
|
||||||
Inspect.TooFar=[[RED]]You are too far away to inspect that player!
|
#INSPECT
|
||||||
Item.ChimaeraWing.Fail=**CHIMAERA WING FAILED!**
|
Inspect.Offline= [[RED]]Du hast keine Rechte um ausgeloggte Spieler zu inspizieren!
|
||||||
Item.ChimaeraWing.Pass=**CHIMAERA WING**
|
Inspect.OfflineStats=mcMMO Werte f\u00FCr ausgeloggte Spieler [[YELLOW]]{0}
|
||||||
Item.Injured.Wait=Du wurdest vor kurzem verletzt und musst warten, bis du es benutzen kannst. [[YELLOW]]({0}s)
|
Inspect.Stats=[[GREEN]]mcMMO Werte f\u00FCr [[YELLOW]]{0}
|
||||||
|
Inspect.TooFar=[[RED]]Du bist zu weit entfernt um diesen Spieler zu inspizieren!
|
||||||
|
|
||||||
|
#GEGENST\u00E4nde
|
||||||
|
Item.ChimaeraWing.Fail=**CHIMAERA FL\u00DCGEL Fehlgeschlagen!**
|
||||||
|
Item.ChimaeraWing.Pass=**CHIMAERA FL\u00DCGEL**
|
||||||
|
Item.Injured.Wait=[[WHITE]]Du wurdest k\u00FCrzlich verletzt und musst [[YELLOW]]({0}s) [[WHITE]]warten bis du dies wieder nutzen kannst.
|
||||||
|
|
||||||
|
#SKILLS
|
||||||
Skills.Disarmed=[[DARK_RED]]Du wurdest entwaffnet!
|
Skills.Disarmed=[[DARK_RED]]Du wurdest entwaffnet!
|
||||||
Skills.Header=[[RED]]-----[][[GREEN]]{0}[[RED]][]-----
|
Skills.Header=[[RED]]-----[][[GREEN]]{0}[[RED]][]-----
|
||||||
Skills.NeedMore=[[DARK_AQUA]]Hierfuer brauchst du mehr [[YELLOW]]
|
Skills.NeedMore=[[DARK_RED]]Du ben\u00F6tigst mehr
|
||||||
Skills.Stats=[[YELLOW]]{0}[[GREEN]]{1}[[DARK_AQUA]] XP([[GRAY]]{2}[[DARK_AQUA]]/[[GRAY]]{3}[[DARK_AQUA]])
|
Skills.Stats=[[YELLOW]]{0}[[GREEN]]{1}[[DARK_AQUA]] XP([[GRAY]]{2}[[DARK_AQUA]]/[[GRAY]]{3}[[DARK_AQUA]])
|
||||||
Skills.TooTired=[[AQUA]]Du bist zu muede um diese Faehigkeit erneut zu nutzen.
|
Skills.TooTired=[[RED]]Du bist zu ausgelaugt, um diese F\u00E4higkeit wieder nutzen zu k\u00F6nnen.
|
||||||
Stats.Header.Combat=[[GOLD]]-=KAMPF F\u00c4HIGKEITEN=-
|
|
||||||
Stats.Header.Gathering=[[GOLD]]-=Sammel-Fertigkeit=-
|
#STATISTICS
|
||||||
Stats.Header.Misc=[[GOLD]]-=MISC SKILLS=-
|
Stats.Header.Combat=[[GOLD]]-=KAMPF SKILLS=-
|
||||||
Stats.Own.Stats=[[GREEN]][mcMMO] Stats
|
Stats.Header.Gathering=[[GOLD]]-=SAMMEL SKILLS=-
|
||||||
Perks.xp.name=Experience
|
Stats.Header.Misc=[[GOLD]]-=SONSTIGE SKILLS=-
|
||||||
Perks.xp.desc=Receive {0}x XP.
|
Stats.Own.Stats=[[GREEN]][mcMMO] Werte
|
||||||
Perks.lucky.name=Luck
|
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
#PERKS
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.xp.name=Erfahrung
|
||||||
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
Perks.xp.desc=Erhalte {0}x XP.
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.lucky.name=Gl\u00FCck
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.lucky.desc=33.3% Erh\u00F6hte Chance auf Aktivierung von {0} Skills & F\u00E4higkeiten.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.lucky.desc.login=33.3% Erh\u00F6hte Chance auf Aktivierung von gewissen Skills & F\u00E4higkeiten.
|
||||||
Perks.activationtime.desc=Increases ability activation time by {0} seconds.
|
Perks.lucky.bonus=[[GOLD]] ({0}% mit Gl\u00FCck-Perk)
|
||||||
|
Perks.cooldowns.name=Schnelle Wiederherstellung
|
||||||
|
Perks.cooldowns.desc=Verk\u00FCrzt die Cooldownzeit um {0}.
|
||||||
|
Perks.activationtime.name=Ausdauer
|
||||||
|
Perks.activationtime.desc=Erh\u00F6ht die Aktivierungszeit von F\u00E4higkeiten um {0} Sekunden.
|
@ -86,7 +86,7 @@ Fishing.Effect.4=Sacudir (contra Entidades)
|
|||||||
Fishing.Effect.5=Sacudir los items fuera de los monstruos con la ca\u00f1a de pescar
|
Fishing.Effect.5=Sacudir los items fuera de los monstruos con la ca\u00f1a de pescar
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.6=Fisherman\'s Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]Probabilidad de Cazador M\u00e1gico: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]\u00a1Tesoro encontrado!
|
Fishing.ItemFound=[[GRAY]]\u00a1Tesoro encontrado!
|
||||||
Fishing.Listener=Pescador:
|
Fishing.Listener=Pescador:
|
||||||
Fishing.MagicFound=[[GRAY]]Sientes un toque de magia con esta pesca...
|
Fishing.MagicFound=[[GRAY]]Sientes un toque de magia con esta pesca...
|
||||||
@ -417,7 +417,7 @@ Commands.XPGain.Repair=Reparando
|
|||||||
Commands.XPGain.Swords=Atacando a Monstruos
|
Commands.XPGain.Swords=Atacando a Monstruos
|
||||||
Commands.XPGain.Taming=Domando animales, o combatiendo con tus lobos
|
Commands.XPGain.Taming=Domando animales, o combatiendo con tus lobos
|
||||||
Commands.XPGain.Unarmed=Atacando a Monstruos
|
Commands.XPGain.Unarmed=Atacando a Monstruos
|
||||||
Commands.XPGain.Woodcutting=Talando \u00e1rboles
|
Commands.XPGain.Woodcutting=Chopping down trees
|
||||||
Commands.XPGain=[[DARK_GRAY]]OBTENCI\u00d3N DE EXPERIENCIA: [[WHITE]]{0}
|
Commands.XPGain=[[DARK_GRAY]]OBTENCI\u00d3N DE EXPERIENCIA: [[WHITE]]{0}
|
||||||
Commands.xplock.locked=[[GOLD]]Tu BARRA DE EXP esta bloqueada a {0}!
|
Commands.xplock.locked=[[GOLD]]Tu BARRA DE EXP esta bloqueada a {0}!
|
||||||
Commands.xplock.unlocked=[[GOLD]]Tu BARRA DE EXP esta ahora [[GREEN]]DESBLOQUEADA[[GOLD]]!
|
Commands.xplock.unlocked=[[GOLD]]Tu BARRA DE EXP esta ahora [[GREEN]]DESBLOQUEADA[[GOLD]]!
|
||||||
|
@ -86,7 +86,7 @@ Fishing.Effect.4=Shake (vs. Entities)
|
|||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.6=Fisherman\'s Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
|
Fishing.ItemFound=[[GRAY]]Treasure found!
|
||||||
Fishing.Listener=Fishing:
|
Fishing.Listener=Fishing:
|
||||||
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
||||||
|
@ -86,7 +86,7 @@ Fishing.Effect.4=Secousse (sur monstres)
|
|||||||
Fishing.Effect.5=Fait tomber des objets des monstres avec une canne \u00e0 p\u00eache
|
Fishing.Effect.5=Fait tomber des objets des monstres avec une canne \u00e0 p\u00eache
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.6=Fisherman\'s Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]Tr\u00e9sor d\u00e9couvert !
|
Fishing.ItemFound=[[GRAY]]Tr\u00e9sor d\u00e9couvert !
|
||||||
Fishing.Listener=P\u00eache :
|
Fishing.Listener=P\u00eache :
|
||||||
Fishing.MagicFound=[[GRAY]]Vous ressentez quelque chose de magique dans cette prise...
|
Fishing.MagicFound=[[GRAY]]Vous ressentez quelque chose de magique dans cette prise...
|
||||||
@ -417,7 +417,7 @@ Commands.XPGain.Repair=R\u00e9paration
|
|||||||
Commands.XPGain.Swords=Attaquer des monstres
|
Commands.XPGain.Swords=Attaquer des monstres
|
||||||
Commands.XPGain.Taming=Apprivoiser et combattre
|
Commands.XPGain.Taming=Apprivoiser et combattre
|
||||||
Commands.XPGain.Unarmed=Attaquer des monstres
|
Commands.XPGain.Unarmed=Attaquer des monstres
|
||||||
Commands.XPGain.Woodcutting=Couper des arbres
|
Commands.XPGain.Woodcutting=Chopping down trees
|
||||||
Commands.XPGain=[[DARK_GRAY]]GAIN D\'XP : [[WHITE]]{0}
|
Commands.XPGain=[[DARK_GRAY]]GAIN D\'XP : [[WHITE]]{0}
|
||||||
Commands.xplock.locked=[[GOLD]]Votre barre d\'XP est maintenant verrouill\u00e9e sur {0} !
|
Commands.xplock.locked=[[GOLD]]Votre barre d\'XP est maintenant verrouill\u00e9e sur {0} !
|
||||||
Commands.xplock.unlocked=[[GOLD]]Votre barre d\'XP est maintenant [[GREEN]]D\u00c9VERROUILL\u00c9E[[GOLD]] !!
|
Commands.xplock.unlocked=[[GOLD]]Votre barre d\'XP est maintenant [[GREEN]]D\u00c9VERROUILL\u00c9E[[GOLD]] !!
|
||||||
|
@ -86,7 +86,7 @@ Fishing.Effect.4=Scuotere (contro Entit\u00e0)
|
|||||||
Fishing.Effect.5=Scrolla oggetti di dosso ai mob con una canna da pesca
|
Fishing.Effect.5=Scrolla oggetti di dosso ai mob con una canna da pesca
|
||||||
Fishing.Effect.6=Dieta del Pescatore
|
Fishing.Effect.6=Dieta del Pescatore
|
||||||
Fishing.Effect.7=Aumenta la fame recuperata tramite cibi pescati
|
Fishing.Effect.7=Aumenta la fame recuperata tramite cibi pescati
|
||||||
Fishing.Enchant.Chance=[[RED]]Probabilit\u00e0 di Cacciatore di Magia: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]Possibilit\u00e0 di Cacciatore di Magia: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]Hai trovato un tesoro!
|
Fishing.ItemFound=[[GRAY]]Hai trovato un tesoro!
|
||||||
Fishing.Listener=Pesca:
|
Fishing.Listener=Pesca:
|
||||||
Fishing.MagicFound=[[GRAY]]Senti un tocco di magia in questa cattura...
|
Fishing.MagicFound=[[GRAY]]Senti un tocco di magia in questa cattura...
|
||||||
@ -417,7 +417,7 @@ Commands.XPGain.Repair=Riparare
|
|||||||
Commands.XPGain.Swords=Attaccare Mostri
|
Commands.XPGain.Swords=Attaccare Mostri
|
||||||
Commands.XPGain.Taming=Addomesticare Animali, o combattere con i tuoi lupi
|
Commands.XPGain.Taming=Addomesticare Animali, o combattere con i tuoi lupi
|
||||||
Commands.XPGain.Unarmed=Attaccare Mostri
|
Commands.XPGain.Unarmed=Attaccare Mostri
|
||||||
Commands.XPGain.Woodcutting=Tagliare alberi
|
Commands.XPGain.Woodcutting=Chopping down trees
|
||||||
Commands.XPGain=[[DARK_GRAY]]GUADAGNARE XP: [[WHITE]]{0}
|
Commands.XPGain=[[DARK_GRAY]]GUADAGNARE XP: [[WHITE]]{0}
|
||||||
Commands.xplock.locked=[[GOLD]]La tua BARRA XP \u00e8 ora bloccata a {0}!
|
Commands.xplock.locked=[[GOLD]]La tua BARRA XP \u00e8 ora bloccata a {0}!
|
||||||
Commands.xplock.unlocked=[[GOLD]]La tua BARRA XP \u00e8 ora [[GREEN]]SBLOCCATA[[GOLD]]!
|
Commands.xplock.unlocked=[[GOLD]]La tua BARRA XP \u00e8 ora [[GREEN]]SBLOCCATA[[GOLD]]!
|
||||||
@ -464,6 +464,7 @@ Perks.xp.desc=Ricevi {0}x XP.
|
|||||||
Perks.lucky.name=Fortuna
|
Perks.lucky.name=Fortuna
|
||||||
Perks.lucky.desc=Aumenta del 33% le probabilit\u00e0 di attivarsi delle abilit\u00e0 e capacit\u00e0 di {0}.
|
Perks.lucky.desc=Aumenta del 33% le probabilit\u00e0 di attivarsi delle abilit\u00e0 e capacit\u00e0 di {0}.
|
||||||
Perks.lucky.desc.login=Aumenta del 33% le probabilit\u00e0 di attivarsi di certe abilit\u00e0 e capacit\u00e0.
|
Perks.lucky.desc.login=Aumenta del 33% le probabilit\u00e0 di attivarsi di certe abilit\u00e0 e capacit\u00e0.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Recupero Rapido
|
Perks.cooldowns.name=Recupero Rapido
|
||||||
Perks.cooldowns.desc=Riduce la durata del raffreddamento di {0}.
|
Perks.cooldowns.desc=Riduce la durata del raffreddamento di {0}.
|
||||||
Perks.activationtime.name=Resistenza
|
Perks.activationtime.name=Resistenza
|
||||||
|
@ -86,7 +86,7 @@ Fishing.Effect.4=Shake (vs. Entities)
|
|||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.6=Fisherman\'s Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
|
Fishing.ItemFound=[[GRAY]]Treasure found!
|
||||||
Fishing.Listener=Fishing:
|
Fishing.Listener=Fishing:
|
||||||
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
||||||
|
@ -86,7 +86,7 @@ Fishing.Effect.4=Shake (vs. Entities)
|
|||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.6=Fisherman\'s Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
|
Fishing.ItemFound=[[GRAY]]Treasure found!
|
||||||
Fishing.Listener=Zvejo\u0161ana:
|
Fishing.Listener=Zvejo\u0161ana:
|
||||||
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
||||||
@ -417,7 +417,7 @@ Commands.XPGain.Repair=Repairing
|
|||||||
Commands.XPGain.Swords=Attacking Monsters
|
Commands.XPGain.Swords=Attacking Monsters
|
||||||
Commands.XPGain.Taming=Animal Taming, or combat w/ your wolves
|
Commands.XPGain.Taming=Animal Taming, or combat w/ your wolves
|
||||||
Commands.XPGain.Unarmed=Attacking Monsters
|
Commands.XPGain.Unarmed=Attacking Monsters
|
||||||
Commands.XPGain.Woodcutting=Koku cir\u0161ana
|
Commands.XPGain.Woodcutting=Chopping down trees
|
||||||
Commands.XPGain=[[DARK_GRAY]]XP GAIN: [[WHITE]]{0}
|
Commands.XPGain=[[DARK_GRAY]]XP GAIN: [[WHITE]]{0}
|
||||||
Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}!
|
Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}!
|
||||||
Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]!
|
Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]!
|
||||||
|
@ -86,7 +86,7 @@ Fishing.Effect.4=Shake (vs. Entities)
|
|||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.6=Fisherman\'s Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
|
Fishing.ItemFound=[[GRAY]]Treasure found!
|
||||||
Fishing.Listener=Vissen:
|
Fishing.Listener=Vissen:
|
||||||
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
||||||
@ -372,8 +372,7 @@ Commands.Reset.Single=[[GREEN]]Your {0} skill level has been reset successfully.
|
|||||||
Commands.Reset=[[RED]]Reset a skill\'s level to 0
|
Commands.Reset=[[RED]]Reset a skill\'s level to 0
|
||||||
Commands.Skill.Invalid=[[RED]]That is not a valid skillname!
|
Commands.Skill.Invalid=[[RED]]That is not a valid skillname!
|
||||||
Commands.Skill.Leaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Leaderboard--
|
Commands.Skill.Leaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Leaderboard--
|
||||||
Commands.PowerLevel.Capped=[[DARK_RED]]POWER LEVEL: [[GREEN]]{0} [[DARK_RED]]MAXIMUM LEVEL: [[YELLOW]]{1}
|
Commands.SkillInfo=/<skill> [[RED]]- View detailed information about a skill
|
||||||
Commands.SkillInfo=/<skill> [[RED]]- Lees gedetailleerde informatie over een skill
|
|
||||||
Commands.Stats.Self=YOUR STATS
|
Commands.Stats.Self=YOUR STATS
|
||||||
Commands.Stats=[[RED]]- View your mcMMO stats
|
Commands.Stats=[[RED]]- View your mcMMO stats
|
||||||
Commands.ToggleAbility=[[RED]]- Toggle ability activation with right click
|
Commands.ToggleAbility=[[RED]]- Toggle ability activation with right click
|
||||||
|
@ -86,7 +86,7 @@ Fishing.Effect.4=Shake (vs. Entities)
|
|||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.6=Fisherman\'s Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
|
Fishing.ItemFound=[[GRAY]]Treasure found!
|
||||||
Fishing.Listener=Fishing:
|
Fishing.Listener=Fishing:
|
||||||
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
||||||
|
@ -86,7 +86,7 @@ Fishing.Effect.4=Shake (vs. Entities)
|
|||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.6=Fisherman\'s Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
|
Fishing.ItemFound=[[GRAY]]Treasure found!
|
||||||
Fishing.Listener=Fishing:
|
Fishing.Listener=Fishing:
|
||||||
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
||||||
@ -417,7 +417,7 @@ Commands.XPGain.Repair=Naprawianie
|
|||||||
Commands.XPGain.Swords=Attacking Monsters
|
Commands.XPGain.Swords=Attacking Monsters
|
||||||
Commands.XPGain.Taming=Oswoj zwierze, lub walcz ze swoimi wilkami.
|
Commands.XPGain.Taming=Oswoj zwierze, lub walcz ze swoimi wilkami.
|
||||||
Commands.XPGain.Unarmed=Attacking Monsters
|
Commands.XPGain.Unarmed=Attacking Monsters
|
||||||
Commands.XPGain.Woodcutting=Scina drzewa
|
Commands.XPGain.Woodcutting=Chopping down trees
|
||||||
Commands.XPGain=[[DARK_GRAY]Zdobyte do\u015bwiadczenie: [[WHITE]]{0}
|
Commands.XPGain=[[DARK_GRAY]Zdobyte do\u015bwiadczenie: [[WHITE]]{0}
|
||||||
Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}!
|
Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}!
|
||||||
Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]!
|
Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]!
|
||||||
|
@ -86,7 +86,7 @@ Fishing.Effect.4=Shake (vs. Entities)
|
|||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.6=Fisherman\'s Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
|
Fishing.ItemFound=[[GRAY]]Treasure found!
|
||||||
Fishing.Listener=Fishing:
|
Fishing.Listener=Fishing:
|
||||||
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
||||||
@ -417,7 +417,7 @@ Commands.XPGain.Repair=Repairing
|
|||||||
Commands.XPGain.Swords=Attacking Monsters
|
Commands.XPGain.Swords=Attacking Monsters
|
||||||
Commands.XPGain.Taming=Animal Taming, or combat w/ your wolves
|
Commands.XPGain.Taming=Animal Taming, or combat w/ your wolves
|
||||||
Commands.XPGain.Unarmed=Attacking Monsters
|
Commands.XPGain.Unarmed=Attacking Monsters
|
||||||
Commands.XPGain.WoodCutting=Chopping down trees
|
Commands.XPGain.Woodcutting=Chopping down trees
|
||||||
Commands.XPGain=[[DARK_GRAY]]XP GAIN: [[WHITE]]{0}
|
Commands.XPGain=[[DARK_GRAY]]XP GAIN: [[WHITE]]{0}
|
||||||
Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}!
|
Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}!
|
||||||
Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]!
|
Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]!
|
||||||
@ -464,6 +464,7 @@ Perks.xp.desc=Receive {0}x XP.
|
|||||||
Perks.lucky.name=Luck
|
Perks.lucky.name=Luck
|
||||||
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc=Gives {0} skills and abilities a 33.3% better chance to activate.
|
||||||
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
Perks.lucky.desc.login=Gives certain skills and abilities a 33.3% better chance to activate.
|
||||||
|
Perks.lucky.bonus=[[GOLD]] ({0}% with Lucky Perk)
|
||||||
Perks.cooldowns.name=Fast Recovery
|
Perks.cooldowns.name=Fast Recovery
|
||||||
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
Perks.cooldowns.desc=Cuts cooldown duration by {0}.
|
||||||
Perks.activationtime.name=Endurance
|
Perks.activationtime.name=Endurance
|
||||||
|
@ -86,7 +86,7 @@ Fishing.Effect.4=Shake (vs. Entities)
|
|||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.6=Fisherman\'s Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
|
Fishing.ItemFound=[[GRAY]]Treasure found!
|
||||||
Fishing.Listener=Fishing:
|
Fishing.Listener=Fishing:
|
||||||
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
||||||
|
@ -86,7 +86,7 @@ Fishing.Effect.4=\u0412\u0441\u0442\u0440\u044f\u0441\u043a\u0430 (\u0421\u0443\
|
|||||||
Fishing.Effect.5=\u0412\u044b\u0442\u0440\u044f\u0445\u0438\u0432\u0430\u0439\u0442\u0435 \u0432\u0435\u0449\u0438 \u0438\u0437 \u043c\u043e\u0431\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0434\u043e\u0447\u043a\u0438
|
Fishing.Effect.5=\u0412\u044b\u0442\u0440\u044f\u0445\u0438\u0432\u0430\u0439\u0442\u0435 \u0432\u0435\u0449\u0438 \u0438\u0437 \u043c\u043e\u0431\u043e\u0432 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0434\u043e\u0447\u043a\u0438
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.6=Fisherman\'s Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]\u0428\u0430\u043d\u0441 \u041e\u0445\u043e\u0442\u043d\u0438\u043a\u0430 \u0417\u0430 \u041c\u0430\u0433\u0438\u0435\u0439: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]\u041d\u0430\u0439\u0434\u0435\u043d\u043e \u0441\u043e\u043a\u0440\u043e\u0432\u0438\u0449\u0435!
|
Fishing.ItemFound=[[GRAY]]\u041d\u0430\u0439\u0434\u0435\u043d\u043e \u0441\u043e\u043a\u0440\u043e\u0432\u0438\u0449\u0435!
|
||||||
Fishing.Listener=\u0420\u044b\u0431\u043e\u043b\u043e\u0432\u0441\u0442\u0432\u043e:
|
Fishing.Listener=\u0420\u044b\u0431\u043e\u043b\u043e\u0432\u0441\u0442\u0432\u043e:
|
||||||
Fishing.MagicFound=[[GRAY]]\u0412\u044b \u043f\u043e\u0447\u0443\u0432\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043a\u043e\u0441\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u0441 \u044d\u0442\u0438\u043c \u0443\u043b\u043e\u0432\u043e\u043c...
|
Fishing.MagicFound=[[GRAY]]\u0412\u044b \u043f\u043e\u0447\u0443\u0432\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0438\u043a\u043e\u0441\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u0441 \u044d\u0442\u0438\u043c \u0443\u043b\u043e\u0432\u043e\u043c...
|
||||||
@ -228,7 +228,7 @@ Swords.Skills.SS.On=[[GREEN]]**\u0423\u043c\u0435\u043d\u0438\u0435 \"\u0420\u04
|
|||||||
Swords.Skills.SS.Refresh=[[GREEN]]\u0412\u0430\u0448\u0435 \u0443\u043c\u0435\u043d\u0438\u0435 [[YELLOW]]\"\u0420\u0435\u0436\u0443\u0449\u0438\u0439 \u0423\u0434\u0430\u0440\" [[GREEN]]\u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e!
|
Swords.Skills.SS.Refresh=[[GREEN]]\u0412\u0430\u0448\u0435 \u0443\u043c\u0435\u043d\u0438\u0435 [[YELLOW]]\"\u0420\u0435\u0436\u0443\u0449\u0438\u0439 \u0423\u0434\u0430\u0440\" [[GREEN]]\u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e!
|
||||||
Swords.Skills.SS.Other.Off=[[RED]]\u0423\u043c\u0435\u043d\u0438\u0435 \"\u0420\u0435\u0436\u0443\u0449\u0438\u0439 \u0443\u0434\u0430\u0440\"[[GREEN]] \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u043b\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0443 [[YELLOW]]{0}
|
Swords.Skills.SS.Other.Off=[[RED]]\u0423\u043c\u0435\u043d\u0438\u0435 \"\u0420\u0435\u0436\u0443\u0449\u0438\u0439 \u0443\u0434\u0430\u0440\"[[GREEN]] \u043f\u0440\u0435\u043a\u0440\u0430\u0442\u0438\u043b\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0443 [[YELLOW]]{0}
|
||||||
Swords.Skills.SS.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0443\u043c\u0435\u043d\u0438\u0435 [[RED]]\"\u0420\u0435\u0436\u0443\u0449\u0438\u0439 \u0423\u0434\u0430\u0440\"!
|
Swords.Skills.SS.Other.On=[[GREEN]]{0}[[DARK_GREEN]] \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0443\u043c\u0435\u043d\u0438\u0435 [[RED]]\"\u0420\u0435\u0436\u0443\u0449\u0438\u0439 \u0423\u0434\u0430\u0440\"!
|
||||||
Swords.Skillup=[[YELLOW]]\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u043d\u0430\u0432\u044b\u043a\u0430 \"\u0412\u043b\u0430\u0434\u0435\u043d\u0438\u0435 \u041c\u0435\u0447\u0435\u043c" \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d \u043d\u0430 {0}. \u0412\u0441\u0435\u0433\u043e ({1})
|
Swords.Skillup=[[YELLOW]]Swords skill increased by {0}. Total ({1})
|
||||||
Swords.SS.Length=[[RED]]\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u043c\u0435\u043d\u0438\u044f \"\u0420\u0435\u0436\u0443\u0449\u0438\u0439 \u0423\u0434\u0430\u0440\": [[YELLOW]]{0}\u0441.
|
Swords.SS.Length=[[RED]]\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0443\u043c\u0435\u043d\u0438\u044f \"\u0420\u0435\u0436\u0443\u0449\u0438\u0439 \u0423\u0434\u0430\u0440\": [[YELLOW]]{0}\u0441.
|
||||||
Taming.Ability.Bonus.0=\u042d\u043a\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0421\u043e\u0437\u043d\u0430\u043d\u0438\u0435
|
Taming.Ability.Bonus.0=\u042d\u043a\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0421\u043e\u0437\u043d\u0430\u043d\u0438\u0435
|
||||||
Taming.Ability.Bonus.1=\u0412\u043e\u043b\u043a\u0438 \u0438\u0437\u0431\u0435\u0433\u0430\u044e\u0442 \u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438
|
Taming.Ability.Bonus.1=\u0412\u043e\u043b\u043a\u0438 \u0438\u0437\u0431\u0435\u0433\u0430\u044e\u0442 \u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438
|
||||||
@ -365,7 +365,7 @@ Commands.Party.Teleport=<player> [[RED]]- \u0422\u0435\u043b\u0435\u043f\u043e\u
|
|||||||
Commands.Party.Toggle=[[RED]]- \u0412\u043a\u043b./\u043e\u0442\u043a\u043b. \u0433\u0440\u0443\u043f\u043f\u043e\u0432\u043e\u0439 \u0447\u0430\u0442
|
Commands.Party.Toggle=[[RED]]- \u0412\u043a\u043b./\u043e\u0442\u043a\u043b. \u0433\u0440\u0443\u043f\u043f\u043e\u0432\u043e\u0439 \u0447\u0430\u0442
|
||||||
Commands.Party=<party-name> [[RED]]- \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u0438\u043b\u0438 \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0435\u043d\u0438\u0442\u044c\u0441\u044f \u043a \u043d\u0435\u0439
|
Commands.Party=<party-name> [[RED]]- \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u0438\u043b\u0438 \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0435\u043d\u0438\u0442\u044c\u0441\u044f \u043a \u043d\u0435\u0439
|
||||||
Commands.PowerLevel.Leaderboard=[[YELLOW]]--\u0421\u043f\u0438\u0441\u043e\u043a \u041b\u0438\u0434\u0435\u0440\u043e\u0432 mcMMO \u043f\u043e[[BLUE]] \u041e\u0431\u0449\u0435\u043c\u0443 \u0423\u0440\u043e\u0432\u043d\u044e [[YELLOW]]--
|
Commands.PowerLevel.Leaderboard=[[YELLOW]]--\u0421\u043f\u0438\u0441\u043e\u043a \u041b\u0438\u0434\u0435\u0440\u043e\u0432 mcMMO \u043f\u043e[[BLUE]] \u041e\u0431\u0449\u0435\u043c\u0443 \u0423\u0440\u043e\u0432\u043d\u044e [[YELLOW]]--
|
||||||
Commands.PowerLevel.Capped=[[DARK_RED]]\u041e\u0431\u0449\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c: [[GREEN]]{0} [[DARK_RED]]\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c: [[YELLOW]]{1}
|
Commands.PowerLevel.Capped=[[DARK_RED]]POWER LEVEL: [[GREEN]]{0} [[DARK_RED]]MAX LEVEL: [[YELLOW]]{1}
|
||||||
Commands.PowerLevel=[[DARK_RED]]\u041e\u0411\u0429\u0418\u0419 \u0423\u0420\u041e\u0412\u0415\u041d\u042c: [[GREEN]]{0}
|
Commands.PowerLevel=[[DARK_RED]]\u041e\u0411\u0429\u0418\u0419 \u0423\u0420\u041e\u0412\u0415\u041d\u042c: [[GREEN]]{0}
|
||||||
Commands.Reset.All=[[GREEN]]All of your skill levels have been reset successfully.
|
Commands.Reset.All=[[GREEN]]All of your skill levels have been reset successfully.
|
||||||
Commands.Reset.Single=[[GREEN]]Your {0} skill level has been reset successfully.
|
Commands.Reset.Single=[[GREEN]]Your {0} skill level has been reset successfully.
|
||||||
@ -379,7 +379,7 @@ Commands.ToggleAbility=[[RED]]- \u0412\u043a\u043b./\u043e\u0442\u043a\u043b. \u
|
|||||||
mcMMO.MOTD=[[BLUE]]\u042d\u0442\u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 mcMMO {0}! \n \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 [[YELLOW]]/mcmmo[[BLUE]] \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043c\u043e\u0449\u0438.
|
mcMMO.MOTD=[[BLUE]]\u042d\u0442\u043e\u0442 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 mcMMO {0}! \n \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 [[YELLOW]]/mcmmo[[BLUE]] \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043c\u043e\u0449\u0438.
|
||||||
mcMMO.NoInvites=[[RED]]\u0421\u0435\u0439\u0447\u0430\u0441 \u0443 \u0412\u0430\u0441 \u043d\u0435\u0442 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0439
|
mcMMO.NoInvites=[[RED]]\u0421\u0435\u0439\u0447\u0430\u0441 \u0443 \u0412\u0430\u0441 \u043d\u0435\u0442 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0439
|
||||||
mcMMO.NoPermission=[[DARK_RED]]\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u0430\u0432.
|
mcMMO.NoPermission=[[DARK_RED]]\u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u0430\u0432.
|
||||||
mcMMO.NoSkillNote=[[DARK_GRAY]]\u0415\u0441\u043b\u0438 \u0443 \u0412\u0430\u0441 \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043d\u0430\u0432\u044b\u043a\u0443 - \u043e\u043d \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0434\u0435\u0441\u044c \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f.
|
mcMMO.NoSkillNote=[[DARK_GRAY]]\u0415\u0441\u043b\u0438 \u0443 \u0412\u0430\u0441 \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043d\u0430\u0432\u044b\u043a\u0443, \u0442\u043e \u043e\u043d \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0434\u0435\u0441\u044c \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f.
|
||||||
mcMMO.Website=[[GREEN]]http://forums.mcmmo.info[[BLUE]] - \u0421\u0430\u0439\u0442 mcMMO
|
mcMMO.Website=[[GREEN]]http://forums.mcmmo.info[[BLUE]] - \u0421\u0430\u0439\u0442 mcMMO
|
||||||
Commands.Party.InParty=[[GREEN]]\u0413\u0440\u0443\u043f\u043f\u0430: {0}
|
Commands.Party.InParty=[[GREEN]]\u0413\u0440\u0443\u043f\u043f\u0430: {0}
|
||||||
Party.Forbidden=[mcMMO] \u0413\u0440\u0443\u043f\u043f\u044b \u043d\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u044b \u0432 \u044d\u0442\u043e\u043c \u043c\u0438\u0440\u0435 (\u0421\u043c\u043e\u0442\u0440\u0438 Permissions)
|
Party.Forbidden=[mcMMO] \u0413\u0440\u0443\u043f\u043f\u044b \u043d\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u044b \u0432 \u044d\u0442\u043e\u043c \u043c\u0438\u0440\u0435 (\u0421\u043c\u043e\u0442\u0440\u0438 Permissions)
|
||||||
@ -417,7 +417,7 @@ Commands.XPGain.Repair=\u0420\u0435\u043c\u043e\u043d\u0442\u0438\u0440\u0443\u0
|
|||||||
Commands.XPGain.Swords=\u0410\u0442\u0430\u043a\u0443\u0439\u0442\u0435 \u041c\u043e\u043d\u0441\u0442\u0440\u043e\u0432
|
Commands.XPGain.Swords=\u0410\u0442\u0430\u043a\u0443\u0439\u0442\u0435 \u041c\u043e\u043d\u0441\u0442\u0440\u043e\u0432
|
||||||
Commands.XPGain.Taming=\u0423\u043a\u0440\u043e\u0449\u0430\u0439\u0442\u0435 \u0436\u0438\u0432\u043e\u0442\u043d\u044b\u0445 \u0438\u043b\u0438 \u0441\u0440\u0430\u0436\u0430\u0439\u0442\u0435\u0441\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u0432\u043e\u0438\u0445 \u0432\u043e\u043b\u043a\u043e\u0432
|
Commands.XPGain.Taming=\u0423\u043a\u0440\u043e\u0449\u0430\u0439\u0442\u0435 \u0436\u0438\u0432\u043e\u0442\u043d\u044b\u0445 \u0438\u043b\u0438 \u0441\u0440\u0430\u0436\u0430\u0439\u0442\u0435\u0441\u044c \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0441\u0432\u043e\u0438\u0445 \u0432\u043e\u043b\u043a\u043e\u0432
|
||||||
Commands.XPGain.Unarmed=\u0410\u0442\u0430\u043a\u0443\u0439\u0442\u0435 \u041c\u043e\u043d\u0441\u0442\u0440\u043e\u0432
|
Commands.XPGain.Unarmed=\u0410\u0442\u0430\u043a\u0443\u0439\u0442\u0435 \u041c\u043e\u043d\u0441\u0442\u0440\u043e\u0432
|
||||||
Commands.XPGain.Woodcutting=\u0420\u0443\u0431\u0438\u0442\u0435 \u0434\u0435\u0440\u0435\u0432\u044c\u044f
|
Commands.XPGain.Woodcutting=Chopping down trees
|
||||||
Commands.XPGain=[[DARK_GRAY]]\u041f\u041e\u041b\u0423\u0427\u0415\u041d\u041e \u041e\u041f\u042b\u0422\u0410: [[WHITE]]{0}
|
Commands.XPGain=[[DARK_GRAY]]\u041f\u041e\u041b\u0423\u0427\u0415\u041d\u041e \u041e\u041f\u042b\u0422\u0410: [[WHITE]]{0}
|
||||||
Commands.xplock.locked=[[GOLD]]\u0412\u0430\u0448\u0430 \u041f\u0430\u043d\u0435\u043b\u044c \u041e\u043f\u044b\u0442\u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 {0}!
|
Commands.xplock.locked=[[GOLD]]\u0412\u0430\u0448\u0430 \u041f\u0430\u043d\u0435\u043b\u044c \u041e\u043f\u044b\u0442\u0430 \u0442\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 {0}!
|
||||||
Commands.xplock.unlocked=[[GOLD]]\u0412\u0430\u0448\u0430 \u043f\u0430\u043d\u0435\u043b\u044c \u043e\u043f\u044b\u0442\u0430 \u0442\u0435\u043f\u0435\u0440\u044c [[GREEN]]\u0420\u0410\u0417\u0411\u041b\u041e\u041a\u0418\u0420\u041e\u0412\u0410\u041d\u0410[[GOLD]]!
|
Commands.xplock.unlocked=[[GOLD]]\u0412\u0430\u0448\u0430 \u043f\u0430\u043d\u0435\u043b\u044c \u043e\u043f\u044b\u0442\u0430 \u0442\u0435\u043f\u0435\u0440\u044c [[GREEN]]\u0420\u0410\u0417\u0411\u041b\u041e\u041a\u0418\u0420\u041e\u0412\u0410\u041d\u0410[[GOLD]]!
|
||||||
|
@ -86,7 +86,7 @@ Fishing.Effect.4=Shake (vs. Entities)
|
|||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.6=Fisherman\'s Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
|
Fishing.ItemFound=[[GRAY]]Treasure found!
|
||||||
Fishing.Listener=Fishing:
|
Fishing.Listener=Fishing:
|
||||||
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
||||||
|
@ -86,7 +86,7 @@ Fishing.Effect.4=Shake (vs. Entities)
|
|||||||
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
Fishing.Effect.5=Shake items off of mobs w/ fishing pole
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.6=Fisherman\'s Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]Treasure found!
|
Fishing.ItemFound=[[GRAY]]Treasure found!
|
||||||
Fishing.Listener=Fishing:
|
Fishing.Listener=Fishing:
|
||||||
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
Fishing.MagicFound=[[GRAY]]You feel a touch of magic with this catch...
|
||||||
|
@ -86,7 +86,7 @@ Fishing.Effect.4=\u6643\u52a8\u602a\u7269 (\u5bf9\u602a\u7269\u4f7f\u7528)
|
|||||||
Fishing.Effect.5=\u7528\u9c7c\u7aff\u628a\u602a\u7269\u8eab\u4e0a\u7684\u4e1c\u897f\u6447\u4e0b\u6765
|
Fishing.Effect.5=\u7528\u9c7c\u7aff\u628a\u602a\u7269\u8eab\u4e0a\u7684\u4e1c\u897f\u6447\u4e0b\u6765
|
||||||
Fishing.Effect.6=Fisherman\'s Diet
|
Fishing.Effect.6=Fisherman\'s Diet
|
||||||
Fishing.Effect.7=Improves hunger restored from fished foods
|
Fishing.Effect.7=Improves hunger restored from fished foods
|
||||||
Fishing.Enchant.Chance=[[RED]]Magic Hunter Chance: [[YELLOW]]{0}%
|
Fishing.Enchant.Chance=[[RED]]\u9b54\u6cd5\u730e\u4eba\u51e0\u7387: [[YELLOW]]{0}
|
||||||
Fishing.ItemFound=[[GRAY]]\u53d1\u73b0\u5b9d\u7269\u4e86\uff01
|
Fishing.ItemFound=[[GRAY]]\u53d1\u73b0\u5b9d\u7269\u4e86\uff01
|
||||||
Fishing.Listener=\u9493\u9c7c:
|
Fishing.Listener=\u9493\u9c7c:
|
||||||
Fishing.MagicFound=[[GRAY]]\u4f60\u611f\u5230\u4e00\u80a1\u9b54\u529b\u7684\u6ce2\u52a8...
|
Fishing.MagicFound=[[GRAY]]\u4f60\u611f\u5230\u4e00\u80a1\u9b54\u529b\u7684\u6ce2\u52a8...
|
||||||
@ -417,7 +417,7 @@ Commands.XPGain.Repair=\u4fee\u7406
|
|||||||
Commands.XPGain.Swords=\u653b\u51fb\u602a\u7269
|
Commands.XPGain.Swords=\u653b\u51fb\u602a\u7269
|
||||||
Commands.XPGain.Taming=\u9a6f\u517d, \u548c\u4f60\u7684\u72fc\u4e00\u8d77\u6218\u6597
|
Commands.XPGain.Taming=\u9a6f\u517d, \u548c\u4f60\u7684\u72fc\u4e00\u8d77\u6218\u6597
|
||||||
Commands.XPGain.Unarmed=\u653b\u51fb\u602a\u7269
|
Commands.XPGain.Unarmed=\u653b\u51fb\u602a\u7269
|
||||||
Commands.XPGain.Woodcutting=\u628a\u6811\u780d\u5012
|
Commands.XPGain.Woodcutting=Chopping down trees
|
||||||
Commands.XPGain=[[DARK_GRAY]]\u83b7\u5f97\u7ecf\u9a8c: [[WHITE]]{0}
|
Commands.XPGain=[[DARK_GRAY]]\u83b7\u5f97\u7ecf\u9a8c: [[WHITE]]{0}
|
||||||
Commands.xplock.locked=[[GOLD]]\u4f60\u7684\u7ecf\u9a8c\u6761\u9501\u5b9a\u5728 {0}!
|
Commands.xplock.locked=[[GOLD]]\u4f60\u7684\u7ecf\u9a8c\u6761\u9501\u5b9a\u5728 {0}!
|
||||||
Commands.xplock.unlocked=[[GOLD]]\u4f60\u7684\u7ecf\u9a8c\u6761\u73b0\u5728 [[GREEN]]\u89e3\u9664\u9501\u5b9a\u4e86[[GOLD]]!
|
Commands.xplock.unlocked=[[GOLD]]\u4f60\u7684\u7ecf\u9a8c\u6761\u73b0\u5728 [[GREEN]]\u89e3\u9664\u9501\u5b9a\u4e86[[GOLD]]!
|
||||||
|
Loading…
Reference in New Issue
Block a user