diff --git a/Changelog.txt b/Changelog.txt index 931ddd615..1181c293f 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,5 +1,15 @@ +Version 2.1.99 + MASSIVE update to the Russian locale (ru) credit to myfbone + Debug mode (/mmodebug) will now print info about XP perks and how they are modifying your incoming XP + +Version 2.1.98 + Fixed a bug that prevented Taming XP from combat + Version 2.1.97 + mcMMO is compatible with 1.14.4 (Didn't require any changes) Fixed a NPE that could occur if a pet participated in combat and its master's mcMMO data was not available + mcMMO now properly closes its region files as it creates them (thanks Yukiiro-Nite) + Updated Hungarian locale (thanks andris) Version 2.1.96 Added the setting 'Skills.General.LimitBreak.AllowPVE' to advanced.yml to allow Limit Break damage bonus to apply in PVE again, defaults to false diff --git a/pom.xml b/pom.xml index d4dddacc9..7b098aec4 100755 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 com.gmail.nossr50.mcMMO mcMMO - 2.1.97-SNAPSHOT + 2.1.99 mcMMO https://github.com/mcMMO-Dev/mcMMO @@ -167,7 +167,7 @@ org.spigotmc spigot-api - 1.14.3-SNAPSHOT + 1.14.4-R0.1-SNAPSHOT provided diff --git a/src/main/java/com/gmail/nossr50/util/Motd.java b/src/main/java/com/gmail/nossr50/util/Motd.java index a4ca18754..ac3fd4e70 100644 --- a/src/main/java/com/gmail/nossr50/util/Motd.java +++ b/src/main/java/com/gmail/nossr50/util/Motd.java @@ -85,6 +85,7 @@ public final class Motd { */ public static void displayXpPerks(Player player) { for (PrimarySkillType skill : PrimarySkillType.values()) { + //TODO: Wow this is horrifying... if (PerksUtils.handleXpPerks(player, 1, skill) > 1) { player.sendMessage(PERK_PREFIX + LocaleLoader.getString("Effects.Template", LocaleLoader.getString("Perks.XP.Name"), LocaleLoader.getString("Perks.XP.Desc"))); return; diff --git a/src/main/java/com/gmail/nossr50/util/blockmeta/chunkmeta/HashChunkManager.java b/src/main/java/com/gmail/nossr50/util/blockmeta/chunkmeta/HashChunkManager.java index be8f4191d..532f87d66 100755 --- a/src/main/java/com/gmail/nossr50/util/blockmeta/chunkmeta/HashChunkManager.java +++ b/src/main/java/com/gmail/nossr50/util/blockmeta/chunkmeta/HashChunkManager.java @@ -242,7 +242,6 @@ public class HashChunkManager implements ChunkManager { return; } - closeAll(); String worldName = world.getName(); List keys = new ArrayList(store.keySet()); @@ -257,6 +256,7 @@ public class HashChunkManager implements ChunkManager { } } } + closeAll(); } @Override diff --git a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java index b15917943..06583d8fc 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/CombatUtils.java @@ -173,7 +173,7 @@ public final class CombatUtils { double initialDamage = event.getDamage(); double finalDamage = initialDamage; - if(master != null && !master.isOnline() && master.isValid()) { + if(master != null && master.isOnline() && master.isValid()) { McMMOPlayer mcMMOPlayer = UserManager.getPlayer(master); //Make sure the profiles been loaded diff --git a/src/main/java/com/gmail/nossr50/util/skills/PerksUtils.java b/src/main/java/com/gmail/nossr50/util/skills/PerksUtils.java index 1247c8272..eaa93d25f 100644 --- a/src/main/java/com/gmail/nossr50/util/skills/PerksUtils.java +++ b/src/main/java/com/gmail/nossr50/util/skills/PerksUtils.java @@ -3,6 +3,8 @@ package com.gmail.nossr50.util.skills; import com.gmail.nossr50.config.experience.ExperienceConfig; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.util.Permissions; +import com.gmail.nossr50.util.player.UserManager; +import net.md_5.bungee.api.ChatColor; import org.bukkit.entity.Player; public final class PerksUtils { @@ -44,29 +46,44 @@ public final class PerksUtils { } public static float handleXpPerks(Player player, float xp, PrimarySkillType skill) { + double modifier = 1.0F; + double originalXP = xp; + if (Permissions.customXpBoost(player, skill)) { - xp *= ExperienceConfig.getInstance().getCustomXpPerkBoost(); + if(UserManager.getPlayer(player) != null && UserManager.getPlayer(player).isDebugMode()) { + player.sendMessage(ChatColor.GOLD + "[DEBUG] " + ChatColor.DARK_GRAY + "XP Perk Multiplier IS CUSTOM! "); + } + + modifier = ExperienceConfig.getInstance().getCustomXpPerkBoost(); } else if (Permissions.quadrupleXp(player, skill)) { - xp *= 4; + modifier = 4; } else if (Permissions.tripleXp(player, skill)) { - xp *= 3; + modifier = 3; } else if (Permissions.doubleAndOneHalfXp(player, skill)) { - xp *= 2.5; + modifier = 2.5; } else if (Permissions.doubleXp(player, skill)) { - xp *= 2; + modifier = 2; } else if (Permissions.oneAndOneHalfXp(player, skill)) { - xp *= 1.5; + modifier = 1.5; } else if (Permissions.oneAndOneTenthXp(player, skill)) { - xp *= 1.1; + modifier = 1.1; } - return xp; + float modifiedXP = (float) (xp * modifier); + + if(UserManager.getPlayer(player) != null && UserManager.getPlayer(player).isDebugMode()) { + player.sendMessage(ChatColor.GOLD + "[DEBUG] " + ChatColor.RESET + "XP Perk Multiplier - " + ChatColor.GOLD + modifier); + player.sendMessage(ChatColor.GOLD + "[DEBUG] " + ChatColor.RESET + "Original XP before perk boosts " + ChatColor.RED + originalXP); + player.sendMessage(ChatColor.GOLD + "[DEBUG] " + ChatColor.RESET + "XP AFTER PERKS " + ChatColor.DARK_RED + modifiedXP); + } + + return modifiedXP; } /** diff --git a/src/main/resources/locale/locale_hu_HU.properties b/src/main/resources/locale/locale_hu_HU.properties index 3d734b7e6..3767dcdd7 100644 --- a/src/main/resources/locale/locale_hu_HU.properties +++ b/src/main/resources/locale/locale_hu_HU.properties @@ -59,6 +59,7 @@ Anvil.SingleItemStack=[[RED]]Nem lehet \u00FAjrahasznos\u00EDtani, vagy jav\u00E #DO NOT USE COLOR CODES IN THE JSON KEYS #COLORS ARE DEFINED IN advanced.yml IF YOU WISH TO CHANGE THEM +mcMMO.Template.Prefix=[[GOLD]]([[GREEN]]mcMMO[[GOLD]]) [[GRAY]]{0} # BEGIN STYLING Ability.Generic.Refresh=[[GREEN]]**K\u00C9PESS\u00C9GEK FRISS\u00CDTVE!** Ability.Generic.Template.Lock=[[GRAY]]{0} @@ -170,8 +171,8 @@ Archery.SubSkill.ArrowRetrieval.Name=Nyilak Visszaszerz\u00E9se Archery.SubSkill.ArrowRetrieval.Description=Es\u00E9ly a nyilak visszaszerz\u00E9sre a hull\u00E1kb\u00F3l Archery.SubSkill.ArrowRetrieval.Stat=Ny\u00EDl helyre\u00E1ll\u00EDt\u00E1si es\u00E9ly Archery.SubSkill.ArcheryLimitBreak.Name=\u00CDj\u00E1szat Korl\u00E1t \u00C1tl\u00E9p\u00E9s -Archery.SubSkill.ArcheryLimitBreak.Description=L\u00E9pj t\u00FAl a korl\u00E1taidon. -Archery.SubSkill.ArcheryLimitBreak.Stat=B\u00F3nusz Sebz\u00E9s Korl\u00E1t \u00C1tl\u00E9p\u00E9ssel +Archery.SubSkill.ArcheryLimitBreak.Description=L\u00E9pj t\u00FAl a korl\u00E1taidon. Megn\u00F6vekedett sebz\u00E9s a kem\u00E9ny ellenfelek ellen. A PVP-hez tervezt\u00E9k att\u00F3l f\u00FCggetlen\u00FCl, hogy a szerver be\u00E1ll\u00EDt\u00E1si n\u00F6velik-e, vagy sem a PVE sebz\u00E9st. +Archery.SubSkill.ArcheryLimitBreak.Stat=Max Sebz\u00E9s Korl\u00E1t \u00C1tl\u00E9p\u00E9ssel Archery.Listener=\u00CDj\u00E1szat: Archery.SkillName=\u00CDJ\u00C1SZAT #AXES @@ -197,8 +198,8 @@ Axes.SubSkill.CriticalStrikes.Stat=Es\u00E9ly Kritikus Csap\u00E1sra Axes.SubSkill.AxeMastery.Name=Balta Mesters\u00E9g Axes.SubSkill.AxeMastery.Description=B\u00F3nusz sebz\u00E9st ad Axes.SubSkill.AxesLimitBreak.Name=Balt\u00E1szat Korl\u00E1t \u00C1tl\u00E9p\u00E9s -Axes.SubSkill.AxesLimitBreak.Description=L\u00E9pj t\u00FAl a korl\u00E1taidon. -Axes.SubSkill.AxesLimitBreak.Stat=B\u00F3nusz Sebz\u00E9s Korl\u00E1t \u00C1tl\u00E9p\u00E9ssel +Axes.SubSkill.AxesLimitBreak.Description=L\u00E9pj t\u00FAl a korl\u00E1taidon. Megn\u00F6vekedett sebz\u00E9s a kem\u00E9ny ellenfelek ellen. A PVP-hez tervezt\u00E9k att\u00F3l f\u00FCggetlen\u00FCl, hogy a szerver be\u00E1ll\u00EDt\u00E1si n\u00F6velik-e, vagy sem a PVE sebz\u00E9st. +Axes.SubSkill.AxesLimitBreak.Stat=Max Sebz\u00E9s Korl\u00E1t \u00C1tl\u00E9p\u00E9ssel Axes.SubSkill.ArmorImpact.Name=P\u00E1nc\u00E9l \u00DCt\u00E9s Axes.SubSkill.ArmorImpact.Description=El\u00E9g er\u0151vel csap le ahhoz, hogy p\u00E1nc\u00E9lt t\u00F6rj\u00F6n Axes.SubSkill.GreaterImpact.Name=Er\u0151s \u00DCt\u00E9s @@ -422,8 +423,8 @@ Swords.SubSkill.Stab.Name=D\u00F6f\u00E9s Swords.SubSkill.Stab.Description={0} B\u00F3nusz sebz\u00E9st ad a t\u00E1mad\u00E1sokkor. Swords.SubSkill.Stab.Stat=D\u00F6f\u00E9s Sebz\u00E9s Swords.SubSkill.SwordsLimitBreak.Name=Kardok Korl\u00E1t \u00C1tl\u00E9p\u00E9s -Swords.SubSkill.SwordsLimitBreak.Description=L\u00E9pj t\u00FAl a korl\u00E1taidon. -Swords.SubSkill.SwordsLimitBreak.Stat=B\u00F3nusz Sebz\u00E9s Korl\u00E1t \u00C1tl\u00E9p\u00E9ssel +Swords.SubSkill.SwordsLimitBreak.Description=L\u00E9pj t\u00FAl a korl\u00E1taidon. Megn\u00F6vekedett sebz\u00E9s a kem\u00E9ny ellenfelek ellen. A PVP-hez tervezt\u00E9k att\u00F3l f\u00FCggetlen\u00FCl, hogy a szerver be\u00E1ll\u00EDt\u00E1si n\u00F6velik-e, vagy sem a PVE sebz\u00E9st. +Swords.SubSkill.SwordsLimitBreak.Stat=Max Sebz\u00E9s Korl\u00E1t \u00C1tl\u00E9p\u00E9ssel Swords.SubSkill.Rupture.Stat=Es\u00E9ly T\u00F6r\u00E9sre Swords.SubSkill.Rupture.Stat.Extra=T\u00F6r\u00E9s Hossza: [[GREEN]]{0} tick [{1} s\u00E9r\u00FCl\u00E9s j\u00E1t\u00E9kosok ellen] [{2} s\u00E9r\u00FCl\u00E9s \u00E9l\u0151l\u00E9nyek ellen] Swords.Effect.4=Fogazott Penge T\u00F6r\u00E9s+ @@ -501,8 +502,8 @@ Unarmed.SubSkill.Disarm.Name=Lefegyverz\u00E9s (J\u00E1t\u00E9kosok) Unarmed.SubSkill.Disarm.Description=Ellenfeleid elejtik a kez\u00FCkben lev\u0151 t\u00E1rgyakat Unarmed.SubSkill.Disarm.Stat=Es\u00E9ly Lefegyverz\u00E9sre Unarmed.SubSkill.UnarmedLimitBreak.Name=Pusztakezek Korl\u00E1t \u00C1tl\u00E9p\u00E9s -Unarmed.SubSkill.UnarmedLimitBreak.Description=L\u00E9pj t\u00FAl a korl\u00E1taidon. -Unarmed.SubSkill.UnarmedLimitBreak.Stat=B\u00F3nusz Sebz\u00E9s Korl\u00E1t \u00C1tl\u00E9p\u00E9ssel +Unarmed.SubSkill.UnarmedLimitBreak.Description=L\u00E9pj t\u00FAl a korl\u00E1taidon. Megn\u00F6vekedett sebz\u00E9s a kem\u00E9ny ellenfelek ellen. A PVP-hez tervezt\u00E9k att\u00F3l f\u00FCggetlen\u00FCl, hogy a szerver be\u00E1ll\u00EDt\u00E1si n\u00F6velik-e, vagy sem a PVE sebz\u00E9st. +Unarmed.SubSkill.UnarmedLimitBreak.Stat=Max Sebz\u00E9s Korl\u00E1t \u00C1tl\u00E9p\u00E9ssel Unarmed.SubSkill.IronArmStyle.Name=Vas-\u00D6k\u00F6l St\u00EDlus Unarmed.SubSkill.IronArmStyle.Description=Id\u0151vel megkem\u00E9ny\u00EDti az \u00F6kleidet Unarmed.SubSkill.ArrowDeflect.Name=Nyilak Kit\u00E9r\u00EDt\u00E9se @@ -560,7 +561,8 @@ Combat.TargetDazed=A c\u00E9lpont [[DARK_RED]]Elk\u00E1bult Combat.TouchedFuzzy=[[DARK_RED]]Bolyhost \u00E9rintett, K\u00E1bults\u00E1got \u00E9rzett. #COMMANDS ##generic -mcMMO.Description=[[DARK_AQUA]]Az [[YELLOW]]mcMMO[[DARK_AQUA]] projektr\u0151l:,[[GOLD]] az mcMMO egy [[RED]]ny\u00EDlt forr\u00E1sk\u00F3d\u00FA[[GOLD]] RPG m\u00F3d, amit 2011 Febru\u00E1rj\u00E1ban k\u00E9sz\u00EDtett, [[BLUE]]nossr50[[GOLD]]. A c\u00E9l a min\u0151s\u00E9gi RPG \u00E9lm\u00E9ny biztos\u00EDt\u00E1sa.,[[DARK_AQUA]]Tippek:,[[GOLD]] - [[GREEN]]Haszn\u00E1ld a [[RED]]/mcmmo help[[GREEN]] parancsot a parancsok megtekint\u00E9s\u00E9hez,[[GOLD]] - [[GREEN]]Haszn\u00E1ld a [[RED]]/K\u00C9PESS\u00C9GN\u00C9V[[GREEN]] parancsot a r\u00E9szletes k\u00E9pess\u00E9ginform\u00E1ci\u00F3k megtekint\u00E9s\u00E9hez,[[DARK_AQUA]]Fejleszt\u0151k:,[[GOLD]] - [[GREEN]]nossr50 [[BLUE]](Alap\u00EDt\u00F3 & Projektvezet\u0151),[[GOLD]] - [[GREEN]]GJ [[BLUE]](Kor\u00E1bbi projektvezet\u0151),[[GOLD]] - [[GREEN]]NuclearW [[BLUE]](Fejleszt\u0151),[[GOLD]] - [[GREEN]]bm01 [[BLUE]](Fejleszt\u0151),[[GOLD]] - [[GREEN]]TfT_02 [[BLUE]](Fejleszt\u0151),[[GOLD]] - [[GREEN]]Glitchfinder [[BLUE]](Fejleszt\u0151),[[GOLD]] - [[GREEN]]t00thpick1 [[BLUE]](Fejleszt\u0151),[[DARK_AQUA]]Hasznos linkek:,[[GOLD]] - [[GREEN]]https://github.com/mcMMO-Dev/mcMMO/issues[[GOLD]] Hibajelent\u00E9s,[[GOLD]] - [[GREEN]]https://discord.gg/EJGVanb [[GOLD]] Hivatalos Discord +mcMMO.Description=[[DARK_AQUA]]Az [[YELLOW]]mcMMO[[DARK_AQUA]] Projektr\u0151l:,[[GOLD]]Az mcMMO egy [[RED]]ny\u00EDlt forr\u00E1sk\u00F3d\u00FA[[GOLD]] RPG m\u00F3d, amit 2011 febru\u00E1rj\u00E1ban alap\u00EDtott [[BLUE]]nossr50[[GOLD]]. A c\u00E9l a min\u0151s\u00E9gi RPG \u00E9lm\u00E9ny biztos\u00EDt\u00E1sa.,[[DARK_AQUA]]Tippek:,[[GOLD]] - [[GREEN]]Haszn\u00E1ld a [[RED]]/mcmmo help[[GREEN]] parancsot a parancsok megtekint\u00E9s\u00E9hez,[[GOLD]] - [[GREEN]]\u00CDrd be a [[RED]]/K\u00C9PESS\u00C9GN\u00C9V[[GREEN]] parancsot a r\u00E9szletes k\u00E9pess\u00E9ginform\u00E1ci\u00F3khoz,[[DARK_AQUA]]Fejleszt\u0151k:,[[GOLD]] - [[GREEN]]nossr50 [[BLUE]](Alap\u00EDt\u00F3 & Projektvezet\u0151),[[GOLD]] - [[GREEN]]electronicboy [[BLUE]](Fejleszt\u0151),[[GOLD]] - [[GREEN]]kashike [[BLUE]](Fejleszt\u0151),[[GOLD]] - [[GREEN]]t00thpick1 [[BLUE]](Classic Karbantart\u00F3) +mcMMO.Description.FormerDevs=[[DARK_AQUA]]Kor\u00E1bbi Fejleszt\u0151k: [[GREEN]]GJ, NuclearW, bm01, TfT_02, Glitchfinder Commands.addlevels.AwardAll.1=[[GREEN]]El\u00E9rt\u00E9l {0} szintet az \u00F6sszes k\u00E9pess\u00E9gben! Commands.addlevels.AwardAll.2=Minden k\u00E9pess\u00E9gszint \u00E1t lett \u00E1ll\u00EDtva a k\u00F6vetkez\u0151re: {0}. Commands.addlevels.AwardSkill.1=[[GREEN]]El\u00E9rt\u00E9l {0} szintet a k\u00F6vetkez\u0151ben {1}! @@ -725,6 +727,7 @@ Commands.MmoInfo.DetailsHeader=[[DARK_AQUA]]-=[]=====[][[GREEN]] R\u00E9szletek Commands.MmoInfo.OldSkill=[[GRAY]]Az mcMMO a k\u00E9szs\u00E9geket egy tov\u00E1bbfejlesztett modul\u00E1ris k\u00E9pess\u00E9grendszerr\u00E9 alak\u00EDtj\u00E1k \u00E1t. Sajnos ez a k\u00E9pess\u00E9g m\u00E9g nincs \u00E1tkonvert\u00E1lva, \u00EDgy hi\u00E1nyzik a r\u00E9szletes statisztika. Az \u00FAj rendszer lehet\u0151v\u00E9 teszi az \u00FAj mcMMO k\u00E9szs\u00E9gek gyorsabb kiad\u00E1si idej\u00E9t, \u00E9s a megl\u00E9v\u0151 k\u00E9szs\u00E9gek nagyobb rugalmass\u00E1g\u00E1t. Commands.MmoInfo.Mechanics=[[DARK_AQUA]]-=[]=====[][[GOLD]] Mechanik\u00E1k [[DARK_AQUA]][]=====[]=- Commands.MmoInfo.Stats=STATISZTIK\u00C1K: {0} +Commands.Mmodebug.Toggle=Az mcMMO hibakeres\u0151 m\u00F3d most m\u00E1r [[GOLD]]{0}[[GRAY]], haszn\u00E1ld \u00FAjra ezt a parancsot a v\u00E1lt\u00E1shoz. Bekapcsolt hibakeres\u0151 m\u00F3ddal a blokkok meg\u00FCt\u00E9s\u00E9vel hasznos inform\u00E1ci\u00F3kat \u00EDrathatsz ki a blokkokr\u00F3l a kapcsolatfelv\u00E9telhez. mcMMO.NoInvites=[[RED]]Jelenleg nincsenek megh\u00EDv\u00E1said. mcMMO.NoPermission=[[DARK_RED]]Nincs enged\u00E9lyed. mcMMO.NoSkillNote=[[DARK_GRAY]]Ha nincs jogod egy k\u00E9pess\u00E9ghez, akkor az nem fog itt l\u00E1tszani. @@ -1059,6 +1062,7 @@ Commands.Description.mcscoreboard=mcMMO scoreboard kezel\u00E9se Commands.Description.mcstats=mcMMO szintjeid \u00E9s tapasztalatod megtekint\u00E9se Commands.Description.mctop=mcMMO toplista megtekint\u00E9se Commands.Description.mmoedit=Felhaszn\u00E1l\u00F3 mcMMO szintjeinek szerkeszt\u00E9se +Commands.Description.mmodebug=Bekapcsolja a hibakeres\u00E9si m\u00F3dot, amely hasznos inform\u00E1ci\u00F3kat \u00EDr ki a blokkok meg\u00FCt\u00E9s\u00E9n\u00E9l. Commands.Description.mmoupdate=mcMMO adatb\u00E1zis mozgat\u00E1sa r\u00E9gi adatb\u00E1zisb\u00F3l \u00FAjba Commands.Description.mcconvert=Adatb\u00E1zis t\u00EDpusok vagy k\u00E9pletek konvert\u00E1l\u00E1sa Commands.Description.mmoshowdb=Jelenleg adatb\u00E1zis t\u00EDpus nev\u00E9nek megtekint\u00E9se (k\u00E9s\u0151bbi haszn\u00E1lat /mmoupdate)