diff --git a/mcMMO/Changelog.txt b/Changelog.txt similarity index 97% rename from mcMMO/Changelog.txt rename to Changelog.txt index efd463861..a816bd986 100644 --- a/mcMMO/Changelog.txt +++ b/Changelog.txt @@ -1,944 +1,944 @@ -Changelog: -#Versions without changelogs probably had very small misc fixes, like tweaks to the source code -Version 1.1.14 -Due to high demand of mcMMO files, I cannot justify hosting mcMMO content on a webserver, so mcMMO will now behaves like Valve's source games, files are transferred between the Server and client not a webserver. This should be an improvement over the old system. -The option to change the weburl of mcMMO Images/Sounds has been removed, if you want to customize mcMMO images/sounds you can open mcMMO.jar and replace them there -Made party/admin chat modes more compatible with chat plugins (vChat) - -Version 1.1.13 -Pets are removed from party bars - -Version 1.1.12 -mcMMO now downloads files when you join the server to provide the best experience -mcMMO now uses a brand new Party HUD by Rycochet (from his mmoParty plugin) -Fixed the xpbar and xpicon settings in config to work properly -Fixed infinite HP exploit with Herbalism -Fixed bug where herbalism would heal out of the players normal health range -Fixed bug where entering ':' into your party name caused stat loss among other things -Fixed issue with block break listener priority - -Version 1.1.11 -mcMMO now properly cancels its Async taks when disabled -Fixed newly generated configs using 2 instead of 1 for skill multipliers - -Version 1.1.10 -Added default hud setting to config -Fixed bug where newly generated configs used old xp gain numbers - -Version 1.1.09 -Fixed mcMMO to run fine without Spout :) - -Version 1.1.08 -Fixed repair being 10x slower to level than normal - -Version 1.1.07 -Fixed the default HUD being set to RETRO instead of STANDARD - -Version 1.1.06 -mcMMO menu implemented! Default is 'M', change this in config -Retro HUD implemented! -Retro XP fill color is completely customizable on a per skill basis -New levelup sound thanks to @Rustydaggers ! -With the help of Randomage the XP Formulas have been vastly changed for flexibility -Global modifiers and skill modifiers now support decimals -Global formula modifier dropped from config -GigaDrillBreaker/Berserk doesn't drop clay blocks anymore -Fixed bug where Herbalism didn't heal more for bread/stew when right clicking a block -Fixed bug where Wheat did not use the values form the config file -Fixed bug where Archery gave xp for inflicting self injury -Watch added to clay loot tables and maps remove from clay loot tables - -Version 1.1.05 -Maps dropped from excavation are created correctly, and represent the area they are found in -Fixed an exploit with clay and excavation -Fixed a NPE with locking xp bars -Fixed the !AdeptDiamond! localization error when repairing diamond with a skill below 50 - -Version 1.1.04 -Removed URL settings for XPBAR/XPICON/HPBAR -Added single URL setting for mcMMO -Changed default host from Dropbox to Rycochet's webserver (with apparently unlimited bandwidth!, thanks Rycochet) -Fixed Repair noise not getting played -Fixed a small memory leak with party health bars - -Version 1.1.03 -Fixed a few images being hard-coded still rather than configurable - -Version 1.1.02 -Fixed bug where toggle for xpicon didn't work -Fixed bug where Excavation gave gravel drops to grass -Excavation now uses more enums - -Version 1.1.01 -Fixed toggles for hpbar/xpbar not working - -Version 1.1.0 -Brand new XP Bars, Health bars, and Skill Icons designed by BrandonXP -Added /xplock to lock the xp bar to a skill -Repairing metal now has a sound effect -Shears added to Repair -MySpawn now works correctly when you are in the nether -MySpawn message when you right click a bed is now squelched -Intervals at which players renegerate hp have doubled in length (making it take 100% longer to regenerate than before) -Rewrote many variables stored per player to be integer instead of long, reducing overall memory usage of mcMMO -Rewrote the Timer mcMMO relies on to instead use the BukkitScheduler for performance -Fixed the party member list of /party -Fixed bug where Swords would counter-attack Projectiles -Removed a debug message when repairing diamond armor -Changed chat to use getDisplayName() instead of getName() -Changed chat priority from lowest to highest -Added Clay to excavation -Added new items to Clay's loot tables -Archery now works with the latest CB - -Version 1.0.50 -New /xprate command for those with mcmmo.admin permissions! -mcMMO now uses Spout instead of BukkitContrib -BukkitContrib support dropped -XP Formula is now 100+(skill level value * skill modifier * global modifier) thanks to suggestion -Fixed bug where /mmoupdate used the old directory instead of the new one to find the flat file -Fixed bug where Unarmed Mastery damage bonus only did as much as Unarmed Apprentice -Fixed bug where Pumpkins did not give out XP -Coordinates removed from /whois as they didn't really fit -/mcgod and /mmoedit now require permissions to be setup in some shape or form to be used -Lapus renamed to Lapis in config - -Version 1.0.49 -Updated German locale -Fixed bug where using the party system on a MySQL setup caused errors when writing to non-existent files -Fixed bug where using /accept caused a NPE (hopefully) -Fixed a few missing descriptions for commands - -Version 1.0.48 -Updated French Translation -Updated German Translation -Updated Polish Translation -Placed Coal Ore and Redstone Ore won't give XP anymore -Fixed unusually high memory usage at startup -Added many features to the party system written by NuclearW - -Version 1.0.47 -Fixed another BukkitContrib error for servers not running BukkitContrib - -Version 1.0.46 -Fixed bug preventing Excavation from gaining skill - -Version 1.0.45 -Corrected /stats showing Repair XP as Level for Repair -Corrected /repair showing Repair XP as Level for Repair -Corrected /whois showing Repair XP as Level for Repair - -Version 1.0.44 -Fixed my 'fix' of BukkitContrib errors with Tree Feller - -Version 1.0.43 -Stopped things from being auto-smelt'd - -Version 1.0.42 -Corrected 2 more errors involving not running BukkitContrib - -Version 1.0.41 -Fixed errors using Tree Feller if your server wasn't running BukkitContrib (sorry!) -Fixed some more leftover stuff involving the new half-finished mining skill -Fixed excavation's Giga Drill Breaker not working on placed blocks - -Version 1.0.40 -Fixed errors if your server wasn't running BukkitContrib - -Version 1.0.39 -mcMMO won't auto-download and auto-run BukkitContrib anymore - -Version 1.0.38 -Commented code for the half-finished Infernal Pick subskill (Whoops) - -Version 1.0.37 -The donation message in /mcmmo is now toggle-able -The anvil message now only gets shown the first time you place an anvil (after login) -Reworked /mcmmo (an improvement I would say) -Added /mcmmo text to localization file -Archery fire rate now configurable -Berserk mode stops items from being collected -Taming no longer receives xp from wolves being harmed -Fixed bug where /stats required Tree Feller permission to show Woodcutting skill -Fixed bug where players with mcgod could be harmed by AoE -Fixed bug where modifying a skill also modified the xp to the same amount (when it should be zero) - -BukkitContrib Stuff -Added a pop-up when placing an Anvil -Added pop-ups on levelup -Added basic sound effects to various abilities (Berserk, Tree Feller, Super Breaker, Leaf Blower, etc...) - -Code Stuff -Added checkXp(SkillType, Player) for plugin devs (use this after modifying XP to check for levels) -Added getPlayerProfile() which returns a PlayerProfile object for plugin devs (You can do almost everything with this object) -100% more enums -Changed how checking skill xp worked to be more efficient - -Version 1.0.36 -mcMMO now properly supports Bukkit/PEX/Permissions for Permissions -Config.yml will no longer generate Performance Debugging nodes -Registered permission nodes to plugin.yml -Some more changes to Permissions code -Fixed bug where Super Breaker activated where it shouldn't -Fixed bug with enabling/disabling mcgod in config.yml -Fixed bug with Excavation not kicking in until 1 level higher - -Version 1.0.35 -Added a Toggle for Chimaera Wing in config.yml -Added customization of what item is used for Chimaera Wing in config.yml -Fixed bug with randomly receiving Taming XP -mcmmo.users file moved into /plugins/mcMMO/FlatFileStuff/ -Leaderboard files now moved into /plugins/mcMMO/FlatFileStuff/Leaderboards -Locale files now have the prefix locale_ instead of messages_ -Locale files are now located inside com/gmail/nossr50/locale/ instead of com/gmail/nossr50/ -Updated the code that handles permissions (this may mean 3.1.6 will finally play well!) -Some more source code organization -Fixed warnings for compiler -Removed dependencies on CraftBukkit -Registered commands to OnCommand -Removed performance debugging -Removed some useless settings from the config file - -Version 1.0.34 -Fixed the PVP setting determining whether or not you would hurt yourself from AoE Abilities -Added Dutch (nl) language support -Super Breaker now gives the correct XP as determined by config.yml -Sand Stone XP is now configurable and no longer shares the 'stone' node -/mining now shows mining values instead of taming values - -Version 1.0.33 -Fixed the toggle for the Excavation drop 'Cocoa Beans' -Fixed bug where Unarmed users could disarm without being bare handed -Cocoa Beans now have an XP modifier in config.yml -You can now toggle whether or not Mobspawners will give XP (in config.yml) -MySQL version now makes requests to the MySQL server less frequently (should help performance) -Fixed bug with Skull Splitter hitting the user - -Version 1.0.32 -Added "General.Performance.Print_Reports" node to config.yml to help identify causes of performance issues -Fixed bug of swords users hurting themselves with serrated strikes - -Version 1.0.31 -Fixed bug of trying to cast Animals to non-animals - -Version 1.0.30 -Mobs that spawn from spawners no longer give XP (for reals this time) - -Version 1.0.29 -Mobs that spawn from spawners no longer give XP (again) -Fixed bug where Serrated Strikes did not Bleed additional targets -Identified and solved a potential memory leak in Bleed Simulation -Renamed the Object Config to Misc and rewrote parts of it -Rewrote Party/Admin/God toggles -Added Polish language support (pl) - -Version 1.0.28 -Actually fixed /stats showing excavation values for swords -Made some improvements to how Bleed Simulation was handled for different entity types -Obsidian now does normal durability damage during Super Breaker - -Version 1.0.27 -Fixed /stats showing excavation values for swords -Hopefully fixed a wide range of NPE errors -Updated German (de) localization - -Version 1.0.26 -Fixed accidentally making power levels go above 9,000 - -Version 1.0.25 -Compatible with the latest CB -Beast Lore now functions correctly -Wolves are no longer invincible to players -Changed the look of Beast Lore -Skill info pages now show your stat in that skill (if you have permission) -/stats and /whois has been alphabetized and divided into three categories (Gathering/Combat/Misc) -Abilities will not trigger on Trap Doors - -Version 1.0.24 -Now compatible with latest RB (928) -Taming now receives XP from your wolves harming foes -Taming is now easier to level -Green Thumb now drops seeds when harvesting Wheat - -Version 1.0.23 -Modified Bleed Simulation to fix performance problems -Rewrote MySpawn to be more efficient when calculating time left -Rewrote Skills to be more efficient when calculating time left - -Version 1.0.22 -Added 'Name' nodes to commands for renaming them - -Version 1.0.21 -Fixed Skull Splitter length in /axes displaying incorrectly -Fire rate limiter now correctly uses the value in the config file -Stone XP now correctly uses the value in the config file -Cobble -> Mossy now correctly uses the value in the config file -Removed setmyspawn from config file as it serves no purpose -All commands now have an 'Enabled' node in the config file that when set to false disables the command completely -Fixed color scheme inconsistency for Mining in /whois results - -Version 1.0.20 -Fixed Array Index Out of Bounds error - -Version 1.0.19 -Removed a failsafe for the Timer that is no longer necessary (should improve performance) -Fixed /myspawn not working by rewriting it :3 -Fixed exploit where players could break a freshly placed mushroom for XP -MySQL User Passwords can now be blank (Although you really should have a password...) -Fixed a few NPE errors - -Version 1.0.18 -Fixed MySQL default TablePrefix -Fixed Wheat not being configurable - -Version 1.0.17 -Brand new YAML Configuration file -Ability to configure XP for all gathering skills in config file -German Language added to mcMMO -French Language added to mcMMO -MySpawn will no longer heal players -/ commands now also check for their localized names for displaying help -Added many more Strings to localization files -Added more safeguards to MySpawn for NPE -Fixed bug where Tree Feller Radius depended on WoodCutting XP rather than Skill Level -Fixed bug where Readying a Hoe returned a missing localization string -Added some safeguards into Bleed Simulation to prevent possible memory leaks -Performance improvements to storing/calling Skill/XP Values -Plugged a potential memory leak with PlayerProfiles not being removed correctly -Disabled the mob spawner camping anti-exploit in favor of performance - -Version 1.0.16 -Fixed bug where localization file failed to load -Changed en_US to lowercase -mcMMO now requires locale files to be in lowercase -Fixed a few strings missing from the localization file - -Version 1.0.15 -Removed leftover code that spammed SQL errors - -Version 1.0.14 -Added many missed strings into localization -Finnish Localization updated for the new strings -Green Thumb should respect Block Protection plugins now -Fixed Number Format Exception when loading a PlayerProfile - -Version 1.0.13 -Fixed bug/NPE where stats would not load and therefore 'reset' for players -Fixed NPE involving /ptp -Added "enableMOTD" setting to properties file - -Version 1.0.12 -Fixed another NPE error -Non-Gathering skills should correctly gain XP if PVP is set to false now -Localization will now support language codes that do not have two parts like "fi" -Fixed bug where Wiki MOTD message would not be loaded from localization file - -Version 1.0.11 -Fixed bug where players could not gain experience in several skills -Removed PVP flag from mcmmo.properties as its not needed anymore -Fixed a few NPE errors -Mushroom XP reduced from 25 to 15 -Fixed an exploit where players who just logged in could be farmed for experience because they were invulnerable - -Version 1.0.10 -Added Localization/String Customization -Mushroom XP reduced from 40 to 25 -Removed "clears inventory" warning in /mcc for /myspawn since this no longer happens - -Version 1.0.09 -Fixed the NPE that occurs when players gain experience (Sorry!) -Fixed bug where /myspawn & /clearmyspawn would work if MySpawn was disabled in the properties file -Changed strings containing "MMO" to read "mcMMO" -Removed a lot of unused or unnecessary variables from the PlayerProfiles in mcMMO, this should lower the memory footprint -Added getXpToLevel() for modders - -Version 1.0.08 -Added removeXP() for modders -Fixed bug where stone swords only repaired by 33% instead of 50% -Fixed bug where stone/wooden hoes wouldn't repair -Big overhaul to how skill values and xp values were handled in the code -Modifying the players skill levels now sets the corresponding skill xp to zero -Using Serrated Strikes/Skull Splitter on mobs should no longer harm nearby players when PVP is disabled -Switching to another weapon after firing your bow should no longer trigger procs for that weapon when the arrow hits -Slimes/Ghasts now give XP for combat skills -Added "EnableHpRegeneration" property setting -Added "EnableMySpawn" property setting - -Version 1.0.07 -Added more repair customization by solarcloud7 -Leaderboards ignore players with the respective stat at 0 -Reconnecting to MySQL will reload player data -Fixed a NPE with MySQL's Leaderboards -Removed "Loop iteration" debug message from mcMMO - -Version 1.0.06 -MySQL will attempt to reconnect if the connection is closed -Breaking the bottom block of Cactus/Reeds will award the correct experience and double drops -Added support for Minecraft Statistics -Fixed NPE with /myspawn command - -Version 1.0.05 -PVP interactions now check for permissions before handing out any experience -Many skill abilities now check for permissions correctly -All interactions with Taming now check for permissions -mcMMO now checks for its pvp flag being true before handling pvp interactions - -Version 1.0.04 -Fixed bug where players would be informed incorrectly when their cooldowns refreshed -Fixed exploit where players could reconnect to reset their cooldowns -Added new "cooldowns" table to MySQL -Berserk now breaks through snow -Lightning no longer gives Taming XP -Shortened /mcc to fit the screen - -Version 1.0.03 -Bleed will no longer trigger on friendly wolves -Axes criticals will no longer trigger on friendly wolves - -Version 1.0.02 -Fixed bug where the Timer would start before everything else was ready -Fixed bug where mcrefresh also required mcability permission node -Fixed bug where Unarmed was not checking for disarm procs -Green Thumb now checks for herbalism permissions -Added "enableGreenThumbCobbleToMossy" to config file, this also changes Green Terra -AoE abilities now harm wolves - -Version 1.0.01 -Removed debug message when wolves are struck -Fixed issue with reloading mcMMO when MySQL was enabled -Fixed a NPE with MySpawn -Fixed a NPE with removing users from PlayerProfile -Unarmed no longer starts with a damage bonus -Unarmed apprentice DMG bonus changed from 3 to 2 - -Version 1.0 -Players can now repair Stone/Wood tools -Fixed duping bug with WG/Block Protection Plugins -Added Leaf Blower to WoodCutting -Different Trees give different WoodCutting XP -Water changing Gravel to Clay removed -Code Organized/Optimized further -MySQL Support -Taming Skill -Leaderboards -Players won't hand out XP if they died within the last 5 seconds - -Version 0.9.29 -Fixes critical bug involving water turning anything into clay - -Version 0.9.28 -Green thumb can now spread grass to dirt using seeds -Adding XP will check for level ups again -Acrobatics won't hand out XP on death anymore -Acrobatics will check plugins for the event being cancelled before handing out XP - -Version 0.9.27 -Fixed Herbalism not properly receiving Triple Drops from Green Terra -Fixed Herbalism not handing out any XP outside of Green Terra -Fixed Herbalism asking for seeds on things that did not require it - -Version 0.9.26 -Fixed Green Terra going off without readiness -Fixed Hoe trying to ready when tilling Grass - -Version 0.9.25 -Fixed issue with anti-exploits and Herbalism -MySpawn works like a hearthstone now, no inv pentality, 1hr cooldown -Added Green Terra Ability to Herbalism -Added Green Thumb ability to Herbalism -Fixed Repair not working for Iron Tools -Fixed bug where Axes Ability checked for Unarmed Ability Permission -Added Cocoa Beans to Excavation XP/Loot Tables, Found in Grass/Dirt -Using Super Breaker on Obsidian significantly damages it compared to other materials -Added Obsidian to Mining XP Table/Super Breaker -Added Pumpkins/Reeds/Cactus to Herbalism XP Tables/Double Drops -Corrected "mcMMMO" to "mcMMO" in MOTD - -Version 0.9.24 -PLAYER_BED_ENTER removed due to its unusual issues -Added info about the Wiki to the motd -/mcrefresh will reset if you were recently hurt (Chimaera Wing/HP Regen) -Fixed Armor Repair not adding XP -Boosted Repair XP of Armor to match Tools -Repairing Armor won't trigger Super Repair twice anymore -Setting your MySpawn now just requires right clicking a bed (still requires the setmyspawn permission node) - -Version 0.9.23 -Players will now announce ability usage within a short distance to nearby players -Chimaera Wing now takes the world into account -Acrobatics won't give XP on death, and will fail if you would've died after the damage reduction -Added yet another check to see if a Player is not in the Users system for NPC mod compatibility - - -Version 0.9.22 -Fixed bug where chimaera wing was unusable after being hurt even after the cooldown - -Version 0.9.21 -/mcrefresh fixed to work properly with the new ability monitoring system -Ability lengths are now based on your skill level directly rather than a tiered system -Chimaera Wings won't trigger on things they shouldn't (Doors, Chests, ETC) -Chimaera Wings will properly tell you how long you have to wait to use it if you've been recently hurt - -Version 0.9.20 -Fixed Tree Feller not checking if their cooldown was refreshed and always activating -/stats and /whois will now show the powerlevel based on permissions -Shovels will no longer say you've lowered your axe -/myspawn will no longer say your inventory has been cleared if the server settings disable this feature - - -Version 0.9.19 -Fixed Anti-Exploit XP stuff not working - -Version 0.9.18 -Added failsafe to prevent abilities from going on forever, abilities will check if they should've expired when being used in case the Timer fails -Archery Spam has been nerf'd, you can only fire once per second now (Toggle-able in config file) -Fixed bug when just having the Admin Chat permission wouldn't allow you to see Admin Chat -Fixed bug where Axes ability could be used without permission -Abilities are monitored with Timestamps rather than a Timer monitored tick rate -When players were last hurt is now monitored with Timestamps rather than a Timer monitored tick rate -Made Anti XP-Exploits more Robust -Repair XP is now based on durability restored -Acrobatics rolling will now reduce damage if you go over the damage threshold -Acrobatics rolling damage threshold lowered to 10 from 20 -Added Graceful Roll to Acrobatics, hold Shift when falling to do a Graceful Roll -mcMMO now checks for the blockBreak and EntityDamage events being canceled before proceeding -Dodge notification shortened -Dodge won't negate damage completely anymore -Added 3 more functions for plugin authors to call, getPartyName(Player player), inParty(Player player), and getParties() - -Version 0.9.17 -Players now set their MySpawn by entering a bed, it requires the setmyspawn permission node -/setmyspawn has been removed -Compatible with CB 670 -Fixed errors related to Repair -Abilities will no longer trigger from Bed interactions -/unarmed will now tell the player when they will receive unarmed master (if they have apprentice) - -Version 0.9.16 -Logs placed by the player won't grant XP/Double Drops anymore -Added more functions plugin authors can call -Acrobatics roll has a damage threshold of 20, going above this means a failed Roll - - -Version 0.9.15 -Acrobatics will now behave properly -AoE Abilities ignore wolves (temp fix) -Added "all" parameter to /mmoedit & /addxp -After giving XP to a player it will now check for level ups in skills - -Version 0.9.14 -mcMMO checks for abilities being active before sending the fake block break event - -Version 0.9.13 -Fixed excavation ignoring the xpGainMultiplier -Now compatible with CB 600+ -Fixed bug where Dodge acted maxed out no matter your skill level - -Version 0.9.12 -mcMMO now fakes a block break event for abilities to maximize plugin compatibility -/herbalism will return the correct values now -New /addxp command - -Version 0.9.11 -PVE Combat Skills experience is now based on damage dealt -The Timer will no longer break from Bleed Simulation -Tree feller no longer "damages" saplings -Bleed+ (Serrated Strikes) lasts 5 ticks down from 12 -Bleed/Bleed+ now do 2 damage instead of 1 -Power Level is now based on permissions -Counter Attack added to swords -Parry is now based directly on Swords skill level -Parry maximum proc chance raised to 30% from 20% -Serrated Strikes now properly applies Bleed+ to targets -Players who parry can no longer be disarmed -Acrobatics now has a Dodge passive skill reducing damage -Repair skill now effects how much durability is restored -Super repair now doubles the repair amount on proc -Unarmed now starts with a bonus to damage to encourage use -Unarmed now has two steps to damage scaling, Appentice, and Mastery -Unarmed disarm now caps at 25% for 1000 skill -Fixed problem where Archery skill procs would ignore other plugins -Ignition changed to 25% chance -Ignition length will be based on archery skill level -/myspawn now has a warning about the inventory loss penalty in /mcc -mcMMO Timer now runs in 1 second intervals rather than 2 - -Version 0.9.10 -Party invites now show who they are from -Mushrooms added to Dirt/Grass excavation loot tables, drops with 500+ skill -mcMMO configuration files property setting names have been changed for readability -Fixed bug where Gold and Iron wouldn't drop anything during Super Breaker -Added /mcability info to /mcc -Potentially fixed NPE error when checking players for being in same party for PVP XP -Removed sand specific diamond drop from sand excavation loot table, Diamonds can still drop globally for sand -Added a global XP gain multiplier, increase it to increase XP gained -Reduced PVE XP for Unarmed, now identical to Axes/Swords -Changed Chat priority in mcMMO to be higher, this should help plugin conflicts -Mushroom XP raised to 40 from 10 -Flower XP raised to 10 from 3 - -Version 0.9.9 -Fixed problem where entities never got removed from the arrow retrieval list of entities - -Version 0.9.8 -EntityLiving shouldn't be cast to entities that are not an instance of EntityLiving -Added a null check in the timer for players being null before proceeding - -Version 0.9.7 -Procs/XP Gain will no longer happen when the Entity is immune to damage (Thanks EdwardHand!) -Axes critical damage versus players reduced to 150% damage from 200% damage -Fixed bug where Daze might not proc -Changed archery Daze to follow smooth transition -Added archery Daze chance info to /archery -Cooldown lengths are now customizable, they are in seconds and multiplied by 2 by mcMMO - -Version 0.9.6 -Timer checks for player being null before adding them to the mcUsers system -Cooldowns will now show how much time is remaining when trying to use their respective abilities -SkullSpliiter will now correctly inform the player when they are too tired to use it -Acrobatics will no longer give XP if the event was cancelled by another plugin -Version 0.9.5 -Super Breaker now gives a chance for Triple Drops based on mining skill -Ability durability loss down from 15 to 2 -Ability durability loss is now toggle-able -Ability durability loss can be adjusted in the configuration file -Mining Picks are no longer lowered after activating Super Breaker - -Version 0.9.4 -Flowers won't drop wheat anymore -Signs won't trigger ability readiness anymore -Version 0.9.3 -Bug stopping abilities from never wearing of may have been fixed -Changed color of "X Ability has worn off" to RED from GRAY -Super Breaker, Giga Drill Breaker, and Tree Feller now damage the tool significantly during use -Netherrack and Glowstone now give Mining XP -Netherrack and Glowstone are now effected by Super Breaker -Abilities will no longer be readied when you right click signs or beds -Chimaera Wings won't activate on blocks you can interact with and signs -Abilities now adjust their effects depending on tool quality -Superbreaker won't break things that tool couldn't normally break -Giga Drill Breaker will only give triple xp and triple drops for diamond tools, with a reduced effect for lesser tools -Skull Splitter now has a limit of opponents nearby it will strike based on your tool quality -Serrated Strikes now has a limit of opponents nearby it will strike based on your tool quality -Modified /mcmmo description to be a little bit more relevant. - -Version 0.9.2 -Changed priority of some of the mcMMO listeners -Now when certain abilities are activated it shouldn't say "You lower your x" - -Version 0.9.1 -Fixed "Unknown console command" errors with CB 556 -Added /mcability command to toggle being able to trigger abilities with right click -Added some more nullchecks for people reporting NPE errors -Compatibility with NPC mods improved (Mainly for archery!) -Other plugins can now call inSameParty() from mcMMO to increase compatibility - -Version 0.9 ---NEW CONTENT-- -Woodcutting now has the "Tree Feller" Ability -Unarmed now has the "Berserk" Ability -Swords now has the "Serrated Strikes" Ability -Mining now has the "Super Breaker" Ability -Axes now has the "Skull Splitter" Ability -Excavation now has the "Giga Drill Breaker" Ability -Added /mcrefresh - tool for refreshing cooldowns -Unarmed now has the "Deflect Arrows" passive skill -Chimaera Wing Item Added - ---CHANGES-- -HP Regen & Bleed are back -Woodcutting will drop the appropriate log on double drop procs -Herbalism now applies double drops to herbs -/ now shows much more information to the player regarding their stats -Axes skill Critical Strikes are now based directly on your skill level -Swords skill Bleed chance is now based directly on your skill level -Unarmed disarm chance is now based directly on your skill level -Acrobatics now gives XP when you roll - ---BUGFIXES-- -Memory Leak Fixed -Axes not doing critical strikes -Gold Armor repair -Capped skills now have the correct proc chance -/mmoedit is no longer case sensitive -More NPE errors fixed -Many bugs I forgot to write down - ---PLUGIN COMPATABILITY FIXES-- -If combat interactions are cancelled by other plugins mcMMO should ignore the event -If block damage interactions are cancelled by other plugins mcMMO should ignore the event - -Version 0.8.22 - Fixed bug where Axes did less damage than normal - Acrobatic rolls now give XP - Acrobatics XP increased for non-rolls -Version 0.8.21 - Fixed bug where axe criticals would dupe items -Version 0.8.20 - 99.99% sure I fixed anvils that suddenly stop working -Version 0.8.19 - Fixed being able to excavate placed blocks - Added toggle option to mining requiring a pickaxe - Added toggle option to woodcutting requiring an axe - PVP interactions now reward XP based on the damage caused (this is effected by skills) - PVP XP gain can be disabled in the configuration file - PVP XP has a modifier, increase the modifier for higher XP rewards from PVP combat -Version 0.8.18 - Fixed sandstone not being watched for exploitation -Version 0.8.17 - mcmmo.users moved to plugins/mcMMO/ - Snowballs and Eggs will no longer trigger Ignition - Loot tables for excavation adjusted - Mining benefits now require the player to be holding a mining pick - Woodcutting benefits now require the player to be holding an axe -Version 0.8.16 - Moved configuration file to /plugins/mcMMO - Arrows now have a chance to Ignite enemiesw - Fixed arrows not being retrievable from corpses - Added info about ignition to /archery -Version 0.8.14 - Mining, Woodcutting, Herbalism, and Acrobatics proc rates now are based on your skill level directly rather than tiers you unlock via skill levels - Archery's ability to retrieve arrows from corpses now is based on your skill level directly rather than tiers you unlock via skill levels - Mining, Woodcutting, Herbalism, Archery, and Acrobatics now show their proc % relative to your skill if you type / - You can now adjust what level is required to repair diamond in the configuration file - Changed mining XP rates to be a tad higher for some things - You can now get XP from sandstone - XP rates increased for gathering glowstone with excavation - XP rates increased a bit for excavation - Skill info is now a bit more detailed for certain skills - Added info about arrow retrieval to /archery -Version 0.8.13 - Enemies no longer look like they have frozen when they die - Item duping fix -Version 0.8.11 - Performance improvements - Memory leak fixed - NPE error with MySpawn really fixed -Version 0.8.9 - Fixed NPE for My Spawn - Fixed NPE for onBlockDamage - Bleed proc now correctly checks for Swords permissions -Version 0.8.8 - Gold can now be repaired - Tweaked Mining XP gains - Reorganized code - Added /mcgod godmode command - Fixed the pvp toggle in the settings file -Version 0.8.7 - Removed packet-sending stuff wasn't working anyways - Fixed another NPE with the TimerTask - Skills now only show up in /stats if you have permissions for them -Version 0.8.6 - Added a null check in bleed simulation to prevent a NPE -Version 0.8.5 - Players are now added to files when they connect (to fix a NPE) - onPlayerCommand stuff moved into onPlayerCommandPreprocess -Version 0.8.4 - Fixed another nullpointer error for TimerTask - Fixed bug making regeneration take twice as long to kick in after combat -Version 0.8.3 - Modified the timer intervals (from 1 second to 2) - All skills now have an individual modifier (Set by default to 2) - There is now a global XP modifier (Set by default to 1) - Herbalism now correctly follows its skill curve - Unarmed no longer gives experience for harming other players - Players can no longer exploit mob spawners for experience -Version 0.8.2 - Fixed Concurrent Modification Exception - Fixed some incorrect skill descriptions - First tier of HP Regeneration is now available from the start - Fixed bleed proc rate for very high skill levels - Changed regeneration permissions to 'mcmmo.regeneration' -Version 0.8 - Archery skill now lets players recover arrows from downed foes - Health regenerates based on power level - Added toggle to myspawn clearing player inventory in settings file - Swords now have a bleed effect - Rewrote Skill descriptions to be more informative/better -Version 0.7.9 - XP Curve now follows a new formula - Acrobatics XP gains changed - Compiled against permissions 2.1 -Version 0.7.8 - Massive tweaks to XP gain for Archery, Swords, Axes, Unarmed -Version 0.7.7 - Minor tweak to how players are added to the flat file - Fixed some nullpointer exceptions when players die -Version 0.7.6 - Fixed being able to repair diamond armor with below 50 skill - Myspawn now supports multiple worlds, clearing myspawn will set it to the first world created by the server -Version 0.7.5 - Removed random checks for herbalism XP - Herbalism is now called properly (This should fix gaining no xp or double drops) -Version 0.7.4 - Work around for a bukkit bug that broke my onBlockDamage event - Added /clearmyspawn -Version 0.7.3 - Fixed to work with build 424 of CB - Lowered the XP of gold due to it not being that rare anymore -Version 0.7.2 - Fixed security flaw where players could access /mmoedit if the server was not running permissions - Reduced XP gain of woodcutting a bit -Version 0.7 - Completely rewrote the XP system - Added an XP skillrate modifier to the settings file - -Version 0.6.2 - Axes now do critical strikes against farm animals - Removed the "Stupidly Long Constructor" - Now compatible with the latest CB builds -Version 0.6.1 - Customizable command names - Axes can now be modified with /mmoedit - Party members are now correctly informed when you leave the party - Fixed incorrect commands in /mcc -Version 0.5.17 - - Changed namespaces to fit bukkits new standard - Adjusted excavation proc rates - Modified excavation loot tables - Added Party Invite System - -Version 0.5.16 - - Fixed unarmed not checking for permissions when hitting players - -Version 0.5.15 - Fixed stone swords not being recognized as swords - Fixed /a not working if you were an op but did not have permissions - -Version 0.5.14 - Added permissions for skills - -Version 0.5.13 - - Removed skillgain from succesful parries - Repair now refreshed the inventory - -Version 0.5.12 - - Fixed being able to hurt party members with the bow and arrow - -Version 0.5.11 - - Added /mmoedit command - Fixed bug preventing player versus player damage - Fixed bug preventing damage from scaling with unarmed & bows - Fixed disarm proc making the opponent dupe his/her items - Added mcmmo.tools.mmoedit permission - Added mcmmo.commands.setmyspawn permission - Added totalskill to /stats - Changed the look of /stats - -Version 0.5.10 - - Fixed trying to set health to an invalid value - -Version 0.5.9 - - Fixed duping inventories on death - -Version 0.5.8 - - Fixed bug where players inventories would dupe during combat - -Version 0.5.7 - - Fixed monsters instant killing players - Misc fixes -Version 0.5.4 - - Changed herbalism skill gain from wheat to be WAAAAY slower - -Version 0.5.3 - - Players will now correctly drop their inventories when killed by a monster - -Version 0.5.2 - - Fixed MAJOR bug preventing swords skill from gaining through combat - -Version 0.5 - - Archery Added - Swords Added - Acrobatics Added - Logging for Party/Admin chat added - Fixed whois to show correct values for Excavation - Made death messages much much more specific - -Version 0.4.4 - - Fixed being able to repair full durability iron tools - Fixed herbalism benefits not behaving properly - Fixed removing 1 diamond from every stack of diamond when repairing diamond - -Version 0.4.2 - - Removed myspawn from the motd - -Version 0.4.1 - - Fixed /mcc showing incorrect command for herbalism - Changed unarmed skillrate to be much slower than before - Modified a few skill descriptions - Added permission for /whois - Players can now use admin chat without being op as long as they have the correct permission (requires Permissions) - -Version 0.4 - - Permissions support - Removed OPs having different names than normal players - Removed /setspawn & /spawn - Slowed down excavation skill rate - Fixed excavation coal drop being too rare - -Version 0.3.4 - - Creepers now give double xp for unarmed - Iron armor can now be repaired! - Fixed bug stopping items from being repaired - -Version 0.3.3 - - Yet another herbalism skill gain tweak - -Version 0.3.2 - - Changed excavation loot tables to be more rewarding - Changed sand to give normal excavation xp instead of double xp - Fixed herbalism skill exploit - Mobs killed with unarmed now drop loot properly - Unarmed xp rate depends on mob (zombies lowest fyi) - Huge player crashing bug fix on disarm! - -Version 0.3.1 - - Fixed excavation not saving properly - Fixed repair using excavation values - -Version 0.3 - - Unarmed skill - Herbalism skill - Excavation skill - Many bugfixes (thanks for reporting them!) - / - Detailed information about skills in game - -Version 0.2.1 - - Misc bugfixes - -Version 0.2 - - Repair ability added - Repair skill added - Iron Armor repair temporarily disabled - Anvils (Iron Block) added - /mcmmo & /mcc added - Misc changes to existing commands - Misc bug fixes - -Version 0.1 - - Releasing my awesome plugin +Changelog: +#Versions without changelogs probably had very small misc fixes, like tweaks to the source code +Version 1.1.14 +Due to high demand of mcMMO files, I cannot justify hosting mcMMO content on a webserver, so mcMMO will now behaves like Valve's source games, files are transferred between the Server and client not a webserver. This should be an improvement over the old system. +The option to change the weburl of mcMMO Images/Sounds has been removed, if you want to customize mcMMO images/sounds you can open mcMMO.jar and replace them there +Made party/admin chat modes more compatible with chat plugins (vChat) + +Version 1.1.13 +Pets are removed from party bars + +Version 1.1.12 +mcMMO now downloads files when you join the server to provide the best experience +mcMMO now uses a brand new Party HUD by Rycochet (from his mmoParty plugin) +Fixed the xpbar and xpicon settings in config to work properly +Fixed infinite HP exploit with Herbalism +Fixed bug where herbalism would heal out of the players normal health range +Fixed bug where entering ':' into your party name caused stat loss among other things +Fixed issue with block break listener priority + +Version 1.1.11 +mcMMO now properly cancels its Async taks when disabled +Fixed newly generated configs using 2 instead of 1 for skill multipliers + +Version 1.1.10 +Added default hud setting to config +Fixed bug where newly generated configs used old xp gain numbers + +Version 1.1.09 +Fixed mcMMO to run fine without Spout :) + +Version 1.1.08 +Fixed repair being 10x slower to level than normal + +Version 1.1.07 +Fixed the default HUD being set to RETRO instead of STANDARD + +Version 1.1.06 +mcMMO menu implemented! Default is 'M', change this in config +Retro HUD implemented! +Retro XP fill color is completely customizable on a per skill basis +New levelup sound thanks to @Rustydaggers ! +With the help of Randomage the XP Formulas have been vastly changed for flexibility +Global modifiers and skill modifiers now support decimals +Global formula modifier dropped from config +GigaDrillBreaker/Berserk doesn't drop clay blocks anymore +Fixed bug where Herbalism didn't heal more for bread/stew when right clicking a block +Fixed bug where Wheat did not use the values form the config file +Fixed bug where Archery gave xp for inflicting self injury +Watch added to clay loot tables and maps remove from clay loot tables + +Version 1.1.05 +Maps dropped from excavation are created correctly, and represent the area they are found in +Fixed an exploit with clay and excavation +Fixed a NPE with locking xp bars +Fixed the !AdeptDiamond! localization error when repairing diamond with a skill below 50 + +Version 1.1.04 +Removed URL settings for XPBAR/XPICON/HPBAR +Added single URL setting for mcMMO +Changed default host from Dropbox to Rycochet's webserver (with apparently unlimited bandwidth!, thanks Rycochet) +Fixed Repair noise not getting played +Fixed a small memory leak with party health bars + +Version 1.1.03 +Fixed a few images being hard-coded still rather than configurable + +Version 1.1.02 +Fixed bug where toggle for xpicon didn't work +Fixed bug where Excavation gave gravel drops to grass +Excavation now uses more enums + +Version 1.1.01 +Fixed toggles for hpbar/xpbar not working + +Version 1.1.0 +Brand new XP Bars, Health bars, and Skill Icons designed by BrandonXP +Added /xplock to lock the xp bar to a skill +Repairing metal now has a sound effect +Shears added to Repair +MySpawn now works correctly when you are in the nether +MySpawn message when you right click a bed is now squelched +Intervals at which players renegerate hp have doubled in length (making it take 100% longer to regenerate than before) +Rewrote many variables stored per player to be integer instead of long, reducing overall memory usage of mcMMO +Rewrote the Timer mcMMO relies on to instead use the BukkitScheduler for performance +Fixed the party member list of /party +Fixed bug where Swords would counter-attack Projectiles +Removed a debug message when repairing diamond armor +Changed chat to use getDisplayName() instead of getName() +Changed chat priority from lowest to highest +Added Clay to excavation +Added new items to Clay's loot tables +Archery now works with the latest CB + +Version 1.0.50 +New /xprate command for those with mcmmo.admin permissions! +mcMMO now uses Spout instead of BukkitContrib +BukkitContrib support dropped +XP Formula is now 100+(skill level value * skill modifier * global modifier) thanks to suggestion +Fixed bug where /mmoupdate used the old directory instead of the new one to find the flat file +Fixed bug where Unarmed Mastery damage bonus only did as much as Unarmed Apprentice +Fixed bug where Pumpkins did not give out XP +Coordinates removed from /whois as they didn't really fit +/mcgod and /mmoedit now require permissions to be setup in some shape or form to be used +Lapus renamed to Lapis in config + +Version 1.0.49 +Updated German locale +Fixed bug where using the party system on a MySQL setup caused errors when writing to non-existent files +Fixed bug where using /accept caused a NPE (hopefully) +Fixed a few missing descriptions for commands + +Version 1.0.48 +Updated French Translation +Updated German Translation +Updated Polish Translation +Placed Coal Ore and Redstone Ore won't give XP anymore +Fixed unusually high memory usage at startup +Added many features to the party system written by NuclearW + +Version 1.0.47 +Fixed another BukkitContrib error for servers not running BukkitContrib + +Version 1.0.46 +Fixed bug preventing Excavation from gaining skill + +Version 1.0.45 +Corrected /stats showing Repair XP as Level for Repair +Corrected /repair showing Repair XP as Level for Repair +Corrected /whois showing Repair XP as Level for Repair + +Version 1.0.44 +Fixed my 'fix' of BukkitContrib errors with Tree Feller + +Version 1.0.43 +Stopped things from being auto-smelt'd + +Version 1.0.42 +Corrected 2 more errors involving not running BukkitContrib + +Version 1.0.41 +Fixed errors using Tree Feller if your server wasn't running BukkitContrib (sorry!) +Fixed some more leftover stuff involving the new half-finished mining skill +Fixed excavation's Giga Drill Breaker not working on placed blocks + +Version 1.0.40 +Fixed errors if your server wasn't running BukkitContrib + +Version 1.0.39 +mcMMO won't auto-download and auto-run BukkitContrib anymore + +Version 1.0.38 +Commented code for the half-finished Infernal Pick subskill (Whoops) + +Version 1.0.37 +The donation message in /mcmmo is now toggle-able +The anvil message now only gets shown the first time you place an anvil (after login) +Reworked /mcmmo (an improvement I would say) +Added /mcmmo text to localization file +Archery fire rate now configurable +Berserk mode stops items from being collected +Taming no longer receives xp from wolves being harmed +Fixed bug where /stats required Tree Feller permission to show Woodcutting skill +Fixed bug where players with mcgod could be harmed by AoE +Fixed bug where modifying a skill also modified the xp to the same amount (when it should be zero) + +BukkitContrib Stuff +Added a pop-up when placing an Anvil +Added pop-ups on levelup +Added basic sound effects to various abilities (Berserk, Tree Feller, Super Breaker, Leaf Blower, etc...) + +Code Stuff +Added checkXp(SkillType, Player) for plugin devs (use this after modifying XP to check for levels) +Added getPlayerProfile() which returns a PlayerProfile object for plugin devs (You can do almost everything with this object) +100% more enums +Changed how checking skill xp worked to be more efficient + +Version 1.0.36 +mcMMO now properly supports Bukkit/PEX/Permissions for Permissions +Config.yml will no longer generate Performance Debugging nodes +Registered permission nodes to plugin.yml +Some more changes to Permissions code +Fixed bug where Super Breaker activated where it shouldn't +Fixed bug with enabling/disabling mcgod in config.yml +Fixed bug with Excavation not kicking in until 1 level higher + +Version 1.0.35 +Added a Toggle for Chimaera Wing in config.yml +Added customization of what item is used for Chimaera Wing in config.yml +Fixed bug with randomly receiving Taming XP +mcmmo.users file moved into /plugins/mcMMO/FlatFileStuff/ +Leaderboard files now moved into /plugins/mcMMO/FlatFileStuff/Leaderboards +Locale files now have the prefix locale_ instead of messages_ +Locale files are now located inside com/gmail/nossr50/locale/ instead of com/gmail/nossr50/ +Updated the code that handles permissions (this may mean 3.1.6 will finally play well!) +Some more source code organization +Fixed warnings for compiler +Removed dependencies on CraftBukkit +Registered commands to OnCommand +Removed performance debugging +Removed some useless settings from the config file + +Version 1.0.34 +Fixed the PVP setting determining whether or not you would hurt yourself from AoE Abilities +Added Dutch (nl) language support +Super Breaker now gives the correct XP as determined by config.yml +Sand Stone XP is now configurable and no longer shares the 'stone' node +/mining now shows mining values instead of taming values + +Version 1.0.33 +Fixed the toggle for the Excavation drop 'Cocoa Beans' +Fixed bug where Unarmed users could disarm without being bare handed +Cocoa Beans now have an XP modifier in config.yml +You can now toggle whether or not Mobspawners will give XP (in config.yml) +MySQL version now makes requests to the MySQL server less frequently (should help performance) +Fixed bug with Skull Splitter hitting the user + +Version 1.0.32 +Added "General.Performance.Print_Reports" node to config.yml to help identify causes of performance issues +Fixed bug of swords users hurting themselves with serrated strikes + +Version 1.0.31 +Fixed bug of trying to cast Animals to non-animals + +Version 1.0.30 +Mobs that spawn from spawners no longer give XP (for reals this time) + +Version 1.0.29 +Mobs that spawn from spawners no longer give XP (again) +Fixed bug where Serrated Strikes did not Bleed additional targets +Identified and solved a potential memory leak in Bleed Simulation +Renamed the Object Config to Misc and rewrote parts of it +Rewrote Party/Admin/God toggles +Added Polish language support (pl) + +Version 1.0.28 +Actually fixed /stats showing excavation values for swords +Made some improvements to how Bleed Simulation was handled for different entity types +Obsidian now does normal durability damage during Super Breaker + +Version 1.0.27 +Fixed /stats showing excavation values for swords +Hopefully fixed a wide range of NPE errors +Updated German (de) localization + +Version 1.0.26 +Fixed accidentally making power levels go above 9,000 + +Version 1.0.25 +Compatible with the latest CB +Beast Lore now functions correctly +Wolves are no longer invincible to players +Changed the look of Beast Lore +Skill info pages now show your stat in that skill (if you have permission) +/stats and /whois has been alphabetized and divided into three categories (Gathering/Combat/Misc) +Abilities will not trigger on Trap Doors + +Version 1.0.24 +Now compatible with latest RB (928) +Taming now receives XP from your wolves harming foes +Taming is now easier to level +Green Thumb now drops seeds when harvesting Wheat + +Version 1.0.23 +Modified Bleed Simulation to fix performance problems +Rewrote MySpawn to be more efficient when calculating time left +Rewrote Skills to be more efficient when calculating time left + +Version 1.0.22 +Added 'Name' nodes to commands for renaming them + +Version 1.0.21 +Fixed Skull Splitter length in /axes displaying incorrectly +Fire rate limiter now correctly uses the value in the config file +Stone XP now correctly uses the value in the config file +Cobble -> Mossy now correctly uses the value in the config file +Removed setmyspawn from config file as it serves no purpose +All commands now have an 'Enabled' node in the config file that when set to false disables the command completely +Fixed color scheme inconsistency for Mining in /whois results + +Version 1.0.20 +Fixed Array Index Out of Bounds error + +Version 1.0.19 +Removed a failsafe for the Timer that is no longer necessary (should improve performance) +Fixed /myspawn not working by rewriting it :3 +Fixed exploit where players could break a freshly placed mushroom for XP +MySQL User Passwords can now be blank (Although you really should have a password...) +Fixed a few NPE errors + +Version 1.0.18 +Fixed MySQL default TablePrefix +Fixed Wheat not being configurable + +Version 1.0.17 +Brand new YAML Configuration file +Ability to configure XP for all gathering skills in config file +German Language added to mcMMO +French Language added to mcMMO +MySpawn will no longer heal players +/ commands now also check for their localized names for displaying help +Added many more Strings to localization files +Added more safeguards to MySpawn for NPE +Fixed bug where Tree Feller Radius depended on WoodCutting XP rather than Skill Level +Fixed bug where Readying a Hoe returned a missing localization string +Added some safeguards into Bleed Simulation to prevent possible memory leaks +Performance improvements to storing/calling Skill/XP Values +Plugged a potential memory leak with PlayerProfiles not being removed correctly +Disabled the mob spawner camping anti-exploit in favor of performance + +Version 1.0.16 +Fixed bug where localization file failed to load +Changed en_US to lowercase +mcMMO now requires locale files to be in lowercase +Fixed a few strings missing from the localization file + +Version 1.0.15 +Removed leftover code that spammed SQL errors + +Version 1.0.14 +Added many missed strings into localization +Finnish Localization updated for the new strings +Green Thumb should respect Block Protection plugins now +Fixed Number Format Exception when loading a PlayerProfile + +Version 1.0.13 +Fixed bug/NPE where stats would not load and therefore 'reset' for players +Fixed NPE involving /ptp +Added "enableMOTD" setting to properties file + +Version 1.0.12 +Fixed another NPE error +Non-Gathering skills should correctly gain XP if PVP is set to false now +Localization will now support language codes that do not have two parts like "fi" +Fixed bug where Wiki MOTD message would not be loaded from localization file + +Version 1.0.11 +Fixed bug where players could not gain experience in several skills +Removed PVP flag from mcmmo.properties as its not needed anymore +Fixed a few NPE errors +Mushroom XP reduced from 25 to 15 +Fixed an exploit where players who just logged in could be farmed for experience because they were invulnerable + +Version 1.0.10 +Added Localization/String Customization +Mushroom XP reduced from 40 to 25 +Removed "clears inventory" warning in /mcc for /myspawn since this no longer happens + +Version 1.0.09 +Fixed the NPE that occurs when players gain experience (Sorry!) +Fixed bug where /myspawn & /clearmyspawn would work if MySpawn was disabled in the properties file +Changed strings containing "MMO" to read "mcMMO" +Removed a lot of unused or unnecessary variables from the PlayerProfiles in mcMMO, this should lower the memory footprint +Added getXpToLevel() for modders + +Version 1.0.08 +Added removeXP() for modders +Fixed bug where stone swords only repaired by 33% instead of 50% +Fixed bug where stone/wooden hoes wouldn't repair +Big overhaul to how skill values and xp values were handled in the code +Modifying the players skill levels now sets the corresponding skill xp to zero +Using Serrated Strikes/Skull Splitter on mobs should no longer harm nearby players when PVP is disabled +Switching to another weapon after firing your bow should no longer trigger procs for that weapon when the arrow hits +Slimes/Ghasts now give XP for combat skills +Added "EnableHpRegeneration" property setting +Added "EnableMySpawn" property setting + +Version 1.0.07 +Added more repair customization by solarcloud7 +Leaderboards ignore players with the respective stat at 0 +Reconnecting to MySQL will reload player data +Fixed a NPE with MySQL's Leaderboards +Removed "Loop iteration" debug message from mcMMO + +Version 1.0.06 +MySQL will attempt to reconnect if the connection is closed +Breaking the bottom block of Cactus/Reeds will award the correct experience and double drops +Added support for Minecraft Statistics +Fixed NPE with /myspawn command + +Version 1.0.05 +PVP interactions now check for permissions before handing out any experience +Many skill abilities now check for permissions correctly +All interactions with Taming now check for permissions +mcMMO now checks for its pvp flag being true before handling pvp interactions + +Version 1.0.04 +Fixed bug where players would be informed incorrectly when their cooldowns refreshed +Fixed exploit where players could reconnect to reset their cooldowns +Added new "cooldowns" table to MySQL +Berserk now breaks through snow +Lightning no longer gives Taming XP +Shortened /mcc to fit the screen + +Version 1.0.03 +Bleed will no longer trigger on friendly wolves +Axes criticals will no longer trigger on friendly wolves + +Version 1.0.02 +Fixed bug where the Timer would start before everything else was ready +Fixed bug where mcrefresh also required mcability permission node +Fixed bug where Unarmed was not checking for disarm procs +Green Thumb now checks for herbalism permissions +Added "enableGreenThumbCobbleToMossy" to config file, this also changes Green Terra +AoE abilities now harm wolves + +Version 1.0.01 +Removed debug message when wolves are struck +Fixed issue with reloading mcMMO when MySQL was enabled +Fixed a NPE with MySpawn +Fixed a NPE with removing users from PlayerProfile +Unarmed no longer starts with a damage bonus +Unarmed apprentice DMG bonus changed from 3 to 2 + +Version 1.0 +Players can now repair Stone/Wood tools +Fixed duping bug with WG/Block Protection Plugins +Added Leaf Blower to WoodCutting +Different Trees give different WoodCutting XP +Water changing Gravel to Clay removed +Code Organized/Optimized further +MySQL Support +Taming Skill +Leaderboards +Players won't hand out XP if they died within the last 5 seconds + +Version 0.9.29 +Fixes critical bug involving water turning anything into clay + +Version 0.9.28 +Green thumb can now spread grass to dirt using seeds +Adding XP will check for level ups again +Acrobatics won't hand out XP on death anymore +Acrobatics will check plugins for the event being cancelled before handing out XP + +Version 0.9.27 +Fixed Herbalism not properly receiving Triple Drops from Green Terra +Fixed Herbalism not handing out any XP outside of Green Terra +Fixed Herbalism asking for seeds on things that did not require it + +Version 0.9.26 +Fixed Green Terra going off without readiness +Fixed Hoe trying to ready when tilling Grass + +Version 0.9.25 +Fixed issue with anti-exploits and Herbalism +MySpawn works like a hearthstone now, no inv pentality, 1hr cooldown +Added Green Terra Ability to Herbalism +Added Green Thumb ability to Herbalism +Fixed Repair not working for Iron Tools +Fixed bug where Axes Ability checked for Unarmed Ability Permission +Added Cocoa Beans to Excavation XP/Loot Tables, Found in Grass/Dirt +Using Super Breaker on Obsidian significantly damages it compared to other materials +Added Obsidian to Mining XP Table/Super Breaker +Added Pumpkins/Reeds/Cactus to Herbalism XP Tables/Double Drops +Corrected "mcMMMO" to "mcMMO" in MOTD + +Version 0.9.24 +PLAYER_BED_ENTER removed due to its unusual issues +Added info about the Wiki to the motd +/mcrefresh will reset if you were recently hurt (Chimaera Wing/HP Regen) +Fixed Armor Repair not adding XP +Boosted Repair XP of Armor to match Tools +Repairing Armor won't trigger Super Repair twice anymore +Setting your MySpawn now just requires right clicking a bed (still requires the setmyspawn permission node) + +Version 0.9.23 +Players will now announce ability usage within a short distance to nearby players +Chimaera Wing now takes the world into account +Acrobatics won't give XP on death, and will fail if you would've died after the damage reduction +Added yet another check to see if a Player is not in the Users system for NPC mod compatibility + + +Version 0.9.22 +Fixed bug where chimaera wing was unusable after being hurt even after the cooldown + +Version 0.9.21 +/mcrefresh fixed to work properly with the new ability monitoring system +Ability lengths are now based on your skill level directly rather than a tiered system +Chimaera Wings won't trigger on things they shouldn't (Doors, Chests, ETC) +Chimaera Wings will properly tell you how long you have to wait to use it if you've been recently hurt + +Version 0.9.20 +Fixed Tree Feller not checking if their cooldown was refreshed and always activating +/stats and /whois will now show the powerlevel based on permissions +Shovels will no longer say you've lowered your axe +/myspawn will no longer say your inventory has been cleared if the server settings disable this feature + + +Version 0.9.19 +Fixed Anti-Exploit XP stuff not working + +Version 0.9.18 +Added failsafe to prevent abilities from going on forever, abilities will check if they should've expired when being used in case the Timer fails +Archery Spam has been nerf'd, you can only fire once per second now (Toggle-able in config file) +Fixed bug when just having the Admin Chat permission wouldn't allow you to see Admin Chat +Fixed bug where Axes ability could be used without permission +Abilities are monitored with Timestamps rather than a Timer monitored tick rate +When players were last hurt is now monitored with Timestamps rather than a Timer monitored tick rate +Made Anti XP-Exploits more Robust +Repair XP is now based on durability restored +Acrobatics rolling will now reduce damage if you go over the damage threshold +Acrobatics rolling damage threshold lowered to 10 from 20 +Added Graceful Roll to Acrobatics, hold Shift when falling to do a Graceful Roll +mcMMO now checks for the blockBreak and EntityDamage events being canceled before proceeding +Dodge notification shortened +Dodge won't negate damage completely anymore +Added 3 more functions for plugin authors to call, getPartyName(Player player), inParty(Player player), and getParties() + +Version 0.9.17 +Players now set their MySpawn by entering a bed, it requires the setmyspawn permission node +/setmyspawn has been removed +Compatible with CB 670 +Fixed errors related to Repair +Abilities will no longer trigger from Bed interactions +/unarmed will now tell the player when they will receive unarmed master (if they have apprentice) + +Version 0.9.16 +Logs placed by the player won't grant XP/Double Drops anymore +Added more functions plugin authors can call +Acrobatics roll has a damage threshold of 20, going above this means a failed Roll + + +Version 0.9.15 +Acrobatics will now behave properly +AoE Abilities ignore wolves (temp fix) +Added "all" parameter to /mmoedit & /addxp +After giving XP to a player it will now check for level ups in skills + +Version 0.9.14 +mcMMO checks for abilities being active before sending the fake block break event + +Version 0.9.13 +Fixed excavation ignoring the xpGainMultiplier +Now compatible with CB 600+ +Fixed bug where Dodge acted maxed out no matter your skill level + +Version 0.9.12 +mcMMO now fakes a block break event for abilities to maximize plugin compatibility +/herbalism will return the correct values now +New /addxp command + +Version 0.9.11 +PVE Combat Skills experience is now based on damage dealt +The Timer will no longer break from Bleed Simulation +Tree feller no longer "damages" saplings +Bleed+ (Serrated Strikes) lasts 5 ticks down from 12 +Bleed/Bleed+ now do 2 damage instead of 1 +Power Level is now based on permissions +Counter Attack added to swords +Parry is now based directly on Swords skill level +Parry maximum proc chance raised to 30% from 20% +Serrated Strikes now properly applies Bleed+ to targets +Players who parry can no longer be disarmed +Acrobatics now has a Dodge passive skill reducing damage +Repair skill now effects how much durability is restored +Super repair now doubles the repair amount on proc +Unarmed now starts with a bonus to damage to encourage use +Unarmed now has two steps to damage scaling, Appentice, and Mastery +Unarmed disarm now caps at 25% for 1000 skill +Fixed problem where Archery skill procs would ignore other plugins +Ignition changed to 25% chance +Ignition length will be based on archery skill level +/myspawn now has a warning about the inventory loss penalty in /mcc +mcMMO Timer now runs in 1 second intervals rather than 2 + +Version 0.9.10 +Party invites now show who they are from +Mushrooms added to Dirt/Grass excavation loot tables, drops with 500+ skill +mcMMO configuration files property setting names have been changed for readability +Fixed bug where Gold and Iron wouldn't drop anything during Super Breaker +Added /mcability info to /mcc +Potentially fixed NPE error when checking players for being in same party for PVP XP +Removed sand specific diamond drop from sand excavation loot table, Diamonds can still drop globally for sand +Added a global XP gain multiplier, increase it to increase XP gained +Reduced PVE XP for Unarmed, now identical to Axes/Swords +Changed Chat priority in mcMMO to be higher, this should help plugin conflicts +Mushroom XP raised to 40 from 10 +Flower XP raised to 10 from 3 + +Version 0.9.9 +Fixed problem where entities never got removed from the arrow retrieval list of entities + +Version 0.9.8 +EntityLiving shouldn't be cast to entities that are not an instance of EntityLiving +Added a null check in the timer for players being null before proceeding + +Version 0.9.7 +Procs/XP Gain will no longer happen when the Entity is immune to damage (Thanks EdwardHand!) +Axes critical damage versus players reduced to 150% damage from 200% damage +Fixed bug where Daze might not proc +Changed archery Daze to follow smooth transition +Added archery Daze chance info to /archery +Cooldown lengths are now customizable, they are in seconds and multiplied by 2 by mcMMO + +Version 0.9.6 +Timer checks for player being null before adding them to the mcUsers system +Cooldowns will now show how much time is remaining when trying to use their respective abilities +SkullSpliiter will now correctly inform the player when they are too tired to use it +Acrobatics will no longer give XP if the event was cancelled by another plugin +Version 0.9.5 +Super Breaker now gives a chance for Triple Drops based on mining skill +Ability durability loss down from 15 to 2 +Ability durability loss is now toggle-able +Ability durability loss can be adjusted in the configuration file +Mining Picks are no longer lowered after activating Super Breaker + +Version 0.9.4 +Flowers won't drop wheat anymore +Signs won't trigger ability readiness anymore +Version 0.9.3 +Bug stopping abilities from never wearing of may have been fixed +Changed color of "X Ability has worn off" to RED from GRAY +Super Breaker, Giga Drill Breaker, and Tree Feller now damage the tool significantly during use +Netherrack and Glowstone now give Mining XP +Netherrack and Glowstone are now effected by Super Breaker +Abilities will no longer be readied when you right click signs or beds +Chimaera Wings won't activate on blocks you can interact with and signs +Abilities now adjust their effects depending on tool quality +Superbreaker won't break things that tool couldn't normally break +Giga Drill Breaker will only give triple xp and triple drops for diamond tools, with a reduced effect for lesser tools +Skull Splitter now has a limit of opponents nearby it will strike based on your tool quality +Serrated Strikes now has a limit of opponents nearby it will strike based on your tool quality +Modified /mcmmo description to be a little bit more relevant. + +Version 0.9.2 +Changed priority of some of the mcMMO listeners +Now when certain abilities are activated it shouldn't say "You lower your x" + +Version 0.9.1 +Fixed "Unknown console command" errors with CB 556 +Added /mcability command to toggle being able to trigger abilities with right click +Added some more nullchecks for people reporting NPE errors +Compatibility with NPC mods improved (Mainly for archery!) +Other plugins can now call inSameParty() from mcMMO to increase compatibility + +Version 0.9 +--NEW CONTENT-- +Woodcutting now has the "Tree Feller" Ability +Unarmed now has the "Berserk" Ability +Swords now has the "Serrated Strikes" Ability +Mining now has the "Super Breaker" Ability +Axes now has the "Skull Splitter" Ability +Excavation now has the "Giga Drill Breaker" Ability +Added /mcrefresh - tool for refreshing cooldowns +Unarmed now has the "Deflect Arrows" passive skill +Chimaera Wing Item Added + +--CHANGES-- +HP Regen & Bleed are back +Woodcutting will drop the appropriate log on double drop procs +Herbalism now applies double drops to herbs +/ now shows much more information to the player regarding their stats +Axes skill Critical Strikes are now based directly on your skill level +Swords skill Bleed chance is now based directly on your skill level +Unarmed disarm chance is now based directly on your skill level +Acrobatics now gives XP when you roll + +--BUGFIXES-- +Memory Leak Fixed +Axes not doing critical strikes +Gold Armor repair +Capped skills now have the correct proc chance +/mmoedit is no longer case sensitive +More NPE errors fixed +Many bugs I forgot to write down + +--PLUGIN COMPATABILITY FIXES-- +If combat interactions are cancelled by other plugins mcMMO should ignore the event +If block damage interactions are cancelled by other plugins mcMMO should ignore the event + +Version 0.8.22 + Fixed bug where Axes did less damage than normal + Acrobatic rolls now give XP + Acrobatics XP increased for non-rolls +Version 0.8.21 + Fixed bug where axe criticals would dupe items +Version 0.8.20 + 99.99% sure I fixed anvils that suddenly stop working +Version 0.8.19 + Fixed being able to excavate placed blocks + Added toggle option to mining requiring a pickaxe + Added toggle option to woodcutting requiring an axe + PVP interactions now reward XP based on the damage caused (this is effected by skills) + PVP XP gain can be disabled in the configuration file + PVP XP has a modifier, increase the modifier for higher XP rewards from PVP combat +Version 0.8.18 + Fixed sandstone not being watched for exploitation +Version 0.8.17 + mcmmo.users moved to plugins/mcMMO/ + Snowballs and Eggs will no longer trigger Ignition + Loot tables for excavation adjusted + Mining benefits now require the player to be holding a mining pick + Woodcutting benefits now require the player to be holding an axe +Version 0.8.16 + Moved configuration file to /plugins/mcMMO + Arrows now have a chance to Ignite enemiesw + Fixed arrows not being retrievable from corpses + Added info about ignition to /archery +Version 0.8.14 + Mining, Woodcutting, Herbalism, and Acrobatics proc rates now are based on your skill level directly rather than tiers you unlock via skill levels + Archery's ability to retrieve arrows from corpses now is based on your skill level directly rather than tiers you unlock via skill levels + Mining, Woodcutting, Herbalism, Archery, and Acrobatics now show their proc % relative to your skill if you type / + You can now adjust what level is required to repair diamond in the configuration file + Changed mining XP rates to be a tad higher for some things + You can now get XP from sandstone + XP rates increased for gathering glowstone with excavation + XP rates increased a bit for excavation + Skill info is now a bit more detailed for certain skills + Added info about arrow retrieval to /archery +Version 0.8.13 + Enemies no longer look like they have frozen when they die + Item duping fix +Version 0.8.11 + Performance improvements + Memory leak fixed + NPE error with MySpawn really fixed +Version 0.8.9 + Fixed NPE for My Spawn + Fixed NPE for onBlockDamage + Bleed proc now correctly checks for Swords permissions +Version 0.8.8 + Gold can now be repaired + Tweaked Mining XP gains + Reorganized code + Added /mcgod godmode command + Fixed the pvp toggle in the settings file +Version 0.8.7 + Removed packet-sending stuff wasn't working anyways + Fixed another NPE with the TimerTask + Skills now only show up in /stats if you have permissions for them +Version 0.8.6 + Added a null check in bleed simulation to prevent a NPE +Version 0.8.5 + Players are now added to files when they connect (to fix a NPE) + onPlayerCommand stuff moved into onPlayerCommandPreprocess +Version 0.8.4 + Fixed another nullpointer error for TimerTask + Fixed bug making regeneration take twice as long to kick in after combat +Version 0.8.3 + Modified the timer intervals (from 1 second to 2) + All skills now have an individual modifier (Set by default to 2) + There is now a global XP modifier (Set by default to 1) + Herbalism now correctly follows its skill curve + Unarmed no longer gives experience for harming other players + Players can no longer exploit mob spawners for experience +Version 0.8.2 + Fixed Concurrent Modification Exception + Fixed some incorrect skill descriptions + First tier of HP Regeneration is now available from the start + Fixed bleed proc rate for very high skill levels + Changed regeneration permissions to 'mcmmo.regeneration' +Version 0.8 + Archery skill now lets players recover arrows from downed foes + Health regenerates based on power level + Added toggle to myspawn clearing player inventory in settings file + Swords now have a bleed effect + Rewrote Skill descriptions to be more informative/better +Version 0.7.9 + XP Curve now follows a new formula + Acrobatics XP gains changed + Compiled against permissions 2.1 +Version 0.7.8 + Massive tweaks to XP gain for Archery, Swords, Axes, Unarmed +Version 0.7.7 + Minor tweak to how players are added to the flat file + Fixed some nullpointer exceptions when players die +Version 0.7.6 + Fixed being able to repair diamond armor with below 50 skill + Myspawn now supports multiple worlds, clearing myspawn will set it to the first world created by the server +Version 0.7.5 + Removed random checks for herbalism XP + Herbalism is now called properly (This should fix gaining no xp or double drops) +Version 0.7.4 + Work around for a bukkit bug that broke my onBlockDamage event + Added /clearmyspawn +Version 0.7.3 + Fixed to work with build 424 of CB + Lowered the XP of gold due to it not being that rare anymore +Version 0.7.2 + Fixed security flaw where players could access /mmoedit if the server was not running permissions + Reduced XP gain of woodcutting a bit +Version 0.7 + Completely rewrote the XP system + Added an XP skillrate modifier to the settings file + +Version 0.6.2 + Axes now do critical strikes against farm animals + Removed the "Stupidly Long Constructor" + Now compatible with the latest CB builds +Version 0.6.1 + Customizable command names + Axes can now be modified with /mmoedit + Party members are now correctly informed when you leave the party + Fixed incorrect commands in /mcc +Version 0.5.17 + + Changed namespaces to fit bukkits new standard + Adjusted excavation proc rates + Modified excavation loot tables + Added Party Invite System + +Version 0.5.16 + + Fixed unarmed not checking for permissions when hitting players + +Version 0.5.15 + Fixed stone swords not being recognized as swords + Fixed /a not working if you were an op but did not have permissions + +Version 0.5.14 + Added permissions for skills + +Version 0.5.13 + + Removed skillgain from succesful parries + Repair now refreshed the inventory + +Version 0.5.12 + + Fixed being able to hurt party members with the bow and arrow + +Version 0.5.11 + + Added /mmoedit command + Fixed bug preventing player versus player damage + Fixed bug preventing damage from scaling with unarmed & bows + Fixed disarm proc making the opponent dupe his/her items + Added mcmmo.tools.mmoedit permission + Added mcmmo.commands.setmyspawn permission + Added totalskill to /stats + Changed the look of /stats + +Version 0.5.10 + + Fixed trying to set health to an invalid value + +Version 0.5.9 + + Fixed duping inventories on death + +Version 0.5.8 + + Fixed bug where players inventories would dupe during combat + +Version 0.5.7 + + Fixed monsters instant killing players + Misc fixes +Version 0.5.4 + + Changed herbalism skill gain from wheat to be WAAAAY slower + +Version 0.5.3 + + Players will now correctly drop their inventories when killed by a monster + +Version 0.5.2 + + Fixed MAJOR bug preventing swords skill from gaining through combat + +Version 0.5 + + Archery Added + Swords Added + Acrobatics Added + Logging for Party/Admin chat added + Fixed whois to show correct values for Excavation + Made death messages much much more specific + +Version 0.4.4 + + Fixed being able to repair full durability iron tools + Fixed herbalism benefits not behaving properly + Fixed removing 1 diamond from every stack of diamond when repairing diamond + +Version 0.4.2 + + Removed myspawn from the motd + +Version 0.4.1 + + Fixed /mcc showing incorrect command for herbalism + Changed unarmed skillrate to be much slower than before + Modified a few skill descriptions + Added permission for /whois + Players can now use admin chat without being op as long as they have the correct permission (requires Permissions) + +Version 0.4 + + Permissions support + Removed OPs having different names than normal players + Removed /setspawn & /spawn + Slowed down excavation skill rate + Fixed excavation coal drop being too rare + +Version 0.3.4 + + Creepers now give double xp for unarmed + Iron armor can now be repaired! + Fixed bug stopping items from being repaired + +Version 0.3.3 + + Yet another herbalism skill gain tweak + +Version 0.3.2 + + Changed excavation loot tables to be more rewarding + Changed sand to give normal excavation xp instead of double xp + Fixed herbalism skill exploit + Mobs killed with unarmed now drop loot properly + Unarmed xp rate depends on mob (zombies lowest fyi) + Huge player crashing bug fix on disarm! + +Version 0.3.1 + + Fixed excavation not saving properly + Fixed repair using excavation values + +Version 0.3 + + Unarmed skill + Herbalism skill + Excavation skill + Many bugfixes (thanks for reporting them!) + / - Detailed information about skills in game + +Version 0.2.1 + + Misc bugfixes + +Version 0.2 + + Repair ability added + Repair skill added + Iron Armor repair temporarily disabled + Anvils (Iron Block) added + /mcmmo & /mcc added + Misc changes to existing commands + Misc bug fixes + +Version 0.1 + + Releasing my awesome plugin diff --git a/mcMMO/com/gmail/nossr50/Combat.java b/src/com/gmail/nossr50/Combat.java similarity index 100% rename from mcMMO/com/gmail/nossr50/Combat.java rename to src/com/gmail/nossr50/Combat.java diff --git a/mcMMO/com/gmail/nossr50/Database.java b/src/com/gmail/nossr50/Database.java similarity index 100% rename from mcMMO/com/gmail/nossr50/Database.java rename to src/com/gmail/nossr50/Database.java diff --git a/mcMMO/com/gmail/nossr50/Item.java b/src/com/gmail/nossr50/Item.java similarity index 97% rename from mcMMO/com/gmail/nossr50/Item.java rename to src/com/gmail/nossr50/Item.java index f19659669..8ac7cff08 100644 --- a/mcMMO/com/gmail/nossr50/Item.java +++ b/src/com/gmail/nossr50/Item.java @@ -1,89 +1,89 @@ -package com.gmail.nossr50; - -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.block.Block; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import org.bukkit.plugin.Plugin; -import com.gmail.nossr50.config.*; -import com.gmail.nossr50.locale.mcLocale; -import com.gmail.nossr50.skills.*; - -import com.gmail.nossr50.datatypes.PlayerProfile; - - -public class Item { - - public static void itemchecks(Player player, Plugin plugin) - { - ItemStack inhand = player.getItemInHand(); - if(LoadProperties.chimaeraWingEnable && inhand.getTypeId() == LoadProperties.chimaeraId) - { - chimaerawing(player, plugin); - } - } - - @SuppressWarnings("deprecation") - public static void chimaerawing(Player player, Plugin plugin) - { - PlayerProfile PP = Users.getProfile(player); - ItemStack is = player.getItemInHand(); - Block block = player.getLocation().getBlock(); - if(mcPermissions.getInstance().chimaeraWing(player) && is.getTypeId() == LoadProperties.chimaeraId) - { - if(Skills.cooldownOver(player, PP.getRecentlyHurt(), 60) && is.getAmount() >= LoadProperties.feathersConsumedByChimaeraWing) - { - Block derp = player.getLocation().getBlock(); - int y = derp.getY(); - ItemStack[] inventory = player.getInventory().getContents(); - for(ItemStack x : inventory){ - if(x != null && x.getTypeId() == LoadProperties.chimaeraId){ - if(x.getAmount() >= LoadProperties.feathersConsumedByChimaeraWing + 1) - { - x.setAmount(x.getAmount() - LoadProperties.feathersConsumedByChimaeraWing); - player.getInventory().setContents(inventory); - player.updateInventory(); - break; - } else { - x.setAmount(0); - x.setTypeId(0); - player.getInventory().setContents(inventory); - player.updateInventory(); - break; - } - } - } - while(y < 127) - { - y++; - if(player != null) - { - if(player.getLocation().getWorld().getBlockAt(block.getX(), y, block.getZ()).getType() != Material.AIR) - { - player.sendMessage(mcLocale.getString("Item.ChimaeraWingFail")); //$NON-NLS-1$ - player.teleport(player.getLocation().getWorld().getBlockAt(block.getX(), (y - 1), block.getZ()).getLocation()); - return; - } - } - } - if(PP.getMySpawn(player) != null) - { - Location mySpawn = PP.getMySpawn(player); - if(mySpawn != null){ - player.teleport(mySpawn); //Do it twice to prevent weird stuff - player.teleport(mySpawn); - } - } else { - player.teleport(player.getWorld().getSpawnLocation()); - } - player.sendMessage(mcLocale.getString("Item.ChimaeraWingPass")); //$NON-NLS-1$ - } else if (!Skills.cooldownOver(player, PP.getRecentlyHurt(), 60) && is.getAmount() >= 10) - { - player.sendMessage(mcLocale.getString("Item.InjuredWait", new Object[] {Skills.calculateTimeLeft(player, PP.getRecentlyHurt(), 60)})); //$NON-NLS-1$ - } else if (is.getTypeId() == LoadProperties.chimaeraId && is.getAmount() <= 9){ - player.sendMessage(mcLocale.getString("Item.NeedFeathers")); //$NON-NLS-1$ - } - } - } -} +package com.gmail.nossr50; + +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.block.Block; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; +import org.bukkit.plugin.Plugin; +import com.gmail.nossr50.config.*; +import com.gmail.nossr50.locale.mcLocale; +import com.gmail.nossr50.skills.*; + +import com.gmail.nossr50.datatypes.PlayerProfile; + + +public class Item { + + public static void itemchecks(Player player, Plugin plugin) + { + ItemStack inhand = player.getItemInHand(); + if(LoadProperties.chimaeraWingEnable && inhand.getTypeId() == LoadProperties.chimaeraId) + { + chimaerawing(player, plugin); + } + } + + @SuppressWarnings("deprecation") + public static void chimaerawing(Player player, Plugin plugin) + { + PlayerProfile PP = Users.getProfile(player); + ItemStack is = player.getItemInHand(); + Block block = player.getLocation().getBlock(); + if(mcPermissions.getInstance().chimaeraWing(player) && is.getTypeId() == LoadProperties.chimaeraId) + { + if(Skills.cooldownOver(player, PP.getRecentlyHurt(), 60) && is.getAmount() >= LoadProperties.feathersConsumedByChimaeraWing) + { + Block derp = player.getLocation().getBlock(); + int y = derp.getY(); + ItemStack[] inventory = player.getInventory().getContents(); + for(ItemStack x : inventory){ + if(x != null && x.getTypeId() == LoadProperties.chimaeraId){ + if(x.getAmount() >= LoadProperties.feathersConsumedByChimaeraWing + 1) + { + x.setAmount(x.getAmount() - LoadProperties.feathersConsumedByChimaeraWing); + player.getInventory().setContents(inventory); + player.updateInventory(); + break; + } else { + x.setAmount(0); + x.setTypeId(0); + player.getInventory().setContents(inventory); + player.updateInventory(); + break; + } + } + } + while(y < 127) + { + y++; + if(player != null) + { + if(player.getLocation().getWorld().getBlockAt(block.getX(), y, block.getZ()).getType() != Material.AIR) + { + player.sendMessage(mcLocale.getString("Item.ChimaeraWingFail")); //$NON-NLS-1$ + player.teleport(player.getLocation().getWorld().getBlockAt(block.getX(), (y - 1), block.getZ()).getLocation()); + return; + } + } + } + if(PP.getMySpawn(player) != null) + { + Location mySpawn = PP.getMySpawn(player); + if(mySpawn != null){ + player.teleport(mySpawn); //Do it twice to prevent weird stuff + player.teleport(mySpawn); + } + } else { + player.teleport(player.getWorld().getSpawnLocation()); + } + player.sendMessage(mcLocale.getString("Item.ChimaeraWingPass")); //$NON-NLS-1$ + } else if (!Skills.cooldownOver(player, PP.getRecentlyHurt(), 60) && is.getAmount() >= 10) + { + player.sendMessage(mcLocale.getString("Item.InjuredWait", new Object[] {Skills.calculateTimeLeft(player, PP.getRecentlyHurt(), 60)})); //$NON-NLS-1$ + } else if (is.getTypeId() == LoadProperties.chimaeraId && is.getAmount() <= 9){ + player.sendMessage(mcLocale.getString("Item.NeedFeathers")); //$NON-NLS-1$ + } + } + } +} diff --git a/mcMMO/com/gmail/nossr50/Leaderboard.java b/src/com/gmail/nossr50/Leaderboard.java similarity index 97% rename from mcMMO/com/gmail/nossr50/Leaderboard.java rename to src/com/gmail/nossr50/Leaderboard.java index d16c7cbf7..bcac07721 100644 --- a/mcMMO/com/gmail/nossr50/Leaderboard.java +++ b/src/com/gmail/nossr50/Leaderboard.java @@ -1,245 +1,245 @@ -package com.gmail.nossr50; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.util.logging.Level; -import java.util.logging.Logger; - -import com.gmail.nossr50.config.LoadProperties; -import com.gmail.nossr50.datatypes.PlayerStat; -import com.gmail.nossr50.datatypes.SkillType; -import com.gmail.nossr50.datatypes.Tree; - -public class Leaderboard -{ - static String location = "plugins/mcMMO/FlatFileStuff/mcmmo.users"; //$NON-NLS-1$ - protected static final Logger log = Logger.getLogger("Minecraft"); //$NON-NLS-1$ - - /* - * Read from the file - */ - public static void makeLeaderboards() - { - //Make Trees - Tree Mining = new Tree(); - Tree WoodCutting = new Tree(); - Tree Herbalism = new Tree(); - Tree Excavation = new Tree(); - Tree Acrobatics = new Tree(); - Tree Repair = new Tree(); - Tree Swords = new Tree(); - Tree Axes = new Tree(); - Tree Archery = new Tree(); - Tree Unarmed = new Tree(); - Tree Taming = new Tree(); - Tree PowerLevel = new Tree(); - - //Add Data To Trees - try { - //Open the user file - FileReader file = new FileReader(location); - BufferedReader in = new BufferedReader(file); - String line = ""; //$NON-NLS-1$ - while((line = in.readLine()) != null) - { - String[] character = line.split(":"); //$NON-NLS-1$ - String p = character[0]; - - - int Plvl = 0; - - if(character.length > 1 && m.isInt(character[1])) - { - Mining.add(p, Integer.valueOf(character[1])); - Plvl += Integer.valueOf(character[1]); - } - if(character.length > 5 && m.isInt(character[5])){ - WoodCutting.add(p, Integer.valueOf(character[5])); - Plvl += Integer.valueOf(character[5]); - } - if(character.length > 7 && m.isInt(character[7])){ - Repair.add(p, Integer.valueOf(character[7])); - Plvl += Integer.valueOf(character[7]); - } - if(character.length > 8 && m.isInt(character[8])){ - Unarmed.add(p, Integer.valueOf(character[8])); - Plvl += Integer.valueOf(character[8]); - } - if(character.length > 9 && m.isInt(character[9])){ - Herbalism.add(p, Integer.valueOf(character[9])); - Plvl += Integer.valueOf(character[9]); - } - if(character.length > 10 && m.isInt(character[10])){ - Excavation.add(p, Integer.valueOf(character[10])); - Plvl += Integer.valueOf(character[10]); - } - if(character.length > 11 && m.isInt(character[11])){ - Archery.add(p, Integer.valueOf(character[11])); - Plvl += Integer.valueOf(character[11]); - } - if(character.length > 12 && m.isInt(character[12])){ - Swords.add(p, Integer.valueOf(character[12])); - Plvl += Integer.valueOf(character[12]); - } - if(character.length > 13 && m.isInt(character[13])){ - Axes.add(p, Integer.valueOf(character[13])); - Plvl += Integer.valueOf(character[13]); - } - if(character.length > 14 && m.isInt(character[14])){ - Acrobatics.add(p, Integer.valueOf(character[14])); - Plvl += Integer.valueOf(character[14]); - } - if(character.length > 24 && m.isInt(character[24])){ - Taming.add(p, Integer.valueOf(character[24])); - Plvl += Integer.valueOf(character[24]); - } - - PowerLevel.add(p, Plvl); - } - in.close(); - } catch (Exception e) { - log.log(Level.SEVERE, "Exception while reading " //$NON-NLS-1$ - + location + " (Are you sure you formatted it correctly?)", e); //$NON-NLS-1$ - } - //Write the leader board files - leaderWrite(Mining.inOrder(), SkillType.MINING); //$NON-NLS-1$ - leaderWrite(WoodCutting.inOrder(), SkillType.WOODCUTTING); //$NON-NLS-1$ - leaderWrite(Repair.inOrder(), SkillType.REPAIR); //$NON-NLS-1$ - leaderWrite(Unarmed.inOrder(), SkillType.UNARMED); //$NON-NLS-1$ - leaderWrite(Herbalism.inOrder(), SkillType.HERBALISM); //$NON-NLS-1$ - leaderWrite(Excavation.inOrder(), SkillType.EXCAVATION); //$NON-NLS-1$ - leaderWrite(Archery.inOrder(), SkillType.ARCHERY); //$NON-NLS-1$ - leaderWrite(Swords.inOrder(), SkillType.SWORDS); //$NON-NLS-1$ - leaderWrite(Axes.inOrder(), SkillType.AXES); //$NON-NLS-1$ - leaderWrite(Acrobatics.inOrder(), SkillType.ACROBATICS); //$NON-NLS-1$ - leaderWrite(Taming.inOrder(), SkillType.TAMING); //$NON-NLS-1$ - leaderWrite(PowerLevel.inOrder(), SkillType.ALL); //$NON-NLS-1$ - } - public static void leaderWrite(PlayerStat[] ps, SkillType skillType) - { - String theLocation = "plugins/mcMMO/FlatFileStuff/Leaderboards/" + skillType + ".mcmmo"; //$NON-NLS-1$ //$NON-NLS-2$ - //CHECK IF THE FILE EXISTS - File theDir = new File(theLocation); - if(!theDir.exists()) - { - //properties = new PropertiesFile(location); - FileWriter writer = null; - try { - writer = new FileWriter(theLocation); - } catch (Exception e) { - log.log(Level.SEVERE, "Exception while creating " + theLocation, e); //$NON-NLS-1$ - } finally { - try { - if (writer != null) { - writer.close(); - } - } catch (IOException e) { - log.log(Level.SEVERE, "Exception while closing writer for " + theLocation, e); //$NON-NLS-1$ - } - } - } else { - try { - FileReader file = new FileReader(theLocation); - - //HERP - BufferedReader in = new BufferedReader(file); - StringBuilder writer = new StringBuilder(); - - for(PlayerStat p : ps) - { - if(p.name.equals("$mcMMO_DummyInfo")) //$NON-NLS-1$ - continue; - if(p.statVal == 0) - continue; - writer.append(p.name + ":" + p.statVal); //$NON-NLS-1$ - writer.append("\r\n"); //$NON-NLS-1$ - } - - in.close(); - //Write the new file - FileWriter out = new FileWriter(theLocation); - out.write(writer.toString()); - out.close(); - } catch (Exception e) { - log.log(Level.SEVERE, "Exception while writing to " + theLocation + " (Are you sure you formatted it correctly?)", e); //$NON-NLS-1$ //$NON-NLS-2$ - } - } - //Create/open the file - //Loop through backward writing each player - //Close the file - } - - public static String[] retrieveInfo(String skillName, int pagenumber) - { - String theLocation = "plugins/mcMMO/FlatFileStuff/Leaderboards/" + skillName + ".mcmmo"; //$NON-NLS-1$ //$NON-NLS-2$ - try { - FileReader file = new FileReader(theLocation); - BufferedReader in = new BufferedReader(file); - - int destination = (pagenumber - 1) * 10; //How many lines to skip through - int x = 0; //how many lines we've gone through - int y = 0; //going through the lines - String line = ""; //$NON-NLS-1$ - String[] info = new String[10]; //what to return - while((line = in.readLine()) != null && y < 10) - { - x++; - if(x >= destination && y < 10){ - info[y] = line.toString(); - y++; - } - } - in.close(); - return info; - } catch (Exception e) { - log.log(Level.SEVERE, "Exception while reading " //$NON-NLS-1$ - + theLocation + " (Are you sure you formatted it correctly?)", e); //$NON-NLS-1$ - } - return null; //Shouldn't get here - } - public static void updateLeaderboard(PlayerStat ps, SkillType skillType) - { - if(LoadProperties.useMySQL) - return; - String theLocation = "plugins/mcMMO/FlatFileStuff/Leaderboards/" + skillType + ".mcmmo"; //$NON-NLS-1$ //$NON-NLS-2$ - try { - //Open the file - FileReader file = new FileReader(theLocation); - BufferedReader in = new BufferedReader(file); - StringBuilder writer = new StringBuilder(); - String line = ""; //$NON-NLS-1$ - Boolean inserted = false; - //While not at the end of the file - while((line = in.readLine()) != null) - { - //Insert the player into the line before it finds a smaller one - if(Integer.valueOf(line.split(":")[1]) < ps.statVal && !inserted) //$NON-NLS-1$ - { - writer.append(ps.name + ":" + ps.statVal).append("\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ - inserted = true; - } - //Write anything that isn't the player already in the file so we remove the duplicate - if(!line.split(":")[0].equalsIgnoreCase(ps.name)) //$NON-NLS-1$ - { - writer.append(line).append("\r\n"); //$NON-NLS-1$ - } - } - - if(!inserted) - { - writer.append(ps.name + ":" + ps.statVal).append("\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ - } - - in.close(); - //Write the new file - FileWriter out = new FileWriter(theLocation); - out.write(writer.toString()); - out.close(); - } catch (Exception e) { - log.log(Level.SEVERE, "Exception while writing to " + theLocation + " (Are you sure you formatted it correctly?)", e); //$NON-NLS-1$ //$NON-NLS-2$ - } - } -} +package com.gmail.nossr50; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.util.logging.Level; +import java.util.logging.Logger; + +import com.gmail.nossr50.config.LoadProperties; +import com.gmail.nossr50.datatypes.PlayerStat; +import com.gmail.nossr50.datatypes.SkillType; +import com.gmail.nossr50.datatypes.Tree; + +public class Leaderboard +{ + static String location = "plugins/mcMMO/FlatFileStuff/mcmmo.users"; //$NON-NLS-1$ + protected static final Logger log = Logger.getLogger("Minecraft"); //$NON-NLS-1$ + + /* + * Read from the file + */ + public static void makeLeaderboards() + { + //Make Trees + Tree Mining = new Tree(); + Tree WoodCutting = new Tree(); + Tree Herbalism = new Tree(); + Tree Excavation = new Tree(); + Tree Acrobatics = new Tree(); + Tree Repair = new Tree(); + Tree Swords = new Tree(); + Tree Axes = new Tree(); + Tree Archery = new Tree(); + Tree Unarmed = new Tree(); + Tree Taming = new Tree(); + Tree PowerLevel = new Tree(); + + //Add Data To Trees + try { + //Open the user file + FileReader file = new FileReader(location); + BufferedReader in = new BufferedReader(file); + String line = ""; //$NON-NLS-1$ + while((line = in.readLine()) != null) + { + String[] character = line.split(":"); //$NON-NLS-1$ + String p = character[0]; + + + int Plvl = 0; + + if(character.length > 1 && m.isInt(character[1])) + { + Mining.add(p, Integer.valueOf(character[1])); + Plvl += Integer.valueOf(character[1]); + } + if(character.length > 5 && m.isInt(character[5])){ + WoodCutting.add(p, Integer.valueOf(character[5])); + Plvl += Integer.valueOf(character[5]); + } + if(character.length > 7 && m.isInt(character[7])){ + Repair.add(p, Integer.valueOf(character[7])); + Plvl += Integer.valueOf(character[7]); + } + if(character.length > 8 && m.isInt(character[8])){ + Unarmed.add(p, Integer.valueOf(character[8])); + Plvl += Integer.valueOf(character[8]); + } + if(character.length > 9 && m.isInt(character[9])){ + Herbalism.add(p, Integer.valueOf(character[9])); + Plvl += Integer.valueOf(character[9]); + } + if(character.length > 10 && m.isInt(character[10])){ + Excavation.add(p, Integer.valueOf(character[10])); + Plvl += Integer.valueOf(character[10]); + } + if(character.length > 11 && m.isInt(character[11])){ + Archery.add(p, Integer.valueOf(character[11])); + Plvl += Integer.valueOf(character[11]); + } + if(character.length > 12 && m.isInt(character[12])){ + Swords.add(p, Integer.valueOf(character[12])); + Plvl += Integer.valueOf(character[12]); + } + if(character.length > 13 && m.isInt(character[13])){ + Axes.add(p, Integer.valueOf(character[13])); + Plvl += Integer.valueOf(character[13]); + } + if(character.length > 14 && m.isInt(character[14])){ + Acrobatics.add(p, Integer.valueOf(character[14])); + Plvl += Integer.valueOf(character[14]); + } + if(character.length > 24 && m.isInt(character[24])){ + Taming.add(p, Integer.valueOf(character[24])); + Plvl += Integer.valueOf(character[24]); + } + + PowerLevel.add(p, Plvl); + } + in.close(); + } catch (Exception e) { + log.log(Level.SEVERE, "Exception while reading " //$NON-NLS-1$ + + location + " (Are you sure you formatted it correctly?)", e); //$NON-NLS-1$ + } + //Write the leader board files + leaderWrite(Mining.inOrder(), SkillType.MINING); //$NON-NLS-1$ + leaderWrite(WoodCutting.inOrder(), SkillType.WOODCUTTING); //$NON-NLS-1$ + leaderWrite(Repair.inOrder(), SkillType.REPAIR); //$NON-NLS-1$ + leaderWrite(Unarmed.inOrder(), SkillType.UNARMED); //$NON-NLS-1$ + leaderWrite(Herbalism.inOrder(), SkillType.HERBALISM); //$NON-NLS-1$ + leaderWrite(Excavation.inOrder(), SkillType.EXCAVATION); //$NON-NLS-1$ + leaderWrite(Archery.inOrder(), SkillType.ARCHERY); //$NON-NLS-1$ + leaderWrite(Swords.inOrder(), SkillType.SWORDS); //$NON-NLS-1$ + leaderWrite(Axes.inOrder(), SkillType.AXES); //$NON-NLS-1$ + leaderWrite(Acrobatics.inOrder(), SkillType.ACROBATICS); //$NON-NLS-1$ + leaderWrite(Taming.inOrder(), SkillType.TAMING); //$NON-NLS-1$ + leaderWrite(PowerLevel.inOrder(), SkillType.ALL); //$NON-NLS-1$ + } + public static void leaderWrite(PlayerStat[] ps, SkillType skillType) + { + String theLocation = "plugins/mcMMO/FlatFileStuff/Leaderboards/" + skillType + ".mcmmo"; //$NON-NLS-1$ //$NON-NLS-2$ + //CHECK IF THE FILE EXISTS + File theDir = new File(theLocation); + if(!theDir.exists()) + { + //properties = new PropertiesFile(location); + FileWriter writer = null; + try { + writer = new FileWriter(theLocation); + } catch (Exception e) { + log.log(Level.SEVERE, "Exception while creating " + theLocation, e); //$NON-NLS-1$ + } finally { + try { + if (writer != null) { + writer.close(); + } + } catch (IOException e) { + log.log(Level.SEVERE, "Exception while closing writer for " + theLocation, e); //$NON-NLS-1$ + } + } + } else { + try { + FileReader file = new FileReader(theLocation); + + //HERP + BufferedReader in = new BufferedReader(file); + StringBuilder writer = new StringBuilder(); + + for(PlayerStat p : ps) + { + if(p.name.equals("$mcMMO_DummyInfo")) //$NON-NLS-1$ + continue; + if(p.statVal == 0) + continue; + writer.append(p.name + ":" + p.statVal); //$NON-NLS-1$ + writer.append("\r\n"); //$NON-NLS-1$ + } + + in.close(); + //Write the new file + FileWriter out = new FileWriter(theLocation); + out.write(writer.toString()); + out.close(); + } catch (Exception e) { + log.log(Level.SEVERE, "Exception while writing to " + theLocation + " (Are you sure you formatted it correctly?)", e); //$NON-NLS-1$ //$NON-NLS-2$ + } + } + //Create/open the file + //Loop through backward writing each player + //Close the file + } + + public static String[] retrieveInfo(String skillName, int pagenumber) + { + String theLocation = "plugins/mcMMO/FlatFileStuff/Leaderboards/" + skillName + ".mcmmo"; //$NON-NLS-1$ //$NON-NLS-2$ + try { + FileReader file = new FileReader(theLocation); + BufferedReader in = new BufferedReader(file); + + int destination = (pagenumber - 1) * 10; //How many lines to skip through + int x = 0; //how many lines we've gone through + int y = 0; //going through the lines + String line = ""; //$NON-NLS-1$ + String[] info = new String[10]; //what to return + while((line = in.readLine()) != null && y < 10) + { + x++; + if(x >= destination && y < 10){ + info[y] = line.toString(); + y++; + } + } + in.close(); + return info; + } catch (Exception e) { + log.log(Level.SEVERE, "Exception while reading " //$NON-NLS-1$ + + theLocation + " (Are you sure you formatted it correctly?)", e); //$NON-NLS-1$ + } + return null; //Shouldn't get here + } + public static void updateLeaderboard(PlayerStat ps, SkillType skillType) + { + if(LoadProperties.useMySQL) + return; + String theLocation = "plugins/mcMMO/FlatFileStuff/Leaderboards/" + skillType + ".mcmmo"; //$NON-NLS-1$ //$NON-NLS-2$ + try { + //Open the file + FileReader file = new FileReader(theLocation); + BufferedReader in = new BufferedReader(file); + StringBuilder writer = new StringBuilder(); + String line = ""; //$NON-NLS-1$ + Boolean inserted = false; + //While not at the end of the file + while((line = in.readLine()) != null) + { + //Insert the player into the line before it finds a smaller one + if(Integer.valueOf(line.split(":")[1]) < ps.statVal && !inserted) //$NON-NLS-1$ + { + writer.append(ps.name + ":" + ps.statVal).append("\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ + inserted = true; + } + //Write anything that isn't the player already in the file so we remove the duplicate + if(!line.split(":")[0].equalsIgnoreCase(ps.name)) //$NON-NLS-1$ + { + writer.append(line).append("\r\n"); //$NON-NLS-1$ + } + } + + if(!inserted) + { + writer.append(ps.name + ":" + ps.statVal).append("\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ + } + + in.close(); + //Write the new file + FileWriter out = new FileWriter(theLocation); + out.write(writer.toString()); + out.close(); + } catch (Exception e) { + log.log(Level.SEVERE, "Exception while writing to " + theLocation + " (Are you sure you formatted it correctly?)", e); //$NON-NLS-1$ //$NON-NLS-2$ + } + } +} diff --git a/mcMMO/com/gmail/nossr50/Users.java b/src/com/gmail/nossr50/Users.java similarity index 96% rename from mcMMO/com/gmail/nossr50/Users.java rename to src/com/gmail/nossr50/Users.java index a6835cd8b..1cc4e292e 100644 --- a/mcMMO/com/gmail/nossr50/Users.java +++ b/src/com/gmail/nossr50/Users.java @@ -1,96 +1,96 @@ -package com.gmail.nossr50; - -import java.io.*; -import java.util.Properties; -import java.util.logging.Logger; -import java.util.HashMap; - -import org.bukkit.entity.*; -import com.gmail.nossr50.datatypes.PlayerProfile; - - -public class Users { - private static volatile Users instance; - protected static final Logger log = Logger.getLogger("Minecraft"); - String location = "plugins/mcMMO/FlatFileStuff/mcmmo.users"; - String directory = "plugins/mcMMO/FlatFileStuff/"; - String directoryb = "plugins/mcMMO/FlatFileStuff/Leaderboards/"; - - //public static ArrayList players; - public static HashMap players = new HashMap(); - private Properties properties = new Properties(); - - //To load - public void load() throws IOException { - properties.load(new FileInputStream(location)); - } - //To save - public void save() - { - try - { - properties.store(new FileOutputStream(location), null); - }catch(IOException ex) { - } - } - - public void loadUsers() - { - new File(directory).mkdir(); - new File(directoryb).mkdir(); - File theDir = new File(location); - if(!theDir.exists()) - { - try { - FileWriter writer = new FileWriter(theDir); - writer.close(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - } - - - public static void addUser(Player player) - { - players.put(player, new PlayerProfile(player)); - } - public static void clearUsers() - { - players.clear(); - } - public static HashMap getProfiles(){ - return players; - } - - public static void removeUser(Player player) - { - PlayerProfile PP = Users.getProfile(player); - - if(PP != null) - { - PP.save(); - if(players.containsKey(player)) - players.remove(player); - } - } - - public static PlayerProfile getProfile(Player player){ - if(players.get(player) != null) - return players.get(player); - else - { - players.put(player, new PlayerProfile(player)); - return players.get(player); - } - } - - public static Users getInstance() { - if (instance == null) { - instance = new Users(); - } - return instance; - } - +package com.gmail.nossr50; + +import java.io.*; +import java.util.Properties; +import java.util.logging.Logger; +import java.util.HashMap; + +import org.bukkit.entity.*; +import com.gmail.nossr50.datatypes.PlayerProfile; + + +public class Users { + private static volatile Users instance; + protected static final Logger log = Logger.getLogger("Minecraft"); + String location = "plugins/mcMMO/FlatFileStuff/mcmmo.users"; + String directory = "plugins/mcMMO/FlatFileStuff/"; + String directoryb = "plugins/mcMMO/FlatFileStuff/Leaderboards/"; + + //public static ArrayList players; + public static HashMap players = new HashMap(); + private Properties properties = new Properties(); + + //To load + public void load() throws IOException { + properties.load(new FileInputStream(location)); + } + //To save + public void save() + { + try + { + properties.store(new FileOutputStream(location), null); + }catch(IOException ex) { + } + } + + public void loadUsers() + { + new File(directory).mkdir(); + new File(directoryb).mkdir(); + File theDir = new File(location); + if(!theDir.exists()) + { + try { + FileWriter writer = new FileWriter(theDir); + writer.close(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + } + + + public static void addUser(Player player) + { + players.put(player, new PlayerProfile(player)); + } + public static void clearUsers() + { + players.clear(); + } + public static HashMap getProfiles(){ + return players; + } + + public static void removeUser(Player player) + { + PlayerProfile PP = Users.getProfile(player); + + if(PP != null) + { + PP.save(); + if(players.containsKey(player)) + players.remove(player); + } + } + + public static PlayerProfile getProfile(Player player){ + if(players.get(player) != null) + return players.get(player); + else + { + players.put(player, new PlayerProfile(player)); + return players.get(player); + } + } + + public static Users getInstance() { + if (instance == null) { + instance = new Users(); + } + return instance; + } + } \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/command/Commands.java b/src/com/gmail/nossr50/command/Commands.java similarity index 97% rename from mcMMO/com/gmail/nossr50/command/Commands.java rename to src/com/gmail/nossr50/command/Commands.java index 3b5a14b08..6ad90ebf0 100644 --- a/mcMMO/com/gmail/nossr50/command/Commands.java +++ b/src/com/gmail/nossr50/command/Commands.java @@ -1,1587 +1,1587 @@ -package com.gmail.nossr50.command; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.logging.Level; -import java.util.logging.Logger; - -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.command.Command; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import org.getspout.spoutapi.player.SpoutPlayer; - -import com.gmail.nossr50.Leaderboard; -import com.gmail.nossr50.Users; -import com.gmail.nossr50.m; -import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.mcPermissions; -import com.gmail.nossr50.config.LoadProperties; -import com.gmail.nossr50.datatypes.HUDType; -import com.gmail.nossr50.datatypes.HUDmmo; -import com.gmail.nossr50.datatypes.PlayerProfile; -import com.gmail.nossr50.datatypes.SkillType; -import com.gmail.nossr50.locale.mcLocale; -import com.gmail.nossr50.party.Party; -import com.gmail.nossr50.skills.Skills; -import com.gmail.nossr50.spout.SpoutStuff; - -public class Commands -{ - //Setup some vars - public static final Logger log = Logger.getLogger("Minecraft"); - public static boolean xpevent = false; - static int oldrate = LoadProperties.xpGainMultiplier; - - - public static boolean isPlayer(String playerName){ - for(Player herp : Bukkit.getServer().getOnlinePlayers()){ - if(herp.getName().toLowerCase().equals(playerName.toLowerCase())){ - return true; - } - } - return false; - } - - public static Player getPlayer(String playerName){ - for(Player herp : Bukkit.getServer().getOnlinePlayers()){ - if(herp.getName().toLowerCase().equals(playerName.toLowerCase())){ - return herp; - } - } - return null; - } - - public static boolean processCommands(CommandSender sender, Command command, String label, String[] args) - { - Player player = null; - PlayerProfile PP = null; - if(sender instanceof Player) - { - player = (Player) sender; - PP = Users.getProfile(player); - } - - String[] split = new String[args.length + 1]; - split[0] = label; - for(int a = 0; a < args.length; a++){ - split[a + 1] = args[a]; - } - - //Check if the command is an MMO related help command - if(label.equalsIgnoreCase("taming") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillTaming").toLowerCase())){ - float skillvalue = (float)PP.getSkillLevel(SkillType.TAMING); - - String percentage = String.valueOf((skillvalue / 1000) * 100); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillTaming")})); - player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainTaming")})); - if(mcPermissions.getInstance().taming(player)) - player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.TAMING), PP.getSkillXpLevel(SkillType.TAMING), PP.getXpToLevel(SkillType.TAMING)})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsTaming1_0"), mcLocale.getString("m.EffectsTaming1_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsTaming2_0"), mcLocale.getString("m.EffectsTaming2_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsTaming3_0"), mcLocale.getString("m.EffectsTaming3_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsTaming4_0"), mcLocale.getString("m.EffectsTaming4_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsTaming5_0"), mcLocale.getString("m.EffectsTaming5_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsTaming6_0"), mcLocale.getString("m.EffectsTaming6_1")})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); - if(PP.getSkillLevel(SkillType.TAMING) < 100) - player.sendMessage(mcLocale.getString("m.AbilityLockTemplate", new Object[] {mcLocale.getString("m.AbilLockTaming1")})); - else - player.sendMessage(mcLocale.getString("m.AbilityBonusTemplate", new Object[] {mcLocale.getString("m.AbilBonusTaming1_0"), mcLocale.getString("m.AbilBonusTaming1_1")})); - if(PP.getSkillLevel(SkillType.TAMING) < 250) - player.sendMessage(mcLocale.getString("m.AbilityLockTemplate", new Object[] {mcLocale.getString("m.AbilLockTaming2")})); - else - player.sendMessage(mcLocale.getString("m.AbilityBonusTemplate", new Object[] {mcLocale.getString("m.AbilBonusTaming2_0"), mcLocale.getString("m.AbilBonusTaming2_1")})); - if(PP.getSkillLevel(SkillType.TAMING) < 500) - player.sendMessage(mcLocale.getString("m.AbilityLockTemplate", new Object[] {mcLocale.getString("m.AbilLockTaming3")})); - else - player.sendMessage(mcLocale.getString("m.AbilityBonusTemplate", new Object[] {mcLocale.getString("m.AbilBonusTaming3_0"), mcLocale.getString("m.AbilBonusTaming3_1")})); - if(PP.getSkillLevel(SkillType.TAMING) < 750) - player.sendMessage(mcLocale.getString("m.AbilityLockTemplate", new Object[] {mcLocale.getString("m.AbilLockTaming4")})); - else - player.sendMessage(mcLocale.getString("m.AbilityBonusTemplate", new Object[] {mcLocale.getString("m.AbilBonusTaming4_0"), mcLocale.getString("m.AbilBonusTaming4_1")})); - player.sendMessage(mcLocale.getString("m.TamingGoreChance", new Object[] {percentage})); - } - else if(label.equalsIgnoreCase("woodcutting") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillWoodCutting").toLowerCase())){ - float skillvalue = (float)PP.getSkillLevel(SkillType.WOODCUTTING); - int ticks = 2; - int x = PP.getSkillLevel(SkillType.WOODCUTTING); - while(x >= 50){ - x-=50; - ticks++; - } - String percentage = String.valueOf((skillvalue / 1000) * 100); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillWoodCutting")})); - player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainWoodCutting")})); - if(mcPermissions.getInstance().woodcutting(player)) - player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.WOODCUTTING), PP.getSkillXpLevel(SkillType.WOODCUTTING), PP.getXpToLevel(SkillType.WOODCUTTING)})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsWoodCutting1_0"), mcLocale.getString("m.EffectsWoodCutting1_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsWoodCutting2_0"), mcLocale.getString("m.EffectsWoodCutting2_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsWoodCutting3_0"), mcLocale.getString("m.EffectsWoodCutting3_1")})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); - if(PP.getSkillLevel(SkillType.WOODCUTTING) < 100) - player.sendMessage(mcLocale.getString("m.AbilityLockTemplate", new Object[] {mcLocale.getString("m.AbilLockWoodCutting1")})); - else - player.sendMessage(mcLocale.getString("m.AbilityBonusTemplate", new Object[] {mcLocale.getString("m.AbilBonusWoodCutting1_0"), mcLocale.getString("m.AbilBonusWoodCutting1_1")})); - player.sendMessage(mcLocale.getString("m.WoodCuttingDoubleDropChance", new Object[] {percentage})); - player.sendMessage(mcLocale.getString("m.WoodCuttingTreeFellerLength", new Object[] {ticks})); - } - else if(label.equalsIgnoreCase("archery") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillArchery").toLowerCase())){ - Integer rank = 0; - if(PP.getSkillLevel(SkillType.ARCHERY) >= 50) - rank++; - if(PP.getSkillLevel(SkillType.ARCHERY) >= 250) - rank++; - if(PP.getSkillLevel(SkillType.ARCHERY) >= 575) - rank++; - if(PP.getSkillLevel(SkillType.ARCHERY) >= 725) - rank++; - if(PP.getSkillLevel(SkillType.ARCHERY) >= 1000) - rank++; - float skillvalue = (float)PP.getSkillLevel(SkillType.ARCHERY); - String percentage = String.valueOf((skillvalue / 1000) * 100); - - int ignition = 20; - if(PP.getSkillLevel(SkillType.ARCHERY) >= 200) - ignition+=20; - if(PP.getSkillLevel(SkillType.ARCHERY) >= 400) - ignition+=20; - if(PP.getSkillLevel(SkillType.ARCHERY) >= 600) - ignition+=20; - if(PP.getSkillLevel(SkillType.ARCHERY) >= 800) - ignition+=20; - if(PP.getSkillLevel(SkillType.ARCHERY) >= 1000) - ignition+=20; - - String percentagedaze; - if(PP.getSkillLevel(SkillType.ARCHERY) < 1000){ - percentagedaze = String.valueOf((skillvalue / 2000) * 100); - } else { - percentagedaze = "50"; - } - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillArchery")})); - player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainArchery")})); - if(mcPermissions.getInstance().archery(player)) - player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.ARCHERY), PP.getSkillXpLevel(SkillType.ARCHERY), PP.getXpToLevel(SkillType.ARCHERY)})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsArchery1_0"), mcLocale.getString("m.EffectsArchery1_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsArchery2_0"), mcLocale.getString("m.EffectsArchery2_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsArchery3_0"), mcLocale.getString("m.EffectsArchery3_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsArchery4_0"), mcLocale.getString("m.EffectsArchery4_1")})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); - player.sendMessage(mcLocale.getString("m.ArcheryDazeChance", new Object[] {percentagedaze})); - player.sendMessage(mcLocale.getString("m.ArcheryRetrieveChance", new Object[] {percentage})); - player.sendMessage(mcLocale.getString("m.ArcheryIgnitionLength", new Object[] {(ignition / 20)})); - player.sendMessage(mcLocale.getString("m.ArcheryDamagePlus", new Object[] {rank})); - } - else if(label.equalsIgnoreCase("axes") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillAxes"))){ - String percentage; - float skillvalue = (float)PP.getSkillLevel(SkillType.AXES); - if(PP.getSkillLevel(SkillType.AXES) < 750){ - percentage = String.valueOf((skillvalue / 1000) * 100); - } else { - percentage = "75"; - } - int ticks = 2; - int x = PP.getSkillLevel(SkillType.AXES); - while(x >= 50){ - x-=50; - ticks++; - } - - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillAxes")})); - player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainAxes")})); - if(mcPermissions.getInstance().axes(player)) - player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.AXES), PP.getSkillXpLevel(SkillType.AXES), PP.getXpToLevel(SkillType.AXES)})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsAxes1_0"), mcLocale.getString("m.EffectsAxes1_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsAxes2_0"), mcLocale.getString("m.EffectsAxes2_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsAxes3_0"), mcLocale.getString("m.EffectsAxes3_1")})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); - player.sendMessage(mcLocale.getString("m.AxesCritChance", new Object[] {percentage})); - if(PP.getSkillLevel(SkillType.AXES) < 500){ - player.sendMessage(mcLocale.getString("m.AbilityLockTemplate", new Object[] {mcLocale.getString("m.AbilLockAxes1")})); - } else { - player.sendMessage(mcLocale.getString("m.AbilityBonusTemplate", new Object[] {mcLocale.getString("m.AbilBonusAxes1_0"), mcLocale.getString("m.AbilBonusAxes1_1")})); - } - player.sendMessage(mcLocale.getString("m.AxesSkullLength", new Object[] {ticks})); - } - else if(label.equalsIgnoreCase("swords") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillSwords").toLowerCase())){ - int bleedrank = 2; - String percentage, parrypercentage = null, counterattackpercentage; - float skillvalue = (float)PP.getSkillLevel(SkillType.SWORDS); - if(PP.getSkillLevel(SkillType.SWORDS) < 750){ - percentage = String.valueOf((skillvalue / 1000) * 100); - } else { - percentage = "75"; - } - if(skillvalue >= 750) - bleedrank+=1; - - if(PP.getSkillLevel(SkillType.SWORDS) <= 900){ - parrypercentage = String.valueOf((skillvalue / 3000) * 100); - } else { - parrypercentage = "30"; - } - - if(PP.getSkillLevel(SkillType.SWORDS) <= 600){ - counterattackpercentage = String.valueOf((skillvalue / 2000) * 100); - } else { - counterattackpercentage = "30"; - } - - int ticks = 2; - int x = PP.getSkillLevel(SkillType.SWORDS); - while(x >= 50){ - x-=50; - ticks++; - } - - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillSwords")})); - player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainSwords")})); - if(mcPermissions.getInstance().swords(player)) - player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.SWORDS), PP.getSkillXpLevel(SkillType.SWORDS), PP.getXpToLevel(SkillType.SWORDS)})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsSwords1_0"), mcLocale.getString("m.EffectsSwords1_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsSwords2_0"), mcLocale.getString("m.EffectsSwords2_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsSwords3_0"), mcLocale.getString("m.EffectsSwords3_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsSwords4_0"), mcLocale.getString("m.EffectsSwords4_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsSwords5_0"), mcLocale.getString("m.EffectsSwords5_1")})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); - player.sendMessage(mcLocale.getString("m.SwordsCounterAttChance", new Object[] {counterattackpercentage})); - player.sendMessage(mcLocale.getString("m.SwordsBleedLength", new Object[] {bleedrank})); - player.sendMessage(mcLocale.getString("m.SwordsTickNote")); - player.sendMessage(mcLocale.getString("m.SwordsBleedLength", new Object[] {percentage})); - player.sendMessage(mcLocale.getString("m.SwordsParryChance", new Object[] {parrypercentage})); - player.sendMessage(mcLocale.getString("m.SwordsSSLength", new Object[] {ticks})); - - } - else if(label.equalsIgnoreCase("acrobatics") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillAcrobatics").toLowerCase())){ - String dodgepercentage; - float skillvalue = (float)PP.getSkillLevel(SkillType.ACROBATICS); - String percentage = String.valueOf((skillvalue / 1000) * 100); - String gracepercentage = String.valueOf(((skillvalue / 1000) * 100) * 2); - if(PP.getSkillLevel(SkillType.ACROBATICS) <= 800){ - dodgepercentage = String.valueOf((skillvalue / 4000 * 100)); - } else { - dodgepercentage = "20"; - } - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillAcrobatics")})); - player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainAcrobatics")})); - if(mcPermissions.getInstance().acrobatics(player)) - player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.ACROBATICS), PP.getSkillXpLevel(SkillType.ACROBATICS), PP.getXpToLevel(SkillType.ACROBATICS)})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsAcrobatics1_0"), mcLocale.getString("m.EffectsAcrobatics1_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsAcrobatics2_0"), mcLocale.getString("m.EffectsAcrobatics2_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsAcrobatics3_0"), mcLocale.getString("m.EffectsAcrobatics3_1")})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); - player.sendMessage(mcLocale.getString("m.AcrobaticsRollChance", new Object[] {percentage})); - player.sendMessage(mcLocale.getString("m.AcrobaticsGracefulRollChance", new Object[] {gracepercentage})); - player.sendMessage(mcLocale.getString("m.AcrobaticsDodgeChance", new Object[] {dodgepercentage})); - } - else if(label.equalsIgnoreCase("mining") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillMining"))){ - float skillvalue = (float)PP.getSkillLevel(SkillType.MINING); - String percentage = String.valueOf((skillvalue / 1000) * 100); - int ticks = 2; - int x = PP.getSkillLevel(SkillType.MINING); - while(x >= 50){ - x-=50; - ticks++; - } - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillMining")})); - player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainMining")})); - if(mcPermissions.getInstance().mining(player)) - player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.MINING), PP.getSkillXpLevel(SkillType.MINING), PP.getXpToLevel(SkillType.MINING)})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsMining1_0"), mcLocale.getString("m.EffectsMining1_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsMining2_0"), mcLocale.getString("m.EffectsMining2_1")})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); - player.sendMessage(mcLocale.getString("m.MiningDoubleDropChance", new Object[] {percentage})); - player.sendMessage(mcLocale.getString("m.MiningSuperBreakerLength", new Object[] {ticks})); - } - else if(label.equalsIgnoreCase("repair") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillRepair").toLowerCase())){ - float skillvalue = (float)PP.getSkillLevel(SkillType.REPAIR); - String percentage = String.valueOf((skillvalue / 1000) * 100); - String repairmastery = String.valueOf((skillvalue / 500) * 100); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillRepair")})); - player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainRepair")})); - if(mcPermissions.getInstance().repair(player)) - player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.REPAIR), PP.getSkillXpLevel(SkillType.REPAIR), PP.getXpToLevel(SkillType.REPAIR)})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsRepair1_0"), mcLocale.getString("m.EffectsRepair1_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsRepair2_0"), mcLocale.getString("m.EffectsRepair2_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsRepair3_0"), mcLocale.getString("m.EffectsRepair3_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsRepair4_0", new Object[]{LoadProperties.repairdiamondlevel}), mcLocale.getString("m.EffectsRepair4_1")})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); - player.sendMessage(mcLocale.getString("m.RepairRepairMastery", new Object[] {repairmastery})); - player.sendMessage(mcLocale.getString("m.RepairSuperRepairChance", new Object[] {percentage})); - } - else if(label.equalsIgnoreCase("unarmed")){ - String percentage, arrowpercentage; - float skillvalue = (float)PP.getSkillLevel(SkillType.UNARMED); - - if(PP.getSkillLevel(SkillType.UNARMED) < 1000){ - percentage = String.valueOf((skillvalue / 4000) * 100); - } else { - percentage = "25"; - } - - if(PP.getSkillLevel(SkillType.UNARMED) < 1000){ - arrowpercentage = String.valueOf(((skillvalue / 1000) * 100) / 2); - } else { - arrowpercentage = "50"; - } - - - int ticks = 2; - int x = PP.getSkillLevel(SkillType.UNARMED); - while(x >= 50){ - x-=50; - ticks++; - } - - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillUnarmed")})); - player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainUnarmed")})); - if(mcPermissions.getInstance().unarmed(player)) - player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.UNARMED), PP.getSkillXpLevel(SkillType.UNARMED), PP.getXpToLevel(SkillType.UNARMED)})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsUnarmed1_0"), mcLocale.getString("m.EffectsUnarmed1_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsUnarmed2_0"), mcLocale.getString("m.EffectsUnarmed2_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsUnarmed3_0"), mcLocale.getString("m.EffectsUnarmed3_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsUnarmed4_0"), mcLocale.getString("m.EffectsUnarmed4_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsUnarmed5_0"), mcLocale.getString("m.EffectsUnarmed5_1")})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); - player.sendMessage(mcLocale.getString("m.UnarmedArrowDeflectChance", new Object[] {arrowpercentage})); - player.sendMessage(mcLocale.getString("m.UnarmedDisarmChance", new Object[] {percentage})); - if(PP.getSkillLevel(SkillType.UNARMED) < 250){ - player.sendMessage(mcLocale.getString("m.AbilityLockTemplate", new Object[] {mcLocale.getString("m.AbilLockUnarmed1")})); - } else if(PP.getSkillLevel(SkillType.UNARMED) >= 250 && PP.getSkillLevel(SkillType.UNARMED) < 500){ - player.sendMessage(mcLocale.getString("m.AbilityBonusTemplate", new Object[] {mcLocale.getString("m.AbilBonusUnarmed1_0"), mcLocale.getString("m.AbilBonusUnarmed1_1")})); - player.sendMessage(mcLocale.getString("m.AbilityLockTemplate", new Object[] {mcLocale.getString("m.AbilLockUnarmed2")})); - } else { - player.sendMessage(mcLocale.getString("m.AbilityBonusTemplate", new Object[] {mcLocale.getString("m.AbilBonusUnarmed2_0"), mcLocale.getString("m.AbilBonusUnarmed2_1")})); - } - player.sendMessage(mcLocale.getString("m.UnarmedBerserkLength", new Object[] {ticks})); - } - else if(label.equalsIgnoreCase("herbalism") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillHerbalism").toLowerCase())){ - int rank = 0; - if(PP.getSkillLevel(SkillType.HERBALISM) >= 50) - rank++; - if (PP.getSkillLevel(SkillType.HERBALISM) >= 150) - rank++; - if (PP.getSkillLevel(SkillType.HERBALISM) >= 250) - rank++; - if (PP.getSkillLevel(SkillType.HERBALISM) >= 350) - rank++; - if (PP.getSkillLevel(SkillType.HERBALISM) >= 450) - rank++; - if (PP.getSkillLevel(SkillType.HERBALISM) >= 550) - rank++; - if (PP.getSkillLevel(SkillType.HERBALISM) >= 650) - rank++; - if (PP.getSkillLevel(SkillType.HERBALISM) >= 750) - rank++; - int bonus = 0; - if(PP.getSkillLevel(SkillType.HERBALISM) >= 200) - bonus++; - if(PP.getSkillLevel(SkillType.HERBALISM) >= 400) - bonus++; - if(PP.getSkillLevel(SkillType.HERBALISM) >= 600) - bonus++; - - int ticks = 2; - int x = PP.getSkillLevel(SkillType.HERBALISM); - while(x >= 50){ - x-=50; - ticks++; - } - - float skillvalue = (float)PP.getSkillLevel(SkillType.HERBALISM); - String percentage = String.valueOf((skillvalue / 1000) * 100); - String gpercentage = String.valueOf((skillvalue / 1500) * 100); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillHerbalism")})); - player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainHerbalism")})); - if(mcPermissions.getInstance().herbalism(player)) - player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.HERBALISM), PP.getSkillXpLevel(SkillType.HERBALISM), PP.getXpToLevel(SkillType.HERBALISM)})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsHerbalism1_0"), mcLocale.getString("m.EffectsHerbalism1_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsHerbalism2_0"), mcLocale.getString("m.EffectsHerbalism2_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsHerbalism3_0"), mcLocale.getString("m.EffectsHerbalism3_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsHerbalism4_0"), mcLocale.getString("m.EffectsHerbalism4_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsHerbalism5_0"), mcLocale.getString("m.EffectsHerbalism5_1")})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); - player.sendMessage(mcLocale.getString("m.HerbalismGreenTerraLength", new Object[] {ticks})); - player.sendMessage(mcLocale.getString("m.HerbalismGreenThumbChance", new Object[] {gpercentage})); - player.sendMessage(mcLocale.getString("m.HerbalismGreenThumbStage", new Object[] {bonus})); - player.sendMessage(mcLocale.getString("m.HerbalismDoubleDropChance", new Object[] {percentage})); - player.sendMessage(mcLocale.getString("m.HerbalismFoodPlus", new Object[] {rank})); - } - - else if(label.equalsIgnoreCase("excavation") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillExcavation").toLowerCase())) - { - int ticks = 2; - int x = PP.getSkillLevel(SkillType.EXCAVATION); - while(x >= 50){ - x-=50; - ticks++; - } - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillExcavation")})); - player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainExcavation")})); - if(mcPermissions.getInstance().excavation(player)) - player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.EXCAVATION), PP.getSkillXpLevel(SkillType.EXCAVATION), PP.getXpToLevel(SkillType.EXCAVATION)})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsExcavation1_0"), mcLocale.getString("m.EffectsExcavation1_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsExcavation2_0"), mcLocale.getString("m.EffectsExcavation2_1")})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); - player.sendMessage(mcLocale.getString("m.ExcavationGreenTerraLength", new Object[] {ticks})); - } - - else if(label.equalsIgnoreCase("sorcery") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillSorcery").toLowerCase())) - { - /* - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillExcavation")})); - player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainExcavation")})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsExcavation1_0"), mcLocale.getString("m.EffectsExcavation1_1")})); - player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsExcavation2_0"), mcLocale.getString("m.EffectsExcavation2_1")})); - player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); - player.sendMessage(mcLocale.getString("m.ExcavationGreenTerraLength", new Object[] {ticks})); - */ - } - - else if(LoadProperties.mcmmoEnable && label.equalsIgnoreCase(LoadProperties.mcmmo)) - { - player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"mcMMO"+ChatColor.RED+"[]-----"); - String description = mcLocale.getString("mcMMO.Description", new Object[] {LoadProperties.mcc}); - String[] mcSplit = description.split(","); - - for(String x : mcSplit) - { - player.sendMessage(x); - } - if(LoadProperties.spoutEnabled && player instanceof SpoutPlayer) - { - SpoutPlayer sPlayer = (SpoutPlayer)player; - if(LoadProperties.donateMessage) - sPlayer.sendNotification("[mcMMO] Donate!", "Paypal nossr50@gmail.com", Material.CAKE); - } - else - { - if(LoadProperties.donateMessage) - player.sendMessage(ChatColor.GREEN+"If you like my work you can donate via Paypal: nossr50@gmail.com"); - } - } - else if(LoadProperties.mccEnable && label.equalsIgnoreCase(LoadProperties.mcc)) - { - player.sendMessage(ChatColor.RED+"---[]"+ChatColor.YELLOW+"mcMMO Commands"+ChatColor.RED+"[]---"); - if(mcPermissions.getInstance().party(player)){ - player.sendMessage(mcLocale.getString("m.mccPartyCommands")); - player.sendMessage(LoadProperties.party+" "+mcLocale.getString("m.mccParty")); - player.sendMessage(LoadProperties.party+" q "+mcLocale.getString("m.mccPartyQ")); - if(mcPermissions.getInstance().partyChat(player)) - player.sendMessage("/p "+mcLocale.getString("m.mccPartyToggle")); - player.sendMessage(LoadProperties.invite+" "+mcLocale.getString("m.mccPartyInvite")); - player.sendMessage(LoadProperties.accept+" "+mcLocale.getString("m.mccPartyAccept")); - if(mcPermissions.getInstance().partyTeleport(player)) - player.sendMessage(LoadProperties.ptp+" "+mcLocale.getString("m.mccPartyTeleport")); - } - player.sendMessage(mcLocale.getString("m.mccOtherCommands")); - player.sendMessage(LoadProperties.stats+ChatColor.RED+" "+mcLocale.getString("m.mccStats")); - player.sendMessage("/mctop "+ChatColor.RED+mcLocale.getString("m.mccLeaderboards")); - if(mcPermissions.getInstance().mySpawn(player)){ - player.sendMessage(LoadProperties.myspawn+" "+ChatColor.RED+mcLocale.getString("m.mccMySpawn")); - player.sendMessage(LoadProperties.clearmyspawn+" "+ChatColor.RED+mcLocale.getString("m.mccClearMySpawn")); - } - if(mcPermissions.getInstance().mcAbility(player)) - player.sendMessage(LoadProperties.mcability+ChatColor.RED+" "+mcLocale.getString("m.mccToggleAbility")); - if(mcPermissions.getInstance().adminChat(player)){ - player.sendMessage("/a "+ChatColor.RED+mcLocale.getString("m.mccAdminToggle")); - } - if(mcPermissions.getInstance().whois(player)) - player.sendMessage(LoadProperties.whois+" "+mcLocale.getString("m.mccWhois")); - if(mcPermissions.getInstance().mmoedit(player)){ - //player.sendMessage(LoadProperties.mmoedit+" [skill] [newvalue] "+ChatColor.RED+"Modify the designated skill value"); - player.sendMessage(LoadProperties.mmoedit+mcLocale.getString("m.mccMmoedit")); - } - if(mcPermissions.getInstance().mcgod(player)) - player.sendMessage(LoadProperties.mcgod+ChatColor.RED+" "+mcLocale.getString("m.mccMcGod")); - player.sendMessage(mcLocale.getString("m.mccSkillInfo")); - player.sendMessage(LoadProperties.mcmmo+" "+mcLocale.getString("m.mccModDescription")); - } - else if(LoadProperties.mcabilityEnable && mcPermissions.permissionsEnabled && label.equalsIgnoreCase(LoadProperties.mcability)){ - if(PP.getAbilityUse()){ - player.sendMessage(mcLocale.getString("mcPlayerListener.AbilitiesOff")); - PP.toggleAbilityUse(); - } else { - player.sendMessage(mcLocale.getString("mcPlayerListener.AbilitiesOn")); - PP.toggleAbilityUse(); - } - } - else if (LoadProperties.xprateEnable && label.equalsIgnoreCase(LoadProperties.xprate)) - { - if(sender instanceof Player) - { - if(!mcPermissions.getInstance().admin(player)) - { - player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); - return true; - } - if(split.length <= 1) - { - player.sendMessage(mcLocale.getString("Commands.xprate.proper", new Object[] {LoadProperties.xprate})); - player.sendMessage(mcLocale.getString("Commands.xprate.proper2", new Object[] {LoadProperties.xprate})); - } - if(split.length == 2 && split[1].equalsIgnoreCase("reset")) - { - if(xpevent) - { - for(Player x : Bukkit.getServer().getOnlinePlayers()) - x.sendMessage(mcLocale.getString("Commands.xprate.over")); - xpevent = !xpevent; - LoadProperties.xpGainMultiplier = oldrate; - } else - { - LoadProperties.xpGainMultiplier = oldrate; - } - } - if(split.length >= 2 && m.isInt(split[1])) - { - oldrate = LoadProperties.xpGainMultiplier; - - if(split.length >= 3 && (split[2].equalsIgnoreCase("true") || split[2].equalsIgnoreCase("false"))) - { - if(split[2].equalsIgnoreCase("true")) - xpevent = true; - else - xpevent = false; - } else - { - player.sendMessage(mcLocale.getString("Commands.xprate.proper3")); - return true; - } - LoadProperties.xpGainMultiplier = m.getInt(split[1]); - if(xpevent = true) - for(Player x : Bukkit.getServer().getOnlinePlayers()) - { - x.sendMessage(mcLocale.getString("Commands.xprate.started")); - x.sendMessage(mcLocale.getString("Commands.xprate.started2", new Object[] {LoadProperties.xpGainMultiplier})); - } - } - } else - { - if(split.length <= 1) - { - System.out.println(mcLocale.getString("Commands.xprate.proper", new Object[] {LoadProperties.xprate})); - System.out.println(mcLocale.getString("Commands.xprate.proper2", new Object[] {LoadProperties.xprate})); - } - - if(split.length == 2 && split[1].equalsIgnoreCase("reset")) - { - if(xpevent) - { - for(Player x : Bukkit.getServer().getOnlinePlayers()) - x.sendMessage(mcLocale.getString("Commands.xprate.over")); - xpevent = !xpevent; - LoadProperties.xpGainMultiplier = oldrate; - } else - { - LoadProperties.xpGainMultiplier = oldrate; - } - } - - if(split.length >= 2 && m.isInt(split[1])) - { - oldrate = LoadProperties.xpGainMultiplier; - - if(split.length >= 3 && (split[2].equalsIgnoreCase("true") || split[2].equalsIgnoreCase("false"))) - { - if(split[2].equalsIgnoreCase("true")) - xpevent = true; - else - xpevent = false; - } else - { - System.out.println(mcLocale.getString("Commands.xprate.proper3")); - return true; - } - LoadProperties.xpGainMultiplier = m.getInt(split[1]); - if(xpevent = true) - for(Player x : Bukkit.getServer().getOnlinePlayers()) - { - x.sendMessage(ChatColor.GOLD+"XP EVENT FOR mcMMO HAS STARTED!"); - x.sendMessage(ChatColor.GOLD+"mcMMO XP RATE IS NOW "+LoadProperties.xpGainMultiplier+"x!!"); - } - } - } - } - /* - * FFS -> MySQL - */ - else if(label.equalsIgnoreCase("mmoupdate")) - { - if(!mcPermissions.getInstance().admin(player)) - { - player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); - return true; - } - player.sendMessage(ChatColor.GRAY+"Starting conversion..."); - Users.clearUsers(); - m.convertToMySQL(); - for(Player x : Bukkit.getServer().getOnlinePlayers()) - { - Users.addUser(x); - } - player.sendMessage(ChatColor.GREEN+"Conversion finished!"); - } - - /* - * LEADER BOARD COMMAND - */ - else if(LoadProperties.mctopEnable && label.equalsIgnoreCase(LoadProperties.mctop)){ - - if(LoadProperties.useMySQL == false){ - /* - * POWER LEVEL INFO RETRIEVAL - */ - if(split.length == 1){ - int p = 1; - String[] info = Leaderboard.retrieveInfo(SkillType.ALL.toString(), p); - player.sendMessage(mcLocale.getString("mcPlayerListener.PowerLevelLeaderboard")); - int n = 1 * p; //Position - for(String x : info){ - if(x != null){ - String digit = String.valueOf(n); - if(n < 10) - digit ="0"+String.valueOf(n); - String[] splitx = x.split(":"); - //Format: 1. Playername - skill value - player.sendMessage(digit+". "+ChatColor.GREEN+splitx[1]+" - "+ChatColor.WHITE+splitx[0]); - n++; - } - } - } - if(split.length >= 2 && m.isInt(split[1])){ - int p = 1; - //Grab page value if specified - if(split.length >= 2){ - if(m.isInt(split[1])){ - p = Integer.valueOf(split[1]); - } - } - int pt = p; - if(p > 1){ - pt -= 1; - pt += (pt * 10); - pt = 10; - } - String[] info = Leaderboard.retrieveInfo(SkillType.ALL.toString(), p); - player.sendMessage(mcLocale.getString("mcPlayerListener.PowerLevelLeaderboard")); - int n = 1 * pt; //Position - for(String x : info){ - if(x != null){ - String digit = String.valueOf(n); - if(n < 10) - digit ="0"+String.valueOf(n); - String[] splitx = x.split(":"); - //Format: 1. Playername - skill value - player.sendMessage(digit+". "+ChatColor.GREEN+splitx[1]+" - "+ChatColor.WHITE+splitx[0]); - n++; - } - } - } - /* - * SKILL SPECIFIED INFO RETRIEVAL - */ - if(split.length >= 2 && Skills.isSkill(split[1])) - { - int p = 1; - //Grab page value if specified - if(split.length >= 3) - { - if(m.isInt(split[2])){ - p = Integer.valueOf(split[2]); - } - } - int pt = p; - if(p > 1){ - pt -= 1; - pt += (pt * 10); - pt = 10; - } - String firstLetter = split[1].substring(0,1); // Get first letter - String remainder = split[1].substring(1); // Get remainder of word. - String capitalized = firstLetter.toUpperCase() + remainder.toLowerCase(); - - String[] info = Leaderboard.retrieveInfo(split[1].toUpperCase(), p); - player.sendMessage(mcLocale.getString("mcPlayerListener.SkillLeaderboard", new Object[] {capitalized})); - int n = 1 * pt; //Position - for(String x : info) - { - if(x != null) - { - String digit = String.valueOf(n); - if(n < 10) - digit ="0"+String.valueOf(n); - String[] splitx = x.split(":"); - //Format: 1. Playername - skill value - player.sendMessage(digit+". "+ChatColor.GREEN+splitx[1]+" - "+ChatColor.WHITE+splitx[0]); - n++; - } - } - } - } else { - /* - * MYSQL LEADERBOARDS - */ - String powerlevel = "taming+mining+woodcutting+repair+unarmed+herbalism+excavation+archery+swords+axes+acrobatics"; - if(split.length >= 2 && Skills.isSkill(split[1])){ - /* - * Create a nice consistent capitalized leaderboard name - */ - String lowercase = split[1].toLowerCase(); //For the query - String firstLetter = split[1].substring(0,1); //Get first letter - String remainder = split[1].substring(1); //Get remainder of word. - String capitalized = firstLetter.toUpperCase() + remainder.toLowerCase(); - - player.sendMessage(mcLocale.getString("mcPlayerListener.SkillLeaderboard", new Object[] {capitalized})); - if(split.length >= 3 && m.isInt(split[2])){ - int n = 1; //For the page number - int n2 = Integer.valueOf(split[2]); - if(n2 > 1){ - //Figure out the 'page' here - n = 10; - n = n * (n2-1); - } - //If a page number is specified - HashMap> userslist = mcMMO.database.Read("SELECT "+lowercase+", user_id FROM " - +LoadProperties.MySQLtablePrefix+"skills WHERE "+lowercase+" > 0 ORDER BY `"+LoadProperties.MySQLtablePrefix+"skills`.`"+lowercase+"` DESC "); - - for(int i=n;i<=n+10;i++){ - if (i > userslist.size() || mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'") == null) - break; - HashMap> username = mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'"); - player.sendMessage(String.valueOf(i)+". "+ChatColor.GREEN+userslist.get(i).get(0)+" - "+ChatColor.WHITE+username.get(1).get(0)); - } - return true; - } - //If no page number is specified - HashMap> userslist = mcMMO.database.Read("SELECT "+lowercase+", user_id FROM " - +LoadProperties.MySQLtablePrefix+"skills WHERE "+lowercase+" > 0 ORDER BY `"+LoadProperties.MySQLtablePrefix+"skills`.`"+lowercase+"` DESC "); - for(int i=1;i<=10;i++){ //i<=userslist.size() - if (i > userslist.size() || mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'") == null) - break; - HashMap> username = mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'"); - player.sendMessage(String.valueOf(i)+". "+ChatColor.GREEN+userslist.get(i).get(0)+" - "+ChatColor.WHITE+username.get(1).get(0)); - } - return true; - } - if(split.length >= 1){ - player.sendMessage(mcLocale.getString("mcPlayerListener.PowerLevelLeaderboard")); - if(split.length >= 2 && m.isInt(split[1])){ - int n = 1; //For the page number - int n2 = Integer.valueOf(split[1]); - if(n2 > 1){ - //Figure out the 'page' here - n = 10; - n = n * (n2-1); - } - //If a page number is specified - HashMap> userslist = mcMMO.database.Read("SELECT "+powerlevel+", user_id FROM " - +LoadProperties.MySQLtablePrefix+"skills WHERE "+powerlevel+" > 0 ORDER BY taming+mining+woodcutting+repair+unarmed+herbalism+excavation+archery+swords+axes+acrobatics DESC "); - for(int i=n;i<=n+10;i++){ - if (i > userslist.size() || mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'") == null) - break; - HashMap> username = mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'"); - player.sendMessage(String.valueOf(i)+". "+ChatColor.GREEN+userslist.get(i).get(0)+" - "+ChatColor.WHITE+username.get(1).get(0)); - } - return true; - } - HashMap> userslist = mcMMO.database.Read("SELECT taming+mining+woodcutting+repair+unarmed+herbalism+excavation+archery+swords+axes+acrobatics, user_id FROM " - +LoadProperties.MySQLtablePrefix+"skills WHERE "+powerlevel+" > 0 ORDER BY taming+mining+woodcutting+repair+unarmed+herbalism+excavation+archery+swords+axes+acrobatics DESC "); - for(int i=1;i<=10;i++){ - if (i > userslist.size() || mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'") == null) - break; - HashMap> username = mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'"); - player.sendMessage(String.valueOf(i)+". "+ChatColor.GREEN+userslist.get(i).get(0)+" - "+ChatColor.WHITE+username.get(1).get(0)); - //System.out.println(username.get(1).get(0)); - //System.out.println("Mining : " + userslist.get(i).get(0) + ", User id : " + userslist.get(i).get(1)); - } - } - } - } - - else if(LoadProperties.mcrefreshEnable && label.equalsIgnoreCase(LoadProperties.mcrefresh)){ - - if(!mcPermissions.getInstance().mcrefresh(player)){ - player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); - return true; - } - if(split.length >= 2 && isPlayer(split[1])){ - player.sendMessage("You have refreshed "+split[1]+"'s cooldowns!"); - player = getPlayer(split[1]); - } - /* - * PREP MODES - */ - PP = Users.getProfile(player); - PP.setRecentlyHurt((long) 0); - PP.setHoePreparationMode(false); - PP.setAxePreparationMode(false); - PP.setFistsPreparationMode(false); - PP.setSwordsPreparationMode(false); - PP.setPickaxePreparationMode(false); - /* - * GREEN TERRA - */ - PP.setGreenTerraMode(false); - PP.setGreenTerraDeactivatedTimeStamp((long) 0); - - /* - * GIGA DRILL BREAKER - */ - PP.setGigaDrillBreakerMode(false); - PP.setGigaDrillBreakerDeactivatedTimeStamp((long) 0); - /* - * SERRATED STRIKE - */ - PP.setSerratedStrikesMode(false); - PP.setSerratedStrikesDeactivatedTimeStamp((long) 0); - /* - * SUPER BREAKER - */ - PP.setSuperBreakerMode(false); - PP.setSuperBreakerDeactivatedTimeStamp((long) 0); - /* - * TREE FELLER - */ - PP.setTreeFellerMode(false); - PP.setTreeFellerDeactivatedTimeStamp((long) 0); - /* - * BERSERK - */ - PP.setBerserkMode(false); - PP.setBerserkDeactivatedTimeStamp((long)0); - - player.sendMessage(mcLocale.getString("mcPlayerListener.AbilitiesRefreshed")); - } - /* - * GODMODE COMMAND - */ - else if(LoadProperties.mcgodEnable && label.equalsIgnoreCase(LoadProperties.mcgod)) - { - if(mcPermissions.permissionsEnabled) - { - if(!mcPermissions.getInstance().mcgod(player)) - { - player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); - return true; - } - if(PP.getGodMode()) - { - player.sendMessage(mcLocale.getString("mcPlayerListener.GodModeDisabled")); - PP.toggleGodMode(); - } else - { - player.sendMessage(mcLocale.getString("mcPlayerListener.GodModeEnabled")); - PP.toggleGodMode(); - } - } - } - else if(LoadProperties.clearmyspawnEnable && LoadProperties.enableMySpawn && label.equalsIgnoreCase(LoadProperties.clearmyspawn) && mcPermissions.getInstance().mySpawn(player)) - { - double x = Bukkit.getServer().getWorlds().get(0).getSpawnLocation().getX(); - double y = Bukkit.getServer().getWorlds().get(0).getSpawnLocation().getY(); - double z = Bukkit.getServer().getWorlds().get(0).getSpawnLocation().getZ(); - String worldname = Bukkit.getServer().getWorlds().get(0).getName(); - PP.setMySpawn(x, y, z, worldname); - player.sendMessage(mcLocale.getString("mcPlayerListener.MyspawnCleared")); - } - else if(LoadProperties.mmoeditEnable && mcPermissions.permissionsEnabled && label.equalsIgnoreCase(""+LoadProperties.mmoedit)) - { - - if(!mcPermissions.getInstance().mmoedit(player)) - { - player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); - return true; - } - if(split.length < 3) - { - player.sendMessage(ChatColor.RED+"Usage is /"+LoadProperties.mmoedit+" playername skillname newvalue"); - return true; - } - if(split.length == 4) - { - if(isPlayer(split[1]) && m.isInt(split[3]) && Skills.isSkill(split[2])) - { - int newvalue = Integer.valueOf(split[3]); - Users.getProfile(getPlayer(split[1])).modifyskill(Skills.getSkillType(split[2]), newvalue); - player.sendMessage(ChatColor.RED+split[2]+" has been modified."); - } - } - else if(split.length == 3) - { - if(m.isInt(split[2]) && Skills.isSkill(split[1])) - { - int newvalue = Integer.valueOf(split[2]); - PP.modifyskill(Skills.getSkillType(split[1]), newvalue); - player.sendMessage(ChatColor.RED+split[1]+" has been modified."); - } - } else - { - player.sendMessage(ChatColor.RED+"Usage is /"+LoadProperties.mmoedit+" playername skillname newvalue"); - } - } - /* - * ADD EXPERIENCE COMMAND - */ - else if(LoadProperties.addxpEnable && mcPermissions.permissionsEnabled && label.equalsIgnoreCase(LoadProperties.addxp)){ - - if(!mcPermissions.getInstance().mmoedit(player)){ - player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); - return true; - } - if(split.length < 3){ - player.sendMessage(ChatColor.RED+"Usage is /"+LoadProperties.addxp+" playername skillname xp"); - return true; - } - if(split.length == 4){ - if(isPlayer(split[1]) && m.isInt(split[3]) && Skills.isSkill(split[2])) - { - int newvalue = Integer.valueOf(split[3]); - Users.getProfile(getPlayer(split[1])).addXP(Skills.getSkillType(split[2]), newvalue); - getPlayer(split[1]).sendMessage(ChatColor.GREEN+"Experience granted!"); - player.sendMessage(ChatColor.RED+split[2]+" has been modified."); - Skills.XpCheckAll(getPlayer(split[1])); - } - } - else if(split.length == 3 && m.isInt(split[2]) && Skills.isSkill(split[1])) - { - int newvalue = Integer.valueOf(split[2]); - Users.getProfile(player).addXP(Skills.getSkillType(split[1]), newvalue); - player.sendMessage(ChatColor.RED+split[1]+" has been modified."); - } else { - player.sendMessage(ChatColor.RED+"Usage is /"+LoadProperties.addxp+" playername skillname xp"); - } - } - else if(LoadProperties.ptpEnable && label.equalsIgnoreCase(LoadProperties.ptp) && PP.inParty()) - { - if(!mcPermissions.getInstance().partyTeleport(player)) - { - player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); - return true; - } - if(split.length < 2) - { - player.sendMessage(ChatColor.RED+"Usage is /"+LoadProperties.ptp+" "); - return true; - } - if(!isPlayer(split[1])) - { - player.sendMessage("That is not a valid player"); - } - if(isPlayer(split[1])) - { - Player target = getPlayer(split[1]); - PlayerProfile PPt = Users.getProfile(target); - if(PP.getParty().equals(PPt.getParty())) - { - player.teleport(target); - player.sendMessage(ChatColor.GREEN+"You have teleported to "+target.getName()); - target.sendMessage(ChatColor.GREEN+player.getName() + " has teleported to you."); - } - } - } - /* - * WHOIS COMMAND - */ - else if(LoadProperties.whoisEnable && label.equalsIgnoreCase(LoadProperties.whois) && mcPermissions.getInstance().whois(player)){ - if(split.length < 2){ - player.sendMessage(ChatColor.RED + "Proper usage is /"+LoadProperties.whois+" "); - return true; - } - //if split[1] is a player - if(isPlayer(split[1])) - { - Player target = getPlayer(split[1]); - PlayerProfile PPt = Users.getProfile(target); - - player.sendMessage(ChatColor.GREEN + "~~WHOIS RESULTS~~"); - player.sendMessage(target.getName()); - if(PPt.inParty()) - player.sendMessage("Party: "+PPt.getParty()); - player.sendMessage("Health: "+target.getHealth()+ChatColor.GRAY+" (20 is full health)"); - player.sendMessage("OP: " + target.isOp()); - player.sendMessage(ChatColor.GREEN+"mcMMO Stats for "+ChatColor.YELLOW+target.getName()); - - player.sendMessage(ChatColor.GOLD+"-=GATHERING SKILLS=-"); - if(mcPermissions.getInstance().excavation(target)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.ExcavationSkill"), PPt.getSkillLevel(SkillType.EXCAVATION), PPt.getSkillXpLevel(SkillType.EXCAVATION), PPt.getXpToLevel(SkillType.EXCAVATION))); - if(mcPermissions.getInstance().herbalism(target)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.HerbalismSkill"), PPt.getSkillLevel(SkillType.HERBALISM), PPt.getSkillXpLevel(SkillType.HERBALISM), PPt.getXpToLevel(SkillType.HERBALISM))); - if(mcPermissions.getInstance().mining(target)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.MiningSkill"), PPt.getSkillLevel(SkillType.MINING), PPt.getSkillXpLevel(SkillType.MINING), PPt.getXpToLevel(SkillType.MINING))); - if(mcPermissions.getInstance().woodcutting(target)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.WoodcuttingSkill"), PPt.getSkillLevel(SkillType.WOODCUTTING), PPt.getSkillXpLevel(SkillType.WOODCUTTING), PPt.getXpToLevel(SkillType.WOODCUTTING))); - - player.sendMessage(ChatColor.GOLD+"-=COMBAT SKILLS=-"); - if(mcPermissions.getInstance().axes(target)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.AxesSkill"), PPt.getSkillLevel(SkillType.AXES), PPt.getSkillXpLevel(SkillType.AXES), PPt.getXpToLevel(SkillType.AXES))); - if(mcPermissions.getInstance().archery(player)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.ArcherySkill"), PPt.getSkillLevel(SkillType.ARCHERY), PPt.getSkillXpLevel(SkillType.ARCHERY), PPt.getXpToLevel(SkillType.ARCHERY))); - //if(mcPermissions.getInstance().sorcery(target)) - //player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.SorcerySkill"), PPt.getSkill("sorcery"), PPt.getSkill("sorceryXP"), PPt.getXpToLevel("excavation"))); - if(mcPermissions.getInstance().swords(target)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.SwordsSkill"), PPt.getSkillLevel(SkillType.SWORDS), PPt.getSkillXpLevel(SkillType.SWORDS), PPt.getXpToLevel(SkillType.SWORDS))); - if(mcPermissions.getInstance().taming(target)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.TamingSkill"), PPt.getSkillLevel(SkillType.TAMING), PPt.getSkillXpLevel(SkillType.TAMING), PPt.getXpToLevel(SkillType.TAMING))); - if(mcPermissions.getInstance().unarmed(target)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.UnarmedSkill"), PPt.getSkillLevel(SkillType.UNARMED), PPt.getSkillXpLevel(SkillType.UNARMED), PPt.getXpToLevel(SkillType.UNARMED))); - - player.sendMessage(ChatColor.GOLD+"-=MISC SKILLS=-"); - if(mcPermissions.getInstance().acrobatics(target)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.AcrobaticsSkill"), PPt.getSkillLevel(SkillType.ACROBATICS), PPt.getSkillXpLevel(SkillType.ACROBATICS), PPt.getXpToLevel(SkillType.ACROBATICS))); - if(mcPermissions.getInstance().repair(target)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.RepairSkill"), PPt.getSkillLevel(SkillType.REPAIR), PPt.getSkillXpLevel(SkillType.REPAIR), PPt.getXpToLevel(SkillType.REPAIR))); - - player.sendMessage(mcLocale.getString("mcPlayerListener.PowerLevel") +ChatColor.GREEN+(m.getPowerLevel(target))); - } - } - /* - * STATS COMMAND - */ - else if(LoadProperties.statsEnable && label.equalsIgnoreCase(LoadProperties.stats)) - { - - player.sendMessage(mcLocale.getString("mcPlayerListener.YourStats")); - - if(mcPermissions.getEnabled()) - player.sendMessage(mcLocale.getString("mcPlayerListener.NoSkillNote")); - - ChatColor header = ChatColor.GOLD; - - if(Skills.hasGatheringSkills(player)){ - player.sendMessage(header+"-=GATHERING SKILLS=-"); - if(mcPermissions.getInstance().excavation(player)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.ExcavationSkill"), PP.getSkillLevel(SkillType.EXCAVATION), PP.getSkillXpLevel(SkillType.EXCAVATION), PP.getXpToLevel(SkillType.EXCAVATION))); - if(mcPermissions.getInstance().herbalism(player)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.HerbalismSkill"), PP.getSkillLevel(SkillType.HERBALISM), PP.getSkillXpLevel(SkillType.HERBALISM), PP.getXpToLevel(SkillType.HERBALISM))); - if(mcPermissions.getInstance().mining(player)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.MiningSkill"), PP.getSkillLevel(SkillType.MINING), PP.getSkillXpLevel(SkillType.MINING), PP.getXpToLevel(SkillType.MINING))); - if(mcPermissions.getInstance().woodcutting(player)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.WoodcuttingSkill"), PP.getSkillLevel(SkillType.WOODCUTTING), PP.getSkillXpLevel(SkillType.WOODCUTTING), PP.getXpToLevel(SkillType.WOODCUTTING))); - } - if(Skills.hasCombatSkills(player)){ - player.sendMessage(header+"-=COMBAT SKILLS=-"); - if(mcPermissions.getInstance().axes(player)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.AxesSkill"), PP.getSkillLevel(SkillType.AXES), PP.getSkillXpLevel(SkillType.AXES), PP.getXpToLevel(SkillType.AXES))); - if(mcPermissions.getInstance().archery(player)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.ArcherySkill"), PP.getSkillLevel(SkillType.ARCHERY), PP.getSkillXpLevel(SkillType.ARCHERY), PP.getXpToLevel(SkillType.ARCHERY))); - //if(mcPermissions.getInstance().sorcery(player)) - //player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.SorcerySkill"), PP.getSkill("sorcery"), PP.getSkill("sorceryXP"), PP.getXpToLevel("excavation"))); - if(mcPermissions.getInstance().swords(player)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.SwordsSkill"), PP.getSkillLevel(SkillType.SWORDS), PP.getSkillXpLevel(SkillType.SWORDS), PP.getXpToLevel(SkillType.SWORDS))); - if(mcPermissions.getInstance().taming(player)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.TamingSkill"), PP.getSkillLevel(SkillType.TAMING), PP.getSkillXpLevel(SkillType.TAMING), PP.getXpToLevel(SkillType.TAMING))); - if(mcPermissions.getInstance().unarmed(player)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.UnarmedSkill"), PP.getSkillLevel(SkillType.UNARMED), PP.getSkillXpLevel(SkillType.UNARMED), PP.getXpToLevel(SkillType.UNARMED))); - } - - if(Skills.hasMiscSkills(player)){ - player.sendMessage(header+"-=MISC SKILLS=-"); - if(mcPermissions.getInstance().acrobatics(player)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.AcrobaticsSkill"), PP.getSkillLevel(SkillType.ACROBATICS), PP.getSkillXpLevel(SkillType.ACROBATICS), PP.getXpToLevel(SkillType.ACROBATICS))); - if(mcPermissions.getInstance().repair(player)) - player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.RepairSkill"), PP.getSkillLevel(SkillType.REPAIR), PP.getSkillXpLevel(SkillType.REPAIR), PP.getXpToLevel(SkillType.REPAIR))); - } - player.sendMessage(mcLocale.getString("mcPlayerListener.PowerLevel")+ChatColor.GREEN+(m.getPowerLevel(player))); - } - //Invite Command - else if(LoadProperties.inviteEnable && label.equalsIgnoreCase(LoadProperties.invite) && mcPermissions.getInstance().party(player)){ - - Party Pinstance = Party.getInstance(); - - if(!PP.inParty()) - { - player.sendMessage(mcLocale.getString("mcPlayerListener.NotInParty")); - return true; - } - if(split.length < 2) - { - player.sendMessage(ChatColor.RED+"Usage is /"+LoadProperties.invite+" "); - return true; - } - if(PP.inParty() && split.length >= 2 && isPlayer(split[1])) - { - if(Pinstance.canInvite(player, PP)) { - Player target = getPlayer(split[1]); - PlayerProfile PPt = Users.getProfile(target); - PPt.modifyInvite(PP.getParty()); - - - player.sendMessage(mcLocale.getString("mcPlayerListener.InviteSuccess")); - //target.sendMessage(ChatColor.RED+"ALERT: "+ChatColor.GREEN+"You have received a party invite for "+PPt.getInvite()+" from "+player.getName()); - target.sendMessage(mcLocale.getString("mcPlayerListener.ReceivedInvite1", new Object[] {PPt.getInvite(), player.getName()})); - //target.sendMessage(ChatColor.YELLOW+"Type "+ChatColor.GREEN+LoadProperties.accept+ChatColor.YELLOW+" to accept the invite"); - target.sendMessage(mcLocale.getString("mcPlayerListener.ReceivedInvite2", new Object[] {LoadProperties.accept})); - } else { - player.sendMessage(mcLocale.getString("Party.Locked")); - return true; - } - } - } - //Accept invite - else if(LoadProperties.acceptEnable && label.equalsIgnoreCase(LoadProperties.accept) && mcPermissions.getInstance().party(player)) - { - if(PP.hasPartyInvite()) - { - Party Pinstance = Party.getInstance(); - - if(PP.inParty()) - { - Pinstance.removeFromParty(player, PP); - } - PP.acceptInvite(); - Pinstance.addToParty(player, PP, PP.getParty(), true); - - } else - { - player.sendMessage(mcLocale.getString("mcPlayerListener.NoInvites")); - } - } - //Party command - else if(LoadProperties.partyEnable && label.equalsIgnoreCase(LoadProperties.party)) - { - if(!mcPermissions.getInstance().party(player)) - { - player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); - return true; - } - - Party Pinstance = Party.getInstance(); - - if(PP.inParty() && (!Pinstance.isParty(PP.getParty()) || !Pinstance.isInParty(player, PP))) - { - Pinstance.addToParty(player, PP, PP.getParty(), false); - } - - if(args.length == 0 && !PP.inParty()) - { - player.sendMessage(mcLocale.getString("Party.Help1", new Object[] {LoadProperties.party})); - player.sendMessage(mcLocale.getString("Party.Help2", new Object[] {LoadProperties.party})); - player.sendMessage(mcLocale.getString("Party.Help3", new Object[] {LoadProperties.party})); - return true; - } else if(args.length == 0 && PP.inParty()) - { - String tempList = ""; - int x = 0; - for(Player p : Bukkit.getServer().getOnlinePlayers()) - { - if(PP.getParty().equals(Users.getProfile(p).getParty())) - { - if(p != null && x+1 >= Pinstance.partyCount(player, Bukkit.getServer().getOnlinePlayers())) - { - if(Pinstance.isPartyLeader(p, PP.getParty())) - { - tempList+=ChatColor.GOLD+p.getName(); - x++; - } - else - { - tempList+= ChatColor.WHITE+p.getName(); - x++; - } - } - if(p != null && x < Pinstance.partyCount(player, Bukkit.getServer().getOnlinePlayers())) - { - if(Pinstance.isPartyLeader(p, PP.getParty())) - { - tempList+=ChatColor.GOLD+p.getName()+", "; - x++; - } - else - { - tempList+= ChatColor.WHITE+p.getName()+", "; - x++; - } - } - } - } - player.sendMessage(mcLocale.getString("mcPlayerListener.YouAreInParty", new Object[] {PP.getParty()})); - player.sendMessage(mcLocale.getString("mcPlayerListener.PartyMembers")+" ("+tempList+ChatColor.GREEN+")"); - return true; - } else if(args.length == 1) - { - if(args[0].equals("q") && PP.inParty()) - { - Pinstance.removeFromParty(player, PP); - - player.sendMessage(mcLocale.getString("mcPlayerListener.LeftParty")); - return true; - } else if (args[0].equalsIgnoreCase("?")) { - player.sendMessage(mcLocale.getString("Party.Help4", new Object[] {LoadProperties.party})); - player.sendMessage(mcLocale.getString("Party.Help2", new Object[] {LoadProperties.party})); - player.sendMessage(mcLocale.getString("Party.Help5", new Object[] {LoadProperties.party})); - player.sendMessage(mcLocale.getString("Party.Help6", new Object[] {LoadProperties.party})); - player.sendMessage(mcLocale.getString("Party.Help7", new Object[] {LoadProperties.party})); - player.sendMessage(mcLocale.getString("Party.Help8", new Object[] {LoadProperties.party})); - player.sendMessage(mcLocale.getString("Party.Help9", new Object[] {LoadProperties.party})); - } else if (args[0].equalsIgnoreCase("lock")) - { - if(PP.inParty()) - { - if(Pinstance.isPartyLeader(player, PP.getParty())) - { - Pinstance.lockParty(PP.getParty()); - player.sendMessage(mcLocale.getString("Party.Locked")); - } else - { - player.sendMessage(mcLocale.getString("Party.NotOwner")); - } - } else - { - player.sendMessage(mcLocale.getString("Party.InvalidName")); - } - } else if (args[0].equalsIgnoreCase("unlock")) - { - if(PP.inParty()) - { - if(Pinstance.isPartyLeader(player, PP.getParty())) - { - Pinstance.unlockParty(PP.getParty()); - player.sendMessage(mcLocale.getString("Party.Unlocked")); - } else - { - player.sendMessage(mcLocale.getString("Party.NotOwner")); - } - } else - { - player.sendMessage(mcLocale.getString("Party.InvalidName")); - } - //Party debugging command. - //} else if (args[0].equalsIgnoreCase("dump")) { - // Pinstance.dump(player); - } else - { - if(PP.inParty()) - { - Pinstance.removeFromParty(player, PP); - } - Pinstance.addToParty(player, PP, args[0], false); - return true; - } - } else if(args.length == 2 && PP.inParty()) - { - if(args[0].equalsIgnoreCase("password")) - { - if(Pinstance.isPartyLeader(player, PP.getParty())) - { - if(Pinstance.isPartyLocked(PP.getParty())) - { - Pinstance.setPartyPassword(PP.getParty(), args[1]); - player.sendMessage(mcLocale.getString("Party.PasswordSet", new Object[] {args[1]})); - } else - { - player.sendMessage(mcLocale.getString("Party.IsntLocked")); - } - } else - { - player.sendMessage(mcLocale.getString("Party.NotOwner")); - } - } else if(args[0].equalsIgnoreCase("kick")) - { - if(Pinstance.isPartyLeader(player, PP.getParty())) - { - if(Pinstance.isPartyLocked(PP.getParty())) - { - Player tPlayer = null; - if(Bukkit.getServer().getPlayer(args[1]) != null) tPlayer = Bukkit.getServer().getPlayer(args[1]); - if(tPlayer == null) - { - player.sendMessage(mcLocale.getString("Party.CouldNotKick", new Object[] {args[1]})); - } - if(!Pinstance.inSameParty(player, tPlayer)) - { - player.sendMessage(mcLocale.getString("Party.NotInYourParty", new Object[] {tPlayer.getName()})); - } else - { - //Not an admin - if(!mcPermissions.getInstance().admin(player)) - { - //Can't kick an admin - if(mcPermissions.getInstance().admin(tPlayer)) - { - player.sendMessage(mcLocale.getString("Party.CouldNotKick", new Object[] {tPlayer.getName()})); - } - } - PlayerProfile tPP = Users.getProfile(tPlayer); - - Pinstance.removeFromParty(tPlayer, tPP); - - tPlayer.sendMessage(mcLocale.getString("mcPlayerListener.LeftParty")); - } - } else { - player.sendMessage(mcLocale.getString("Party.IsntLocked")); - } - } else { - player.sendMessage(mcLocale.getString("Party.NotOwner")); - } - } else if(args[0].equalsIgnoreCase("owner")) - { - if(Pinstance.isPartyLeader(player, PP.getParty())) - { - Player tPlayer = null; - if(Bukkit.getServer().getPlayer(args[1]) != null) tPlayer = Bukkit.getServer().getPlayer(args[1]); - if(tPlayer == null) - { - player.sendMessage(mcLocale.getString("Party.CouldNotSetOwner", new Object[] {args[1]})); - } - if(!Pinstance.inSameParty(player, tPlayer)) - { - player.sendMessage(mcLocale.getString("Party.CouldNotSetOwner", new Object[] {tPlayer.getName()})); - } else - { - Pinstance.setPartyLeader(PP.getParty(), tPlayer.getName()); - } - } else - { - player.sendMessage(mcLocale.getString("Party.NotOwner")); - } - } else - { - Pinstance.removeFromParty(player, PP); - Pinstance.addToParty(player, PP, args[0], false, args[1]); - } - } else if(args.length == 2 && !PP.inParty()) - { - Pinstance.addToParty(player, PP, args[0], false, args[1]); - } - } - else if(LoadProperties.partyEnable && label.equalsIgnoreCase("p")){ - - // Console message? - if(!(sender instanceof Player)) - { - if(args.length < 2) return true; - String pMessage = args[1]; - for (int i = 2; i <= args.length - 1; i++) { - pMessage = pMessage + " " + args[i]; - } - - String pPrefix = ChatColor.GREEN + "(" + ChatColor.WHITE - + "*Console*" + ChatColor.GREEN + ") "; - - log.log(Level.INFO, - "[P](" + args[0] + ")" + "<*Console*> " - + pMessage); - - for(Player herp : Bukkit.getServer().getOnlinePlayers()) { - if(Users.getProfile(herp).inParty()) { - if(Users.getProfile(herp).getParty().equalsIgnoreCase(args[0])) { - herp.sendMessage(pPrefix + pMessage); - } - } - } - return true; - } - - if(!mcPermissions.getInstance().party(player)){ - player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); - return true; - } - - // Not a toggle, a message - - if (args.length >= 1) { - String pMessage = args[0]; - for (int i = 1; i <= args.length - 1; i++) { - pMessage = pMessage + " " + args[i]; - } - String pPrefix = ChatColor.GREEN + "(" + ChatColor.WHITE - + player.getDisplayName() + ChatColor.GREEN + ") "; - - log.log(Level.INFO, - "[P](" + PP.getParty() + ")" + "<" + player.getDisplayName() - + "> " + pMessage); - - for (Player herp : Bukkit.getServer().getOnlinePlayers()) { - if (Users.getProfile(herp).inParty()) { - if (Party.getInstance().inSameParty(herp, player)) - herp.sendMessage(pPrefix + pMessage); - } - } - - return true; - } - - if(PP.getAdminChatMode()) - PP.toggleAdminChat(); - - PP.togglePartyChat(); - - if(PP.getPartyChatMode()){ - //player.sendMessage(ChatColor.GREEN + "Party Chat Toggled On"); - player.sendMessage(mcLocale.getString("mcPlayerListener.PartyChatOn")); - } else { - //player.sendMessage(ChatColor.GREEN + "Party Chat Toggled " + ChatColor.RED + "Off"); - player.sendMessage(mcLocale.getString("mcPlayerListener.PartyChatOff")); - } - } - - else if(label.equalsIgnoreCase("a")){ - // Console message? - if(!(sender instanceof Player) && args.length >= 1) - { - String aMessage = args[0]; - for (int i = 1; i <= args.length - 1; i++) { - aMessage = aMessage + " " + args[i]; - } - - String aPrefix = ChatColor.AQUA + "{" + ChatColor.WHITE - + "*Console*" + ChatColor.AQUA + "} "; - - log.log(Level.INFO, "[A]<*Console*> " - + aMessage); - - for (Player herp : Bukkit.getServer().getOnlinePlayers()) { - if (mcPermissions.getInstance().adminChat(herp) || herp.isOp()) - herp.sendMessage(aPrefix + aMessage); - } - return true; - } - - if(!mcPermissions.getInstance().adminChat(player) && !player.isOp()) - { - player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); - return true; - } - - // Not a toggle, a message - - if (args.length >= 1) { - String aMessage = args[0]; - for (int i = 1; i <= args.length - 1; i++) { - aMessage = aMessage + " " + args[i]; - } - - String aPrefix = ChatColor.AQUA + "{" + ChatColor.WHITE - + player.getDisplayName() + ChatColor.AQUA + "} "; - log.log(Level.INFO, "[A]<" + player.getDisplayName() + "> " - + aMessage); - for (Player herp : Bukkit.getServer().getOnlinePlayers()) { - if (mcPermissions.getInstance().adminChat(herp) || herp.isOp()) - herp.sendMessage(aPrefix + aMessage); - } - return true; - } - - if(PP.getPartyChatMode()) - PP.togglePartyChat(); - - PP.toggleAdminChat(); - - if(PP.getAdminChatMode()) - { - player.sendMessage(mcLocale.getString("mcPlayerListener.AdminChatOn")); - //player.sendMessage(ChatColor.AQUA + "Admin chat toggled " + ChatColor.GREEN + "On"); - } else { - player.sendMessage(mcLocale.getString("mcPlayerListener.AdminChatOff")); - //player.sendMessage(ChatColor.AQUA + "Admin chat toggled " + ChatColor.RED + "Off"); - } - } - - /* - * MYSPAWN - */ - else if(LoadProperties.myspawnEnable && LoadProperties.enableMySpawn && label.equalsIgnoreCase(LoadProperties.myspawn)) - { - if(!mcPermissions.getInstance().mySpawn(player)){ - player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); - return true; - } - if(System.currentTimeMillis() < (PP.getMySpawnATS()*1000) + 3600000){ - long x = (((PP.getMySpawnATS()*1000) + 3600000) - System.currentTimeMillis()); - int y = (int) (x/60000); - int z = (int) ((x/1000) - (y*60)); - player.sendMessage(mcLocale.getString("mcPlayerListener.MyspawnTimeNotice", new Object[] {y, z})); - return true; - } - PP.setMySpawnATS(System.currentTimeMillis()); - if(PP.getMySpawn(player) != null) - { - Location mySpawn = PP.getMySpawn(player); - - if(mySpawn != null){ - //It's done twice because it acts oddly when you are in another world - player.teleport(mySpawn); - player.teleport(mySpawn); - } - } else { - player.sendMessage(mcLocale.getString("mcPlayerListener.MyspawnNotExist")); - } - } - else if(LoadProperties.spoutEnabled && LoadProperties.xpbar && LoadProperties.xplockEnable && label.equalsIgnoreCase(LoadProperties.xplock)) - { - if(split.length >= 2 && Skills.isSkill(split[1]) && mcPermissions.permission(player, "mcmmo.skills."+Skills.getSkillType(split[1]).toString().toLowerCase())) - { - if(PP.getXpBarLocked()) - { - PP.setSkillLock(Skills.getSkillType(split[1])); - player.sendMessage(mcLocale.getString("Commands.xplock.locked", new Object[] {m.getCapitalized(PP.getSkillLock().toString())})); - } - else - { - PP.setSkillLock(Skills.getSkillType(split[1])); - PP.toggleXpBarLocked(); - player.sendMessage(mcLocale.getString("Commands.xplock.locked", new Object[] {m.getCapitalized(PP.getSkillLock().toString())})); - } - SpoutStuff.updateXpBar(player); - } else if (split.length < 2) - { - if(PP.getXpBarLocked()) - { - PP.toggleXpBarLocked(); - player.sendMessage(mcLocale.getString("Commands.xplock.unlocked")); - } else if(PP.getLastGained() != null) - { - PP.toggleXpBarLocked(); - PP.setSkillLock(PP.getLastGained()); - player.sendMessage(mcLocale.getString("Commands.xplock.locked", new Object[] {m.getCapitalized(PP.getSkillLock().toString())})); - } - } - else if (split.length >= 2 && !Skills.isSkill(split[1])) - { - player.sendMessage("Commands.xplock.invalid"); - } - else if(split.length >= 2 && Skills.isSkill(split[1]) && !mcPermissions.permission(player, "mcmmo.skills."+Skills.getSkillType(split[1]).toString().toLowerCase())) - { - player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); - return true; - } - } - else if (LoadProperties.spoutEnabled && label.equalsIgnoreCase("mchud")) - { - if(split.length >= 2) - { - for(HUDType x : HUDType.values()) - { - if(x.toString().toLowerCase().equals(split[1].toLowerCase())) - { - if(SpoutStuff.playerHUDs.containsKey(player)) - { - SpoutStuff.playerHUDs.get(player).resetHUD(); - SpoutStuff.playerHUDs.remove(player); - PP.setHUDType(x); - SpoutStuff.playerHUDs.put(player, new HUDmmo(player)); - } - } - } - } - } - return true; - } -} +package com.gmail.nossr50.command; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.logging.Level; +import java.util.logging.Logger; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.getspout.spoutapi.player.SpoutPlayer; + +import com.gmail.nossr50.Leaderboard; +import com.gmail.nossr50.Users; +import com.gmail.nossr50.m; +import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.mcPermissions; +import com.gmail.nossr50.config.LoadProperties; +import com.gmail.nossr50.datatypes.HUDType; +import com.gmail.nossr50.datatypes.HUDmmo; +import com.gmail.nossr50.datatypes.PlayerProfile; +import com.gmail.nossr50.datatypes.SkillType; +import com.gmail.nossr50.locale.mcLocale; +import com.gmail.nossr50.party.Party; +import com.gmail.nossr50.skills.Skills; +import com.gmail.nossr50.spout.SpoutStuff; + +public class Commands +{ + //Setup some vars + public static final Logger log = Logger.getLogger("Minecraft"); + public static boolean xpevent = false; + static int oldrate = LoadProperties.xpGainMultiplier; + + + public static boolean isPlayer(String playerName){ + for(Player herp : Bukkit.getServer().getOnlinePlayers()){ + if(herp.getName().toLowerCase().equals(playerName.toLowerCase())){ + return true; + } + } + return false; + } + + public static Player getPlayer(String playerName){ + for(Player herp : Bukkit.getServer().getOnlinePlayers()){ + if(herp.getName().toLowerCase().equals(playerName.toLowerCase())){ + return herp; + } + } + return null; + } + + public static boolean processCommands(CommandSender sender, Command command, String label, String[] args) + { + Player player = null; + PlayerProfile PP = null; + if(sender instanceof Player) + { + player = (Player) sender; + PP = Users.getProfile(player); + } + + String[] split = new String[args.length + 1]; + split[0] = label; + for(int a = 0; a < args.length; a++){ + split[a + 1] = args[a]; + } + + //Check if the command is an MMO related help command + if(label.equalsIgnoreCase("taming") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillTaming").toLowerCase())){ + float skillvalue = (float)PP.getSkillLevel(SkillType.TAMING); + + String percentage = String.valueOf((skillvalue / 1000) * 100); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillTaming")})); + player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainTaming")})); + if(mcPermissions.getInstance().taming(player)) + player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.TAMING), PP.getSkillXpLevel(SkillType.TAMING), PP.getXpToLevel(SkillType.TAMING)})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsTaming1_0"), mcLocale.getString("m.EffectsTaming1_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsTaming2_0"), mcLocale.getString("m.EffectsTaming2_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsTaming3_0"), mcLocale.getString("m.EffectsTaming3_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsTaming4_0"), mcLocale.getString("m.EffectsTaming4_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsTaming5_0"), mcLocale.getString("m.EffectsTaming5_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsTaming6_0"), mcLocale.getString("m.EffectsTaming6_1")})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); + if(PP.getSkillLevel(SkillType.TAMING) < 100) + player.sendMessage(mcLocale.getString("m.AbilityLockTemplate", new Object[] {mcLocale.getString("m.AbilLockTaming1")})); + else + player.sendMessage(mcLocale.getString("m.AbilityBonusTemplate", new Object[] {mcLocale.getString("m.AbilBonusTaming1_0"), mcLocale.getString("m.AbilBonusTaming1_1")})); + if(PP.getSkillLevel(SkillType.TAMING) < 250) + player.sendMessage(mcLocale.getString("m.AbilityLockTemplate", new Object[] {mcLocale.getString("m.AbilLockTaming2")})); + else + player.sendMessage(mcLocale.getString("m.AbilityBonusTemplate", new Object[] {mcLocale.getString("m.AbilBonusTaming2_0"), mcLocale.getString("m.AbilBonusTaming2_1")})); + if(PP.getSkillLevel(SkillType.TAMING) < 500) + player.sendMessage(mcLocale.getString("m.AbilityLockTemplate", new Object[] {mcLocale.getString("m.AbilLockTaming3")})); + else + player.sendMessage(mcLocale.getString("m.AbilityBonusTemplate", new Object[] {mcLocale.getString("m.AbilBonusTaming3_0"), mcLocale.getString("m.AbilBonusTaming3_1")})); + if(PP.getSkillLevel(SkillType.TAMING) < 750) + player.sendMessage(mcLocale.getString("m.AbilityLockTemplate", new Object[] {mcLocale.getString("m.AbilLockTaming4")})); + else + player.sendMessage(mcLocale.getString("m.AbilityBonusTemplate", new Object[] {mcLocale.getString("m.AbilBonusTaming4_0"), mcLocale.getString("m.AbilBonusTaming4_1")})); + player.sendMessage(mcLocale.getString("m.TamingGoreChance", new Object[] {percentage})); + } + else if(label.equalsIgnoreCase("woodcutting") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillWoodCutting").toLowerCase())){ + float skillvalue = (float)PP.getSkillLevel(SkillType.WOODCUTTING); + int ticks = 2; + int x = PP.getSkillLevel(SkillType.WOODCUTTING); + while(x >= 50){ + x-=50; + ticks++; + } + String percentage = String.valueOf((skillvalue / 1000) * 100); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillWoodCutting")})); + player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainWoodCutting")})); + if(mcPermissions.getInstance().woodcutting(player)) + player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.WOODCUTTING), PP.getSkillXpLevel(SkillType.WOODCUTTING), PP.getXpToLevel(SkillType.WOODCUTTING)})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsWoodCutting1_0"), mcLocale.getString("m.EffectsWoodCutting1_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsWoodCutting2_0"), mcLocale.getString("m.EffectsWoodCutting2_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsWoodCutting3_0"), mcLocale.getString("m.EffectsWoodCutting3_1")})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); + if(PP.getSkillLevel(SkillType.WOODCUTTING) < 100) + player.sendMessage(mcLocale.getString("m.AbilityLockTemplate", new Object[] {mcLocale.getString("m.AbilLockWoodCutting1")})); + else + player.sendMessage(mcLocale.getString("m.AbilityBonusTemplate", new Object[] {mcLocale.getString("m.AbilBonusWoodCutting1_0"), mcLocale.getString("m.AbilBonusWoodCutting1_1")})); + player.sendMessage(mcLocale.getString("m.WoodCuttingDoubleDropChance", new Object[] {percentage})); + player.sendMessage(mcLocale.getString("m.WoodCuttingTreeFellerLength", new Object[] {ticks})); + } + else if(label.equalsIgnoreCase("archery") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillArchery").toLowerCase())){ + Integer rank = 0; + if(PP.getSkillLevel(SkillType.ARCHERY) >= 50) + rank++; + if(PP.getSkillLevel(SkillType.ARCHERY) >= 250) + rank++; + if(PP.getSkillLevel(SkillType.ARCHERY) >= 575) + rank++; + if(PP.getSkillLevel(SkillType.ARCHERY) >= 725) + rank++; + if(PP.getSkillLevel(SkillType.ARCHERY) >= 1000) + rank++; + float skillvalue = (float)PP.getSkillLevel(SkillType.ARCHERY); + String percentage = String.valueOf((skillvalue / 1000) * 100); + + int ignition = 20; + if(PP.getSkillLevel(SkillType.ARCHERY) >= 200) + ignition+=20; + if(PP.getSkillLevel(SkillType.ARCHERY) >= 400) + ignition+=20; + if(PP.getSkillLevel(SkillType.ARCHERY) >= 600) + ignition+=20; + if(PP.getSkillLevel(SkillType.ARCHERY) >= 800) + ignition+=20; + if(PP.getSkillLevel(SkillType.ARCHERY) >= 1000) + ignition+=20; + + String percentagedaze; + if(PP.getSkillLevel(SkillType.ARCHERY) < 1000){ + percentagedaze = String.valueOf((skillvalue / 2000) * 100); + } else { + percentagedaze = "50"; + } + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillArchery")})); + player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainArchery")})); + if(mcPermissions.getInstance().archery(player)) + player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.ARCHERY), PP.getSkillXpLevel(SkillType.ARCHERY), PP.getXpToLevel(SkillType.ARCHERY)})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsArchery1_0"), mcLocale.getString("m.EffectsArchery1_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsArchery2_0"), mcLocale.getString("m.EffectsArchery2_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsArchery3_0"), mcLocale.getString("m.EffectsArchery3_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsArchery4_0"), mcLocale.getString("m.EffectsArchery4_1")})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); + player.sendMessage(mcLocale.getString("m.ArcheryDazeChance", new Object[] {percentagedaze})); + player.sendMessage(mcLocale.getString("m.ArcheryRetrieveChance", new Object[] {percentage})); + player.sendMessage(mcLocale.getString("m.ArcheryIgnitionLength", new Object[] {(ignition / 20)})); + player.sendMessage(mcLocale.getString("m.ArcheryDamagePlus", new Object[] {rank})); + } + else if(label.equalsIgnoreCase("axes") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillAxes"))){ + String percentage; + float skillvalue = (float)PP.getSkillLevel(SkillType.AXES); + if(PP.getSkillLevel(SkillType.AXES) < 750){ + percentage = String.valueOf((skillvalue / 1000) * 100); + } else { + percentage = "75"; + } + int ticks = 2; + int x = PP.getSkillLevel(SkillType.AXES); + while(x >= 50){ + x-=50; + ticks++; + } + + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillAxes")})); + player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainAxes")})); + if(mcPermissions.getInstance().axes(player)) + player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.AXES), PP.getSkillXpLevel(SkillType.AXES), PP.getXpToLevel(SkillType.AXES)})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsAxes1_0"), mcLocale.getString("m.EffectsAxes1_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsAxes2_0"), mcLocale.getString("m.EffectsAxes2_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsAxes3_0"), mcLocale.getString("m.EffectsAxes3_1")})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); + player.sendMessage(mcLocale.getString("m.AxesCritChance", new Object[] {percentage})); + if(PP.getSkillLevel(SkillType.AXES) < 500){ + player.sendMessage(mcLocale.getString("m.AbilityLockTemplate", new Object[] {mcLocale.getString("m.AbilLockAxes1")})); + } else { + player.sendMessage(mcLocale.getString("m.AbilityBonusTemplate", new Object[] {mcLocale.getString("m.AbilBonusAxes1_0"), mcLocale.getString("m.AbilBonusAxes1_1")})); + } + player.sendMessage(mcLocale.getString("m.AxesSkullLength", new Object[] {ticks})); + } + else if(label.equalsIgnoreCase("swords") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillSwords").toLowerCase())){ + int bleedrank = 2; + String percentage, parrypercentage = null, counterattackpercentage; + float skillvalue = (float)PP.getSkillLevel(SkillType.SWORDS); + if(PP.getSkillLevel(SkillType.SWORDS) < 750){ + percentage = String.valueOf((skillvalue / 1000) * 100); + } else { + percentage = "75"; + } + if(skillvalue >= 750) + bleedrank+=1; + + if(PP.getSkillLevel(SkillType.SWORDS) <= 900){ + parrypercentage = String.valueOf((skillvalue / 3000) * 100); + } else { + parrypercentage = "30"; + } + + if(PP.getSkillLevel(SkillType.SWORDS) <= 600){ + counterattackpercentage = String.valueOf((skillvalue / 2000) * 100); + } else { + counterattackpercentage = "30"; + } + + int ticks = 2; + int x = PP.getSkillLevel(SkillType.SWORDS); + while(x >= 50){ + x-=50; + ticks++; + } + + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillSwords")})); + player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainSwords")})); + if(mcPermissions.getInstance().swords(player)) + player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.SWORDS), PP.getSkillXpLevel(SkillType.SWORDS), PP.getXpToLevel(SkillType.SWORDS)})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsSwords1_0"), mcLocale.getString("m.EffectsSwords1_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsSwords2_0"), mcLocale.getString("m.EffectsSwords2_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsSwords3_0"), mcLocale.getString("m.EffectsSwords3_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsSwords4_0"), mcLocale.getString("m.EffectsSwords4_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsSwords5_0"), mcLocale.getString("m.EffectsSwords5_1")})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); + player.sendMessage(mcLocale.getString("m.SwordsCounterAttChance", new Object[] {counterattackpercentage})); + player.sendMessage(mcLocale.getString("m.SwordsBleedLength", new Object[] {bleedrank})); + player.sendMessage(mcLocale.getString("m.SwordsTickNote")); + player.sendMessage(mcLocale.getString("m.SwordsBleedLength", new Object[] {percentage})); + player.sendMessage(mcLocale.getString("m.SwordsParryChance", new Object[] {parrypercentage})); + player.sendMessage(mcLocale.getString("m.SwordsSSLength", new Object[] {ticks})); + + } + else if(label.equalsIgnoreCase("acrobatics") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillAcrobatics").toLowerCase())){ + String dodgepercentage; + float skillvalue = (float)PP.getSkillLevel(SkillType.ACROBATICS); + String percentage = String.valueOf((skillvalue / 1000) * 100); + String gracepercentage = String.valueOf(((skillvalue / 1000) * 100) * 2); + if(PP.getSkillLevel(SkillType.ACROBATICS) <= 800){ + dodgepercentage = String.valueOf((skillvalue / 4000 * 100)); + } else { + dodgepercentage = "20"; + } + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillAcrobatics")})); + player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainAcrobatics")})); + if(mcPermissions.getInstance().acrobatics(player)) + player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.ACROBATICS), PP.getSkillXpLevel(SkillType.ACROBATICS), PP.getXpToLevel(SkillType.ACROBATICS)})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsAcrobatics1_0"), mcLocale.getString("m.EffectsAcrobatics1_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsAcrobatics2_0"), mcLocale.getString("m.EffectsAcrobatics2_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsAcrobatics3_0"), mcLocale.getString("m.EffectsAcrobatics3_1")})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); + player.sendMessage(mcLocale.getString("m.AcrobaticsRollChance", new Object[] {percentage})); + player.sendMessage(mcLocale.getString("m.AcrobaticsGracefulRollChance", new Object[] {gracepercentage})); + player.sendMessage(mcLocale.getString("m.AcrobaticsDodgeChance", new Object[] {dodgepercentage})); + } + else if(label.equalsIgnoreCase("mining") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillMining"))){ + float skillvalue = (float)PP.getSkillLevel(SkillType.MINING); + String percentage = String.valueOf((skillvalue / 1000) * 100); + int ticks = 2; + int x = PP.getSkillLevel(SkillType.MINING); + while(x >= 50){ + x-=50; + ticks++; + } + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillMining")})); + player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainMining")})); + if(mcPermissions.getInstance().mining(player)) + player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.MINING), PP.getSkillXpLevel(SkillType.MINING), PP.getXpToLevel(SkillType.MINING)})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsMining1_0"), mcLocale.getString("m.EffectsMining1_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsMining2_0"), mcLocale.getString("m.EffectsMining2_1")})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); + player.sendMessage(mcLocale.getString("m.MiningDoubleDropChance", new Object[] {percentage})); + player.sendMessage(mcLocale.getString("m.MiningSuperBreakerLength", new Object[] {ticks})); + } + else if(label.equalsIgnoreCase("repair") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillRepair").toLowerCase())){ + float skillvalue = (float)PP.getSkillLevel(SkillType.REPAIR); + String percentage = String.valueOf((skillvalue / 1000) * 100); + String repairmastery = String.valueOf((skillvalue / 500) * 100); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillRepair")})); + player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainRepair")})); + if(mcPermissions.getInstance().repair(player)) + player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.REPAIR), PP.getSkillXpLevel(SkillType.REPAIR), PP.getXpToLevel(SkillType.REPAIR)})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsRepair1_0"), mcLocale.getString("m.EffectsRepair1_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsRepair2_0"), mcLocale.getString("m.EffectsRepair2_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsRepair3_0"), mcLocale.getString("m.EffectsRepair3_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsRepair4_0", new Object[]{LoadProperties.repairdiamondlevel}), mcLocale.getString("m.EffectsRepair4_1")})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); + player.sendMessage(mcLocale.getString("m.RepairRepairMastery", new Object[] {repairmastery})); + player.sendMessage(mcLocale.getString("m.RepairSuperRepairChance", new Object[] {percentage})); + } + else if(label.equalsIgnoreCase("unarmed")){ + String percentage, arrowpercentage; + float skillvalue = (float)PP.getSkillLevel(SkillType.UNARMED); + + if(PP.getSkillLevel(SkillType.UNARMED) < 1000){ + percentage = String.valueOf((skillvalue / 4000) * 100); + } else { + percentage = "25"; + } + + if(PP.getSkillLevel(SkillType.UNARMED) < 1000){ + arrowpercentage = String.valueOf(((skillvalue / 1000) * 100) / 2); + } else { + arrowpercentage = "50"; + } + + + int ticks = 2; + int x = PP.getSkillLevel(SkillType.UNARMED); + while(x >= 50){ + x-=50; + ticks++; + } + + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillUnarmed")})); + player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainUnarmed")})); + if(mcPermissions.getInstance().unarmed(player)) + player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.UNARMED), PP.getSkillXpLevel(SkillType.UNARMED), PP.getXpToLevel(SkillType.UNARMED)})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsUnarmed1_0"), mcLocale.getString("m.EffectsUnarmed1_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsUnarmed2_0"), mcLocale.getString("m.EffectsUnarmed2_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsUnarmed3_0"), mcLocale.getString("m.EffectsUnarmed3_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsUnarmed4_0"), mcLocale.getString("m.EffectsUnarmed4_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsUnarmed5_0"), mcLocale.getString("m.EffectsUnarmed5_1")})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); + player.sendMessage(mcLocale.getString("m.UnarmedArrowDeflectChance", new Object[] {arrowpercentage})); + player.sendMessage(mcLocale.getString("m.UnarmedDisarmChance", new Object[] {percentage})); + if(PP.getSkillLevel(SkillType.UNARMED) < 250){ + player.sendMessage(mcLocale.getString("m.AbilityLockTemplate", new Object[] {mcLocale.getString("m.AbilLockUnarmed1")})); + } else if(PP.getSkillLevel(SkillType.UNARMED) >= 250 && PP.getSkillLevel(SkillType.UNARMED) < 500){ + player.sendMessage(mcLocale.getString("m.AbilityBonusTemplate", new Object[] {mcLocale.getString("m.AbilBonusUnarmed1_0"), mcLocale.getString("m.AbilBonusUnarmed1_1")})); + player.sendMessage(mcLocale.getString("m.AbilityLockTemplate", new Object[] {mcLocale.getString("m.AbilLockUnarmed2")})); + } else { + player.sendMessage(mcLocale.getString("m.AbilityBonusTemplate", new Object[] {mcLocale.getString("m.AbilBonusUnarmed2_0"), mcLocale.getString("m.AbilBonusUnarmed2_1")})); + } + player.sendMessage(mcLocale.getString("m.UnarmedBerserkLength", new Object[] {ticks})); + } + else if(label.equalsIgnoreCase("herbalism") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillHerbalism").toLowerCase())){ + int rank = 0; + if(PP.getSkillLevel(SkillType.HERBALISM) >= 50) + rank++; + if (PP.getSkillLevel(SkillType.HERBALISM) >= 150) + rank++; + if (PP.getSkillLevel(SkillType.HERBALISM) >= 250) + rank++; + if (PP.getSkillLevel(SkillType.HERBALISM) >= 350) + rank++; + if (PP.getSkillLevel(SkillType.HERBALISM) >= 450) + rank++; + if (PP.getSkillLevel(SkillType.HERBALISM) >= 550) + rank++; + if (PP.getSkillLevel(SkillType.HERBALISM) >= 650) + rank++; + if (PP.getSkillLevel(SkillType.HERBALISM) >= 750) + rank++; + int bonus = 0; + if(PP.getSkillLevel(SkillType.HERBALISM) >= 200) + bonus++; + if(PP.getSkillLevel(SkillType.HERBALISM) >= 400) + bonus++; + if(PP.getSkillLevel(SkillType.HERBALISM) >= 600) + bonus++; + + int ticks = 2; + int x = PP.getSkillLevel(SkillType.HERBALISM); + while(x >= 50){ + x-=50; + ticks++; + } + + float skillvalue = (float)PP.getSkillLevel(SkillType.HERBALISM); + String percentage = String.valueOf((skillvalue / 1000) * 100); + String gpercentage = String.valueOf((skillvalue / 1500) * 100); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillHerbalism")})); + player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainHerbalism")})); + if(mcPermissions.getInstance().herbalism(player)) + player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.HERBALISM), PP.getSkillXpLevel(SkillType.HERBALISM), PP.getXpToLevel(SkillType.HERBALISM)})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsHerbalism1_0"), mcLocale.getString("m.EffectsHerbalism1_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsHerbalism2_0"), mcLocale.getString("m.EffectsHerbalism2_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsHerbalism3_0"), mcLocale.getString("m.EffectsHerbalism3_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsHerbalism4_0"), mcLocale.getString("m.EffectsHerbalism4_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsHerbalism5_0"), mcLocale.getString("m.EffectsHerbalism5_1")})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); + player.sendMessage(mcLocale.getString("m.HerbalismGreenTerraLength", new Object[] {ticks})); + player.sendMessage(mcLocale.getString("m.HerbalismGreenThumbChance", new Object[] {gpercentage})); + player.sendMessage(mcLocale.getString("m.HerbalismGreenThumbStage", new Object[] {bonus})); + player.sendMessage(mcLocale.getString("m.HerbalismDoubleDropChance", new Object[] {percentage})); + player.sendMessage(mcLocale.getString("m.HerbalismFoodPlus", new Object[] {rank})); + } + + else if(label.equalsIgnoreCase("excavation") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillExcavation").toLowerCase())) + { + int ticks = 2; + int x = PP.getSkillLevel(SkillType.EXCAVATION); + while(x >= 50){ + x-=50; + ticks++; + } + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillExcavation")})); + player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainExcavation")})); + if(mcPermissions.getInstance().excavation(player)) + player.sendMessage(mcLocale.getString("m.LVL", new Object[] {PP.getSkillLevel(SkillType.EXCAVATION), PP.getSkillXpLevel(SkillType.EXCAVATION), PP.getXpToLevel(SkillType.EXCAVATION)})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsExcavation1_0"), mcLocale.getString("m.EffectsExcavation1_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsExcavation2_0"), mcLocale.getString("m.EffectsExcavation2_1")})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); + player.sendMessage(mcLocale.getString("m.ExcavationGreenTerraLength", new Object[] {ticks})); + } + + else if(label.equalsIgnoreCase("sorcery") || split[0].toLowerCase().equalsIgnoreCase(mcLocale.getString("m.SkillSorcery").toLowerCase())) + { + /* + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.SkillExcavation")})); + player.sendMessage(mcLocale.getString("m.XPGain", new Object[] {mcLocale.getString("m.XPGainExcavation")})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.Effects")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsExcavation1_0"), mcLocale.getString("m.EffectsExcavation1_1")})); + player.sendMessage(mcLocale.getString("m.EffectsTemplate", new Object[] {mcLocale.getString("m.EffectsExcavation2_0"), mcLocale.getString("m.EffectsExcavation2_1")})); + player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] {mcLocale.getString("m.YourStats")})); + player.sendMessage(mcLocale.getString("m.ExcavationGreenTerraLength", new Object[] {ticks})); + */ + } + + else if(LoadProperties.mcmmoEnable && label.equalsIgnoreCase(LoadProperties.mcmmo)) + { + player.sendMessage(ChatColor.RED+"-----[]"+ChatColor.GREEN+"mcMMO"+ChatColor.RED+"[]-----"); + String description = mcLocale.getString("mcMMO.Description", new Object[] {LoadProperties.mcc}); + String[] mcSplit = description.split(","); + + for(String x : mcSplit) + { + player.sendMessage(x); + } + if(LoadProperties.spoutEnabled && player instanceof SpoutPlayer) + { + SpoutPlayer sPlayer = (SpoutPlayer)player; + if(LoadProperties.donateMessage) + sPlayer.sendNotification("[mcMMO] Donate!", "Paypal nossr50@gmail.com", Material.CAKE); + } + else + { + if(LoadProperties.donateMessage) + player.sendMessage(ChatColor.GREEN+"If you like my work you can donate via Paypal: nossr50@gmail.com"); + } + } + else if(LoadProperties.mccEnable && label.equalsIgnoreCase(LoadProperties.mcc)) + { + player.sendMessage(ChatColor.RED+"---[]"+ChatColor.YELLOW+"mcMMO Commands"+ChatColor.RED+"[]---"); + if(mcPermissions.getInstance().party(player)){ + player.sendMessage(mcLocale.getString("m.mccPartyCommands")); + player.sendMessage(LoadProperties.party+" "+mcLocale.getString("m.mccParty")); + player.sendMessage(LoadProperties.party+" q "+mcLocale.getString("m.mccPartyQ")); + if(mcPermissions.getInstance().partyChat(player)) + player.sendMessage("/p "+mcLocale.getString("m.mccPartyToggle")); + player.sendMessage(LoadProperties.invite+" "+mcLocale.getString("m.mccPartyInvite")); + player.sendMessage(LoadProperties.accept+" "+mcLocale.getString("m.mccPartyAccept")); + if(mcPermissions.getInstance().partyTeleport(player)) + player.sendMessage(LoadProperties.ptp+" "+mcLocale.getString("m.mccPartyTeleport")); + } + player.sendMessage(mcLocale.getString("m.mccOtherCommands")); + player.sendMessage(LoadProperties.stats+ChatColor.RED+" "+mcLocale.getString("m.mccStats")); + player.sendMessage("/mctop "+ChatColor.RED+mcLocale.getString("m.mccLeaderboards")); + if(mcPermissions.getInstance().mySpawn(player)){ + player.sendMessage(LoadProperties.myspawn+" "+ChatColor.RED+mcLocale.getString("m.mccMySpawn")); + player.sendMessage(LoadProperties.clearmyspawn+" "+ChatColor.RED+mcLocale.getString("m.mccClearMySpawn")); + } + if(mcPermissions.getInstance().mcAbility(player)) + player.sendMessage(LoadProperties.mcability+ChatColor.RED+" "+mcLocale.getString("m.mccToggleAbility")); + if(mcPermissions.getInstance().adminChat(player)){ + player.sendMessage("/a "+ChatColor.RED+mcLocale.getString("m.mccAdminToggle")); + } + if(mcPermissions.getInstance().whois(player)) + player.sendMessage(LoadProperties.whois+" "+mcLocale.getString("m.mccWhois")); + if(mcPermissions.getInstance().mmoedit(player)){ + //player.sendMessage(LoadProperties.mmoedit+" [skill] [newvalue] "+ChatColor.RED+"Modify the designated skill value"); + player.sendMessage(LoadProperties.mmoedit+mcLocale.getString("m.mccMmoedit")); + } + if(mcPermissions.getInstance().mcgod(player)) + player.sendMessage(LoadProperties.mcgod+ChatColor.RED+" "+mcLocale.getString("m.mccMcGod")); + player.sendMessage(mcLocale.getString("m.mccSkillInfo")); + player.sendMessage(LoadProperties.mcmmo+" "+mcLocale.getString("m.mccModDescription")); + } + else if(LoadProperties.mcabilityEnable && mcPermissions.permissionsEnabled && label.equalsIgnoreCase(LoadProperties.mcability)){ + if(PP.getAbilityUse()){ + player.sendMessage(mcLocale.getString("mcPlayerListener.AbilitiesOff")); + PP.toggleAbilityUse(); + } else { + player.sendMessage(mcLocale.getString("mcPlayerListener.AbilitiesOn")); + PP.toggleAbilityUse(); + } + } + else if (LoadProperties.xprateEnable && label.equalsIgnoreCase(LoadProperties.xprate)) + { + if(sender instanceof Player) + { + if(!mcPermissions.getInstance().admin(player)) + { + player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); + return true; + } + if(split.length <= 1) + { + player.sendMessage(mcLocale.getString("Commands.xprate.proper", new Object[] {LoadProperties.xprate})); + player.sendMessage(mcLocale.getString("Commands.xprate.proper2", new Object[] {LoadProperties.xprate})); + } + if(split.length == 2 && split[1].equalsIgnoreCase("reset")) + { + if(xpevent) + { + for(Player x : Bukkit.getServer().getOnlinePlayers()) + x.sendMessage(mcLocale.getString("Commands.xprate.over")); + xpevent = !xpevent; + LoadProperties.xpGainMultiplier = oldrate; + } else + { + LoadProperties.xpGainMultiplier = oldrate; + } + } + if(split.length >= 2 && m.isInt(split[1])) + { + oldrate = LoadProperties.xpGainMultiplier; + + if(split.length >= 3 && (split[2].equalsIgnoreCase("true") || split[2].equalsIgnoreCase("false"))) + { + if(split[2].equalsIgnoreCase("true")) + xpevent = true; + else + xpevent = false; + } else + { + player.sendMessage(mcLocale.getString("Commands.xprate.proper3")); + return true; + } + LoadProperties.xpGainMultiplier = m.getInt(split[1]); + if(xpevent = true) + for(Player x : Bukkit.getServer().getOnlinePlayers()) + { + x.sendMessage(mcLocale.getString("Commands.xprate.started")); + x.sendMessage(mcLocale.getString("Commands.xprate.started2", new Object[] {LoadProperties.xpGainMultiplier})); + } + } + } else + { + if(split.length <= 1) + { + System.out.println(mcLocale.getString("Commands.xprate.proper", new Object[] {LoadProperties.xprate})); + System.out.println(mcLocale.getString("Commands.xprate.proper2", new Object[] {LoadProperties.xprate})); + } + + if(split.length == 2 && split[1].equalsIgnoreCase("reset")) + { + if(xpevent) + { + for(Player x : Bukkit.getServer().getOnlinePlayers()) + x.sendMessage(mcLocale.getString("Commands.xprate.over")); + xpevent = !xpevent; + LoadProperties.xpGainMultiplier = oldrate; + } else + { + LoadProperties.xpGainMultiplier = oldrate; + } + } + + if(split.length >= 2 && m.isInt(split[1])) + { + oldrate = LoadProperties.xpGainMultiplier; + + if(split.length >= 3 && (split[2].equalsIgnoreCase("true") || split[2].equalsIgnoreCase("false"))) + { + if(split[2].equalsIgnoreCase("true")) + xpevent = true; + else + xpevent = false; + } else + { + System.out.println(mcLocale.getString("Commands.xprate.proper3")); + return true; + } + LoadProperties.xpGainMultiplier = m.getInt(split[1]); + if(xpevent = true) + for(Player x : Bukkit.getServer().getOnlinePlayers()) + { + x.sendMessage(ChatColor.GOLD+"XP EVENT FOR mcMMO HAS STARTED!"); + x.sendMessage(ChatColor.GOLD+"mcMMO XP RATE IS NOW "+LoadProperties.xpGainMultiplier+"x!!"); + } + } + } + } + /* + * FFS -> MySQL + */ + else if(label.equalsIgnoreCase("mmoupdate")) + { + if(!mcPermissions.getInstance().admin(player)) + { + player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); + return true; + } + player.sendMessage(ChatColor.GRAY+"Starting conversion..."); + Users.clearUsers(); + m.convertToMySQL(); + for(Player x : Bukkit.getServer().getOnlinePlayers()) + { + Users.addUser(x); + } + player.sendMessage(ChatColor.GREEN+"Conversion finished!"); + } + + /* + * LEADER BOARD COMMAND + */ + else if(LoadProperties.mctopEnable && label.equalsIgnoreCase(LoadProperties.mctop)){ + + if(LoadProperties.useMySQL == false){ + /* + * POWER LEVEL INFO RETRIEVAL + */ + if(split.length == 1){ + int p = 1; + String[] info = Leaderboard.retrieveInfo(SkillType.ALL.toString(), p); + player.sendMessage(mcLocale.getString("mcPlayerListener.PowerLevelLeaderboard")); + int n = 1 * p; //Position + for(String x : info){ + if(x != null){ + String digit = String.valueOf(n); + if(n < 10) + digit ="0"+String.valueOf(n); + String[] splitx = x.split(":"); + //Format: 1. Playername - skill value + player.sendMessage(digit+". "+ChatColor.GREEN+splitx[1]+" - "+ChatColor.WHITE+splitx[0]); + n++; + } + } + } + if(split.length >= 2 && m.isInt(split[1])){ + int p = 1; + //Grab page value if specified + if(split.length >= 2){ + if(m.isInt(split[1])){ + p = Integer.valueOf(split[1]); + } + } + int pt = p; + if(p > 1){ + pt -= 1; + pt += (pt * 10); + pt = 10; + } + String[] info = Leaderboard.retrieveInfo(SkillType.ALL.toString(), p); + player.sendMessage(mcLocale.getString("mcPlayerListener.PowerLevelLeaderboard")); + int n = 1 * pt; //Position + for(String x : info){ + if(x != null){ + String digit = String.valueOf(n); + if(n < 10) + digit ="0"+String.valueOf(n); + String[] splitx = x.split(":"); + //Format: 1. Playername - skill value + player.sendMessage(digit+". "+ChatColor.GREEN+splitx[1]+" - "+ChatColor.WHITE+splitx[0]); + n++; + } + } + } + /* + * SKILL SPECIFIED INFO RETRIEVAL + */ + if(split.length >= 2 && Skills.isSkill(split[1])) + { + int p = 1; + //Grab page value if specified + if(split.length >= 3) + { + if(m.isInt(split[2])){ + p = Integer.valueOf(split[2]); + } + } + int pt = p; + if(p > 1){ + pt -= 1; + pt += (pt * 10); + pt = 10; + } + String firstLetter = split[1].substring(0,1); // Get first letter + String remainder = split[1].substring(1); // Get remainder of word. + String capitalized = firstLetter.toUpperCase() + remainder.toLowerCase(); + + String[] info = Leaderboard.retrieveInfo(split[1].toUpperCase(), p); + player.sendMessage(mcLocale.getString("mcPlayerListener.SkillLeaderboard", new Object[] {capitalized})); + int n = 1 * pt; //Position + for(String x : info) + { + if(x != null) + { + String digit = String.valueOf(n); + if(n < 10) + digit ="0"+String.valueOf(n); + String[] splitx = x.split(":"); + //Format: 1. Playername - skill value + player.sendMessage(digit+". "+ChatColor.GREEN+splitx[1]+" - "+ChatColor.WHITE+splitx[0]); + n++; + } + } + } + } else { + /* + * MYSQL LEADERBOARDS + */ + String powerlevel = "taming+mining+woodcutting+repair+unarmed+herbalism+excavation+archery+swords+axes+acrobatics"; + if(split.length >= 2 && Skills.isSkill(split[1])){ + /* + * Create a nice consistent capitalized leaderboard name + */ + String lowercase = split[1].toLowerCase(); //For the query + String firstLetter = split[1].substring(0,1); //Get first letter + String remainder = split[1].substring(1); //Get remainder of word. + String capitalized = firstLetter.toUpperCase() + remainder.toLowerCase(); + + player.sendMessage(mcLocale.getString("mcPlayerListener.SkillLeaderboard", new Object[] {capitalized})); + if(split.length >= 3 && m.isInt(split[2])){ + int n = 1; //For the page number + int n2 = Integer.valueOf(split[2]); + if(n2 > 1){ + //Figure out the 'page' here + n = 10; + n = n * (n2-1); + } + //If a page number is specified + HashMap> userslist = mcMMO.database.Read("SELECT "+lowercase+", user_id FROM " + +LoadProperties.MySQLtablePrefix+"skills WHERE "+lowercase+" > 0 ORDER BY `"+LoadProperties.MySQLtablePrefix+"skills`.`"+lowercase+"` DESC "); + + for(int i=n;i<=n+10;i++){ + if (i > userslist.size() || mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'") == null) + break; + HashMap> username = mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'"); + player.sendMessage(String.valueOf(i)+". "+ChatColor.GREEN+userslist.get(i).get(0)+" - "+ChatColor.WHITE+username.get(1).get(0)); + } + return true; + } + //If no page number is specified + HashMap> userslist = mcMMO.database.Read("SELECT "+lowercase+", user_id FROM " + +LoadProperties.MySQLtablePrefix+"skills WHERE "+lowercase+" > 0 ORDER BY `"+LoadProperties.MySQLtablePrefix+"skills`.`"+lowercase+"` DESC "); + for(int i=1;i<=10;i++){ //i<=userslist.size() + if (i > userslist.size() || mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'") == null) + break; + HashMap> username = mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'"); + player.sendMessage(String.valueOf(i)+". "+ChatColor.GREEN+userslist.get(i).get(0)+" - "+ChatColor.WHITE+username.get(1).get(0)); + } + return true; + } + if(split.length >= 1){ + player.sendMessage(mcLocale.getString("mcPlayerListener.PowerLevelLeaderboard")); + if(split.length >= 2 && m.isInt(split[1])){ + int n = 1; //For the page number + int n2 = Integer.valueOf(split[1]); + if(n2 > 1){ + //Figure out the 'page' here + n = 10; + n = n * (n2-1); + } + //If a page number is specified + HashMap> userslist = mcMMO.database.Read("SELECT "+powerlevel+", user_id FROM " + +LoadProperties.MySQLtablePrefix+"skills WHERE "+powerlevel+" > 0 ORDER BY taming+mining+woodcutting+repair+unarmed+herbalism+excavation+archery+swords+axes+acrobatics DESC "); + for(int i=n;i<=n+10;i++){ + if (i > userslist.size() || mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'") == null) + break; + HashMap> username = mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'"); + player.sendMessage(String.valueOf(i)+". "+ChatColor.GREEN+userslist.get(i).get(0)+" - "+ChatColor.WHITE+username.get(1).get(0)); + } + return true; + } + HashMap> userslist = mcMMO.database.Read("SELECT taming+mining+woodcutting+repair+unarmed+herbalism+excavation+archery+swords+axes+acrobatics, user_id FROM " + +LoadProperties.MySQLtablePrefix+"skills WHERE "+powerlevel+" > 0 ORDER BY taming+mining+woodcutting+repair+unarmed+herbalism+excavation+archery+swords+axes+acrobatics DESC "); + for(int i=1;i<=10;i++){ + if (i > userslist.size() || mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'") == null) + break; + HashMap> username = mcMMO.database.Read("SELECT user FROM "+LoadProperties.MySQLtablePrefix+"users WHERE id = '" + Integer.valueOf(userslist.get(i).get(1)) + "'"); + player.sendMessage(String.valueOf(i)+". "+ChatColor.GREEN+userslist.get(i).get(0)+" - "+ChatColor.WHITE+username.get(1).get(0)); + //System.out.println(username.get(1).get(0)); + //System.out.println("Mining : " + userslist.get(i).get(0) + ", User id : " + userslist.get(i).get(1)); + } + } + } + } + + else if(LoadProperties.mcrefreshEnable && label.equalsIgnoreCase(LoadProperties.mcrefresh)){ + + if(!mcPermissions.getInstance().mcrefresh(player)){ + player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); + return true; + } + if(split.length >= 2 && isPlayer(split[1])){ + player.sendMessage("You have refreshed "+split[1]+"'s cooldowns!"); + player = getPlayer(split[1]); + } + /* + * PREP MODES + */ + PP = Users.getProfile(player); + PP.setRecentlyHurt((long) 0); + PP.setHoePreparationMode(false); + PP.setAxePreparationMode(false); + PP.setFistsPreparationMode(false); + PP.setSwordsPreparationMode(false); + PP.setPickaxePreparationMode(false); + /* + * GREEN TERRA + */ + PP.setGreenTerraMode(false); + PP.setGreenTerraDeactivatedTimeStamp((long) 0); + + /* + * GIGA DRILL BREAKER + */ + PP.setGigaDrillBreakerMode(false); + PP.setGigaDrillBreakerDeactivatedTimeStamp((long) 0); + /* + * SERRATED STRIKE + */ + PP.setSerratedStrikesMode(false); + PP.setSerratedStrikesDeactivatedTimeStamp((long) 0); + /* + * SUPER BREAKER + */ + PP.setSuperBreakerMode(false); + PP.setSuperBreakerDeactivatedTimeStamp((long) 0); + /* + * TREE FELLER + */ + PP.setTreeFellerMode(false); + PP.setTreeFellerDeactivatedTimeStamp((long) 0); + /* + * BERSERK + */ + PP.setBerserkMode(false); + PP.setBerserkDeactivatedTimeStamp((long)0); + + player.sendMessage(mcLocale.getString("mcPlayerListener.AbilitiesRefreshed")); + } + /* + * GODMODE COMMAND + */ + else if(LoadProperties.mcgodEnable && label.equalsIgnoreCase(LoadProperties.mcgod)) + { + if(mcPermissions.permissionsEnabled) + { + if(!mcPermissions.getInstance().mcgod(player)) + { + player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); + return true; + } + if(PP.getGodMode()) + { + player.sendMessage(mcLocale.getString("mcPlayerListener.GodModeDisabled")); + PP.toggleGodMode(); + } else + { + player.sendMessage(mcLocale.getString("mcPlayerListener.GodModeEnabled")); + PP.toggleGodMode(); + } + } + } + else if(LoadProperties.clearmyspawnEnable && LoadProperties.enableMySpawn && label.equalsIgnoreCase(LoadProperties.clearmyspawn) && mcPermissions.getInstance().mySpawn(player)) + { + double x = Bukkit.getServer().getWorlds().get(0).getSpawnLocation().getX(); + double y = Bukkit.getServer().getWorlds().get(0).getSpawnLocation().getY(); + double z = Bukkit.getServer().getWorlds().get(0).getSpawnLocation().getZ(); + String worldname = Bukkit.getServer().getWorlds().get(0).getName(); + PP.setMySpawn(x, y, z, worldname); + player.sendMessage(mcLocale.getString("mcPlayerListener.MyspawnCleared")); + } + else if(LoadProperties.mmoeditEnable && mcPermissions.permissionsEnabled && label.equalsIgnoreCase(""+LoadProperties.mmoedit)) + { + + if(!mcPermissions.getInstance().mmoedit(player)) + { + player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); + return true; + } + if(split.length < 3) + { + player.sendMessage(ChatColor.RED+"Usage is /"+LoadProperties.mmoedit+" playername skillname newvalue"); + return true; + } + if(split.length == 4) + { + if(isPlayer(split[1]) && m.isInt(split[3]) && Skills.isSkill(split[2])) + { + int newvalue = Integer.valueOf(split[3]); + Users.getProfile(getPlayer(split[1])).modifyskill(Skills.getSkillType(split[2]), newvalue); + player.sendMessage(ChatColor.RED+split[2]+" has been modified."); + } + } + else if(split.length == 3) + { + if(m.isInt(split[2]) && Skills.isSkill(split[1])) + { + int newvalue = Integer.valueOf(split[2]); + PP.modifyskill(Skills.getSkillType(split[1]), newvalue); + player.sendMessage(ChatColor.RED+split[1]+" has been modified."); + } + } else + { + player.sendMessage(ChatColor.RED+"Usage is /"+LoadProperties.mmoedit+" playername skillname newvalue"); + } + } + /* + * ADD EXPERIENCE COMMAND + */ + else if(LoadProperties.addxpEnable && mcPermissions.permissionsEnabled && label.equalsIgnoreCase(LoadProperties.addxp)){ + + if(!mcPermissions.getInstance().mmoedit(player)){ + player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); + return true; + } + if(split.length < 3){ + player.sendMessage(ChatColor.RED+"Usage is /"+LoadProperties.addxp+" playername skillname xp"); + return true; + } + if(split.length == 4){ + if(isPlayer(split[1]) && m.isInt(split[3]) && Skills.isSkill(split[2])) + { + int newvalue = Integer.valueOf(split[3]); + Users.getProfile(getPlayer(split[1])).addXP(Skills.getSkillType(split[2]), newvalue); + getPlayer(split[1]).sendMessage(ChatColor.GREEN+"Experience granted!"); + player.sendMessage(ChatColor.RED+split[2]+" has been modified."); + Skills.XpCheckAll(getPlayer(split[1])); + } + } + else if(split.length == 3 && m.isInt(split[2]) && Skills.isSkill(split[1])) + { + int newvalue = Integer.valueOf(split[2]); + Users.getProfile(player).addXP(Skills.getSkillType(split[1]), newvalue); + player.sendMessage(ChatColor.RED+split[1]+" has been modified."); + } else { + player.sendMessage(ChatColor.RED+"Usage is /"+LoadProperties.addxp+" playername skillname xp"); + } + } + else if(LoadProperties.ptpEnable && label.equalsIgnoreCase(LoadProperties.ptp) && PP.inParty()) + { + if(!mcPermissions.getInstance().partyTeleport(player)) + { + player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); + return true; + } + if(split.length < 2) + { + player.sendMessage(ChatColor.RED+"Usage is /"+LoadProperties.ptp+" "); + return true; + } + if(!isPlayer(split[1])) + { + player.sendMessage("That is not a valid player"); + } + if(isPlayer(split[1])) + { + Player target = getPlayer(split[1]); + PlayerProfile PPt = Users.getProfile(target); + if(PP.getParty().equals(PPt.getParty())) + { + player.teleport(target); + player.sendMessage(ChatColor.GREEN+"You have teleported to "+target.getName()); + target.sendMessage(ChatColor.GREEN+player.getName() + " has teleported to you."); + } + } + } + /* + * WHOIS COMMAND + */ + else if(LoadProperties.whoisEnable && label.equalsIgnoreCase(LoadProperties.whois) && mcPermissions.getInstance().whois(player)){ + if(split.length < 2){ + player.sendMessage(ChatColor.RED + "Proper usage is /"+LoadProperties.whois+" "); + return true; + } + //if split[1] is a player + if(isPlayer(split[1])) + { + Player target = getPlayer(split[1]); + PlayerProfile PPt = Users.getProfile(target); + + player.sendMessage(ChatColor.GREEN + "~~WHOIS RESULTS~~"); + player.sendMessage(target.getName()); + if(PPt.inParty()) + player.sendMessage("Party: "+PPt.getParty()); + player.sendMessage("Health: "+target.getHealth()+ChatColor.GRAY+" (20 is full health)"); + player.sendMessage("OP: " + target.isOp()); + player.sendMessage(ChatColor.GREEN+"mcMMO Stats for "+ChatColor.YELLOW+target.getName()); + + player.sendMessage(ChatColor.GOLD+"-=GATHERING SKILLS=-"); + if(mcPermissions.getInstance().excavation(target)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.ExcavationSkill"), PPt.getSkillLevel(SkillType.EXCAVATION), PPt.getSkillXpLevel(SkillType.EXCAVATION), PPt.getXpToLevel(SkillType.EXCAVATION))); + if(mcPermissions.getInstance().herbalism(target)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.HerbalismSkill"), PPt.getSkillLevel(SkillType.HERBALISM), PPt.getSkillXpLevel(SkillType.HERBALISM), PPt.getXpToLevel(SkillType.HERBALISM))); + if(mcPermissions.getInstance().mining(target)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.MiningSkill"), PPt.getSkillLevel(SkillType.MINING), PPt.getSkillXpLevel(SkillType.MINING), PPt.getXpToLevel(SkillType.MINING))); + if(mcPermissions.getInstance().woodcutting(target)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.WoodcuttingSkill"), PPt.getSkillLevel(SkillType.WOODCUTTING), PPt.getSkillXpLevel(SkillType.WOODCUTTING), PPt.getXpToLevel(SkillType.WOODCUTTING))); + + player.sendMessage(ChatColor.GOLD+"-=COMBAT SKILLS=-"); + if(mcPermissions.getInstance().axes(target)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.AxesSkill"), PPt.getSkillLevel(SkillType.AXES), PPt.getSkillXpLevel(SkillType.AXES), PPt.getXpToLevel(SkillType.AXES))); + if(mcPermissions.getInstance().archery(player)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.ArcherySkill"), PPt.getSkillLevel(SkillType.ARCHERY), PPt.getSkillXpLevel(SkillType.ARCHERY), PPt.getXpToLevel(SkillType.ARCHERY))); + //if(mcPermissions.getInstance().sorcery(target)) + //player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.SorcerySkill"), PPt.getSkill("sorcery"), PPt.getSkill("sorceryXP"), PPt.getXpToLevel("excavation"))); + if(mcPermissions.getInstance().swords(target)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.SwordsSkill"), PPt.getSkillLevel(SkillType.SWORDS), PPt.getSkillXpLevel(SkillType.SWORDS), PPt.getXpToLevel(SkillType.SWORDS))); + if(mcPermissions.getInstance().taming(target)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.TamingSkill"), PPt.getSkillLevel(SkillType.TAMING), PPt.getSkillXpLevel(SkillType.TAMING), PPt.getXpToLevel(SkillType.TAMING))); + if(mcPermissions.getInstance().unarmed(target)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.UnarmedSkill"), PPt.getSkillLevel(SkillType.UNARMED), PPt.getSkillXpLevel(SkillType.UNARMED), PPt.getXpToLevel(SkillType.UNARMED))); + + player.sendMessage(ChatColor.GOLD+"-=MISC SKILLS=-"); + if(mcPermissions.getInstance().acrobatics(target)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.AcrobaticsSkill"), PPt.getSkillLevel(SkillType.ACROBATICS), PPt.getSkillXpLevel(SkillType.ACROBATICS), PPt.getXpToLevel(SkillType.ACROBATICS))); + if(mcPermissions.getInstance().repair(target)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.RepairSkill"), PPt.getSkillLevel(SkillType.REPAIR), PPt.getSkillXpLevel(SkillType.REPAIR), PPt.getXpToLevel(SkillType.REPAIR))); + + player.sendMessage(mcLocale.getString("mcPlayerListener.PowerLevel") +ChatColor.GREEN+(m.getPowerLevel(target))); + } + } + /* + * STATS COMMAND + */ + else if(LoadProperties.statsEnable && label.equalsIgnoreCase(LoadProperties.stats)) + { + + player.sendMessage(mcLocale.getString("mcPlayerListener.YourStats")); + + if(mcPermissions.getEnabled()) + player.sendMessage(mcLocale.getString("mcPlayerListener.NoSkillNote")); + + ChatColor header = ChatColor.GOLD; + + if(Skills.hasGatheringSkills(player)){ + player.sendMessage(header+"-=GATHERING SKILLS=-"); + if(mcPermissions.getInstance().excavation(player)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.ExcavationSkill"), PP.getSkillLevel(SkillType.EXCAVATION), PP.getSkillXpLevel(SkillType.EXCAVATION), PP.getXpToLevel(SkillType.EXCAVATION))); + if(mcPermissions.getInstance().herbalism(player)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.HerbalismSkill"), PP.getSkillLevel(SkillType.HERBALISM), PP.getSkillXpLevel(SkillType.HERBALISM), PP.getXpToLevel(SkillType.HERBALISM))); + if(mcPermissions.getInstance().mining(player)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.MiningSkill"), PP.getSkillLevel(SkillType.MINING), PP.getSkillXpLevel(SkillType.MINING), PP.getXpToLevel(SkillType.MINING))); + if(mcPermissions.getInstance().woodcutting(player)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.WoodcuttingSkill"), PP.getSkillLevel(SkillType.WOODCUTTING), PP.getSkillXpLevel(SkillType.WOODCUTTING), PP.getXpToLevel(SkillType.WOODCUTTING))); + } + if(Skills.hasCombatSkills(player)){ + player.sendMessage(header+"-=COMBAT SKILLS=-"); + if(mcPermissions.getInstance().axes(player)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.AxesSkill"), PP.getSkillLevel(SkillType.AXES), PP.getSkillXpLevel(SkillType.AXES), PP.getXpToLevel(SkillType.AXES))); + if(mcPermissions.getInstance().archery(player)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.ArcherySkill"), PP.getSkillLevel(SkillType.ARCHERY), PP.getSkillXpLevel(SkillType.ARCHERY), PP.getXpToLevel(SkillType.ARCHERY))); + //if(mcPermissions.getInstance().sorcery(player)) + //player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.SorcerySkill"), PP.getSkill("sorcery"), PP.getSkill("sorceryXP"), PP.getXpToLevel("excavation"))); + if(mcPermissions.getInstance().swords(player)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.SwordsSkill"), PP.getSkillLevel(SkillType.SWORDS), PP.getSkillXpLevel(SkillType.SWORDS), PP.getXpToLevel(SkillType.SWORDS))); + if(mcPermissions.getInstance().taming(player)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.TamingSkill"), PP.getSkillLevel(SkillType.TAMING), PP.getSkillXpLevel(SkillType.TAMING), PP.getXpToLevel(SkillType.TAMING))); + if(mcPermissions.getInstance().unarmed(player)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.UnarmedSkill"), PP.getSkillLevel(SkillType.UNARMED), PP.getSkillXpLevel(SkillType.UNARMED), PP.getXpToLevel(SkillType.UNARMED))); + } + + if(Skills.hasMiscSkills(player)){ + player.sendMessage(header+"-=MISC SKILLS=-"); + if(mcPermissions.getInstance().acrobatics(player)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.AcrobaticsSkill"), PP.getSkillLevel(SkillType.ACROBATICS), PP.getSkillXpLevel(SkillType.ACROBATICS), PP.getXpToLevel(SkillType.ACROBATICS))); + if(mcPermissions.getInstance().repair(player)) + player.sendMessage(Skills.getSkillStats(mcLocale.getString("mcPlayerListener.RepairSkill"), PP.getSkillLevel(SkillType.REPAIR), PP.getSkillXpLevel(SkillType.REPAIR), PP.getXpToLevel(SkillType.REPAIR))); + } + player.sendMessage(mcLocale.getString("mcPlayerListener.PowerLevel")+ChatColor.GREEN+(m.getPowerLevel(player))); + } + //Invite Command + else if(LoadProperties.inviteEnable && label.equalsIgnoreCase(LoadProperties.invite) && mcPermissions.getInstance().party(player)){ + + Party Pinstance = Party.getInstance(); + + if(!PP.inParty()) + { + player.sendMessage(mcLocale.getString("mcPlayerListener.NotInParty")); + return true; + } + if(split.length < 2) + { + player.sendMessage(ChatColor.RED+"Usage is /"+LoadProperties.invite+" "); + return true; + } + if(PP.inParty() && split.length >= 2 && isPlayer(split[1])) + { + if(Pinstance.canInvite(player, PP)) { + Player target = getPlayer(split[1]); + PlayerProfile PPt = Users.getProfile(target); + PPt.modifyInvite(PP.getParty()); + + + player.sendMessage(mcLocale.getString("mcPlayerListener.InviteSuccess")); + //target.sendMessage(ChatColor.RED+"ALERT: "+ChatColor.GREEN+"You have received a party invite for "+PPt.getInvite()+" from "+player.getName()); + target.sendMessage(mcLocale.getString("mcPlayerListener.ReceivedInvite1", new Object[] {PPt.getInvite(), player.getName()})); + //target.sendMessage(ChatColor.YELLOW+"Type "+ChatColor.GREEN+LoadProperties.accept+ChatColor.YELLOW+" to accept the invite"); + target.sendMessage(mcLocale.getString("mcPlayerListener.ReceivedInvite2", new Object[] {LoadProperties.accept})); + } else { + player.sendMessage(mcLocale.getString("Party.Locked")); + return true; + } + } + } + //Accept invite + else if(LoadProperties.acceptEnable && label.equalsIgnoreCase(LoadProperties.accept) && mcPermissions.getInstance().party(player)) + { + if(PP.hasPartyInvite()) + { + Party Pinstance = Party.getInstance(); + + if(PP.inParty()) + { + Pinstance.removeFromParty(player, PP); + } + PP.acceptInvite(); + Pinstance.addToParty(player, PP, PP.getParty(), true); + + } else + { + player.sendMessage(mcLocale.getString("mcPlayerListener.NoInvites")); + } + } + //Party command + else if(LoadProperties.partyEnable && label.equalsIgnoreCase(LoadProperties.party)) + { + if(!mcPermissions.getInstance().party(player)) + { + player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); + return true; + } + + Party Pinstance = Party.getInstance(); + + if(PP.inParty() && (!Pinstance.isParty(PP.getParty()) || !Pinstance.isInParty(player, PP))) + { + Pinstance.addToParty(player, PP, PP.getParty(), false); + } + + if(args.length == 0 && !PP.inParty()) + { + player.sendMessage(mcLocale.getString("Party.Help1", new Object[] {LoadProperties.party})); + player.sendMessage(mcLocale.getString("Party.Help2", new Object[] {LoadProperties.party})); + player.sendMessage(mcLocale.getString("Party.Help3", new Object[] {LoadProperties.party})); + return true; + } else if(args.length == 0 && PP.inParty()) + { + String tempList = ""; + int x = 0; + for(Player p : Bukkit.getServer().getOnlinePlayers()) + { + if(PP.getParty().equals(Users.getProfile(p).getParty())) + { + if(p != null && x+1 >= Pinstance.partyCount(player, Bukkit.getServer().getOnlinePlayers())) + { + if(Pinstance.isPartyLeader(p, PP.getParty())) + { + tempList+=ChatColor.GOLD+p.getName(); + x++; + } + else + { + tempList+= ChatColor.WHITE+p.getName(); + x++; + } + } + if(p != null && x < Pinstance.partyCount(player, Bukkit.getServer().getOnlinePlayers())) + { + if(Pinstance.isPartyLeader(p, PP.getParty())) + { + tempList+=ChatColor.GOLD+p.getName()+", "; + x++; + } + else + { + tempList+= ChatColor.WHITE+p.getName()+", "; + x++; + } + } + } + } + player.sendMessage(mcLocale.getString("mcPlayerListener.YouAreInParty", new Object[] {PP.getParty()})); + player.sendMessage(mcLocale.getString("mcPlayerListener.PartyMembers")+" ("+tempList+ChatColor.GREEN+")"); + return true; + } else if(args.length == 1) + { + if(args[0].equals("q") && PP.inParty()) + { + Pinstance.removeFromParty(player, PP); + + player.sendMessage(mcLocale.getString("mcPlayerListener.LeftParty")); + return true; + } else if (args[0].equalsIgnoreCase("?")) { + player.sendMessage(mcLocale.getString("Party.Help4", new Object[] {LoadProperties.party})); + player.sendMessage(mcLocale.getString("Party.Help2", new Object[] {LoadProperties.party})); + player.sendMessage(mcLocale.getString("Party.Help5", new Object[] {LoadProperties.party})); + player.sendMessage(mcLocale.getString("Party.Help6", new Object[] {LoadProperties.party})); + player.sendMessage(mcLocale.getString("Party.Help7", new Object[] {LoadProperties.party})); + player.sendMessage(mcLocale.getString("Party.Help8", new Object[] {LoadProperties.party})); + player.sendMessage(mcLocale.getString("Party.Help9", new Object[] {LoadProperties.party})); + } else if (args[0].equalsIgnoreCase("lock")) + { + if(PP.inParty()) + { + if(Pinstance.isPartyLeader(player, PP.getParty())) + { + Pinstance.lockParty(PP.getParty()); + player.sendMessage(mcLocale.getString("Party.Locked")); + } else + { + player.sendMessage(mcLocale.getString("Party.NotOwner")); + } + } else + { + player.sendMessage(mcLocale.getString("Party.InvalidName")); + } + } else if (args[0].equalsIgnoreCase("unlock")) + { + if(PP.inParty()) + { + if(Pinstance.isPartyLeader(player, PP.getParty())) + { + Pinstance.unlockParty(PP.getParty()); + player.sendMessage(mcLocale.getString("Party.Unlocked")); + } else + { + player.sendMessage(mcLocale.getString("Party.NotOwner")); + } + } else + { + player.sendMessage(mcLocale.getString("Party.InvalidName")); + } + //Party debugging command. + //} else if (args[0].equalsIgnoreCase("dump")) { + // Pinstance.dump(player); + } else + { + if(PP.inParty()) + { + Pinstance.removeFromParty(player, PP); + } + Pinstance.addToParty(player, PP, args[0], false); + return true; + } + } else if(args.length == 2 && PP.inParty()) + { + if(args[0].equalsIgnoreCase("password")) + { + if(Pinstance.isPartyLeader(player, PP.getParty())) + { + if(Pinstance.isPartyLocked(PP.getParty())) + { + Pinstance.setPartyPassword(PP.getParty(), args[1]); + player.sendMessage(mcLocale.getString("Party.PasswordSet", new Object[] {args[1]})); + } else + { + player.sendMessage(mcLocale.getString("Party.IsntLocked")); + } + } else + { + player.sendMessage(mcLocale.getString("Party.NotOwner")); + } + } else if(args[0].equalsIgnoreCase("kick")) + { + if(Pinstance.isPartyLeader(player, PP.getParty())) + { + if(Pinstance.isPartyLocked(PP.getParty())) + { + Player tPlayer = null; + if(Bukkit.getServer().getPlayer(args[1]) != null) tPlayer = Bukkit.getServer().getPlayer(args[1]); + if(tPlayer == null) + { + player.sendMessage(mcLocale.getString("Party.CouldNotKick", new Object[] {args[1]})); + } + if(!Pinstance.inSameParty(player, tPlayer)) + { + player.sendMessage(mcLocale.getString("Party.NotInYourParty", new Object[] {tPlayer.getName()})); + } else + { + //Not an admin + if(!mcPermissions.getInstance().admin(player)) + { + //Can't kick an admin + if(mcPermissions.getInstance().admin(tPlayer)) + { + player.sendMessage(mcLocale.getString("Party.CouldNotKick", new Object[] {tPlayer.getName()})); + } + } + PlayerProfile tPP = Users.getProfile(tPlayer); + + Pinstance.removeFromParty(tPlayer, tPP); + + tPlayer.sendMessage(mcLocale.getString("mcPlayerListener.LeftParty")); + } + } else { + player.sendMessage(mcLocale.getString("Party.IsntLocked")); + } + } else { + player.sendMessage(mcLocale.getString("Party.NotOwner")); + } + } else if(args[0].equalsIgnoreCase("owner")) + { + if(Pinstance.isPartyLeader(player, PP.getParty())) + { + Player tPlayer = null; + if(Bukkit.getServer().getPlayer(args[1]) != null) tPlayer = Bukkit.getServer().getPlayer(args[1]); + if(tPlayer == null) + { + player.sendMessage(mcLocale.getString("Party.CouldNotSetOwner", new Object[] {args[1]})); + } + if(!Pinstance.inSameParty(player, tPlayer)) + { + player.sendMessage(mcLocale.getString("Party.CouldNotSetOwner", new Object[] {tPlayer.getName()})); + } else + { + Pinstance.setPartyLeader(PP.getParty(), tPlayer.getName()); + } + } else + { + player.sendMessage(mcLocale.getString("Party.NotOwner")); + } + } else + { + Pinstance.removeFromParty(player, PP); + Pinstance.addToParty(player, PP, args[0], false, args[1]); + } + } else if(args.length == 2 && !PP.inParty()) + { + Pinstance.addToParty(player, PP, args[0], false, args[1]); + } + } + else if(LoadProperties.partyEnable && label.equalsIgnoreCase("p")){ + + // Console message? + if(!(sender instanceof Player)) + { + if(args.length < 2) return true; + String pMessage = args[1]; + for (int i = 2; i <= args.length - 1; i++) { + pMessage = pMessage + " " + args[i]; + } + + String pPrefix = ChatColor.GREEN + "(" + ChatColor.WHITE + + "*Console*" + ChatColor.GREEN + ") "; + + log.log(Level.INFO, + "[P](" + args[0] + ")" + "<*Console*> " + + pMessage); + + for(Player herp : Bukkit.getServer().getOnlinePlayers()) { + if(Users.getProfile(herp).inParty()) { + if(Users.getProfile(herp).getParty().equalsIgnoreCase(args[0])) { + herp.sendMessage(pPrefix + pMessage); + } + } + } + return true; + } + + if(!mcPermissions.getInstance().party(player)){ + player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); + return true; + } + + // Not a toggle, a message + + if (args.length >= 1) { + String pMessage = args[0]; + for (int i = 1; i <= args.length - 1; i++) { + pMessage = pMessage + " " + args[i]; + } + String pPrefix = ChatColor.GREEN + "(" + ChatColor.WHITE + + player.getDisplayName() + ChatColor.GREEN + ") "; + + log.log(Level.INFO, + "[P](" + PP.getParty() + ")" + "<" + player.getDisplayName() + + "> " + pMessage); + + for (Player herp : Bukkit.getServer().getOnlinePlayers()) { + if (Users.getProfile(herp).inParty()) { + if (Party.getInstance().inSameParty(herp, player)) + herp.sendMessage(pPrefix + pMessage); + } + } + + return true; + } + + if(PP.getAdminChatMode()) + PP.toggleAdminChat(); + + PP.togglePartyChat(); + + if(PP.getPartyChatMode()){ + //player.sendMessage(ChatColor.GREEN + "Party Chat Toggled On"); + player.sendMessage(mcLocale.getString("mcPlayerListener.PartyChatOn")); + } else { + //player.sendMessage(ChatColor.GREEN + "Party Chat Toggled " + ChatColor.RED + "Off"); + player.sendMessage(mcLocale.getString("mcPlayerListener.PartyChatOff")); + } + } + + else if(label.equalsIgnoreCase("a")){ + // Console message? + if(!(sender instanceof Player) && args.length >= 1) + { + String aMessage = args[0]; + for (int i = 1; i <= args.length - 1; i++) { + aMessage = aMessage + " " + args[i]; + } + + String aPrefix = ChatColor.AQUA + "{" + ChatColor.WHITE + + "*Console*" + ChatColor.AQUA + "} "; + + log.log(Level.INFO, "[A]<*Console*> " + + aMessage); + + for (Player herp : Bukkit.getServer().getOnlinePlayers()) { + if (mcPermissions.getInstance().adminChat(herp) || herp.isOp()) + herp.sendMessage(aPrefix + aMessage); + } + return true; + } + + if(!mcPermissions.getInstance().adminChat(player) && !player.isOp()) + { + player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); + return true; + } + + // Not a toggle, a message + + if (args.length >= 1) { + String aMessage = args[0]; + for (int i = 1; i <= args.length - 1; i++) { + aMessage = aMessage + " " + args[i]; + } + + String aPrefix = ChatColor.AQUA + "{" + ChatColor.WHITE + + player.getDisplayName() + ChatColor.AQUA + "} "; + log.log(Level.INFO, "[A]<" + player.getDisplayName() + "> " + + aMessage); + for (Player herp : Bukkit.getServer().getOnlinePlayers()) { + if (mcPermissions.getInstance().adminChat(herp) || herp.isOp()) + herp.sendMessage(aPrefix + aMessage); + } + return true; + } + + if(PP.getPartyChatMode()) + PP.togglePartyChat(); + + PP.toggleAdminChat(); + + if(PP.getAdminChatMode()) + { + player.sendMessage(mcLocale.getString("mcPlayerListener.AdminChatOn")); + //player.sendMessage(ChatColor.AQUA + "Admin chat toggled " + ChatColor.GREEN + "On"); + } else { + player.sendMessage(mcLocale.getString("mcPlayerListener.AdminChatOff")); + //player.sendMessage(ChatColor.AQUA + "Admin chat toggled " + ChatColor.RED + "Off"); + } + } + + /* + * MYSPAWN + */ + else if(LoadProperties.myspawnEnable && LoadProperties.enableMySpawn && label.equalsIgnoreCase(LoadProperties.myspawn)) + { + if(!mcPermissions.getInstance().mySpawn(player)){ + player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); + return true; + } + if(System.currentTimeMillis() < (PP.getMySpawnATS()*1000) + 3600000){ + long x = (((PP.getMySpawnATS()*1000) + 3600000) - System.currentTimeMillis()); + int y = (int) (x/60000); + int z = (int) ((x/1000) - (y*60)); + player.sendMessage(mcLocale.getString("mcPlayerListener.MyspawnTimeNotice", new Object[] {y, z})); + return true; + } + PP.setMySpawnATS(System.currentTimeMillis()); + if(PP.getMySpawn(player) != null) + { + Location mySpawn = PP.getMySpawn(player); + + if(mySpawn != null){ + //It's done twice because it acts oddly when you are in another world + player.teleport(mySpawn); + player.teleport(mySpawn); + } + } else { + player.sendMessage(mcLocale.getString("mcPlayerListener.MyspawnNotExist")); + } + } + else if(LoadProperties.spoutEnabled && LoadProperties.xpbar && LoadProperties.xplockEnable && label.equalsIgnoreCase(LoadProperties.xplock)) + { + if(split.length >= 2 && Skills.isSkill(split[1]) && mcPermissions.permission(player, "mcmmo.skills."+Skills.getSkillType(split[1]).toString().toLowerCase())) + { + if(PP.getXpBarLocked()) + { + PP.setSkillLock(Skills.getSkillType(split[1])); + player.sendMessage(mcLocale.getString("Commands.xplock.locked", new Object[] {m.getCapitalized(PP.getSkillLock().toString())})); + } + else + { + PP.setSkillLock(Skills.getSkillType(split[1])); + PP.toggleXpBarLocked(); + player.sendMessage(mcLocale.getString("Commands.xplock.locked", new Object[] {m.getCapitalized(PP.getSkillLock().toString())})); + } + SpoutStuff.updateXpBar(player); + } else if (split.length < 2) + { + if(PP.getXpBarLocked()) + { + PP.toggleXpBarLocked(); + player.sendMessage(mcLocale.getString("Commands.xplock.unlocked")); + } else if(PP.getLastGained() != null) + { + PP.toggleXpBarLocked(); + PP.setSkillLock(PP.getLastGained()); + player.sendMessage(mcLocale.getString("Commands.xplock.locked", new Object[] {m.getCapitalized(PP.getSkillLock().toString())})); + } + } + else if (split.length >= 2 && !Skills.isSkill(split[1])) + { + player.sendMessage("Commands.xplock.invalid"); + } + else if(split.length >= 2 && Skills.isSkill(split[1]) && !mcPermissions.permission(player, "mcmmo.skills."+Skills.getSkillType(split[1]).toString().toLowerCase())) + { + player.sendMessage(ChatColor.YELLOW+"[mcMMO] "+ChatColor.DARK_RED +mcLocale.getString("mcPlayerListener.NoPermission")); + return true; + } + } + else if (LoadProperties.spoutEnabled && label.equalsIgnoreCase("mchud")) + { + if(split.length >= 2) + { + for(HUDType x : HUDType.values()) + { + if(x.toString().toLowerCase().equals(split[1].toLowerCase())) + { + if(SpoutStuff.playerHUDs.containsKey(player)) + { + SpoutStuff.playerHUDs.get(player).resetHUD(); + SpoutStuff.playerHUDs.remove(player); + PP.setHUDType(x); + SpoutStuff.playerHUDs.put(player, new HUDmmo(player)); + } + } + } + } + } + return true; + } +} diff --git a/mcMMO/com/gmail/nossr50/config/LoadProperties.java b/src/com/gmail/nossr50/config/LoadProperties.java similarity index 100% rename from mcMMO/com/gmail/nossr50/config/LoadProperties.java rename to src/com/gmail/nossr50/config/LoadProperties.java diff --git a/mcMMO/com/gmail/nossr50/config/Misc.java b/src/com/gmail/nossr50/config/Misc.java similarity index 96% rename from mcMMO/com/gmail/nossr50/config/Misc.java rename to src/com/gmail/nossr50/config/Misc.java index cca2578cd..8078ecf34 100644 --- a/mcMMO/com/gmail/nossr50/config/Misc.java +++ b/src/com/gmail/nossr50/config/Misc.java @@ -1,74 +1,74 @@ -package com.gmail.nossr50.config; - -import java.util.*; -import java.util.logging.Logger; -import org.bukkit.block.Block; -import org.bukkit.entity.Entity; -import org.bukkit.entity.LivingEntity; - -import com.gmail.nossr50.mcMMO; - -public class Misc -{ - String location = "mcmmo.properties"; - - protected static final Logger log = Logger.getLogger("Minecraft"); - - public ArrayList mobSpawnerList = new ArrayList(); - public ArrayList blockWatchList = new ArrayList(); - public ArrayList treeFeller = new ArrayList(); - public HashMap arrowTracker = new HashMap(); - public ArrayList bleedTracker = new ArrayList(); - mcMMO plugin = null; - - //BLEED QUE STUFF - public LivingEntity[] bleedQue = new LivingEntity[20]; - public int bleedQuePos = 0; - public LivingEntity[] bleedRemovalQue = new LivingEntity[20]; - public int bleedRemovalQuePos = 0; - - public Misc(mcMMO mcMMO) - { - plugin = mcMMO; - } - - public void addToBleedQue(LivingEntity entity) - { - //Assign entity to empty position - bleedQue[bleedQuePos] = entity; - - //Move position up by 1 increment - bleedQuePos++; - - //Check if array is full - if(bleedQuePos >= bleedQue.length) - { - //Create new temporary array - LivingEntity[] temp = new LivingEntity[bleedQue.length*2]; - //Copy data from bleedQue to temporary array - System.arraycopy(bleedQue, 0, temp, 0, bleedQue.length); - //Point bleedQue to new array - bleedQue = temp; - } - } - - public void addToBleedRemovalQue(LivingEntity entity) - { - //Assign entity to empty position - bleedRemovalQue[bleedRemovalQuePos] = entity; - - //Move position up by 1 increment - bleedRemovalQuePos++; - - //Check if array is full - if(bleedRemovalQuePos >= bleedRemovalQue.length) - { - //Create new temporary array - LivingEntity[] temp = new LivingEntity[bleedRemovalQue.length*2]; - //Copy data from bleedRemovalQue to temporary array - System.arraycopy(bleedRemovalQue, 0, temp, 0, bleedRemovalQue.length); - //Point bleedRemovalQue to new array - bleedRemovalQue = temp; - } - } +package com.gmail.nossr50.config; + +import java.util.*; +import java.util.logging.Logger; +import org.bukkit.block.Block; +import org.bukkit.entity.Entity; +import org.bukkit.entity.LivingEntity; + +import com.gmail.nossr50.mcMMO; + +public class Misc +{ + String location = "mcmmo.properties"; + + protected static final Logger log = Logger.getLogger("Minecraft"); + + public ArrayList mobSpawnerList = new ArrayList(); + public ArrayList blockWatchList = new ArrayList(); + public ArrayList treeFeller = new ArrayList(); + public HashMap arrowTracker = new HashMap(); + public ArrayList bleedTracker = new ArrayList(); + mcMMO plugin = null; + + //BLEED QUE STUFF + public LivingEntity[] bleedQue = new LivingEntity[20]; + public int bleedQuePos = 0; + public LivingEntity[] bleedRemovalQue = new LivingEntity[20]; + public int bleedRemovalQuePos = 0; + + public Misc(mcMMO mcMMO) + { + plugin = mcMMO; + } + + public void addToBleedQue(LivingEntity entity) + { + //Assign entity to empty position + bleedQue[bleedQuePos] = entity; + + //Move position up by 1 increment + bleedQuePos++; + + //Check if array is full + if(bleedQuePos >= bleedQue.length) + { + //Create new temporary array + LivingEntity[] temp = new LivingEntity[bleedQue.length*2]; + //Copy data from bleedQue to temporary array + System.arraycopy(bleedQue, 0, temp, 0, bleedQue.length); + //Point bleedQue to new array + bleedQue = temp; + } + } + + public void addToBleedRemovalQue(LivingEntity entity) + { + //Assign entity to empty position + bleedRemovalQue[bleedRemovalQuePos] = entity; + + //Move position up by 1 increment + bleedRemovalQuePos++; + + //Check if array is full + if(bleedRemovalQuePos >= bleedRemovalQue.length) + { + //Create new temporary array + LivingEntity[] temp = new LivingEntity[bleedRemovalQue.length*2]; + //Copy data from bleedRemovalQue to temporary array + System.arraycopy(bleedRemovalQue, 0, temp, 0, bleedRemovalQue.length); + //Point bleedRemovalQue to new array + bleedRemovalQue = temp; + } + } } \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/datatypes/FakeBlockBreakEvent.java b/src/com/gmail/nossr50/datatypes/FakeBlockBreakEvent.java similarity index 96% rename from mcMMO/com/gmail/nossr50/datatypes/FakeBlockBreakEvent.java rename to src/com/gmail/nossr50/datatypes/FakeBlockBreakEvent.java index 46a608e9a..5309720c2 100644 --- a/mcMMO/com/gmail/nossr50/datatypes/FakeBlockBreakEvent.java +++ b/src/com/gmail/nossr50/datatypes/FakeBlockBreakEvent.java @@ -1,13 +1,13 @@ -package com.gmail.nossr50.datatypes; - -import org.bukkit.block.Block; -import org.bukkit.entity.Player; -import org.bukkit.event.block.BlockBreakEvent; - -public class FakeBlockBreakEvent extends BlockBreakEvent { - private static final long serialVersionUID = 1L; - - public FakeBlockBreakEvent(Block theBlock, Player player) { - super(theBlock, player); - } +package com.gmail.nossr50.datatypes; + +import org.bukkit.block.Block; +import org.bukkit.entity.Player; +import org.bukkit.event.block.BlockBreakEvent; + +public class FakeBlockBreakEvent extends BlockBreakEvent { + private static final long serialVersionUID = 1L; + + public FakeBlockBreakEvent(Block theBlock, Player player) { + super(theBlock, player); + } } \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/datatypes/HUDType.java b/src/com/gmail/nossr50/datatypes/HUDType.java similarity index 91% rename from mcMMO/com/gmail/nossr50/datatypes/HUDType.java rename to src/com/gmail/nossr50/datatypes/HUDType.java index bf8d44d30..919854cab 100644 --- a/mcMMO/com/gmail/nossr50/datatypes/HUDType.java +++ b/src/com/gmail/nossr50/datatypes/HUDType.java @@ -1,8 +1,8 @@ -package com.gmail.nossr50.datatypes; - -public enum HUDType -{ - STANDARD, - SMALL, - RETRO; -} +package com.gmail.nossr50.datatypes; + +public enum HUDType +{ + STANDARD, + SMALL, + RETRO; +} diff --git a/mcMMO/com/gmail/nossr50/datatypes/HUDmmo.java b/src/com/gmail/nossr50/datatypes/HUDmmo.java similarity index 96% rename from mcMMO/com/gmail/nossr50/datatypes/HUDmmo.java rename to src/com/gmail/nossr50/datatypes/HUDmmo.java index 141bd8023..f4450a79b 100644 --- a/mcMMO/com/gmail/nossr50/datatypes/HUDmmo.java +++ b/src/com/gmail/nossr50/datatypes/HUDmmo.java @@ -1,256 +1,256 @@ -package com.gmail.nossr50.datatypes; - -import org.bukkit.Bukkit; -import org.bukkit.entity.Player; -import org.getspout.spoutapi.SpoutManager; -import org.getspout.spoutapi.gui.Color; -import org.getspout.spoutapi.gui.GenericGradient; -import org.getspout.spoutapi.gui.GenericTexture; -import org.getspout.spoutapi.gui.RenderPriority; -import org.getspout.spoutapi.gui.Widget; -import org.getspout.spoutapi.player.SpoutPlayer; - -import com.gmail.nossr50.Users; -import com.gmail.nossr50.m; -import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.config.LoadProperties; -import com.gmail.nossr50.spout.SpoutStuff; -import com.gmail.nossr50.spout.mmoHelper; - -public class HUDmmo -{ - int center_x = 427/2; - int center_y = 240/2; - - String playerName = null; - Widget xpbar = null; - GenericGradient xpfill = null; - GenericGradient xpbg = null; - GenericGradient xpicon_bg = null; - GenericGradient xpicon_border = null; - GenericTexture xpicon = null; - mcMMO plugin = (mcMMO) Bukkit.getServer().getPluginManager().getPlugin("mcMMO"); - - public HUDmmo(Player player) - { - playerName = player.getName(); - initializeHUD(player); - } - - public void initializeHUD(Player player) - { - HUDType type = Users.getProfile(player).getHUDType(); - switch(type) - { - case RETRO: - { - initializeXpBarDisplayRetro(SpoutManager.getPlayer(player)); - break; - } - case STANDARD: - { - initializeXpBarDisplayStandard(SpoutManager.getPlayer(player)); - break; - } - case SMALL: - { - initializeXpBarDisplaySmall(SpoutManager.getPlayer(player)); - break; - } - } - } - - public void updateXpBarDisplay(HUDType type, Player player) - { - switch(type) - { - case RETRO: - { - updateXpBarRetro(player, Users.getProfile(player)); - break; - } - case STANDARD: - { - updateXpBarStandard(player, Users.getProfile(player)); - break; - } - case SMALL: - { - updateXpBarStandard(player, Users.getProfile(player)); - break; - } - } - } - - public void resetHUD() - { - SpoutPlayer sPlayer = SpoutStuff.getSpoutPlayer(playerName); - if(sPlayer != null) - { - sPlayer.getMainScreen().removeWidgets(plugin); - - //Reset the objects - xpbar = null; - xpfill = null; - xpbg = null; - xpicon = null; - - mmoHelper.initialize(sPlayer, plugin); - sPlayer.getMainScreen().setDirty(true); - } - } - - private void initializeXpBarDisplayRetro(SpoutPlayer sPlayer) - { - Color border = new Color((float)LoadProperties.xpborder_r, (float)LoadProperties.xpborder_g, (float)LoadProperties.xpborder_b, 1f); - Color green = new Color(0, 1f, 0, 1f); - Color background = new Color((float)LoadProperties.xpbackground_r, (float)LoadProperties.xpbackground_g, (float)LoadProperties.xpbackground_b, 1f); - Color darkbg = new Color(0.2f, 0.2f, 0.2f, 1f); - - xpicon = new GenericTexture(); - xpbar = new GenericGradient(); - xpfill = new GenericGradient(); - xpbg = new GenericGradient(); - - xpicon_bg = new GenericGradient(); - xpicon_border = new GenericGradient(); - - xpicon_bg.setBottomColor(darkbg).setTopColor(darkbg).setWidth(4).setHeight(4).setPriority(RenderPriority.High).setX(142).setY(10).setDirty(true); - xpicon_border.setBottomColor(border).setTopColor(border).setWidth(6).setHeight(6).setPriority(RenderPriority.Highest).setX(141).setY(9).setDirty(true); - - xpicon.setWidth(6).setHeight(6).setX(141).setY(9).setPriority(RenderPriority.Normal).setDirty(true); - xpicon.setUrl("Icon_r.png"); - - xpbar.setWidth(128).setHeight(4).setX(149).setY(10); - ((GenericGradient) xpbar).setBottomColor(border).setTopColor(border).setPriority(RenderPriority.Highest).setDirty(true); - - xpfill.setWidth(0).setHeight(2).setX(150).setY(11); - xpfill.setBottomColor(green).setTopColor(green).setPriority(RenderPriority.Lowest).setDirty(true); - - xpbg.setWidth(126).setHeight(2).setX(150).setY(11); - xpbg.setBottomColor(background).setTopColor(background).setPriority(RenderPriority.Low).setDirty(true); - - if(LoadProperties.xpbar) - { - sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpbar); - sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpfill); - sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpbg); - if(LoadProperties.xpicon) - { - sPlayer.getMainScreen().attachWidget(plugin, (GenericTexture)xpicon); - sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpicon_bg); - } - sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpicon_border); - } - - sPlayer.getMainScreen().setDirty(true); - } - - private void initializeXpBarDisplayStandard(SpoutPlayer sPlayer) - { - //Setup xp bar - xpbar = new GenericTexture(); - - if(LoadProperties.xpbar && LoadProperties.xpicon) - { - xpicon = new GenericTexture(); - - xpicon.setUrl("Icon.png"); - - xpicon.setHeight(16).setWidth(32).setX(LoadProperties.xpicon_x).setY(LoadProperties.xpicon_y); - - xpicon.setDirty(true); - - sPlayer.getMainScreen().attachWidget(plugin, xpicon); - } - - if(LoadProperties.xpbar) - { - ((GenericTexture)xpbar).setUrl("xpbar_inc000.png"); - xpbar.setX(LoadProperties.xpbar_x).setY(LoadProperties.xpbar_y).setHeight(8).setWidth(256); - - sPlayer.getMainScreen().attachWidget(plugin, xpbar); - } - sPlayer.getMainScreen().setDirty(true); - } - - private void initializeXpBarDisplaySmall(SpoutPlayer sPlayer) - { - //Setup xp bar - xpbar = new GenericTexture(); - - if(LoadProperties.xpbar && LoadProperties.xpicon) - { - xpicon = new GenericTexture(); - - xpicon.setUrl("Icon.png"); - - xpicon.setHeight(8).setWidth(16).setX(center_x-(8+64)).setY(LoadProperties.xpicon_y+2); - - xpicon.setDirty(true); - - sPlayer.getMainScreen().attachWidget(plugin, xpicon); - } - - if(LoadProperties.xpbar) - { - ((GenericTexture)xpbar).setUrl("xpbar_inc000.png"); - xpbar.setX(center_x-64).setY(LoadProperties.xpbar_y).setHeight(4).setWidth(128); - - sPlayer.getMainScreen().attachWidget(plugin, xpbar); - } - - sPlayer.getMainScreen().setDirty(true); - } - - private void updateXpBarStandard(Player player, PlayerProfile PP) - { - if(!LoadProperties.xpbar) - return; - - SkillType theType = null; - - if(PP.getXpBarLocked()) - theType=PP.getSkillLock(); - else - theType=PP.getLastGained(); - - if(theType == null) - return; - - ((GenericTexture) xpicon).setUrl(m.getCapitalized(theType.toString())+".png"); - xpicon.setDirty(true); - - ((GenericTexture) xpbar).setUrl(SpoutStuff.getUrlBar(SpoutStuff.getXpInc(PP.getSkillXpLevel(theType), PP.getXpToLevel(theType), HUDType.STANDARD))); - xpbar.setDirty(true); - - SpoutManager.getPlayer(player).getMainScreen().setDirty(true); - } - - private void updateXpBarRetro(Player player, PlayerProfile PP) - { - if(!LoadProperties.xpbar) - return; - SkillType theType = null; - - if(PP.getXpBarLocked() && PP.getSkillLock() != null) - theType=PP.getSkillLock(); - else - theType=PP.getLastGained(); - - if(theType == null) - return; - - Color color = SpoutStuff.getRetroColor(theType); - - if(xpicon != null && theType != null) - xpicon.setUrl(m.getCapitalized(theType.toString())+"_r.png"); - - if(theType != null) - xpfill.setBottomColor(color).setTopColor(color).setWidth(SpoutStuff.getXpInc(PP.getSkillXpLevel(theType), PP.getXpToLevel(theType), HUDType.RETRO)).setDirty(true); - else - System.out.println("theType was null!"); - - SpoutManager.getPlayer(player).getMainScreen().setDirty(true); - } +package com.gmail.nossr50.datatypes; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.getspout.spoutapi.SpoutManager; +import org.getspout.spoutapi.gui.Color; +import org.getspout.spoutapi.gui.GenericGradient; +import org.getspout.spoutapi.gui.GenericTexture; +import org.getspout.spoutapi.gui.RenderPriority; +import org.getspout.spoutapi.gui.Widget; +import org.getspout.spoutapi.player.SpoutPlayer; + +import com.gmail.nossr50.Users; +import com.gmail.nossr50.m; +import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.config.LoadProperties; +import com.gmail.nossr50.spout.SpoutStuff; +import com.gmail.nossr50.spout.mmoHelper; + +public class HUDmmo +{ + int center_x = 427/2; + int center_y = 240/2; + + String playerName = null; + Widget xpbar = null; + GenericGradient xpfill = null; + GenericGradient xpbg = null; + GenericGradient xpicon_bg = null; + GenericGradient xpicon_border = null; + GenericTexture xpicon = null; + mcMMO plugin = (mcMMO) Bukkit.getServer().getPluginManager().getPlugin("mcMMO"); + + public HUDmmo(Player player) + { + playerName = player.getName(); + initializeHUD(player); + } + + public void initializeHUD(Player player) + { + HUDType type = Users.getProfile(player).getHUDType(); + switch(type) + { + case RETRO: + { + initializeXpBarDisplayRetro(SpoutManager.getPlayer(player)); + break; + } + case STANDARD: + { + initializeXpBarDisplayStandard(SpoutManager.getPlayer(player)); + break; + } + case SMALL: + { + initializeXpBarDisplaySmall(SpoutManager.getPlayer(player)); + break; + } + } + } + + public void updateXpBarDisplay(HUDType type, Player player) + { + switch(type) + { + case RETRO: + { + updateXpBarRetro(player, Users.getProfile(player)); + break; + } + case STANDARD: + { + updateXpBarStandard(player, Users.getProfile(player)); + break; + } + case SMALL: + { + updateXpBarStandard(player, Users.getProfile(player)); + break; + } + } + } + + public void resetHUD() + { + SpoutPlayer sPlayer = SpoutStuff.getSpoutPlayer(playerName); + if(sPlayer != null) + { + sPlayer.getMainScreen().removeWidgets(plugin); + + //Reset the objects + xpbar = null; + xpfill = null; + xpbg = null; + xpicon = null; + + mmoHelper.initialize(sPlayer, plugin); + sPlayer.getMainScreen().setDirty(true); + } + } + + private void initializeXpBarDisplayRetro(SpoutPlayer sPlayer) + { + Color border = new Color((float)LoadProperties.xpborder_r, (float)LoadProperties.xpborder_g, (float)LoadProperties.xpborder_b, 1f); + Color green = new Color(0, 1f, 0, 1f); + Color background = new Color((float)LoadProperties.xpbackground_r, (float)LoadProperties.xpbackground_g, (float)LoadProperties.xpbackground_b, 1f); + Color darkbg = new Color(0.2f, 0.2f, 0.2f, 1f); + + xpicon = new GenericTexture(); + xpbar = new GenericGradient(); + xpfill = new GenericGradient(); + xpbg = new GenericGradient(); + + xpicon_bg = new GenericGradient(); + xpicon_border = new GenericGradient(); + + xpicon_bg.setBottomColor(darkbg).setTopColor(darkbg).setWidth(4).setHeight(4).setPriority(RenderPriority.High).setX(142).setY(10).setDirty(true); + xpicon_border.setBottomColor(border).setTopColor(border).setWidth(6).setHeight(6).setPriority(RenderPriority.Highest).setX(141).setY(9).setDirty(true); + + xpicon.setWidth(6).setHeight(6).setX(141).setY(9).setPriority(RenderPriority.Normal).setDirty(true); + xpicon.setUrl("Icon_r.png"); + + xpbar.setWidth(128).setHeight(4).setX(149).setY(10); + ((GenericGradient) xpbar).setBottomColor(border).setTopColor(border).setPriority(RenderPriority.Highest).setDirty(true); + + xpfill.setWidth(0).setHeight(2).setX(150).setY(11); + xpfill.setBottomColor(green).setTopColor(green).setPriority(RenderPriority.Lowest).setDirty(true); + + xpbg.setWidth(126).setHeight(2).setX(150).setY(11); + xpbg.setBottomColor(background).setTopColor(background).setPriority(RenderPriority.Low).setDirty(true); + + if(LoadProperties.xpbar) + { + sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpbar); + sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpfill); + sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpbg); + if(LoadProperties.xpicon) + { + sPlayer.getMainScreen().attachWidget(plugin, (GenericTexture)xpicon); + sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpicon_bg); + } + sPlayer.getMainScreen().attachWidget(plugin, (GenericGradient)xpicon_border); + } + + sPlayer.getMainScreen().setDirty(true); + } + + private void initializeXpBarDisplayStandard(SpoutPlayer sPlayer) + { + //Setup xp bar + xpbar = new GenericTexture(); + + if(LoadProperties.xpbar && LoadProperties.xpicon) + { + xpicon = new GenericTexture(); + + xpicon.setUrl("Icon.png"); + + xpicon.setHeight(16).setWidth(32).setX(LoadProperties.xpicon_x).setY(LoadProperties.xpicon_y); + + xpicon.setDirty(true); + + sPlayer.getMainScreen().attachWidget(plugin, xpicon); + } + + if(LoadProperties.xpbar) + { + ((GenericTexture)xpbar).setUrl("xpbar_inc000.png"); + xpbar.setX(LoadProperties.xpbar_x).setY(LoadProperties.xpbar_y).setHeight(8).setWidth(256); + + sPlayer.getMainScreen().attachWidget(plugin, xpbar); + } + sPlayer.getMainScreen().setDirty(true); + } + + private void initializeXpBarDisplaySmall(SpoutPlayer sPlayer) + { + //Setup xp bar + xpbar = new GenericTexture(); + + if(LoadProperties.xpbar && LoadProperties.xpicon) + { + xpicon = new GenericTexture(); + + xpicon.setUrl("Icon.png"); + + xpicon.setHeight(8).setWidth(16).setX(center_x-(8+64)).setY(LoadProperties.xpicon_y+2); + + xpicon.setDirty(true); + + sPlayer.getMainScreen().attachWidget(plugin, xpicon); + } + + if(LoadProperties.xpbar) + { + ((GenericTexture)xpbar).setUrl("xpbar_inc000.png"); + xpbar.setX(center_x-64).setY(LoadProperties.xpbar_y).setHeight(4).setWidth(128); + + sPlayer.getMainScreen().attachWidget(plugin, xpbar); + } + + sPlayer.getMainScreen().setDirty(true); + } + + private void updateXpBarStandard(Player player, PlayerProfile PP) + { + if(!LoadProperties.xpbar) + return; + + SkillType theType = null; + + if(PP.getXpBarLocked()) + theType=PP.getSkillLock(); + else + theType=PP.getLastGained(); + + if(theType == null) + return; + + ((GenericTexture) xpicon).setUrl(m.getCapitalized(theType.toString())+".png"); + xpicon.setDirty(true); + + ((GenericTexture) xpbar).setUrl(SpoutStuff.getUrlBar(SpoutStuff.getXpInc(PP.getSkillXpLevel(theType), PP.getXpToLevel(theType), HUDType.STANDARD))); + xpbar.setDirty(true); + + SpoutManager.getPlayer(player).getMainScreen().setDirty(true); + } + + private void updateXpBarRetro(Player player, PlayerProfile PP) + { + if(!LoadProperties.xpbar) + return; + SkillType theType = null; + + if(PP.getXpBarLocked() && PP.getSkillLock() != null) + theType=PP.getSkillLock(); + else + theType=PP.getLastGained(); + + if(theType == null) + return; + + Color color = SpoutStuff.getRetroColor(theType); + + if(xpicon != null && theType != null) + xpicon.setUrl(m.getCapitalized(theType.toString())+"_r.png"); + + if(theType != null) + xpfill.setBottomColor(color).setTopColor(color).setWidth(SpoutStuff.getXpInc(PP.getSkillXpLevel(theType), PP.getXpToLevel(theType), HUDType.RETRO)).setDirty(true); + else + System.out.println("theType was null!"); + + SpoutManager.getPlayer(player).getMainScreen().setDirty(true); + } } \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/datatypes/HealthBarMMO.java b/src/com/gmail/nossr50/datatypes/HealthBarMMO.java similarity index 96% rename from mcMMO/com/gmail/nossr50/datatypes/HealthBarMMO.java rename to src/com/gmail/nossr50/datatypes/HealthBarMMO.java index 09d9dfcbd..0d92e8a0a 100644 --- a/mcMMO/com/gmail/nossr50/datatypes/HealthBarMMO.java +++ b/src/com/gmail/nossr50/datatypes/HealthBarMMO.java @@ -1,26 +1,26 @@ -package com.gmail.nossr50.datatypes; - -import org.bukkit.ChatColor; -import org.bukkit.entity.LivingEntity; -import org.getspout.spoutapi.gui.GenericLabel; -import org.getspout.spoutapi.gui.GenericTexture; - -import com.gmail.nossr50.spout.SpoutStuff; - -public class HealthBarMMO -{ - public GenericTexture health_bar = null; - public GenericLabel health_name = null; - public String playerName = null; - - public HealthBarMMO(LivingEntity entity, String name) - { - health_name = new GenericLabel(); - health_name.setText(ChatColor.GREEN+name).setDirty(true); - - health_bar = new GenericTexture(); - health_bar.setUrl(SpoutStuff.getHealthBarURL(entity.getHealth())).setHeight(8).setWidth(64).setDirty(true); - - playerName = name; - } -} +package com.gmail.nossr50.datatypes; + +import org.bukkit.ChatColor; +import org.bukkit.entity.LivingEntity; +import org.getspout.spoutapi.gui.GenericLabel; +import org.getspout.spoutapi.gui.GenericTexture; + +import com.gmail.nossr50.spout.SpoutStuff; + +public class HealthBarMMO +{ + public GenericTexture health_bar = null; + public GenericLabel health_name = null; + public String playerName = null; + + public HealthBarMMO(LivingEntity entity, String name) + { + health_name = new GenericLabel(); + health_name.setText(ChatColor.GREEN+name).setDirty(true); + + health_bar = new GenericTexture(); + health_bar.setUrl(SpoutStuff.getHealthBarURL(entity.getHealth())).setHeight(8).setWidth(64).setDirty(true); + + playerName = name; + } +} diff --git a/mcMMO/com/gmail/nossr50/datatypes/Mob.java b/src/com/gmail/nossr50/datatypes/Mob.java similarity index 94% rename from mcMMO/com/gmail/nossr50/datatypes/Mob.java rename to src/com/gmail/nossr50/datatypes/Mob.java index d87be7233..6332f3017 100644 --- a/mcMMO/com/gmail/nossr50/datatypes/Mob.java +++ b/src/com/gmail/nossr50/datatypes/Mob.java @@ -1,76 +1,76 @@ -package com.gmail.nossr50.datatypes; - -import java.util.HashMap; - -import org.bukkit.entity.*; - -public class Mob -{ - public HashMap mobDiff = new HashMap(); - public HashMap isAggressive = new HashMap(); - - public void assignDifficulty(Entity entity) - { - short x = 0; - - if(entity.getLocation().getY() >= 45) - { - //LEVEL 2 - if(Math.random() * 100 > 50) - { - x = 0; - } - //LEVEL 3 - else - { - x = 1; - } - } - else - { - double y = Math.random() * 100; - //HIGH CHANCE FOR 5's - if(entity.getLocation().getY() < 20) - { - //ASSIGN INTO THE 5 RANKS - if(y >= 0 && y < 50) - x = 0; - if(y >= 50 && y < 80) - x = 1; - if(y >= 80 && y < 95) - x = 2; - if(y >= 95 && y < 98) - x = 3; - if(y >= 98 && y <= 100) - x = 4; - } - //HIGH CHANCE FOR 4's - else - { - //ASSIGN INTO THE 5 RANKS - if(y >= 0 && y < 50) - x = 0; - if(y >= 50 && y < 74) - x = 1; - if(y >= 74 && y < 89) - x = 2; - if(y >= 89 && y < 99) - x = 3; - if(y >= 99 && y <= 100) - x = 4; - } - if(x > 1) - { - isAggressive.put(entity.getEntityId(), false); - } - - } - - if(!mobDiff.containsKey(entity.getEntityId())) - { - mobDiff.put(entity.getEntityId(), x); - //System.out.println("Mob "+entity.getEntityId()+" (DIFFICULTY) "+ - //(x +1)+"(DEPTH) "+entity.getLocation().getY()); - } - } -} +package com.gmail.nossr50.datatypes; + +import java.util.HashMap; + +import org.bukkit.entity.*; + +public class Mob +{ + public HashMap mobDiff = new HashMap(); + public HashMap isAggressive = new HashMap(); + + public void assignDifficulty(Entity entity) + { + short x = 0; + + if(entity.getLocation().getY() >= 45) + { + //LEVEL 2 + if(Math.random() * 100 > 50) + { + x = 0; + } + //LEVEL 3 + else + { + x = 1; + } + } + else + { + double y = Math.random() * 100; + //HIGH CHANCE FOR 5's + if(entity.getLocation().getY() < 20) + { + //ASSIGN INTO THE 5 RANKS + if(y >= 0 && y < 50) + x = 0; + if(y >= 50 && y < 80) + x = 1; + if(y >= 80 && y < 95) + x = 2; + if(y >= 95 && y < 98) + x = 3; + if(y >= 98 && y <= 100) + x = 4; + } + //HIGH CHANCE FOR 4's + else + { + //ASSIGN INTO THE 5 RANKS + if(y >= 0 && y < 50) + x = 0; + if(y >= 50 && y < 74) + x = 1; + if(y >= 74 && y < 89) + x = 2; + if(y >= 89 && y < 99) + x = 3; + if(y >= 99 && y <= 100) + x = 4; + } + if(x > 1) + { + isAggressive.put(entity.getEntityId(), false); + } + + } + + if(!mobDiff.containsKey(entity.getEntityId())) + { + mobDiff.put(entity.getEntityId(), x); + //System.out.println("Mob "+entity.getEntityId()+" (DIFFICULTY) "+ + //(x +1)+"(DEPTH) "+entity.getLocation().getY()); + } + } +} diff --git a/mcMMO/com/gmail/nossr50/datatypes/PlayerProfile.java b/src/com/gmail/nossr50/datatypes/PlayerProfile.java similarity index 100% rename from mcMMO/com/gmail/nossr50/datatypes/PlayerProfile.java rename to src/com/gmail/nossr50/datatypes/PlayerProfile.java diff --git a/mcMMO/com/gmail/nossr50/datatypes/PlayerStat.java b/src/com/gmail/nossr50/datatypes/PlayerStat.java similarity index 94% rename from mcMMO/com/gmail/nossr50/datatypes/PlayerStat.java rename to src/com/gmail/nossr50/datatypes/PlayerStat.java index e88a58ac9..3c9cfd01d 100644 --- a/mcMMO/com/gmail/nossr50/datatypes/PlayerStat.java +++ b/src/com/gmail/nossr50/datatypes/PlayerStat.java @@ -1,7 +1,7 @@ -package com.gmail.nossr50.datatypes; - -public class PlayerStat -{ - public String name; - public int statVal = 0; +package com.gmail.nossr50.datatypes; + +public class PlayerStat +{ + public String name; + public int statVal = 0; } \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/datatypes/SkillType.java b/src/com/gmail/nossr50/datatypes/SkillType.java similarity index 92% rename from mcMMO/com/gmail/nossr50/datatypes/SkillType.java rename to src/com/gmail/nossr50/datatypes/SkillType.java index d951d6a96..9ae8afdab 100644 --- a/mcMMO/com/gmail/nossr50/datatypes/SkillType.java +++ b/src/com/gmail/nossr50/datatypes/SkillType.java @@ -1,17 +1,17 @@ -package com.gmail.nossr50.datatypes; - -public enum SkillType -{ - ACROBATICS, - ALL, //This one is just for convenience - ARCHERY, - AXES, - EXCAVATION, - HERBALISM, - MINING, - REPAIR, - SWORDS, - TAMING, - UNARMED, - WOODCUTTING; -} +package com.gmail.nossr50.datatypes; + +public enum SkillType +{ + ACROBATICS, + ALL, //This one is just for convenience + ARCHERY, + AXES, + EXCAVATION, + HERBALISM, + MINING, + REPAIR, + SWORDS, + TAMING, + UNARMED, + WOODCUTTING; +} diff --git a/mcMMO/com/gmail/nossr50/datatypes/Tree.java b/src/com/gmail/nossr50/datatypes/Tree.java similarity index 95% rename from mcMMO/com/gmail/nossr50/datatypes/Tree.java rename to src/com/gmail/nossr50/datatypes/Tree.java index fd77da0ec..4137144ec 100644 --- a/mcMMO/com/gmail/nossr50/datatypes/Tree.java +++ b/src/com/gmail/nossr50/datatypes/Tree.java @@ -1,39 +1,39 @@ -package com.gmail.nossr50.datatypes; - -import java.util.ArrayList; - -import com.gmail.nossr50.datatypes.PlayerStat; - -public class Tree { - - TreeNode root = null; - - public Tree(){} - - public void add(String p, int in) - { - if(root == null){ - root = new TreeNode(p, in); - } - else - root.add(p,in); - } - - public PlayerStat[] inOrder() - { - if(root != null){ - ArrayList order = root.inOrder(new ArrayList()); - return order.toArray(new PlayerStat[order.size()]); - } else { - //Throw some dummy info in case the users file is empty - //It's not a good fix but its better than rewriting the whole system - ArrayList x = new ArrayList(); - PlayerStat y = new PlayerStat(); - y.name = "$mcMMO_DummyInfo"; - y.statVal = 0; - x.add(y); - return x.toArray(new PlayerStat[x.size()]); - } - } - -} +package com.gmail.nossr50.datatypes; + +import java.util.ArrayList; + +import com.gmail.nossr50.datatypes.PlayerStat; + +public class Tree { + + TreeNode root = null; + + public Tree(){} + + public void add(String p, int in) + { + if(root == null){ + root = new TreeNode(p, in); + } + else + root.add(p,in); + } + + public PlayerStat[] inOrder() + { + if(root != null){ + ArrayList order = root.inOrder(new ArrayList()); + return order.toArray(new PlayerStat[order.size()]); + } else { + //Throw some dummy info in case the users file is empty + //It's not a good fix but its better than rewriting the whole system + ArrayList x = new ArrayList(); + PlayerStat y = new PlayerStat(); + y.name = "$mcMMO_DummyInfo"; + y.statVal = 0; + x.add(y); + return x.toArray(new PlayerStat[x.size()]); + } + } + +} diff --git a/mcMMO/com/gmail/nossr50/datatypes/TreeNode.java b/src/com/gmail/nossr50/datatypes/TreeNode.java similarity index 94% rename from mcMMO/com/gmail/nossr50/datatypes/TreeNode.java rename to src/com/gmail/nossr50/datatypes/TreeNode.java index 92223adc0..f60ec28d4 100644 --- a/mcMMO/com/gmail/nossr50/datatypes/TreeNode.java +++ b/src/com/gmail/nossr50/datatypes/TreeNode.java @@ -1,49 +1,49 @@ -package com.gmail.nossr50.datatypes; - -import java.util.ArrayList; - -import com.gmail.nossr50.datatypes.PlayerStat; - -public class TreeNode -{ - TreeNode left = null - , right = null; - PlayerStat ps = new PlayerStat(); - - public TreeNode(String p, int in) {ps.statVal = in; ps.name = p;} - - public void add (String p, int in) - { - if (in >= ps.statVal) - { - if (left == null) - left = new TreeNode(p,in); - else - left.add(p, in); - } - else if(in < ps.statVal) - { - if (right == null) - right = new TreeNode(p,in); - else - right.add(p, in); - } - } - - public ArrayList inOrder(ArrayList a) - { - //if left node is not null than assign arrayList(a) to left.inOrder() - - //GOES THROUGH THE ENTIRE LEFT BRANCH AND GRABS THE GREATEST NUMBER - - if(left != null) - a = left.inOrder(a); - - a.add(ps); - - if(right != null) - a = right.inOrder(a); - - return a; - } -} +package com.gmail.nossr50.datatypes; + +import java.util.ArrayList; + +import com.gmail.nossr50.datatypes.PlayerStat; + +public class TreeNode +{ + TreeNode left = null + , right = null; + PlayerStat ps = new PlayerStat(); + + public TreeNode(String p, int in) {ps.statVal = in; ps.name = p;} + + public void add (String p, int in) + { + if (in >= ps.statVal) + { + if (left == null) + left = new TreeNode(p,in); + else + left.add(p, in); + } + else if(in < ps.statVal) + { + if (right == null) + right = new TreeNode(p,in); + else + right.add(p, in); + } + } + + public ArrayList inOrder(ArrayList a) + { + //if left node is not null than assign arrayList(a) to left.inOrder() + + //GOES THROUGH THE ENTIRE LEFT BRANCH AND GRABS THE GREATEST NUMBER + + if(left != null) + a = left.inOrder(a); + + a.add(ps); + + if(right != null) + a = right.inOrder(a); + + return a; + } +} diff --git a/mcMMO/com/gmail/nossr50/datatypes/buttons/ButtonEscape.java b/src/com/gmail/nossr50/datatypes/buttons/ButtonEscape.java similarity index 95% rename from mcMMO/com/gmail/nossr50/datatypes/buttons/ButtonEscape.java rename to src/com/gmail/nossr50/datatypes/buttons/ButtonEscape.java index c25f6826b..d383a47ab 100644 --- a/mcMMO/com/gmail/nossr50/datatypes/buttons/ButtonEscape.java +++ b/src/com/gmail/nossr50/datatypes/buttons/ButtonEscape.java @@ -1,13 +1,13 @@ -package com.gmail.nossr50.datatypes.buttons; - -import org.getspout.spoutapi.gui.GenericButton; - -public class ButtonEscape extends GenericButton -{ - public ButtonEscape() - { - this.setText("EXIT"); - this.setWidth(60).setHeight(20); - this.setDirty(true); - } +package com.gmail.nossr50.datatypes.buttons; + +import org.getspout.spoutapi.gui.GenericButton; + +public class ButtonEscape extends GenericButton +{ + public ButtonEscape() + { + this.setText("EXIT"); + this.setWidth(60).setHeight(20); + this.setDirty(true); + } } \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/datatypes/buttons/ButtonHUDStyle.java b/src/com/gmail/nossr50/datatypes/buttons/ButtonHUDStyle.java similarity index 96% rename from mcMMO/com/gmail/nossr50/datatypes/buttons/ButtonHUDStyle.java rename to src/com/gmail/nossr50/datatypes/buttons/ButtonHUDStyle.java index 53c708e4d..9d347f5d3 100644 --- a/mcMMO/com/gmail/nossr50/datatypes/buttons/ButtonHUDStyle.java +++ b/src/com/gmail/nossr50/datatypes/buttons/ButtonHUDStyle.java @@ -1,21 +1,21 @@ -package com.gmail.nossr50.datatypes.buttons; - -import org.getspout.spoutapi.gui.GenericButton; - -import com.gmail.nossr50.datatypes.PlayerProfile; - -public class ButtonHUDStyle extends GenericButton -{ - public ButtonHUDStyle(PlayerProfile PP) - { - this.setText("HUD Type: "+PP.getHUDType().toString()); - this.setTooltip("Change your HUD style!"); - this.setWidth(120).setHeight(20); - this.setDirty(true); - } - public void updateText(PlayerProfile PP) - { - this.setText("HUD Type: "+PP.getHUDType().toString()); - this.setDirty(true); - } +package com.gmail.nossr50.datatypes.buttons; + +import org.getspout.spoutapi.gui.GenericButton; + +import com.gmail.nossr50.datatypes.PlayerProfile; + +public class ButtonHUDStyle extends GenericButton +{ + public ButtonHUDStyle(PlayerProfile PP) + { + this.setText("HUD Type: "+PP.getHUDType().toString()); + this.setTooltip("Change your HUD style!"); + this.setWidth(120).setHeight(20); + this.setDirty(true); + } + public void updateText(PlayerProfile PP) + { + this.setText("HUD Type: "+PP.getHUDType().toString()); + this.setDirty(true); + } } \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/datatypes/popups/PopupMMO.java b/src/com/gmail/nossr50/datatypes/popups/PopupMMO.java similarity index 97% rename from mcMMO/com/gmail/nossr50/datatypes/popups/PopupMMO.java rename to src/com/gmail/nossr50/datatypes/popups/PopupMMO.java index 8d7c7094a..a9c607dbf 100644 --- a/mcMMO/com/gmail/nossr50/datatypes/popups/PopupMMO.java +++ b/src/com/gmail/nossr50/datatypes/popups/PopupMMO.java @@ -1,49 +1,49 @@ -package com.gmail.nossr50.datatypes.popups; - -import org.bukkit.ChatColor; -import org.bukkit.entity.Player; -import org.getspout.spoutapi.gui.GenericLabel; -import org.getspout.spoutapi.gui.GenericPopup; -import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.datatypes.PlayerProfile; -import com.gmail.nossr50.datatypes.buttons.ButtonEscape; -import com.gmail.nossr50.datatypes.buttons.ButtonHUDStyle; - -public class PopupMMO extends GenericPopup -{ - ButtonHUDStyle HUDButton = null; - ButtonEscape EscapeButton = null; - GenericLabel mcMMO_label = new GenericLabel(); - GenericLabel tip_escape = new GenericLabel(); - int center_x = 427/2; - int center_y = 240/2; - - public PopupMMO(Player player, PlayerProfile PP, mcMMO plugin) - { - //240, 427 are the bottom right - mcMMO_label.setText(ChatColor.GOLD+"~mcMMO Menu~"); - mcMMO_label.setX(center_x-35).setY((center_y/2)-20).setDirty(true); - - tip_escape.setText(ChatColor.GRAY+"Press ESCAPE to exit!"); - tip_escape.setX(mcMMO_label.getX()-15).setY(mcMMO_label.getY()+10).setDirty(true); - - HUDButton = new ButtonHUDStyle(PP); - HUDButton.setX(center_x-(HUDButton.getWidth()/2)).setY(center_y/2).setDirty(true); - - EscapeButton = new ButtonEscape(); - EscapeButton.setX(center_x-(EscapeButton.getWidth()/2)).setY((center_y/2)+HUDButton.getHeight()+5).setDirty(true); - - this.attachWidget(plugin, HUDButton); - this.attachWidget(plugin, mcMMO_label); - this.attachWidget(plugin, tip_escape); - this.attachWidget(plugin, EscapeButton); - - this.setDirty(true); - } - - public void updateButtons(PlayerProfile PP) - { - HUDButton.updateText(PP); - this.setDirty(true); - } -} +package com.gmail.nossr50.datatypes.popups; + +import org.bukkit.ChatColor; +import org.bukkit.entity.Player; +import org.getspout.spoutapi.gui.GenericLabel; +import org.getspout.spoutapi.gui.GenericPopup; +import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.datatypes.PlayerProfile; +import com.gmail.nossr50.datatypes.buttons.ButtonEscape; +import com.gmail.nossr50.datatypes.buttons.ButtonHUDStyle; + +public class PopupMMO extends GenericPopup +{ + ButtonHUDStyle HUDButton = null; + ButtonEscape EscapeButton = null; + GenericLabel mcMMO_label = new GenericLabel(); + GenericLabel tip_escape = new GenericLabel(); + int center_x = 427/2; + int center_y = 240/2; + + public PopupMMO(Player player, PlayerProfile PP, mcMMO plugin) + { + //240, 427 are the bottom right + mcMMO_label.setText(ChatColor.GOLD+"~mcMMO Menu~"); + mcMMO_label.setX(center_x-35).setY((center_y/2)-20).setDirty(true); + + tip_escape.setText(ChatColor.GRAY+"Press ESCAPE to exit!"); + tip_escape.setX(mcMMO_label.getX()-15).setY(mcMMO_label.getY()+10).setDirty(true); + + HUDButton = new ButtonHUDStyle(PP); + HUDButton.setX(center_x-(HUDButton.getWidth()/2)).setY(center_y/2).setDirty(true); + + EscapeButton = new ButtonEscape(); + EscapeButton.setX(center_x-(EscapeButton.getWidth()/2)).setY((center_y/2)+HUDButton.getHeight()+5).setDirty(true); + + this.attachWidget(plugin, HUDButton); + this.attachWidget(plugin, mcMMO_label); + this.attachWidget(plugin, tip_escape); + this.attachWidget(plugin, EscapeButton); + + this.setDirty(true); + } + + public void updateButtons(PlayerProfile PP) + { + HUDButton.updateText(PP); + this.setDirty(true); + } +} diff --git a/mcMMO/com/gmail/nossr50/listeners/mcBlockListener.java b/src/com/gmail/nossr50/listeners/mcBlockListener.java similarity index 97% rename from mcMMO/com/gmail/nossr50/listeners/mcBlockListener.java rename to src/com/gmail/nossr50/listeners/mcBlockListener.java index 218848a26..79ba595d3 100644 --- a/mcMMO/com/gmail/nossr50/listeners/mcBlockListener.java +++ b/src/com/gmail/nossr50/listeners/mcBlockListener.java @@ -1,436 +1,436 @@ -package com.gmail.nossr50.listeners; - -import com.gmail.nossr50.Users; -import com.gmail.nossr50.m; -import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.mcPermissions; -import com.gmail.nossr50.config.LoadProperties; -import com.gmail.nossr50.spout.SpoutStuff; -import com.gmail.nossr50.datatypes.PlayerProfile; -import com.gmail.nossr50.datatypes.SkillType; -import org.bukkit.Material; -import org.bukkit.Statistic; -import org.bukkit.block.Block; -import org.bukkit.entity.Player; -import org.bukkit.event.block.BlockBreakEvent; -import org.bukkit.event.block.BlockDamageEvent; -import org.bukkit.event.block.BlockFromToEvent; -import org.bukkit.event.block.BlockListener; -import org.bukkit.event.block.BlockPlaceEvent; -import org.bukkit.inventory.ItemStack; -import org.getspout.spoutapi.SpoutManager; -import org.getspout.spoutapi.player.SpoutPlayer; -import org.getspout.spoutapi.sound.SoundEffect; - -import com.gmail.nossr50.locale.mcLocale; -import com.gmail.nossr50.skills.*; -import com.gmail.nossr50.datatypes.FakeBlockBreakEvent; - - -public class mcBlockListener extends BlockListener -{ - private final mcMMO plugin; - - public mcBlockListener(final mcMMO plugin) - { - this.plugin = plugin; - } - - public void onBlockPlace(BlockPlaceEvent event) - { - //Setup some basic vars - Block block; - Player player = event.getPlayer(); - - //When blocks are placed on snow this event reports the wrong block. - if (event.getBlockReplacedState() != null && event.getBlockReplacedState().getTypeId() == 78) - { - block = event.getBlockAgainst(); - } - else - { - block = event.getBlock(); - } - - //Check if the blocks placed should be monitored so they do not give out XP in the future - if(m.shouldBeWatched(block)) - { - if(block.getTypeId() != 17 && block.getTypeId() != 39 && block.getTypeId() != 40 && block.getTypeId() != 91 && block.getTypeId() != 86) - block.setData((byte) 5); //Change the byte - else if(block.getTypeId() == 17 || block.getTypeId() == 39 || block.getTypeId() == 40 || block.getTypeId() == 91 || block.getTypeId() == 86) - plugin.misc.blockWatchList.add(block); - } - - if(block.getTypeId() == 42 && LoadProperties.anvilmessages) - { - PlayerProfile PP = Users.getProfile(player); - if(LoadProperties.spoutEnabled) - { - SpoutPlayer sPlayer = SpoutManager.getPlayer(player); - if(sPlayer.isSpoutCraftEnabled()) - { - if(!PP.getPlacedAnvil()) - { - sPlayer.sendNotification("[mcMMO] Anvil Placed", "Right click to repair!", Material.IRON_BLOCK); - PP.togglePlacedAnvil(); - } - } - else - { - if(!PP.getPlacedAnvil()) - { - event.getPlayer().sendMessage(mcLocale.getString("mcBlockListener.PlacedAnvil")); //$NON-NLS-1$ - PP.togglePlacedAnvil(); - } - } - } - else - { - if(!PP.getPlacedAnvil()) - { - event.getPlayer().sendMessage(mcLocale.getString("mcBlockListener.PlacedAnvil")); //$NON-NLS-1$ - PP.togglePlacedAnvil(); - } - } - } - } - - public void onBlockBreak(BlockBreakEvent event) - { - Player player = event.getPlayer(); - PlayerProfile PP = Users.getProfile(player); - Block block = event.getBlock(); - ItemStack inhand = player.getItemInHand(); - if(event.isCancelled()) - return; - if (event instanceof FakeBlockBreakEvent) - return; - - /* - * HERBALISM - */ - - //Green Terra - if(PP.getHoePreparationMode() && mcPermissions.getInstance().herbalismAbility(player) && block.getTypeId() == 59 && block.getData() == (byte) 0x07) - { - Herbalism.greenTerraCheck(player, block); - } - - //Wheat && Triple drops - if(PP.getGreenTerraMode() && Herbalism.canBeGreenTerra(block)) - { - Herbalism.herbalismProcCheck(block, player, event, plugin); - Herbalism.greenTerraWheat(player, block, event, plugin); - } - - - /* - * MINING - */ - if(mcPermissions.getInstance().mining(player)) - { - if(LoadProperties.miningrequirespickaxe) - { - if(m.isMiningPick(inhand)) - { - Mining.miningBlockCheck(false, player, block, plugin); - } - } else - { - Mining.miningBlockCheck(false, player, block, plugin); - } - } - /* - * WOOD CUTTING - */ - - if(player != null && block.getTypeId() == 17 && mcPermissions.getInstance().woodcutting(player)) - { - if(LoadProperties.woodcuttingrequiresaxe) - { - if(m.isAxes(inhand)) - { - if(!plugin.misc.blockWatchList.contains(block)) - { - WoodCutting.woodCuttingProcCheck(player, block); - //Default - if(block.getData() == (byte)0) - PP.addXP(SkillType.WOODCUTTING, LoadProperties.mpine); - //Spruce - if(block.getData() == (byte)1) - PP.addXP(SkillType.WOODCUTTING, LoadProperties.mspruce); - //Birch - if(block.getData() == (byte)2) - PP.addXP(SkillType.WOODCUTTING, LoadProperties.mbirch); - } - } - } else - { - if(!plugin.misc.blockWatchList.contains(block)) - { - WoodCutting.woodCuttingProcCheck(player, block); - //Default - if(block.getData() == (byte)0) - PP.addXP(SkillType.WOODCUTTING, LoadProperties.mpine); - //Spruce - if(block.getData() == (byte)1) - PP.addXP(SkillType.WOODCUTTING, LoadProperties.mspruce); - //Birch - if(block.getData() == (byte)2) - PP.addXP(SkillType.WOODCUTTING, LoadProperties.mbirch); - } - } - Skills.XpCheckSkill(SkillType.WOODCUTTING, player); - - /* - * IF PLAYER IS USING TREEFELLER - */ - if(mcPermissions.getInstance().woodCuttingAbility(player) - && PP.getTreeFellerMode() - && block.getTypeId() == 17 - && m.blockBreakSimulate(block, player)) - { - if(LoadProperties.spoutEnabled) - SpoutStuff.playSoundForPlayer(SoundEffect.EXPLODE, player, block.getLocation()); - - WoodCutting.treeFeller(block, player, plugin); - for(Block blockx : plugin.misc.treeFeller) - { - if(blockx != null) - { - Material mat = Material.getMaterial(block.getTypeId()); - byte type = 0; - if(block.getTypeId() == 17) - type = block.getData(); - ItemStack item = new ItemStack(mat, 1, (byte)0, type); - if(blockx.getTypeId() == 17) - { - blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item); - //XP WOODCUTTING - if(!plugin.misc.blockWatchList.contains(block)) - { - WoodCutting.woodCuttingProcCheck(player, blockx); - PP.addXP(SkillType.WOODCUTTING, LoadProperties.mpine); - } - } - if(blockx.getTypeId() == 18) - { - mat = Material.SAPLING; - - item = new ItemStack(mat, 1, (short)0, blockx.getData()); - - if(Math.random() * 10 > 9) - blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item); - } - if(blockx.getType() != Material.AIR) - player.incrementStatistic(Statistic.MINE_BLOCK, event.getBlock().getType()); - blockx.setType(Material.AIR); - } - } - if(LoadProperties.toolsLoseDurabilityFromAbilities) - m.damageTool(player, (short) LoadProperties.abilityDurabilityLoss); - plugin.misc.treeFeller.clear(); - } - } - /* - * EXCAVATION - */ - if(Excavation.canBeGigaDrillBroken(block) && mcPermissions.getInstance().excavation(player) && block.getData() != (byte) 5) - Excavation.excavationProcCheck(block.getData(), block.getType(), block.getLocation(), player); - /* - * HERBALISM - */ - if(PP.getHoePreparationMode() && mcPermissions.getInstance().herbalism(player) && Herbalism.canBeGreenTerra(block)) - { - Herbalism.greenTerraCheck(player, block); - } - if(mcPermissions.getInstance().herbalism(player) && block.getData() != (byte) 5) - Herbalism.herbalismProcCheck(block, player, event, plugin); - - //Change the byte back when broken - if(block.getData() == 5 && m.shouldBeWatched(block)) - { - block.setData((byte) 0); - if(plugin.misc.blockWatchList.contains(block)) - { - plugin.misc.blockWatchList.remove(block); - } - } - } - - public void onBlockDamage(BlockDamageEvent event) - { - if(event.isCancelled()) - return; - Player player = event.getPlayer(); - PlayerProfile PP = Users.getProfile(player); - ItemStack inhand = player.getItemInHand(); - Block block = event.getBlock(); - - Skills.monitorSkills(player); - - /* - * ABILITY PREPARATION CHECKS - */ - if(PP.getHoePreparationMode() && Herbalism.canBeGreenTerra(block)) - Herbalism.greenTerraCheck(player, block); - if(PP.getAxePreparationMode() && block.getTypeId() == 17) - WoodCutting.treeFellerCheck(player, block); - if(PP.getPickaxePreparationMode() && Mining.canBeSuperBroken(block)) - Mining.superBreakerCheck(player, block); - if(PP.getShovelPreparationMode() && Excavation.canBeGigaDrillBroken(block)) - Excavation.gigaDrillBreakerActivationCheck(player, block); - if(PP.getFistsPreparationMode() && (Excavation.canBeGigaDrillBroken(block) || block.getTypeId() == 78)) - Unarmed.berserkActivationCheck(player); - - /* - * TREE FELLAN STUFF - */ - if(LoadProperties.spoutEnabled && block.getTypeId() == 17 && Users.getProfile(player).getTreeFellerMode()) - SpoutStuff.playSoundForPlayer(SoundEffect.FIZZ, player, block.getLocation()); - - /* - * GREEN TERRA STUFF - */ - if(PP.getGreenTerraMode() && mcPermissions.getInstance().herbalismAbility(player) && PP.getGreenTerraMode()) - { - Herbalism.greenTerra(player, block); - } - - /* - * GIGA DRILL BREAKER CHECKS - */ - if(PP.getGigaDrillBreakerMode() && m.blockBreakSimulate(block, player) - && Excavation.canBeGigaDrillBroken(block) && m.isShovel(inhand)) - { - int x = 0; - - while(x < 3) - { - if(block.getData() != (byte)5) - Excavation.excavationProcCheck(block.getData(), block.getType(), block.getLocation(), player); - x++; - } - - Material mat = Material.getMaterial(block.getTypeId()); - - if(block.getType() == Material.GRASS) - mat = Material.DIRT; - if(block.getType() == Material.CLAY) - mat = Material.CLAY_BALL; - - byte type = block.getData(); - ItemStack item = new ItemStack(mat, 1, (byte)0, type); - - block.setType(Material.AIR); - - player.incrementStatistic(Statistic.MINE_BLOCK, event.getBlock().getType()); - - if(LoadProperties.toolsLoseDurabilityFromAbilities) - m.damageTool(player, (short) LoadProperties.abilityDurabilityLoss); - - if(item.getType() == Material.CLAY_BALL) - { - block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); - block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); - block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); - block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); - } else - { - block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); - } - - //Spout stuff - if(LoadProperties.spoutEnabled) - SpoutStuff.playSoundForPlayer(SoundEffect.POP, player, block.getLocation()); - } - /* - * BERSERK MODE CHECKS - */ - if(PP.getBerserkMode() - && m.blockBreakSimulate(block, player) - && player.getItemInHand().getTypeId() == 0 - && (Excavation.canBeGigaDrillBroken(block) || block.getTypeId() == 78)) - { - Material mat = Material.getMaterial(block.getTypeId()); - - if(block.getTypeId() == 2) - mat = Material.DIRT; - if(block.getTypeId() == 78) - mat = Material.SNOW_BALL; - if(block.getTypeId() == 82) - mat = Material.CLAY_BALL; - - byte type = block.getData(); - - ItemStack item = new ItemStack(mat, 1, (byte)0, type); - player.incrementStatistic(Statistic.MINE_BLOCK, event.getBlock().getType()); - - block.setType(Material.AIR); - - if(item.getType() == Material.CLAY_BALL) - { - block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); - block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); - block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); - block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); - } else - { - block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); - } - - if(LoadProperties.spoutEnabled) - SpoutStuff.playSoundForPlayer(SoundEffect.POP, player, block.getLocation()); - } - - /* - * SUPER BREAKER CHECKS - */ - if(PP.getSuperBreakerMode() - && Mining.canBeSuperBroken(block) - && m.blockBreakSimulate(block, player)) - { - - if(LoadProperties.miningrequirespickaxe) - { - if(m.isMiningPick(inhand)) - Mining.SuperBreakerBlockCheck(player, block, plugin); - } else { - Mining.SuperBreakerBlockCheck(player, block, plugin); - } - } - - /* - * LEAF BLOWER - */ - if(block.getTypeId() == 18 && mcPermissions.getInstance().woodcutting(player) && PP.getSkillLevel(SkillType.WOODCUTTING) >= 100 && m.isAxes(player.getItemInHand()) && m.blockBreakSimulate(block, player)) - { - m.damageTool(player, (short)1); - if(Math.random() * 10 > 9) - { - ItemStack x = new ItemStack(Material.SAPLING, 1, (short)0, block.getData()); - block.getLocation().getWorld().dropItemNaturally(block.getLocation(), x); - } - block.setType(Material.AIR); - player.incrementStatistic(Statistic.MINE_BLOCK, event.getBlock().getType()); - if(LoadProperties.spoutEnabled) - SpoutStuff.playSoundForPlayer(SoundEffect.POP, player, block.getLocation()); - } - if(block.getType() == Material.AIR && plugin.misc.blockWatchList.contains(block)) - { - plugin.misc.blockWatchList.remove(block); - } - } - - public void onBlockFromTo(BlockFromToEvent event) - { - - - Block blockFrom = event.getBlock(); - Block blockTo = event.getToBlock(); - if(m.shouldBeWatched(blockFrom) && blockFrom.getData() == (byte)5) - { - blockTo.setData((byte)5); - } - } +package com.gmail.nossr50.listeners; + +import com.gmail.nossr50.Users; +import com.gmail.nossr50.m; +import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.mcPermissions; +import com.gmail.nossr50.config.LoadProperties; +import com.gmail.nossr50.spout.SpoutStuff; +import com.gmail.nossr50.datatypes.PlayerProfile; +import com.gmail.nossr50.datatypes.SkillType; +import org.bukkit.Material; +import org.bukkit.Statistic; +import org.bukkit.block.Block; +import org.bukkit.entity.Player; +import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.event.block.BlockDamageEvent; +import org.bukkit.event.block.BlockFromToEvent; +import org.bukkit.event.block.BlockListener; +import org.bukkit.event.block.BlockPlaceEvent; +import org.bukkit.inventory.ItemStack; +import org.getspout.spoutapi.SpoutManager; +import org.getspout.spoutapi.player.SpoutPlayer; +import org.getspout.spoutapi.sound.SoundEffect; + +import com.gmail.nossr50.locale.mcLocale; +import com.gmail.nossr50.skills.*; +import com.gmail.nossr50.datatypes.FakeBlockBreakEvent; + + +public class mcBlockListener extends BlockListener +{ + private final mcMMO plugin; + + public mcBlockListener(final mcMMO plugin) + { + this.plugin = plugin; + } + + public void onBlockPlace(BlockPlaceEvent event) + { + //Setup some basic vars + Block block; + Player player = event.getPlayer(); + + //When blocks are placed on snow this event reports the wrong block. + if (event.getBlockReplacedState() != null && event.getBlockReplacedState().getTypeId() == 78) + { + block = event.getBlockAgainst(); + } + else + { + block = event.getBlock(); + } + + //Check if the blocks placed should be monitored so they do not give out XP in the future + if(m.shouldBeWatched(block)) + { + if(block.getTypeId() != 17 && block.getTypeId() != 39 && block.getTypeId() != 40 && block.getTypeId() != 91 && block.getTypeId() != 86) + block.setData((byte) 5); //Change the byte + else if(block.getTypeId() == 17 || block.getTypeId() == 39 || block.getTypeId() == 40 || block.getTypeId() == 91 || block.getTypeId() == 86) + plugin.misc.blockWatchList.add(block); + } + + if(block.getTypeId() == 42 && LoadProperties.anvilmessages) + { + PlayerProfile PP = Users.getProfile(player); + if(LoadProperties.spoutEnabled) + { + SpoutPlayer sPlayer = SpoutManager.getPlayer(player); + if(sPlayer.isSpoutCraftEnabled()) + { + if(!PP.getPlacedAnvil()) + { + sPlayer.sendNotification("[mcMMO] Anvil Placed", "Right click to repair!", Material.IRON_BLOCK); + PP.togglePlacedAnvil(); + } + } + else + { + if(!PP.getPlacedAnvil()) + { + event.getPlayer().sendMessage(mcLocale.getString("mcBlockListener.PlacedAnvil")); //$NON-NLS-1$ + PP.togglePlacedAnvil(); + } + } + } + else + { + if(!PP.getPlacedAnvil()) + { + event.getPlayer().sendMessage(mcLocale.getString("mcBlockListener.PlacedAnvil")); //$NON-NLS-1$ + PP.togglePlacedAnvil(); + } + } + } + } + + public void onBlockBreak(BlockBreakEvent event) + { + Player player = event.getPlayer(); + PlayerProfile PP = Users.getProfile(player); + Block block = event.getBlock(); + ItemStack inhand = player.getItemInHand(); + if(event.isCancelled()) + return; + if (event instanceof FakeBlockBreakEvent) + return; + + /* + * HERBALISM + */ + + //Green Terra + if(PP.getHoePreparationMode() && mcPermissions.getInstance().herbalismAbility(player) && block.getTypeId() == 59 && block.getData() == (byte) 0x07) + { + Herbalism.greenTerraCheck(player, block); + } + + //Wheat && Triple drops + if(PP.getGreenTerraMode() && Herbalism.canBeGreenTerra(block)) + { + Herbalism.herbalismProcCheck(block, player, event, plugin); + Herbalism.greenTerraWheat(player, block, event, plugin); + } + + + /* + * MINING + */ + if(mcPermissions.getInstance().mining(player)) + { + if(LoadProperties.miningrequirespickaxe) + { + if(m.isMiningPick(inhand)) + { + Mining.miningBlockCheck(false, player, block, plugin); + } + } else + { + Mining.miningBlockCheck(false, player, block, plugin); + } + } + /* + * WOOD CUTTING + */ + + if(player != null && block.getTypeId() == 17 && mcPermissions.getInstance().woodcutting(player)) + { + if(LoadProperties.woodcuttingrequiresaxe) + { + if(m.isAxes(inhand)) + { + if(!plugin.misc.blockWatchList.contains(block)) + { + WoodCutting.woodCuttingProcCheck(player, block); + //Default + if(block.getData() == (byte)0) + PP.addXP(SkillType.WOODCUTTING, LoadProperties.mpine); + //Spruce + if(block.getData() == (byte)1) + PP.addXP(SkillType.WOODCUTTING, LoadProperties.mspruce); + //Birch + if(block.getData() == (byte)2) + PP.addXP(SkillType.WOODCUTTING, LoadProperties.mbirch); + } + } + } else + { + if(!plugin.misc.blockWatchList.contains(block)) + { + WoodCutting.woodCuttingProcCheck(player, block); + //Default + if(block.getData() == (byte)0) + PP.addXP(SkillType.WOODCUTTING, LoadProperties.mpine); + //Spruce + if(block.getData() == (byte)1) + PP.addXP(SkillType.WOODCUTTING, LoadProperties.mspruce); + //Birch + if(block.getData() == (byte)2) + PP.addXP(SkillType.WOODCUTTING, LoadProperties.mbirch); + } + } + Skills.XpCheckSkill(SkillType.WOODCUTTING, player); + + /* + * IF PLAYER IS USING TREEFELLER + */ + if(mcPermissions.getInstance().woodCuttingAbility(player) + && PP.getTreeFellerMode() + && block.getTypeId() == 17 + && m.blockBreakSimulate(block, player)) + { + if(LoadProperties.spoutEnabled) + SpoutStuff.playSoundForPlayer(SoundEffect.EXPLODE, player, block.getLocation()); + + WoodCutting.treeFeller(block, player, plugin); + for(Block blockx : plugin.misc.treeFeller) + { + if(blockx != null) + { + Material mat = Material.getMaterial(block.getTypeId()); + byte type = 0; + if(block.getTypeId() == 17) + type = block.getData(); + ItemStack item = new ItemStack(mat, 1, (byte)0, type); + if(blockx.getTypeId() == 17) + { + blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item); + //XP WOODCUTTING + if(!plugin.misc.blockWatchList.contains(block)) + { + WoodCutting.woodCuttingProcCheck(player, blockx); + PP.addXP(SkillType.WOODCUTTING, LoadProperties.mpine); + } + } + if(blockx.getTypeId() == 18) + { + mat = Material.SAPLING; + + item = new ItemStack(mat, 1, (short)0, blockx.getData()); + + if(Math.random() * 10 > 9) + blockx.getLocation().getWorld().dropItemNaturally(blockx.getLocation(), item); + } + if(blockx.getType() != Material.AIR) + player.incrementStatistic(Statistic.MINE_BLOCK, event.getBlock().getType()); + blockx.setType(Material.AIR); + } + } + if(LoadProperties.toolsLoseDurabilityFromAbilities) + m.damageTool(player, (short) LoadProperties.abilityDurabilityLoss); + plugin.misc.treeFeller.clear(); + } + } + /* + * EXCAVATION + */ + if(Excavation.canBeGigaDrillBroken(block) && mcPermissions.getInstance().excavation(player) && block.getData() != (byte) 5) + Excavation.excavationProcCheck(block.getData(), block.getType(), block.getLocation(), player); + /* + * HERBALISM + */ + if(PP.getHoePreparationMode() && mcPermissions.getInstance().herbalism(player) && Herbalism.canBeGreenTerra(block)) + { + Herbalism.greenTerraCheck(player, block); + } + if(mcPermissions.getInstance().herbalism(player) && block.getData() != (byte) 5) + Herbalism.herbalismProcCheck(block, player, event, plugin); + + //Change the byte back when broken + if(block.getData() == 5 && m.shouldBeWatched(block)) + { + block.setData((byte) 0); + if(plugin.misc.blockWatchList.contains(block)) + { + plugin.misc.blockWatchList.remove(block); + } + } + } + + public void onBlockDamage(BlockDamageEvent event) + { + if(event.isCancelled()) + return; + Player player = event.getPlayer(); + PlayerProfile PP = Users.getProfile(player); + ItemStack inhand = player.getItemInHand(); + Block block = event.getBlock(); + + Skills.monitorSkills(player); + + /* + * ABILITY PREPARATION CHECKS + */ + if(PP.getHoePreparationMode() && Herbalism.canBeGreenTerra(block)) + Herbalism.greenTerraCheck(player, block); + if(PP.getAxePreparationMode() && block.getTypeId() == 17) + WoodCutting.treeFellerCheck(player, block); + if(PP.getPickaxePreparationMode() && Mining.canBeSuperBroken(block)) + Mining.superBreakerCheck(player, block); + if(PP.getShovelPreparationMode() && Excavation.canBeGigaDrillBroken(block)) + Excavation.gigaDrillBreakerActivationCheck(player, block); + if(PP.getFistsPreparationMode() && (Excavation.canBeGigaDrillBroken(block) || block.getTypeId() == 78)) + Unarmed.berserkActivationCheck(player); + + /* + * TREE FELLAN STUFF + */ + if(LoadProperties.spoutEnabled && block.getTypeId() == 17 && Users.getProfile(player).getTreeFellerMode()) + SpoutStuff.playSoundForPlayer(SoundEffect.FIZZ, player, block.getLocation()); + + /* + * GREEN TERRA STUFF + */ + if(PP.getGreenTerraMode() && mcPermissions.getInstance().herbalismAbility(player) && PP.getGreenTerraMode()) + { + Herbalism.greenTerra(player, block); + } + + /* + * GIGA DRILL BREAKER CHECKS + */ + if(PP.getGigaDrillBreakerMode() && m.blockBreakSimulate(block, player) + && Excavation.canBeGigaDrillBroken(block) && m.isShovel(inhand)) + { + int x = 0; + + while(x < 3) + { + if(block.getData() != (byte)5) + Excavation.excavationProcCheck(block.getData(), block.getType(), block.getLocation(), player); + x++; + } + + Material mat = Material.getMaterial(block.getTypeId()); + + if(block.getType() == Material.GRASS) + mat = Material.DIRT; + if(block.getType() == Material.CLAY) + mat = Material.CLAY_BALL; + + byte type = block.getData(); + ItemStack item = new ItemStack(mat, 1, (byte)0, type); + + block.setType(Material.AIR); + + player.incrementStatistic(Statistic.MINE_BLOCK, event.getBlock().getType()); + + if(LoadProperties.toolsLoseDurabilityFromAbilities) + m.damageTool(player, (short) LoadProperties.abilityDurabilityLoss); + + if(item.getType() == Material.CLAY_BALL) + { + block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); + block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); + block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); + block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); + } else + { + block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); + } + + //Spout stuff + if(LoadProperties.spoutEnabled) + SpoutStuff.playSoundForPlayer(SoundEffect.POP, player, block.getLocation()); + } + /* + * BERSERK MODE CHECKS + */ + if(PP.getBerserkMode() + && m.blockBreakSimulate(block, player) + && player.getItemInHand().getTypeId() == 0 + && (Excavation.canBeGigaDrillBroken(block) || block.getTypeId() == 78)) + { + Material mat = Material.getMaterial(block.getTypeId()); + + if(block.getTypeId() == 2) + mat = Material.DIRT; + if(block.getTypeId() == 78) + mat = Material.SNOW_BALL; + if(block.getTypeId() == 82) + mat = Material.CLAY_BALL; + + byte type = block.getData(); + + ItemStack item = new ItemStack(mat, 1, (byte)0, type); + player.incrementStatistic(Statistic.MINE_BLOCK, event.getBlock().getType()); + + block.setType(Material.AIR); + + if(item.getType() == Material.CLAY_BALL) + { + block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); + block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); + block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); + block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); + } else + { + block.getLocation().getWorld().dropItemNaturally(block.getLocation(), item); + } + + if(LoadProperties.spoutEnabled) + SpoutStuff.playSoundForPlayer(SoundEffect.POP, player, block.getLocation()); + } + + /* + * SUPER BREAKER CHECKS + */ + if(PP.getSuperBreakerMode() + && Mining.canBeSuperBroken(block) + && m.blockBreakSimulate(block, player)) + { + + if(LoadProperties.miningrequirespickaxe) + { + if(m.isMiningPick(inhand)) + Mining.SuperBreakerBlockCheck(player, block, plugin); + } else { + Mining.SuperBreakerBlockCheck(player, block, plugin); + } + } + + /* + * LEAF BLOWER + */ + if(block.getTypeId() == 18 && mcPermissions.getInstance().woodcutting(player) && PP.getSkillLevel(SkillType.WOODCUTTING) >= 100 && m.isAxes(player.getItemInHand()) && m.blockBreakSimulate(block, player)) + { + m.damageTool(player, (short)1); + if(Math.random() * 10 > 9) + { + ItemStack x = new ItemStack(Material.SAPLING, 1, (short)0, block.getData()); + block.getLocation().getWorld().dropItemNaturally(block.getLocation(), x); + } + block.setType(Material.AIR); + player.incrementStatistic(Statistic.MINE_BLOCK, event.getBlock().getType()); + if(LoadProperties.spoutEnabled) + SpoutStuff.playSoundForPlayer(SoundEffect.POP, player, block.getLocation()); + } + if(block.getType() == Material.AIR && plugin.misc.blockWatchList.contains(block)) + { + plugin.misc.blockWatchList.remove(block); + } + } + + public void onBlockFromTo(BlockFromToEvent event) + { + + + Block blockFrom = event.getBlock(); + Block blockTo = event.getToBlock(); + if(m.shouldBeWatched(blockFrom) && blockFrom.getData() == (byte)5) + { + blockTo.setData((byte)5); + } + } } \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/listeners/mcEntityListener.java b/src/com/gmail/nossr50/listeners/mcEntityListener.java similarity index 96% rename from mcMMO/com/gmail/nossr50/listeners/mcEntityListener.java rename to src/com/gmail/nossr50/listeners/mcEntityListener.java index 6ca72c4d3..426692d9a 100644 --- a/mcMMO/com/gmail/nossr50/listeners/mcEntityListener.java +++ b/src/com/gmail/nossr50/listeners/mcEntityListener.java @@ -1,223 +1,223 @@ -package com.gmail.nossr50.listeners; - -import org.bukkit.entity.Entity; -import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Monster; -import org.bukkit.entity.Player; -import org.bukkit.entity.Wolf; -import org.bukkit.event.entity.CreatureSpawnEvent; -import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.entity.EntityDamageEvent; -import org.bukkit.event.entity.EntityDamageEvent.DamageCause; -import org.bukkit.event.entity.EntityDeathEvent; -import org.bukkit.event.entity.EntityListener; -import org.bukkit.event.entity.EntityTargetEvent; -import org.bukkit.inventory.ItemStack; - -import com.gmail.nossr50.Combat; -import com.gmail.nossr50.Users; -import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.config.LoadProperties; -import com.gmail.nossr50.datatypes.PlayerProfile; -import com.gmail.nossr50.datatypes.SkillType; -import com.gmail.nossr50.locale.mcLocale; -import com.gmail.nossr50.party.Party; -import com.gmail.nossr50.skills.Acrobatics; -import com.gmail.nossr50.skills.Skills; -import com.gmail.nossr50.skills.Taming; - - -public class mcEntityListener extends EntityListener -{ - private final mcMMO plugin; - - public mcEntityListener(final mcMMO plugin) { - this.plugin = plugin; - } - - public void onEntityDamage(EntityDamageEvent event) - { - - - if(event.isCancelled()) - return; - //Check for world pvp flag - if(event instanceof EntityDamageByEntityEvent) - { - EntityDamageByEntityEvent eventb = (EntityDamageByEntityEvent)event; - if(eventb.getEntity() instanceof Player && eventb.getDamager() instanceof Player && !event.getEntity().getWorld().getPVP()) - return; - } - /* - * CHECK FOR INVULNERABILITY - */ - if(event.getEntity() instanceof Player) - { - Player defender = (Player)event.getEntity(); - PlayerProfile PPd = Users.getProfile(defender); - if(defender != null && PPd.getGodMode()) - event.setCancelled(true); - if(PPd == null) - Users.addUser(defender); - } - - if(event.getEntity() instanceof LivingEntity) - { - //CraftEntity cEntity = (CraftEntity)event.getEntity(); - //if(cEntity.getHandle() instanceof EntityLiving) - { - LivingEntity entityliving = (LivingEntity)event.getEntity(); - if(entityliving.getNoDamageTicks() < entityliving.getMaximumNoDamageTicks()/2.0F) - { - Entity x = event.getEntity(); - DamageCause type = event.getCause(); - if(event.getEntity() instanceof Wolf && ((Wolf)event.getEntity()).isTamed() && Taming.getOwner(((Wolf)event.getEntity()), plugin) != null) - { - Wolf theWolf = (Wolf) event.getEntity(); - Player master = Taming.getOwner(theWolf, plugin); - PlayerProfile PPo = Users.getProfile(master); - if(master == null || PPo == null) - return; - //Environmentally Aware - if((event.getCause() == DamageCause.CONTACT || event.getCause() == DamageCause.LAVA || event.getCause() == DamageCause.FIRE) && PPo.getSkillLevel(SkillType.TAMING) >= 100) - { - if(event.getDamage() < ((Wolf) event.getEntity()).getHealth()) - { - event.getEntity().teleport(Taming.getOwner(theWolf, plugin).getLocation()); - master.sendMessage(mcLocale.getString("mcEntityListener.WolfComesBack")); //$NON-NLS-1$ - event.getEntity().setFireTicks(0); - } - } - if(event.getCause() == DamageCause.FALL && PPo.getSkillLevel(SkillType.TAMING) >= 100) - { - event.setCancelled(true); - } - - //Thick Fur - if(event.getCause() == DamageCause.FIRE_TICK) - { - event.getEntity().setFireTicks(0); - } - } - - /* - * ACROBATICS - */ - if(x instanceof Player){ - Player player = (Player)x; - if(type == DamageCause.FALL){ - Acrobatics.acrobaticsCheck(player, event); - } - } - - /* - * Entity Damage by Entity checks - */ - if(event instanceof EntityDamageByEntityEvent && !event.isCancelled()) - { - EntityDamageByEntityEvent eventb = (EntityDamageByEntityEvent) event; - Entity f = eventb.getDamager(); - Entity e = event.getEntity(); - /* - * PARTY CHECKS - */ - if(event.getEntity() instanceof Player && f instanceof Player) - { - Player defender = (Player)e; - Player attacker = (Player)f; - if(Party.getInstance().inSameParty(defender, attacker)) - event.setCancelled(true); - } - Combat.combatChecks(event, plugin); - } - /* - * Check to see if the defender took damage so we can apply recently hurt - */ - if(event.getEntity() instanceof Player) - { - Player herpderp = (Player)event.getEntity(); - if(!event.isCancelled() && event.getDamage() >= 1) - { - Users.getProfile(herpderp).setRecentlyHurt(System.currentTimeMillis()); - } - } - } - } - } - } - - public void onEntityDeath(EntityDeathEvent event) - { - - Entity x = event.getEntity(); - x.setFireTicks(0); - - //cleanup mob diff - if(plugin.mob.mobDiff.containsKey(event.getEntity().getEntityId())) - plugin.mob.mobDiff.remove(event.getEntity().getEntityId()); - - - //Remove bleed track - if(plugin.misc.bleedTracker.contains((LivingEntity)x)) - plugin.misc.addToBleedRemovalQue((LivingEntity)x); - - Skills.arrowRetrievalCheck(x, plugin); - /* - if(Config.getInstance().isMobSpawnTracked(x)){ - Config.getInstance().removeMobSpawnTrack(x); - } - */ - if(x instanceof Player){ - Player player = (Player)x; - Users.getProfile(player).setBleedTicks(0); - } - - } - - public void onCreatureSpawn(CreatureSpawnEvent event) - { - - SpawnReason reason = event.getSpawnReason(); - - if(reason == SpawnReason.SPAWNER && !LoadProperties.xpGainsMobSpawners) - { - plugin.misc.mobSpawnerList.add(event.getEntity()); - } else - { - if(event.getEntity() instanceof Monster && !plugin.mob.mobDiff.containsKey(event.getEntity().getEntityId())) - plugin.mob.assignDifficulty(event.getEntity()); - } - } - - public void onEntityTarget(EntityTargetEvent event) - { - - int type = event.getEntity().getEntityId(); - //Make 3+ non-aggressive - if(event.getEntity() instanceof Monster - && plugin.mob.mobDiff.containsKey(type) - && plugin.mob.isAggressive.containsKey(type)) - { - if(plugin.mob.mobDiff.get(type) >= 2 && plugin.mob.isAggressive.get(type) == false) - { - event.setCancelled(true); - event.setTarget(null); - } - } - } - public boolean isBow(ItemStack is){ - if (is.getTypeId() == 261){ - return true; - } else { - return false; - } - } - public boolean isPlayer(Entity entity){ - if (entity instanceof Player) { - return true; - } else{ - return false; - } - } -} +package com.gmail.nossr50.listeners; + +import org.bukkit.entity.Entity; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Monster; +import org.bukkit.entity.Player; +import org.bukkit.entity.Wolf; +import org.bukkit.event.entity.CreatureSpawnEvent; +import org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.event.entity.EntityDamageEvent; +import org.bukkit.event.entity.EntityDamageEvent.DamageCause; +import org.bukkit.event.entity.EntityDeathEvent; +import org.bukkit.event.entity.EntityListener; +import org.bukkit.event.entity.EntityTargetEvent; +import org.bukkit.inventory.ItemStack; + +import com.gmail.nossr50.Combat; +import com.gmail.nossr50.Users; +import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.config.LoadProperties; +import com.gmail.nossr50.datatypes.PlayerProfile; +import com.gmail.nossr50.datatypes.SkillType; +import com.gmail.nossr50.locale.mcLocale; +import com.gmail.nossr50.party.Party; +import com.gmail.nossr50.skills.Acrobatics; +import com.gmail.nossr50.skills.Skills; +import com.gmail.nossr50.skills.Taming; + + +public class mcEntityListener extends EntityListener +{ + private final mcMMO plugin; + + public mcEntityListener(final mcMMO plugin) { + this.plugin = plugin; + } + + public void onEntityDamage(EntityDamageEvent event) + { + + + if(event.isCancelled()) + return; + //Check for world pvp flag + if(event instanceof EntityDamageByEntityEvent) + { + EntityDamageByEntityEvent eventb = (EntityDamageByEntityEvent)event; + if(eventb.getEntity() instanceof Player && eventb.getDamager() instanceof Player && !event.getEntity().getWorld().getPVP()) + return; + } + /* + * CHECK FOR INVULNERABILITY + */ + if(event.getEntity() instanceof Player) + { + Player defender = (Player)event.getEntity(); + PlayerProfile PPd = Users.getProfile(defender); + if(defender != null && PPd.getGodMode()) + event.setCancelled(true); + if(PPd == null) + Users.addUser(defender); + } + + if(event.getEntity() instanceof LivingEntity) + { + //CraftEntity cEntity = (CraftEntity)event.getEntity(); + //if(cEntity.getHandle() instanceof EntityLiving) + { + LivingEntity entityliving = (LivingEntity)event.getEntity(); + if(entityliving.getNoDamageTicks() < entityliving.getMaximumNoDamageTicks()/2.0F) + { + Entity x = event.getEntity(); + DamageCause type = event.getCause(); + if(event.getEntity() instanceof Wolf && ((Wolf)event.getEntity()).isTamed() && Taming.getOwner(((Wolf)event.getEntity()), plugin) != null) + { + Wolf theWolf = (Wolf) event.getEntity(); + Player master = Taming.getOwner(theWolf, plugin); + PlayerProfile PPo = Users.getProfile(master); + if(master == null || PPo == null) + return; + //Environmentally Aware + if((event.getCause() == DamageCause.CONTACT || event.getCause() == DamageCause.LAVA || event.getCause() == DamageCause.FIRE) && PPo.getSkillLevel(SkillType.TAMING) >= 100) + { + if(event.getDamage() < ((Wolf) event.getEntity()).getHealth()) + { + event.getEntity().teleport(Taming.getOwner(theWolf, plugin).getLocation()); + master.sendMessage(mcLocale.getString("mcEntityListener.WolfComesBack")); //$NON-NLS-1$ + event.getEntity().setFireTicks(0); + } + } + if(event.getCause() == DamageCause.FALL && PPo.getSkillLevel(SkillType.TAMING) >= 100) + { + event.setCancelled(true); + } + + //Thick Fur + if(event.getCause() == DamageCause.FIRE_TICK) + { + event.getEntity().setFireTicks(0); + } + } + + /* + * ACROBATICS + */ + if(x instanceof Player){ + Player player = (Player)x; + if(type == DamageCause.FALL){ + Acrobatics.acrobaticsCheck(player, event); + } + } + + /* + * Entity Damage by Entity checks + */ + if(event instanceof EntityDamageByEntityEvent && !event.isCancelled()) + { + EntityDamageByEntityEvent eventb = (EntityDamageByEntityEvent) event; + Entity f = eventb.getDamager(); + Entity e = event.getEntity(); + /* + * PARTY CHECKS + */ + if(event.getEntity() instanceof Player && f instanceof Player) + { + Player defender = (Player)e; + Player attacker = (Player)f; + if(Party.getInstance().inSameParty(defender, attacker)) + event.setCancelled(true); + } + Combat.combatChecks(event, plugin); + } + /* + * Check to see if the defender took damage so we can apply recently hurt + */ + if(event.getEntity() instanceof Player) + { + Player herpderp = (Player)event.getEntity(); + if(!event.isCancelled() && event.getDamage() >= 1) + { + Users.getProfile(herpderp).setRecentlyHurt(System.currentTimeMillis()); + } + } + } + } + } + } + + public void onEntityDeath(EntityDeathEvent event) + { + + Entity x = event.getEntity(); + x.setFireTicks(0); + + //cleanup mob diff + if(plugin.mob.mobDiff.containsKey(event.getEntity().getEntityId())) + plugin.mob.mobDiff.remove(event.getEntity().getEntityId()); + + + //Remove bleed track + if(plugin.misc.bleedTracker.contains((LivingEntity)x)) + plugin.misc.addToBleedRemovalQue((LivingEntity)x); + + Skills.arrowRetrievalCheck(x, plugin); + /* + if(Config.getInstance().isMobSpawnTracked(x)){ + Config.getInstance().removeMobSpawnTrack(x); + } + */ + if(x instanceof Player){ + Player player = (Player)x; + Users.getProfile(player).setBleedTicks(0); + } + + } + + public void onCreatureSpawn(CreatureSpawnEvent event) + { + + SpawnReason reason = event.getSpawnReason(); + + if(reason == SpawnReason.SPAWNER && !LoadProperties.xpGainsMobSpawners) + { + plugin.misc.mobSpawnerList.add(event.getEntity()); + } else + { + if(event.getEntity() instanceof Monster && !plugin.mob.mobDiff.containsKey(event.getEntity().getEntityId())) + plugin.mob.assignDifficulty(event.getEntity()); + } + } + + public void onEntityTarget(EntityTargetEvent event) + { + + int type = event.getEntity().getEntityId(); + //Make 3+ non-aggressive + if(event.getEntity() instanceof Monster + && plugin.mob.mobDiff.containsKey(type) + && plugin.mob.isAggressive.containsKey(type)) + { + if(plugin.mob.mobDiff.get(type) >= 2 && plugin.mob.isAggressive.get(type) == false) + { + event.setCancelled(true); + event.setTarget(null); + } + } + } + public boolean isBow(ItemStack is){ + if (is.getTypeId() == 261){ + return true; + } else { + return false; + } + } + public boolean isPlayer(Entity entity){ + if (entity instanceof Player) { + return true; + } else{ + return false; + } + } +} diff --git a/mcMMO/com/gmail/nossr50/listeners/mcPlayerListener.java b/src/com/gmail/nossr50/listeners/mcPlayerListener.java similarity index 100% rename from mcMMO/com/gmail/nossr50/listeners/mcPlayerListener.java rename to src/com/gmail/nossr50/listeners/mcPlayerListener.java diff --git a/mcMMO/com/gmail/nossr50/listeners/mcSpoutInputListener.java b/src/com/gmail/nossr50/listeners/mcSpoutInputListener.java similarity index 96% rename from mcMMO/com/gmail/nossr50/listeners/mcSpoutInputListener.java rename to src/com/gmail/nossr50/listeners/mcSpoutInputListener.java index 01710d681..73e18946c 100644 --- a/mcMMO/com/gmail/nossr50/listeners/mcSpoutInputListener.java +++ b/src/com/gmail/nossr50/listeners/mcSpoutInputListener.java @@ -1,45 +1,45 @@ -package com.gmail.nossr50.listeners; - -import org.getspout.spoutapi.event.input.InputListener; -import org.getspout.spoutapi.event.input.KeyPressedEvent; -import org.getspout.spoutapi.gui.ScreenType; -import org.getspout.spoutapi.player.SpoutPlayer; - -import com.gmail.nossr50.Users; -import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.datatypes.popups.PopupMMO; -import com.gmail.nossr50.spout.SpoutStuff; - -public class mcSpoutInputListener extends InputListener -{ - mcMMO plugin = null; - - public mcSpoutInputListener(mcMMO pluginx) - { - plugin = pluginx; - } - - public void onKeyPressedEvent(KeyPressedEvent event) - { - if(!event.getPlayer().isSpoutCraftEnabled() || event.getPlayer().getMainScreen().getActivePopup() != null) - return; - if(event.getScreenType() != ScreenType.GAME_SCREEN) - return; - - SpoutPlayer sPlayer = event.getPlayer(); - - if(event.getKey() == SpoutStuff.keypress) - { - if(!SpoutStuff.playerScreens.containsKey(sPlayer)) - { - PopupMMO mmoPop = new PopupMMO(sPlayer, Users.getProfile(sPlayer), plugin); - SpoutStuff.playerScreens.put(sPlayer, mmoPop); - sPlayer.getMainScreen().attachPopupScreen(SpoutStuff.playerScreens.get(sPlayer)); - sPlayer.getMainScreen().setDirty(true); - } else { - sPlayer.getMainScreen().attachPopupScreen(SpoutStuff.playerScreens.get(sPlayer)); - sPlayer.getMainScreen().setDirty(true); - } - } - } +package com.gmail.nossr50.listeners; + +import org.getspout.spoutapi.event.input.InputListener; +import org.getspout.spoutapi.event.input.KeyPressedEvent; +import org.getspout.spoutapi.gui.ScreenType; +import org.getspout.spoutapi.player.SpoutPlayer; + +import com.gmail.nossr50.Users; +import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.datatypes.popups.PopupMMO; +import com.gmail.nossr50.spout.SpoutStuff; + +public class mcSpoutInputListener extends InputListener +{ + mcMMO plugin = null; + + public mcSpoutInputListener(mcMMO pluginx) + { + plugin = pluginx; + } + + public void onKeyPressedEvent(KeyPressedEvent event) + { + if(!event.getPlayer().isSpoutCraftEnabled() || event.getPlayer().getMainScreen().getActivePopup() != null) + return; + if(event.getScreenType() != ScreenType.GAME_SCREEN) + return; + + SpoutPlayer sPlayer = event.getPlayer(); + + if(event.getKey() == SpoutStuff.keypress) + { + if(!SpoutStuff.playerScreens.containsKey(sPlayer)) + { + PopupMMO mmoPop = new PopupMMO(sPlayer, Users.getProfile(sPlayer), plugin); + SpoutStuff.playerScreens.put(sPlayer, mmoPop); + sPlayer.getMainScreen().attachPopupScreen(SpoutStuff.playerScreens.get(sPlayer)); + sPlayer.getMainScreen().setDirty(true); + } else { + sPlayer.getMainScreen().attachPopupScreen(SpoutStuff.playerScreens.get(sPlayer)); + sPlayer.getMainScreen().setDirty(true); + } + } + } } \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/listeners/mcSpoutListener.java b/src/com/gmail/nossr50/listeners/mcSpoutListener.java similarity index 96% rename from mcMMO/com/gmail/nossr50/listeners/mcSpoutListener.java rename to src/com/gmail/nossr50/listeners/mcSpoutListener.java index 5e479caf1..27aef9dd5 100644 --- a/mcMMO/com/gmail/nossr50/listeners/mcSpoutListener.java +++ b/src/com/gmail/nossr50/listeners/mcSpoutListener.java @@ -1,39 +1,39 @@ -package com.gmail.nossr50.listeners; - -import org.getspout.spoutapi.event.spout.SpoutCraftEnableEvent; -import org.getspout.spoutapi.event.spout.SpoutListener; -import org.getspout.spoutapi.player.SpoutPlayer; - -import com.gmail.nossr50.Users; -import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.datatypes.HUDmmo; -import com.gmail.nossr50.spout.SpoutStuff; -import com.gmail.nossr50.spout.mmoHelper; - -public class mcSpoutListener extends SpoutListener -{ - mcMMO plugin = null; - - public mcSpoutListener(mcMMO pluginx) - { - plugin = pluginx; - } - - public void onSpoutCraftEnable(SpoutCraftEnableEvent event) - { - SpoutPlayer sPlayer = event.getPlayer(); - if(sPlayer.isSpoutCraftEnabled()) - { - //Setup Party HUD stuff - SpoutStuff.playerHUDs.put(sPlayer, new HUDmmo(sPlayer)); - - //if(LoadProperties.partybar && Users.getProfile(sPlayer).inParty()) - //SpoutStuff.initializePartyTracking(sPlayer); - - mmoHelper.initialize(sPlayer, plugin); - - //Party.update(sPlayer); - Users.getProfile(sPlayer).toggleSpoutEnabled(); - } - } +package com.gmail.nossr50.listeners; + +import org.getspout.spoutapi.event.spout.SpoutCraftEnableEvent; +import org.getspout.spoutapi.event.spout.SpoutListener; +import org.getspout.spoutapi.player.SpoutPlayer; + +import com.gmail.nossr50.Users; +import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.datatypes.HUDmmo; +import com.gmail.nossr50.spout.SpoutStuff; +import com.gmail.nossr50.spout.mmoHelper; + +public class mcSpoutListener extends SpoutListener +{ + mcMMO plugin = null; + + public mcSpoutListener(mcMMO pluginx) + { + plugin = pluginx; + } + + public void onSpoutCraftEnable(SpoutCraftEnableEvent event) + { + SpoutPlayer sPlayer = event.getPlayer(); + if(sPlayer.isSpoutCraftEnabled()) + { + //Setup Party HUD stuff + SpoutStuff.playerHUDs.put(sPlayer, new HUDmmo(sPlayer)); + + //if(LoadProperties.partybar && Users.getProfile(sPlayer).inParty()) + //SpoutStuff.initializePartyTracking(sPlayer); + + mmoHelper.initialize(sPlayer, plugin); + + //Party.update(sPlayer); + Users.getProfile(sPlayer).toggleSpoutEnabled(); + } + } } \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/listeners/mcSpoutScreenListener.java b/src/com/gmail/nossr50/listeners/mcSpoutScreenListener.java similarity index 96% rename from mcMMO/com/gmail/nossr50/listeners/mcSpoutScreenListener.java rename to src/com/gmail/nossr50/listeners/mcSpoutScreenListener.java index 0bd3bb643..f99243006 100644 --- a/mcMMO/com/gmail/nossr50/listeners/mcSpoutScreenListener.java +++ b/src/com/gmail/nossr50/listeners/mcSpoutScreenListener.java @@ -1,67 +1,67 @@ -package com.gmail.nossr50.listeners; - -import org.getspout.spoutapi.event.screen.ButtonClickEvent; -import org.getspout.spoutapi.event.screen.ScreenCloseEvent; -import org.getspout.spoutapi.event.screen.ScreenListener; -import org.getspout.spoutapi.player.SpoutPlayer; - -import com.gmail.nossr50.Users; -import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.datatypes.HUDType; -import com.gmail.nossr50.datatypes.HUDmmo; -import com.gmail.nossr50.datatypes.PlayerProfile; -import com.gmail.nossr50.datatypes.buttons.ButtonEscape; -import com.gmail.nossr50.datatypes.buttons.ButtonHUDStyle; -import com.gmail.nossr50.datatypes.popups.PopupMMO; -import com.gmail.nossr50.spout.SpoutStuff; - -public class mcSpoutScreenListener extends ScreenListener -{ - mcMMO plugin = null; - public mcSpoutScreenListener(mcMMO pluginx) - { - plugin = pluginx; - } - public void onButtonClick(ButtonClickEvent event) - { - SpoutPlayer sPlayer = event.getPlayer(); - PlayerProfile PP = Users.getProfile(sPlayer); - - if(event.getButton() instanceof ButtonHUDStyle) - { - if(SpoutStuff.playerHUDs.containsKey(sPlayer)) - { - SpoutStuff.playerHUDs.get(sPlayer).resetHUD(); - SpoutStuff.playerHUDs.remove(sPlayer); - - switch(PP.getHUDType()) - { - case RETRO: - PP.setHUDType(HUDType.STANDARD); - break; - case STANDARD: - PP.setHUDType(HUDType.SMALL); - break; - case SMALL: - PP.setHUDType(HUDType.RETRO); - break; - } - - SpoutStuff.playerHUDs.put(sPlayer, new HUDmmo(sPlayer)); - - SpoutStuff.playerScreens.get(sPlayer).updateButtons(PP); - } - } else if (event.getButton() instanceof ButtonEscape) - { - sPlayer.getMainScreen().closePopup(); - } - } - - public void onScreenClose(ScreenCloseEvent event) - { - if(event.getScreen() instanceof PopupMMO) - { - SpoutStuff.playerScreens.remove(event.getPlayer()); - } - } +package com.gmail.nossr50.listeners; + +import org.getspout.spoutapi.event.screen.ButtonClickEvent; +import org.getspout.spoutapi.event.screen.ScreenCloseEvent; +import org.getspout.spoutapi.event.screen.ScreenListener; +import org.getspout.spoutapi.player.SpoutPlayer; + +import com.gmail.nossr50.Users; +import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.datatypes.HUDType; +import com.gmail.nossr50.datatypes.HUDmmo; +import com.gmail.nossr50.datatypes.PlayerProfile; +import com.gmail.nossr50.datatypes.buttons.ButtonEscape; +import com.gmail.nossr50.datatypes.buttons.ButtonHUDStyle; +import com.gmail.nossr50.datatypes.popups.PopupMMO; +import com.gmail.nossr50.spout.SpoutStuff; + +public class mcSpoutScreenListener extends ScreenListener +{ + mcMMO plugin = null; + public mcSpoutScreenListener(mcMMO pluginx) + { + plugin = pluginx; + } + public void onButtonClick(ButtonClickEvent event) + { + SpoutPlayer sPlayer = event.getPlayer(); + PlayerProfile PP = Users.getProfile(sPlayer); + + if(event.getButton() instanceof ButtonHUDStyle) + { + if(SpoutStuff.playerHUDs.containsKey(sPlayer)) + { + SpoutStuff.playerHUDs.get(sPlayer).resetHUD(); + SpoutStuff.playerHUDs.remove(sPlayer); + + switch(PP.getHUDType()) + { + case RETRO: + PP.setHUDType(HUDType.STANDARD); + break; + case STANDARD: + PP.setHUDType(HUDType.SMALL); + break; + case SMALL: + PP.setHUDType(HUDType.RETRO); + break; + } + + SpoutStuff.playerHUDs.put(sPlayer, new HUDmmo(sPlayer)); + + SpoutStuff.playerScreens.get(sPlayer).updateButtons(PP); + } + } else if (event.getButton() instanceof ButtonEscape) + { + sPlayer.getMainScreen().closePopup(); + } + } + + public void onScreenClose(ScreenCloseEvent event) + { + if(event.getScreen() instanceof PopupMMO) + { + SpoutStuff.playerScreens.remove(event.getPlayer()); + } + } } \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/locale/locale_de.properties b/src/com/gmail/nossr50/locale/locale_de.properties similarity index 98% rename from mcMMO/com/gmail/nossr50/locale/locale_de.properties rename to src/com/gmail/nossr50/locale/locale_de.properties index ab5a1215c..01d226e89 100644 --- a/mcMMO/com/gmail/nossr50/locale/locale_de.properties +++ b/src/com/gmail/nossr50/locale/locale_de.properties @@ -1,357 +1,357 @@ -Combat.WolfExamine=[[GREEN]]**du musterst den Wolf mit Bestienkunde** -Combat.WolfShowMaster=[[DARK_GREEN]]Besitzer \: {0} -Combat.Ignition=[[RED]]**ENTZUENDET** -Combat.BurningArrowHit=[[DARK_RED]]von brennendem Pfeil getroffen\! -Combat.TouchedFuzzy=[[DARK_RED]]Benommen. fuehlt sich schwindelig. -Combat.TargetDazed=Ziel ist [[DARK_RED]]benommen -Combat.WolfNoMaster=[[GRAY]]Dieser Wolf hat keinen Besitzer... -Combat.WolfHealth=[[GREEN]]Der Wolf hat {0} Lebensenergie -Combat.StruckByGore=[[RED]]**von Biss getroffen** -Combat.Gore=[[GREEN]]**BISS** -Combat.ArrowDeflect=[[WHITE]]**PFEIL ABGEWEHRT** -Item.ChimaeraWingFail=**CHIMAEREN FLUEGEL fehlgeschlagen\!** -Item.ChimaeraWingPass=**CHIMAEREN FLUEGEL** -Item.InjuredWait=du musst mit der Benutzung warten [[YELLOW]]({0}s) -Item.NeedFeathers=[[GRAY]]mehr Federn nötig... -m.mccPartyCommands=[[GREEN]]--GRUPPEN BEFEHLE-- -m.mccParty=[party name] [[RED]]- Erstellt/tritt einer Gruppe bei -m.mccPartyQ=[[RED]]- aktuelle Gruppe verlassen -m.mccPartyToggle=[[RED]] - aktiviert Gruppenchat -m.mccPartyInvite=[player name] [[RED]]- Gruppeneinladung senden -m.mccPartyAccept=[[RED]]- Gruppeneinladung akzeptieren -m.mccPartyTeleport=[party member name] [[RED]]- Teleport zu Gruppenmitglied -m.mccOtherCommands=[[GREEN]]--ANDERE BEFEHLE-- -m.mccStats=- zeigt deinen Status -m.mccLeaderboards=- Ranglisten -m.mccMySpawn=- Teleport zum Spawnpunkt -m.mccClearMySpawn=- Spawnpunkt loeschen -m.mccToggleAbility=- Faehigkeitsaktivierung an/aus schalten -m.mccAdminToggle=- Adminchat aktivieren -m.mccWhois=[playername] [[RED]]- Detailierte Spielerinfos zeigen -m.mccMmoedit=[playername] [skill] [newvalue] [[RED]]- Ziel modifizieren -m.mccMcGod=- Gott Modus -m.mccSkillInfo=[skillname] [[RED]]- Detailierte Skillinfos zeigen -m.mccModDescription=[[RED]]- MOD-Beschreibung -m.SkillHeader=[[RED]]-----[][[GREEN]]{0}[[RED]][]----- -m.XPGain=[[DARK_GRAY]]XP Erhalten: [[WHITE]]{0} -m.EffectsTemplate=[[DARK_AQUA]]{0}: [[GREEN]]{1} -m.AbilityLockTemplate=[[GRAY]]{0} -m.AbilityBonusTemplate=[[RED]]{0}: [[YELLOW]]{1} -m.Effects=EFFEKTE -m.YourStats=DEINE WERTE -m.SkillTaming=Bestienkunde (Taming) -m.XPGainTaming=wenn Woelfe Schaden bekommen/verursachen -m.EffectsTaming1_0=Bestienkunde -m.EffectsTaming1_1=Wolf mit Knochen schlagen fuer Informationen -m.EffectsTaming2_0=Biss -m.EffectsTaming2_1=Kritischer Schlag mit Blutungseffekt -m.EffectsTaming3_0=Geschaerfte Krallen -m.EffectsTaming3_1=Schadens-Bonus -m.EffectsTaming4_0=Umweltbewusstsein -m.EffectsTaming4_1=Kaktus/Lava Phobie, Fall Schaden Immun -m.EffectsTaming5_0=Dichtes Fell -m.EffectsTaming5_1=Schadens-Reduzierung, Feuer-Resistenz -m.EffectsTaming6_0=schockfest -m.EffectsTaming6_1=Explosions-Schaden-Reduzierung -m.AbilLockTaming1=gesperrt bis 100+ Skilllevel (Umweltbewusstsein) -m.AbilLockTaming2=gesperrt bis 250+ Skillevel (Dichtes Fell) -m.AbilLockTaming3=gesperrt bis 500+ Skillevel (Schockfest) -m.AbilLockTaming4=gesperrt bis 750+ Skillevel (Geschaerfte Krallen) -m.AbilBonusTaming1_0=Umweltbewusstsein -m.AbilBonusTaming1_1=Woelfe meiden Gefahr -m.AbilBonusTaming2_0=Dichtes Fell -m.AbilBonusTaming2_1=Halber Schaden, Feuer-Resistenz -m.AbilBonusTaming3_0=Schockfest -m.AbilBonusTaming3_1=Explosionen verursachen nur 1/6 Schaden -m.AbilBonusTaming4_0=Geschaerfte Krallen -m.AbilBonusTaming4_1=+2 Schaden -m.TamingGoreChance=[[RED]]Biss Chance: [[YELLOW]]{0}% -m.SkillWoodCutting=Holzfaellen (WoodCutting) -m.XPGainWoodCutting=Baeume faellen -m.EffectsWoodCutting1_0=Baumfaeller (Faehigkeit) -m.EffectsWoodCutting1_1=Bringt Baeume zum explodieren -m.EffectsWoodCutting2_0=Blaetter-Sturm -m.EffectsWoodCutting2_1=blaest Blaetter weg -m.EffectsWoodCutting3_0=Doppelte Drops -m.EffectsWoodCutting3_1=doppelte Anzahl Items -m.AbilLockWoodCutting1=gesperrt bis 100+ Skilllevel (Blaetter-Sturm) -m.AbilBonusWoodCutting1_0=Blaetter-Sturm -m.AbilBonusWoodCutting1_1=blaest Blaetter weg -m.WoodCuttingDoubleDropChance=[[RED]]Doppelte Drop Chance: [[YELLOW]]{0}% -m.WoodCuttingTreeFellerLength=[[RED]]Baumfaeller Dauer: [[YELLOW]]{0}s -m.SkillArchery=Bogenschiessen (Archery) -m.XPGainArchery=Monster/Spieler angreifen -m.EffectsArchery1_0=Entzuenden -m.EffectsArchery1_1=25% Chance das Feind Feuer faengt -m.EffectsArchery2_0=Blenden (Spieler) -m.EffectsArchery2_1=Disorientiert Feinde -m.EffectsArchery3_0=Schaden+ -m.EffectsArchery3_1=Modifiziert Schaden -m.EffectsArchery4_0=Pfeile wiederverwenden -m.EffectsArchery4_1=Chance Pfeile von Leichen zurueckzugewinnen -m.ArcheryDazeChance=[[RED]]Chance zu blenden: [[YELLOW]]{0}% -m.ArcheryRetrieveChance=[[RED]]Chance Pfeile zurueckzugewinnen: [[YELLOW]]{0}% -m.ArcheryIgnitionLength=[[RED]]Dauer von Entzuenden: [[YELLOW]]{0} seconds -m.ArcheryDamagePlus=[[RED]]Schaden+ (Rank{0}): [[YELLOW]]Bonus {0} damage -m.SkillAxes=Axt (Axes) -m.XPGainAxes=Monster/Spieler angreifen -m.EffectsAxes1_0=Schaedelspalter (Faehigkeit) -m.EffectsAxes1_1=Verursacht Flaechenschaden -m.EffectsAxes2_0=Kritischer Schlag -m.EffectsAxes2_1=doppelter Schaden -m.EffectsAxes3_0=Axtmeister (500 Skilllevel) -m.EffectsAxes3_1=Modifiziert Schaden -m.AbilLockAxes1=gesperrt bis 500+ Skilllevel(Axtmeister) -m.AbilBonusAxes1_0=Axtmeister -m.AbilBonusAxes1_1=+4 Schaden -m.AxesCritChance=[[RED]]Chance fuer kritische Treffer: [[YELLOW]]{0}% -m.AxesSkullLength=[[RED]]Schaedelspalter Dauer: [[YELLOW]]{0}s -m.SkillSwords=Schwert (Swords) -m.XPGainSwords=Monster/Spieler angreifen -m.EffectsSwords1_0=Konter -m.EffectsSwords1_1=Reflektiert 50% des erhaltenen Schadens -m.EffectsSwords2_0=gezackter Schlag (Faehigkeit) -m.EffectsSwords2_1=25% Flaechenschaden, Blutung+ Flaecheneffekt -m.EffectsSwords3_0=gezackter Schlag Blutung+ -m.EffectsSwords3_1=Blutung über 5 Ticks -m.EffectsSwords4_0=parrieren -m.EffectsSwords4_1=negiert Schaden -m.EffectsSwords5_0=Blutung -m.EffectsSwords5_1=hinterlaesst Blutungs-DOT -m.SwordsCounterAttChance=[[RED]]Konter Chance: [[YELLOW]]{0}% -m.SwordsBleedLength=[[RED]]Blutung Dauer: [[YELLOW]]{0} ticks -m.SwordsBleedChance=[[RED]]Blutung Chance: [[YELLOW]]{0} % -m.SwordsParryChance=[[RED]]Parieren Chance: [[YELLOW]]{0} % -m.SwordsSSLength=[[RED]]gezackter Schlag Dauer: [[YELLOW]]{0}s -m.SwordsTickNote=[[GRAY]]NOTIZ: [[YELLOW]]1 Tick erfolgt aller 2 Sekunden -m.SkillAcrobatics=Akrobatik (Acrobatics) -m.XPGainAcrobatics=stuerzen -m.EffectsAcrobatics1_0=Rolle -m.EffectsAcrobatics1_1=Reduziert oder negiert Schaden -m.EffectsAcrobatics2_0=elegante Rolle -m.EffectsAcrobatics2_1=Doppelt so effektiv wie Rolle -m.EffectsAcrobatics3_0=Ausweichen -m.EffectsAcrobatics3_1=halbiert Schaden -m.AcrobaticsRollChance=[[RED]]Rolle Chance: [[YELLOW]]{0}% -m.AcrobaticsGracefulRollChance=[[RED]]elegante Rolle Chance: [[YELLOW]]{0}% -m.AcrobaticsDodgeChance=[[RED]]Ausweichen Chance: [[YELLOW]]{0}% -m.SkillMining=Bergbau (Mining) -m.XPGainMining=Abbauen von Stein und Erz -m.EffectsMining1_0=Brecher (Faehigkeit) -m.EffectsMining1_1=Tempo+, dreifache Drop Chance -m.EffectsMining2_0=doppelte Drops -m.EffectsMining2_1=doppelte Anzahl Items -m.MiningDoubleDropChance=[[RED]]doppelte Drops Chance: [[YELLOW]]{0}% -m.MiningSuperBreakerLength=[[RED]]Brecher Dauer: [[YELLOW]]{0}s -m.SkillRepair=Reparieren (Repair) -m.XPGainRepair=reparieren -m.EffectsRepair1_0=reparieren -m.EffectsRepair1_1=reparieren von Werkzeugen und Ruestung -m.EffectsRepair2_0=reparieren - Meister -m.EffectsRepair2_1=erhoeht Reparaturwert -m.EffectsRepair3_0=Super Reparatur -m.EffectsRepair3_1=doppelte Effektivitaet -m.EffectsRepair4_0=Diamanten Reparatur ({0}+ SKILL) -m.EffectsRepair4_1=Reparieren von Diamantwerkzeugen und Ruestung -m.RepairRepairMastery=[[RED]]reparieren - Meister: [[YELLOW]]Extra {0}% Haltbarkeit -m.RepairSuperRepairChance=[[RED]]Super Reparatur Chance: [[YELLOW]]{0}% -m.SkillUnarmed=Faustkampf (Unarmed) -m.XPGainUnarmed=Monster/Spieler angreifen -m.EffectsUnarmed1_0=Berserker (Faehigkeit) -m.EffectsUnarmed1_1=+50% Schaden, bricht weiches Material (Bsp. Erde) -m.EffectsUnarmed2_0=Entwaffnen (Spieler) -m.EffectsUnarmed2_1=Entreisst dem Feind das ausgeruestete Item -m.EffectsUnarmed3_0=Faustkampfmeister -m.EffectsUnarmed3_1=grosse Schadenssteigerung -m.EffectsUnarmed4_0=Faustkampflehrling -m.EffectsUnarmed4_1=Schadens-Bonus -m.EffectsUnarmed5_0=Pfeil abwehren -m.EffectsUnarmed5_1=wehrt Pfeile ab -m.AbilLockUnarmed1=gesperrt bis 250+ Skilllevel (Faustkampflehrling) -m.AbilLockUnarmed2=gesperrt bis 500+ Skilllevel (Faustkampfmeister) -m.AbilBonusUnarmed1_0=Faustkampflehrling -m.AbilBonusUnarmed1_1=+2 Schadens-Bonus -m.AbilBonusUnarmed2_0=Faustkampfmeister -m.AbilBonusUnarmed2_1=+4 Schadens-Bonus -m.UnarmedArrowDeflectChance=[[RED]]Pfeil abwehren Chance: [[YELLOW]]{0}% -m.UnarmedDisarmChance=[[RED]]Entwaffnen Chance: [[YELLOW]]{0}% -m.UnarmedBerserkLength=[[RED]]Berserker Dauer: [[YELLOW]]{0}s -m.SkillHerbalism=Kraeutersammler (Herbalism) -m.XPGainHerbalism=Kraeuter sammeln -m.EffectsHerbalism1_0=Gruene Welt (Faehigkeit) -m.EffectsHerbalism1_1=Pflegt die Natur, dreifache Drops -m.EffectsHerbalism2_0=Gruener Daumen (Weizen) -m.EffectsHerbalism2_1=automatisches neupflanzen nach ernten von Weizen -m.EffectsHerbalism3_0=Gruener Daumen (Pflasterstein) -m.EffectsHerbalism3_1=verwandelt Pflasterstein mithilfe von Samen zu moosigen Pflasterstein -m.EffectsHerbalism4_0=Nahrung+ -m.EffectsHerbalism4_1=Steigert Heilung von Brot/Suppe -m.EffectsHerbalism5_0=Doppelte Drops (Alle Kraeuter) -m.EffectsHerbalism5_1=doppelte Anzahl Items -m.HerbalismGreenTerraLength=[[RED]]Gruene Welt Dauer: [[YELLOW]]{0}s -m.HerbalismGreenThumbChance=[[RED]]Gruener Daumen Chance: [[YELLOW]]{0}% -m.HerbalismGreenThumbStage=[[RED]]Gruener Daumen Stufe: [[YELLOW]] Getreide waechst auf Stufe {0} -m.HerbalismDoubleDropChance=[[RED]]Doppelte Drop Chance: [[YELLOW]]{0}% -m.HerbalismFoodPlus=[[RED]]Nahrung+ (Rank{0}): [[YELLOW]]Bonus-Heilung {0} -m.SkillExcavation=Graben (Excavation) -m.XPGainExcavation=Graben und finden von Schaetzen -m.EffectsExcavation1_0=Buddler (Faehigkeit) -m.EffectsExcavation1_1=3x Drop Rate, 3x EXP, +Abbautempo -m.EffectsExcavation2_0=Schatzjaeger -m.EffectsExcavation2_1=Faehigkeit nach Schaetzen zu graben -m.ExcavationGreenTerraLength=[[RED]]Buddler Dauer: [[YELLOW]]{0}s -mcBlockListener.PlacedAnvil=[[DARK_RED]]Amboss platziert, hier kannst du Werkzeuge und Ruestungen reparieren. -mcEntityListener.WolfComesBack=[[DARK_GRAY]]Dein Wolf hastet zurueck zu dir... -mcPlayerListener.AbilitiesOff=Faehigkeiten nutzen (rechtsklick) aus -mcPlayerListener.AbilitiesOn=Faehigkeiten nutzen (rechtsklick) an -mcPlayerListener.AbilitiesRefreshed=[[GREEN]]**Faehigkeiten aufgefrischt\!** -mcPlayerListener.AcrobaticsSkill=[[YELLOW]]Akrobatik Skill (Acrobatics): -mcPlayerListener.ArcherySkill=[[YELLOW]]Bogenschiessen Skill (Archery): -mcPlayerListener.AxesSkill=[[YELLOW]]Axt Skill (Axes): -mcPlayerListener.ExcavationSkill=[[YELLOW]]Graben Skill (Excavation): -mcPlayerListener.GodModeDisabled=[[YELLOW]]mcMMO Gottmodus deaktiviert -mcPlayerListener.GodModeEnabled=[[YELLOW]]mcMMO Gottmodus aktiviert -mcPlayerListener.GreenThumb=[[GREEN]]**GRUENER DAUMEN** -mcPlayerListener.GreenThumbFail=[[RED]]**GRUENER DAUMEN FEHLGESCHLAGEN** -mcPlayerListener.HerbalismSkill=[[YELLOW]]Kraeuterkunde Skill (Herbalism): -mcPlayerListener.MiningSkill=[[YELLOW]]Bergbau Skill (Mining): -mcPlayerListener.MyspawnCleared=[[DARK_AQUA]]Spawnpunkt ist freigegeben -mcPlayerListener.MyspawnNotExist=[[RED]]Lege deinen Spawnpunkt erst mit einem Bett fest -mcPlayerListener.MyspawnSet=[[DARK_AQUA]]Spawnpunkt wurde an deine aktuelle Position gesetzt -mcPlayerListener.MyspawnTimeNotice=Du musst {0}m {1}s warten um myspawn zu nutzen -mcPlayerListener.NoPermission=unzureichende Berechtigungen (Permissions). -mcPlayerListener.NoSkillNote=[[DARK_GRAY]]wenn du keinen Zugriff auf einen Skill hast wird er nicht hier gezeigt -mcPlayerListener.NotInParty=[[RED]]Du bist in keiner Gruppe. -mcPlayerListener.InviteSuccess=[[GREEN]]Einladung erfolgreich versendet. -mcPlayerListener.ReceivedInvite1=[[RED]]ALERT: [[GREEN]]Eine Gruppeneinladung für {0} von {1} erhalten -mcPlayerListener.ReceivedInvite2=[[YELLOW]]Schreibe[[GREEN]]/{0}[[YELLOW]] um die Einladung zu akzeptieren -mcPlayerListener.InviteAccepted=[[GREEN]]Einladung akzeptiert. du bist {0} beigetreten -mcPlayerListener.NoInvites=[[RED]]Du hast derzeit keine Einladungen -mcPlayerListener.YouAreInParty=[[GREEN]]Du bist in Gruppe {0} -mcPlayerListener.PartyMembers=[[GREEN]]Gruppen Mitglieder -mcPlayerListener.LeftParty=[[RED]]Du hast die Gruppe verlassen -mcPlayerListener.JoinedParty=beigetrettene Gruppe: {0} -mcPlayerListener.PartyChatOn=nur Gruppenchat [[RED]]an -mcPlayerListener.PartyChatOff=nur Gruppenchat [[RED]]aus -mcPlayerListener.AdminChatOn=nur Adminchat [[GREEN]]an -mcPlayerListener.AdminChatOff=nur Adminchat [[RED]]aus -mcPlayerListener.MOTD=[[BLUE]]Auf diesem Server laeuft {0} schreibe[[YELLOW]]/{1}[[BLUE]] fuer Hilfe. -mcPlayerListener.WIKI=[[GREEN]]http://mcmmo.wikia.com[[BLUE]] - mcMMO Wiki -mcPlayerListener.PowerLevel=[[DARK_RED]]Macht: -mcPlayerListener.PowerLevelLeaderboard=[[YELLOW]]--mcMMO[[BLUE]] Macht [[YELLOW]]Rangliste-- -mcPlayerListener.SkillLeaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Rangliste-- -mcPlayerListener.RepairSkill=[[YELLOW]]Reparieren Skill (Repair): -mcPlayerListener.SwordsSkill=[[YELLOW]]Schwert Skill (Swords): -mcPlayerListener.TamingSkill=[[YELLOW]]Bestienkunde Skill (Taming): -mcPlayerListener.UnarmedSkill=[[YELLOW]]Faustkampf Skill (Unarmed): -mcPlayerListener.WoodcuttingSkill=[[YELLOW]]Holzfaeller Skill (Woodcutting): -mcPlayerListener.YourStats=[[GREEN]]Deine MMO Werte -Party.InformedOnJoin={0} [[GREEN]] ist deiner Gruppe beigetreten -Party.InformedOnQuit={0} [[GREEN]] hat deine Gruppe verlassen -Skills.YourGreenTerra=[[GREEN]]Deine [[YELLOW]]Gruene Welt [[GREEN]]Faehigkeit ist bereit! -Skills.YourTreeFeller=[[GREEN]]Deine [[YELLOW]]Baumfaeller [[GREEN]]Faehigkeit ist bereit! -Skills.YourSuperBreaker=[[GREEN]]Deine [[YELLOW]]Brecher [[GREEN]]Faehigkeit ist bereit! -Skills.YourSerratedStrikes=[[GREEN]]Deine [[YELLOW]]gezackter Schlag [[GREEN]]Faehigkeit ist bereit! -Skills.YourBerserk=[[GREEN]]Deine [[YELLOW]]Berserker [[GREEN]]Faehigkeit ist bereit! -Skills.YourSkullSplitter=[[GREEN]]Deine [[YELLOW]]Schaedelspalter[[GREEN]]Faehigkeit ist bereit! -Skills.YourGigaDrillBreaker=[[GREEN]]Deine [[YELLOW]]Buddler[[GREEN]]Faehigkeit ist bereit! -Skills.TooTired=[[RED]]Du bist zu muede um diese Faehigkeit erneut zu nutzen. -Skills.ReadyHoe=[[GREEN]]**DU BEREITEST DEINE HARKE VOR** -Skills.LowerHoe=[[GRAY]]**DU SENKST DEINE HARKE** -Skills.ReadyAxe=[[GREEN]]**DU BEREITEST DEINE AXT VOR** -Skills.LowerAxe=[[GRAY]]**DU SENKST DEINE AXT** -Skills.ReadyFists=[[GREEN]]**DU BEREITEST DEINE FAEUSTE VOR** -Skills.LowerFists=[[GRAY]]**DU SENKST DEINE FAUSTE** -Skills.ReadyPickAxe=[[GREEN]]**DU BEREITEST DEINE SPITZHACKE VOR** -Skills.LowerPickAxe=[[GRAY]]**DU SENKST DEINE SPITZHACKE** -Skills.ReadyShovel=[[GREEN]]**DU BEREITEST DEINE SCHAUFEL VOR** -Skills.LowerShovel=[[GRAY]]**DU SENKST DEINE SCHAUFEL** -Skills.ReadySword=[[GREEN]]**DU ERHEBST DEIN SCHWERT** -Skills.LowerSword=[[GRAY]]**DU SENKST DEIN SCHWERT** -Skills.GreenTerraOn=[[GREEN]]**GRUENE WELT AKTIV** -Skills.GreenTerraPlayer=[[GREEN]]{0}[[DARK_GREEN]] hat [[RED]]Gruene Welt[[DARK_GREEN]] benutzt! -Skills.TreeFellerOn=[[GREEN]]**BAUMFAELLER AKTIV** -Skills.TreeFellerPlayer=[[GREEN]]{0}[[DARK_GREEN]] hat [[RED]]Baumfaeller[[DARK_GREEN]] benutzt! -Skills.SuperBreakerOn=[[GREEN]]**BRECHER AKTIV** -Skills.SuperBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] hat [[RED]]Super Brecher[[DARK_GREEN]] benutzt! -Skills.SerratedStrikesOn=[[GREEN]]**GEZACKTER SCHLAG AKTIV** -Skills.SerratedStrikesPlayer=[[GREEN]]{0}[[DARK_GREEN]] hat [[RED]]gezackter Schlag[[DARK_GREEN]] benutzt! -Skills.SkullSplitterOn=[[GREEN]]**SCHAEDELSPALTER AKTIV** -Skills.SkullSplitterPlayer=[[GREEN]]{0}[[DARK_GREEN]] hat [[RED]]Schaedelspalter[[DARK_GREEN]] benutzt! -Skills.GigaDrillBreakerOn=[[GREEN]]**BUDDLER AKTIV** -Skills.GigaDrillBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] hat [[RED]]Buddler[[DARK_GREEN]] benutzt! -Skills.GreenTerraOff=[[RED]]**Gruene Welt ausgelaufen** -Skills.TreeFellerOff=[[RED]]**Baumfaeller ausgelaufen** -Skills.SuperBreakerOff=[[RED]]**Brecher ausgelaufen** -Skills.SerratedStrikesOff=[[RED]]**gezackter Schlag ausgelaufen** -Skills.BerserkOff=[[RED]]**Berserker ausgelaufen** -Skills.SkullSplitterOff=[[RED]]**Schaedelspalter ausgelaufen** -Skills.GigaDrillBreakerOff=[[RED]]**Buddler ausgelaufen** -Skills.TamingUp=[[YELLOW]]Bestienkunde um {0} erhoeht. Gesamt ({1}) -Skills.AcrobaticsUp=[[YELLOW]]Akrobatik um {0} erhoeht. Gesamt ({1}) -Skills.ArcheryUp=[[YELLOW]]Bogenschiessen um {0} erhoeht. Gesamt ({1}) -Skills.SwordsUp=[[YELLOW]]Schwert um {0} erhoeht. Gesamt ({1}) -Skills.AxesUp=[[YELLOW]]Axt um {0} erhoeht. Gesamt ({1}) -Skills.UnarmedUp=[[YELLOW]]Faustkampf um {0} erhoeht. Gesamt ({1}) -Skills.HerbalismUp=[[YELLOW]]Krauterkunde um {0} erhoeht. Gesamt ({1}) -Skills.MiningUp=[[YELLOW]]Bergbau um {0} erhoeht. Gesamt ({1}) -Skills.WoodcuttingUp=[[YELLOW]]Holzfaeller um {0} erhoeht. Gesamt ({1}) -Skills.RepairUp=[[YELLOW]]Reparieren um {0} erhoeht. Gesamt ({1}) -Skills.ExcavationUp=[[YELLOW]]Graben um {0} erhoeht. Gesamt ({1}) -Skills.FeltEasy=[[GRAY]]Das fuehlt sich einfach an. -Skills.StackedItems=[[DARK_RED]]Du kannst keine gestapelten Items reparieren -Skills.NeedMore=[[DARK_RED]]Du brauchst mehr -Skills.AdeptDiamond=[[DARK_RED]]nicht talentiert genug um Diamantwerkzeuge zu reparieren -Skills.FullDurability=[[GRAY]]Dieses Item hat volle Haltbarkeit -Skills.Disarmed=[[DARK_RED]]Du wurdest entwaffnet! -mcPlayerListener.SorcerySkill=Zauberkunst Skill (Sorcery): -m.SkillSorcery=Zauberkunst (Sorcery) -Sorcery.HasCast=[[GREEN]]**ZAUBERN**[[GOLD]] -Sorcery.Current_Mana=[[DARK_AQUA]]MP -Sorcery.SpellSelected=[[GREEN]]-=([[GOLD]]{0}[[GREEN]])=- [[RED]]([[GRAY]]{1}[[RED]]) -Sorcery.Cost=[[RED]][COST] {0} MP -Sorcery.OOM=[[DARK_AQUA]][[[GOLD]]{2}[[DARK_AQUA]]][[DARK_GRAY]] Kein Mana [[YELLOW]]([[RED]]{0}[[YELLOW]]/[[GRAY]]{1}[[YELLOW]]) -Sorcery.Water.Thunder=GEWITTER -Sorcery.Curative.Self=HEILEN (SELBST) -Sorcery.Curative.Other=HEILEN (ANDERE) -m.LVL=[[DARK_GRAY]]LVL: [[GREEN]]{0} [[DARK_AQUA]]XP[[YELLOW]]([[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]]) -Combat.BeastLore=[[GREEN]]**BESTIENKUNDE** -Combat.BeastLoreOwner=[[DARK_AQUA]]Besitzer ([[RED]]{0}[[DARK_AQUA]]) -Combat.BeastLoreHealthWolfTamed=[[DARK_AQUA]]Gesundheit ([[GREEN]]{0}[[DARK_AQUA]]/20) -Combat.BeastLoreHealthWolf=[[DARK_AQUA]]Gesundheit ([[GREEN]]{0}[[DARK_AQUA]]/8) -mcMMO.Description=[[DARK_AQUA]]Q: Was ist das?,[[GOLD]]mcMMO ist eine [[RED]]OPEN SOURCE[[GOLD]] RPG Modifikation fuer Bukkit von [[BLUE]]nossr50,[[GOLD]]Durch mcMMO werden viele Skills bei Minecraft hinzugefuegt,[[GOLD]]Tippe [[GREEN]]/SKILLNAME[[GOLD]] um mehr ueber die Skills herauszufinden.,[[DARK_AQUA]]Q: Was tut es?,[[GOLD]]Ein Beispiel... in [[DARK_AQUA]]Mining[[GOLD]] wirst du Belohnungen bekommen wie,[[RED]]Doppelte Drops[[GOLD]] oder die Faehigkeit [[RED]]Brecher[[GOLD]] welche wenn,[[GOLD]]per rechtsklick aktiviert schnellers abbauen ermoeglicht. Leveln von [[BLUE]]Mining,[[GOLD]]erfolgt einfach durch abbauen von verschiedenen Materialien,[[DARK_AQUA]]Q: Was ist damit gemeint?,[[GOLD]]Alle Skills ind[[GREEN]]mcMMO[[GOLD]] fuegen coole neue Dinge hinzu!.,[[GOLD]]Du kannst auch[[GREEN]]/{0}[[GOLD]] tippen um die BEfehle zu sehen,[[GOLD]]Das Ziel von mcMMO ist es ein RPG Erlebnis einzufuehren,[[DARK_AQUA]]Q: Wo finde ich Neuigkeiten!?,[[GOLD]]Im mcMMO thread in dem bukkit forum!,[[DARK_AQUA]]Q: Wie tu ich dies und das?,[[RED]]Bitte [[GOLD]]schau in die Wiki! -[[DARK_AQUA]]mcmmo.wikia.com -Party.IsLocked=[[RED]]Gruppe ist gesperrt. -Party.Locked=[[RED]]Gruppe ist gesperrt, nur Leiter kann einladen. -Party.IsntLocked=[[GRAY]]Gruppe ist nicht gesperrt -Party.Unlocked=[[GRAY]]Gruppe entsperrt -Party.Help1=[[RED]]Korrekte Benutzung ist [[YELLOW]]/{0} [[WHITE]][[YELLOW]] oder [[WHITE]]'q' [[YELLOW]]zum beenden -Party.Help2=[[RED]]Um einer gesicherten Gruppe beizutreten nutze [[YELLOW]]/{0} [[WHITE]] -Party.Help3=[[RED]]Siehe /{0} ? für mehr Informationen -Party.Help4=[[RED]]Nutze [[YELLOW]]/{0} [[WHITE]] [[YELLOW]]um einer Gruppe beizutreten oder [[WHITE]]'q' [[YELLOW]]zum beenden -Party.Help5=[[RED]]Um deine Gruppe zu sperren nutze [[YELLOW]]/{0} [[WHITE]]lock -Party.Help6=[[RED]]Um deine Gruppe zu entsperren nutze [[YELLOW]]/{0} [[WHITE]]unlock -Party.Help7=[[RED]]Um deine Gruppe mit einem Passwort zu sichern nutze [[YELLOW]]/{0} [[WHITE]]password -Party.Help8=[[RED]]Um einen SPieler von deiner Gruppe auszuschliessen nutze [[YELLOW]]/{0} [[WHITE]]kick -Party.Help9=[[RED]]Um Gruppenleiter weiter zu reichen nutze [[YELLOW]]/{0} [[WHITE]]owner -Party.NotOwner=[[DARK_RED]]Du bist nicht der Gruppenleiter -Party.InvalidName=[[DARK_RED]]Das ist kein erlaubter Gruppenname -Party.PasswordSet=[[GREEN]]Gruppenpasswort {0} gesetzt -Party.CouldNotKick=[[DARK_RED]]Kann Spieler nicht ausschliessen{0} -Party.NotInYourParty=[[DARK_RED]]{0} ist nicht in deiner Gruppe -Party.CouldNotSetOwner=[[DARK_RED]]Kann kein Leiter werden {0} -Party.NewOwner={0} ist der neue Gruppenleiter. -Party.PasswordWrong=[[DARK_RED]]Gruppenpasswort falsch. -Party.NowOwner=[[RED]]Du bist nun der Gruppenleiter. -Party.NowNotOwner=[[RED]]Du bist nicht laenger der Gruppenleiter. -Party.RequiresPass=[[RED]]Diese Gruppe benoetigt ein Passwort. Nutze [[YELLOW]]/{0}[[WHITE]] [[RED]] zum beitreten. -Party.PtpDelay=[[RED]]Du kannst dies nicht so zeitig erneut benutzen [[WHITE]]([[YELLOW]]{0}s[[WHITE]]) -Commands.xprate.proper=[[DARK_AQUA]]Proper usage is /{0} [integer] [true:false] -Commands.xprate.proper2=[[DARK_AQUA]]Also you can type /{0} reset to turn everything back to normal -Commands.xprate.proper3=[[RED]]Enter true or false for the second value -Commands.xprate.over=[[RED]]mcMMO XP Rate Event is OVER!! -Commands.xprate.started=[[GOLD]]XP EVENT FOR mcMMO HAS STARTED! -Commands.xprate.started2=[[GOLD]]mcMMO XP RATE IS NOW {0}x!! -Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! -Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! +Combat.WolfExamine=[[GREEN]]**du musterst den Wolf mit Bestienkunde** +Combat.WolfShowMaster=[[DARK_GREEN]]Besitzer \: {0} +Combat.Ignition=[[RED]]**ENTZUENDET** +Combat.BurningArrowHit=[[DARK_RED]]von brennendem Pfeil getroffen\! +Combat.TouchedFuzzy=[[DARK_RED]]Benommen. fuehlt sich schwindelig. +Combat.TargetDazed=Ziel ist [[DARK_RED]]benommen +Combat.WolfNoMaster=[[GRAY]]Dieser Wolf hat keinen Besitzer... +Combat.WolfHealth=[[GREEN]]Der Wolf hat {0} Lebensenergie +Combat.StruckByGore=[[RED]]**von Biss getroffen** +Combat.Gore=[[GREEN]]**BISS** +Combat.ArrowDeflect=[[WHITE]]**PFEIL ABGEWEHRT** +Item.ChimaeraWingFail=**CHIMAEREN FLUEGEL fehlgeschlagen\!** +Item.ChimaeraWingPass=**CHIMAEREN FLUEGEL** +Item.InjuredWait=du musst mit der Benutzung warten [[YELLOW]]({0}s) +Item.NeedFeathers=[[GRAY]]mehr Federn nötig... +m.mccPartyCommands=[[GREEN]]--GRUPPEN BEFEHLE-- +m.mccParty=[party name] [[RED]]- Erstellt/tritt einer Gruppe bei +m.mccPartyQ=[[RED]]- aktuelle Gruppe verlassen +m.mccPartyToggle=[[RED]] - aktiviert Gruppenchat +m.mccPartyInvite=[player name] [[RED]]- Gruppeneinladung senden +m.mccPartyAccept=[[RED]]- Gruppeneinladung akzeptieren +m.mccPartyTeleport=[party member name] [[RED]]- Teleport zu Gruppenmitglied +m.mccOtherCommands=[[GREEN]]--ANDERE BEFEHLE-- +m.mccStats=- zeigt deinen Status +m.mccLeaderboards=- Ranglisten +m.mccMySpawn=- Teleport zum Spawnpunkt +m.mccClearMySpawn=- Spawnpunkt loeschen +m.mccToggleAbility=- Faehigkeitsaktivierung an/aus schalten +m.mccAdminToggle=- Adminchat aktivieren +m.mccWhois=[playername] [[RED]]- Detailierte Spielerinfos zeigen +m.mccMmoedit=[playername] [skill] [newvalue] [[RED]]- Ziel modifizieren +m.mccMcGod=- Gott Modus +m.mccSkillInfo=[skillname] [[RED]]- Detailierte Skillinfos zeigen +m.mccModDescription=[[RED]]- MOD-Beschreibung +m.SkillHeader=[[RED]]-----[][[GREEN]]{0}[[RED]][]----- +m.XPGain=[[DARK_GRAY]]XP Erhalten: [[WHITE]]{0} +m.EffectsTemplate=[[DARK_AQUA]]{0}: [[GREEN]]{1} +m.AbilityLockTemplate=[[GRAY]]{0} +m.AbilityBonusTemplate=[[RED]]{0}: [[YELLOW]]{1} +m.Effects=EFFEKTE +m.YourStats=DEINE WERTE +m.SkillTaming=Bestienkunde (Taming) +m.XPGainTaming=wenn Woelfe Schaden bekommen/verursachen +m.EffectsTaming1_0=Bestienkunde +m.EffectsTaming1_1=Wolf mit Knochen schlagen fuer Informationen +m.EffectsTaming2_0=Biss +m.EffectsTaming2_1=Kritischer Schlag mit Blutungseffekt +m.EffectsTaming3_0=Geschaerfte Krallen +m.EffectsTaming3_1=Schadens-Bonus +m.EffectsTaming4_0=Umweltbewusstsein +m.EffectsTaming4_1=Kaktus/Lava Phobie, Fall Schaden Immun +m.EffectsTaming5_0=Dichtes Fell +m.EffectsTaming5_1=Schadens-Reduzierung, Feuer-Resistenz +m.EffectsTaming6_0=schockfest +m.EffectsTaming6_1=Explosions-Schaden-Reduzierung +m.AbilLockTaming1=gesperrt bis 100+ Skilllevel (Umweltbewusstsein) +m.AbilLockTaming2=gesperrt bis 250+ Skillevel (Dichtes Fell) +m.AbilLockTaming3=gesperrt bis 500+ Skillevel (Schockfest) +m.AbilLockTaming4=gesperrt bis 750+ Skillevel (Geschaerfte Krallen) +m.AbilBonusTaming1_0=Umweltbewusstsein +m.AbilBonusTaming1_1=Woelfe meiden Gefahr +m.AbilBonusTaming2_0=Dichtes Fell +m.AbilBonusTaming2_1=Halber Schaden, Feuer-Resistenz +m.AbilBonusTaming3_0=Schockfest +m.AbilBonusTaming3_1=Explosionen verursachen nur 1/6 Schaden +m.AbilBonusTaming4_0=Geschaerfte Krallen +m.AbilBonusTaming4_1=+2 Schaden +m.TamingGoreChance=[[RED]]Biss Chance: [[YELLOW]]{0}% +m.SkillWoodCutting=Holzfaellen (WoodCutting) +m.XPGainWoodCutting=Baeume faellen +m.EffectsWoodCutting1_0=Baumfaeller (Faehigkeit) +m.EffectsWoodCutting1_1=Bringt Baeume zum explodieren +m.EffectsWoodCutting2_0=Blaetter-Sturm +m.EffectsWoodCutting2_1=blaest Blaetter weg +m.EffectsWoodCutting3_0=Doppelte Drops +m.EffectsWoodCutting3_1=doppelte Anzahl Items +m.AbilLockWoodCutting1=gesperrt bis 100+ Skilllevel (Blaetter-Sturm) +m.AbilBonusWoodCutting1_0=Blaetter-Sturm +m.AbilBonusWoodCutting1_1=blaest Blaetter weg +m.WoodCuttingDoubleDropChance=[[RED]]Doppelte Drop Chance: [[YELLOW]]{0}% +m.WoodCuttingTreeFellerLength=[[RED]]Baumfaeller Dauer: [[YELLOW]]{0}s +m.SkillArchery=Bogenschiessen (Archery) +m.XPGainArchery=Monster/Spieler angreifen +m.EffectsArchery1_0=Entzuenden +m.EffectsArchery1_1=25% Chance das Feind Feuer faengt +m.EffectsArchery2_0=Blenden (Spieler) +m.EffectsArchery2_1=Disorientiert Feinde +m.EffectsArchery3_0=Schaden+ +m.EffectsArchery3_1=Modifiziert Schaden +m.EffectsArchery4_0=Pfeile wiederverwenden +m.EffectsArchery4_1=Chance Pfeile von Leichen zurueckzugewinnen +m.ArcheryDazeChance=[[RED]]Chance zu blenden: [[YELLOW]]{0}% +m.ArcheryRetrieveChance=[[RED]]Chance Pfeile zurueckzugewinnen: [[YELLOW]]{0}% +m.ArcheryIgnitionLength=[[RED]]Dauer von Entzuenden: [[YELLOW]]{0} seconds +m.ArcheryDamagePlus=[[RED]]Schaden+ (Rank{0}): [[YELLOW]]Bonus {0} damage +m.SkillAxes=Axt (Axes) +m.XPGainAxes=Monster/Spieler angreifen +m.EffectsAxes1_0=Schaedelspalter (Faehigkeit) +m.EffectsAxes1_1=Verursacht Flaechenschaden +m.EffectsAxes2_0=Kritischer Schlag +m.EffectsAxes2_1=doppelter Schaden +m.EffectsAxes3_0=Axtmeister (500 Skilllevel) +m.EffectsAxes3_1=Modifiziert Schaden +m.AbilLockAxes1=gesperrt bis 500+ Skilllevel(Axtmeister) +m.AbilBonusAxes1_0=Axtmeister +m.AbilBonusAxes1_1=+4 Schaden +m.AxesCritChance=[[RED]]Chance fuer kritische Treffer: [[YELLOW]]{0}% +m.AxesSkullLength=[[RED]]Schaedelspalter Dauer: [[YELLOW]]{0}s +m.SkillSwords=Schwert (Swords) +m.XPGainSwords=Monster/Spieler angreifen +m.EffectsSwords1_0=Konter +m.EffectsSwords1_1=Reflektiert 50% des erhaltenen Schadens +m.EffectsSwords2_0=gezackter Schlag (Faehigkeit) +m.EffectsSwords2_1=25% Flaechenschaden, Blutung+ Flaecheneffekt +m.EffectsSwords3_0=gezackter Schlag Blutung+ +m.EffectsSwords3_1=Blutung über 5 Ticks +m.EffectsSwords4_0=parrieren +m.EffectsSwords4_1=negiert Schaden +m.EffectsSwords5_0=Blutung +m.EffectsSwords5_1=hinterlaesst Blutungs-DOT +m.SwordsCounterAttChance=[[RED]]Konter Chance: [[YELLOW]]{0}% +m.SwordsBleedLength=[[RED]]Blutung Dauer: [[YELLOW]]{0} ticks +m.SwordsBleedChance=[[RED]]Blutung Chance: [[YELLOW]]{0} % +m.SwordsParryChance=[[RED]]Parieren Chance: [[YELLOW]]{0} % +m.SwordsSSLength=[[RED]]gezackter Schlag Dauer: [[YELLOW]]{0}s +m.SwordsTickNote=[[GRAY]]NOTIZ: [[YELLOW]]1 Tick erfolgt aller 2 Sekunden +m.SkillAcrobatics=Akrobatik (Acrobatics) +m.XPGainAcrobatics=stuerzen +m.EffectsAcrobatics1_0=Rolle +m.EffectsAcrobatics1_1=Reduziert oder negiert Schaden +m.EffectsAcrobatics2_0=elegante Rolle +m.EffectsAcrobatics2_1=Doppelt so effektiv wie Rolle +m.EffectsAcrobatics3_0=Ausweichen +m.EffectsAcrobatics3_1=halbiert Schaden +m.AcrobaticsRollChance=[[RED]]Rolle Chance: [[YELLOW]]{0}% +m.AcrobaticsGracefulRollChance=[[RED]]elegante Rolle Chance: [[YELLOW]]{0}% +m.AcrobaticsDodgeChance=[[RED]]Ausweichen Chance: [[YELLOW]]{0}% +m.SkillMining=Bergbau (Mining) +m.XPGainMining=Abbauen von Stein und Erz +m.EffectsMining1_0=Brecher (Faehigkeit) +m.EffectsMining1_1=Tempo+, dreifache Drop Chance +m.EffectsMining2_0=doppelte Drops +m.EffectsMining2_1=doppelte Anzahl Items +m.MiningDoubleDropChance=[[RED]]doppelte Drops Chance: [[YELLOW]]{0}% +m.MiningSuperBreakerLength=[[RED]]Brecher Dauer: [[YELLOW]]{0}s +m.SkillRepair=Reparieren (Repair) +m.XPGainRepair=reparieren +m.EffectsRepair1_0=reparieren +m.EffectsRepair1_1=reparieren von Werkzeugen und Ruestung +m.EffectsRepair2_0=reparieren - Meister +m.EffectsRepair2_1=erhoeht Reparaturwert +m.EffectsRepair3_0=Super Reparatur +m.EffectsRepair3_1=doppelte Effektivitaet +m.EffectsRepair4_0=Diamanten Reparatur ({0}+ SKILL) +m.EffectsRepair4_1=Reparieren von Diamantwerkzeugen und Ruestung +m.RepairRepairMastery=[[RED]]reparieren - Meister: [[YELLOW]]Extra {0}% Haltbarkeit +m.RepairSuperRepairChance=[[RED]]Super Reparatur Chance: [[YELLOW]]{0}% +m.SkillUnarmed=Faustkampf (Unarmed) +m.XPGainUnarmed=Monster/Spieler angreifen +m.EffectsUnarmed1_0=Berserker (Faehigkeit) +m.EffectsUnarmed1_1=+50% Schaden, bricht weiches Material (Bsp. Erde) +m.EffectsUnarmed2_0=Entwaffnen (Spieler) +m.EffectsUnarmed2_1=Entreisst dem Feind das ausgeruestete Item +m.EffectsUnarmed3_0=Faustkampfmeister +m.EffectsUnarmed3_1=grosse Schadenssteigerung +m.EffectsUnarmed4_0=Faustkampflehrling +m.EffectsUnarmed4_1=Schadens-Bonus +m.EffectsUnarmed5_0=Pfeil abwehren +m.EffectsUnarmed5_1=wehrt Pfeile ab +m.AbilLockUnarmed1=gesperrt bis 250+ Skilllevel (Faustkampflehrling) +m.AbilLockUnarmed2=gesperrt bis 500+ Skilllevel (Faustkampfmeister) +m.AbilBonusUnarmed1_0=Faustkampflehrling +m.AbilBonusUnarmed1_1=+2 Schadens-Bonus +m.AbilBonusUnarmed2_0=Faustkampfmeister +m.AbilBonusUnarmed2_1=+4 Schadens-Bonus +m.UnarmedArrowDeflectChance=[[RED]]Pfeil abwehren Chance: [[YELLOW]]{0}% +m.UnarmedDisarmChance=[[RED]]Entwaffnen Chance: [[YELLOW]]{0}% +m.UnarmedBerserkLength=[[RED]]Berserker Dauer: [[YELLOW]]{0}s +m.SkillHerbalism=Kraeutersammler (Herbalism) +m.XPGainHerbalism=Kraeuter sammeln +m.EffectsHerbalism1_0=Gruene Welt (Faehigkeit) +m.EffectsHerbalism1_1=Pflegt die Natur, dreifache Drops +m.EffectsHerbalism2_0=Gruener Daumen (Weizen) +m.EffectsHerbalism2_1=automatisches neupflanzen nach ernten von Weizen +m.EffectsHerbalism3_0=Gruener Daumen (Pflasterstein) +m.EffectsHerbalism3_1=verwandelt Pflasterstein mithilfe von Samen zu moosigen Pflasterstein +m.EffectsHerbalism4_0=Nahrung+ +m.EffectsHerbalism4_1=Steigert Heilung von Brot/Suppe +m.EffectsHerbalism5_0=Doppelte Drops (Alle Kraeuter) +m.EffectsHerbalism5_1=doppelte Anzahl Items +m.HerbalismGreenTerraLength=[[RED]]Gruene Welt Dauer: [[YELLOW]]{0}s +m.HerbalismGreenThumbChance=[[RED]]Gruener Daumen Chance: [[YELLOW]]{0}% +m.HerbalismGreenThumbStage=[[RED]]Gruener Daumen Stufe: [[YELLOW]] Getreide waechst auf Stufe {0} +m.HerbalismDoubleDropChance=[[RED]]Doppelte Drop Chance: [[YELLOW]]{0}% +m.HerbalismFoodPlus=[[RED]]Nahrung+ (Rank{0}): [[YELLOW]]Bonus-Heilung {0} +m.SkillExcavation=Graben (Excavation) +m.XPGainExcavation=Graben und finden von Schaetzen +m.EffectsExcavation1_0=Buddler (Faehigkeit) +m.EffectsExcavation1_1=3x Drop Rate, 3x EXP, +Abbautempo +m.EffectsExcavation2_0=Schatzjaeger +m.EffectsExcavation2_1=Faehigkeit nach Schaetzen zu graben +m.ExcavationGreenTerraLength=[[RED]]Buddler Dauer: [[YELLOW]]{0}s +mcBlockListener.PlacedAnvil=[[DARK_RED]]Amboss platziert, hier kannst du Werkzeuge und Ruestungen reparieren. +mcEntityListener.WolfComesBack=[[DARK_GRAY]]Dein Wolf hastet zurueck zu dir... +mcPlayerListener.AbilitiesOff=Faehigkeiten nutzen (rechtsklick) aus +mcPlayerListener.AbilitiesOn=Faehigkeiten nutzen (rechtsklick) an +mcPlayerListener.AbilitiesRefreshed=[[GREEN]]**Faehigkeiten aufgefrischt\!** +mcPlayerListener.AcrobaticsSkill=[[YELLOW]]Akrobatik Skill (Acrobatics): +mcPlayerListener.ArcherySkill=[[YELLOW]]Bogenschiessen Skill (Archery): +mcPlayerListener.AxesSkill=[[YELLOW]]Axt Skill (Axes): +mcPlayerListener.ExcavationSkill=[[YELLOW]]Graben Skill (Excavation): +mcPlayerListener.GodModeDisabled=[[YELLOW]]mcMMO Gottmodus deaktiviert +mcPlayerListener.GodModeEnabled=[[YELLOW]]mcMMO Gottmodus aktiviert +mcPlayerListener.GreenThumb=[[GREEN]]**GRUENER DAUMEN** +mcPlayerListener.GreenThumbFail=[[RED]]**GRUENER DAUMEN FEHLGESCHLAGEN** +mcPlayerListener.HerbalismSkill=[[YELLOW]]Kraeuterkunde Skill (Herbalism): +mcPlayerListener.MiningSkill=[[YELLOW]]Bergbau Skill (Mining): +mcPlayerListener.MyspawnCleared=[[DARK_AQUA]]Spawnpunkt ist freigegeben +mcPlayerListener.MyspawnNotExist=[[RED]]Lege deinen Spawnpunkt erst mit einem Bett fest +mcPlayerListener.MyspawnSet=[[DARK_AQUA]]Spawnpunkt wurde an deine aktuelle Position gesetzt +mcPlayerListener.MyspawnTimeNotice=Du musst {0}m {1}s warten um myspawn zu nutzen +mcPlayerListener.NoPermission=unzureichende Berechtigungen (Permissions). +mcPlayerListener.NoSkillNote=[[DARK_GRAY]]wenn du keinen Zugriff auf einen Skill hast wird er nicht hier gezeigt +mcPlayerListener.NotInParty=[[RED]]Du bist in keiner Gruppe. +mcPlayerListener.InviteSuccess=[[GREEN]]Einladung erfolgreich versendet. +mcPlayerListener.ReceivedInvite1=[[RED]]ALERT: [[GREEN]]Eine Gruppeneinladung für {0} von {1} erhalten +mcPlayerListener.ReceivedInvite2=[[YELLOW]]Schreibe[[GREEN]]/{0}[[YELLOW]] um die Einladung zu akzeptieren +mcPlayerListener.InviteAccepted=[[GREEN]]Einladung akzeptiert. du bist {0} beigetreten +mcPlayerListener.NoInvites=[[RED]]Du hast derzeit keine Einladungen +mcPlayerListener.YouAreInParty=[[GREEN]]Du bist in Gruppe {0} +mcPlayerListener.PartyMembers=[[GREEN]]Gruppen Mitglieder +mcPlayerListener.LeftParty=[[RED]]Du hast die Gruppe verlassen +mcPlayerListener.JoinedParty=beigetrettene Gruppe: {0} +mcPlayerListener.PartyChatOn=nur Gruppenchat [[RED]]an +mcPlayerListener.PartyChatOff=nur Gruppenchat [[RED]]aus +mcPlayerListener.AdminChatOn=nur Adminchat [[GREEN]]an +mcPlayerListener.AdminChatOff=nur Adminchat [[RED]]aus +mcPlayerListener.MOTD=[[BLUE]]Auf diesem Server laeuft {0} schreibe[[YELLOW]]/{1}[[BLUE]] fuer Hilfe. +mcPlayerListener.WIKI=[[GREEN]]http://mcmmo.wikia.com[[BLUE]] - mcMMO Wiki +mcPlayerListener.PowerLevel=[[DARK_RED]]Macht: +mcPlayerListener.PowerLevelLeaderboard=[[YELLOW]]--mcMMO[[BLUE]] Macht [[YELLOW]]Rangliste-- +mcPlayerListener.SkillLeaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Rangliste-- +mcPlayerListener.RepairSkill=[[YELLOW]]Reparieren Skill (Repair): +mcPlayerListener.SwordsSkill=[[YELLOW]]Schwert Skill (Swords): +mcPlayerListener.TamingSkill=[[YELLOW]]Bestienkunde Skill (Taming): +mcPlayerListener.UnarmedSkill=[[YELLOW]]Faustkampf Skill (Unarmed): +mcPlayerListener.WoodcuttingSkill=[[YELLOW]]Holzfaeller Skill (Woodcutting): +mcPlayerListener.YourStats=[[GREEN]]Deine MMO Werte +Party.InformedOnJoin={0} [[GREEN]] ist deiner Gruppe beigetreten +Party.InformedOnQuit={0} [[GREEN]] hat deine Gruppe verlassen +Skills.YourGreenTerra=[[GREEN]]Deine [[YELLOW]]Gruene Welt [[GREEN]]Faehigkeit ist bereit! +Skills.YourTreeFeller=[[GREEN]]Deine [[YELLOW]]Baumfaeller [[GREEN]]Faehigkeit ist bereit! +Skills.YourSuperBreaker=[[GREEN]]Deine [[YELLOW]]Brecher [[GREEN]]Faehigkeit ist bereit! +Skills.YourSerratedStrikes=[[GREEN]]Deine [[YELLOW]]gezackter Schlag [[GREEN]]Faehigkeit ist bereit! +Skills.YourBerserk=[[GREEN]]Deine [[YELLOW]]Berserker [[GREEN]]Faehigkeit ist bereit! +Skills.YourSkullSplitter=[[GREEN]]Deine [[YELLOW]]Schaedelspalter[[GREEN]]Faehigkeit ist bereit! +Skills.YourGigaDrillBreaker=[[GREEN]]Deine [[YELLOW]]Buddler[[GREEN]]Faehigkeit ist bereit! +Skills.TooTired=[[RED]]Du bist zu muede um diese Faehigkeit erneut zu nutzen. +Skills.ReadyHoe=[[GREEN]]**DU BEREITEST DEINE HARKE VOR** +Skills.LowerHoe=[[GRAY]]**DU SENKST DEINE HARKE** +Skills.ReadyAxe=[[GREEN]]**DU BEREITEST DEINE AXT VOR** +Skills.LowerAxe=[[GRAY]]**DU SENKST DEINE AXT** +Skills.ReadyFists=[[GREEN]]**DU BEREITEST DEINE FAEUSTE VOR** +Skills.LowerFists=[[GRAY]]**DU SENKST DEINE FAUSTE** +Skills.ReadyPickAxe=[[GREEN]]**DU BEREITEST DEINE SPITZHACKE VOR** +Skills.LowerPickAxe=[[GRAY]]**DU SENKST DEINE SPITZHACKE** +Skills.ReadyShovel=[[GREEN]]**DU BEREITEST DEINE SCHAUFEL VOR** +Skills.LowerShovel=[[GRAY]]**DU SENKST DEINE SCHAUFEL** +Skills.ReadySword=[[GREEN]]**DU ERHEBST DEIN SCHWERT** +Skills.LowerSword=[[GRAY]]**DU SENKST DEIN SCHWERT** +Skills.GreenTerraOn=[[GREEN]]**GRUENE WELT AKTIV** +Skills.GreenTerraPlayer=[[GREEN]]{0}[[DARK_GREEN]] hat [[RED]]Gruene Welt[[DARK_GREEN]] benutzt! +Skills.TreeFellerOn=[[GREEN]]**BAUMFAELLER AKTIV** +Skills.TreeFellerPlayer=[[GREEN]]{0}[[DARK_GREEN]] hat [[RED]]Baumfaeller[[DARK_GREEN]] benutzt! +Skills.SuperBreakerOn=[[GREEN]]**BRECHER AKTIV** +Skills.SuperBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] hat [[RED]]Super Brecher[[DARK_GREEN]] benutzt! +Skills.SerratedStrikesOn=[[GREEN]]**GEZACKTER SCHLAG AKTIV** +Skills.SerratedStrikesPlayer=[[GREEN]]{0}[[DARK_GREEN]] hat [[RED]]gezackter Schlag[[DARK_GREEN]] benutzt! +Skills.SkullSplitterOn=[[GREEN]]**SCHAEDELSPALTER AKTIV** +Skills.SkullSplitterPlayer=[[GREEN]]{0}[[DARK_GREEN]] hat [[RED]]Schaedelspalter[[DARK_GREEN]] benutzt! +Skills.GigaDrillBreakerOn=[[GREEN]]**BUDDLER AKTIV** +Skills.GigaDrillBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] hat [[RED]]Buddler[[DARK_GREEN]] benutzt! +Skills.GreenTerraOff=[[RED]]**Gruene Welt ausgelaufen** +Skills.TreeFellerOff=[[RED]]**Baumfaeller ausgelaufen** +Skills.SuperBreakerOff=[[RED]]**Brecher ausgelaufen** +Skills.SerratedStrikesOff=[[RED]]**gezackter Schlag ausgelaufen** +Skills.BerserkOff=[[RED]]**Berserker ausgelaufen** +Skills.SkullSplitterOff=[[RED]]**Schaedelspalter ausgelaufen** +Skills.GigaDrillBreakerOff=[[RED]]**Buddler ausgelaufen** +Skills.TamingUp=[[YELLOW]]Bestienkunde um {0} erhoeht. Gesamt ({1}) +Skills.AcrobaticsUp=[[YELLOW]]Akrobatik um {0} erhoeht. Gesamt ({1}) +Skills.ArcheryUp=[[YELLOW]]Bogenschiessen um {0} erhoeht. Gesamt ({1}) +Skills.SwordsUp=[[YELLOW]]Schwert um {0} erhoeht. Gesamt ({1}) +Skills.AxesUp=[[YELLOW]]Axt um {0} erhoeht. Gesamt ({1}) +Skills.UnarmedUp=[[YELLOW]]Faustkampf um {0} erhoeht. Gesamt ({1}) +Skills.HerbalismUp=[[YELLOW]]Krauterkunde um {0} erhoeht. Gesamt ({1}) +Skills.MiningUp=[[YELLOW]]Bergbau um {0} erhoeht. Gesamt ({1}) +Skills.WoodcuttingUp=[[YELLOW]]Holzfaeller um {0} erhoeht. Gesamt ({1}) +Skills.RepairUp=[[YELLOW]]Reparieren um {0} erhoeht. Gesamt ({1}) +Skills.ExcavationUp=[[YELLOW]]Graben um {0} erhoeht. Gesamt ({1}) +Skills.FeltEasy=[[GRAY]]Das fuehlt sich einfach an. +Skills.StackedItems=[[DARK_RED]]Du kannst keine gestapelten Items reparieren +Skills.NeedMore=[[DARK_RED]]Du brauchst mehr +Skills.AdeptDiamond=[[DARK_RED]]nicht talentiert genug um Diamantwerkzeuge zu reparieren +Skills.FullDurability=[[GRAY]]Dieses Item hat volle Haltbarkeit +Skills.Disarmed=[[DARK_RED]]Du wurdest entwaffnet! +mcPlayerListener.SorcerySkill=Zauberkunst Skill (Sorcery): +m.SkillSorcery=Zauberkunst (Sorcery) +Sorcery.HasCast=[[GREEN]]**ZAUBERN**[[GOLD]] +Sorcery.Current_Mana=[[DARK_AQUA]]MP +Sorcery.SpellSelected=[[GREEN]]-=([[GOLD]]{0}[[GREEN]])=- [[RED]]([[GRAY]]{1}[[RED]]) +Sorcery.Cost=[[RED]][COST] {0} MP +Sorcery.OOM=[[DARK_AQUA]][[[GOLD]]{2}[[DARK_AQUA]]][[DARK_GRAY]] Kein Mana [[YELLOW]]([[RED]]{0}[[YELLOW]]/[[GRAY]]{1}[[YELLOW]]) +Sorcery.Water.Thunder=GEWITTER +Sorcery.Curative.Self=HEILEN (SELBST) +Sorcery.Curative.Other=HEILEN (ANDERE) +m.LVL=[[DARK_GRAY]]LVL: [[GREEN]]{0} [[DARK_AQUA]]XP[[YELLOW]]([[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]]) +Combat.BeastLore=[[GREEN]]**BESTIENKUNDE** +Combat.BeastLoreOwner=[[DARK_AQUA]]Besitzer ([[RED]]{0}[[DARK_AQUA]]) +Combat.BeastLoreHealthWolfTamed=[[DARK_AQUA]]Gesundheit ([[GREEN]]{0}[[DARK_AQUA]]/20) +Combat.BeastLoreHealthWolf=[[DARK_AQUA]]Gesundheit ([[GREEN]]{0}[[DARK_AQUA]]/8) +mcMMO.Description=[[DARK_AQUA]]Q: Was ist das?,[[GOLD]]mcMMO ist eine [[RED]]OPEN SOURCE[[GOLD]] RPG Modifikation fuer Bukkit von [[BLUE]]nossr50,[[GOLD]]Durch mcMMO werden viele Skills bei Minecraft hinzugefuegt,[[GOLD]]Tippe [[GREEN]]/SKILLNAME[[GOLD]] um mehr ueber die Skills herauszufinden.,[[DARK_AQUA]]Q: Was tut es?,[[GOLD]]Ein Beispiel... in [[DARK_AQUA]]Mining[[GOLD]] wirst du Belohnungen bekommen wie,[[RED]]Doppelte Drops[[GOLD]] oder die Faehigkeit [[RED]]Brecher[[GOLD]] welche wenn,[[GOLD]]per rechtsklick aktiviert schnellers abbauen ermoeglicht. Leveln von [[BLUE]]Mining,[[GOLD]]erfolgt einfach durch abbauen von verschiedenen Materialien,[[DARK_AQUA]]Q: Was ist damit gemeint?,[[GOLD]]Alle Skills ind[[GREEN]]mcMMO[[GOLD]] fuegen coole neue Dinge hinzu!.,[[GOLD]]Du kannst auch[[GREEN]]/{0}[[GOLD]] tippen um die BEfehle zu sehen,[[GOLD]]Das Ziel von mcMMO ist es ein RPG Erlebnis einzufuehren,[[DARK_AQUA]]Q: Wo finde ich Neuigkeiten!?,[[GOLD]]Im mcMMO thread in dem bukkit forum!,[[DARK_AQUA]]Q: Wie tu ich dies und das?,[[RED]]Bitte [[GOLD]]schau in die Wiki! +[[DARK_AQUA]]mcmmo.wikia.com +Party.IsLocked=[[RED]]Gruppe ist gesperrt. +Party.Locked=[[RED]]Gruppe ist gesperrt, nur Leiter kann einladen. +Party.IsntLocked=[[GRAY]]Gruppe ist nicht gesperrt +Party.Unlocked=[[GRAY]]Gruppe entsperrt +Party.Help1=[[RED]]Korrekte Benutzung ist [[YELLOW]]/{0} [[WHITE]][[YELLOW]] oder [[WHITE]]'q' [[YELLOW]]zum beenden +Party.Help2=[[RED]]Um einer gesicherten Gruppe beizutreten nutze [[YELLOW]]/{0} [[WHITE]] +Party.Help3=[[RED]]Siehe /{0} ? für mehr Informationen +Party.Help4=[[RED]]Nutze [[YELLOW]]/{0} [[WHITE]] [[YELLOW]]um einer Gruppe beizutreten oder [[WHITE]]'q' [[YELLOW]]zum beenden +Party.Help5=[[RED]]Um deine Gruppe zu sperren nutze [[YELLOW]]/{0} [[WHITE]]lock +Party.Help6=[[RED]]Um deine Gruppe zu entsperren nutze [[YELLOW]]/{0} [[WHITE]]unlock +Party.Help7=[[RED]]Um deine Gruppe mit einem Passwort zu sichern nutze [[YELLOW]]/{0} [[WHITE]]password +Party.Help8=[[RED]]Um einen SPieler von deiner Gruppe auszuschliessen nutze [[YELLOW]]/{0} [[WHITE]]kick +Party.Help9=[[RED]]Um Gruppenleiter weiter zu reichen nutze [[YELLOW]]/{0} [[WHITE]]owner +Party.NotOwner=[[DARK_RED]]Du bist nicht der Gruppenleiter +Party.InvalidName=[[DARK_RED]]Das ist kein erlaubter Gruppenname +Party.PasswordSet=[[GREEN]]Gruppenpasswort {0} gesetzt +Party.CouldNotKick=[[DARK_RED]]Kann Spieler nicht ausschliessen{0} +Party.NotInYourParty=[[DARK_RED]]{0} ist nicht in deiner Gruppe +Party.CouldNotSetOwner=[[DARK_RED]]Kann kein Leiter werden {0} +Party.NewOwner={0} ist der neue Gruppenleiter. +Party.PasswordWrong=[[DARK_RED]]Gruppenpasswort falsch. +Party.NowOwner=[[RED]]Du bist nun der Gruppenleiter. +Party.NowNotOwner=[[RED]]Du bist nicht laenger der Gruppenleiter. +Party.RequiresPass=[[RED]]Diese Gruppe benoetigt ein Passwort. Nutze [[YELLOW]]/{0}[[WHITE]] [[RED]] zum beitreten. +Party.PtpDelay=[[RED]]Du kannst dies nicht so zeitig erneut benutzen [[WHITE]]([[YELLOW]]{0}s[[WHITE]]) +Commands.xprate.proper=[[DARK_AQUA]]Proper usage is /{0} [integer] [true:false] +Commands.xprate.proper2=[[DARK_AQUA]]Also you can type /{0} reset to turn everything back to normal +Commands.xprate.proper3=[[RED]]Enter true or false for the second value +Commands.xprate.over=[[RED]]mcMMO XP Rate Event is OVER!! +Commands.xprate.started=[[GOLD]]XP EVENT FOR mcMMO HAS STARTED! +Commands.xprate.started2=[[GOLD]]mcMMO XP RATE IS NOW {0}x!! +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.invalid=[[RED]]That is not a valid skillname! Try /xplock mining \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/locale/locale_en_us.properties b/src/com/gmail/nossr50/locale/locale_en_us.properties similarity index 98% rename from mcMMO/com/gmail/nossr50/locale/locale_en_us.properties rename to src/com/gmail/nossr50/locale/locale_en_us.properties index cc9f4a7c6..df46ac746 100644 --- a/mcMMO/com/gmail/nossr50/locale/locale_en_us.properties +++ b/src/com/gmail/nossr50/locale/locale_en_us.properties @@ -1,351 +1,351 @@ -Combat.WolfExamine=[[GREEN]]**You examine the Wolf using Beast Lore** -Combat.WolfShowMaster=[[DARK_GREEN]]The Beast's Master \: {0} -Combat.Ignition=[[RED]]**IGNITION** -Combat.BurningArrowHit=[[DARK_RED]]You were struck by a burning arrow\! -Combat.TouchedFuzzy=[[DARK_RED]]Touched Fuzzy. Felt Dizzy. -Combat.TargetDazed=Target was [[DARK_RED]]Dazed -Combat.WolfNoMaster=[[GRAY]]This Beast has no Master... -Combat.WolfHealth=[[GREEN]]This beast has {0} Health -Combat.StruckByGore=[[RED]]**STRUCK BY GORE** -Combat.Gore=[[GREEN]]**GORE** -Combat.ArrowDeflect=[[WHITE]]**ARROW DEFLECT** -Item.ChimaeraWingFail=**CHIMAERA WING FAILED\!** -Item.ChimaeraWingPass=**CHIMAERA WING** -Item.InjuredWait=You were injured recently and must wait to use this. [[YELLOW]]({0}s) -Item.NeedFeathers=[[GRAY]]You need more feathers.. -m.mccPartyCommands=[[GREEN]]--PARTY COMMANDS-- -m.mccParty=[party name] [[RED]]- Create/Join designated party -m.mccPartyQ=[[RED]]- Leave your current party -m.mccPartyToggle=[[RED]] - Toggle Party Chat -m.mccPartyInvite=[player name] [[RED]]- Send party invite -m.mccPartyAccept=[[RED]]- Accept party invite -m.mccPartyTeleport=[party member name] [[RED]]- Teleport to party member -m.mccOtherCommands=[[GREEN]]--OTHER COMMANDS-- -m.mccStats=- View your mcMMO stats -m.mccLeaderboards=- Leaderboards -m.mccMySpawn=- Teleports to myspawn -m.mccClearMySpawn=- Clears your MySpawn -m.mccToggleAbility=- Toggle ability activation with right click -m.mccAdminToggle=- Toggle admin chat -m.mccWhois=[playername] [[RED]]- View detailed player info -m.mccMmoedit=[playername] [skill] [newvalue] [[RED]]- Modify target -m.mccMcGod=- God Mode -m.mccSkillInfo=[skillname] [[RED]]- View detailed information about a skill -m.mccModDescription=[[RED]]- Read brief mod description -m.SkillHeader=[[RED]]-----[][[GREEN]]{0}[[RED]][]----- -m.XPGain=[[DARK_GRAY]]XP GAIN: [[WHITE]]{0} -m.EffectsTemplate=[[DARK_AQUA]]{0}: [[GREEN]]{1} -m.AbilityLockTemplate=[[GRAY]]{0} -m.AbilityBonusTemplate=[[RED]]{0}: [[YELLOW]]{1} -m.Effects=EFFECTS -m.YourStats=YOUR STATS -m.SkillTaming=TAMING -m.XPGainTaming=Wolves getting harmed -m.EffectsTaming1_0=Beast Lore -m.EffectsTaming1_1=Bone-whacking inspects wolves -m.EffectsTaming2_0=Gore -m.EffectsTaming2_1=Critical Strike that applies Bleed -m.EffectsTaming3_0=Sharpened Claws -m.EffectsTaming3_1=Damage Bonus -m.EffectsTaming4_0=Environmentally Aware -m.EffectsTaming4_1=Cactus/Lava Phobia, Fall DMG Immune -m.EffectsTaming5_0=Thick Fur -m.EffectsTaming5_1=DMG Reduction, Fire Resistance -m.EffectsTaming6_0=Shock Proof -m.EffectsTaming6_1=Explosive Damage Reduction -m.AbilLockTaming1=LOCKED UNTIL 100+ SKILL (ENVIRONMENTALLY AWARE) -m.AbilLockTaming2=LOCKED UNTIL 250+ SKILL (THICK FUR) -m.AbilLockTaming3=LOCKED UNTIL 500+ SKILL (SHOCK PROOF) -m.AbilLockTaming4=LOCKED UNTIL 750+ SKILL (SHARPENED CLAWS) -m.AbilBonusTaming1_0=Environmentally Aware -m.AbilBonusTaming1_1=Wolves avoid danger -m.AbilBonusTaming2_0=Thick Fur -m.AbilBonusTaming2_1=Halved Damage, Fire Resistance -m.AbilBonusTaming3_0=Shock Proof -m.AbilBonusTaming3_1=Explosives do 1/6 normal damage -m.AbilBonusTaming4_0=Sharpened Claws -m.AbilBonusTaming4_1=+2 Damage -m.TamingGoreChance=[[RED]]Gore Chance: [[YELLOW]]{0}% -m.SkillWoodCutting=WOODCUTTING -m.XPGainWoodCutting=Chopping down trees -m.EffectsWoodCutting1_0=Tree Feller (ABILITY) -m.EffectsWoodCutting1_1=Make trees explode -m.EffectsWoodCutting2_0=Leaf Blower -m.EffectsWoodCutting2_1=Blow Away Leaves -m.EffectsWoodCutting3_0=Double Drops -m.EffectsWoodCutting3_1=Double the normal loot -m.AbilLockWoodCutting1=LOCKED UNTIL 100+ SKILL (LEAF BLOWER) -m.AbilBonusWoodCutting1_0=Leaf Blower -m.AbilBonusWoodCutting1_1=Blow away leaves -m.WoodCuttingDoubleDropChance=[[RED]]Double Drop Chance: [[YELLOW]]{0}% -m.WoodCuttingTreeFellerLength=[[RED]]Tree Feller Length: [[YELLOW]]{0}s -m.SkillArchery=ARCHERY -m.XPGainArchery=Attacking Monsters -m.EffectsArchery1_0=Ignition -m.EffectsArchery1_1=25% Chance Enemies will ignite -m.EffectsArchery2_0=Daze (Players) -m.EffectsArchery2_1=Disorients foes -m.EffectsArchery3_0=Damage+ -m.EffectsArchery3_1=Modifies Damage -m.EffectsArchery4_0=Arrow Retrieval -m.EffectsArchery4_1=Chance to retrieve arrows from corpses -m.ArcheryDazeChance=[[RED]]Chance to Daze: [[YELLOW]]{0}% -m.ArcheryRetrieveChance=[[RED]]Chance to Retrieve Arrows: [[YELLOW]]{0}% -m.ArcheryIgnitionLength=[[RED]]Length of Ignition: [[YELLOW]]{0} seconds -m.ArcheryDamagePlus=[[RED]]Damage+ (Rank{0}): [[YELLOW]]Bonus {0} damage -m.SkillAxes=AXES -m.XPGainAxes=Attacking Monsters -m.EffectsAxes1_0=Skull Splitter (ABILITY) -m.EffectsAxes1_1=Deal AoE Damage -m.EffectsAxes2_0=Critical Strikes -m.EffectsAxes2_1=Double Damage -m.EffectsAxes3_0=Axe Mastery -m.EffectsAxes3_1=Modifies Damage -m.AbilLockAxes1=LOCKED UNTIL 500+ SKILL (AXEMASTERY) -m.AbilBonusAxes1_0=Axe Mastery -m.AbilBonusAxes1_1=Bonus 4 damage -m.AxesCritChance=[[RED]]Chance to critically strike: [[YELLOW]]{0}% -m.AxesSkullLength=[[RED]]Skull Splitter Length: [[YELLOW]]{0}s -m.SkillSwords=SWORDS -m.XPGainSwords=Attacking Monsters -m.EffectsSwords1_0=Counter Attack -m.EffectsSwords1_1=Reflect 50% of damage taken -m.EffectsSwords2_0=Serrated Strikes (ABILITY) -m.EffectsSwords2_1=25% DMG AoE, Bleed+ AoE -m.EffectsSwords3_0=Serrated Strikes Bleed+ -m.EffectsSwords3_1=5 Tick Bleed -m.EffectsSwords4_0=Parrying -m.EffectsSwords4_1=Negates Damage -m.EffectsSwords5_0=Bleed -m.EffectsSwords5_1=Apply a bleed DoT -m.SwordsCounterAttChance=[[RED]]Counter Attack Chance: [[YELLOW]]{0}% -m.SwordsBleedLength=[[RED]]Bleed Length: [[YELLOW]]{0} ticks -m.SwordsBleedChance=[[RED]]Bleed Chance: [[YELLOW]]{0} % -m.SwordsParryChance=[[RED]]Parry Chance: [[YELLOW]]{0} % -m.SwordsSSLength=[[RED]]Serrated Strikes Length: [[YELLOW]]{0}s -m.SwordsTickNote=[[GRAY]]NOTE: [[YELLOW]]1 Tick happens every 2 seconds -m.SkillAcrobatics=ACROBATICS -m.XPGainAcrobatics=Falling -m.EffectsAcrobatics1_0=Roll -m.EffectsAcrobatics1_1=Reduces or Negates damage -m.EffectsAcrobatics2_0=Graceful Roll -m.EffectsAcrobatics2_1=Twice as effective as Roll -m.EffectsAcrobatics3_0=Dodge -m.EffectsAcrobatics3_1=Reduce damage by half -m.AcrobaticsRollChance=[[RED]]Roll Chance: [[YELLOW]]{0}% -m.AcrobaticsGracefulRollChance=[[RED]]Graceful Roll Chance: [[YELLOW]]{0}% -m.AcrobaticsDodgeChance=[[RED]]Dodge Chance: [[YELLOW]]{0}% -m.SkillMining=MINING -m.XPGainMining=Mining Stone & Ore -m.EffectsMining1_0=Super Breaker (ABILITY) -m.EffectsMining1_1=Speed+, Triple Drop Chance -m.EffectsMining2_0=Double Drops -m.EffectsMining2_1=Double the normal loot -m.MiningDoubleDropChance=[[RED]]Double Drop Chance: [[YELLOW]]{0}% -m.MiningSuperBreakerLength=[[RED]]Super Breaker Length: [[YELLOW]]{0}s -m.SkillRepair=REPAIR -m.XPGainRepair=Repairing -m.EffectsRepair1_0=Repair -m.EffectsRepair1_1=Repair Iron Tools & Armor -m.EffectsRepair2_0=Repair Mastery -m.EffectsRepair2_1=Increased repair amount -m.EffectsRepair3_0=Super Repair -m.EffectsRepair3_1=Double effectiveness -m.EffectsRepair4_0=Diamond Repair ({0}+ SKILL) -m.EffectsRepair4_1=Repair Diamond Tools & Armor -m.RepairRepairMastery=[[RED]]Repair Mastery: [[YELLOW]]Extra {0}% durability restored -m.RepairSuperRepairChance=[[RED]]Super Repair Chance: [[YELLOW]]{0}% -m.SkillUnarmed=UNARMED -m.XPGainUnarmed=Attacking Monsters -m.EffectsUnarmed1_0=Berserk (ABILITY) -m.EffectsUnarmed1_1=+50% DMG, Breaks weak materials -m.EffectsUnarmed2_0=Disarm (Players) -m.EffectsUnarmed2_1=Drops the foes item held in hand -m.EffectsUnarmed3_0=Unarmed Mastery -m.EffectsUnarmed3_1=Large Damage Upgrade -m.EffectsUnarmed4_0=Unarmed Apprentice -m.EffectsUnarmed4_1=Damage Upgrade -m.EffectsUnarmed5_0=Arrow Deflect -m.EffectsUnarmed5_1=Deflect arrows -m.AbilLockUnarmed1=LOCKED UNTIL 250+ SKILL (UNARMED APPRENTICE) -m.AbilLockUnarmed2=LOCKED UNTIL 500+ SKILL (UNARMED MASTERY) -m.AbilBonusUnarmed1_0=Unarmed Apprentice -m.AbilBonusUnarmed1_1=+2 DMG Upgrade -m.AbilBonusUnarmed2_0=Unarmed Mastery -m.AbilBonusUnarmed2_1=+4 DMG Upgrade -m.UnarmedArrowDeflectChance=[[RED]]Arrow Deflect Chance: [[YELLOW]]{0}% -m.UnarmedDisarmChance=[[RED]]Disarm Chance: [[YELLOW]]{0}% -m.UnarmedBerserkLength=[[RED]]Berserk Length: [[YELLOW]]{0}s -m.SkillHerbalism=HERBALISM -m.XPGainHerbalism=Harvesting Herbs -m.EffectsHerbalism1_0=Green Terra (ABILITY) -m.EffectsHerbalism1_1=Spread the Terra, 3x Drops -m.EffectsHerbalism2_0=Green Thumb (Wheat) -m.EffectsHerbalism2_1=Auto-Plants wheat when harvesting -m.EffectsHerbalism3_0=Green Thumb (Cobble) -m.EffectsHerbalism3_1=Cobblestone -> Mossy w/ Seeds -m.EffectsHerbalism4_0=Food+ -m.EffectsHerbalism4_1=Modifies health received from bread/stew -m.EffectsHerbalism5_0=Double Drops (All Herbs) -m.EffectsHerbalism5_1=Double the normal loot -m.HerbalismGreenTerraLength=[[RED]]Green Terra Length: [[YELLOW]]{0}s -m.HerbalismGreenThumbChance=[[RED]]Green Thumb Chance: [[YELLOW]]{0}% -m.HerbalismGreenThumbStage=[[RED]]Green Thumb Stage: [[YELLOW]] Wheat grows in stage {0} -m.HerbalismDoubleDropChance=[[RED]]Double Drop Chance: [[YELLOW]]{0}% -m.HerbalismFoodPlus=[[RED]]Food+ (Rank{0}): [[YELLOW]]Bonus {0} healing -m.SkillExcavation=EXCAVATION -m.XPGainExcavation=Digging and finding treasures -m.EffectsExcavation1_0=Giga Drill Breaker (ABILITY) -m.EffectsExcavation1_1=3x Drop Rate, 3x EXP, +Speed -m.EffectsExcavation2_0=Treasure Hunter -m.EffectsExcavation2_1=Ability to dig for treasure -m.ExcavationGreenTerraLength=[[RED]]Giga Drill Breaker Length: [[YELLOW]]{0}s -mcBlockListener.PlacedAnvil=[[DARK_RED]]You have placed an anvil, anvils can repair tools and armor. -mcEntityListener.WolfComesBack=[[DARK_GRAY]]Your wolf scurries back to you... -mcPlayerListener.AbilitiesOff=Ability use toggled off -mcPlayerListener.AbilitiesOn=Ability use toggled on -mcPlayerListener.AbilitiesRefreshed=[[GREEN]]**ABILITIES REFRESHED\!** -mcPlayerListener.AcrobaticsSkill=Acrobatics: -mcPlayerListener.ArcherySkill=Archery: -mcPlayerListener.AxesSkill=Axes: -mcPlayerListener.ExcavationSkill=Excavation: -mcPlayerListener.GodModeDisabled=[[YELLOW]]mcMMO Godmode Disabled -mcPlayerListener.GodModeEnabled=[[YELLOW]]mcMMO Godmode Enabled -mcPlayerListener.GreenThumb=[[GREEN]]**GREEN THUMB** -mcPlayerListener.GreenThumbFail=[[RED]]**GREEN THUMB FAIL** -mcPlayerListener.HerbalismSkill=Herbalism: -mcPlayerListener.MiningSkill=Mining: -mcPlayerListener.MyspawnCleared=[[DARK_AQUA]]Myspawn is now cleared. -mcPlayerListener.MyspawnNotExist=[[RED]]Configure your myspawn first with a bed. -mcPlayerListener.MyspawnSet=[[DARK_AQUA]]Myspawn has been set to your current location. -mcPlayerListener.MyspawnTimeNotice=You must wait {0}m {1}s to use myspawn -mcPlayerListener.NoPermission=Insufficient mcPermissions. -mcPlayerListener.NoSkillNote=[[DARK_GRAY]]If you don't have access to a skill it will not be shown here. -mcPlayerListener.NotInParty=[[RED]]You are not in a party. -mcPlayerListener.InviteSuccess=[[GREEN]]Invite sent successfully. -mcPlayerListener.ReceivedInvite1=[[RED]]ALERT: [[GREEN]]You have received a party invite for {0} from {1} -mcPlayerListener.ReceivedInvite2=[[YELLOW]]Type [[GREEN]]/{0}[[YELLOW]] to accept the invite -mcPlayerListener.InviteAccepted=[[GREEN]]Invite Accepted. You have joined party {0} -mcPlayerListener.NoInvites=[[RED]]You have no invites at this time -mcPlayerListener.YouAreInParty=[[GREEN]]You are in party {0} -mcPlayerListener.PartyMembers=[[GREEN]]Party Members -mcPlayerListener.LeftParty=[[RED]]You have left that party -mcPlayerListener.JoinedParty=Joined Party: {0} -mcPlayerListener.PartyChatOn=Party Chat only [[GREEN]]On -mcPlayerListener.PartyChatOff=Party Chat only [[RED]]Off -mcPlayerListener.AdminChatOn=Admin Chat only [[GREEN]]On -mcPlayerListener.AdminChatOff=Admin Chat only [[RED]]Off -mcPlayerListener.MOTD=[[BLUE]]This server is running mcMMO {0} type [[YELLOW]]/{1}[[BLUE]] for help. -mcPlayerListener.WIKI=[[GREEN]]http://mcmmo.wikia.com[[BLUE]] - mcMMO Wiki -mcPlayerListener.PowerLevel=[[DARK_RED]]POWER LEVEL: -mcPlayerListener.PowerLevelLeaderboard=[[YELLOW]]--mcMMO[[BLUE]] Power Level [[YELLOW]]Leaderboard-- -mcPlayerListener.SkillLeaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Leaderboard-- -mcPlayerListener.RepairSkill=Repair: -mcPlayerListener.SwordsSkill=Swords: -mcPlayerListener.TamingSkill=Taming: -mcPlayerListener.UnarmedSkill=Unarmed: -mcPlayerListener.WoodcuttingSkill=Woodcutting: -mcPlayerListener.YourStats=[[GREEN]][mcMMO] Stats -Party.InformedOnJoin={0} [[GREEN]] has joined your party -Party.InformedOnQuit={0} [[GREEN]] has left your party -Skills.YourGreenTerra=[[GREEN]]Your [[YELLOW]]Green Terra [[GREEN]]ability is refreshed! -Skills.YourTreeFeller=[[GREEN]]Your [[YELLOW]]Tree Feller [[GREEN]]ability is refreshed! -Skills.YourSuperBreaker=[[GREEN]]Your [[YELLOW]]Super Breaker [[GREEN]]ability is refreshed! -Skills.YourSerratedStrikes=[[GREEN]]Your [[YELLOW]]Serrated Strikes [[GREEN]]ability is refreshed! -Skills.YourBerserk=[[GREEN]]Your [[YELLOW]]Berserk [[GREEN]]ability is refreshed! -Skills.YourSkullSplitter=[[GREEN]]Your [[YELLOW]]Skull Splitter [[GREEN]]ability is refreshed! -Skills.YourGigaDrillBreaker=[[GREEN]]Your [[YELLOW]]Giga Drill Breaker [[GREEN]]ability is refreshed! -Skills.TooTired=[[RED]]You are too tired to use that ability again. -Skills.ReadyHoe=[[GREEN]]**YOU READY YOUR HOE** -Skills.LowerHoe=[[GRAY]]**YOU LOWER YOUR HOE** -Skills.ReadyAxe=[[GREEN]]**YOU READY YOUR AXE** -Skills.LowerAxe=[[GRAY]]**YOU LOWER YOUR AXE** -Skills.ReadyFists=[[GREEN]]**YOU READY YOUR FISTS** -Skills.LowerFists=[[GRAY]]**YOU LOWER YOUR FISTS** -Skills.ReadyPickAxe=[[GREEN]]**YOU READY YOUR PICKAXE** -Skills.LowerPickAxe=[[GRAY]]**YOU LOWER YOUR PICKAXE** -Skills.ReadyShovel=[[GREEN]]**YOU READY YOUR SHOVEL** -Skills.LowerShovel=[[GRAY]]**YOU LOWER YOUR SHOVEL** -Skills.ReadySword=[[GREEN]]**YOU READY YOUR SWORD** -Skills.LowerSword=[[GRAY]]**YOU LOWER YOUR SWORD** -Skills.BerserkOn=[[GREEN]]**BERSERK ACTIVATED** -Skills.BerserkPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Berserk! -Skills.GreenTerraOn=[[GREEN]]**GREEN TERRA ACTIVATED** -Skills.GreenTerraPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Green Terra! -Skills.TreeFellerOn=[[GREEN]]**TREE FELLER ACTIVATED** -Skills.TreeFellerPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Tree Feller! -Skills.SuperBreakerOn=[[GREEN]]**SUPER BREAKER ACTIVATED** -Skills.SuperBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Super Breaker! -Skills.SerratedStrikesOn=[[GREEN]]**SERRATED STRIKES ACTIVATED** -Skills.SerratedStrikesPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Serrated Strikes! -Skills.SkullSplitterOn=[[GREEN]]**SKULL SPLITTER ACTIVATED** -Skills.SkullSplitterPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Skull Splitter! -Skills.GigaDrillBreakerOn=[[GREEN]]**GIGA DRILL BREAKER ACTIVATED** -Skills.GigaDrillBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Giga Drill Breaker! -Skills.GreenTerraOff=[[RED]]**Green Terra has worn off** -Skills.TreeFellerOff=[[RED]]**Tree Feller has worn off** -Skills.SuperBreakerOff=[[RED]]**Super Breaker has worn off** -Skills.SerratedStrikesOff=[[RED]]**Serrated Strikes has worn off** -Skills.BerserkOff=[[RED]]**Berserk has worn off** -Skills.SkullSplitterOff=[[RED]]**Skull Splitter has worn off** -Skills.GigaDrillBreakerOff=[[RED]]**Giga Drill Breaker has worn off** -Skills.TamingUp=[[YELLOW]]Taming skill increased by {0}. Total ({1}) -Skills.AcrobaticsUp=[[YELLOW]]Acrobatics skill increased by {0}. Total ({1}) -Skills.ArcheryUp=[[YELLOW]]Archery skill increased by {0}. Total ({1}) -Skills.SwordsUp=[[YELLOW]]Swords skill increased by {0}. Total ({1}) -Skills.AxesUp=[[YELLOW]]Axes skill increased by {0}. Total ({1}) -Skills.UnarmedUp=[[YELLOW]]Unarmed skill increased by {0}. Total ({1}) -Skills.HerbalismUp=[[YELLOW]]Herbalism skill increased by {0}. Total ({1}) -Skills.MiningUp=[[YELLOW]]Mining skill increased by {0}. Total ({1}) -Skills.WoodcuttingUp=[[YELLOW]]Woodcutting skill increased by {0}. Total ({1}) -Skills.RepairUp=[[YELLOW]]Repair skill increased by {0}. Total ({1}) -Skills.ExcavationUp=[[YELLOW]]Excavation skill increased by {0}. Total ({1}) -Skills.FeltEasy=[[GRAY]]That felt easy. -Skills.StackedItems=[[DARK_RED]]You can't repair stacked items -Skills.NeedMore=[[DARK_RED]]You need more -Skills.AdeptDiamond=[[DARK_RED]]You're not skilled enough to repair Diamond -Skills.FullDurability=[[GRAY]]That is at full durability. -Skills.Disarmed=[[DARK_RED]]You have been disarmed! -mcPlayerListener.SorcerySkill=Sorcery: -m.SkillSorcery=SORCERY -Sorcery.HasCast=[[GREEN]]**CASTING**[[GOLD]] -Sorcery.Current_Mana=[[DARK_AQUA]]MP -Sorcery.SpellSelected=[[GREEN]]-=([[GOLD]]{0}[[GREEN]])=- [[RED]]([[GRAY]]{1}[[RED]]) -Sorcery.Cost=[[RED]][COST] {0} MP -Sorcery.OOM=[[DARK_AQUA]][[[GOLD]]{2}[[DARK_AQUA]]][[DARK_GRAY]] Out Of Mana [[YELLOW]]([[RED]]{0}[[YELLOW]]/[[GRAY]]{1}[[YELLOW]]) -Sorcery.Water.Thunder=THUNDER -Sorcery.Curative.Self=CURE SELF -Sorcery.Curative.Other=CURE OTHER -m.LVL=[[DARK_GRAY]]LVL: [[GREEN]]{0} [[DARK_AQUA]]XP[[YELLOW]]([[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]]) -Combat.BeastLore=[[GREEN]]**BEAST LORE** -Combat.BeastLoreOwner=[[DARK_AQUA]]Owner ([[RED]]{0}[[DARK_AQUA]]) -Combat.BeastLoreHealthWolfTamed=[[DARK_AQUA]]Health ([[GREEN]]{0}[[DARK_AQUA]]/20) -Combat.BeastLoreHealthWolf=[[DARK_AQUA]]Health ([[GREEN]]{0}[[DARK_AQUA]]/8) -mcMMO.Description=[[DARK_AQUA]]Q: WHAT IS IT?,[[GOLD]]mcMMO is an [[RED]]OPEN SOURCE[[GOLD]] RPG mod for Bukkit by [[BLUE]]nossr50,[[GOLD]]There are many skills added by mcMMO to Minecraft.,[[GOLD]]You can gain experience in many different ways,[[GOLD]]You will want to type [[GREEN]]/SKILLNAME[[GOLD]] to find out more about a skill.,[[DARK_AQUA]]Q: WHAT DOES IT DO?,[[GOLD]]As an example... in [[DARK_AQUA]]Mining[[GOLD]] you will receive benefits like,[[RED]]Double Drops[[GOLD]] or the ability [[RED]]Super Breaker[[GOLD]] which when,[[GOLD]]activated by right-click allows fast Mining during its duration,[[GOLD]]which is related to your skill level. Leveling [[BLUE]]Mining,[[GOLD]]is as simple as mining precious materials!,[[DARK_AQUA]]Q: WHAT DOES THIS MEAN?,[[GOLD]]Almost all of the skills in [[GREEN]]mcMMO[[GOLD]] add cool new things!.,[[GOLD]]You can also type [[GREEN]]/{0}[[GOLD]] to find out commands,[[GOLD]]The goal of mcMMO is to provide a quality RPG experience.,[[DARK_AQUA]]Q: WHERE DO I SUGGEST NEW STUFF!?,[[GOLD]]On the mcMMO thread in the bukkit forums!,[[DARK_AQUA]]Q: HOW DO I DO THIS AND THAT?,[[RED]]PLEASE [[GOLD]]checkout the wiki! [[DARK_AQUA]]mcmmo.wikia.com -Party.Locked=[[RED]]Party is locked, only party leader may invite. -Party.IsntLocked=[[GRAY]]Party is not locked -Party.Unlocked=[[GRAY]]Party is unlocked -Party.Help1=[[RED]]Proper usage is [[YELLOW]]/{0} [[WHITE]][[YELLOW]] or [[WHITE]]'q' [[YELLOW]]to quit -Party.Help2=[[RED]]To join a passworded party use [[YELLOW]]/{0} [[WHITE]] -Party.Help3=[[RED]]Consult /{0} ? for more information -Party.Help4=[[RED]]Use [[YELLOW]]/{0} [[WHITE]] [[YELLOW]]to join a party or [[WHITE]]'q' [[YELLOW]]to quit -Party.Help5=[[RED]]To lock your party use [[YELLOW]]/{0} [[WHITE]]lock -Party.Help6=[[RED]]To unlock your party use [[YELLOW]]/{0} [[WHITE]]unlock -Party.Help7=[[RED]]To password protect your party use [[YELLOW]]/{0} [[WHITE]]password -Party.Help8=[[RED]]To kick a player from your party use [[YELLOW]]/{0} [[WHITE]]kick -Party.Help9=[[RED]]To transfer ownership of your party use [[YELLOW]]/{0} [[WHITE]]owner -Party.NotOwner=[[DARK_RED]]You are not the party owner -Party.InvalidName=[[DARK_RED]]That is not a valid party name -Party.PasswordSet=[[GREEN]]Party password set to {0} -Party.CouldNotKick=[[DARK_RED]]Could not kick player {0} -Party.NotInYourParty=[[DARK_RED]]{0} is not in your party -Party.CouldNotSetOwner=[[DARK_RED]]Could not set owner to {0} -Commands.xprate.proper=[[DARK_AQUA]]Proper usage is /{0} [integer] [true:false] -Commands.xprate.proper2=[[DARK_AQUA]]Also you can type /{0} reset to turn everything back to normal -Commands.xprate.proper3=[[RED]]Enter true or false for the second value -Commands.xprate.over=[[RED]]mcMMO XP Rate Event is OVER!! -Commands.xprate.started=[[GOLD]]XP EVENT FOR mcMMO HAS STARTED! -Commands.xprate.started2=[[GOLD]]mcMMO XP RATE IS NOW {0}x!! -Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! -Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! +Combat.WolfExamine=[[GREEN]]**You examine the Wolf using Beast Lore** +Combat.WolfShowMaster=[[DARK_GREEN]]The Beast's Master \: {0} +Combat.Ignition=[[RED]]**IGNITION** +Combat.BurningArrowHit=[[DARK_RED]]You were struck by a burning arrow\! +Combat.TouchedFuzzy=[[DARK_RED]]Touched Fuzzy. Felt Dizzy. +Combat.TargetDazed=Target was [[DARK_RED]]Dazed +Combat.WolfNoMaster=[[GRAY]]This Beast has no Master... +Combat.WolfHealth=[[GREEN]]This beast has {0} Health +Combat.StruckByGore=[[RED]]**STRUCK BY GORE** +Combat.Gore=[[GREEN]]**GORE** +Combat.ArrowDeflect=[[WHITE]]**ARROW DEFLECT** +Item.ChimaeraWingFail=**CHIMAERA WING FAILED\!** +Item.ChimaeraWingPass=**CHIMAERA WING** +Item.InjuredWait=You were injured recently and must wait to use this. [[YELLOW]]({0}s) +Item.NeedFeathers=[[GRAY]]You need more feathers.. +m.mccPartyCommands=[[GREEN]]--PARTY COMMANDS-- +m.mccParty=[party name] [[RED]]- Create/Join designated party +m.mccPartyQ=[[RED]]- Leave your current party +m.mccPartyToggle=[[RED]] - Toggle Party Chat +m.mccPartyInvite=[player name] [[RED]]- Send party invite +m.mccPartyAccept=[[RED]]- Accept party invite +m.mccPartyTeleport=[party member name] [[RED]]- Teleport to party member +m.mccOtherCommands=[[GREEN]]--OTHER COMMANDS-- +m.mccStats=- View your mcMMO stats +m.mccLeaderboards=- Leaderboards +m.mccMySpawn=- Teleports to myspawn +m.mccClearMySpawn=- Clears your MySpawn +m.mccToggleAbility=- Toggle ability activation with right click +m.mccAdminToggle=- Toggle admin chat +m.mccWhois=[playername] [[RED]]- View detailed player info +m.mccMmoedit=[playername] [skill] [newvalue] [[RED]]- Modify target +m.mccMcGod=- God Mode +m.mccSkillInfo=[skillname] [[RED]]- View detailed information about a skill +m.mccModDescription=[[RED]]- Read brief mod description +m.SkillHeader=[[RED]]-----[][[GREEN]]{0}[[RED]][]----- +m.XPGain=[[DARK_GRAY]]XP GAIN: [[WHITE]]{0} +m.EffectsTemplate=[[DARK_AQUA]]{0}: [[GREEN]]{1} +m.AbilityLockTemplate=[[GRAY]]{0} +m.AbilityBonusTemplate=[[RED]]{0}: [[YELLOW]]{1} +m.Effects=EFFECTS +m.YourStats=YOUR STATS +m.SkillTaming=TAMING +m.XPGainTaming=Wolves getting harmed +m.EffectsTaming1_0=Beast Lore +m.EffectsTaming1_1=Bone-whacking inspects wolves +m.EffectsTaming2_0=Gore +m.EffectsTaming2_1=Critical Strike that applies Bleed +m.EffectsTaming3_0=Sharpened Claws +m.EffectsTaming3_1=Damage Bonus +m.EffectsTaming4_0=Environmentally Aware +m.EffectsTaming4_1=Cactus/Lava Phobia, Fall DMG Immune +m.EffectsTaming5_0=Thick Fur +m.EffectsTaming5_1=DMG Reduction, Fire Resistance +m.EffectsTaming6_0=Shock Proof +m.EffectsTaming6_1=Explosive Damage Reduction +m.AbilLockTaming1=LOCKED UNTIL 100+ SKILL (ENVIRONMENTALLY AWARE) +m.AbilLockTaming2=LOCKED UNTIL 250+ SKILL (THICK FUR) +m.AbilLockTaming3=LOCKED UNTIL 500+ SKILL (SHOCK PROOF) +m.AbilLockTaming4=LOCKED UNTIL 750+ SKILL (SHARPENED CLAWS) +m.AbilBonusTaming1_0=Environmentally Aware +m.AbilBonusTaming1_1=Wolves avoid danger +m.AbilBonusTaming2_0=Thick Fur +m.AbilBonusTaming2_1=Halved Damage, Fire Resistance +m.AbilBonusTaming3_0=Shock Proof +m.AbilBonusTaming3_1=Explosives do 1/6 normal damage +m.AbilBonusTaming4_0=Sharpened Claws +m.AbilBonusTaming4_1=+2 Damage +m.TamingGoreChance=[[RED]]Gore Chance: [[YELLOW]]{0}% +m.SkillWoodCutting=WOODCUTTING +m.XPGainWoodCutting=Chopping down trees +m.EffectsWoodCutting1_0=Tree Feller (ABILITY) +m.EffectsWoodCutting1_1=Make trees explode +m.EffectsWoodCutting2_0=Leaf Blower +m.EffectsWoodCutting2_1=Blow Away Leaves +m.EffectsWoodCutting3_0=Double Drops +m.EffectsWoodCutting3_1=Double the normal loot +m.AbilLockWoodCutting1=LOCKED UNTIL 100+ SKILL (LEAF BLOWER) +m.AbilBonusWoodCutting1_0=Leaf Blower +m.AbilBonusWoodCutting1_1=Blow away leaves +m.WoodCuttingDoubleDropChance=[[RED]]Double Drop Chance: [[YELLOW]]{0}% +m.WoodCuttingTreeFellerLength=[[RED]]Tree Feller Length: [[YELLOW]]{0}s +m.SkillArchery=ARCHERY +m.XPGainArchery=Attacking Monsters +m.EffectsArchery1_0=Ignition +m.EffectsArchery1_1=25% Chance Enemies will ignite +m.EffectsArchery2_0=Daze (Players) +m.EffectsArchery2_1=Disorients foes +m.EffectsArchery3_0=Damage+ +m.EffectsArchery3_1=Modifies Damage +m.EffectsArchery4_0=Arrow Retrieval +m.EffectsArchery4_1=Chance to retrieve arrows from corpses +m.ArcheryDazeChance=[[RED]]Chance to Daze: [[YELLOW]]{0}% +m.ArcheryRetrieveChance=[[RED]]Chance to Retrieve Arrows: [[YELLOW]]{0}% +m.ArcheryIgnitionLength=[[RED]]Length of Ignition: [[YELLOW]]{0} seconds +m.ArcheryDamagePlus=[[RED]]Damage+ (Rank{0}): [[YELLOW]]Bonus {0} damage +m.SkillAxes=AXES +m.XPGainAxes=Attacking Monsters +m.EffectsAxes1_0=Skull Splitter (ABILITY) +m.EffectsAxes1_1=Deal AoE Damage +m.EffectsAxes2_0=Critical Strikes +m.EffectsAxes2_1=Double Damage +m.EffectsAxes3_0=Axe Mastery +m.EffectsAxes3_1=Modifies Damage +m.AbilLockAxes1=LOCKED UNTIL 500+ SKILL (AXEMASTERY) +m.AbilBonusAxes1_0=Axe Mastery +m.AbilBonusAxes1_1=Bonus 4 damage +m.AxesCritChance=[[RED]]Chance to critically strike: [[YELLOW]]{0}% +m.AxesSkullLength=[[RED]]Skull Splitter Length: [[YELLOW]]{0}s +m.SkillSwords=SWORDS +m.XPGainSwords=Attacking Monsters +m.EffectsSwords1_0=Counter Attack +m.EffectsSwords1_1=Reflect 50% of damage taken +m.EffectsSwords2_0=Serrated Strikes (ABILITY) +m.EffectsSwords2_1=25% DMG AoE, Bleed+ AoE +m.EffectsSwords3_0=Serrated Strikes Bleed+ +m.EffectsSwords3_1=5 Tick Bleed +m.EffectsSwords4_0=Parrying +m.EffectsSwords4_1=Negates Damage +m.EffectsSwords5_0=Bleed +m.EffectsSwords5_1=Apply a bleed DoT +m.SwordsCounterAttChance=[[RED]]Counter Attack Chance: [[YELLOW]]{0}% +m.SwordsBleedLength=[[RED]]Bleed Length: [[YELLOW]]{0} ticks +m.SwordsBleedChance=[[RED]]Bleed Chance: [[YELLOW]]{0} % +m.SwordsParryChance=[[RED]]Parry Chance: [[YELLOW]]{0} % +m.SwordsSSLength=[[RED]]Serrated Strikes Length: [[YELLOW]]{0}s +m.SwordsTickNote=[[GRAY]]NOTE: [[YELLOW]]1 Tick happens every 2 seconds +m.SkillAcrobatics=ACROBATICS +m.XPGainAcrobatics=Falling +m.EffectsAcrobatics1_0=Roll +m.EffectsAcrobatics1_1=Reduces or Negates damage +m.EffectsAcrobatics2_0=Graceful Roll +m.EffectsAcrobatics2_1=Twice as effective as Roll +m.EffectsAcrobatics3_0=Dodge +m.EffectsAcrobatics3_1=Reduce damage by half +m.AcrobaticsRollChance=[[RED]]Roll Chance: [[YELLOW]]{0}% +m.AcrobaticsGracefulRollChance=[[RED]]Graceful Roll Chance: [[YELLOW]]{0}% +m.AcrobaticsDodgeChance=[[RED]]Dodge Chance: [[YELLOW]]{0}% +m.SkillMining=MINING +m.XPGainMining=Mining Stone & Ore +m.EffectsMining1_0=Super Breaker (ABILITY) +m.EffectsMining1_1=Speed+, Triple Drop Chance +m.EffectsMining2_0=Double Drops +m.EffectsMining2_1=Double the normal loot +m.MiningDoubleDropChance=[[RED]]Double Drop Chance: [[YELLOW]]{0}% +m.MiningSuperBreakerLength=[[RED]]Super Breaker Length: [[YELLOW]]{0}s +m.SkillRepair=REPAIR +m.XPGainRepair=Repairing +m.EffectsRepair1_0=Repair +m.EffectsRepair1_1=Repair Iron Tools & Armor +m.EffectsRepair2_0=Repair Mastery +m.EffectsRepair2_1=Increased repair amount +m.EffectsRepair3_0=Super Repair +m.EffectsRepair3_1=Double effectiveness +m.EffectsRepair4_0=Diamond Repair ({0}+ SKILL) +m.EffectsRepair4_1=Repair Diamond Tools & Armor +m.RepairRepairMastery=[[RED]]Repair Mastery: [[YELLOW]]Extra {0}% durability restored +m.RepairSuperRepairChance=[[RED]]Super Repair Chance: [[YELLOW]]{0}% +m.SkillUnarmed=UNARMED +m.XPGainUnarmed=Attacking Monsters +m.EffectsUnarmed1_0=Berserk (ABILITY) +m.EffectsUnarmed1_1=+50% DMG, Breaks weak materials +m.EffectsUnarmed2_0=Disarm (Players) +m.EffectsUnarmed2_1=Drops the foes item held in hand +m.EffectsUnarmed3_0=Unarmed Mastery +m.EffectsUnarmed3_1=Large Damage Upgrade +m.EffectsUnarmed4_0=Unarmed Apprentice +m.EffectsUnarmed4_1=Damage Upgrade +m.EffectsUnarmed5_0=Arrow Deflect +m.EffectsUnarmed5_1=Deflect arrows +m.AbilLockUnarmed1=LOCKED UNTIL 250+ SKILL (UNARMED APPRENTICE) +m.AbilLockUnarmed2=LOCKED UNTIL 500+ SKILL (UNARMED MASTERY) +m.AbilBonusUnarmed1_0=Unarmed Apprentice +m.AbilBonusUnarmed1_1=+2 DMG Upgrade +m.AbilBonusUnarmed2_0=Unarmed Mastery +m.AbilBonusUnarmed2_1=+4 DMG Upgrade +m.UnarmedArrowDeflectChance=[[RED]]Arrow Deflect Chance: [[YELLOW]]{0}% +m.UnarmedDisarmChance=[[RED]]Disarm Chance: [[YELLOW]]{0}% +m.UnarmedBerserkLength=[[RED]]Berserk Length: [[YELLOW]]{0}s +m.SkillHerbalism=HERBALISM +m.XPGainHerbalism=Harvesting Herbs +m.EffectsHerbalism1_0=Green Terra (ABILITY) +m.EffectsHerbalism1_1=Spread the Terra, 3x Drops +m.EffectsHerbalism2_0=Green Thumb (Wheat) +m.EffectsHerbalism2_1=Auto-Plants wheat when harvesting +m.EffectsHerbalism3_0=Green Thumb (Cobble) +m.EffectsHerbalism3_1=Cobblestone -> Mossy w/ Seeds +m.EffectsHerbalism4_0=Food+ +m.EffectsHerbalism4_1=Modifies health received from bread/stew +m.EffectsHerbalism5_0=Double Drops (All Herbs) +m.EffectsHerbalism5_1=Double the normal loot +m.HerbalismGreenTerraLength=[[RED]]Green Terra Length: [[YELLOW]]{0}s +m.HerbalismGreenThumbChance=[[RED]]Green Thumb Chance: [[YELLOW]]{0}% +m.HerbalismGreenThumbStage=[[RED]]Green Thumb Stage: [[YELLOW]] Wheat grows in stage {0} +m.HerbalismDoubleDropChance=[[RED]]Double Drop Chance: [[YELLOW]]{0}% +m.HerbalismFoodPlus=[[RED]]Food+ (Rank{0}): [[YELLOW]]Bonus {0} healing +m.SkillExcavation=EXCAVATION +m.XPGainExcavation=Digging and finding treasures +m.EffectsExcavation1_0=Giga Drill Breaker (ABILITY) +m.EffectsExcavation1_1=3x Drop Rate, 3x EXP, +Speed +m.EffectsExcavation2_0=Treasure Hunter +m.EffectsExcavation2_1=Ability to dig for treasure +m.ExcavationGreenTerraLength=[[RED]]Giga Drill Breaker Length: [[YELLOW]]{0}s +mcBlockListener.PlacedAnvil=[[DARK_RED]]You have placed an anvil, anvils can repair tools and armor. +mcEntityListener.WolfComesBack=[[DARK_GRAY]]Your wolf scurries back to you... +mcPlayerListener.AbilitiesOff=Ability use toggled off +mcPlayerListener.AbilitiesOn=Ability use toggled on +mcPlayerListener.AbilitiesRefreshed=[[GREEN]]**ABILITIES REFRESHED\!** +mcPlayerListener.AcrobaticsSkill=Acrobatics: +mcPlayerListener.ArcherySkill=Archery: +mcPlayerListener.AxesSkill=Axes: +mcPlayerListener.ExcavationSkill=Excavation: +mcPlayerListener.GodModeDisabled=[[YELLOW]]mcMMO Godmode Disabled +mcPlayerListener.GodModeEnabled=[[YELLOW]]mcMMO Godmode Enabled +mcPlayerListener.GreenThumb=[[GREEN]]**GREEN THUMB** +mcPlayerListener.GreenThumbFail=[[RED]]**GREEN THUMB FAIL** +mcPlayerListener.HerbalismSkill=Herbalism: +mcPlayerListener.MiningSkill=Mining: +mcPlayerListener.MyspawnCleared=[[DARK_AQUA]]Myspawn is now cleared. +mcPlayerListener.MyspawnNotExist=[[RED]]Configure your myspawn first with a bed. +mcPlayerListener.MyspawnSet=[[DARK_AQUA]]Myspawn has been set to your current location. +mcPlayerListener.MyspawnTimeNotice=You must wait {0}m {1}s to use myspawn +mcPlayerListener.NoPermission=Insufficient mcPermissions. +mcPlayerListener.NoSkillNote=[[DARK_GRAY]]If you don't have access to a skill it will not be shown here. +mcPlayerListener.NotInParty=[[RED]]You are not in a party. +mcPlayerListener.InviteSuccess=[[GREEN]]Invite sent successfully. +mcPlayerListener.ReceivedInvite1=[[RED]]ALERT: [[GREEN]]You have received a party invite for {0} from {1} +mcPlayerListener.ReceivedInvite2=[[YELLOW]]Type [[GREEN]]/{0}[[YELLOW]] to accept the invite +mcPlayerListener.InviteAccepted=[[GREEN]]Invite Accepted. You have joined party {0} +mcPlayerListener.NoInvites=[[RED]]You have no invites at this time +mcPlayerListener.YouAreInParty=[[GREEN]]You are in party {0} +mcPlayerListener.PartyMembers=[[GREEN]]Party Members +mcPlayerListener.LeftParty=[[RED]]You have left that party +mcPlayerListener.JoinedParty=Joined Party: {0} +mcPlayerListener.PartyChatOn=Party Chat only [[GREEN]]On +mcPlayerListener.PartyChatOff=Party Chat only [[RED]]Off +mcPlayerListener.AdminChatOn=Admin Chat only [[GREEN]]On +mcPlayerListener.AdminChatOff=Admin Chat only [[RED]]Off +mcPlayerListener.MOTD=[[BLUE]]This server is running mcMMO {0} type [[YELLOW]]/{1}[[BLUE]] for help. +mcPlayerListener.WIKI=[[GREEN]]http://mcmmo.wikia.com[[BLUE]] - mcMMO Wiki +mcPlayerListener.PowerLevel=[[DARK_RED]]POWER LEVEL: +mcPlayerListener.PowerLevelLeaderboard=[[YELLOW]]--mcMMO[[BLUE]] Power Level [[YELLOW]]Leaderboard-- +mcPlayerListener.SkillLeaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Leaderboard-- +mcPlayerListener.RepairSkill=Repair: +mcPlayerListener.SwordsSkill=Swords: +mcPlayerListener.TamingSkill=Taming: +mcPlayerListener.UnarmedSkill=Unarmed: +mcPlayerListener.WoodcuttingSkill=Woodcutting: +mcPlayerListener.YourStats=[[GREEN]][mcMMO] Stats +Party.InformedOnJoin={0} [[GREEN]] has joined your party +Party.InformedOnQuit={0} [[GREEN]] has left your party +Skills.YourGreenTerra=[[GREEN]]Your [[YELLOW]]Green Terra [[GREEN]]ability is refreshed! +Skills.YourTreeFeller=[[GREEN]]Your [[YELLOW]]Tree Feller [[GREEN]]ability is refreshed! +Skills.YourSuperBreaker=[[GREEN]]Your [[YELLOW]]Super Breaker [[GREEN]]ability is refreshed! +Skills.YourSerratedStrikes=[[GREEN]]Your [[YELLOW]]Serrated Strikes [[GREEN]]ability is refreshed! +Skills.YourBerserk=[[GREEN]]Your [[YELLOW]]Berserk [[GREEN]]ability is refreshed! +Skills.YourSkullSplitter=[[GREEN]]Your [[YELLOW]]Skull Splitter [[GREEN]]ability is refreshed! +Skills.YourGigaDrillBreaker=[[GREEN]]Your [[YELLOW]]Giga Drill Breaker [[GREEN]]ability is refreshed! +Skills.TooTired=[[RED]]You are too tired to use that ability again. +Skills.ReadyHoe=[[GREEN]]**YOU READY YOUR HOE** +Skills.LowerHoe=[[GRAY]]**YOU LOWER YOUR HOE** +Skills.ReadyAxe=[[GREEN]]**YOU READY YOUR AXE** +Skills.LowerAxe=[[GRAY]]**YOU LOWER YOUR AXE** +Skills.ReadyFists=[[GREEN]]**YOU READY YOUR FISTS** +Skills.LowerFists=[[GRAY]]**YOU LOWER YOUR FISTS** +Skills.ReadyPickAxe=[[GREEN]]**YOU READY YOUR PICKAXE** +Skills.LowerPickAxe=[[GRAY]]**YOU LOWER YOUR PICKAXE** +Skills.ReadyShovel=[[GREEN]]**YOU READY YOUR SHOVEL** +Skills.LowerShovel=[[GRAY]]**YOU LOWER YOUR SHOVEL** +Skills.ReadySword=[[GREEN]]**YOU READY YOUR SWORD** +Skills.LowerSword=[[GRAY]]**YOU LOWER YOUR SWORD** +Skills.BerserkOn=[[GREEN]]**BERSERK ACTIVATED** +Skills.BerserkPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Berserk! +Skills.GreenTerraOn=[[GREEN]]**GREEN TERRA ACTIVATED** +Skills.GreenTerraPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Green Terra! +Skills.TreeFellerOn=[[GREEN]]**TREE FELLER ACTIVATED** +Skills.TreeFellerPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Tree Feller! +Skills.SuperBreakerOn=[[GREEN]]**SUPER BREAKER ACTIVATED** +Skills.SuperBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Super Breaker! +Skills.SerratedStrikesOn=[[GREEN]]**SERRATED STRIKES ACTIVATED** +Skills.SerratedStrikesPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Serrated Strikes! +Skills.SkullSplitterOn=[[GREEN]]**SKULL SPLITTER ACTIVATED** +Skills.SkullSplitterPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Skull Splitter! +Skills.GigaDrillBreakerOn=[[GREEN]]**GIGA DRILL BREAKER ACTIVATED** +Skills.GigaDrillBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Giga Drill Breaker! +Skills.GreenTerraOff=[[RED]]**Green Terra has worn off** +Skills.TreeFellerOff=[[RED]]**Tree Feller has worn off** +Skills.SuperBreakerOff=[[RED]]**Super Breaker has worn off** +Skills.SerratedStrikesOff=[[RED]]**Serrated Strikes has worn off** +Skills.BerserkOff=[[RED]]**Berserk has worn off** +Skills.SkullSplitterOff=[[RED]]**Skull Splitter has worn off** +Skills.GigaDrillBreakerOff=[[RED]]**Giga Drill Breaker has worn off** +Skills.TamingUp=[[YELLOW]]Taming skill increased by {0}. Total ({1}) +Skills.AcrobaticsUp=[[YELLOW]]Acrobatics skill increased by {0}. Total ({1}) +Skills.ArcheryUp=[[YELLOW]]Archery skill increased by {0}. Total ({1}) +Skills.SwordsUp=[[YELLOW]]Swords skill increased by {0}. Total ({1}) +Skills.AxesUp=[[YELLOW]]Axes skill increased by {0}. Total ({1}) +Skills.UnarmedUp=[[YELLOW]]Unarmed skill increased by {0}. Total ({1}) +Skills.HerbalismUp=[[YELLOW]]Herbalism skill increased by {0}. Total ({1}) +Skills.MiningUp=[[YELLOW]]Mining skill increased by {0}. Total ({1}) +Skills.WoodcuttingUp=[[YELLOW]]Woodcutting skill increased by {0}. Total ({1}) +Skills.RepairUp=[[YELLOW]]Repair skill increased by {0}. Total ({1}) +Skills.ExcavationUp=[[YELLOW]]Excavation skill increased by {0}. Total ({1}) +Skills.FeltEasy=[[GRAY]]That felt easy. +Skills.StackedItems=[[DARK_RED]]You can't repair stacked items +Skills.NeedMore=[[DARK_RED]]You need more +Skills.AdeptDiamond=[[DARK_RED]]You're not skilled enough to repair Diamond +Skills.FullDurability=[[GRAY]]That is at full durability. +Skills.Disarmed=[[DARK_RED]]You have been disarmed! +mcPlayerListener.SorcerySkill=Sorcery: +m.SkillSorcery=SORCERY +Sorcery.HasCast=[[GREEN]]**CASTING**[[GOLD]] +Sorcery.Current_Mana=[[DARK_AQUA]]MP +Sorcery.SpellSelected=[[GREEN]]-=([[GOLD]]{0}[[GREEN]])=- [[RED]]([[GRAY]]{1}[[RED]]) +Sorcery.Cost=[[RED]][COST] {0} MP +Sorcery.OOM=[[DARK_AQUA]][[[GOLD]]{2}[[DARK_AQUA]]][[DARK_GRAY]] Out Of Mana [[YELLOW]]([[RED]]{0}[[YELLOW]]/[[GRAY]]{1}[[YELLOW]]) +Sorcery.Water.Thunder=THUNDER +Sorcery.Curative.Self=CURE SELF +Sorcery.Curative.Other=CURE OTHER +m.LVL=[[DARK_GRAY]]LVL: [[GREEN]]{0} [[DARK_AQUA]]XP[[YELLOW]]([[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]]) +Combat.BeastLore=[[GREEN]]**BEAST LORE** +Combat.BeastLoreOwner=[[DARK_AQUA]]Owner ([[RED]]{0}[[DARK_AQUA]]) +Combat.BeastLoreHealthWolfTamed=[[DARK_AQUA]]Health ([[GREEN]]{0}[[DARK_AQUA]]/20) +Combat.BeastLoreHealthWolf=[[DARK_AQUA]]Health ([[GREEN]]{0}[[DARK_AQUA]]/8) +mcMMO.Description=[[DARK_AQUA]]Q: WHAT IS IT?,[[GOLD]]mcMMO is an [[RED]]OPEN SOURCE[[GOLD]] RPG mod for Bukkit by [[BLUE]]nossr50,[[GOLD]]There are many skills added by mcMMO to Minecraft.,[[GOLD]]You can gain experience in many different ways,[[GOLD]]You will want to type [[GREEN]]/SKILLNAME[[GOLD]] to find out more about a skill.,[[DARK_AQUA]]Q: WHAT DOES IT DO?,[[GOLD]]As an example... in [[DARK_AQUA]]Mining[[GOLD]] you will receive benefits like,[[RED]]Double Drops[[GOLD]] or the ability [[RED]]Super Breaker[[GOLD]] which when,[[GOLD]]activated by right-click allows fast Mining during its duration,[[GOLD]]which is related to your skill level. Leveling [[BLUE]]Mining,[[GOLD]]is as simple as mining precious materials!,[[DARK_AQUA]]Q: WHAT DOES THIS MEAN?,[[GOLD]]Almost all of the skills in [[GREEN]]mcMMO[[GOLD]] add cool new things!.,[[GOLD]]You can also type [[GREEN]]/{0}[[GOLD]] to find out commands,[[GOLD]]The goal of mcMMO is to provide a quality RPG experience.,[[DARK_AQUA]]Q: WHERE DO I SUGGEST NEW STUFF!?,[[GOLD]]On the mcMMO thread in the bukkit forums!,[[DARK_AQUA]]Q: HOW DO I DO THIS AND THAT?,[[RED]]PLEASE [[GOLD]]checkout the wiki! [[DARK_AQUA]]mcmmo.wikia.com +Party.Locked=[[RED]]Party is locked, only party leader may invite. +Party.IsntLocked=[[GRAY]]Party is not locked +Party.Unlocked=[[GRAY]]Party is unlocked +Party.Help1=[[RED]]Proper usage is [[YELLOW]]/{0} [[WHITE]][[YELLOW]] or [[WHITE]]'q' [[YELLOW]]to quit +Party.Help2=[[RED]]To join a passworded party use [[YELLOW]]/{0} [[WHITE]] +Party.Help3=[[RED]]Consult /{0} ? for more information +Party.Help4=[[RED]]Use [[YELLOW]]/{0} [[WHITE]] [[YELLOW]]to join a party or [[WHITE]]'q' [[YELLOW]]to quit +Party.Help5=[[RED]]To lock your party use [[YELLOW]]/{0} [[WHITE]]lock +Party.Help6=[[RED]]To unlock your party use [[YELLOW]]/{0} [[WHITE]]unlock +Party.Help7=[[RED]]To password protect your party use [[YELLOW]]/{0} [[WHITE]]password +Party.Help8=[[RED]]To kick a player from your party use [[YELLOW]]/{0} [[WHITE]]kick +Party.Help9=[[RED]]To transfer ownership of your party use [[YELLOW]]/{0} [[WHITE]]owner +Party.NotOwner=[[DARK_RED]]You are not the party owner +Party.InvalidName=[[DARK_RED]]That is not a valid party name +Party.PasswordSet=[[GREEN]]Party password set to {0} +Party.CouldNotKick=[[DARK_RED]]Could not kick player {0} +Party.NotInYourParty=[[DARK_RED]]{0} is not in your party +Party.CouldNotSetOwner=[[DARK_RED]]Could not set owner to {0} +Commands.xprate.proper=[[DARK_AQUA]]Proper usage is /{0} [integer] [true:false] +Commands.xprate.proper2=[[DARK_AQUA]]Also you can type /{0} reset to turn everything back to normal +Commands.xprate.proper3=[[RED]]Enter true or false for the second value +Commands.xprate.over=[[RED]]mcMMO XP Rate Event is OVER!! +Commands.xprate.started=[[GOLD]]XP EVENT FOR mcMMO HAS STARTED! +Commands.xprate.started2=[[GOLD]]mcMMO XP RATE IS NOW {0}x!! +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.invalid=[[RED]]That is not a valid skillname! Try /xplock mining \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/locale/locale_fi.properties b/src/com/gmail/nossr50/locale/locale_fi.properties similarity index 98% rename from mcMMO/com/gmail/nossr50/locale/locale_fi.properties rename to src/com/gmail/nossr50/locale/locale_fi.properties index c98e2b3e7..219ca537c 100644 --- a/mcMMO/com/gmail/nossr50/locale/locale_fi.properties +++ b/src/com/gmail/nossr50/locale/locale_fi.properties @@ -1,330 +1,330 @@ -Combat.WolfExamine=[[GREEN]]**Tutkit sutta käyttämällä Pedon Tarinaa** -Combat.WolfShowMaster=[[DARK_GREEN]]Pedon isäntä : {0} -Combat.Ignition=[[RED]]**SYTYTYS** -Combat.BurningArrowHit=[[DARK_RED]]Palava nuoli osui sinuun\! -Combat.TouchedFuzzy=[[DARK_RED]]Touched Fuzzy. Felt Dizzy. -Combat.TargetDazed=Kohde [[DARK_RED]]tyrmätty -Combat.WolfNoMaster=[[GRAY]]Tällä pedolla ei ole isäntää... -Combat.WolfHealth=[[GREEN]]Tämän pedon terveys on {0} -Combat.StruckByGore=[[RED]]**SINUA ON PISTETTY** -Combat.Gore=[[GREEN]]**PISTO** -Combat.ArrowDeflect=[[WHITE]]**NUOLI TORJUTTU** -Item.ChimaeraWingFail=**KHIMAIRAN SIIVEN KÄYTTÖ EPÄONNISTUI\!** -Item.ChimaeraWingPass=**KHIMAIRAN SIIPI** -Item.InjuredWait=Sinua on haavoitettu äskettäin joten joudut odottaa tämän käyttöä. [[YELLOW]]({0}s) -Item.NeedFeathers=[[GRAY]]Tarvitset lisää sulkia.. -m.mccPartyCommands=[[GREEN]]--RYHMÄKOMENNOT-- -m.mccParty=[party name] [[RED]]- Luo/liity nimettyyn ryhmään -m.mccPartyQ=[[RED]]- Lähde ryhmästä -m.mccPartyToggle=[[RED]] - Laita ryhmäjuttelu päälle/pois -m.mccPartyInvite=[player name] [[RED]]- Lähetä ryhmäkutsu -m.mccPartyAccept=[[RED]]- Hyväksy ryhmäkutsu -m.mccPartyTeleport=[party member name] [[RED]]- Siirry ryhmän jäsenen luo -m.mccOtherCommands=[[GREEN]]--MUUT KOMENNOT-- -m.mccStats=- Näytä mcMMO tilastosi -m.mccLeaderboards=- Tulostaulukko -m.mccMySpawn=- Siirtää sinut myspawniin -m.mccClearMySpawn=- Tyhjää myspawnisi -m.mccToggleAbility=- Laita taitojen aktivointi oikealla näppäimellä päälle/pois -m.mccAdminToggle=- Laita admin juttelu päälle/pois -m.mccWhois=[playername] [[RED]]- Näytä yksityiskohtaiset tiedot pelaajasta -m.mccMmoedit=[playername] [skill] [newvalue] [[RED]]- Muokkaa kohdetta -m.mccMcGod=- "God Mode" -m.mccSkillInfo=[skillname] [[RED]]- Näytä ykistyiskohtaiset tiedot taidosta -m.mccModDescription=[[RED]]- Lue lyhyt kuvaus modista -m.SkillHeader=[[RED]]-----[][[GREEN]]{0}[[RED]][]----- -m.XPGain=[[DARK_GRAY]]KOKEMUSPISTEIDEN MÄÄRÄ: [[WHITE]]{0} -m.EffectsTemplate=[[DARK_AQUA]]{0}: [[GREEN]]{1} -m.AbilityLockTemplate=[[GRAY]]{0} -m.AbilityBonusTemplate=[[RED]]{0}: [[YELLOW]]{1} -m.Effects=EFEKTIT -m.YourStats=TILASTOSI -m.SkillTaming=KESYTTÄMINEN -m.XPGainTaming=Susien satuttaminen -m.EffectsTaming1_0=Pedon Tarina -m.EffectsTaming1_1=Luulla lyöminen tutkii susia -m.EffectsTaming2_0=Pisto -m.EffectsTaming2_1=Kriittinen Isku joka lisää Verenvuodon -m.EffectsTaming3_0=Teroitetut Kynnet -m.EffectsTaming3_1=Tuhoamis Bonus -m.EffectsTaming4_0=Ympäristötietoinen -m.EffectsTaming4_1=Kaktus/Laavapelko, immuuni Putousvahingolle -m.EffectsTaming5_0=Paksu Turkki -m.EffectsTaming5_1=Vahingon vähennys, Tulenkestävä -m.EffectsTaming6_0=Räjähdyskestävä -m.EffectsTaming6_1=Räjähdysvahingon vähennys -m.AbilLockTaming1=LUKITTU KUNNES 100+ TAITO (YMPÄRISTÖTIETOINEN) -m.AbilLockTaming2=LUKITTU KUNNES 250+ TAITO (PAKSU TURKKI) -m.AbilLockTaming3=LUKITTU KUNNES 500+ TAITO (RÄJÄHDYSKESTÄVÄ) -m.AbilLockTaming4=LUKITTU KUNNES 750+ TAITO (TEROITETUT KYNNET) -m.AbilBonusTaming1_0=Ympäristötietoinen -m.AbilBonusTaming1_1=Sudet karttavat vaaraa -m.AbilBonusTaming2_0=Paksu Turkki -m.AbilBonusTaming2_1=Puolitettu vahinko, Tulenkestävä -m.AbilBonusTaming3_0=Räjähdyskestävä -m.AbilBonusTaming3_1=Räjähteet vahingoittavat 1/6 vähemmän -m.AbilBonusTaming4_0=Teroitetut Kynnet -m.AbilBonusTaming4_1=+2 Vahinko -m.TamingGoreChance=[[RED]]Piston todennäköisyys: [[YELLOW]]{0}% -m.SkillWoodCutting=PUUN KAATO -m.XPGainWoodCutting=Puiden pilkkominen -m.EffectsWoodCutting1_0=Puunkaataja (TAITO) -m.EffectsWoodCutting1_1=Räjäytä puita -m.EffectsWoodCutting2_0=Lehdenpuhallin -m.EffectsWoodCutting2_1=Puhalla lehtiä pois -m.EffectsWoodCutting3_0=Tuplasaalis -m.EffectsWoodCutting3_1=Tuplaa normaali saalis -m.AbilLockWoodCutting1=LUKITTU KUNNES 100+ TAITO (LEHDENPUHALLIN) -m.AbilBonusWoodCutting1_0=Lehdenpuhallin -m.AbilBonusWoodCutting1_1=Puhalla lehtiä pois -m.WoodCuttingDoubleDropChance=[[RED]]Tuplasaaliin todennäköisyys: [[YELLOW]]{0}% -m.WoodCuttingTreeFellerLength=[[RED]]Puunkaatajan kesto: [[YELLOW]]{0}s -m.SkillArchery=JOUSIAMMUNTA -m.XPGainArchery=Hyökkäämällä hirviöiden kimppuun -m.EffectsArchery1_0=Sytytys -m.EffectsArchery1_1=25% Todennäköisyys että vihollinen syttyy tuleen -m.EffectsArchery2_0=Pökerrys (Pelaajat) -m.EffectsArchery2_1=Saa viholliset pois tolaltaan -m.EffectsArchery3_0=Vahinko+ -m.EffectsArchery3_1=Muokkaa vahinkoa -m.EffectsArchery4_0=Nuolenkeräys -m.EffectsArchery4_1=Todennäköisyys kerätä nuolia raadoista -m.ArcheryDazeChance=[[RED]]Todennäköisyys Pökerryttää: [[YELLOW]]{0}% -m.ArcheryRetrieveChance=[[RED]]Todennäköisyys kerätä nuolia: [[YELLOW]]{0}% -m.ArcheryIgnitionLength=[[RED]]Sytytyksen kesto: [[YELLOW]]{0} sekuntia -m.ArcheryDamagePlus=[[RED]]Vahinko+ (Rank{0}): [[YELLOW]]Bonus {0} vahinko -m.SkillAxes=KIRVEET -m.XPGainAxes=Hyökkäämällä hirviöiden kimppuun -m.EffectsAxes1_0=Kallonhalkoja (TAITO) -m.EffectsAxes1_1=Tee aluevahinkoa -m.EffectsAxes2_0=Kriittiset Iskut -m.EffectsAxes2_1=Tuplavahinko -m.EffectsAxes3_0=Kirveiden Herra (500 TAITO) -m.EffectsAxes3_1=Muokkaa vahinkoa -m.AbilLockAxes1=LUKITTU KUNNES 500+ TAITO (KIRVEIDEN HERRA) -m.AbilBonusAxes1_0=Kirveiden Herra -m.AbilBonusAxes1_1=+4 Vahinko -m.AxesCritChance=[[RED]]Todennäköisyys iskeä kriittisesti: [[YELLOW]]{0}% -m.AxesSkullLength=[[RED]]Kallonhalkojan kesto: [[YELLOW]]{0}s -m.SkillSwords=MIEKAT -m.XPGainSwords=Hyökkäämällä hirviöiden kimppuun -m.EffectsSwords1_0=Vastaisku -m.EffectsSwords1_1=Kimmota 50% saadusta vahingosta -m.EffectsSwords2_0=Sahalaitaiset Iskut (TAITO) -m.EffectsSwords2_1=25% Aluevahinko, Verenvuoto+ Aluevahinko -m.EffectsSwords3_0=Sahalaitaiset Iskut Verenvuoto+ -m.EffectsSwords3_1=5 Aiheuta Verenvuotoa -m.EffectsSwords4_0=Torjuminen -m.EffectsSwords4_1=Estää saadun vahingon -m.EffectsSwords5_0=Verenvuoto -m.EffectsSwords5_1=Lisää Verenvuoto -m.SwordsCounterAttChance=[[RED]]Vastaiskun todennäköisyys: [[YELLOW]]{0}% -m.SwordsBleedLength=[[RED]]Verenvuodon kesto: [[YELLOW]]{0} vuotoa -m.SwordsBleedChance=[[RED]]Verenvuodon todennäköisyys: [[YELLOW]]{0} % -m.SwordsParryChance=[[RED]]Torjumisen todennäköisyys: [[YELLOW]]{0} % -m.SwordsSSLength=[[RED]]Sahalaitaisten Iskujen kesto: [[YELLOW]]{0}s -m.SwordsTickNote=[[GRAY]]HUOMAA: [[YELLOW]]1 vuoto tapahtuu joka kahdes sekunti -m.SkillAcrobatics=AKROBATIA -m.XPGainAcrobatics=Tippumalla -m.EffectsAcrobatics1_0=Kieriminen -m.EffectsAcrobatics1_1=Vähentää tai estää vahinkoa -m.EffectsAcrobatics2_0=Sulava Kieriminen -m.EffectsAcrobatics2_1=Tuplasti tehokkaampi kuin Kieriminen -m.EffectsAcrobatics3_0=Väistö -m.EffectsAcrobatics3_1=Vähentää vahingon määrän puoleen -m.AcrobaticsRollChance=[[RED]]Kierimisen todennäköisyys: [[YELLOW]]{0}% -m.AcrobaticsGracefulRollChance=[[RED]]Sulavan Kierimisen todennäköisyys: [[YELLOW]]{0}% -m.AcrobaticsDodgeChance=[[RED]]Väistön todennäköisyys: [[YELLOW]]{0}% -m.SkillMining=LOUHINTA -m.XPGainMining=Louhimalla kiveä ja malmia -m.EffectsMining1_0=Supermurskain (TAITO) -m.EffectsMining1_1=Nopeus+, Triplaa saaliin tippumistodennäköisyys -m.EffectsMining2_0=Tuplasaalis -m.EffectsMining2_1=Tuplaa normaali saaliin määrä -m.MiningDoubleDropChance=[[RED]]Tuplasaaliin todennäköisyys: [[YELLOW]]{0}% -m.MiningSuperBreakerLength=[[RED]]Supermurskaimen kesto: [[YELLOW]]{0}s -m.SkillRepair=KORJAUS -m.XPGainRepair=Korjaamalla -m.EffectsRepair1_0=Korjaa -m.EffectsRepair1_1=Korjaa rautatyökaluja ja haarniskoja -m.EffectsRepair2_0=Korjausten Herra -m.EffectsRepair2_1=Lisätty korjausten määrä -m.EffectsRepair3_0=Superkorjaus -m.EffectsRepair3_1=Tuplatehokkuus -m.EffectsRepair4_0=Timanttikorjaus ({0}+ TAITO) -m.EffectsRepair4_1=Korjaa timanttityökaluja ja haarniskoja -m.RepairRepairMastery=[[RED]]Korjausten Herra: [[YELLOW]]Extra {0}% kestävyyttä palautettu -m.RepairSuperRepairChance=[[RED]]Superkorjauksen todennäköisyys: [[YELLOW]]{0}% -m.SkillUnarmed=ASEISTAMATON -m.XPGainUnarmed=Hyökkäämällä hirviöiden kimppuun -m.EffectsUnarmed1_0=Raivopää (TAITO) -m.EffectsUnarmed1_1=+50% vahinko, rikkoo heikkoja materiaaleja -m.EffectsUnarmed2_0=Aseista riisuminen (Pelaajat) -m.EffectsUnarmed2_1=Pudottaa vihollisen esineen kädestä -m.EffectsUnarmed3_0=Aseistamattomuuden Herra -m.EffectsUnarmed3_1=Suuri vahingonlisäys -m.EffectsUnarmed4_0=Aseistamattomuuden Aloittelija -m.EffectsUnarmed4_1=Vahingonlisäys -m.EffectsUnarmed5_0=Nuolentorjunta -m.EffectsUnarmed5_1=Torjuu nuolia -m.AbilLockUnarmed1=LUKITTU KUNNES 250+ TAITO (ASEISTAMATTOMUUDEN ALOITTELIJA) -m.AbilLockUnarmed2=LUKITTU KUNNES 500+ TAITO (ASEISTAMATTOMUUDEN HERRA) -m.AbilBonusUnarmed1_0=Aseistamattomuuden Aloittelija -m.AbilBonusUnarmed1_1=+2 Vahinko -m.AbilBonusUnarmed2_0=Aseistamattomuuden Herra -m.AbilBonusUnarmed2_1=+4 Vahinko -m.UnarmedArrowDeflectChance=[[RED]]Nuolentorjunnan todennäköisyys: [[YELLOW]]{0}% -m.UnarmedDisarmChance=[[RED]]Aseista riisumisen todennäköisyys: [[YELLOW]]{0}% -m.UnarmedBerserkLength=[[RED]]Raivopään kesto: [[YELLOW]]{0}s -m.SkillHerbalism=YRTTIHOITO -m.XPGainHerbalism=Keräämällä yrttejä -m.EffectsHerbalism1_0=Vihermaa (TAITO) -m.EffectsHerbalism1_1=Levitä vihreyttä, 3x saalis -m.EffectsHerbalism2_0=Viherpeukalo (Vehnä) -m.EffectsHerbalism2_1=Istuttaa vehnää automaattisesti kun keräät vehnää -m.EffectsHerbalism3_0=Viherpeukalo (Mukulakivi) -m.EffectsHerbalism3_1=Mukulakivi -> Sammaleinen mukulakivi ja siemeniä -m.EffectsHerbalism4_0=Ruoka+ -m.EffectsHerbalism4_1=Muokkaa terveyttä jota saat leivästä/muhennoksesta -m.EffectsHerbalism5_0=Tuplasaalis (Kaikki yrtit) -m.EffectsHerbalism5_1=Tuplaa normaali saaliin määrä -m.HerbalismGreenTerraLength=[[RED]]Vihermaan kesto: [[YELLOW]]{0}s -m.HerbalismGreenThumbChance=[[RED]]Viherpeukalon todennäköisyys: [[YELLOW]]{0}% -m.HerbalismGreenThumbStage=[[RED]]Viherpeukalon vaihe: [[YELLOW]] Vehnä kasvaa {0}:ssa vaiheessa -m.HerbalismDoubleDropChance=[[RED]]Tuplasaaliin todennäköisyys: [[YELLOW]]{0}% -m.HerbalismFoodPlus=[[RED]]Ruoka+ (Rank{0}): [[YELLOW]]Bonus {0} terveyden määrä -m.SkillExcavation=KAIVANTO -m.XPGainExcavation=Kaivamalla ja löytämällä aarteita -m.EffectsExcavation1_0=Giga Drill Breaker (TAITO) -m.EffectsExcavation1_1=3x saaliin määrä, 3x kokemuspisteiden määrä, +Nopeus -m.EffectsExcavation2_0=Aarteenmetsästäjä -m.EffectsExcavation2_1=Taito jonka avulla voit kaivaa aarteita -m.ExcavationGreenTerraLength=[[RED]]Giga Drill Breaker kesto: [[YELLOW]]{0}s -mcBlockListener.PlacedAnvil=[[DARK_RED]]Olet asettanut alasimen maahan, sillä voit korjata työkaluja ja haarniskoja. -mcEntityListener.WolfComesBack=[[DARK_GRAY]]Sutesi kipittää takaisin luoksesi... -mcPlayerListener.AbilitiesOff=Taitojen käyttö pois päältä -mcPlayerListener.AbilitiesOn=Taitojen käyttö päällä -mcPlayerListener.AbilitiesRefreshed=[[GREEN]]**TAIDOT PÄIVITETTY\!** -mcPlayerListener.AcrobaticsSkill=[[YELLOW]]Akrobatia: -mcPlayerListener.ArcherySkill=[[YELLOW]]Jousiammunta: -mcPlayerListener.AxesSkill=[[YELLOW]]Kirveet: -mcPlayerListener.ExcavationSkill=[[YELLOW]]Kaivanto: -mcPlayerListener.GodModeDisabled=[[YELLOW]]mcMMO Godmode pois päältä -mcPlayerListener.GodModeEnabled=[[YELLOW]]mcMMO Godmode päällä -mcPlayerListener.GreenThumb=[[GREEN]]**VIHERPEUKALO** -mcPlayerListener.GreenThumbFail=[[RED]]**VIHERPEUKALO EPÄONNISTUI** -mcPlayerListener.HerbalismSkill=[[YELLOW]]Yrttihoito: -mcPlayerListener.MiningSkill=[[YELLOW]]Kaivanto: -mcPlayerListener.MyspawnCleared=[[DARK_AQUA]]Myspawn on tyhjätty. -mcPlayerListener.MyspawnNotExist=[[RED]]Määrää myspawnisi ensin laittamalla sänky maahan. -mcPlayerListener.MyspawnSet=[[DARK_AQUA]]Myspawn on asetettu tämänhetkiseen sijaintiisi. -mcPlayerListener.MyspawnTimeNotice=Sinun pitää odottaa {0}m {1}s käyttääksesi myspawnia -mcPlayerListener.NoPermission=Puutteelliset oikeudet (mcPermissions) -mcPlayerListener.NoSkillNote=[[DARK_GRAY]]Jos sinulla ei ole käyttöoikeutta johonkin taitoon, sitä ei näytetä täällä. -mcPlayerListener.NotInParty=[[RED]]Et ole ryhmässä. -mcPlayerListener.InviteSuccess=[[GREEN]]Kutsu lähetetty. -mcPlayerListener.ReceivedInvite1=[[RED]]HUOMIO: [[GREEN]]Olet saanut ryhmäkutsun ryhmään {0} pelaajalta {1} -mcPlayerListener.ReceivedInvite2=[[YELLOW]]Kirjoita [[GREEN]]/{0}[[YELLOW]] hyväksyäksesi kutsun -mcPlayerListener.InviteAccepted=[[GREEN]]Kutsu hyväksytty. Olet liittynyt ryhmään {0} -mcPlayerListener.NoInvites=[[RED]]Sinulla ei ole kutsuja -mcPlayerListener.YouAreInParty=[[GREEN]]Olet ryhmässä {0} -mcPlayerListener.PartyMembers=[[GREEN]]Ryhmän jäsenet -mcPlayerListener.LeftParty=[[RED]]Olet lähtenyt ryhmästä -mcPlayerListener.JoinedParty=Liityit ryhmään: {0} -mcPlayerListener.PartyChatOn=Vain ryhmäjuttelu [[GREEN]]Päällä -mcPlayerListener.PartyChatOff=Vain ryhmäjuttelu [[RED]]Pois päältä -mcPlayerListener.AdminChatOn=Vain admin juttelu [[GREEN]]Päällä -mcPlayerListener.AdminChatOff=Vain admin juttelu [[RED]]Pois päältä -mcPlayerListener.MOTD=[[BLUE]]Tällä serverillä on mcMMO {0} kirjoita [[YELLOW]]/{1}[[BLUE]] apua varten. -mcPlayerListener.WIKI=[[GREEN]]http://mcmmo.wikia.com[[BLUE]] - mcMMO Wiki -mcPlayerListener.PowerLevel=[[DARK_RED]]VOIMATASO: -mcPlayerListener.PowerLevelLeaderboard=[[YELLOW]]--mcMMO[[BLUE]] Voimataso [[YELLOW]]Tulostaulukko-- -mcPlayerListener.SkillLeaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Tulostaulukko-- -mcPlayerListener.RepairSkill=[[YELLOW]]Korjaus: -mcPlayerListener.SwordsSkill=[[YELLOW]]Miekat: -mcPlayerListener.TamingSkill=[[YELLOW]]Kesytys: -mcPlayerListener.UnarmedSkill=[[YELLOW]]Aseistamattomuus: -mcPlayerListener.WoodcuttingSkill=[[YELLOW]]Puunkaato: -mcPlayerListener.YourStats=[[GREEN]]Sinun MMO tilastosi -Party.InformedOnJoin={0} [[GREEN]] on liittynyt ryhmään -Party.InformedOnQuit={0} [[GREEN]] on lähtenyt ryhmästä -Skills.YourGreenTerra=[[GREEN]]Your [[YELLOW]]Green Terra [[GREEN]]ability is refreshed! -Skills.YourTreeFeller=[[GREEN]]Your [[YELLOW]]Tree Feller [[GREEN]]ability is refreshed! -Skills.YourSuperBreaker=[[GREEN]]Your [[YELLOW]]Super Breaker [[GREEN]]ability is refreshed! -Skills.YourSerratedStrikes=[[GREEN]]Your [[YELLOW]]Serrated Strikes [[GREEN]]ability is refreshed! -Skills.YourBerserk=[[GREEN]]Your [[YELLOW]]Berserk [[GREEN]]ability is refreshed! -Skills.YourSkullSplitter=[[GREEN]]Your [[YELLOW]]Skull Splitter [[GREEN]]ability is refreshed! -Skills.YourGigaDrillBreaker=[[GREEN]]Your [[YELLOW]]Giga Drill Breaker [[GREEN]]ability is refreshed! -Skills.TooTired=[[RED]]You are too tired to use that ability again. -Skills.ReadyHoe=[[GREEN]]**YOU READY YOUR HOE** -Skills.LowerHoe=[[GRAY]]**YOU LOWER YOUR HOE** -Skills.ReadyAxe=[[GREEN]]**YOU READY YOUR AXE** -Skills.LowerAxe=[[GRAY]]**YOU LOWER YOUR AXE** -Skills.ReadyFists=[[GREEN]]**YOU READY YOUR FISTS** -Skills.LowerFists=[[GRAY]]**YOU LOWER YOUR FISTS** -Skills.ReadyPickAxe=[[GREEN]]**YOU READY YOUR PICKAXE** -Skills.LowerPickAxe=[[GRAY]]**YOU LOWER YOUR PICKAXE** -Skills.ReadyShovel=[[GREEN]]**YOU READY YOUR SHOVEL** -Skills.LowerShovel=[[GRAY]]**YOU LOWER YOUR SHOVEL** -Skills.ReadySword=[[GREEN]]**YOU READY YOUR SWORD** -Skills.LowerSword=[[GRAY]]**YOU LOWER YOUR SWORD** -Skills.BerserkOn=[[GREEN]]**BERSERK ACTIVATED** -Skills.BerserkPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Berserk! -Skills.GreenTerraOn=[[GREEN]]**GREEN TERRA ACTIVATED** -Skills.GreenTerraPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Green Terra! -Skills.TreeFellerOn=[[GREEN]]**TREE FELLER ACTIVATED** -Skills.TreeFellerPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Tree Feller! -Skills.SuperBreakerOn=[[GREEN]]**SUPER BREAKER ACTIVATED** -Skills.SuperBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Super Breaker! -Skills.SerratedStrikesOn=[[GREEN]]**SERRATED STRIKES ACTIVATED** -Skills.SerratedStrikesPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Serrated Strikes! -Skills.SkullSplitterOn=[[GREEN]]**SKULL SPLITTER ACTIVATED** -Skills.SkullSplitterPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Skull Splitter! -Skills.GigaDrillBreakerOn=[[GREEN]]**GIGA DRILL BREAKER ACTIVATED** -Skills.GigaDrillBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Giga Drill Breaker! -Skills.GreenTerraOff=[[RED]]**Green Terra has worn off** -Skills.TreeFellerOff=[[RED]]**Tree Feller has worn off** -Skills.SuperBreakerOff=[[RED]]**Super Breaker has worn off** -Skills.SerratedStrikesOff=[[RED]]**Serrated Strikes has worn off** -Skills.BerserkOff=[[RED]]**Berserk has worn off** -Skills.SkullSplitterOff=[[RED]]**Skull Splitter has worn off** -Skills.GigaDrillBreakerOff=[[RED]]**Giga Drill Breaker has worn off** -Skills.TamingUp=[[YELLOW]]Taming skill increased by {0}. Total ({1}) -Skills.AcrobaticsUp=[[YELLOW]]Acrobatics skill increased by {0}. Total ({1}) -Skills.ArcheryUp=[[YELLOW]]Archery skill increased by {0}. Total ({1}) -Skills.SwordsUp=[[YELLOW]]Swords skill increased by {0}. Total ({1}) -Skills.AxesUp=[[YELLOW]]Axes skill increased by {0}. Total ({1}) -Skills.UnarmedUp=[[YELLOW]]Unarmed skill increased by {0}. Total ({1}) -Skills.HerbalismUp=[[YELLOW]]Herbalism skill increased by {0}. Total ({1}) -Skills.MiningUp=[[YELLOW]]Mining skill increased by {0}. Total ({1}) -Skills.WoodcuttingUp=[[YELLOW]]Woodcutting skill increased by {0}. Total ({1}) -Skills.RepairUp=[[YELLOW]]Repair skill increased by {0}. Total ({1}) -Skills.ExcavationUp=[[YELLOW]]Excavation skill increased by {0}. Total ({1}) -mcMMO.Description=[[DARK_AQUA]]Q: WHAT IS IT?,[[GOLD]]mcMMO is an [[RED]]OPEN SOURCE[[GOLD]] RPG mod for Bukkit by [[BLUE]]nossr50,[[GOLD]]There are many skills added by mcMMO to Minecraft.,[[GOLD]]You can gain experience in many different ways,[[GOLD]]You will want to type [[GREEN]]/SKILLNAME[[GOLD]] to find out more about a skill.,[[DARK_AQUA]]Q: WHAT DOES IT DO?,[[GOLD]]As an example... in [[DARK_AQUA]]Mining[[GOLD]] you will receive benefits like,[[RED]]Double Drops[[GOLD]] or the ability [[RED]]Super Breaker[[GOLD]] which when,[[GOLD]]activated by right-click allows fast Mining during its duration,[[GOLD]]which is related to your skill level. Leveling [[BLUE]]Mining,[[GOLD]]is as simple as mining precious materials!,[[DARK_AQUA]]Q: WHAT DOES THIS MEAN?,[[GOLD]]Almost all of the skills in [[GREEN]]mcMMO[[GOLD]] add cool new things!.,[[GOLD]]You can also type [[GREEN]]/{0}[[GOLD]] to find out commands,[[GOLD]]The goal of mcMMO is to provide a quality RPG experience.,[[DARK_AQUA]]Q: WHERE DO I SUGGEST NEW STUFF!?,[[GOLD]]On the mcMMO thread in the bukkit forums!,[[DARK_AQUA]]Q: HOW DO I DO THIS AND THAT?,[[RED]]PLEASE [[GOLD]]checkout the wiki! [[DARK_AQUA]]mcmmo.wikia.com -Party.Locked=[[RED]]Party is locked, only party leader may invite. -Party.IsntLocked=[[GRAY]]Party is not locked -Party.Unlocked=[[GRAY]]Party is unlocked -Party.Help1=[[RED]]Proper usage is [[YELLOW]]/{0} [[WHITE]][[YELLOW]] or [[WHITE]]'q' [[YELLOW]]to quit -Party.Help2=[[RED]]To join a passworded party use [[YELLOW]]/{0} [[WHITE]] -Party.Help3=[[RED]]Consult /{0} ? for more information -Party.Help4=[[RED]]Use [[YELLOW]]/{0} [[WHITE]] [[YELLOW]]to join a party or [[WHITE]]'q' [[YELLOW]]to quit -Party.Help5=[[RED]]To lock your party use [[YELLOW]]/{0} [[WHITE]]lock -Party.Help6=[[RED]]To unlock your party use [[YELLOW]]/{0} [[WHITE]]unlock -Party.Help7=[[RED]]To password protect your party use [[YELLOW]]/{0} [[WHITE]]password -Party.Help8=[[RED]]To kick a player from your party use [[YELLOW]]/{0} [[WHITE]]kick -Party.Help9=[[RED]]To transfer ownership of your party use [[YELLOW]]/{0} [[WHITE]]owner -Party.NotOwner=[[DARK_RED]]You are not the party owner -Party.InvalidName=[[DARK_RED]]That is not a valid party name -Party.PasswordSet=[[GREEN]]Party password set to {0} -Party.CouldNotKick=[[DARK_RED]]Could not kick player {0} -Party.NotInYourParty=[[DARK_RED]]{0} is not in your party -Party.CouldNotSetOwner=[[DARK_RED]]Could not set owner to {0} -Commands.xprate.proper=[[DARK_AQUA]]Proper usage is /{0} [integer] [true:false] -Commands.xprate.proper2=[[DARK_AQUA]]Also you can type /{0} reset to turn everything back to normal -Commands.xprate.proper3=[[RED]]Enter true or false for the second value -Commands.xprate.over=[[RED]]mcMMO XP Rate Event is OVER!! -Commands.xprate.started=[[GOLD]]XP EVENT FOR mcMMO HAS STARTED! -Commands.xprate.started2=[[GOLD]]mcMMO XP RATE IS NOW {0}x!! -Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! -Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! +Combat.WolfExamine=[[GREEN]]**Tutkit sutta käyttämällä Pedon Tarinaa** +Combat.WolfShowMaster=[[DARK_GREEN]]Pedon isäntä : {0} +Combat.Ignition=[[RED]]**SYTYTYS** +Combat.BurningArrowHit=[[DARK_RED]]Palava nuoli osui sinuun\! +Combat.TouchedFuzzy=[[DARK_RED]]Touched Fuzzy. Felt Dizzy. +Combat.TargetDazed=Kohde [[DARK_RED]]tyrmätty +Combat.WolfNoMaster=[[GRAY]]Tällä pedolla ei ole isäntää... +Combat.WolfHealth=[[GREEN]]Tämän pedon terveys on {0} +Combat.StruckByGore=[[RED]]**SINUA ON PISTETTY** +Combat.Gore=[[GREEN]]**PISTO** +Combat.ArrowDeflect=[[WHITE]]**NUOLI TORJUTTU** +Item.ChimaeraWingFail=**KHIMAIRAN SIIVEN KÄYTTÖ EPÄONNISTUI\!** +Item.ChimaeraWingPass=**KHIMAIRAN SIIPI** +Item.InjuredWait=Sinua on haavoitettu äskettäin joten joudut odottaa tämän käyttöä. [[YELLOW]]({0}s) +Item.NeedFeathers=[[GRAY]]Tarvitset lisää sulkia.. +m.mccPartyCommands=[[GREEN]]--RYHMÄKOMENNOT-- +m.mccParty=[party name] [[RED]]- Luo/liity nimettyyn ryhmään +m.mccPartyQ=[[RED]]- Lähde ryhmästä +m.mccPartyToggle=[[RED]] - Laita ryhmäjuttelu päälle/pois +m.mccPartyInvite=[player name] [[RED]]- Lähetä ryhmäkutsu +m.mccPartyAccept=[[RED]]- Hyväksy ryhmäkutsu +m.mccPartyTeleport=[party member name] [[RED]]- Siirry ryhmän jäsenen luo +m.mccOtherCommands=[[GREEN]]--MUUT KOMENNOT-- +m.mccStats=- Näytä mcMMO tilastosi +m.mccLeaderboards=- Tulostaulukko +m.mccMySpawn=- Siirtää sinut myspawniin +m.mccClearMySpawn=- Tyhjää myspawnisi +m.mccToggleAbility=- Laita taitojen aktivointi oikealla näppäimellä päälle/pois +m.mccAdminToggle=- Laita admin juttelu päälle/pois +m.mccWhois=[playername] [[RED]]- Näytä yksityiskohtaiset tiedot pelaajasta +m.mccMmoedit=[playername] [skill] [newvalue] [[RED]]- Muokkaa kohdetta +m.mccMcGod=- "God Mode" +m.mccSkillInfo=[skillname] [[RED]]- Näytä ykistyiskohtaiset tiedot taidosta +m.mccModDescription=[[RED]]- Lue lyhyt kuvaus modista +m.SkillHeader=[[RED]]-----[][[GREEN]]{0}[[RED]][]----- +m.XPGain=[[DARK_GRAY]]KOKEMUSPISTEIDEN MÄÄRÄ: [[WHITE]]{0} +m.EffectsTemplate=[[DARK_AQUA]]{0}: [[GREEN]]{1} +m.AbilityLockTemplate=[[GRAY]]{0} +m.AbilityBonusTemplate=[[RED]]{0}: [[YELLOW]]{1} +m.Effects=EFEKTIT +m.YourStats=TILASTOSI +m.SkillTaming=KESYTTÄMINEN +m.XPGainTaming=Susien satuttaminen +m.EffectsTaming1_0=Pedon Tarina +m.EffectsTaming1_1=Luulla lyöminen tutkii susia +m.EffectsTaming2_0=Pisto +m.EffectsTaming2_1=Kriittinen Isku joka lisää Verenvuodon +m.EffectsTaming3_0=Teroitetut Kynnet +m.EffectsTaming3_1=Tuhoamis Bonus +m.EffectsTaming4_0=Ympäristötietoinen +m.EffectsTaming4_1=Kaktus/Laavapelko, immuuni Putousvahingolle +m.EffectsTaming5_0=Paksu Turkki +m.EffectsTaming5_1=Vahingon vähennys, Tulenkestävä +m.EffectsTaming6_0=Räjähdyskestävä +m.EffectsTaming6_1=Räjähdysvahingon vähennys +m.AbilLockTaming1=LUKITTU KUNNES 100+ TAITO (YMPÄRISTÖTIETOINEN) +m.AbilLockTaming2=LUKITTU KUNNES 250+ TAITO (PAKSU TURKKI) +m.AbilLockTaming3=LUKITTU KUNNES 500+ TAITO (RÄJÄHDYSKESTÄVÄ) +m.AbilLockTaming4=LUKITTU KUNNES 750+ TAITO (TEROITETUT KYNNET) +m.AbilBonusTaming1_0=Ympäristötietoinen +m.AbilBonusTaming1_1=Sudet karttavat vaaraa +m.AbilBonusTaming2_0=Paksu Turkki +m.AbilBonusTaming2_1=Puolitettu vahinko, Tulenkestävä +m.AbilBonusTaming3_0=Räjähdyskestävä +m.AbilBonusTaming3_1=Räjähteet vahingoittavat 1/6 vähemmän +m.AbilBonusTaming4_0=Teroitetut Kynnet +m.AbilBonusTaming4_1=+2 Vahinko +m.TamingGoreChance=[[RED]]Piston todennäköisyys: [[YELLOW]]{0}% +m.SkillWoodCutting=PUUN KAATO +m.XPGainWoodCutting=Puiden pilkkominen +m.EffectsWoodCutting1_0=Puunkaataja (TAITO) +m.EffectsWoodCutting1_1=Räjäytä puita +m.EffectsWoodCutting2_0=Lehdenpuhallin +m.EffectsWoodCutting2_1=Puhalla lehtiä pois +m.EffectsWoodCutting3_0=Tuplasaalis +m.EffectsWoodCutting3_1=Tuplaa normaali saalis +m.AbilLockWoodCutting1=LUKITTU KUNNES 100+ TAITO (LEHDENPUHALLIN) +m.AbilBonusWoodCutting1_0=Lehdenpuhallin +m.AbilBonusWoodCutting1_1=Puhalla lehtiä pois +m.WoodCuttingDoubleDropChance=[[RED]]Tuplasaaliin todennäköisyys: [[YELLOW]]{0}% +m.WoodCuttingTreeFellerLength=[[RED]]Puunkaatajan kesto: [[YELLOW]]{0}s +m.SkillArchery=JOUSIAMMUNTA +m.XPGainArchery=Hyökkäämällä hirviöiden kimppuun +m.EffectsArchery1_0=Sytytys +m.EffectsArchery1_1=25% Todennäköisyys että vihollinen syttyy tuleen +m.EffectsArchery2_0=Pökerrys (Pelaajat) +m.EffectsArchery2_1=Saa viholliset pois tolaltaan +m.EffectsArchery3_0=Vahinko+ +m.EffectsArchery3_1=Muokkaa vahinkoa +m.EffectsArchery4_0=Nuolenkeräys +m.EffectsArchery4_1=Todennäköisyys kerätä nuolia raadoista +m.ArcheryDazeChance=[[RED]]Todennäköisyys Pökerryttää: [[YELLOW]]{0}% +m.ArcheryRetrieveChance=[[RED]]Todennäköisyys kerätä nuolia: [[YELLOW]]{0}% +m.ArcheryIgnitionLength=[[RED]]Sytytyksen kesto: [[YELLOW]]{0} sekuntia +m.ArcheryDamagePlus=[[RED]]Vahinko+ (Rank{0}): [[YELLOW]]Bonus {0} vahinko +m.SkillAxes=KIRVEET +m.XPGainAxes=Hyökkäämällä hirviöiden kimppuun +m.EffectsAxes1_0=Kallonhalkoja (TAITO) +m.EffectsAxes1_1=Tee aluevahinkoa +m.EffectsAxes2_0=Kriittiset Iskut +m.EffectsAxes2_1=Tuplavahinko +m.EffectsAxes3_0=Kirveiden Herra (500 TAITO) +m.EffectsAxes3_1=Muokkaa vahinkoa +m.AbilLockAxes1=LUKITTU KUNNES 500+ TAITO (KIRVEIDEN HERRA) +m.AbilBonusAxes1_0=Kirveiden Herra +m.AbilBonusAxes1_1=+4 Vahinko +m.AxesCritChance=[[RED]]Todennäköisyys iskeä kriittisesti: [[YELLOW]]{0}% +m.AxesSkullLength=[[RED]]Kallonhalkojan kesto: [[YELLOW]]{0}s +m.SkillSwords=MIEKAT +m.XPGainSwords=Hyökkäämällä hirviöiden kimppuun +m.EffectsSwords1_0=Vastaisku +m.EffectsSwords1_1=Kimmota 50% saadusta vahingosta +m.EffectsSwords2_0=Sahalaitaiset Iskut (TAITO) +m.EffectsSwords2_1=25% Aluevahinko, Verenvuoto+ Aluevahinko +m.EffectsSwords3_0=Sahalaitaiset Iskut Verenvuoto+ +m.EffectsSwords3_1=5 Aiheuta Verenvuotoa +m.EffectsSwords4_0=Torjuminen +m.EffectsSwords4_1=Estää saadun vahingon +m.EffectsSwords5_0=Verenvuoto +m.EffectsSwords5_1=Lisää Verenvuoto +m.SwordsCounterAttChance=[[RED]]Vastaiskun todennäköisyys: [[YELLOW]]{0}% +m.SwordsBleedLength=[[RED]]Verenvuodon kesto: [[YELLOW]]{0} vuotoa +m.SwordsBleedChance=[[RED]]Verenvuodon todennäköisyys: [[YELLOW]]{0} % +m.SwordsParryChance=[[RED]]Torjumisen todennäköisyys: [[YELLOW]]{0} % +m.SwordsSSLength=[[RED]]Sahalaitaisten Iskujen kesto: [[YELLOW]]{0}s +m.SwordsTickNote=[[GRAY]]HUOMAA: [[YELLOW]]1 vuoto tapahtuu joka kahdes sekunti +m.SkillAcrobatics=AKROBATIA +m.XPGainAcrobatics=Tippumalla +m.EffectsAcrobatics1_0=Kieriminen +m.EffectsAcrobatics1_1=Vähentää tai estää vahinkoa +m.EffectsAcrobatics2_0=Sulava Kieriminen +m.EffectsAcrobatics2_1=Tuplasti tehokkaampi kuin Kieriminen +m.EffectsAcrobatics3_0=Väistö +m.EffectsAcrobatics3_1=Vähentää vahingon määrän puoleen +m.AcrobaticsRollChance=[[RED]]Kierimisen todennäköisyys: [[YELLOW]]{0}% +m.AcrobaticsGracefulRollChance=[[RED]]Sulavan Kierimisen todennäköisyys: [[YELLOW]]{0}% +m.AcrobaticsDodgeChance=[[RED]]Väistön todennäköisyys: [[YELLOW]]{0}% +m.SkillMining=LOUHINTA +m.XPGainMining=Louhimalla kiveä ja malmia +m.EffectsMining1_0=Supermurskain (TAITO) +m.EffectsMining1_1=Nopeus+, Triplaa saaliin tippumistodennäköisyys +m.EffectsMining2_0=Tuplasaalis +m.EffectsMining2_1=Tuplaa normaali saaliin määrä +m.MiningDoubleDropChance=[[RED]]Tuplasaaliin todennäköisyys: [[YELLOW]]{0}% +m.MiningSuperBreakerLength=[[RED]]Supermurskaimen kesto: [[YELLOW]]{0}s +m.SkillRepair=KORJAUS +m.XPGainRepair=Korjaamalla +m.EffectsRepair1_0=Korjaa +m.EffectsRepair1_1=Korjaa rautatyökaluja ja haarniskoja +m.EffectsRepair2_0=Korjausten Herra +m.EffectsRepair2_1=Lisätty korjausten määrä +m.EffectsRepair3_0=Superkorjaus +m.EffectsRepair3_1=Tuplatehokkuus +m.EffectsRepair4_0=Timanttikorjaus ({0}+ TAITO) +m.EffectsRepair4_1=Korjaa timanttityökaluja ja haarniskoja +m.RepairRepairMastery=[[RED]]Korjausten Herra: [[YELLOW]]Extra {0}% kestävyyttä palautettu +m.RepairSuperRepairChance=[[RED]]Superkorjauksen todennäköisyys: [[YELLOW]]{0}% +m.SkillUnarmed=ASEISTAMATON +m.XPGainUnarmed=Hyökkäämällä hirviöiden kimppuun +m.EffectsUnarmed1_0=Raivopää (TAITO) +m.EffectsUnarmed1_1=+50% vahinko, rikkoo heikkoja materiaaleja +m.EffectsUnarmed2_0=Aseista riisuminen (Pelaajat) +m.EffectsUnarmed2_1=Pudottaa vihollisen esineen kädestä +m.EffectsUnarmed3_0=Aseistamattomuuden Herra +m.EffectsUnarmed3_1=Suuri vahingonlisäys +m.EffectsUnarmed4_0=Aseistamattomuuden Aloittelija +m.EffectsUnarmed4_1=Vahingonlisäys +m.EffectsUnarmed5_0=Nuolentorjunta +m.EffectsUnarmed5_1=Torjuu nuolia +m.AbilLockUnarmed1=LUKITTU KUNNES 250+ TAITO (ASEISTAMATTOMUUDEN ALOITTELIJA) +m.AbilLockUnarmed2=LUKITTU KUNNES 500+ TAITO (ASEISTAMATTOMUUDEN HERRA) +m.AbilBonusUnarmed1_0=Aseistamattomuuden Aloittelija +m.AbilBonusUnarmed1_1=+2 Vahinko +m.AbilBonusUnarmed2_0=Aseistamattomuuden Herra +m.AbilBonusUnarmed2_1=+4 Vahinko +m.UnarmedArrowDeflectChance=[[RED]]Nuolentorjunnan todennäköisyys: [[YELLOW]]{0}% +m.UnarmedDisarmChance=[[RED]]Aseista riisumisen todennäköisyys: [[YELLOW]]{0}% +m.UnarmedBerserkLength=[[RED]]Raivopään kesto: [[YELLOW]]{0}s +m.SkillHerbalism=YRTTIHOITO +m.XPGainHerbalism=Keräämällä yrttejä +m.EffectsHerbalism1_0=Vihermaa (TAITO) +m.EffectsHerbalism1_1=Levitä vihreyttä, 3x saalis +m.EffectsHerbalism2_0=Viherpeukalo (Vehnä) +m.EffectsHerbalism2_1=Istuttaa vehnää automaattisesti kun keräät vehnää +m.EffectsHerbalism3_0=Viherpeukalo (Mukulakivi) +m.EffectsHerbalism3_1=Mukulakivi -> Sammaleinen mukulakivi ja siemeniä +m.EffectsHerbalism4_0=Ruoka+ +m.EffectsHerbalism4_1=Muokkaa terveyttä jota saat leivästä/muhennoksesta +m.EffectsHerbalism5_0=Tuplasaalis (Kaikki yrtit) +m.EffectsHerbalism5_1=Tuplaa normaali saaliin määrä +m.HerbalismGreenTerraLength=[[RED]]Vihermaan kesto: [[YELLOW]]{0}s +m.HerbalismGreenThumbChance=[[RED]]Viherpeukalon todennäköisyys: [[YELLOW]]{0}% +m.HerbalismGreenThumbStage=[[RED]]Viherpeukalon vaihe: [[YELLOW]] Vehnä kasvaa {0}:ssa vaiheessa +m.HerbalismDoubleDropChance=[[RED]]Tuplasaaliin todennäköisyys: [[YELLOW]]{0}% +m.HerbalismFoodPlus=[[RED]]Ruoka+ (Rank{0}): [[YELLOW]]Bonus {0} terveyden määrä +m.SkillExcavation=KAIVANTO +m.XPGainExcavation=Kaivamalla ja löytämällä aarteita +m.EffectsExcavation1_0=Giga Drill Breaker (TAITO) +m.EffectsExcavation1_1=3x saaliin määrä, 3x kokemuspisteiden määrä, +Nopeus +m.EffectsExcavation2_0=Aarteenmetsästäjä +m.EffectsExcavation2_1=Taito jonka avulla voit kaivaa aarteita +m.ExcavationGreenTerraLength=[[RED]]Giga Drill Breaker kesto: [[YELLOW]]{0}s +mcBlockListener.PlacedAnvil=[[DARK_RED]]Olet asettanut alasimen maahan, sillä voit korjata työkaluja ja haarniskoja. +mcEntityListener.WolfComesBack=[[DARK_GRAY]]Sutesi kipittää takaisin luoksesi... +mcPlayerListener.AbilitiesOff=Taitojen käyttö pois päältä +mcPlayerListener.AbilitiesOn=Taitojen käyttö päällä +mcPlayerListener.AbilitiesRefreshed=[[GREEN]]**TAIDOT PÄIVITETTY\!** +mcPlayerListener.AcrobaticsSkill=[[YELLOW]]Akrobatia: +mcPlayerListener.ArcherySkill=[[YELLOW]]Jousiammunta: +mcPlayerListener.AxesSkill=[[YELLOW]]Kirveet: +mcPlayerListener.ExcavationSkill=[[YELLOW]]Kaivanto: +mcPlayerListener.GodModeDisabled=[[YELLOW]]mcMMO Godmode pois päältä +mcPlayerListener.GodModeEnabled=[[YELLOW]]mcMMO Godmode päällä +mcPlayerListener.GreenThumb=[[GREEN]]**VIHERPEUKALO** +mcPlayerListener.GreenThumbFail=[[RED]]**VIHERPEUKALO EPÄONNISTUI** +mcPlayerListener.HerbalismSkill=[[YELLOW]]Yrttihoito: +mcPlayerListener.MiningSkill=[[YELLOW]]Kaivanto: +mcPlayerListener.MyspawnCleared=[[DARK_AQUA]]Myspawn on tyhjätty. +mcPlayerListener.MyspawnNotExist=[[RED]]Määrää myspawnisi ensin laittamalla sänky maahan. +mcPlayerListener.MyspawnSet=[[DARK_AQUA]]Myspawn on asetettu tämänhetkiseen sijaintiisi. +mcPlayerListener.MyspawnTimeNotice=Sinun pitää odottaa {0}m {1}s käyttääksesi myspawnia +mcPlayerListener.NoPermission=Puutteelliset oikeudet (mcPermissions) +mcPlayerListener.NoSkillNote=[[DARK_GRAY]]Jos sinulla ei ole käyttöoikeutta johonkin taitoon, sitä ei näytetä täällä. +mcPlayerListener.NotInParty=[[RED]]Et ole ryhmässä. +mcPlayerListener.InviteSuccess=[[GREEN]]Kutsu lähetetty. +mcPlayerListener.ReceivedInvite1=[[RED]]HUOMIO: [[GREEN]]Olet saanut ryhmäkutsun ryhmään {0} pelaajalta {1} +mcPlayerListener.ReceivedInvite2=[[YELLOW]]Kirjoita [[GREEN]]/{0}[[YELLOW]] hyväksyäksesi kutsun +mcPlayerListener.InviteAccepted=[[GREEN]]Kutsu hyväksytty. Olet liittynyt ryhmään {0} +mcPlayerListener.NoInvites=[[RED]]Sinulla ei ole kutsuja +mcPlayerListener.YouAreInParty=[[GREEN]]Olet ryhmässä {0} +mcPlayerListener.PartyMembers=[[GREEN]]Ryhmän jäsenet +mcPlayerListener.LeftParty=[[RED]]Olet lähtenyt ryhmästä +mcPlayerListener.JoinedParty=Liityit ryhmään: {0} +mcPlayerListener.PartyChatOn=Vain ryhmäjuttelu [[GREEN]]Päällä +mcPlayerListener.PartyChatOff=Vain ryhmäjuttelu [[RED]]Pois päältä +mcPlayerListener.AdminChatOn=Vain admin juttelu [[GREEN]]Päällä +mcPlayerListener.AdminChatOff=Vain admin juttelu [[RED]]Pois päältä +mcPlayerListener.MOTD=[[BLUE]]Tällä serverillä on mcMMO {0} kirjoita [[YELLOW]]/{1}[[BLUE]] apua varten. +mcPlayerListener.WIKI=[[GREEN]]http://mcmmo.wikia.com[[BLUE]] - mcMMO Wiki +mcPlayerListener.PowerLevel=[[DARK_RED]]VOIMATASO: +mcPlayerListener.PowerLevelLeaderboard=[[YELLOW]]--mcMMO[[BLUE]] Voimataso [[YELLOW]]Tulostaulukko-- +mcPlayerListener.SkillLeaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Tulostaulukko-- +mcPlayerListener.RepairSkill=[[YELLOW]]Korjaus: +mcPlayerListener.SwordsSkill=[[YELLOW]]Miekat: +mcPlayerListener.TamingSkill=[[YELLOW]]Kesytys: +mcPlayerListener.UnarmedSkill=[[YELLOW]]Aseistamattomuus: +mcPlayerListener.WoodcuttingSkill=[[YELLOW]]Puunkaato: +mcPlayerListener.YourStats=[[GREEN]]Sinun MMO tilastosi +Party.InformedOnJoin={0} [[GREEN]] on liittynyt ryhmään +Party.InformedOnQuit={0} [[GREEN]] on lähtenyt ryhmästä +Skills.YourGreenTerra=[[GREEN]]Your [[YELLOW]]Green Terra [[GREEN]]ability is refreshed! +Skills.YourTreeFeller=[[GREEN]]Your [[YELLOW]]Tree Feller [[GREEN]]ability is refreshed! +Skills.YourSuperBreaker=[[GREEN]]Your [[YELLOW]]Super Breaker [[GREEN]]ability is refreshed! +Skills.YourSerratedStrikes=[[GREEN]]Your [[YELLOW]]Serrated Strikes [[GREEN]]ability is refreshed! +Skills.YourBerserk=[[GREEN]]Your [[YELLOW]]Berserk [[GREEN]]ability is refreshed! +Skills.YourSkullSplitter=[[GREEN]]Your [[YELLOW]]Skull Splitter [[GREEN]]ability is refreshed! +Skills.YourGigaDrillBreaker=[[GREEN]]Your [[YELLOW]]Giga Drill Breaker [[GREEN]]ability is refreshed! +Skills.TooTired=[[RED]]You are too tired to use that ability again. +Skills.ReadyHoe=[[GREEN]]**YOU READY YOUR HOE** +Skills.LowerHoe=[[GRAY]]**YOU LOWER YOUR HOE** +Skills.ReadyAxe=[[GREEN]]**YOU READY YOUR AXE** +Skills.LowerAxe=[[GRAY]]**YOU LOWER YOUR AXE** +Skills.ReadyFists=[[GREEN]]**YOU READY YOUR FISTS** +Skills.LowerFists=[[GRAY]]**YOU LOWER YOUR FISTS** +Skills.ReadyPickAxe=[[GREEN]]**YOU READY YOUR PICKAXE** +Skills.LowerPickAxe=[[GRAY]]**YOU LOWER YOUR PICKAXE** +Skills.ReadyShovel=[[GREEN]]**YOU READY YOUR SHOVEL** +Skills.LowerShovel=[[GRAY]]**YOU LOWER YOUR SHOVEL** +Skills.ReadySword=[[GREEN]]**YOU READY YOUR SWORD** +Skills.LowerSword=[[GRAY]]**YOU LOWER YOUR SWORD** +Skills.BerserkOn=[[GREEN]]**BERSERK ACTIVATED** +Skills.BerserkPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Berserk! +Skills.GreenTerraOn=[[GREEN]]**GREEN TERRA ACTIVATED** +Skills.GreenTerraPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Green Terra! +Skills.TreeFellerOn=[[GREEN]]**TREE FELLER ACTIVATED** +Skills.TreeFellerPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Tree Feller! +Skills.SuperBreakerOn=[[GREEN]]**SUPER BREAKER ACTIVATED** +Skills.SuperBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Super Breaker! +Skills.SerratedStrikesOn=[[GREEN]]**SERRATED STRIKES ACTIVATED** +Skills.SerratedStrikesPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Serrated Strikes! +Skills.SkullSplitterOn=[[GREEN]]**SKULL SPLITTER ACTIVATED** +Skills.SkullSplitterPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Skull Splitter! +Skills.GigaDrillBreakerOn=[[GREEN]]**GIGA DRILL BREAKER ACTIVATED** +Skills.GigaDrillBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Giga Drill Breaker! +Skills.GreenTerraOff=[[RED]]**Green Terra has worn off** +Skills.TreeFellerOff=[[RED]]**Tree Feller has worn off** +Skills.SuperBreakerOff=[[RED]]**Super Breaker has worn off** +Skills.SerratedStrikesOff=[[RED]]**Serrated Strikes has worn off** +Skills.BerserkOff=[[RED]]**Berserk has worn off** +Skills.SkullSplitterOff=[[RED]]**Skull Splitter has worn off** +Skills.GigaDrillBreakerOff=[[RED]]**Giga Drill Breaker has worn off** +Skills.TamingUp=[[YELLOW]]Taming skill increased by {0}. Total ({1}) +Skills.AcrobaticsUp=[[YELLOW]]Acrobatics skill increased by {0}. Total ({1}) +Skills.ArcheryUp=[[YELLOW]]Archery skill increased by {0}. Total ({1}) +Skills.SwordsUp=[[YELLOW]]Swords skill increased by {0}. Total ({1}) +Skills.AxesUp=[[YELLOW]]Axes skill increased by {0}. Total ({1}) +Skills.UnarmedUp=[[YELLOW]]Unarmed skill increased by {0}. Total ({1}) +Skills.HerbalismUp=[[YELLOW]]Herbalism skill increased by {0}. Total ({1}) +Skills.MiningUp=[[YELLOW]]Mining skill increased by {0}. Total ({1}) +Skills.WoodcuttingUp=[[YELLOW]]Woodcutting skill increased by {0}. Total ({1}) +Skills.RepairUp=[[YELLOW]]Repair skill increased by {0}. Total ({1}) +Skills.ExcavationUp=[[YELLOW]]Excavation skill increased by {0}. Total ({1}) +mcMMO.Description=[[DARK_AQUA]]Q: WHAT IS IT?,[[GOLD]]mcMMO is an [[RED]]OPEN SOURCE[[GOLD]] RPG mod for Bukkit by [[BLUE]]nossr50,[[GOLD]]There are many skills added by mcMMO to Minecraft.,[[GOLD]]You can gain experience in many different ways,[[GOLD]]You will want to type [[GREEN]]/SKILLNAME[[GOLD]] to find out more about a skill.,[[DARK_AQUA]]Q: WHAT DOES IT DO?,[[GOLD]]As an example... in [[DARK_AQUA]]Mining[[GOLD]] you will receive benefits like,[[RED]]Double Drops[[GOLD]] or the ability [[RED]]Super Breaker[[GOLD]] which when,[[GOLD]]activated by right-click allows fast Mining during its duration,[[GOLD]]which is related to your skill level. Leveling [[BLUE]]Mining,[[GOLD]]is as simple as mining precious materials!,[[DARK_AQUA]]Q: WHAT DOES THIS MEAN?,[[GOLD]]Almost all of the skills in [[GREEN]]mcMMO[[GOLD]] add cool new things!.,[[GOLD]]You can also type [[GREEN]]/{0}[[GOLD]] to find out commands,[[GOLD]]The goal of mcMMO is to provide a quality RPG experience.,[[DARK_AQUA]]Q: WHERE DO I SUGGEST NEW STUFF!?,[[GOLD]]On the mcMMO thread in the bukkit forums!,[[DARK_AQUA]]Q: HOW DO I DO THIS AND THAT?,[[RED]]PLEASE [[GOLD]]checkout the wiki! [[DARK_AQUA]]mcmmo.wikia.com +Party.Locked=[[RED]]Party is locked, only party leader may invite. +Party.IsntLocked=[[GRAY]]Party is not locked +Party.Unlocked=[[GRAY]]Party is unlocked +Party.Help1=[[RED]]Proper usage is [[YELLOW]]/{0} [[WHITE]][[YELLOW]] or [[WHITE]]'q' [[YELLOW]]to quit +Party.Help2=[[RED]]To join a passworded party use [[YELLOW]]/{0} [[WHITE]] +Party.Help3=[[RED]]Consult /{0} ? for more information +Party.Help4=[[RED]]Use [[YELLOW]]/{0} [[WHITE]] [[YELLOW]]to join a party or [[WHITE]]'q' [[YELLOW]]to quit +Party.Help5=[[RED]]To lock your party use [[YELLOW]]/{0} [[WHITE]]lock +Party.Help6=[[RED]]To unlock your party use [[YELLOW]]/{0} [[WHITE]]unlock +Party.Help7=[[RED]]To password protect your party use [[YELLOW]]/{0} [[WHITE]]password +Party.Help8=[[RED]]To kick a player from your party use [[YELLOW]]/{0} [[WHITE]]kick +Party.Help9=[[RED]]To transfer ownership of your party use [[YELLOW]]/{0} [[WHITE]]owner +Party.NotOwner=[[DARK_RED]]You are not the party owner +Party.InvalidName=[[DARK_RED]]That is not a valid party name +Party.PasswordSet=[[GREEN]]Party password set to {0} +Party.CouldNotKick=[[DARK_RED]]Could not kick player {0} +Party.NotInYourParty=[[DARK_RED]]{0} is not in your party +Party.CouldNotSetOwner=[[DARK_RED]]Could not set owner to {0} +Commands.xprate.proper=[[DARK_AQUA]]Proper usage is /{0} [integer] [true:false] +Commands.xprate.proper2=[[DARK_AQUA]]Also you can type /{0} reset to turn everything back to normal +Commands.xprate.proper3=[[RED]]Enter true or false for the second value +Commands.xprate.over=[[RED]]mcMMO XP Rate Event is OVER!! +Commands.xprate.started=[[GOLD]]XP EVENT FOR mcMMO HAS STARTED! +Commands.xprate.started2=[[GOLD]]mcMMO XP RATE IS NOW {0}x!! +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.invalid=[[RED]]That is not a valid skillname! Try /xplock mining \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/locale/locale_fr.properties b/src/com/gmail/nossr50/locale/locale_fr.properties similarity index 98% rename from mcMMO/com/gmail/nossr50/locale/locale_fr.properties rename to src/com/gmail/nossr50/locale/locale_fr.properties index 0a290c8eb..cc1eeb354 100644 --- a/mcMMO/com/gmail/nossr50/locale/locale_fr.properties +++ b/src/com/gmail/nossr50/locale/locale_fr.properties @@ -1,351 +1,351 @@ -Combat.WolfExamine=[[GREEN]]**Vous examinez le loup avec le Beast Lore** -Combat.WolfShowMaster=[[DARK_GREEN]]Le Maître des bêtes \: {0} -Combat.Ignition=[[RED]]**ALLUMAGE** -Combat.BurningArrowHit=[[DARK_RED]]Vous avez été frappé par une flèche brûlante\! -Combat.TouchedFuzzy=[[DARK_RED]]Vous voyez flou. Vous vous sentez étourdi. -Combat.TargetDazed=La cible a été [[DARK_RED]]Étourdi -Combat.WolfNoMaster=[[GRAY]]Cette bête n'a pas de maître... -Combat.WolfHealth=[[GREEN]]Cette bête a {0} points de vie -Combat.StruckByGore=[[RED]]**FRAPPÉ JUSQU'AU SANG** -Combat.Gore=[[GREEN]]**SANG** -Combat.ArrowDeflect=[[WHITE]]**FLÈCHE DEVIÉE** -Item.ChimaeraWingFail=**CHIMAERA WING a échoué \!** -Item.ChimaeraWingPass=**CHIMAERA WING** -Item.InjuredWait=Vous avez été blessé récemment et vous devez attendre pour utiliser ça. [[YELLOW]]({0}s) -Item.NeedFeathers=[[GRAY]]Vous avez besoin de plus de plumes.. -m.mccPartyCommands=[[GREEN]]--COMMANDES GROUPE-- -m.mccParty=[party name] [[RED]]- Créer / Rejoindre un groupe -m.mccPartyQ=[[RED]]- Vous quitter la partie en cours -m.mccPartyToggle=[[RED]] - Active le Chat de groupe -m.mccPartyInvite=[player name] [[RED]]- Envoyer une invitation -m.mccPartyAccept=[[RED]]- Accepter l'invitation -m.mccPartyTeleport=[party member name] [[RED]]- Vous téléporte à un membre du groupe -m.mccOtherCommands=[[GREEN]]--AUTRES COMMANDES-- -m.mccStats=- Voir vos statistiques -m.mccLeaderboards=- Classements -m.mccMySpawn=- Vous téléporte à votre spawn -m.mccClearMySpawn=- Éfface votre point de spawn -m.mccToggleAbility=- Active les capacités spéciales avec clic droit -m.mccAdminToggle=- Active le chat admin -m.mccWhois=[playername] [[RED]]- Voir les infos détaillées du joueur -m.mccMmoedit=[playername] [skill] [newvalue] [[RED]]- Modifier -m.mccMcGod=- Mode dieu -m.mccSkillInfo=[skillname] [[RED]]- Afficher des informations détaillées d'une compétence -m.mccModDescription=[[RED]]- Affiche la description de mcMMO -m.SkillHeader=[[RED]]-----[][[GREEN]]{0}[[RED]][]----- -m.XPGain=[[DARK_GRAY]]POUR GAGNER DE l'XP: [[WHITE]]{0} -m.EffectsTemplate=[[DARK_AQUA]]{0}: [[GREEN]]{1} -m.AbilityLockTemplate=[[GRAY]]{0} -m.AbilityBonusTemplate=[[RED]]{0}: [[YELLOW]]{1} -m.Effects=EFFETS -m.YourStats=VOS STATS -m.SkillTaming=DRESSAGE -m.XPGainTaming=Attaquer avec un loup -m.EffectsTaming1_0=Connaissance des bêtes -m.EffectsTaming1_1=Inspecte un loup avec un os -m.EffectsTaming2_0=Morsures -m.EffectsTaming2_1=Des coups critiques lors d'une morsure -m.EffectsTaming3_0=Griffes aiguisées -m.EffectsTaming3_1=Bonus de dégâts -m.EffectsTaming4_0=Conscient de l'environnement -m.EffectsTaming4_1=Resistance aux Cactus, à la lave et aux chutes. -m.EffectsTaming5_0=Epaisse fourrure -m.EffectsTaming5_1=Réduction dégâts, Résistance au feu -m.EffectsTaming6_0=Résistance aux chocs -m.EffectsTaming6_1=Réduction des dommages explosifs -m.AbilLockTaming1=Débloqué au niveau 100 (Conscient de l'environnement) -m.AbilLockTaming2=Débloqué au niveau 250 (Épaisse fourrure) -m.AbilLockTaming3=Débloqué au niveau 500 (Résistance aux chocs) -m.AbilLockTaming4=Débloqué au niveau 750 (Griffes aiguisées) -m.AbilBonusTaming1_0=Conscient de l'environnement -m.AbilBonusTaming1_1=Le loup évite le danger -m.AbilBonusTaming2_0=Epaisse fourrure -m.AbilBonusTaming2_1=Réduit de moitié les dommages \+ résistance au feu -m.AbilBonusTaming3_0=Résistance aux chocs -m.AbilBonusTaming3_1=divise par 6 les dégats d'explosions -m.AbilBonusTaming4_0=Griffes aiguisées -m.AbilBonusTaming4_1=+2 Dommages -m.TamingGoreChance=[[RED]]Chances de Morsure: [[YELLOW]]{0}% -m.SkillWoodCutting=BÛCHERONNAGE -m.XPGainWoodCutting=Abattre des arbres -m.EffectsWoodCutting1_0=L'abatteur d'arbres (capacité spéciale) -m.EffectsWoodCutting1_1=Faire exploser les arbres -m.EffectsWoodCutting2_0=Souffleur de feuilles -m.EffectsWoodCutting2_1=Détruire plus de feuilles -m.EffectsWoodCutting3_0=Double Butin -m.EffectsWoodCutting3_1=Double le butin normal -m.AbilLockWoodCutting1=Débloqué au niveau 100 (Souffleur de feuilles) -m.AbilBonusWoodCutting1_0=Soufler les feuilles -m.AbilBonusWoodCutting1_1=Détruire plus de feuilles -m.WoodCuttingDoubleDropChance=[[RED]]Chance de double butin: [[YELLOW]]{0}% -m.WoodCuttingTreeFellerLength=[[RED]]Durée de votre capacité spéciale : [[YELLOW]]{0}s -m.SkillArchery=TIR À L'ARC -m.XPGainArchery=Attaquer les monstres -m.EffectsArchery1_0=Allumage -m.EffectsArchery1_1=25% de chances que l'ennemi s'enflamme -m.EffectsArchery2_0=Étourdir (les joueurs) -m.EffectsArchery2_1=Étourdi les joueurs -m.EffectsArchery3_0=Dégâts+ -m.EffectsArchery3_1=Augmente les dégâts -m.EffectsArchery4_0=Récupération de flèches -m.EffectsArchery4_1=Chances de récupérer vos flèches sur un cadavre -m.ArcheryDazeChance=[[RED]]Chances d'étourdir : [[YELLOW]]{0}% -m.ArcheryRetrieveChance=[[RED]]Chances de récupération des flèches : [[YELLOW]]{0}% -m.ArcheryIgnitionLength=[[RED]]Durée du feu : [[YELLOW]]{0} secondes -m.ArcheryDamagePlus=[[RED]]Dégâts+ (Rang {0}): [[YELLOW]]Bonus de {0} dommages -m.SkillAxes=HACHE -m.XPGainAxes=Attaquer des monstres -m.EffectsAxes1_0=Fendeur de crânes (capacité spéciale) -m.EffectsAxes1_1=provoque des dégâts de zone -m.EffectsAxes2_0=Coup critiques -m.EffectsAxes2_1=double les dégâts -m.EffectsAxes3_0=Maîtrise de la hache (niveau 500) -m.EffectsAxes3_1=Augmente les dégâts -m.AbilLockAxes1=Débloqué au niveau 500 (Maîtrise de la hache) -m.AbilBonusAxes1_0=Maîtrise de la hache -m.AbilBonusAxes1_1=4 Blessures en bonus -m.AxesCritChance=[[RED]]Chances de coup critique : [[YELLOW]]{0}% -m.AxesSkullLength=[[RED]]Durée de votre capacité spéciale : [[YELLOW]]{0}s -m.SkillSwords=ÉPÉE -m.XPGainSwords=Attaque des monstres -m.EffectsSwords1_0=Contre-Attaque -m.EffectsSwords1_1=Renvoie 50% des degats subis -m.EffectsSwords2_0=Lame crantée (capacité spéciale) -m.EffectsSwords2_1=25% de dégâts et saignements succesifs. -m.EffectsSwords3_0=Lame crantée avec saignement+ -m.EffectsSwords3_1=5 saignements -m.EffectsSwords4_0=Parer -m.EffectsSwords4_1=Annule les dommages -m.EffectsSwords5_0=Saignement -m.EffectsSwords5_1=provoque un saignement répété -m.SwordsCounterAttChance=[[RED]]Chances de Contre-Attaque : [[YELLOW]]{0}% -m.SwordsBleedLength=[[RED]]Nombre de saignements : [[YELLOW]]{0} -m.SwordsBleedChance=[[RED]]Chances de provoquer des saignements : [[YELLOW]]{0} % -m.SwordsParryChance=[[RED]]Chances de parer : [[YELLOW]]{0} % -m.SwordsSSLength=[[RED]]Durée de votre capacité spéciale : [[YELLOW]]{0}s -m.SwordsTickNote=[[GRAY]]NOTE: [[YELLOW]]1 saignement va durer 2 secondes -m.SkillAcrobatics=ACROBATIE -m.XPGainAcrobatics=Chuter -m.EffectsAcrobatics1_0=Roulade -m.EffectsAcrobatics1_1=Réduit ou annule les dommages -m.EffectsAcrobatics2_0=Super roulade -m.EffectsAcrobatics2_1=Roulade deux fois plus efficace -m.EffectsAcrobatics3_0=Esquive -m.EffectsAcrobatics3_1=Dommages reduits de moitié -m.AcrobaticsRollChance=[[RED]]Chances de roulade : [[YELLOW]]{0}% -m.AcrobaticsGracefulRollChance=[[RED]]Chances de super roulade: [[YELLOW]]{0}% -m.AcrobaticsDodgeChance=[[RED]]Chances d'esquiver : [[YELLOW]]{0}% -m.SkillMining=MINAGE -m.XPGainMining=Miner de la roche et des minerais -m.EffectsMining1_0=Super Breaker (capacité spéciale) -m.EffectsMining1_1=Augmente la vitesse et triple les chances de trouver un butin -m.EffectsMining2_0=Double Butin -m.EffectsMining2_1=Double le butin normal -m.MiningDoubleDropChance=[[RED]]Chances de Double Butin: [[YELLOW]]{0}% -m.MiningSuperBreakerLength=[[RED]]Durée de votre capacité spéciale : [[YELLOW]]{0}s -m.SkillRepair=RÉPARATION -m.XPGainRepair=Réparer des objets -m.EffectsRepair1_0=Réparer -m.EffectsRepair1_1=Réparation d'outils & Armures en Fer -m.EffectsRepair2_0=Maître en réparation -m.EffectsRepair2_1=Augmente le nombre de réparations possibles -m.EffectsRepair3_0=Super Réparation -m.EffectsRepair3_1=Double l'efficacité -m.EffectsRepair4_0=Réparation du Diamant (requiert niveau {0}) -m.EffectsRepair4_1=Réparation des outils & armures en diamant -m.RepairRepairMastery=[[RED]]Maître en réparation : [[YELLOW]]{0}% de durabilité restaurée -m.RepairSuperRepairChance=[[RED]]Chances de Super Réparation : [[YELLOW]]{0}% -m.SkillUnarmed=MAINS NUES -m.XPGainUnarmed=Attaquer des monstres sans armes -m.EffectsUnarmed1_0=Berserk (capacité spéciale) -m.EffectsUnarmed1_1=+50% de dégâts, brise les matériaux faibles -m.EffectsUnarmed2_0=Désarmer (les joueurs) -m.EffectsUnarmed2_1=Vole l'objet que l'ennemi a dans la main -m.EffectsUnarmed3_0=Apprenti du désarmement -m.EffectsUnarmed3_1=Plus de dégâts -m.EffectsUnarmed4_0=Maîtrise du désarmement -m.EffectsUnarmed4_1=Beaucoup plus de dégâts -m.EffectsUnarmed5_0=Déviation des flèches -m.EffectsUnarmed5_1=Dévie les flèches qui vous foncent dessus -m.AbilLockUnarmed1=Débloqué au niveau 250 (Apprenti du désarmement) -m.AbilLockUnarmed2=Débloqué au niveau 500 (Maîtrise du désarmement) -m.AbilBonusUnarmed1_0=Apprenti du désarmement -m.AbilBonusUnarmed1_1=+2 dégâts -m.AbilBonusUnarmed2_0=Maîtrise du désarmement -m.AbilBonusUnarmed2_1=+4 dégâts -m.UnarmedArrowDeflectChance=[[RED]]Chances dévier les flèches : [[YELLOW]]{0}% -m.UnarmedDisarmChance=[[RED]]Chances de Désarmer : [[YELLOW]]{0}% -m.UnarmedBerserkLength=[[RED]]Durée de votre capacité spéciale : [[YELLOW]]{0}s -m.SkillHerbalism=Herboristerie -m.XPGainHerbalism=Récoler des herbes -m.EffectsHerbalism1_0=Main verte (capacité spéciale) -m.EffectsHerbalism1_1=répand la main verte, 3x Butin -m.EffectsHerbalism2_0=Main verte (Blé) -m.EffectsHerbalism2_1=Auto-plantes du blé lors de la récolte -m.EffectsHerbalism3_0=Main verte (Cobblestone) -m.EffectsHerbalism3_1=Transforme la Cobble en Mossy avec des graines -m.EffectsHerbalism4_0=Nouriture+ -m.EffectsHerbalism4_1=Modifie la santé reçue via le pain / ragoût -m.EffectsHerbalism5_0=Double butin (Toutes cultures) -m.EffectsHerbalism5_1=Double les récoltes -m.HerbalismGreenTerraLength=[[RED]]Durée de la capacité spéciale : [[YELLOW]]{0}s -m.HerbalismGreenThumbChance=[[RED]]Cances d'obtenir la main verte : [[YELLOW]]{0}% -m.HerbalismGreenThumbStage=[[RED]]Main verte par niveaux : [[YELLOW]] Wheat grows in stage {0} -m.HerbalismDoubleDropChance=[[RED]]Chances du Double Butin : [[YELLOW]]{0}% -m.HerbalismFoodPlus=[[RED]]Nourriture+ (Rang {0}): [[YELLOW]]{0} plus nourissant -m.SkillExcavation=EXCAVATION -m.XPGainExcavation=Creuser et trouver des trésors -m.EffectsExcavation1_0=Super broyeur (capacité spéciale) -m.EffectsExcavation1_1=3x Butin, 3x XP, +Vitesse -m.EffectsExcavation2_0=Chercheur de trésors -m.EffectsExcavation2_1=Capacité de trouver un trésor -m.ExcavationGreenTerraLength=[[RED]]Durée de la capacité spéciale : [[YELLOW]]{0}s -mcBlockListener.PlacedAnvil=[[DARK_RED]]Vous avez placé une enclume, Les enclumes peuvent réparer les outils et l'armure. -mcEntityListener.WolfComesBack=[[DARK_GRAY]]Votre loup revient vers vous... -mcPlayerListener.AbilitiesOff=Capacité spéciale désactivée -mcPlayerListener.AbilitiesOn=Capacité spéciale activée -mcPlayerListener.AbilitiesRefreshed=[[GREEN]]**CAPACITÉ RECHARGÉE** -mcPlayerListener.AcrobaticsSkill=[[YELLOW]]Acrobatie (/Acrobatics) : -mcPlayerListener.ArcherySkill=[[YELLOW]]Tir a l'arc (/Archery) : -mcPlayerListener.AxesSkill=[[YELLOW]]Hache (/Axes) : -mcPlayerListener.ExcavationSkill=[[YELLOW]]Excavation (/Excavation): -mcPlayerListener.GodModeDisabled=[[YELLOW]]mcMMO godMode désactivé -mcPlayerListener.GodModeEnabled=[[YELLOW]]mcMMO godMode activé -mcPlayerListener.GreenThumb=[[GREEN]]**MAIN VERTE** -mcPlayerListener.GreenThumbFail=[[RED]]**MAIN VERTE A ECHOUÉ** -mcPlayerListener.HerbalismSkill=[[YELLOW]]Herboriste (/Herbalism) : -mcPlayerListener.MiningSkill=[[YELLOW]]Minage (/Mining): -mcPlayerListener.MyspawnCleared=[[DARK_AQUA]]Votre point de spawn a été éffacé. -mcPlayerListener.MyspawnNotExist=[[RED]]Dormez dans un lit pour définir votre point de spawn. -mcPlayerListener.MyspawnSet=[[DARK_AQUA]]Votre point de spawn a été enregistré ici. -mcPlayerListener.MyspawnTimeNotice=Vous devez attendre {0}m {1}s avant d'utiliser votre spawn -mcPlayerListener.NoPermission=Vous n'avez pas les permissions nécessaires. -mcPlayerListener.NoSkillNote=[[DARK_GRAY]]Si vous n'avez pas accès à une compé, elle ne sera pas affichée ici. -mcPlayerListener.NotInParty=[[RED]]Vous n'êtes pas dans un groupe. -mcPlayerListener.InviteSuccess=[[GREEN]]L'invitation a été envoyée avec succès. -mcPlayerListener.ReceivedInvite1=[[RED]]ALERTE: [[GREEN]]Vous avez reçu une invitation pour le groupe {0} de la part de {1} -mcPlayerListener.ReceivedInvite2=[[YELLOW]]Tapez [[GREEN]]/{0}[[YELLOW]] pour accepter l'invitation -mcPlayerListener.InviteAccepted=[[GREEN]]Invite acceptée. Vous avez rejoint le groupe {0} -mcPlayerListener.NoInvites=[[RED]]Vous n'avez pas d'invitation pour le moment -mcPlayerListener.YouAreInParty=[[GREEN]]Vous êtes dans le groupe {0} -mcPlayerListener.PartyMembers=[[GREEN]]Membres du groupe -mcPlayerListener.LeftParty=[[RED]]Vous avez quitté le groupe -mcPlayerListener.JoinedParty=Votre groupe: {0} -mcPlayerListener.PartyChatOn=Chat de Groupe uniquement [[GREEN]]On -mcPlayerListener.PartyChatOff=Chat de Groupe uniquement [[RED]]Off -mcPlayerListener.AdminChatOn=Admin Chat uniquement [[GREEN]]On -mcPlayerListener.AdminChatOff=Admin Chat uniquement [[RED]]Off -mcPlayerListener.MOTD=[[BLUE]]Ce serveur fonctionne avec mcMMO {0} [[YELLOW]]/{1}[[BLUE]] pour voir l'aide. -mcPlayerListener.WIKI=[[GREEN]]http://mcmmo.wikia.com[[BLUE]] - mcMMO Wiki - [[YELLOW]]Traduit par avalondrey & Misa -mcPlayerListener.PowerLevel=[[DARK_RED]]POWER LEVEL: -mcPlayerListener.PowerLevelLeaderboard=[[YELLOW]]--mcMMO[[BLUE]] Power Level [[YELLOW]]Leaderboard-- -mcPlayerListener.SkillLeaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Leaderboard-- -mcPlayerListener.RepairSkill=[[YELLOW]]Réparation (/Repair) : -mcPlayerListener.SwordsSkill=[[YELLOW]]Epee (/Swords) : -mcPlayerListener.TamingSkill=[[YELLOW]]Dressage (/Taming) : -mcPlayerListener.UnarmedSkill=[[YELLOW]]Mains nues (/Unarmed) : -mcPlayerListener.WoodcuttingSkill=[[YELLOW]]Bucheron (/Woodcutting): -mcPlayerListener.YourStats=[[GREEN]]Vos statistiques -Party.InformedOnJoin={0} [[GREEN]] a rejoint votre groupe -Party.InformedOnQuit={0} [[GREEN]] a quitté votre groupe -Skills.YourGreenTerra=[[GREEN]]Votre capacitée spéciale [[YELLOW]]Main verte [[GREEN]]est rechargée -Skills.YourTreeFeller=[[GREEN]]Votre capacitée spéciale [[YELLOW]]L'abatteur d'arbres [[GREEN]]est rechargée -Skills.YourSuperBreaker=[[GREEN]]Votre capacitée spéciale [[YELLOW]]Super Breaker[[GREEN]]est rechargée -Skills.YourSerratedStrikes=[[GREEN]]Votre capacitée spéciale [[YELLOW]]Epee cranté [[GREEN]]est rechargée -Skills.YourBerserk=[[GREEN]]Votre capacitée spéciale [[YELLOW]]Berserk [[GREEN]]est rechargée -Skills.YourSkullSplitter=[[GREEN]]Votre capacitée spéciale [[YELLOW]]Fendeur de crânes [[GREEN]]est rechargée -Skills.YourGigaDrillBreaker=[[GREEN]]Votre capacitée spéciale [[YELLOW]]Super broyeur [[GREEN]]est rechargée -Skills.TooTired=[[RED]]Vous êtes trop fatigué pour utiliser cette capacité pour l'instant. -Skills.ReadyHoe=[[GREEN]]**Votre bêche est chargée** -Skills.LowerHoe=[[GRAY]]Votre bêche s'est déchargée.. -Skills.ReadyAxe=[[GREEN]]**Votre hache est chargée** -Skills.LowerAxe=[[GRAY]]Votre hache s'est déchargée.. -Skills.ReadyFists=[[GREEN]]**Vos poings sont chargés** -Skills.LowerFists=[[GRAY]]Vos poings se sont déchargés.. -Skills.ReadyPickAxe=[[GREEN]]**Votre pioche est chargée** -Skills.LowerPickAxe=[[GRAY]]Votre pioche s'est déchargée.. -Skills.ReadyShovel=[[GREEN]]**Votre pelle est chargée** -Skills.LowerShovel=[[GRAY]]Votre pelle s'est déchargée.. -Skills.ReadySword=[[GREEN]]**Votre épée est chargée** -Skills.LowerSword=[[GRAY]]Votre épée s'est déchargée.. -Skills.BerserkOn=[[GREEN]]**BERSERK ACTIVATED** -Skills.BerserkPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Berserk! -Skills.GreenTerraOn=[[GREEN]]**Compétence [[YELLOW]]Main Verte [[GREEN]]activée** -Skills.GreenTerraPlayer=[[GREEN]]{0}[[DARK_GREEN]] a utilisé la compétence spéciale [[RED]]Main verte ! -Skills.TreeFellerOn=[[GREEN]]**Compétence [[YELLOW]]L'abatteur d'Arbres [[GREEN]]activée** -Skills.TreeFellerPlayer=[[GREEN]]{0}[[DARK_GREEN]] a utilisé la compétence spéciale [[RED]]Abatteur d'Arbres ! -Skills.SuperBreakerOn=[[GREEN]]**Compétence [[YELLOW]]Super Breaker [[GREEN]]activée** -Skills.SuperBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] a utilisé la compétence spéciale [[RED]]Super Breaker ! -Skills.SerratedStrikesOn=[[GREEN]]**Compétence [[YELLOW]]Lame Crantée [[GREEN]]activée** -Skills.SerratedStrikesPlayer=[[GREEN]]{0}[[DARK_GREEN]] a utilisé la compétence spéciale [[RED]]Lame crantée ! -Skills.SkullSplitterOn=[[GREEN]]**Compétence [[YELLOW]]Fendeur de crânes [[GREEN]]activée** -Skills.SkullSplitterPlayer=[[GREEN]]{0}[[DARK_GREEN]] a utilisé la compétence spéciale [[RED]]Fendeur de crânes ! -Skills.GigaDrillBreakerOn=[[GREEN]]**Compétence [[YELLOW]]Super Broyeur [[GREEN]]activée** -Skills.GigaDrillBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] a utilisé la compétence spéciale [[RED]]Super broyeur ! -Skills.GreenTerraOff=[[RED]]**Compétence [[YELLOW]]Main Verte [[GREEN]]terminée** -Skills.TreeFellerOff=[[RED]]**Compétence [[YELLOW]]L'abatteur d'Arbres [[GREEN]]terminée** -Skills.SuperBreakerOff=[[RED]]**Compétence [[YELLOW]]Super Breaker [[GREEN]]terminée** -Skills.SerratedStrikesOff=[[RED]]**Compétence [[YELLOW]]Lame Crantée [[GREEN]]terminée** -Skills.BerserkOff=[[RED]]**Berserk est fini** -Skills.SkullSplitterOff=[[RED]]**Casseur de tete est fini** -Skills.GigaDrillBreakerOff=[[RED]]**Super broyeur est fini** -Skills.TamingUp=[[YELLOW]]La competence du dressage a augmenté de {0}. Total ({1}) -Skills.AcrobaticsUp=[[YELLOW]]La competence acrobatie a augmenté de {0}. Total ({1}) -Skills.ArcheryUp=[[YELLOW]]La competence tir a l'arc a augmenté de {0}. Total ({1}) -Skills.SwordsUp=[[YELLOW]]La competence épée a augmenté de {0}. Total ({1}) -Skills.AxesUp=[[YELLOW]]La competence hache a augmenté de {0}. Total ({1}) -Skills.UnarmedUp=[[YELLOW]]La compétence de combat à mains nues a augmenté de {0}. Total ({1}) -Skills.HerbalismUp=[[YELLOW]]La competence herboriste a augmenté de {0}. Total ({1}) -Skills.MiningUp=[[YELLOW]]La competence minage a augmenté de {0}. Total ({1}) -Skills.WoodcuttingUp=[[YELLOW]]La competence bucherônage a augmenté de {0}. Total ({1}) -Skills.RepairUp=[[YELLOW]]La competence réparation a augmenté de {0}. Total ({1}) -Skills.ExcavationUp=[[YELLOW]]La competence excavation a augmenté de {0}. Total ({1}) -Skills.FeltEasy=[[GRAY]]That felt easy. -Skills.StackedItems=[[DARK_RED]]Vous ne pouvez pas réparer les objets empilés -Skills.NeedMore=[[DARK_RED]]Vous devez en avoir plus -Skills.AdeptDiamond=[[DARK_RED]]Vous n'avez pas encore le niveau nécessaire pour réparer du diamant -Skills.FullDurability=[[GRAY]]Cet objet est déjà en bonne état. -Skills.Disarmed=[[DARK_RED]]Vous avez été désarmé ! -mcPlayerListener.SorcerySkill=Sorcery: -m.SkillSorcery=SORCERY -Sorcery.HasCast=[[GREEN]]**CASTING**[[GOLD]] -Sorcery.Current_Mana=[[DARK_AQUA]]MP -Sorcery.SpellSelected=[[GREEN]]-=([[GOLD]]{0}[[GREEN]])=- [[RED]]([[GRAY]]{1}[[RED]]) -Sorcery.Cost=[[RED]][COST] {0} MP -Sorcery.OOM=[[DARK_AQUA]][[[GOLD]]{2}[[DARK_AQUA]]][[DARK_GRAY]] Out Of Mana [[YELLOW]]([[RED]]{0}[[YELLOW]]/[[GRAY]]{1}[[YELLOW]]) -Sorcery.Water.Thunder=THUNDER -Sorcery.Curative.Self=CURE SELF -Sorcery.Curative.Other=CURE OTHER -m.LVL=NIVEAU [[GREEN]]{0} - [[DARK_AQUA]]XP : [[YELLOW]][[[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]]] -Combat.BeastLore=[[GREEN]]**Connaissances des bêtes** -Combat.BeastLoreOwner=[[DARK_AQUA]]Propriétaire ([[RED]]{0}[[DARK_AQUA]]) -Combat.BeastLoreHealthWolfTamed=[[DARK_AQUA]]Vie ([[GREEN]]{0}[[DARK_AQUA]]/20) -Combat.BeastLoreHealthWolf=[[DARK_AQUA]]Vie ([[GREEN]]{0}[[DARK_AQUA]]/8) -mcMMO.Description=[[DARK_AQUA]]Q: QU'EST-CE QUE C'EST ?,[[GOLD]]mcMMO est un plugin RPG [[RED]]OPEN SOURCE[[GOLD]] pour Bukkit créé par [[BLUE]]nossr50,[[GOLD]]mcMMO ajoute beaucoup de compétences dans Minecraft,[[GOLD]]Vous pouvez gagner de l'expérience de différentes façons,[[GOLD]]Vous devriez taper [[GREEN]]/NOM_COMPETENCE[[GOLD]] pour en savoir plus.,[[DARK_AQUA]]Q: QU'EST-CE QUE ÇA FAIT?,[[GOLD]]Par exemple... en [[DARK_AQUA]]Minant[[GOLD]] Vous allez recevoir des bénéfices comme,[[RED]]le Double Butin[[GOLD]] ou la compétence [[RED]]Super Breaker[[GOLD]] qui lorsqu'elle est,[[GOLD]]activée avec clique droit permet de miner vite, sa durée,[[GOLD]]dépend du niveau de votre compétence. Améliorer [[BLUE]]Le Minage,[[GOLD]]Est aussi simple que de mine des ressources précieuses !,[[DARK_AQUA]]Q: QU'EST-CE QUE ÇA VEUT DIRE ?,[[GOLD]]Presque toutes les compétences dans [[GREEN]]mcMMO[[GOLD]] Sont des nouveaux trucs cools!.,[[GOLD]]Tapez [[GREEN]]/{0}[[GOLD]] pour trouver les commandes,[[GOLD]]Le but de mcMMO est de créer une expérience RPG de qualité.,[[DARK_AQUA]]Q: OÙ JE PEUX SUGGÉRER DES IDÉES !?,[[DARK_AQUA]]bit.ly/MCmmoIDEA,[[DARK_AQUA]]Q: COMMENT JE FAIS CI ET ÇA?,[[RED]]MERCI [[GOLD]]d'aller voir le wiki ! [[DARK_AQUA]]mcmmo.wikia.com -Party.Locked=[[RED]]Party is locked, only party leader may invite. -Party.IsntLocked=[[GRAY]]Party is not locked -Party.Unlocked=[[GRAY]]Party is unlocked -Party.Help1=[[RED]]Proper usage is [[YELLOW]]/{0} [[WHITE]][[YELLOW]] or [[WHITE]]'q' [[YELLOW]]to quit -Party.Help2=[[RED]]To join a passworded party use [[YELLOW]]/{0} [[WHITE]] -Party.Help3=[[RED]]Consult /{0} ? for more information -Party.Help4=[[RED]]Use [[YELLOW]]/{0} [[WHITE]] [[YELLOW]]to join a party or [[WHITE]]'q' [[YELLOW]]to quit -Party.Help5=[[RED]]To lock your party use [[YELLOW]]/{0} [[WHITE]]lock -Party.Help6=[[RED]]To unlock your party use [[YELLOW]]/{0} [[WHITE]]unlock -Party.Help7=[[RED]]To password protect your party use [[YELLOW]]/{0} [[WHITE]]password -Party.Help8=[[RED]]To kick a player from your party use [[YELLOW]]/{0} [[WHITE]]kick -Party.Help9=[[RED]]To transfer ownership of your party use [[YELLOW]]/{0} [[WHITE]]owner -Party.NotOwner=[[DARK_RED]]You are not the party owner -Party.InvalidName=[[DARK_RED]]That is not a valid party name -Party.PasswordSet=[[GREEN]]Party password set to {0} -Party.CouldNotKick=[[DARK_RED]]Could not kick player {0} -Party.NotInYourParty=[[DARK_RED]]{0} is not in your party -Party.CouldNotSetOwner=[[DARK_RED]]Could not set owner to {0} -Commands.xprate.proper=[[DARK_AQUA]]Proper usage is /{0} [integer] [true:false] -Commands.xprate.proper2=[[DARK_AQUA]]Also you can type /{0} reset to turn everything back to normal -Commands.xprate.proper3=[[RED]]Enter true or false for the second value -Commands.xprate.over=[[RED]]mcMMO XP Rate Event is OVER!! -Commands.xprate.started=[[GOLD]]XP EVENT FOR mcMMO HAS STARTED! -Commands.xprate.started2=[[GOLD]]mcMMO XP RATE IS NOW {0}x!! -Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! -Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! +Combat.WolfExamine=[[GREEN]]**Vous examinez le loup avec le Beast Lore** +Combat.WolfShowMaster=[[DARK_GREEN]]Le Maître des bêtes \: {0} +Combat.Ignition=[[RED]]**ALLUMAGE** +Combat.BurningArrowHit=[[DARK_RED]]Vous avez été frappé par une flèche brûlante\! +Combat.TouchedFuzzy=[[DARK_RED]]Vous voyez flou. Vous vous sentez étourdi. +Combat.TargetDazed=La cible a été [[DARK_RED]]Étourdi +Combat.WolfNoMaster=[[GRAY]]Cette bête n'a pas de maître... +Combat.WolfHealth=[[GREEN]]Cette bête a {0} points de vie +Combat.StruckByGore=[[RED]]**FRAPPÉ JUSQU'AU SANG** +Combat.Gore=[[GREEN]]**SANG** +Combat.ArrowDeflect=[[WHITE]]**FLÈCHE DEVIÉE** +Item.ChimaeraWingFail=**CHIMAERA WING a échoué \!** +Item.ChimaeraWingPass=**CHIMAERA WING** +Item.InjuredWait=Vous avez été blessé récemment et vous devez attendre pour utiliser ça. [[YELLOW]]({0}s) +Item.NeedFeathers=[[GRAY]]Vous avez besoin de plus de plumes.. +m.mccPartyCommands=[[GREEN]]--COMMANDES GROUPE-- +m.mccParty=[party name] [[RED]]- Créer / Rejoindre un groupe +m.mccPartyQ=[[RED]]- Vous quitter la partie en cours +m.mccPartyToggle=[[RED]] - Active le Chat de groupe +m.mccPartyInvite=[player name] [[RED]]- Envoyer une invitation +m.mccPartyAccept=[[RED]]- Accepter l'invitation +m.mccPartyTeleport=[party member name] [[RED]]- Vous téléporte à un membre du groupe +m.mccOtherCommands=[[GREEN]]--AUTRES COMMANDES-- +m.mccStats=- Voir vos statistiques +m.mccLeaderboards=- Classements +m.mccMySpawn=- Vous téléporte à votre spawn +m.mccClearMySpawn=- Éfface votre point de spawn +m.mccToggleAbility=- Active les capacités spéciales avec clic droit +m.mccAdminToggle=- Active le chat admin +m.mccWhois=[playername] [[RED]]- Voir les infos détaillées du joueur +m.mccMmoedit=[playername] [skill] [newvalue] [[RED]]- Modifier +m.mccMcGod=- Mode dieu +m.mccSkillInfo=[skillname] [[RED]]- Afficher des informations détaillées d'une compétence +m.mccModDescription=[[RED]]- Affiche la description de mcMMO +m.SkillHeader=[[RED]]-----[][[GREEN]]{0}[[RED]][]----- +m.XPGain=[[DARK_GRAY]]POUR GAGNER DE l'XP: [[WHITE]]{0} +m.EffectsTemplate=[[DARK_AQUA]]{0}: [[GREEN]]{1} +m.AbilityLockTemplate=[[GRAY]]{0} +m.AbilityBonusTemplate=[[RED]]{0}: [[YELLOW]]{1} +m.Effects=EFFETS +m.YourStats=VOS STATS +m.SkillTaming=DRESSAGE +m.XPGainTaming=Attaquer avec un loup +m.EffectsTaming1_0=Connaissance des bêtes +m.EffectsTaming1_1=Inspecte un loup avec un os +m.EffectsTaming2_0=Morsures +m.EffectsTaming2_1=Des coups critiques lors d'une morsure +m.EffectsTaming3_0=Griffes aiguisées +m.EffectsTaming3_1=Bonus de dégâts +m.EffectsTaming4_0=Conscient de l'environnement +m.EffectsTaming4_1=Resistance aux Cactus, à la lave et aux chutes. +m.EffectsTaming5_0=Epaisse fourrure +m.EffectsTaming5_1=Réduction dégâts, Résistance au feu +m.EffectsTaming6_0=Résistance aux chocs +m.EffectsTaming6_1=Réduction des dommages explosifs +m.AbilLockTaming1=Débloqué au niveau 100 (Conscient de l'environnement) +m.AbilLockTaming2=Débloqué au niveau 250 (Épaisse fourrure) +m.AbilLockTaming3=Débloqué au niveau 500 (Résistance aux chocs) +m.AbilLockTaming4=Débloqué au niveau 750 (Griffes aiguisées) +m.AbilBonusTaming1_0=Conscient de l'environnement +m.AbilBonusTaming1_1=Le loup évite le danger +m.AbilBonusTaming2_0=Epaisse fourrure +m.AbilBonusTaming2_1=Réduit de moitié les dommages \+ résistance au feu +m.AbilBonusTaming3_0=Résistance aux chocs +m.AbilBonusTaming3_1=divise par 6 les dégats d'explosions +m.AbilBonusTaming4_0=Griffes aiguisées +m.AbilBonusTaming4_1=+2 Dommages +m.TamingGoreChance=[[RED]]Chances de Morsure: [[YELLOW]]{0}% +m.SkillWoodCutting=BÛCHERONNAGE +m.XPGainWoodCutting=Abattre des arbres +m.EffectsWoodCutting1_0=L'abatteur d'arbres (capacité spéciale) +m.EffectsWoodCutting1_1=Faire exploser les arbres +m.EffectsWoodCutting2_0=Souffleur de feuilles +m.EffectsWoodCutting2_1=Détruire plus de feuilles +m.EffectsWoodCutting3_0=Double Butin +m.EffectsWoodCutting3_1=Double le butin normal +m.AbilLockWoodCutting1=Débloqué au niveau 100 (Souffleur de feuilles) +m.AbilBonusWoodCutting1_0=Soufler les feuilles +m.AbilBonusWoodCutting1_1=Détruire plus de feuilles +m.WoodCuttingDoubleDropChance=[[RED]]Chance de double butin: [[YELLOW]]{0}% +m.WoodCuttingTreeFellerLength=[[RED]]Durée de votre capacité spéciale : [[YELLOW]]{0}s +m.SkillArchery=TIR À L'ARC +m.XPGainArchery=Attaquer les monstres +m.EffectsArchery1_0=Allumage +m.EffectsArchery1_1=25% de chances que l'ennemi s'enflamme +m.EffectsArchery2_0=Étourdir (les joueurs) +m.EffectsArchery2_1=Étourdi les joueurs +m.EffectsArchery3_0=Dégâts+ +m.EffectsArchery3_1=Augmente les dégâts +m.EffectsArchery4_0=Récupération de flèches +m.EffectsArchery4_1=Chances de récupérer vos flèches sur un cadavre +m.ArcheryDazeChance=[[RED]]Chances d'étourdir : [[YELLOW]]{0}% +m.ArcheryRetrieveChance=[[RED]]Chances de récupération des flèches : [[YELLOW]]{0}% +m.ArcheryIgnitionLength=[[RED]]Durée du feu : [[YELLOW]]{0} secondes +m.ArcheryDamagePlus=[[RED]]Dégâts+ (Rang {0}): [[YELLOW]]Bonus de {0} dommages +m.SkillAxes=HACHE +m.XPGainAxes=Attaquer des monstres +m.EffectsAxes1_0=Fendeur de crânes (capacité spéciale) +m.EffectsAxes1_1=provoque des dégâts de zone +m.EffectsAxes2_0=Coup critiques +m.EffectsAxes2_1=double les dégâts +m.EffectsAxes3_0=Maîtrise de la hache (niveau 500) +m.EffectsAxes3_1=Augmente les dégâts +m.AbilLockAxes1=Débloqué au niveau 500 (Maîtrise de la hache) +m.AbilBonusAxes1_0=Maîtrise de la hache +m.AbilBonusAxes1_1=4 Blessures en bonus +m.AxesCritChance=[[RED]]Chances de coup critique : [[YELLOW]]{0}% +m.AxesSkullLength=[[RED]]Durée de votre capacité spéciale : [[YELLOW]]{0}s +m.SkillSwords=ÉPÉE +m.XPGainSwords=Attaque des monstres +m.EffectsSwords1_0=Contre-Attaque +m.EffectsSwords1_1=Renvoie 50% des degats subis +m.EffectsSwords2_0=Lame crantée (capacité spéciale) +m.EffectsSwords2_1=25% de dégâts et saignements succesifs. +m.EffectsSwords3_0=Lame crantée avec saignement+ +m.EffectsSwords3_1=5 saignements +m.EffectsSwords4_0=Parer +m.EffectsSwords4_1=Annule les dommages +m.EffectsSwords5_0=Saignement +m.EffectsSwords5_1=provoque un saignement répété +m.SwordsCounterAttChance=[[RED]]Chances de Contre-Attaque : [[YELLOW]]{0}% +m.SwordsBleedLength=[[RED]]Nombre de saignements : [[YELLOW]]{0} +m.SwordsBleedChance=[[RED]]Chances de provoquer des saignements : [[YELLOW]]{0} % +m.SwordsParryChance=[[RED]]Chances de parer : [[YELLOW]]{0} % +m.SwordsSSLength=[[RED]]Durée de votre capacité spéciale : [[YELLOW]]{0}s +m.SwordsTickNote=[[GRAY]]NOTE: [[YELLOW]]1 saignement va durer 2 secondes +m.SkillAcrobatics=ACROBATIE +m.XPGainAcrobatics=Chuter +m.EffectsAcrobatics1_0=Roulade +m.EffectsAcrobatics1_1=Réduit ou annule les dommages +m.EffectsAcrobatics2_0=Super roulade +m.EffectsAcrobatics2_1=Roulade deux fois plus efficace +m.EffectsAcrobatics3_0=Esquive +m.EffectsAcrobatics3_1=Dommages reduits de moitié +m.AcrobaticsRollChance=[[RED]]Chances de roulade : [[YELLOW]]{0}% +m.AcrobaticsGracefulRollChance=[[RED]]Chances de super roulade: [[YELLOW]]{0}% +m.AcrobaticsDodgeChance=[[RED]]Chances d'esquiver : [[YELLOW]]{0}% +m.SkillMining=MINAGE +m.XPGainMining=Miner de la roche et des minerais +m.EffectsMining1_0=Super Breaker (capacité spéciale) +m.EffectsMining1_1=Augmente la vitesse et triple les chances de trouver un butin +m.EffectsMining2_0=Double Butin +m.EffectsMining2_1=Double le butin normal +m.MiningDoubleDropChance=[[RED]]Chances de Double Butin: [[YELLOW]]{0}% +m.MiningSuperBreakerLength=[[RED]]Durée de votre capacité spéciale : [[YELLOW]]{0}s +m.SkillRepair=RÉPARATION +m.XPGainRepair=Réparer des objets +m.EffectsRepair1_0=Réparer +m.EffectsRepair1_1=Réparation d'outils & Armures en Fer +m.EffectsRepair2_0=Maître en réparation +m.EffectsRepair2_1=Augmente le nombre de réparations possibles +m.EffectsRepair3_0=Super Réparation +m.EffectsRepair3_1=Double l'efficacité +m.EffectsRepair4_0=Réparation du Diamant (requiert niveau {0}) +m.EffectsRepair4_1=Réparation des outils & armures en diamant +m.RepairRepairMastery=[[RED]]Maître en réparation : [[YELLOW]]{0}% de durabilité restaurée +m.RepairSuperRepairChance=[[RED]]Chances de Super Réparation : [[YELLOW]]{0}% +m.SkillUnarmed=MAINS NUES +m.XPGainUnarmed=Attaquer des monstres sans armes +m.EffectsUnarmed1_0=Berserk (capacité spéciale) +m.EffectsUnarmed1_1=+50% de dégâts, brise les matériaux faibles +m.EffectsUnarmed2_0=Désarmer (les joueurs) +m.EffectsUnarmed2_1=Vole l'objet que l'ennemi a dans la main +m.EffectsUnarmed3_0=Apprenti du désarmement +m.EffectsUnarmed3_1=Plus de dégâts +m.EffectsUnarmed4_0=Maîtrise du désarmement +m.EffectsUnarmed4_1=Beaucoup plus de dégâts +m.EffectsUnarmed5_0=Déviation des flèches +m.EffectsUnarmed5_1=Dévie les flèches qui vous foncent dessus +m.AbilLockUnarmed1=Débloqué au niveau 250 (Apprenti du désarmement) +m.AbilLockUnarmed2=Débloqué au niveau 500 (Maîtrise du désarmement) +m.AbilBonusUnarmed1_0=Apprenti du désarmement +m.AbilBonusUnarmed1_1=+2 dégâts +m.AbilBonusUnarmed2_0=Maîtrise du désarmement +m.AbilBonusUnarmed2_1=+4 dégâts +m.UnarmedArrowDeflectChance=[[RED]]Chances dévier les flèches : [[YELLOW]]{0}% +m.UnarmedDisarmChance=[[RED]]Chances de Désarmer : [[YELLOW]]{0}% +m.UnarmedBerserkLength=[[RED]]Durée de votre capacité spéciale : [[YELLOW]]{0}s +m.SkillHerbalism=Herboristerie +m.XPGainHerbalism=Récoler des herbes +m.EffectsHerbalism1_0=Main verte (capacité spéciale) +m.EffectsHerbalism1_1=répand la main verte, 3x Butin +m.EffectsHerbalism2_0=Main verte (Blé) +m.EffectsHerbalism2_1=Auto-plantes du blé lors de la récolte +m.EffectsHerbalism3_0=Main verte (Cobblestone) +m.EffectsHerbalism3_1=Transforme la Cobble en Mossy avec des graines +m.EffectsHerbalism4_0=Nouriture+ +m.EffectsHerbalism4_1=Modifie la santé reçue via le pain / ragoût +m.EffectsHerbalism5_0=Double butin (Toutes cultures) +m.EffectsHerbalism5_1=Double les récoltes +m.HerbalismGreenTerraLength=[[RED]]Durée de la capacité spéciale : [[YELLOW]]{0}s +m.HerbalismGreenThumbChance=[[RED]]Cances d'obtenir la main verte : [[YELLOW]]{0}% +m.HerbalismGreenThumbStage=[[RED]]Main verte par niveaux : [[YELLOW]] Wheat grows in stage {0} +m.HerbalismDoubleDropChance=[[RED]]Chances du Double Butin : [[YELLOW]]{0}% +m.HerbalismFoodPlus=[[RED]]Nourriture+ (Rang {0}): [[YELLOW]]{0} plus nourissant +m.SkillExcavation=EXCAVATION +m.XPGainExcavation=Creuser et trouver des trésors +m.EffectsExcavation1_0=Super broyeur (capacité spéciale) +m.EffectsExcavation1_1=3x Butin, 3x XP, +Vitesse +m.EffectsExcavation2_0=Chercheur de trésors +m.EffectsExcavation2_1=Capacité de trouver un trésor +m.ExcavationGreenTerraLength=[[RED]]Durée de la capacité spéciale : [[YELLOW]]{0}s +mcBlockListener.PlacedAnvil=[[DARK_RED]]Vous avez placé une enclume, Les enclumes peuvent réparer les outils et l'armure. +mcEntityListener.WolfComesBack=[[DARK_GRAY]]Votre loup revient vers vous... +mcPlayerListener.AbilitiesOff=Capacité spéciale désactivée +mcPlayerListener.AbilitiesOn=Capacité spéciale activée +mcPlayerListener.AbilitiesRefreshed=[[GREEN]]**CAPACITÉ RECHARGÉE** +mcPlayerListener.AcrobaticsSkill=[[YELLOW]]Acrobatie (/Acrobatics) : +mcPlayerListener.ArcherySkill=[[YELLOW]]Tir a l'arc (/Archery) : +mcPlayerListener.AxesSkill=[[YELLOW]]Hache (/Axes) : +mcPlayerListener.ExcavationSkill=[[YELLOW]]Excavation (/Excavation): +mcPlayerListener.GodModeDisabled=[[YELLOW]]mcMMO godMode désactivé +mcPlayerListener.GodModeEnabled=[[YELLOW]]mcMMO godMode activé +mcPlayerListener.GreenThumb=[[GREEN]]**MAIN VERTE** +mcPlayerListener.GreenThumbFail=[[RED]]**MAIN VERTE A ECHOUÉ** +mcPlayerListener.HerbalismSkill=[[YELLOW]]Herboriste (/Herbalism) : +mcPlayerListener.MiningSkill=[[YELLOW]]Minage (/Mining): +mcPlayerListener.MyspawnCleared=[[DARK_AQUA]]Votre point de spawn a été éffacé. +mcPlayerListener.MyspawnNotExist=[[RED]]Dormez dans un lit pour définir votre point de spawn. +mcPlayerListener.MyspawnSet=[[DARK_AQUA]]Votre point de spawn a été enregistré ici. +mcPlayerListener.MyspawnTimeNotice=Vous devez attendre {0}m {1}s avant d'utiliser votre spawn +mcPlayerListener.NoPermission=Vous n'avez pas les permissions nécessaires. +mcPlayerListener.NoSkillNote=[[DARK_GRAY]]Si vous n'avez pas accès à une compé, elle ne sera pas affichée ici. +mcPlayerListener.NotInParty=[[RED]]Vous n'êtes pas dans un groupe. +mcPlayerListener.InviteSuccess=[[GREEN]]L'invitation a été envoyée avec succès. +mcPlayerListener.ReceivedInvite1=[[RED]]ALERTE: [[GREEN]]Vous avez reçu une invitation pour le groupe {0} de la part de {1} +mcPlayerListener.ReceivedInvite2=[[YELLOW]]Tapez [[GREEN]]/{0}[[YELLOW]] pour accepter l'invitation +mcPlayerListener.InviteAccepted=[[GREEN]]Invite acceptée. Vous avez rejoint le groupe {0} +mcPlayerListener.NoInvites=[[RED]]Vous n'avez pas d'invitation pour le moment +mcPlayerListener.YouAreInParty=[[GREEN]]Vous êtes dans le groupe {0} +mcPlayerListener.PartyMembers=[[GREEN]]Membres du groupe +mcPlayerListener.LeftParty=[[RED]]Vous avez quitté le groupe +mcPlayerListener.JoinedParty=Votre groupe: {0} +mcPlayerListener.PartyChatOn=Chat de Groupe uniquement [[GREEN]]On +mcPlayerListener.PartyChatOff=Chat de Groupe uniquement [[RED]]Off +mcPlayerListener.AdminChatOn=Admin Chat uniquement [[GREEN]]On +mcPlayerListener.AdminChatOff=Admin Chat uniquement [[RED]]Off +mcPlayerListener.MOTD=[[BLUE]]Ce serveur fonctionne avec mcMMO {0} [[YELLOW]]/{1}[[BLUE]] pour voir l'aide. +mcPlayerListener.WIKI=[[GREEN]]http://mcmmo.wikia.com[[BLUE]] - mcMMO Wiki - [[YELLOW]]Traduit par avalondrey & Misa +mcPlayerListener.PowerLevel=[[DARK_RED]]POWER LEVEL: +mcPlayerListener.PowerLevelLeaderboard=[[YELLOW]]--mcMMO[[BLUE]] Power Level [[YELLOW]]Leaderboard-- +mcPlayerListener.SkillLeaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Leaderboard-- +mcPlayerListener.RepairSkill=[[YELLOW]]Réparation (/Repair) : +mcPlayerListener.SwordsSkill=[[YELLOW]]Epee (/Swords) : +mcPlayerListener.TamingSkill=[[YELLOW]]Dressage (/Taming) : +mcPlayerListener.UnarmedSkill=[[YELLOW]]Mains nues (/Unarmed) : +mcPlayerListener.WoodcuttingSkill=[[YELLOW]]Bucheron (/Woodcutting): +mcPlayerListener.YourStats=[[GREEN]]Vos statistiques +Party.InformedOnJoin={0} [[GREEN]] a rejoint votre groupe +Party.InformedOnQuit={0} [[GREEN]] a quitté votre groupe +Skills.YourGreenTerra=[[GREEN]]Votre capacitée spéciale [[YELLOW]]Main verte [[GREEN]]est rechargée +Skills.YourTreeFeller=[[GREEN]]Votre capacitée spéciale [[YELLOW]]L'abatteur d'arbres [[GREEN]]est rechargée +Skills.YourSuperBreaker=[[GREEN]]Votre capacitée spéciale [[YELLOW]]Super Breaker[[GREEN]]est rechargée +Skills.YourSerratedStrikes=[[GREEN]]Votre capacitée spéciale [[YELLOW]]Epee cranté [[GREEN]]est rechargée +Skills.YourBerserk=[[GREEN]]Votre capacitée spéciale [[YELLOW]]Berserk [[GREEN]]est rechargée +Skills.YourSkullSplitter=[[GREEN]]Votre capacitée spéciale [[YELLOW]]Fendeur de crânes [[GREEN]]est rechargée +Skills.YourGigaDrillBreaker=[[GREEN]]Votre capacitée spéciale [[YELLOW]]Super broyeur [[GREEN]]est rechargée +Skills.TooTired=[[RED]]Vous êtes trop fatigué pour utiliser cette capacité pour l'instant. +Skills.ReadyHoe=[[GREEN]]**Votre bêche est chargée** +Skills.LowerHoe=[[GRAY]]Votre bêche s'est déchargée.. +Skills.ReadyAxe=[[GREEN]]**Votre hache est chargée** +Skills.LowerAxe=[[GRAY]]Votre hache s'est déchargée.. +Skills.ReadyFists=[[GREEN]]**Vos poings sont chargés** +Skills.LowerFists=[[GRAY]]Vos poings se sont déchargés.. +Skills.ReadyPickAxe=[[GREEN]]**Votre pioche est chargée** +Skills.LowerPickAxe=[[GRAY]]Votre pioche s'est déchargée.. +Skills.ReadyShovel=[[GREEN]]**Votre pelle est chargée** +Skills.LowerShovel=[[GRAY]]Votre pelle s'est déchargée.. +Skills.ReadySword=[[GREEN]]**Votre épée est chargée** +Skills.LowerSword=[[GRAY]]Votre épée s'est déchargée.. +Skills.BerserkOn=[[GREEN]]**BERSERK ACTIVATED** +Skills.BerserkPlayer=[[GREEN]]{0}[[DARK_GREEN]] has used [[RED]]Berserk! +Skills.GreenTerraOn=[[GREEN]]**Compétence [[YELLOW]]Main Verte [[GREEN]]activée** +Skills.GreenTerraPlayer=[[GREEN]]{0}[[DARK_GREEN]] a utilisé la compétence spéciale [[RED]]Main verte ! +Skills.TreeFellerOn=[[GREEN]]**Compétence [[YELLOW]]L'abatteur d'Arbres [[GREEN]]activée** +Skills.TreeFellerPlayer=[[GREEN]]{0}[[DARK_GREEN]] a utilisé la compétence spéciale [[RED]]Abatteur d'Arbres ! +Skills.SuperBreakerOn=[[GREEN]]**Compétence [[YELLOW]]Super Breaker [[GREEN]]activée** +Skills.SuperBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] a utilisé la compétence spéciale [[RED]]Super Breaker ! +Skills.SerratedStrikesOn=[[GREEN]]**Compétence [[YELLOW]]Lame Crantée [[GREEN]]activée** +Skills.SerratedStrikesPlayer=[[GREEN]]{0}[[DARK_GREEN]] a utilisé la compétence spéciale [[RED]]Lame crantée ! +Skills.SkullSplitterOn=[[GREEN]]**Compétence [[YELLOW]]Fendeur de crânes [[GREEN]]activée** +Skills.SkullSplitterPlayer=[[GREEN]]{0}[[DARK_GREEN]] a utilisé la compétence spéciale [[RED]]Fendeur de crânes ! +Skills.GigaDrillBreakerOn=[[GREEN]]**Compétence [[YELLOW]]Super Broyeur [[GREEN]]activée** +Skills.GigaDrillBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] a utilisé la compétence spéciale [[RED]]Super broyeur ! +Skills.GreenTerraOff=[[RED]]**Compétence [[YELLOW]]Main Verte [[GREEN]]terminée** +Skills.TreeFellerOff=[[RED]]**Compétence [[YELLOW]]L'abatteur d'Arbres [[GREEN]]terminée** +Skills.SuperBreakerOff=[[RED]]**Compétence [[YELLOW]]Super Breaker [[GREEN]]terminée** +Skills.SerratedStrikesOff=[[RED]]**Compétence [[YELLOW]]Lame Crantée [[GREEN]]terminée** +Skills.BerserkOff=[[RED]]**Berserk est fini** +Skills.SkullSplitterOff=[[RED]]**Casseur de tete est fini** +Skills.GigaDrillBreakerOff=[[RED]]**Super broyeur est fini** +Skills.TamingUp=[[YELLOW]]La competence du dressage a augmenté de {0}. Total ({1}) +Skills.AcrobaticsUp=[[YELLOW]]La competence acrobatie a augmenté de {0}. Total ({1}) +Skills.ArcheryUp=[[YELLOW]]La competence tir a l'arc a augmenté de {0}. Total ({1}) +Skills.SwordsUp=[[YELLOW]]La competence épée a augmenté de {0}. Total ({1}) +Skills.AxesUp=[[YELLOW]]La competence hache a augmenté de {0}. Total ({1}) +Skills.UnarmedUp=[[YELLOW]]La compétence de combat à mains nues a augmenté de {0}. Total ({1}) +Skills.HerbalismUp=[[YELLOW]]La competence herboriste a augmenté de {0}. Total ({1}) +Skills.MiningUp=[[YELLOW]]La competence minage a augmenté de {0}. Total ({1}) +Skills.WoodcuttingUp=[[YELLOW]]La competence bucherônage a augmenté de {0}. Total ({1}) +Skills.RepairUp=[[YELLOW]]La competence réparation a augmenté de {0}. Total ({1}) +Skills.ExcavationUp=[[YELLOW]]La competence excavation a augmenté de {0}. Total ({1}) +Skills.FeltEasy=[[GRAY]]That felt easy. +Skills.StackedItems=[[DARK_RED]]Vous ne pouvez pas réparer les objets empilés +Skills.NeedMore=[[DARK_RED]]Vous devez en avoir plus +Skills.AdeptDiamond=[[DARK_RED]]Vous n'avez pas encore le niveau nécessaire pour réparer du diamant +Skills.FullDurability=[[GRAY]]Cet objet est déjà en bonne état. +Skills.Disarmed=[[DARK_RED]]Vous avez été désarmé ! +mcPlayerListener.SorcerySkill=Sorcery: +m.SkillSorcery=SORCERY +Sorcery.HasCast=[[GREEN]]**CASTING**[[GOLD]] +Sorcery.Current_Mana=[[DARK_AQUA]]MP +Sorcery.SpellSelected=[[GREEN]]-=([[GOLD]]{0}[[GREEN]])=- [[RED]]([[GRAY]]{1}[[RED]]) +Sorcery.Cost=[[RED]][COST] {0} MP +Sorcery.OOM=[[DARK_AQUA]][[[GOLD]]{2}[[DARK_AQUA]]][[DARK_GRAY]] Out Of Mana [[YELLOW]]([[RED]]{0}[[YELLOW]]/[[GRAY]]{1}[[YELLOW]]) +Sorcery.Water.Thunder=THUNDER +Sorcery.Curative.Self=CURE SELF +Sorcery.Curative.Other=CURE OTHER +m.LVL=NIVEAU [[GREEN]]{0} - [[DARK_AQUA]]XP : [[YELLOW]][[[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]]] +Combat.BeastLore=[[GREEN]]**Connaissances des bêtes** +Combat.BeastLoreOwner=[[DARK_AQUA]]Propriétaire ([[RED]]{0}[[DARK_AQUA]]) +Combat.BeastLoreHealthWolfTamed=[[DARK_AQUA]]Vie ([[GREEN]]{0}[[DARK_AQUA]]/20) +Combat.BeastLoreHealthWolf=[[DARK_AQUA]]Vie ([[GREEN]]{0}[[DARK_AQUA]]/8) +mcMMO.Description=[[DARK_AQUA]]Q: QU'EST-CE QUE C'EST ?,[[GOLD]]mcMMO est un plugin RPG [[RED]]OPEN SOURCE[[GOLD]] pour Bukkit créé par [[BLUE]]nossr50,[[GOLD]]mcMMO ajoute beaucoup de compétences dans Minecraft,[[GOLD]]Vous pouvez gagner de l'expérience de différentes façons,[[GOLD]]Vous devriez taper [[GREEN]]/NOM_COMPETENCE[[GOLD]] pour en savoir plus.,[[DARK_AQUA]]Q: QU'EST-CE QUE ÇA FAIT?,[[GOLD]]Par exemple... en [[DARK_AQUA]]Minant[[GOLD]] Vous allez recevoir des bénéfices comme,[[RED]]le Double Butin[[GOLD]] ou la compétence [[RED]]Super Breaker[[GOLD]] qui lorsqu'elle est,[[GOLD]]activée avec clique droit permet de miner vite, sa durée,[[GOLD]]dépend du niveau de votre compétence. Améliorer [[BLUE]]Le Minage,[[GOLD]]Est aussi simple que de mine des ressources précieuses !,[[DARK_AQUA]]Q: QU'EST-CE QUE ÇA VEUT DIRE ?,[[GOLD]]Presque toutes les compétences dans [[GREEN]]mcMMO[[GOLD]] Sont des nouveaux trucs cools!.,[[GOLD]]Tapez [[GREEN]]/{0}[[GOLD]] pour trouver les commandes,[[GOLD]]Le but de mcMMO est de créer une expérience RPG de qualité.,[[DARK_AQUA]]Q: OÙ JE PEUX SUGGÉRER DES IDÉES !?,[[DARK_AQUA]]bit.ly/MCmmoIDEA,[[DARK_AQUA]]Q: COMMENT JE FAIS CI ET ÇA?,[[RED]]MERCI [[GOLD]]d'aller voir le wiki ! [[DARK_AQUA]]mcmmo.wikia.com +Party.Locked=[[RED]]Party is locked, only party leader may invite. +Party.IsntLocked=[[GRAY]]Party is not locked +Party.Unlocked=[[GRAY]]Party is unlocked +Party.Help1=[[RED]]Proper usage is [[YELLOW]]/{0} [[WHITE]][[YELLOW]] or [[WHITE]]'q' [[YELLOW]]to quit +Party.Help2=[[RED]]To join a passworded party use [[YELLOW]]/{0} [[WHITE]] +Party.Help3=[[RED]]Consult /{0} ? for more information +Party.Help4=[[RED]]Use [[YELLOW]]/{0} [[WHITE]] [[YELLOW]]to join a party or [[WHITE]]'q' [[YELLOW]]to quit +Party.Help5=[[RED]]To lock your party use [[YELLOW]]/{0} [[WHITE]]lock +Party.Help6=[[RED]]To unlock your party use [[YELLOW]]/{0} [[WHITE]]unlock +Party.Help7=[[RED]]To password protect your party use [[YELLOW]]/{0} [[WHITE]]password +Party.Help8=[[RED]]To kick a player from your party use [[YELLOW]]/{0} [[WHITE]]kick +Party.Help9=[[RED]]To transfer ownership of your party use [[YELLOW]]/{0} [[WHITE]]owner +Party.NotOwner=[[DARK_RED]]You are not the party owner +Party.InvalidName=[[DARK_RED]]That is not a valid party name +Party.PasswordSet=[[GREEN]]Party password set to {0} +Party.CouldNotKick=[[DARK_RED]]Could not kick player {0} +Party.NotInYourParty=[[DARK_RED]]{0} is not in your party +Party.CouldNotSetOwner=[[DARK_RED]]Could not set owner to {0} +Commands.xprate.proper=[[DARK_AQUA]]Proper usage is /{0} [integer] [true:false] +Commands.xprate.proper2=[[DARK_AQUA]]Also you can type /{0} reset to turn everything back to normal +Commands.xprate.proper3=[[RED]]Enter true or false for the second value +Commands.xprate.over=[[RED]]mcMMO XP Rate Event is OVER!! +Commands.xprate.started=[[GOLD]]XP EVENT FOR mcMMO HAS STARTED! +Commands.xprate.started2=[[GOLD]]mcMMO XP RATE IS NOW {0}x!! +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.invalid=[[RED]]That is not a valid skillname! Try /xplock mining \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/locale/locale_nl.properties b/src/com/gmail/nossr50/locale/locale_nl.properties similarity index 98% rename from mcMMO/com/gmail/nossr50/locale/locale_nl.properties rename to src/com/gmail/nossr50/locale/locale_nl.properties index 599301489..6e6d95bf0 100644 --- a/mcMMO/com/gmail/nossr50/locale/locale_nl.properties +++ b/src/com/gmail/nossr50/locale/locale_nl.properties @@ -1,357 +1,357 @@ -# Dutch translation by Pluis65 v1.1 -# To use: Set locale to nl -# DO NOT EDIT THIS FILE WITH NORMAL NOTEPAD, use Notepad++ -# Verander deze file alleen met Notepad++ -# Geef fouten door aan pluis65@hotmail.com -# Last official edit: 8-7-2011 -Combat.WolfExamine=[[GREEN]]**Je bekijkt de wolf met Wolfinspectie** -Combat.WolfShowMaster=[[DARK_GREEN]]Eigenaar van de wolf \: {0} -Combat.Ignition=[[RED]]**IGNITION** -Combat.BurningArrowHit=[[DARK_RED]]Je bent geraakt door een brandende pijl\! -Combat.TouchedFuzzy=[[DARK_RED]]Je raakte Fuzzy aan. Je voelt je duizelig. -Combat.TargetDazed=Doelwit was [[DARK_RED]]versuft -Combat.WolfNoMaster=[[GRAY]]Deze wolf heeft geen eigenaar... -Combat.WolfHealth=[[GREEN]]Deze wolf heeft {0} levens -Combat.StruckByGore=[[RED]]**VAST DOOR GESTOLD BLOED** -Combat.Gore=[[GREEN]]**GESTOLD BLOED** -Combat.ArrowDeflect=[[WHITE]]**PIJL AFWIJKING** -Item.ChimaeraWingFail=**CHIMAERA WING MISLUKT\!** -Item.ChimaeraWingPass=**CHIMAERA WING** -Item.InjuredWait=Je bent gewond en moet wachten. [[YELLOW]]({0}s) -Item.NeedFeathers=[[GRAY]]Je hebt meer veren nodig.. -m.mccPartyCommands=[[GREEN]]--PARTY COMMANDOS-- -m.mccParty=[party name] [[RED]]- Maak/Join getypte party -m.mccPartyQ=[[RED]]- Verlaat je huidige party -m.mccPartyToggle=[[RED]] - Doe party chat aan/uit -m.mccPartyInvite=[player name] [[RED]]- Stuur een uitnodiging voor je party -m.mccPartyAccept=[[RED]]- Accepteer party uitnodiging -m.mccPartyTeleport=[party member name] [[RED]]- Teleporteer naar je party medelid -m.mccOtherCommands=[[GREEN]]--ANDERE COMMANDOS-- -m.mccStats=- Laat je levels zien -m.mccLeaderboards=- Topscores -m.mccMySpawn=- Teleporteer naar MySpawn -m.mccClearMySpawn=- Verwijder je MySpawn -m.mccToggleAbility=- Doe ability activatie aan/uit -m.mccAdminToggle=- Doe admin chat aan/uit -m.mccWhois=[playername] [[RED]]- Laat informatie zien over speler -m.mccMmoedit=[playername] [skill] [newvalue] [[RED]]- Verander levels -m.mccMcGod=- God Modus -m.mccSkillInfo=[skillname] [[RED]]- Laat informatie zien over een skill -m.mccModDescription=[[RED]]- Lees MOD beschrijving -m.SkillHeader=[[RED]]-----[][[GREEN]]{0}[[RED]][]----- -m.XPGain=[[DARK_GRAY]]XP: [[WHITE]]{0} -m.EffectsTemplate=[[DARK_AQUA]]{0}: [[GREEN]]{1} -m.AbilityLockTemplate=[[GRAY]]{0} -m.AbilityBonusTemplate=[[RED]]{0}: [[YELLOW]]{1} -m.Effects=EFFECTEN -m.YourStats=JOUW STATUS -m.SkillTaming=TEMMEN -m.XPGainTaming=Wolven krijgen schade -m.EffectsTaming1_0=Wolfinspectie -m.EffectsTaming1_1=Bone-meal inspecteert wolven -m.EffectsTaming2_0=Gestold bloed -m.EffectsTaming2_1=Critical Strike zorgt voor bloedingen -m.EffectsTaming3_0=Scherpere klauwen -m.EffectsTaming3_1=Geeft meer schade -m.EffectsTaming4_0=Mileukennis -m.EffectsTaming4_1=Geen cactus/lava schade, geen falldamage -m.EffectsTaming5_0=Dikke huis -m.EffectsTaming5_1=Minder schade, kan tegen vuur -m.EffectsTaming6_0=Explosieschild -m.EffectsTaming6_1=Minder explosie schade -m.AbilLockTaming1=GEBLOKEERD TOT 100+ SKILL (MILIEUKENNIS) -m.AbilLockTaming2=GEBLOKEERD TOT 250+ SKILL (DIKKE HUIS) -m.AbilLockTaming3=GEBLOKEERD TOT 500+ SKILL (EXPLOSIESCHILD) -m.AbilLockTaming4=GEBLOKEERD TOT 750+ SKILL (SCHERPERE KLAUWEN) -m.AbilBonusTaming1_0=Milieukennis -m.AbilBonusTaming1_1=Wolven ontwijken gevaar (cactus, lava) -m.AbilBonusTaming2_0=Dikkere huid -m.AbilBonusTaming2_1=Halve schade, kan tegen vuur -m.AbilBonusTaming3_0=Explosieschild -m.AbilBonusTaming3_1=Explosies geven 1/6 van de normale schade -m.AbilBonusTaming4_0=Scherpere klauwen -m.AbilBonusTaming4_1=+2 Schade -m.TamingGoreChance=[[RED]]Kans op gestold bloed: [[YELLOW]]{0}% -m.SkillWoodCutting=HOUTHAKKEN -m.XPGainWoodCutting=Bomen omhakken -m.EffectsWoodCutting1_0=Tree Feller (ABILITY) -m.EffectsWoodCutting1_1=Laat bomen deels exploderen -m.EffectsWoodCutting2_0=Leaf Blower -m.EffectsWoodCutting2_1=Laat leaves verdwijnen -m.EffectsWoodCutting3_0=Dubbele Drop -m.EffectsWoodCutting3_1=Geeft een dubbele drop -m.AbilLockWoodCutting1=GEBLOKEERD TOT 100+ SKILL (LEAF BLOWER) -m.AbilBonusWoodCutting1_0=Leaf Blower -m.AbilBonusWoodCutting1_1=Laat leaves verdwijnen -m.WoodCuttingDoubleDropChance=[[RED]]Dubbele Drop kans: [[YELLOW]]{0}% -m.WoodCuttingTreeFellerLength=[[RED]]Tree Feller lengte: [[YELLOW]]{0}s -m.SkillArchery=BOOGSCHIETEN -m.XPGainArchery=Schiet op vijanden -m.EffectsArchery1_0=Brandende pijl -m.EffectsArchery1_1=25% kans dat een vijand verbrand -m.EffectsArchery2_0=Verdoof (Players) -m.EffectsArchery2_1=Gedesorienteerde vijanden -m.EffectsArchery3_0=Schade+ -m.EffectsArchery3_1=Verhoogt schade -m.EffectsArchery4_0=Pijlen terugkrijgen -m.EffectsArchery4_1=Kans dat dode vijanden pijlen droppen -m.ArcheryDazeChance=[[RED]]Kans op verdoving: [[YELLOW]]{0}% -m.ArcheryRetrieveChance=[[RED]]Kans om pijlen terug te krijgen: [[YELLOW]]{0}% -m.ArcheryIgnitionLength=[[RED]]Lengte van Brandende pijl: [[YELLOW]]{0} seconds -m.ArcheryDamagePlus=[[RED]]Schade+ (Rank{0}): [[YELLOW]]Bonus {0} schade -m.SkillAxes=BIJLEN -m.XPGainAxes=Val monsters aan met een bijl -m.EffectsAxes1_0=Schedelsplijter (ABILITY) -m.EffectsAxes1_1=Geef schade rond om je heen -m.EffectsAxes2_0=Critical Strikes -m.EffectsAxes2_1=Dubbele schade -m.EffectsAxes3_0=Bijl Master (500 SKILL) -m.EffectsAxes3_1=Verhoogt schade -m.AbilLockAxes1=GEBLOKEERD TOT 500+ SKILL (BIJL MASTER) -m.AbilBonusAxes1_0=Bijl Master -m.AbilBonusAxes1_1=4 schade extra -m.AxesCritChance=[[RED]]Kans op Critical Strikes: [[YELLOW]]{0}% -m.AxesSkullLength=[[RED]]Schedelsplijter lengte: [[YELLOW]]{0}s -m.SkillSwords=ZWAARDEN -m.XPGainSwords=Val monsters aan met een zwaard -m.EffectsSwords1_0=Terugkaats Aanval -m.EffectsSwords1_1=Kaats 50% van de schade terug -m.EffectsSwords2_0=Serrated Strikes (ABILITY) -m.EffectsSwords2_1=25% meer schade, kans op Bloeding+ om je heen -m.EffectsSwords3_0=Serrated Strikes Bloeding+ -m.EffectsSwords3_1=Kans op extra bloeding bij vijanden -m.EffectsSwords4_0=Pareren -m.EffectsSwords4_1=Blokkeer vijandelijke aanval -m.EffectsSwords5_0=5 Tikken van Bloeding -m.EffectsSwords5_1=Laat anderen bloeden -m.SwordsCounterAttChance=[[RED]]Kans op Terugkeer Aanval: [[YELLOW]]{0}% -m.SwordsBleedLength=[[RED]]Bloeding lengte: [[YELLOW]]{0} ticks -m.SwordsBleedChance=[[RED]]Kans op Bloeding: [[YELLOW]]{0} % -m.SwordsParryChance=[[RED]]Kans op Pareren: [[YELLOW]]{0} % -m.SwordsSSLength=[[RED]]Serrated Strikes lengte: [[YELLOW]]{0}s -m.SwordsTickNote=[[GRAY]]NOTE: [[YELLOW]]1 tik per 2 seconden -m.SkillAcrobatics=ACROBATIEK -m.XPGainAcrobatics=Vallen -m.EffectsAcrobatics1_0=Rollen -m.EffectsAcrobatics1_1=Verminderd of voorkomt schade -m.EffectsAcrobatics2_0=Perfecte Rol -m.EffectsAcrobatics2_1=Twee keer zo effectief als Rollen -m.EffectsAcrobatics3_0=Ontwijken -m.EffectsAcrobatics3_1=50% minder schade -m.AcrobaticsRollChance=[[RED]]Kans om te rollen: [[YELLOW]]{0}% -m.AcrobaticsGracefulRollChance=[[RED]]Kans op Perfecte Rol: [[YELLOW]]{0}% -m.AcrobaticsDodgeChance=[[RED]]Kans om te ontwijken: [[YELLOW]]{0}% -m.SkillMining=MIJNBOUW -m.XPGainMining=Hak steen & erts met een pickaxe -m.EffectsMining1_0=Super Breeker (ABILITY) -m.EffectsMining1_1=Hogere snelheid, Kans op 3x drop -m.EffectsMining2_0=Dubbele Drops -m.EffectsMining2_1=Dubbele van normale drop -m.MiningDoubleDropChance=[[RED]]Kans op Dubbele Drop: [[YELLOW]]{0}% -m.MiningSuperBreakerLength=[[RED]]Super Breeker lengte: [[YELLOW]]{0}s -m.SkillRepair=REPAREREN -m.XPGainRepair=Repareer tools en armor -m.EffectsRepair1_0=Repareer -m.EffectsRepair1_1=Repareer Iron Tools & Armor -m.EffectsRepair2_0=Repareer Master -m.EffectsRepair2_1=Vergroot de reparatiehoeveelheid -m.EffectsRepair3_0=Super Repareren -m.EffectsRepair3_1=Dubbel effectief -m.EffectsRepair4_0=Diamond Repareren ({0}+ SKILL) -m.EffectsRepair4_1=Repareer Diamond Tools & Armor -m.RepairRepairMastery=[[RED]]Repareer Master: [[YELLOW]]Extra {0}% durability restored -m.RepairSuperRepairChance=[[RED]]Kans op Super Repareren: [[YELLOW]]{0}% -m.SkillUnarmed=ONBEWAPEND -m.XPGainUnarmed=Val monsters aan met hand -m.EffectsUnarmed1_0=Onbewapende gek (ABILITY) -m.EffectsUnarmed1_1=+50% schade, hak zachte materialen weg -m.EffectsUnarmed2_0=Ontwapen (Players) -m.EffectsUnarmed2_1=Dropt het wapen van de vijand -m.EffectsUnarmed3_0=Onbewapende held -m.EffectsUnarmed3_1=Nog meer schade -m.EffectsUnarmed4_0=Onbewapende leerling -m.EffectsUnarmed4_1=Meer schade -m.EffectsUnarmed5_0=Pijlafwijking -m.EffectsUnarmed5_1=Laat pijlen afwijken -m.AbilLockUnarmed1=GEBLOKEERD TOT 250+ SKILL (Onbewapende leerling) -m.AbilLockUnarmed2=GEBLOKEERD TOT 500+ SKILL (Onbewapende held) -m.AbilBonusUnarmed1_0=Onbewapende leerling -m.AbilBonusUnarmed1_1=+2 meer schade -m.AbilBonusUnarmed2_0=Onbewapende held -m.AbilBonusUnarmed2_1=+4 meer schade -m.UnarmedArrowDeflectChance=[[RED]]Kans op Pijlafwijking: [[YELLOW]]{0}% -m.UnarmedDisarmChance=[[RED]]Kans op Ontwapening: [[YELLOW]]{0}% -m.UnarmedBerserkLength=[[RED]]Lengte van Onbewapende gek: [[YELLOW]]{0}s -m.SkillHerbalism=LANDBOUW -m.XPGainHerbalism=Verzamel kruiden en planten -m.EffectsHerbalism1_0=Groene Aarde (ABILITY) -m.EffectsHerbalism1_1=3x meer XP en kans op 3x drop -m.EffectsHerbalism2_0=Groene vingers (Wheat) -m.EffectsHerbalism2_1=Plant wheat bij het oogsten -m.EffectsHerbalism3_0=Groene vingers (Cobble) -m.EffectsHerbalism3_1=Maakt van cobblestone moss-stone met seeds -m.EffectsHerbalism4_0=Voedsel+ -m.EffectsHerbalism4_1=Verhoogt de heling van brood en stews -m.EffectsHerbalism5_0=Dubbele Drop (Alle planten) -m.EffectsHerbalism5_1=Dubbele drop van planten -m.HerbalismGreenTerraLength=[[RED]]Groene Aarde lengte: [[YELLOW]]{0}s -m.HerbalismGreenThumbChance=[[RED]]Kans op Groene vingers: [[YELLOW]]{0}% -m.HerbalismGreenThumbStage=[[RED]]Groene vingers periode: [[YELLOW]] Wheat groeit in periode {0} -m.HerbalismDoubleDropChance=[[RED]]Kans op Dubbele Drop: [[YELLOW]]{0}% -m.HerbalismFoodPlus=[[RED]]Voedsel+ (Rank{0}): [[YELLOW]]Bonus {0} heling -m.SkillExcavation=UITGRAVING -m.XPGainExcavation=Graven -m.EffectsExcavation1_0=Giga Drilboor (ABILITY) -m.EffectsExcavation1_1=3x drop, 3x XP, hogere snelheid -m.EffectsExcavation2_0=Schatzoeker -m.EffectsExcavation2_1=Mogelijkheid om schatten te zoeken -m.ExcavationGreenTerraLength=[[RED]]Giga Drilboor lengte: [[YELLOW]]{0}s -mcBlockListener.PlacedAnvil=[[DARK_RED]]Je hebt een aambeeld geplaatst. Hierop kun je tools en armor repareren. -mcEntityListener.WolfComesBack=[[DARK_GRAY]]Je wolf dribbelt terug naar je... -mcPlayerListener.AbilitiesOff=Ability activatie is uit -mcPlayerListener.AbilitiesOn=Ability activatie is aan -mcPlayerListener.AbilitiesRefreshed=[[GREEN]]**ABILITIES HERLADEN\!** -mcPlayerListener.AcrobaticsSkill=Acrobatiek: -mcPlayerListener.ArcherySkill=Boogschieten: -mcPlayerListener.AxesSkill=Bijlen: -mcPlayerListener.ExcavationSkill=Uitgraving: -mcPlayerListener.GodModeDisabled=[[YELLOW]]Godmodus uitgeschakeld -mcPlayerListener.GodModeEnabled=[[YELLOW]]Godmodus ingeschakeld -mcPlayerListener.GreenThumb=[[GREEN]]**GROENE VINGERS** -mcPlayerListener.GreenThumbFail=[[RED]]**GROENE VINNGERS MISLUKT** -mcPlayerListener.HerbalismSkill=Landbouw: -mcPlayerListener.MiningSkill=Mijnbouw: -mcPlayerListener.MyspawnCleared=[[DARK_AQUA]]Myspawn is verwijderd. -mcPlayerListener.MyspawnNotExist=[[RED]]Plaats Myspawn eerst door op een bed te drukken. -mcPlayerListener.MyspawnSet=[[DARK_AQUA]]Myspawn is geplaatst op je huidige locatie. -mcPlayerListener.MyspawnTimeNotice=Je moet {0}m {1}s wachten voordat je myspawn kan gebruiken. -mcPlayerListener.NoPermission=Je hebt geen permissie. -mcPlayerListener.NoSkillNote=[[DARK_GRAY]]Als je geen toegang hebt tot een skill wordt hij hier niet weergegeven. -mcPlayerListener.NotInParty=[[RED]]Je zit niet in een party. -mcPlayerListener.InviteSuccess=[[GREEN]]Uitnodiging succesvol verzonden. -mcPlayerListener.ReceivedInvite1=[[RED]]BERICHT: [[GREEN]]Je bent uitgenodigd voor de party {0} door {1} -mcPlayerListener.ReceivedInvite2=[[YELLOW]]Type [[GREEN]]/{0}[[YELLOW]] om de uitnodiging te accepteren. -mcPlayerListener.InviteAccepted=[[GREEN]]Uitnodiging geaccepteerd. Je bent nu lid van {0} -mcPlayerListener.NoInvites=[[RED]]Je hebt geen uitnodigingen -mcPlayerListener.YouAreInParty=[[GREEN]]Je zit in de party {0} -mcPlayerListener.PartyMembers=[[GREEN]]Party Leden -mcPlayerListener.LeftParty=[[RED]]Je hebt de party verlaten -mcPlayerListener.JoinedParty=Lid geworden van: {0} -mcPlayerListener.PartyChatOn=Alleen Party Chat [[GREEN]]aan -mcPlayerListener.PartyChatOff=Alleen Party Chat [[RED]]uit -mcPlayerListener.AdminChatOn=Alleen Admin Chat [[GREEN]]aan -mcPlayerListener.AdminChatOff=Alleen Admin Chat [[RED]]uit -mcPlayerListener.MOTD=[[BLUE]]Deze server werkt op mcMMO {0} type [[YELLOW]]/{1}[[BLUE]] voor hulp. -mcPlayerListener.WIKI=[[GREEN]]http://mcmmo.wikia.com[[BLUE]] - mcMMO Wiki -mcPlayerListener.PowerLevel=[[DARK_RED]]POWER LEVEL: -mcPlayerListener.PowerLevelLeaderboard=[[YELLOW]]--mcMMO[[BLUE]] Power Level [[YELLOW]]Highscore-- -mcPlayerListener.SkillLeaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Highscore-- -mcPlayerListener.RepairSkill=Repareren: -mcPlayerListener.SwordsSkill=Zwaarden: -mcPlayerListener.TamingSkill=Temmen: -mcPlayerListener.UnarmedSkill=Onbewapend: -mcPlayerListener.WoodcuttingSkill=Houthakken: -mcPlayerListener.YourStats=[[GREEN]][mcMMO] Status -Party.InformedOnJoin={0} [[GREEN]] heeft je party gejoined -Party.InformedOnQuit={0} [[GREEN]] heeft je party verlaten -Skills.YourGreenTerra=[[GREEN]]Je [[YELLOW]]Groene Aarde [[GREEN]]ability is opgeladen! -Skills.YourTreeFeller=[[GREEN]]Je [[YELLOW]]Tree Feller [[GREEN]]ability is opgeladen! -Skills.YourSuperBreaker=[[GREEN]]Je [[YELLOW]]Super Breeker [[GREEN]]ability is opgeladen! -Skills.YourSerratedStrikes=[[GREEN]]Je [[YELLOW]]Serrated Strikes [[GREEN]]ability is opgeladen! -Skills.YourBerserk=[[GREEN]]Je [[YELLOW]]Onbewapende gek [[GREEN]]ability is opgeladen! -Skills.YourSkullSplitter=[[GREEN]]Je [[YELLOW]]Schedelsplijter [[GREEN]]ability is opgeladen! -Skills.YourGigaDrillBreaker=[[GREEN]]Je [[YELLOW]]Giga Drilboor [[GREEN]]ability is opgeladen! -Skills.TooTired=[[RED]]Je bent te moe om die ability te gebruiken. -Skills.ReadyHoe=[[GREEN]]**JE TILT JE SCHOFFEL OP** -Skills.LowerHoe=[[GRAY]]**JE LAAT JE SCHOFFEL ZAKKEN** -Skills.ReadyAxe=[[GREEN]]**JE TILT JE BIJL OP** -Skills.LowerAxe=[[GRAY]]**JE LAAT JE BIJL ZAKKEN** -Skills.ReadyFists=[[GREEN]]**JE BALT JE VUISTEN** -Skills.LowerFists=[[GRAY]]**JE LAAT JE VUISTEN ZAKKEN** -Skills.ReadyPickAxe=[[GREEN]]**JE TILT JE PICKAXE OP** -Skills.LowerPickAxe=[[GRAY]]**JE LAAT JE PICKAXE ZAKKEN** -Skills.ReadyShovel=[[GREEN]]**JE TILT JE SCHEP OP** -Skills.LowerShovel=[[GRAY]]**JE LAAT JE SCHEP ZAKKEN** -Skills.ReadySword=[[GREEN]]**JE TILT JE ZWAARD OP** -Skills.LowerSword=[[GRAY]]**JE LAAT JE ZWAARD ZAKKEN** -Skills.BerserkOn=[[GREEN]]**ONBEWAPENDE GEK GEACTIVEERD** -Skills.BerserkPlayer=[[GREEN]]{0}[[DARK_GREEN]] gebruikt [[RED]]Onbewapende gek! -Skills.GreenTerraOn=[[GREEN]]**GROENE AARDE GEACTIVEERD** -Skills.GreenTerraPlayer=[[GREEN]]{0}[[DARK_GREEN]] gebruikt [[RED]]Groene Aarde! -Skills.TreeFellerOn=[[GREEN]]**TREE FELLER GEACTIVEERD** -Skills.TreeFellerPlayer=[[GREEN]]{0}[[DARK_GREEN]] gebruikt [[RED]]Tree Feller! -Skills.SuperBreakerOn=[[GREEN]]**SUPER BREEKER GEACTIVEERD** -Skills.SuperBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] gebruikt [[RED]]Super Breeker! -Skills.SerratedStrikesOn=[[GREEN]]**SERRATED STRIKES GEACTIVEERD** -Skills.SerratedStrikesPlayer=[[GREEN]]{0}[[DARK_GREEN]] gebruikt [[RED]]Serrated Strikes! -Skills.SkullSplitterOn=[[GREEN]]**SCHEDELSPLIJTER GEACTIVEERD** -Skills.SkullSplitterPlayer=[[GREEN]]{0}[[DARK_GREEN]] gebruikt [[RED]]Schedelsplijter! -Skills.GigaDrillBreakerOn=[[GREEN]]**GIGA DRILBOOR GEACTIVEERD** -Skills.GigaDrillBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] gebruikt [[RED]]Giga Drilboor! -Skills.GreenTerraOff=[[RED]]**Groene Aarde is uitgewerkt** -Skills.TreeFellerOff=[[RED]]**Tree Feller is uitgewerkt** -Skills.SuperBreakerOff=[[RED]]**Super Breeker is uitgewerkt** -Skills.SerratedStrikesOff=[[RED]]**Serrated Strikes is uitgewerkt** -Skills.BerserkOff=[[RED]]**Onbewapende gek is uitgewerkt** -Skills.SkullSplitterOff=[[RED]]**Schedelsplijter is uitgewerkt** -Skills.GigaDrillBreakerOff=[[RED]]**Giga Drilboor is uitgewerkt** -Skills.TamingUp=[[YELLOW]]Temmen skill verhoogt met {0}. Totaal ({1}) -Skills.AcrobaticsUp=[[YELLOW]]Acrobatics skill verhoogt met {0}. Total ({1}) -Skills.ArcheryUp=[[YELLOW]]Boogschieten skill verhoogt met {0}. Totaal ({1}) -Skills.SwordsUp=[[YELLOW]]Zwaarden skill verhoogt met {0}. Totaal ({1}) -Skills.AxesUp=[[YELLOW]]Bijlen skill verhoogt met {0}. Totaal ({1}) -Skills.UnarmedUp=[[YELLOW]]Onbewapend skill verhoogt met {0}. Totaal ({1}) -Skills.HerbalismUp=[[YELLOW]]Landbouw skill verhoogt met {0}. Totaal ({1}) -Skills.MiningUp=[[YELLOW]]Mijnbouw skill verhoogt met {0}. Totaal ({1}) -Skills.WoodcuttingUp=[[YELLOW]]Houthakken skill verhoogt met {0}. Totaal ({1}) -Skills.RepairUp=[[YELLOW]]Repareren skill verhoogt met {0}. Totaal ({1}) -Skills.ExcavationUp=[[YELLOW]]Uitgraven skill verhoogt met {0}. Totaal ({1}) -Skills.FeltEasy=[[GRAY]]Dat was makkelijk. -Skills.StackedItems=[[DARK_RED]]Je kan geen gestackte items repareren -Skills.NeedMore=[[DARK_RED]]Je hebt te weinig -Skills.AdeptDiamond=[[DARK_RED]]Je bent niet goed genoeg om diamond te repareren. -Skills.FullDurability=[[GRAY]]Dat is nog helemaal heel. -Skills.Disarmed=[[DARK_RED]]Je bent ontwapend! -mcPlayerListener.SorcerySkill=Tovenarij: -m.SkillSorcery=TOVERNARIJ -Sorcery.HasCast=[[GREEN]]**UITROEPEN VAN**[[GOLD]] -Sorcery.Current_Mana=[[DARK_AQUA]]MP -Sorcery.SpellSelected=[[GREEN]]-=([[GOLD]]{0}[[GREEN]])=- [[RED]]([[GRAY]]{1}[[RED]]) -Sorcery.Cost=[[RED]][COST] {0} MP -Sorcery.OOM=[[DARK_AQUA]][[[GOLD]]{2}[[DARK_AQUA]]][[DARK_GRAY]] Geen Mana meer [[YELLOW]]([[RED]]{0}[[YELLOW]]/[[GRAY]]{1}[[YELLOW]]) -Sorcery.Water.Thunder=DONDER -Sorcery.Curative.Self=HEEL JEZELF -Sorcery.Curative.Other=HEEL EEN ANDER -m.LVL=[[DARK_GRAY]]LVL: [[GREEN]]{0} [[DARK_AQUA]]XP[[YELLOW]]([[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]]) -Combat.BeastLore=[[GREEN]]**WOLFINSPECTIE** -Combat.BeastLoreOwner=[[DARK_AQUA]]Eigenaar ([[RED]]{0}[[DARK_AQUA]]) -Combat.BeastLoreHealthWolfTamed=[[DARK_AQUA]]Levens ([[GREEN]]{0}[[DARK_AQUA]]/20) -Combat.BeastLoreHealthWolf=[[DARK_AQUA]]Levens ([[GREEN]]{0}[[DARK_AQUA]]/8) -mcMMO.Description=[[DARK_AQUA]]Q: WHAT IS IT?,[[GOLD]]mcMMO is an [[RED]]OPEN SOURCE[[GOLD]] RPG mod for Bukkit by [[BLUE]]nossr50,[[GOLD]]There are many skills added by mcMMO to Minecraft.,[[GOLD]]You can gain experience in many different ways,[[GOLD]]You will want to type [[GREEN]]/SKILLNAME[[GOLD]] to find out more about a skill.,[[DARK_AQUA]]Q: WHAT DOES IT DO?,[[GOLD]]As an example... in [[DARK_AQUA]]Mining[[GOLD]] you will receive benefits like,[[RED]]Double Drops[[GOLD]] or the ability [[RED]]Super Breaker[[GOLD]] which when,[[GOLD]]activated by right-click allows fast Mining during its duration,[[GOLD]]which is related to your skill level. Leveling [[BLUE]]Mining,[[GOLD]]is as simple as mining precious materials!,[[DARK_AQUA]]Q: WHAT DOES THIS MEAN?,[[GOLD]]Almost all of the skills in [[GREEN]]mcMMO[[GOLD]] add cool new things!.,[[GOLD]]You can also type [[GREEN]]/{0}[[GOLD]] to find out commands,[[GOLD]]The goal of mcMMO is to provide a quality RPG experience.,[[DARK_AQUA]]Q: WHERE DO I SUGGEST NEW STUFF!?,[[GOLD]]On the mcMMO thread in the bukkit forums!,[[DARK_AQUA]]Q: HOW DO I DO THIS AND THAT?,[[RED]]PLEASE [[GOLD]]checkout the wiki! [[DARK_AQUA]]mcmmo.wikia.com -Party.Locked=[[RED]]Party is locked, only party leader may invite. -Party.IsntLocked=[[GRAY]]Party is not locked -Party.Unlocked=[[GRAY]]Party is unlocked -Party.Help1=[[RED]]Proper usage is [[YELLOW]]/{0} [[WHITE]][[YELLOW]] or [[WHITE]]'q' [[YELLOW]]to quit -Party.Help2=[[RED]]To join a passworded party use [[YELLOW]]/{0} [[WHITE]] -Party.Help3=[[RED]]Consult /{0} ? for more information -Party.Help4=[[RED]]Use [[YELLOW]]/{0} [[WHITE]] [[YELLOW]]to join a party or [[WHITE]]'q' [[YELLOW]]to quit -Party.Help5=[[RED]]To lock your party use [[YELLOW]]/{0} [[WHITE]]lock -Party.Help6=[[RED]]To unlock your party use [[YELLOW]]/{0} [[WHITE]]unlock -Party.Help7=[[RED]]To password protect your party use [[YELLOW]]/{0} [[WHITE]]password -Party.Help8=[[RED]]To kick a player from your party use [[YELLOW]]/{0} [[WHITE]]kick -Party.Help9=[[RED]]To transfer ownership of your party use [[YELLOW]]/{0} [[WHITE]]owner -Party.NotOwner=[[DARK_RED]]You are not the party owner -Party.InvalidName=[[DARK_RED]]That is not a valid party name -Party.PasswordSet=[[GREEN]]Party password set to {0} -Party.CouldNotKick=[[DARK_RED]]Could not kick player {0} -Party.NotInYourParty=[[DARK_RED]]{0} is not in your party -Party.CouldNotSetOwner=[[DARK_RED]]Could not set owner to {0} -Commands.xprate.proper=[[DARK_AQUA]]Proper usage is /{0} [integer] [true:false] -Commands.xprate.proper2=[[DARK_AQUA]]Also you can type /{0} reset to turn everything back to normal -Commands.xprate.proper3=[[RED]]Enter true or false for the second value -Commands.xprate.over=[[RED]]mcMMO XP Rate Event is OVER!! -Commands.xprate.started=[[GOLD]]XP EVENT FOR mcMMO HAS STARTED! -Commands.xprate.started2=[[GOLD]]mcMMO XP RATE IS NOW {0}x!! -Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! -Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! +# Dutch translation by Pluis65 v1.1 +# To use: Set locale to nl +# DO NOT EDIT THIS FILE WITH NORMAL NOTEPAD, use Notepad++ +# Verander deze file alleen met Notepad++ +# Geef fouten door aan pluis65@hotmail.com +# Last official edit: 8-7-2011 +Combat.WolfExamine=[[GREEN]]**Je bekijkt de wolf met Wolfinspectie** +Combat.WolfShowMaster=[[DARK_GREEN]]Eigenaar van de wolf \: {0} +Combat.Ignition=[[RED]]**IGNITION** +Combat.BurningArrowHit=[[DARK_RED]]Je bent geraakt door een brandende pijl\! +Combat.TouchedFuzzy=[[DARK_RED]]Je raakte Fuzzy aan. Je voelt je duizelig. +Combat.TargetDazed=Doelwit was [[DARK_RED]]versuft +Combat.WolfNoMaster=[[GRAY]]Deze wolf heeft geen eigenaar... +Combat.WolfHealth=[[GREEN]]Deze wolf heeft {0} levens +Combat.StruckByGore=[[RED]]**VAST DOOR GESTOLD BLOED** +Combat.Gore=[[GREEN]]**GESTOLD BLOED** +Combat.ArrowDeflect=[[WHITE]]**PIJL AFWIJKING** +Item.ChimaeraWingFail=**CHIMAERA WING MISLUKT\!** +Item.ChimaeraWingPass=**CHIMAERA WING** +Item.InjuredWait=Je bent gewond en moet wachten. [[YELLOW]]({0}s) +Item.NeedFeathers=[[GRAY]]Je hebt meer veren nodig.. +m.mccPartyCommands=[[GREEN]]--PARTY COMMANDOS-- +m.mccParty=[party name] [[RED]]- Maak/Join getypte party +m.mccPartyQ=[[RED]]- Verlaat je huidige party +m.mccPartyToggle=[[RED]] - Doe party chat aan/uit +m.mccPartyInvite=[player name] [[RED]]- Stuur een uitnodiging voor je party +m.mccPartyAccept=[[RED]]- Accepteer party uitnodiging +m.mccPartyTeleport=[party member name] [[RED]]- Teleporteer naar je party medelid +m.mccOtherCommands=[[GREEN]]--ANDERE COMMANDOS-- +m.mccStats=- Laat je levels zien +m.mccLeaderboards=- Topscores +m.mccMySpawn=- Teleporteer naar MySpawn +m.mccClearMySpawn=- Verwijder je MySpawn +m.mccToggleAbility=- Doe ability activatie aan/uit +m.mccAdminToggle=- Doe admin chat aan/uit +m.mccWhois=[playername] [[RED]]- Laat informatie zien over speler +m.mccMmoedit=[playername] [skill] [newvalue] [[RED]]- Verander levels +m.mccMcGod=- God Modus +m.mccSkillInfo=[skillname] [[RED]]- Laat informatie zien over een skill +m.mccModDescription=[[RED]]- Lees MOD beschrijving +m.SkillHeader=[[RED]]-----[][[GREEN]]{0}[[RED]][]----- +m.XPGain=[[DARK_GRAY]]XP: [[WHITE]]{0} +m.EffectsTemplate=[[DARK_AQUA]]{0}: [[GREEN]]{1} +m.AbilityLockTemplate=[[GRAY]]{0} +m.AbilityBonusTemplate=[[RED]]{0}: [[YELLOW]]{1} +m.Effects=EFFECTEN +m.YourStats=JOUW STATUS +m.SkillTaming=TEMMEN +m.XPGainTaming=Wolven krijgen schade +m.EffectsTaming1_0=Wolfinspectie +m.EffectsTaming1_1=Bone-meal inspecteert wolven +m.EffectsTaming2_0=Gestold bloed +m.EffectsTaming2_1=Critical Strike zorgt voor bloedingen +m.EffectsTaming3_0=Scherpere klauwen +m.EffectsTaming3_1=Geeft meer schade +m.EffectsTaming4_0=Mileukennis +m.EffectsTaming4_1=Geen cactus/lava schade, geen falldamage +m.EffectsTaming5_0=Dikke huis +m.EffectsTaming5_1=Minder schade, kan tegen vuur +m.EffectsTaming6_0=Explosieschild +m.EffectsTaming6_1=Minder explosie schade +m.AbilLockTaming1=GEBLOKEERD TOT 100+ SKILL (MILIEUKENNIS) +m.AbilLockTaming2=GEBLOKEERD TOT 250+ SKILL (DIKKE HUIS) +m.AbilLockTaming3=GEBLOKEERD TOT 500+ SKILL (EXPLOSIESCHILD) +m.AbilLockTaming4=GEBLOKEERD TOT 750+ SKILL (SCHERPERE KLAUWEN) +m.AbilBonusTaming1_0=Milieukennis +m.AbilBonusTaming1_1=Wolven ontwijken gevaar (cactus, lava) +m.AbilBonusTaming2_0=Dikkere huid +m.AbilBonusTaming2_1=Halve schade, kan tegen vuur +m.AbilBonusTaming3_0=Explosieschild +m.AbilBonusTaming3_1=Explosies geven 1/6 van de normale schade +m.AbilBonusTaming4_0=Scherpere klauwen +m.AbilBonusTaming4_1=+2 Schade +m.TamingGoreChance=[[RED]]Kans op gestold bloed: [[YELLOW]]{0}% +m.SkillWoodCutting=HOUTHAKKEN +m.XPGainWoodCutting=Bomen omhakken +m.EffectsWoodCutting1_0=Tree Feller (ABILITY) +m.EffectsWoodCutting1_1=Laat bomen deels exploderen +m.EffectsWoodCutting2_0=Leaf Blower +m.EffectsWoodCutting2_1=Laat leaves verdwijnen +m.EffectsWoodCutting3_0=Dubbele Drop +m.EffectsWoodCutting3_1=Geeft een dubbele drop +m.AbilLockWoodCutting1=GEBLOKEERD TOT 100+ SKILL (LEAF BLOWER) +m.AbilBonusWoodCutting1_0=Leaf Blower +m.AbilBonusWoodCutting1_1=Laat leaves verdwijnen +m.WoodCuttingDoubleDropChance=[[RED]]Dubbele Drop kans: [[YELLOW]]{0}% +m.WoodCuttingTreeFellerLength=[[RED]]Tree Feller lengte: [[YELLOW]]{0}s +m.SkillArchery=BOOGSCHIETEN +m.XPGainArchery=Schiet op vijanden +m.EffectsArchery1_0=Brandende pijl +m.EffectsArchery1_1=25% kans dat een vijand verbrand +m.EffectsArchery2_0=Verdoof (Players) +m.EffectsArchery2_1=Gedesorienteerde vijanden +m.EffectsArchery3_0=Schade+ +m.EffectsArchery3_1=Verhoogt schade +m.EffectsArchery4_0=Pijlen terugkrijgen +m.EffectsArchery4_1=Kans dat dode vijanden pijlen droppen +m.ArcheryDazeChance=[[RED]]Kans op verdoving: [[YELLOW]]{0}% +m.ArcheryRetrieveChance=[[RED]]Kans om pijlen terug te krijgen: [[YELLOW]]{0}% +m.ArcheryIgnitionLength=[[RED]]Lengte van Brandende pijl: [[YELLOW]]{0} seconds +m.ArcheryDamagePlus=[[RED]]Schade+ (Rank{0}): [[YELLOW]]Bonus {0} schade +m.SkillAxes=BIJLEN +m.XPGainAxes=Val monsters aan met een bijl +m.EffectsAxes1_0=Schedelsplijter (ABILITY) +m.EffectsAxes1_1=Geef schade rond om je heen +m.EffectsAxes2_0=Critical Strikes +m.EffectsAxes2_1=Dubbele schade +m.EffectsAxes3_0=Bijl Master (500 SKILL) +m.EffectsAxes3_1=Verhoogt schade +m.AbilLockAxes1=GEBLOKEERD TOT 500+ SKILL (BIJL MASTER) +m.AbilBonusAxes1_0=Bijl Master +m.AbilBonusAxes1_1=4 schade extra +m.AxesCritChance=[[RED]]Kans op Critical Strikes: [[YELLOW]]{0}% +m.AxesSkullLength=[[RED]]Schedelsplijter lengte: [[YELLOW]]{0}s +m.SkillSwords=ZWAARDEN +m.XPGainSwords=Val monsters aan met een zwaard +m.EffectsSwords1_0=Terugkaats Aanval +m.EffectsSwords1_1=Kaats 50% van de schade terug +m.EffectsSwords2_0=Serrated Strikes (ABILITY) +m.EffectsSwords2_1=25% meer schade, kans op Bloeding+ om je heen +m.EffectsSwords3_0=Serrated Strikes Bloeding+ +m.EffectsSwords3_1=Kans op extra bloeding bij vijanden +m.EffectsSwords4_0=Pareren +m.EffectsSwords4_1=Blokkeer vijandelijke aanval +m.EffectsSwords5_0=5 Tikken van Bloeding +m.EffectsSwords5_1=Laat anderen bloeden +m.SwordsCounterAttChance=[[RED]]Kans op Terugkeer Aanval: [[YELLOW]]{0}% +m.SwordsBleedLength=[[RED]]Bloeding lengte: [[YELLOW]]{0} ticks +m.SwordsBleedChance=[[RED]]Kans op Bloeding: [[YELLOW]]{0} % +m.SwordsParryChance=[[RED]]Kans op Pareren: [[YELLOW]]{0} % +m.SwordsSSLength=[[RED]]Serrated Strikes lengte: [[YELLOW]]{0}s +m.SwordsTickNote=[[GRAY]]NOTE: [[YELLOW]]1 tik per 2 seconden +m.SkillAcrobatics=ACROBATIEK +m.XPGainAcrobatics=Vallen +m.EffectsAcrobatics1_0=Rollen +m.EffectsAcrobatics1_1=Verminderd of voorkomt schade +m.EffectsAcrobatics2_0=Perfecte Rol +m.EffectsAcrobatics2_1=Twee keer zo effectief als Rollen +m.EffectsAcrobatics3_0=Ontwijken +m.EffectsAcrobatics3_1=50% minder schade +m.AcrobaticsRollChance=[[RED]]Kans om te rollen: [[YELLOW]]{0}% +m.AcrobaticsGracefulRollChance=[[RED]]Kans op Perfecte Rol: [[YELLOW]]{0}% +m.AcrobaticsDodgeChance=[[RED]]Kans om te ontwijken: [[YELLOW]]{0}% +m.SkillMining=MIJNBOUW +m.XPGainMining=Hak steen & erts met een pickaxe +m.EffectsMining1_0=Super Breeker (ABILITY) +m.EffectsMining1_1=Hogere snelheid, Kans op 3x drop +m.EffectsMining2_0=Dubbele Drops +m.EffectsMining2_1=Dubbele van normale drop +m.MiningDoubleDropChance=[[RED]]Kans op Dubbele Drop: [[YELLOW]]{0}% +m.MiningSuperBreakerLength=[[RED]]Super Breeker lengte: [[YELLOW]]{0}s +m.SkillRepair=REPAREREN +m.XPGainRepair=Repareer tools en armor +m.EffectsRepair1_0=Repareer +m.EffectsRepair1_1=Repareer Iron Tools & Armor +m.EffectsRepair2_0=Repareer Master +m.EffectsRepair2_1=Vergroot de reparatiehoeveelheid +m.EffectsRepair3_0=Super Repareren +m.EffectsRepair3_1=Dubbel effectief +m.EffectsRepair4_0=Diamond Repareren ({0}+ SKILL) +m.EffectsRepair4_1=Repareer Diamond Tools & Armor +m.RepairRepairMastery=[[RED]]Repareer Master: [[YELLOW]]Extra {0}% durability restored +m.RepairSuperRepairChance=[[RED]]Kans op Super Repareren: [[YELLOW]]{0}% +m.SkillUnarmed=ONBEWAPEND +m.XPGainUnarmed=Val monsters aan met hand +m.EffectsUnarmed1_0=Onbewapende gek (ABILITY) +m.EffectsUnarmed1_1=+50% schade, hak zachte materialen weg +m.EffectsUnarmed2_0=Ontwapen (Players) +m.EffectsUnarmed2_1=Dropt het wapen van de vijand +m.EffectsUnarmed3_0=Onbewapende held +m.EffectsUnarmed3_1=Nog meer schade +m.EffectsUnarmed4_0=Onbewapende leerling +m.EffectsUnarmed4_1=Meer schade +m.EffectsUnarmed5_0=Pijlafwijking +m.EffectsUnarmed5_1=Laat pijlen afwijken +m.AbilLockUnarmed1=GEBLOKEERD TOT 250+ SKILL (Onbewapende leerling) +m.AbilLockUnarmed2=GEBLOKEERD TOT 500+ SKILL (Onbewapende held) +m.AbilBonusUnarmed1_0=Onbewapende leerling +m.AbilBonusUnarmed1_1=+2 meer schade +m.AbilBonusUnarmed2_0=Onbewapende held +m.AbilBonusUnarmed2_1=+4 meer schade +m.UnarmedArrowDeflectChance=[[RED]]Kans op Pijlafwijking: [[YELLOW]]{0}% +m.UnarmedDisarmChance=[[RED]]Kans op Ontwapening: [[YELLOW]]{0}% +m.UnarmedBerserkLength=[[RED]]Lengte van Onbewapende gek: [[YELLOW]]{0}s +m.SkillHerbalism=LANDBOUW +m.XPGainHerbalism=Verzamel kruiden en planten +m.EffectsHerbalism1_0=Groene Aarde (ABILITY) +m.EffectsHerbalism1_1=3x meer XP en kans op 3x drop +m.EffectsHerbalism2_0=Groene vingers (Wheat) +m.EffectsHerbalism2_1=Plant wheat bij het oogsten +m.EffectsHerbalism3_0=Groene vingers (Cobble) +m.EffectsHerbalism3_1=Maakt van cobblestone moss-stone met seeds +m.EffectsHerbalism4_0=Voedsel+ +m.EffectsHerbalism4_1=Verhoogt de heling van brood en stews +m.EffectsHerbalism5_0=Dubbele Drop (Alle planten) +m.EffectsHerbalism5_1=Dubbele drop van planten +m.HerbalismGreenTerraLength=[[RED]]Groene Aarde lengte: [[YELLOW]]{0}s +m.HerbalismGreenThumbChance=[[RED]]Kans op Groene vingers: [[YELLOW]]{0}% +m.HerbalismGreenThumbStage=[[RED]]Groene vingers periode: [[YELLOW]] Wheat groeit in periode {0} +m.HerbalismDoubleDropChance=[[RED]]Kans op Dubbele Drop: [[YELLOW]]{0}% +m.HerbalismFoodPlus=[[RED]]Voedsel+ (Rank{0}): [[YELLOW]]Bonus {0} heling +m.SkillExcavation=UITGRAVING +m.XPGainExcavation=Graven +m.EffectsExcavation1_0=Giga Drilboor (ABILITY) +m.EffectsExcavation1_1=3x drop, 3x XP, hogere snelheid +m.EffectsExcavation2_0=Schatzoeker +m.EffectsExcavation2_1=Mogelijkheid om schatten te zoeken +m.ExcavationGreenTerraLength=[[RED]]Giga Drilboor lengte: [[YELLOW]]{0}s +mcBlockListener.PlacedAnvil=[[DARK_RED]]Je hebt een aambeeld geplaatst. Hierop kun je tools en armor repareren. +mcEntityListener.WolfComesBack=[[DARK_GRAY]]Je wolf dribbelt terug naar je... +mcPlayerListener.AbilitiesOff=Ability activatie is uit +mcPlayerListener.AbilitiesOn=Ability activatie is aan +mcPlayerListener.AbilitiesRefreshed=[[GREEN]]**ABILITIES HERLADEN\!** +mcPlayerListener.AcrobaticsSkill=Acrobatiek: +mcPlayerListener.ArcherySkill=Boogschieten: +mcPlayerListener.AxesSkill=Bijlen: +mcPlayerListener.ExcavationSkill=Uitgraving: +mcPlayerListener.GodModeDisabled=[[YELLOW]]Godmodus uitgeschakeld +mcPlayerListener.GodModeEnabled=[[YELLOW]]Godmodus ingeschakeld +mcPlayerListener.GreenThumb=[[GREEN]]**GROENE VINGERS** +mcPlayerListener.GreenThumbFail=[[RED]]**GROENE VINNGERS MISLUKT** +mcPlayerListener.HerbalismSkill=Landbouw: +mcPlayerListener.MiningSkill=Mijnbouw: +mcPlayerListener.MyspawnCleared=[[DARK_AQUA]]Myspawn is verwijderd. +mcPlayerListener.MyspawnNotExist=[[RED]]Plaats Myspawn eerst door op een bed te drukken. +mcPlayerListener.MyspawnSet=[[DARK_AQUA]]Myspawn is geplaatst op je huidige locatie. +mcPlayerListener.MyspawnTimeNotice=Je moet {0}m {1}s wachten voordat je myspawn kan gebruiken. +mcPlayerListener.NoPermission=Je hebt geen permissie. +mcPlayerListener.NoSkillNote=[[DARK_GRAY]]Als je geen toegang hebt tot een skill wordt hij hier niet weergegeven. +mcPlayerListener.NotInParty=[[RED]]Je zit niet in een party. +mcPlayerListener.InviteSuccess=[[GREEN]]Uitnodiging succesvol verzonden. +mcPlayerListener.ReceivedInvite1=[[RED]]BERICHT: [[GREEN]]Je bent uitgenodigd voor de party {0} door {1} +mcPlayerListener.ReceivedInvite2=[[YELLOW]]Type [[GREEN]]/{0}[[YELLOW]] om de uitnodiging te accepteren. +mcPlayerListener.InviteAccepted=[[GREEN]]Uitnodiging geaccepteerd. Je bent nu lid van {0} +mcPlayerListener.NoInvites=[[RED]]Je hebt geen uitnodigingen +mcPlayerListener.YouAreInParty=[[GREEN]]Je zit in de party {0} +mcPlayerListener.PartyMembers=[[GREEN]]Party Leden +mcPlayerListener.LeftParty=[[RED]]Je hebt de party verlaten +mcPlayerListener.JoinedParty=Lid geworden van: {0} +mcPlayerListener.PartyChatOn=Alleen Party Chat [[GREEN]]aan +mcPlayerListener.PartyChatOff=Alleen Party Chat [[RED]]uit +mcPlayerListener.AdminChatOn=Alleen Admin Chat [[GREEN]]aan +mcPlayerListener.AdminChatOff=Alleen Admin Chat [[RED]]uit +mcPlayerListener.MOTD=[[BLUE]]Deze server werkt op mcMMO {0} type [[YELLOW]]/{1}[[BLUE]] voor hulp. +mcPlayerListener.WIKI=[[GREEN]]http://mcmmo.wikia.com[[BLUE]] - mcMMO Wiki +mcPlayerListener.PowerLevel=[[DARK_RED]]POWER LEVEL: +mcPlayerListener.PowerLevelLeaderboard=[[YELLOW]]--mcMMO[[BLUE]] Power Level [[YELLOW]]Highscore-- +mcPlayerListener.SkillLeaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Highscore-- +mcPlayerListener.RepairSkill=Repareren: +mcPlayerListener.SwordsSkill=Zwaarden: +mcPlayerListener.TamingSkill=Temmen: +mcPlayerListener.UnarmedSkill=Onbewapend: +mcPlayerListener.WoodcuttingSkill=Houthakken: +mcPlayerListener.YourStats=[[GREEN]][mcMMO] Status +Party.InformedOnJoin={0} [[GREEN]] heeft je party gejoined +Party.InformedOnQuit={0} [[GREEN]] heeft je party verlaten +Skills.YourGreenTerra=[[GREEN]]Je [[YELLOW]]Groene Aarde [[GREEN]]ability is opgeladen! +Skills.YourTreeFeller=[[GREEN]]Je [[YELLOW]]Tree Feller [[GREEN]]ability is opgeladen! +Skills.YourSuperBreaker=[[GREEN]]Je [[YELLOW]]Super Breeker [[GREEN]]ability is opgeladen! +Skills.YourSerratedStrikes=[[GREEN]]Je [[YELLOW]]Serrated Strikes [[GREEN]]ability is opgeladen! +Skills.YourBerserk=[[GREEN]]Je [[YELLOW]]Onbewapende gek [[GREEN]]ability is opgeladen! +Skills.YourSkullSplitter=[[GREEN]]Je [[YELLOW]]Schedelsplijter [[GREEN]]ability is opgeladen! +Skills.YourGigaDrillBreaker=[[GREEN]]Je [[YELLOW]]Giga Drilboor [[GREEN]]ability is opgeladen! +Skills.TooTired=[[RED]]Je bent te moe om die ability te gebruiken. +Skills.ReadyHoe=[[GREEN]]**JE TILT JE SCHOFFEL OP** +Skills.LowerHoe=[[GRAY]]**JE LAAT JE SCHOFFEL ZAKKEN** +Skills.ReadyAxe=[[GREEN]]**JE TILT JE BIJL OP** +Skills.LowerAxe=[[GRAY]]**JE LAAT JE BIJL ZAKKEN** +Skills.ReadyFists=[[GREEN]]**JE BALT JE VUISTEN** +Skills.LowerFists=[[GRAY]]**JE LAAT JE VUISTEN ZAKKEN** +Skills.ReadyPickAxe=[[GREEN]]**JE TILT JE PICKAXE OP** +Skills.LowerPickAxe=[[GRAY]]**JE LAAT JE PICKAXE ZAKKEN** +Skills.ReadyShovel=[[GREEN]]**JE TILT JE SCHEP OP** +Skills.LowerShovel=[[GRAY]]**JE LAAT JE SCHEP ZAKKEN** +Skills.ReadySword=[[GREEN]]**JE TILT JE ZWAARD OP** +Skills.LowerSword=[[GRAY]]**JE LAAT JE ZWAARD ZAKKEN** +Skills.BerserkOn=[[GREEN]]**ONBEWAPENDE GEK GEACTIVEERD** +Skills.BerserkPlayer=[[GREEN]]{0}[[DARK_GREEN]] gebruikt [[RED]]Onbewapende gek! +Skills.GreenTerraOn=[[GREEN]]**GROENE AARDE GEACTIVEERD** +Skills.GreenTerraPlayer=[[GREEN]]{0}[[DARK_GREEN]] gebruikt [[RED]]Groene Aarde! +Skills.TreeFellerOn=[[GREEN]]**TREE FELLER GEACTIVEERD** +Skills.TreeFellerPlayer=[[GREEN]]{0}[[DARK_GREEN]] gebruikt [[RED]]Tree Feller! +Skills.SuperBreakerOn=[[GREEN]]**SUPER BREEKER GEACTIVEERD** +Skills.SuperBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] gebruikt [[RED]]Super Breeker! +Skills.SerratedStrikesOn=[[GREEN]]**SERRATED STRIKES GEACTIVEERD** +Skills.SerratedStrikesPlayer=[[GREEN]]{0}[[DARK_GREEN]] gebruikt [[RED]]Serrated Strikes! +Skills.SkullSplitterOn=[[GREEN]]**SCHEDELSPLIJTER GEACTIVEERD** +Skills.SkullSplitterPlayer=[[GREEN]]{0}[[DARK_GREEN]] gebruikt [[RED]]Schedelsplijter! +Skills.GigaDrillBreakerOn=[[GREEN]]**GIGA DRILBOOR GEACTIVEERD** +Skills.GigaDrillBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] gebruikt [[RED]]Giga Drilboor! +Skills.GreenTerraOff=[[RED]]**Groene Aarde is uitgewerkt** +Skills.TreeFellerOff=[[RED]]**Tree Feller is uitgewerkt** +Skills.SuperBreakerOff=[[RED]]**Super Breeker is uitgewerkt** +Skills.SerratedStrikesOff=[[RED]]**Serrated Strikes is uitgewerkt** +Skills.BerserkOff=[[RED]]**Onbewapende gek is uitgewerkt** +Skills.SkullSplitterOff=[[RED]]**Schedelsplijter is uitgewerkt** +Skills.GigaDrillBreakerOff=[[RED]]**Giga Drilboor is uitgewerkt** +Skills.TamingUp=[[YELLOW]]Temmen skill verhoogt met {0}. Totaal ({1}) +Skills.AcrobaticsUp=[[YELLOW]]Acrobatics skill verhoogt met {0}. Total ({1}) +Skills.ArcheryUp=[[YELLOW]]Boogschieten skill verhoogt met {0}. Totaal ({1}) +Skills.SwordsUp=[[YELLOW]]Zwaarden skill verhoogt met {0}. Totaal ({1}) +Skills.AxesUp=[[YELLOW]]Bijlen skill verhoogt met {0}. Totaal ({1}) +Skills.UnarmedUp=[[YELLOW]]Onbewapend skill verhoogt met {0}. Totaal ({1}) +Skills.HerbalismUp=[[YELLOW]]Landbouw skill verhoogt met {0}. Totaal ({1}) +Skills.MiningUp=[[YELLOW]]Mijnbouw skill verhoogt met {0}. Totaal ({1}) +Skills.WoodcuttingUp=[[YELLOW]]Houthakken skill verhoogt met {0}. Totaal ({1}) +Skills.RepairUp=[[YELLOW]]Repareren skill verhoogt met {0}. Totaal ({1}) +Skills.ExcavationUp=[[YELLOW]]Uitgraven skill verhoogt met {0}. Totaal ({1}) +Skills.FeltEasy=[[GRAY]]Dat was makkelijk. +Skills.StackedItems=[[DARK_RED]]Je kan geen gestackte items repareren +Skills.NeedMore=[[DARK_RED]]Je hebt te weinig +Skills.AdeptDiamond=[[DARK_RED]]Je bent niet goed genoeg om diamond te repareren. +Skills.FullDurability=[[GRAY]]Dat is nog helemaal heel. +Skills.Disarmed=[[DARK_RED]]Je bent ontwapend! +mcPlayerListener.SorcerySkill=Tovenarij: +m.SkillSorcery=TOVERNARIJ +Sorcery.HasCast=[[GREEN]]**UITROEPEN VAN**[[GOLD]] +Sorcery.Current_Mana=[[DARK_AQUA]]MP +Sorcery.SpellSelected=[[GREEN]]-=([[GOLD]]{0}[[GREEN]])=- [[RED]]([[GRAY]]{1}[[RED]]) +Sorcery.Cost=[[RED]][COST] {0} MP +Sorcery.OOM=[[DARK_AQUA]][[[GOLD]]{2}[[DARK_AQUA]]][[DARK_GRAY]] Geen Mana meer [[YELLOW]]([[RED]]{0}[[YELLOW]]/[[GRAY]]{1}[[YELLOW]]) +Sorcery.Water.Thunder=DONDER +Sorcery.Curative.Self=HEEL JEZELF +Sorcery.Curative.Other=HEEL EEN ANDER +m.LVL=[[DARK_GRAY]]LVL: [[GREEN]]{0} [[DARK_AQUA]]XP[[YELLOW]]([[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]]) +Combat.BeastLore=[[GREEN]]**WOLFINSPECTIE** +Combat.BeastLoreOwner=[[DARK_AQUA]]Eigenaar ([[RED]]{0}[[DARK_AQUA]]) +Combat.BeastLoreHealthWolfTamed=[[DARK_AQUA]]Levens ([[GREEN]]{0}[[DARK_AQUA]]/20) +Combat.BeastLoreHealthWolf=[[DARK_AQUA]]Levens ([[GREEN]]{0}[[DARK_AQUA]]/8) +mcMMO.Description=[[DARK_AQUA]]Q: WHAT IS IT?,[[GOLD]]mcMMO is an [[RED]]OPEN SOURCE[[GOLD]] RPG mod for Bukkit by [[BLUE]]nossr50,[[GOLD]]There are many skills added by mcMMO to Minecraft.,[[GOLD]]You can gain experience in many different ways,[[GOLD]]You will want to type [[GREEN]]/SKILLNAME[[GOLD]] to find out more about a skill.,[[DARK_AQUA]]Q: WHAT DOES IT DO?,[[GOLD]]As an example... in [[DARK_AQUA]]Mining[[GOLD]] you will receive benefits like,[[RED]]Double Drops[[GOLD]] or the ability [[RED]]Super Breaker[[GOLD]] which when,[[GOLD]]activated by right-click allows fast Mining during its duration,[[GOLD]]which is related to your skill level. Leveling [[BLUE]]Mining,[[GOLD]]is as simple as mining precious materials!,[[DARK_AQUA]]Q: WHAT DOES THIS MEAN?,[[GOLD]]Almost all of the skills in [[GREEN]]mcMMO[[GOLD]] add cool new things!.,[[GOLD]]You can also type [[GREEN]]/{0}[[GOLD]] to find out commands,[[GOLD]]The goal of mcMMO is to provide a quality RPG experience.,[[DARK_AQUA]]Q: WHERE DO I SUGGEST NEW STUFF!?,[[GOLD]]On the mcMMO thread in the bukkit forums!,[[DARK_AQUA]]Q: HOW DO I DO THIS AND THAT?,[[RED]]PLEASE [[GOLD]]checkout the wiki! [[DARK_AQUA]]mcmmo.wikia.com +Party.Locked=[[RED]]Party is locked, only party leader may invite. +Party.IsntLocked=[[GRAY]]Party is not locked +Party.Unlocked=[[GRAY]]Party is unlocked +Party.Help1=[[RED]]Proper usage is [[YELLOW]]/{0} [[WHITE]][[YELLOW]] or [[WHITE]]'q' [[YELLOW]]to quit +Party.Help2=[[RED]]To join a passworded party use [[YELLOW]]/{0} [[WHITE]] +Party.Help3=[[RED]]Consult /{0} ? for more information +Party.Help4=[[RED]]Use [[YELLOW]]/{0} [[WHITE]] [[YELLOW]]to join a party or [[WHITE]]'q' [[YELLOW]]to quit +Party.Help5=[[RED]]To lock your party use [[YELLOW]]/{0} [[WHITE]]lock +Party.Help6=[[RED]]To unlock your party use [[YELLOW]]/{0} [[WHITE]]unlock +Party.Help7=[[RED]]To password protect your party use [[YELLOW]]/{0} [[WHITE]]password +Party.Help8=[[RED]]To kick a player from your party use [[YELLOW]]/{0} [[WHITE]]kick +Party.Help9=[[RED]]To transfer ownership of your party use [[YELLOW]]/{0} [[WHITE]]owner +Party.NotOwner=[[DARK_RED]]You are not the party owner +Party.InvalidName=[[DARK_RED]]That is not a valid party name +Party.PasswordSet=[[GREEN]]Party password set to {0} +Party.CouldNotKick=[[DARK_RED]]Could not kick player {0} +Party.NotInYourParty=[[DARK_RED]]{0} is not in your party +Party.CouldNotSetOwner=[[DARK_RED]]Could not set owner to {0} +Commands.xprate.proper=[[DARK_AQUA]]Proper usage is /{0} [integer] [true:false] +Commands.xprate.proper2=[[DARK_AQUA]]Also you can type /{0} reset to turn everything back to normal +Commands.xprate.proper3=[[RED]]Enter true or false for the second value +Commands.xprate.over=[[RED]]mcMMO XP Rate Event is OVER!! +Commands.xprate.started=[[GOLD]]XP EVENT FOR mcMMO HAS STARTED! +Commands.xprate.started2=[[GOLD]]mcMMO XP RATE IS NOW {0}x!! +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.invalid=[[RED]]That is not a valid skillname! Try /xplock mining \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/locale/locale_pl.properties b/src/com/gmail/nossr50/locale/locale_pl.properties similarity index 98% rename from mcMMO/com/gmail/nossr50/locale/locale_pl.properties rename to src/com/gmail/nossr50/locale/locale_pl.properties index 103a4cb79..53bcadd7c 100644 --- a/mcMMO/com/gmail/nossr50/locale/locale_pl.properties +++ b/src/com/gmail/nossr50/locale/locale_pl.properties @@ -1,351 +1,351 @@ -Combat.WolfExamine=[[GREEN]]**Zbadales wilka uzywajac wiedzy o zwierzetach** -Combat.WolfShowMaster=[[DARK_GREEN]]Wlascicielem wilka jest \: {0} -Combat.Ignition=[[RED]]**PODPALENIE** -Combat.BurningArrowHit=[[DARK_RED]]Zostales trafiony plonaca strzala\! -Combat.TouchedFuzzy=[[DARK_RED]]Zostales oszolomiony. -Combat.TargetDazed=Cel zostal [[DARK_RED]]oszolomiony. -Combat.WolfNoMaster=[[GRAY]]Ten wilk nie ma wlasciciela... -Combat.WolfHealth=[[GREEN]]Ten wilk ma {0} zycia. -Combat.StruckByGore=[[RED]]**WYKRWAWIENIE** -Combat.Gore=[[GREEN]]**KRWOTOK** -Combat.ArrowDeflect=[[WHITE]]**ODBICIE STRZALY** -Item.ChimaeraWingFail=**UZYCIE SKRZYDLA CHIMERY NIE POWIODLO SIE\!** -Item.ChimaeraWingPass=**UZYLES SKRZYDLA CHIMERY** -Item.InjuredWait=Zostales ranny. Musisz poczekac [[YELLOW]]{0}[[WHITE]] sekund przed uzyciem. -Item.NeedFeathers=[[GRAY]]Potrzebujesz wiecej pior. -m.mccPartyCommands=[[GREEN]]--KOMENDY DRUZYNOWE-- -m.mccParty=[party name] [[RED]]- Tworzy lub dolacza do danej druzyny. -m.mccPartyQ=[[RED]]- Pozwala opuscic druzyne. -m.mccPartyToggle=[[RED]] - Wlacza chat druzynowy. -m.mccPartyInvite=[player name] [[RED]]- Wysyla zaproszenie do druzyny. -m.mccPartyAccept=[[RED]]- Akceptuje zaproszenie do druzyny. -m.mccPartyTeleport=[imie czlonka druzyny] [[RED]]- Teleportuje cie do czlonka druzyny. -m.mccOtherCommands=[[GREEN]]--INNE KOMENDY-- -m.mccStats=- Pokazuje twoje statystyki. -m.mccLeaderboards=- Pokazuje najlepszych graczy. -m.mccMySpawn=- Teleportuje do twojego spawna. -m.mccClearMySpawn=- Kasuje twoj spawn i zmienia na domyslny. -m.mccToggleAbility=- Wlacza specjalna umiejetnosc prawym przyciskiem myszy. -m.mccAdminToggle=- Wlacza chat adminow. -m.mccWhois=[nazwa gracza] [[RED]]- Zobacz szczegolowe informacje o graczu. -m.mccMmoedit=[nazwa gracza] [umiejetnosc] [nowa wartosc] [[RED]]- Modyfikuje cel. -m.mccMcGod=- Niesmiertelnosc. -m.mccSkillInfo=/[nazwa umiejetnosci (np. Mining)] [[RED]]- Wyswietla informacje na temat umiejetnosci. -m.mccModDescription=[[RED]]- Wyswietla opis moda. -m.SkillHeader=[[RED]]-----[][[GREEN]]{0}[[RED]][]----- -m.XPGain=[[DARK_GRAY]]Dostajesz doswiadczenie za: [[WHITE]]{0} -m.EffectsTemplate=[[DARK_AQUA]]{0}: [[GREEN]]{1} -m.AbilityLockTemplate=[[GRAY]]{0} -m.AbilityBonusTemplate=[[RED]]{0}: [[YELLOW]]{1} -m.Effects=EFEKTY -m.YourStats=TWOJE STATYSTYKI -m.SkillTaming=OSWAJANIE -m.XPGainTaming=Utrate zdrowia wilkow. -m.EffectsTaming1_0=Wiedza o zwierzetach -m.EffectsTaming1_1=Uderz koscia aby sprawdzic wilka. -m.EffectsTaming2_0=Krwotok -m.EffectsTaming2_1=Atak krytyczny powodujacy silny krwotok. -m.EffectsTaming3_0=Ostre pazury -m.EffectsTaming3_1=Zwiekszenie obrazen. -m.EffectsTaming4_0=Sztuka przetrwania -m.EffectsTaming4_1=Unikanie kaktusow i lawy. Zawsze spada na 4 lapy. -m.EffectsTaming5_0=Grube futro -m.EffectsTaming5_1=Wieksza odpornosc na obrazenia i ogien. -m.EffectsTaming6_0=Odpornosc na eksplozje -m.EffectsTaming6_1=Wieksza odpornosc na obrazenia od wybuchow. -m.AbilLockTaming1=Aby odblokowac sztuke przetrwania, zdobadz 100 poziom. -m.AbilLockTaming2=Aby odblokowac grube futro, zdobadz 250 poziom. -m.AbilLockTaming3=Aby odblokowac odpornosc na eksplozje, zdobadz 500 poziom. -m.AbilLockTaming4=Aby odblokowac ostre pazury, zdobadz 750 poziom. -m.AbilBonusTaming1_0=Sztuka przetrwania -m.AbilBonusTaming1_1=Wilki unikaja zagrozen. -m.AbilBonusTaming2_0=Grube futro -m.AbilBonusTaming2_1=Obrazenia ogolne i od ognia zmniejszone do polowy. -m.AbilBonusTaming3_0=Odpornosc na eksplozje -m.AbilBonusTaming3_1=Wybuchy zadaja 1/6 obrazen. -m.AbilBonusTaming4_0=Ostre pazury -m.AbilBonusTaming4_1=+2 do obrazen -m.TamingGoreChance=[[RED]]Szansa na spowodowanie krwotoku: [[YELLOW]]{0}% -m.SkillWoodCutting=DRWALNICTWO -m.XPGainWoodCutting=Scinanie drzew -m.EffectsWoodCutting1_0=Powalacz drzew (UMIEJETNOSC) -m.EffectsWoodCutting1_1=Blyskawicznie scina drzewa. -m.EffectsWoodCutting2_0=Zdmuchiwacz lisci -m.EffectsWoodCutting2_1=Zdmuchuje wszystkie liscie. -m.EffectsWoodCutting3_0=Fachowa wycinka -m.EffectsWoodCutting3_1=Pozyskujesz dwa razy wiecej drewna z jednego drzewa. Nic sie nie zmarnuje. -m.AbilLockWoodCutting1=Aby odblokowac zdmuchiwacza lisci, zdobadz 100 poziom. -m.AbilBonusWoodCutting1_0=Zdmuchiwacz lisci -m.AbilBonusWoodCutting1_1=Zdmuchuje wszystkie liscie. -m.WoodCuttingDoubleDropChance=[[RED]]Szansa na fachowa wycinke: [[YELLOW]]{0}% -m.WoodCuttingTreeFellerLength=[[RED]]Czas trwania powalacza drzew: [[YELLOW]]{0} sekund -m.SkillArchery=LUCZNICTWO -m.XPGainArchery=Atakowanie potworow przy uzyciu luku. -m.EffectsArchery1_0=Podpalenie -m.EffectsArchery1_1=25% szansa na podpalenie wroga. -m.EffectsArchery2_0=Oszolomienie(Tylko na graczy) -m.EffectsArchery2_1=Dezorientuje przeciwnika. -m.EffectsArchery3_0=Wieksze obrazenia -m.EffectsArchery3_1=Zwieksza obrazenia zadawane lukiem. -m.EffectsArchery4_0=Odzyskiwanie strzal -m.EffectsArchery4_1=Szansa na odzyskanie strzal z cial wrogow. -m.ArcheryDazeChance=[[RED]]Szansa na oszolomienie: [[YELLOW]]{0}% -m.ArcheryRetrieveChance=[[RED]]Szansa na odzyskanie strzal: [[YELLOW]]{0}% -m.ArcheryIgnitionLength=[[RED]]Dlugosc podpalenia: [[YELLOW]]{0} sekund -m.ArcheryDamagePlus=[[RED]]Wieksze obrazenia (Rank{0}): [[YELLOW]]Obrazenia zwiekszone o {0} -m.SkillAxes=TOPORY -m.XPGainAxes=Atakowanie potworow przy uzyciu toporow. -m.EffectsAxes1_0=Berserk (UMIEJETNOSC) -m.EffectsAxes1_1=Zadaje obrazenia wszystkiemu dookola. -m.EffectsAxes2_0=Krytyczne uderzenie -m.EffectsAxes2_1=Potrafisz trafic wroga tam gdzie boli, zadajac podwojne obrazenia. -m.EffectsAxes3_0=Doswiadczony wojownik -m.EffectsAxes3_1=Mordowanie setek potworow zwiekszylo twoja sile i celnosc. Zadajesz wiecej obrazen. -m.AbilLockAxes1=Aby odblokowac doswiadczonego wojownika, zdobadz 500 poziom. -m.AbilBonusAxes1_0=Doswiadczony wojownik -m.AbilBonusAxes1_1=Zadajesz dodatkowe 4 punkty obrazen. -m.AxesCritChance=[[RED]]Szansa na krytyczne uderzenie: [[YELLOW]]{0}% -m.AxesSkullLength=[[RED]]Dlugosc berserku: [[YELLOW]]{0} sekund -m.SkillSwords=MIECZE -m.XPGainSwords=Atakowanie potworow przy uzyciu mieczy. -m.EffectsSwords1_0=Kontratak -m.EffectsSwords1_1=Nikt bezkarnie cie nie zrani. Oddajesz przeciwnikowi 50% otrzymanych obrazen. -m.EffectsSwords2_0=Furia ostrzy (UMIEJETNOSC) -m.EffectsSwords2_1=25% obrazen obszarowych powodujacych krwotok. -m.EffectsSwords3_0=Krwawa furia ostrzy -m.EffectsSwords3_1=Celujesz w zyly i tetnice, pododujac jak najwiecej ran. -m.EffectsSwords4_0=Blok -m.EffectsSwords4_1=Calkowicie blokujesz cios. -m.EffectsSwords5_0=Krwotok -m.EffectsSwords5_1=Powoduje krwawiace otwarte rany. -m.SwordsCounterAttChance=[[RED]]Szansa na kontratak: [[YELLOW]]{0}% -m.SwordsBleedLength=[[RED]]Rany zadawane krwotokiem: [[YELLOW]]{0} ran. -m.SwordsBleedChance=[[RED]]Szansa na spowodowanie krwotoku: [[YELLOW]]{0} % -m.SwordsParryChance=[[RED]]Szansa na blok: [[YELLOW]]{0} % -m.SwordsSSLength=[[RED]]Dlugosc furii ostrzy: [[YELLOW]]{0} sekund -m.SwordsTickNote=[[GRAY]]UWAGA: [[YELLOW]]1 rana goi sie co 2 sekundy. -m.SkillAcrobatics=AKROBATYKA -m.XPGainAcrobatics=Spadanie -m.EffectsAcrobatics1_0=Przewrot -m.EffectsAcrobatics1_1=Zmniejsza badz niweluje obrazenia. -m.EffectsAcrobatics2_0=Idealny przewrot -m.EffectsAcrobatics2_1=Dwa razy skuteczniejszy od normalnego. -m.EffectsAcrobatics3_0=Unik -m.EffectsAcrobatics3_1=Redukuje obrazenia o polowe. -m.AcrobaticsRollChance=[[RED]]Szansa na przewrot: [[YELLOW]]{0}% -m.AcrobaticsGracefulRollChance=[[RED]]Szansa na idealny przewrot: [[YELLOW]]{0}% -m.AcrobaticsDodgeChance=[[RED]]Szansa na unik: [[YELLOW]]{0}% -m.SkillMining=GORNICTWO -m.XPGainMining=Wykopywanie kamienia i roznych rud. -m.EffectsMining1_0=Super kopacz (UMIEJETNOSC) -m.EffectsMining1_1=Kopiesz sybciej i marnujesz trzy razy mniej rudy. -m.EffectsMining2_0=Fachowy wykop -m.EffectsMining2_1=Pozyskujesz dwa razy wiecej rudy. Nic sie nie marnuje. -m.MiningDoubleDropChance=[[RED]]Szansa na fachowy wykop: [[YELLOW]]{0}% -m.MiningSuperBreakerLength=[[RED]]Dlugosc super kopania: [[YELLOW]]{0} sekund -m.SkillRepair=NAPRAWA -m.XPGainRepair=Naprawianie przedmiotow. -m.EffectsRepair1_0=Naprawa -m.EffectsRepair1_1=Naprawianie zelaznych przedmiotow. -m.EffectsRepair2_0=Mistrz naprawy -m.EffectsRepair2_1=Zwiekszona liczba napraw. -m.EffectsRepair3_0=Fachowa naprawa -m.EffectsRepair3_1=Naprawiles przedmiot dwa razy lepiej niz zwykle. -m.EffectsRepair4_0=Diamentowa odnowa ({0}+ UMIEJETNOSC) -m.EffectsRepair4_1=Naprawia diamentowe przedmioty. -m.RepairRepairMastery=[[RED]]Mistrz naprawy: [[YELLOW]]Dodatkowe {0}% wytrzymalosci odzyskane. -m.RepairSuperRepairChance=[[RED]]Szansa na fachowa naprawe: [[YELLOW]]{0}% -m.SkillUnarmed=KUNG-FU -m.XPGainUnarmed=Atakowanie potworow bez broni. -m.EffectsUnarmed1_0=Wejscie Smoka (UMIEJETNOSC) -m.EffectsUnarmed1_1=Polowe wieksze obrazenia, niszczy slabe przedmioty. -m.EffectsUnarmed2_0=Rozbrojenie (Tylko graczy) -m.EffectsUnarmed2_1=Przeciwnik upuszcza trzymany w reku przedmiot. -m.EffectsUnarmed3_0=Wsciekle Piesci -m.EffectsUnarmed3_1=Znaczne zwiekszenie zadawanych obrazen. -m.EffectsUnarmed4_0=Droga Smoka -m.EffectsUnarmed4_1=Zwiekszenie zadawanych obrazen. -m.EffectsUnarmed5_0=Odbicie strzaly -m.EffectsUnarmed5_1=Golymi rekoma potrafisz odbic nadlatujaca strzale. -m.AbilLockUnarmed1=Aby odblokowac Droge Smoka, zdobadz 250 poziom. -m.AbilLockUnarmed2=Aby odblokowac Wsciekle Piesci, zdobadz 500 poziom. -m.AbilBonusUnarmed1_0=Droga Smoka -m.AbilBonusUnarmed1_1=Zadawane obrazenia zwiekszone o 2. -m.AbilBonusUnarmed2_0=Wsciekle Piesci -m.AbilBonusUnarmed2_1=Zadawane obrazenia zwiekszone o 4. -m.UnarmedArrowDeflectChance=[[RED]]Szansa na odbicie strzaly: [[YELLOW]]{0}% -m.UnarmedDisarmChance=[[RED]]Szansa na rozbrojenie: [[YELLOW]]{0}% -m.UnarmedBerserkLength=[[RED]]Dlugosc Wejscia Smoka: [[YELLOW]]{0} sekund. -m.SkillHerbalism=ZIELARSTWO -m.XPGainHerbalism=Zbieranie ziol. -m.EffectsHerbalism1_0=Zielona ziemia (UMIEJETNOSC) -m.EffectsHerbalism1_1=Rozprzestrzenia ziemie, potraja plony. -m.EffectsHerbalism2_0=Wprawne rece (zboze) -m.EffectsHerbalism2_1=Zbierajac zboze, od razu sadzisz nasiona. -m.EffectsHerbalism3_0=Wprawne rece (bruk) -m.EffectsHerbalism3_1=Zamienia bruk w porosniety mchem kamien z nasionami. -m.EffectsHerbalism4_0=Lepsze jedzenie -m.EffectsHerbalism4_1=Modyfikowana genetycznie zywnosc jest zdrowsza. Chleb i zupa chlebowa regeneruja wiecej zdrowia. -m.EffectsHerbalism5_0=Udane zbiory -m.EffectsHerbalism5_1=Dwa razy wieksze plony wszystkich roslin. -m.HerbalismGreenTerraLength=[[RED]]Czas trwania zielonej ziemi: [[YELLOW]]{0} sekund -m.HerbalismGreenThumbChance=[[RED]]Szansa na wprawne rece: [[YELLOW]]{0}% -m.HerbalismGreenThumbStage=[[RED]]Poziom wprawnych rak: [[YELLOW]] Zboze rosnie na poziomie {0} -m.HerbalismDoubleDropChance=[[RED]]Szansa na udane zbiory: [[YELLOW]]{0}% -m.HerbalismFoodPlus=[[RED]]Lepsze jedzenie (Ranga{0}): [[YELLOW]]Dodatkowe {0} zdrowia -m.SkillExcavation=WYKOPALISKA -m.XPGainExcavation=Kopanie i odnajdywanie skarbow. -m.EffectsExcavation1_0=Super Szybka Saperka (UMIEJETNOSC) -m.EffectsExcavation1_1=Zwiekszona szybkosc kopania i trzykrotnie wiekszy urobek i zdobyte doswiadczenie. -m.EffectsExcavation2_0=Lowca Skarbow -m.EffectsExcavation2_1=Umiejetnosc znajdywania skarbow -m.ExcavationGreenTerraLength=[[RED]]Czas trwania Super Szybkiej Saperki: [[YELLOW]]{0} sekund. -mcBlockListener.PlacedAnvil=[[DARK_RED]]Polozyles kowadlo, ktore pozwala na naprawe przedmiotow. -mcEntityListener.WolfComesBack=[[DARK_GRAY]]Twoj wilk przybiega z powrotem. -mcPlayerListener.AbilitiesOff=Uzywanie umiejetnosci wylaczone -mcPlayerListener.AbilitiesOn=Uzywanie umiejetnosci wlaczone -mcPlayerListener.AbilitiesRefreshed=[[GREEN]]**UMIEJETNOSCI ODSWIEZONE\!** -mcPlayerListener.AcrobaticsSkill=Akrobatyka: -mcPlayerListener.ArcherySkill=Lucznictwo: -mcPlayerListener.AxesSkill=Topory: -mcPlayerListener.ExcavationSkill=Wykopaliska: -mcPlayerListener.GodModeDisabled=[[YELLOW]]Niesmiertelnosc wylaczona -mcPlayerListener.GodModeEnabled=[[YELLOW]]Niesmiertelnosc wlaczona -mcPlayerListener.GreenThumb=[[GREEN]]**UZYLES ZIELONEJ ZIEMI** -mcPlayerListener.GreenThumbFail=[[RED]]**UZYWANIE ZIELONEJ ZIEMI NIE POWIODLO SIE** -mcPlayerListener.HerbalismSkill=Zielarstwo: -mcPlayerListener.MiningSkill=Gornictwo: -mcPlayerListener.MyspawnCleared=[[DARK_AQUA]]Twoj spawn zostal usuniety. -mcPlayerListener.MyspawnNotExist=[[RED]]Musisz ustawic swoj spawn za pomoca lozka. -mcPlayerListener.MyspawnSet=[[DARK_AQUA]]Twoj spawn zostal ustawiony na twoje aktualne polozenie. -mcPlayerListener.MyspawnTimeNotice=Musisz zaczekac {0} minut i {1} sekund aby przeteleportowac sie na spawn. -mcPlayerListener.NoPermission=Brak mcPermissions. -mcPlayerListener.NoSkillNote=[[DARK_GRAY]]Umiejetnosci, ktorych nie mozesz uzyc nie sa wyswietlane. -mcPlayerListener.NotInParty=[[RED]]Nie jestes w grupie. -mcPlayerListener.InviteSuccess=[[GREEN]]Zaproszenie wyslane. -mcPlayerListener.ReceivedInvite1=[[RED]]UWAGA: [[GREEN]]Dostales zaproszenie do grupy {0} od {1}. -mcPlayerListener.ReceivedInvite2=[[YELLOW]Wpisz [[GREEN]]/{0}[[YELLOW]] aby zaakceptowac zaproszenie. -mcPlayerListener.InviteAccepted=[[GREEN]]Zaproszenie akceptowane. Doszles do grupy {0}. -mcPlayerListener.NoInvites=[[RED]]Nie masz zaproszen do zadnej grupy. -mcPlayerListener.YouAreInParty=[[GREEN]]Jestes w grupie {0}. -mcPlayerListener.PartyMembers=[[GREEN]]Czlonkowie grupy -mcPlayerListener.LeftParty=[[RED]]Wyszles z tej grupy. -mcPlayerListener.JoinedParty=Doszedles do grupy: {0} -mcPlayerListener.PartyChatOn=Chat tylko dla grupy [[GREEN]]WLACZONY -mcPlayerListener.PartyChatOff=Chat tylko dla grupy [[RED]]WYLACZONY -mcPlayerListener.AdminChatOn=Chat tylko dla adminow [[GREEN]]WLACZONY -mcPlayerListener.AdminChatOff=Chat tylko dla adminow [[RED]]WYLACZONY -mcPlayerListener.MOTD=[[BLUE]]Ten server uzywa plugina mcMMO {0} wpisz [[YELLOW]]/{1}[[BLUE]] aby uzyskac pomoc. -mcPlayerListener.WIKI=[[GREEN]]http://mcmmo.wikia.com[[BLUE]] - mcMMO Wiki -mcPlayerListener.PowerLevel=[[DARK_RED]]POZIOM MOCY: -mcPlayerListener.PowerLevelLeaderboard=[[YELLOW]]--Ranking [[BLUE]]poziomu mocy [[YELLOW]]mcMMO-- -mcPlayerListener.SkillLeaderboard=[[YELLOW]]--Ranking [[BLUE]]{0}[[YELLOW]] mcMMO-- -mcPlayerListener.RepairSkill=Naprawa: -mcPlayerListener.SwordsSkill=Miecze: -mcPlayerListener.TamingSkill=Oswajanie: -mcPlayerListener.UnarmedSkill=Kung-fu: -mcPlayerListener.WoodcuttingSkill=Drwalnictwo: -mcPlayerListener.YourStats=[[GREEN]][mcMMO] Statystyki -Party.InformedOnJoin={0} [[GREEN]] dolaczyl do twojej grupy. -Party.InformedOnQuit={0} [[GREEN]] wyszedl z twojej grupy. -Skills.YourGreenTerra=[[GREEN]]Twoja umiejetnosc [[YELLOW]]zielona ziemia [[GREEN]]zostala naladowana! -Skills.YourTreeFeller=[[GREEN]]Twoja umiejetnosc [[YELLOW]]powalacz drzew [[GREEN]]zostala naladowana! -Skills.YourSuperBreaker=[[GREEN]]Twoja umiejetnosc [[YELLOW]]Super kopacz [[GREEN]]zostala naladowana! -Skills.YourSerratedStrikes=[[GREEN]]Twoja umiejetnosc [[YELLOW]]furia ostrzy [[GREEN]]zostala naladowana! -Skills.YourBerserk=[[GREEN]]Twoja umiejetnosc [[YELLOW]]Wejscie Smoka [[GREEN]]zostala naladowana! -Skills.YourSkullSplitter=[[GREEN]]Twoja umiejetnosc [[YELLOW]]berserk [[GREEN]]zostala naladowana! -Skills.YourGigaDrillBreaker=[[GREEN]]Twoja umiejetnosc [[YELLOW]]Super Szybka Saperka [[GREEN]]zostala naladowana! -Skills.TooTired=[[RED]]Musisz odpoczac zanim ponownie uzyjesz tej umiejetnosci. -Skills.ReadyHoe=[[GREEN]]**PODNOSISZ SWOJA MOTYKE** -Skills.LowerHoe=[[GRAY]]**OPUSZCZASZ SWOJA MOTYKE** -Skills.ReadyAxe=[[GREEN]]**PODNOSISZ SWOJ TOPOR** -Skills.LowerAxe=[[GRAY]]**OPUSZCZASZ SWOJ TOPOR** -Skills.ReadyFists=[[GREEN]]**PODNOSISZ SWOJE PIESCI** -Skills.LowerFists=[[GRAY]]**OPUSZCZASZ SWOJE PIESCI** -Skills.ReadyPickAxe=[[GREEN]]**PODNOSISZ SWOJ KILOF** -Skills.LowerPickAxe=[[GRAY]]**OPUSZCZASZ SWOJ KILOF** -Skills.ReadyShovel=[[GREEN]]**PODNOSISZ SWOJA LOPATE** -Skills.LowerShovel=[[GRAY]]**OPUSZCZASZ SWOJA LOPATE** -Skills.ReadySword=[[GREEN]]**PODNOSISZ SWOJ MIECZ** -Skills.LowerSword=[[GRAY]]**OPUSZCZASZ SWOJ MIECZ** -Skills.BerserkOn=[[GREEN]]**ROBISZ WEJSCIE SMOKA** -Skills.BerserkPlayer=[[GREEN]]{0}[[DARK_GREEN]] zrobil [[RED]]Wejscie Smoka! -Skills.GreenTerraOn=[[GREEN]]**ZIELONA ZIEMIA** -Skills.GreenTerraPlayer=[[GREEN]]{0}[[DARK_GREEN]] uzyl [[RED]]zielonej ziemi! -Skills.TreeFellerOn=[[GREEN]]**POWALACZ DRZEW** -Skills.TreeFellerPlayer=[[GREEN]]{0}[[DARK_GREEN]] uzyl [[RED]]powalacza drzew! -Skills.SuperBreakerOn=[[GREEN]]**SUPER KOPACZ** -Skills.SuperBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] uzyl [[RED]]Super Kopacza! -Skills.SerratedStrikesOn=[[GREEN]]**FURIA OSTRZY** -Skills.SerratedStrikesPlayer=[[GREEN]]{0}[[DARK_GREEN]] uzyl [[RED]]furii ostrzy! -Skills.SkullSplitterOn=[[GREEN]]**BERSERK** -Skills.SkullSplitterPlayer=[[GREEN]]{0}[[DARK_GREEN]] wpadl w [[RED]]berserk! -Skills.GigaDrillBreakerOn=[[GREEN]]**SUPER SZYBKA SAPERKA** -Skills.GigaDrillBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] uzyl [[RED]]Super Szybkiej Saperki! -Skills.GreenTerraOff=[[RED]]**Zielona ziemia zostala zuzyta** -Skills.TreeFellerOff=[[RED]]**Powalacz drzew zostal zuzyty** -Skills.SuperBreakerOff=[[RED]]**Super Kopacz zostal zuzyty** -Skills.SerratedStrikesOff=[[RED]]**Furia ostrzy zostala zuzyta** -Skills.BerserkOff=[[RED]]**Wejscie Smoka zostalo zuzyte** -Skills.SkullSplitterOff=[[RED]]**Berserk zostal zuzyty** -Skills.GigaDrillBreakerOff=[[RED]]**Super Szybka Saperka zostala zuzyta** -Skills.TamingUp=[[YELLOW]]Umiejetnosc oswajania wzrosla o {0}. Razem ({1}) -Skills.AcrobaticsUp=[[YELLOW]]Umiejetnosci akrobatyczne wzrosly o {0}. Razem ({1}) -Skills.ArcheryUp=[[YELLOW]]Umiejetnosci lucznicze wzrosly o {0}. Razem ({1}) -Skills.SwordsUp=[[YELLOW]]Umiejetnosc uzywania mieczy wzrosla o {0}. Razem ({1}) -Skills.AxesUp=[[YELLOW]]Umiejetnosc uzywania toporow wzrosla o {0}. Razem ({1}) -Skills.UnarmedUp=[[YELLOW]]Znajomosc Kung-Fu wzrosla o {0}. Razem ({1}) -Skills.HerbalismUp=[[YELLOW]]Znajomosc zielarstwa wzrosla o {0}. Razem ({1}) -Skills.MiningUp=[[YELLOW]]Umiejetnosci gornicze wzrosly o {0}. Razem ({1}) -Skills.WoodcuttingUp=[[YELLOW]]Umiejetnosci drwalnicze wzrosly o {0}. Razem ({1}) -Skills.RepairUp=[[YELLOW]]Umiejetnosc naprawy wzrosla o {0}. Razem ({1}) -Skills.ExcavationUp=[[YELLOW]]Umiejetnosci wykopaliskowe wzrosly o {0}. Razem ({1}) -Skills.FeltEasy=[[GRAY]]To bylo proste. -Skills.StackedItems=[[DARK_RED]]Nie mozesz naprawiac grup przedmiotow. -Skills.NeedMore=[[DARK_RED]]Potrzebujesz wiecej -Skills.AdeptDiamond=[[DARK_RED]]Nie potrafisz jeszcze naprawiac diamentow -Skills.FullDurability=[[GRAY]]Ten przedmiot nie wymaga naprawy. -Skills.Disarmed=[[DARK_RED]]Zostales rozbrojony! -mcPlayerListener.SorcerySkill=Magia: -m.SkillSorcery=MAGIA -Sorcery.HasCast=[[GREEN]]**RZUCANIE ZAKLECIA**[[GOLD]] -Sorcery.Current_Mana=[[DARK_AQUA]]Mana -Sorcery.SpellSelected=[[GREEN]]-=([[GOLD]]{0}[[GREEN]])=- [[RED]]([[GRAY]]{1}[[RED]]) -Sorcery.Cost=[[RED]][COST] {0} Many -Sorcery.OOM=[[DARK_AQUA]][[[GOLD]]{2}[[DARK_AQUA]]][[DARK_GRAY]] Brak Many [[YELLOW]]([[RED]]{0}[[YELLOW]]/[[GRAY]]{1}[[YELLOW]]) -Sorcery.Water.Thunder=PIORUN -Sorcery.Curative.Self=ULECZ SIEBIE -Sorcery.Curative.Other=ULECZ INNYCH -m.LVL=[[DARK_GRAY]]LVL: [[GREEN]]{0} [[DARK_AQUA]]Doswiadczenia[[YELLOW]]([[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]]) -Combat.BeastLore=[[GREEN]]**WIEDZA O ZWIERZETACH** -Combat.BeastLoreOwner=[[DARK_AQUA]]Wlasciciel ([[RED]]{0}[[DARK_AQUA]]) -Combat.BeastLoreHealthWolfTamed=[[DARK_AQUA]]Zycie ([[GREEN]]{0}[[DARK_AQUA]]/20) -Combat.BeastLoreHealthWolf=[[DARK_AQUA]]Zycie ([[GREEN]]{0}[[DARK_AQUA]]/8) -mcMMO.Description=[[DARK_AQUA]]P: Czym jest mcMMO?,[[GOLD]]mcMMO jest [[RED]]open source'owym[[GOLD]] RPG modem korzystajacym z Bukkita, autorstwa [[BLUE]]nossr50,[[GOLD]]mcMMO dodaje wiele umiejetnosci do Minecrafta.,[[GOLD]]Mozna rowniez zbierac doswiadczenie na rozne sposoby,[[GOLD]]Najlepiej wpisac [[GREEN]]/nazwaumiejetnosci[[GOLD]] aby dowiedziec sie wiecej o niej.,[[DARK_AQUA]]P: A co robi mcMMO?,[[GOLD]]Dla przykladu, [[DARK_AQUA]]gornictwo[[GOLD]] pozwala na [[RED]]zwiekszone zyski[[GOLD]] oraz daje mozliwosc [[RED]]szybszego kopania[[GOLD]], ktore mozna [[GOLD]]aktywowac prawym przyciskiem myszy i trwa dluzej [[GOLD]]im wyzszy masz poziom. Zdobywanie poziomow w [[BLUE]]gornictwie[[GOLD]] odbywa sie przez zwyczajne wykopywanie roznych mineralow.,[[DARK_AQUA]]P: Co to wszystko daje?,[[GOLD]]Prawie wszystkie umiejetnosci w [[GREEN]]mcMMO[[GOLD]] dodaja nowe fajne rzeczy!.,[[GOLD]]Wpisujac [[GREEN]]/{0}[[GOLD]] poznasz wszystkie dostepne polecenia,[[GOLD]]Celem mcMMO jest sprawienie aby Minecraft stal sie prawie eRPeGiem.,[[DARK_AQUA]]P: Mam genialny pomysl, dodasz to!?,[[GOLD]]Napisz w temacie mcMMO na forum bukkit i zobaczymy!,[[DARK_AQUA]]Q: A jak zrobic to albo tamto?,[[RED]]CZYTAJ [[GOLD]]strone wiki moda! [[DARK_AQUA]]mcmmo.wikia.com -Party.Locked=[[RED]]Grupa jest zamknieta, tylko wlasciciel moze dodac graczy. -Party.IsntLocked=[[GRAY]]Grupa jest otwarta dla wszystkich. -Party.Unlocked=[[GRAY]]Grupa jest otwarta dla wszystkich. -Party.Help1=[[RED]]Prawidlowe polecenie to [[YELLOW]]/{0} [[WHITE]][[YELLOW]] lub [[WHITE]]'q' [[YELLOW]]aby wyjsc. -Party.Help2=[[RED]]Aby dolaczyc do grupy zabezpieczonej haslem wpisz[[YELLOW]]/{0} [[WHITE]] -Party.Help3=[[RED]]Sprawdz /{0} ? aby dowiedziec sie wiecej. -Party.Help4=[[RED]]Wpisz [[YELLOW]]/{0} [[WHITE]] [[YELLOW]]aby dolaczyc do grupy lub [[WHITE]]'q' [[YELLOW]]aby z niej wyjsc. -Party.Help5=[[RED]]Aby zamknac grupe wpisz [[YELLOW]]/{0} [[WHITE]]lock -Party.Help6=[[RED]]Aby otworzyc zamknieta grupe wpisz [[YELLOW]]/{0} [[WHITE]]unlock -Party.Help7=[[RED]]Aby zabezpieczyc grupe haslem wpisz [[YELLOW]]/{0} [[WHITE]]password -Party.Help8=[[RED]]Aby wyrzucic gracza z grupy wpisz [[YELLOW]]/{0} [[WHITE]]kick -Party.Help9=[[RED]]Aby przekazac wladze w grupie innej osobie wpisz [[YELLOW]]/{0} [[WHITE]]owner -Party.NotOwner=[[DARK_RED]]Nie jestes wlascicielem tej grupy. -Party.InvalidName=[[DARK_RED]]To nie jest dozwolona nazwa grupy. -Party.PasswordSet=[[GREEN]]Haslo grupy zmienione na: {0} -Party.CouldNotKick=[[DARK_RED]]Nie mozna wyrzucic gracza {0} -Party.NotInYourParty=[[DARK_RED]]{0} nie jest czlonkiem twojej grupy. -Party.CouldNotSetOwner=[[DARK_RED]]Nie mozna przekazac grupy do {0} -Commands.xprate.proper=[[DARK_AQUA]]Proper usage is /{0} [integer] [true:false] -Commands.xprate.proper2=[[DARK_AQUA]]Also you can type /{0} reset to turn everything back to normal -Commands.xprate.proper3=[[RED]]Enter true or false for the second value -Commands.xprate.over=[[RED]]mcMMO XP Rate Event is OVER!! -Commands.xprate.started=[[GOLD]]XP EVENT FOR mcMMO HAS STARTED! -Commands.xprate.started2=[[GOLD]]mcMMO XP RATE IS NOW {0}x!! -Commands.xplock.locked=[[GOLD]]Your XP BAR is now locked to {0}! -Commands.xplock.unlocked=[[GOLD]]Your XP BAR is now [[GREEN]]UNLOCKED[[GOLD]]! +Combat.WolfExamine=[[GREEN]]**Zbadales wilka uzywajac wiedzy o zwierzetach** +Combat.WolfShowMaster=[[DARK_GREEN]]Wlascicielem wilka jest \: {0} +Combat.Ignition=[[RED]]**PODPALENIE** +Combat.BurningArrowHit=[[DARK_RED]]Zostales trafiony plonaca strzala\! +Combat.TouchedFuzzy=[[DARK_RED]]Zostales oszolomiony. +Combat.TargetDazed=Cel zostal [[DARK_RED]]oszolomiony. +Combat.WolfNoMaster=[[GRAY]]Ten wilk nie ma wlasciciela... +Combat.WolfHealth=[[GREEN]]Ten wilk ma {0} zycia. +Combat.StruckByGore=[[RED]]**WYKRWAWIENIE** +Combat.Gore=[[GREEN]]**KRWOTOK** +Combat.ArrowDeflect=[[WHITE]]**ODBICIE STRZALY** +Item.ChimaeraWingFail=**UZYCIE SKRZYDLA CHIMERY NIE POWIODLO SIE\!** +Item.ChimaeraWingPass=**UZYLES SKRZYDLA CHIMERY** +Item.InjuredWait=Zostales ranny. Musisz poczekac [[YELLOW]]{0}[[WHITE]] sekund przed uzyciem. +Item.NeedFeathers=[[GRAY]]Potrzebujesz wiecej pior. +m.mccPartyCommands=[[GREEN]]--KOMENDY DRUZYNOWE-- +m.mccParty=[party name] [[RED]]- Tworzy lub dolacza do danej druzyny. +m.mccPartyQ=[[RED]]- Pozwala opuscic druzyne. +m.mccPartyToggle=[[RED]] - Wlacza chat druzynowy. +m.mccPartyInvite=[player name] [[RED]]- Wysyla zaproszenie do druzyny. +m.mccPartyAccept=[[RED]]- Akceptuje zaproszenie do druzyny. +m.mccPartyTeleport=[imie czlonka druzyny] [[RED]]- Teleportuje cie do czlonka druzyny. +m.mccOtherCommands=[[GREEN]]--INNE KOMENDY-- +m.mccStats=- Pokazuje twoje statystyki. +m.mccLeaderboards=- Pokazuje najlepszych graczy. +m.mccMySpawn=- Teleportuje do twojego spawna. +m.mccClearMySpawn=- Kasuje twoj spawn i zmienia na domyslny. +m.mccToggleAbility=- Wlacza specjalna umiejetnosc prawym przyciskiem myszy. +m.mccAdminToggle=- Wlacza chat adminow. +m.mccWhois=[nazwa gracza] [[RED]]- Zobacz szczegolowe informacje o graczu. +m.mccMmoedit=[nazwa gracza] [umiejetnosc] [nowa wartosc] [[RED]]- Modyfikuje cel. +m.mccMcGod=- Niesmiertelnosc. +m.mccSkillInfo=/[nazwa umiejetnosci (np. Mining)] [[RED]]- Wyswietla informacje na temat umiejetnosci. +m.mccModDescription=[[RED]]- Wyswietla opis moda. +m.SkillHeader=[[RED]]-----[][[GREEN]]{0}[[RED]][]----- +m.XPGain=[[DARK_GRAY]]Dostajesz doswiadczenie za: [[WHITE]]{0} +m.EffectsTemplate=[[DARK_AQUA]]{0}: [[GREEN]]{1} +m.AbilityLockTemplate=[[GRAY]]{0} +m.AbilityBonusTemplate=[[RED]]{0}: [[YELLOW]]{1} +m.Effects=EFEKTY +m.YourStats=TWOJE STATYSTYKI +m.SkillTaming=OSWAJANIE +m.XPGainTaming=Utrate zdrowia wilkow. +m.EffectsTaming1_0=Wiedza o zwierzetach +m.EffectsTaming1_1=Uderz koscia aby sprawdzic wilka. +m.EffectsTaming2_0=Krwotok +m.EffectsTaming2_1=Atak krytyczny powodujacy silny krwotok. +m.EffectsTaming3_0=Ostre pazury +m.EffectsTaming3_1=Zwiekszenie obrazen. +m.EffectsTaming4_0=Sztuka przetrwania +m.EffectsTaming4_1=Unikanie kaktusow i lawy. Zawsze spada na 4 lapy. +m.EffectsTaming5_0=Grube futro +m.EffectsTaming5_1=Wieksza odpornosc na obrazenia i ogien. +m.EffectsTaming6_0=Odpornosc na eksplozje +m.EffectsTaming6_1=Wieksza odpornosc na obrazenia od wybuchow. +m.AbilLockTaming1=Aby odblokowac sztuke przetrwania, zdobadz 100 poziom. +m.AbilLockTaming2=Aby odblokowac grube futro, zdobadz 250 poziom. +m.AbilLockTaming3=Aby odblokowac odpornosc na eksplozje, zdobadz 500 poziom. +m.AbilLockTaming4=Aby odblokowac ostre pazury, zdobadz 750 poziom. +m.AbilBonusTaming1_0=Sztuka przetrwania +m.AbilBonusTaming1_1=Wilki unikaja zagrozen. +m.AbilBonusTaming2_0=Grube futro +m.AbilBonusTaming2_1=Obrazenia ogolne i od ognia zmniejszone do polowy. +m.AbilBonusTaming3_0=Odpornosc na eksplozje +m.AbilBonusTaming3_1=Wybuchy zadaja 1/6 obrazen. +m.AbilBonusTaming4_0=Ostre pazury +m.AbilBonusTaming4_1=+2 do obrazen +m.TamingGoreChance=[[RED]]Szansa na spowodowanie krwotoku: [[YELLOW]]{0}% +m.SkillWoodCutting=DRWALNICTWO +m.XPGainWoodCutting=Scinanie drzew +m.EffectsWoodCutting1_0=Powalacz drzew (UMIEJETNOSC) +m.EffectsWoodCutting1_1=Blyskawicznie scina drzewa. +m.EffectsWoodCutting2_0=Zdmuchiwacz lisci +m.EffectsWoodCutting2_1=Zdmuchuje wszystkie liscie. +m.EffectsWoodCutting3_0=Fachowa wycinka +m.EffectsWoodCutting3_1=Pozyskujesz dwa razy wiecej drewna z jednego drzewa. Nic sie nie zmarnuje. +m.AbilLockWoodCutting1=Aby odblokowac zdmuchiwacza lisci, zdobadz 100 poziom. +m.AbilBonusWoodCutting1_0=Zdmuchiwacz lisci +m.AbilBonusWoodCutting1_1=Zdmuchuje wszystkie liscie. +m.WoodCuttingDoubleDropChance=[[RED]]Szansa na fachowa wycinke: [[YELLOW]]{0}% +m.WoodCuttingTreeFellerLength=[[RED]]Czas trwania powalacza drzew: [[YELLOW]]{0} sekund +m.SkillArchery=LUCZNICTWO +m.XPGainArchery=Atakowanie potworow przy uzyciu luku. +m.EffectsArchery1_0=Podpalenie +m.EffectsArchery1_1=25% szansa na podpalenie wroga. +m.EffectsArchery2_0=Oszolomienie(Tylko na graczy) +m.EffectsArchery2_1=Dezorientuje przeciwnika. +m.EffectsArchery3_0=Wieksze obrazenia +m.EffectsArchery3_1=Zwieksza obrazenia zadawane lukiem. +m.EffectsArchery4_0=Odzyskiwanie strzal +m.EffectsArchery4_1=Szansa na odzyskanie strzal z cial wrogow. +m.ArcheryDazeChance=[[RED]]Szansa na oszolomienie: [[YELLOW]]{0}% +m.ArcheryRetrieveChance=[[RED]]Szansa na odzyskanie strzal: [[YELLOW]]{0}% +m.ArcheryIgnitionLength=[[RED]]Dlugosc podpalenia: [[YELLOW]]{0} sekund +m.ArcheryDamagePlus=[[RED]]Wieksze obrazenia (Rank{0}): [[YELLOW]]Obrazenia zwiekszone o {0} +m.SkillAxes=TOPORY +m.XPGainAxes=Atakowanie potworow przy uzyciu toporow. +m.EffectsAxes1_0=Berserk (UMIEJETNOSC) +m.EffectsAxes1_1=Zadaje obrazenia wszystkiemu dookola. +m.EffectsAxes2_0=Krytyczne uderzenie +m.EffectsAxes2_1=Potrafisz trafic wroga tam gdzie boli, zadajac podwojne obrazenia. +m.EffectsAxes3_0=Doswiadczony wojownik +m.EffectsAxes3_1=Mordowanie setek potworow zwiekszylo twoja sile i celnosc. Zadajesz wiecej obrazen. +m.AbilLockAxes1=Aby odblokowac doswiadczonego wojownika, zdobadz 500 poziom. +m.AbilBonusAxes1_0=Doswiadczony wojownik +m.AbilBonusAxes1_1=Zadajesz dodatkowe 4 punkty obrazen. +m.AxesCritChance=[[RED]]Szansa na krytyczne uderzenie: [[YELLOW]]{0}% +m.AxesSkullLength=[[RED]]Dlugosc berserku: [[YELLOW]]{0} sekund +m.SkillSwords=MIECZE +m.XPGainSwords=Atakowanie potworow przy uzyciu mieczy. +m.EffectsSwords1_0=Kontratak +m.EffectsSwords1_1=Nikt bezkarnie cie nie zrani. Oddajesz przeciwnikowi 50% otrzymanych obrazen. +m.EffectsSwords2_0=Furia ostrzy (UMIEJETNOSC) +m.EffectsSwords2_1=25% obrazen obszarowych powodujacych krwotok. +m.EffectsSwords3_0=Krwawa furia ostrzy +m.EffectsSwords3_1=Celujesz w zyly i tetnice, pododujac jak najwiecej ran. +m.EffectsSwords4_0=Blok +m.EffectsSwords4_1=Calkowicie blokujesz cios. +m.EffectsSwords5_0=Krwotok +m.EffectsSwords5_1=Powoduje krwawiace otwarte rany. +m.SwordsCounterAttChance=[[RED]]Szansa na kontratak: [[YELLOW]]{0}% +m.SwordsBleedLength=[[RED]]Rany zadawane krwotokiem: [[YELLOW]]{0} ran. +m.SwordsBleedChance=[[RED]]Szansa na spowodowanie krwotoku: [[YELLOW]]{0} % +m.SwordsParryChance=[[RED]]Szansa na blok: [[YELLOW]]{0} % +m.SwordsSSLength=[[RED]]Dlugosc furii ostrzy: [[YELLOW]]{0} sekund +m.SwordsTickNote=[[GRAY]]UWAGA: [[YELLOW]]1 rana goi sie co 2 sekundy. +m.SkillAcrobatics=AKROBATYKA +m.XPGainAcrobatics=Spadanie +m.EffectsAcrobatics1_0=Przewrot +m.EffectsAcrobatics1_1=Zmniejsza badz niweluje obrazenia. +m.EffectsAcrobatics2_0=Idealny przewrot +m.EffectsAcrobatics2_1=Dwa razy skuteczniejszy od normalnego. +m.EffectsAcrobatics3_0=Unik +m.EffectsAcrobatics3_1=Redukuje obrazenia o polowe. +m.AcrobaticsRollChance=[[RED]]Szansa na przewrot: [[YELLOW]]{0}% +m.AcrobaticsGracefulRollChance=[[RED]]Szansa na idealny przewrot: [[YELLOW]]{0}% +m.AcrobaticsDodgeChance=[[RED]]Szansa na unik: [[YELLOW]]{0}% +m.SkillMining=GORNICTWO +m.XPGainMining=Wykopywanie kamienia i roznych rud. +m.EffectsMining1_0=Super kopacz (UMIEJETNOSC) +m.EffectsMining1_1=Kopiesz sybciej i marnujesz trzy razy mniej rudy. +m.EffectsMining2_0=Fachowy wykop +m.EffectsMining2_1=Pozyskujesz dwa razy wiecej rudy. Nic sie nie marnuje. +m.MiningDoubleDropChance=[[RED]]Szansa na fachowy wykop: [[YELLOW]]{0}% +m.MiningSuperBreakerLength=[[RED]]Dlugosc super kopania: [[YELLOW]]{0} sekund +m.SkillRepair=NAPRAWA +m.XPGainRepair=Naprawianie przedmiotow. +m.EffectsRepair1_0=Naprawa +m.EffectsRepair1_1=Naprawianie zelaznych przedmiotow. +m.EffectsRepair2_0=Mistrz naprawy +m.EffectsRepair2_1=Zwiekszona liczba napraw. +m.EffectsRepair3_0=Fachowa naprawa +m.EffectsRepair3_1=Naprawiles przedmiot dwa razy lepiej niz zwykle. +m.EffectsRepair4_0=Diamentowa odnowa ({0}+ UMIEJETNOSC) +m.EffectsRepair4_1=Naprawia diamentowe przedmioty. +m.RepairRepairMastery=[[RED]]Mistrz naprawy: [[YELLOW]]Dodatkowe {0}% wytrzymalosci odzyskane. +m.RepairSuperRepairChance=[[RED]]Szansa na fachowa naprawe: [[YELLOW]]{0}% +m.SkillUnarmed=KUNG-FU +m.XPGainUnarmed=Atakowanie potworow bez broni. +m.EffectsUnarmed1_0=Wejscie Smoka (UMIEJETNOSC) +m.EffectsUnarmed1_1=Polowe wieksze obrazenia, niszczy slabe przedmioty. +m.EffectsUnarmed2_0=Rozbrojenie (Tylko graczy) +m.EffectsUnarmed2_1=Przeciwnik upuszcza trzymany w reku przedmiot. +m.EffectsUnarmed3_0=Wsciekle Piesci +m.EffectsUnarmed3_1=Znaczne zwiekszenie zadawanych obrazen. +m.EffectsUnarmed4_0=Droga Smoka +m.EffectsUnarmed4_1=Zwiekszenie zadawanych obrazen. +m.EffectsUnarmed5_0=Odbicie strzaly +m.EffectsUnarmed5_1=Golymi rekoma potrafisz odbic nadlatujaca strzale. +m.AbilLockUnarmed1=Aby odblokowac Droge Smoka, zdobadz 250 poziom. +m.AbilLockUnarmed2=Aby odblokowac Wsciekle Piesci, zdobadz 500 poziom. +m.AbilBonusUnarmed1_0=Droga Smoka +m.AbilBonusUnarmed1_1=Zadawane obrazenia zwiekszone o 2. +m.AbilBonusUnarmed2_0=Wsciekle Piesci +m.AbilBonusUnarmed2_1=Zadawane obrazenia zwiekszone o 4. +m.UnarmedArrowDeflectChance=[[RED]]Szansa na odbicie strzaly: [[YELLOW]]{0}% +m.UnarmedDisarmChance=[[RED]]Szansa na rozbrojenie: [[YELLOW]]{0}% +m.UnarmedBerserkLength=[[RED]]Dlugosc Wejscia Smoka: [[YELLOW]]{0} sekund. +m.SkillHerbalism=ZIELARSTWO +m.XPGainHerbalism=Zbieranie ziol. +m.EffectsHerbalism1_0=Zielona ziemia (UMIEJETNOSC) +m.EffectsHerbalism1_1=Rozprzestrzenia ziemie, potraja plony. +m.EffectsHerbalism2_0=Wprawne rece (zboze) +m.EffectsHerbalism2_1=Zbierajac zboze, od razu sadzisz nasiona. +m.EffectsHerbalism3_0=Wprawne rece (bruk) +m.EffectsHerbalism3_1=Zamienia bruk w porosniety mchem kamien z nasionami. +m.EffectsHerbalism4_0=Lepsze jedzenie +m.EffectsHerbalism4_1=Modyfikowana genetycznie zywnosc jest zdrowsza. Chleb i zupa chlebowa regeneruja wiecej zdrowia. +m.EffectsHerbalism5_0=Udane zbiory +m.EffectsHerbalism5_1=Dwa razy wieksze plony wszystkich roslin. +m.HerbalismGreenTerraLength=[[RED]]Czas trwania zielonej ziemi: [[YELLOW]]{0} sekund +m.HerbalismGreenThumbChance=[[RED]]Szansa na wprawne rece: [[YELLOW]]{0}% +m.HerbalismGreenThumbStage=[[RED]]Poziom wprawnych rak: [[YELLOW]] Zboze rosnie na poziomie {0} +m.HerbalismDoubleDropChance=[[RED]]Szansa na udane zbiory: [[YELLOW]]{0}% +m.HerbalismFoodPlus=[[RED]]Lepsze jedzenie (Ranga{0}): [[YELLOW]]Dodatkowe {0} zdrowia +m.SkillExcavation=WYKOPALISKA +m.XPGainExcavation=Kopanie i odnajdywanie skarbow. +m.EffectsExcavation1_0=Super Szybka Saperka (UMIEJETNOSC) +m.EffectsExcavation1_1=Zwiekszona szybkosc kopania i trzykrotnie wiekszy urobek i zdobyte doswiadczenie. +m.EffectsExcavation2_0=Lowca Skarbow +m.EffectsExcavation2_1=Umiejetnosc znajdywania skarbow +m.ExcavationGreenTerraLength=[[RED]]Czas trwania Super Szybkiej Saperki: [[YELLOW]]{0} sekund. +mcBlockListener.PlacedAnvil=[[DARK_RED]]Polozyles kowadlo, ktore pozwala na naprawe przedmiotow. +mcEntityListener.WolfComesBack=[[DARK_GRAY]]Twoj wilk przybiega z powrotem. +mcPlayerListener.AbilitiesOff=Uzywanie umiejetnosci wylaczone +mcPlayerListener.AbilitiesOn=Uzywanie umiejetnosci wlaczone +mcPlayerListener.AbilitiesRefreshed=[[GREEN]]**UMIEJETNOSCI ODSWIEZONE\!** +mcPlayerListener.AcrobaticsSkill=Akrobatyka: +mcPlayerListener.ArcherySkill=Lucznictwo: +mcPlayerListener.AxesSkill=Topory: +mcPlayerListener.ExcavationSkill=Wykopaliska: +mcPlayerListener.GodModeDisabled=[[YELLOW]]Niesmiertelnosc wylaczona +mcPlayerListener.GodModeEnabled=[[YELLOW]]Niesmiertelnosc wlaczona +mcPlayerListener.GreenThumb=[[GREEN]]**UZYLES ZIELONEJ ZIEMI** +mcPlayerListener.GreenThumbFail=[[RED]]**UZYWANIE ZIELONEJ ZIEMI NIE POWIODLO SIE** +mcPlayerListener.HerbalismSkill=Zielarstwo: +mcPlayerListener.MiningSkill=Gornictwo: +mcPlayerListener.MyspawnCleared=[[DARK_AQUA]]Twoj spawn zostal usuniety. +mcPlayerListener.MyspawnNotExist=[[RED]]Musisz ustawic swoj spawn za pomoca lozka. +mcPlayerListener.MyspawnSet=[[DARK_AQUA]]Twoj spawn zostal ustawiony na twoje aktualne polozenie. +mcPlayerListener.MyspawnTimeNotice=Musisz zaczekac {0} minut i {1} sekund aby przeteleportowac sie na spawn. +mcPlayerListener.NoPermission=Brak mcPermissions. +mcPlayerListener.NoSkillNote=[[DARK_GRAY]]Umiejetnosci, ktorych nie mozesz uzyc nie sa wyswietlane. +mcPlayerListener.NotInParty=[[RED]]Nie jestes w grupie. +mcPlayerListener.InviteSuccess=[[GREEN]]Zaproszenie wyslane. +mcPlayerListener.ReceivedInvite1=[[RED]]UWAGA: [[GREEN]]Dostales zaproszenie do grupy {0} od {1}. +mcPlayerListener.ReceivedInvite2=[[YELLOW]Wpisz [[GREEN]]/{0}[[YELLOW]] aby zaakceptowac zaproszenie. +mcPlayerListener.InviteAccepted=[[GREEN]]Zaproszenie akceptowane. Doszles do grupy {0}. +mcPlayerListener.NoInvites=[[RED]]Nie masz zaproszen do zadnej grupy. +mcPlayerListener.YouAreInParty=[[GREEN]]Jestes w grupie {0}. +mcPlayerListener.PartyMembers=[[GREEN]]Czlonkowie grupy +mcPlayerListener.LeftParty=[[RED]]Wyszles z tej grupy. +mcPlayerListener.JoinedParty=Doszedles do grupy: {0} +mcPlayerListener.PartyChatOn=Chat tylko dla grupy [[GREEN]]WLACZONY +mcPlayerListener.PartyChatOff=Chat tylko dla grupy [[RED]]WYLACZONY +mcPlayerListener.AdminChatOn=Chat tylko dla adminow [[GREEN]]WLACZONY +mcPlayerListener.AdminChatOff=Chat tylko dla adminow [[RED]]WYLACZONY +mcPlayerListener.MOTD=[[BLUE]]Ten server uzywa plugina mcMMO {0} wpisz [[YELLOW]]/{1}[[BLUE]] aby uzyskac pomoc. +mcPlayerListener.WIKI=[[GREEN]]http://mcmmo.wikia.com[[BLUE]] - mcMMO Wiki +mcPlayerListener.PowerLevel=[[DARK_RED]]POZIOM MOCY: +mcPlayerListener.PowerLevelLeaderboard=[[YELLOW]]--Ranking [[BLUE]]poziomu mocy [[YELLOW]]mcMMO-- +mcPlayerListener.SkillLeaderboard=[[YELLOW]]--Ranking [[BLUE]]{0}[[YELLOW]] mcMMO-- +mcPlayerListener.RepairSkill=Naprawa: +mcPlayerListener.SwordsSkill=Miecze: +mcPlayerListener.TamingSkill=Oswajanie: +mcPlayerListener.UnarmedSkill=Kung-fu: +mcPlayerListener.WoodcuttingSkill=Drwalnictwo: +mcPlayerListener.YourStats=[[GREEN]][mcMMO] Statystyki +Party.InformedOnJoin={0} [[GREEN]] dolaczyl do twojej grupy. +Party.InformedOnQuit={0} [[GREEN]] wyszedl z twojej grupy. +Skills.YourGreenTerra=[[GREEN]]Twoja umiejetnosc [[YELLOW]]zielona ziemia [[GREEN]]zostala naladowana! +Skills.YourTreeFeller=[[GREEN]]Twoja umiejetnosc [[YELLOW]]powalacz drzew [[GREEN]]zostala naladowana! +Skills.YourSuperBreaker=[[GREEN]]Twoja umiejetnosc [[YELLOW]]Super kopacz [[GREEN]]zostala naladowana! +Skills.YourSerratedStrikes=[[GREEN]]Twoja umiejetnosc [[YELLOW]]furia ostrzy [[GREEN]]zostala naladowana! +Skills.YourBerserk=[[GREEN]]Twoja umiejetnosc [[YELLOW]]Wejscie Smoka [[GREEN]]zostala naladowana! +Skills.YourSkullSplitter=[[GREEN]]Twoja umiejetnosc [[YELLOW]]berserk [[GREEN]]zostala naladowana! +Skills.YourGigaDrillBreaker=[[GREEN]]Twoja umiejetnosc [[YELLOW]]Super Szybka Saperka [[GREEN]]zostala naladowana! +Skills.TooTired=[[RED]]Musisz odpoczac zanim ponownie uzyjesz tej umiejetnosci. +Skills.ReadyHoe=[[GREEN]]**PODNOSISZ SWOJA MOTYKE** +Skills.LowerHoe=[[GRAY]]**OPUSZCZASZ SWOJA MOTYKE** +Skills.ReadyAxe=[[GREEN]]**PODNOSISZ SWOJ TOPOR** +Skills.LowerAxe=[[GRAY]]**OPUSZCZASZ SWOJ TOPOR** +Skills.ReadyFists=[[GREEN]]**PODNOSISZ SWOJE PIESCI** +Skills.LowerFists=[[GRAY]]**OPUSZCZASZ SWOJE PIESCI** +Skills.ReadyPickAxe=[[GREEN]]**PODNOSISZ SWOJ KILOF** +Skills.LowerPickAxe=[[GRAY]]**OPUSZCZASZ SWOJ KILOF** +Skills.ReadyShovel=[[GREEN]]**PODNOSISZ SWOJA LOPATE** +Skills.LowerShovel=[[GRAY]]**OPUSZCZASZ SWOJA LOPATE** +Skills.ReadySword=[[GREEN]]**PODNOSISZ SWOJ MIECZ** +Skills.LowerSword=[[GRAY]]**OPUSZCZASZ SWOJ MIECZ** +Skills.BerserkOn=[[GREEN]]**ROBISZ WEJSCIE SMOKA** +Skills.BerserkPlayer=[[GREEN]]{0}[[DARK_GREEN]] zrobil [[RED]]Wejscie Smoka! +Skills.GreenTerraOn=[[GREEN]]**ZIELONA ZIEMIA** +Skills.GreenTerraPlayer=[[GREEN]]{0}[[DARK_GREEN]] uzyl [[RED]]zielonej ziemi! +Skills.TreeFellerOn=[[GREEN]]**POWALACZ DRZEW** +Skills.TreeFellerPlayer=[[GREEN]]{0}[[DARK_GREEN]] uzyl [[RED]]powalacza drzew! +Skills.SuperBreakerOn=[[GREEN]]**SUPER KOPACZ** +Skills.SuperBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] uzyl [[RED]]Super Kopacza! +Skills.SerratedStrikesOn=[[GREEN]]**FURIA OSTRZY** +Skills.SerratedStrikesPlayer=[[GREEN]]{0}[[DARK_GREEN]] uzyl [[RED]]furii ostrzy! +Skills.SkullSplitterOn=[[GREEN]]**BERSERK** +Skills.SkullSplitterPlayer=[[GREEN]]{0}[[DARK_GREEN]] wpadl w [[RED]]berserk! +Skills.GigaDrillBreakerOn=[[GREEN]]**SUPER SZYBKA SAPERKA** +Skills.GigaDrillBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] uzyl [[RED]]Super Szybkiej Saperki! +Skills.GreenTerraOff=[[RED]]**Zielona ziemia zostala zuzyta** +Skills.TreeFellerOff=[[RED]]**Powalacz drzew zostal zuzyty** +Skills.SuperBreakerOff=[[RED]]**Super Kopacz zostal zuzyty** +Skills.SerratedStrikesOff=[[RED]]**Furia ostrzy zostala zuzyta** +Skills.BerserkOff=[[RED]]**Wejscie Smoka zostalo zuzyte** +Skills.SkullSplitterOff=[[RED]]**Berserk zostal zuzyty** +Skills.GigaDrillBreakerOff=[[RED]]**Super Szybka Saperka zostala zuzyta** +Skills.TamingUp=[[YELLOW]]Umiejetnosc oswajania wzrosla o {0}. Razem ({1}) +Skills.AcrobaticsUp=[[YELLOW]]Umiejetnosci akrobatyczne wzrosly o {0}. Razem ({1}) +Skills.ArcheryUp=[[YELLOW]]Umiejetnosci lucznicze wzrosly o {0}. Razem ({1}) +Skills.SwordsUp=[[YELLOW]]Umiejetnosc uzywania mieczy wzrosla o {0}. Razem ({1}) +Skills.AxesUp=[[YELLOW]]Umiejetnosc uzywania toporow wzrosla o {0}. Razem ({1}) +Skills.UnarmedUp=[[YELLOW]]Znajomosc Kung-Fu wzrosla o {0}. Razem ({1}) +Skills.HerbalismUp=[[YELLOW]]Znajomosc zielarstwa wzrosla o {0}. Razem ({1}) +Skills.MiningUp=[[YELLOW]]Umiejetnosci gornicze wzrosly o {0}. Razem ({1}) +Skills.WoodcuttingUp=[[YELLOW]]Umiejetnosci drwalnicze wzrosly o {0}. Razem ({1}) +Skills.RepairUp=[[YELLOW]]Umiejetnosc naprawy wzrosla o {0}. Razem ({1}) +Skills.ExcavationUp=[[YELLOW]]Umiejetnosci wykopaliskowe wzrosly o {0}. Razem ({1}) +Skills.FeltEasy=[[GRAY]]To bylo proste. +Skills.StackedItems=[[DARK_RED]]Nie mozesz naprawiac grup przedmiotow. +Skills.NeedMore=[[DARK_RED]]Potrzebujesz wiecej +Skills.AdeptDiamond=[[DARK_RED]]Nie potrafisz jeszcze naprawiac diamentow +Skills.FullDurability=[[GRAY]]Ten przedmiot nie wymaga naprawy. +Skills.Disarmed=[[DARK_RED]]Zostales rozbrojony! +mcPlayerListener.SorcerySkill=Magia: +m.SkillSorcery=MAGIA +Sorcery.HasCast=[[GREEN]]**RZUCANIE ZAKLECIA**[[GOLD]] +Sorcery.Current_Mana=[[DARK_AQUA]]Mana +Sorcery.SpellSelected=[[GREEN]]-=([[GOLD]]{0}[[GREEN]])=- [[RED]]([[GRAY]]{1}[[RED]]) +Sorcery.Cost=[[RED]][COST] {0} Many +Sorcery.OOM=[[DARK_AQUA]][[[GOLD]]{2}[[DARK_AQUA]]][[DARK_GRAY]] Brak Many [[YELLOW]]([[RED]]{0}[[YELLOW]]/[[GRAY]]{1}[[YELLOW]]) +Sorcery.Water.Thunder=PIORUN +Sorcery.Curative.Self=ULECZ SIEBIE +Sorcery.Curative.Other=ULECZ INNYCH +m.LVL=[[DARK_GRAY]]LVL: [[GREEN]]{0} [[DARK_AQUA]]Doswiadczenia[[YELLOW]]([[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]]) +Combat.BeastLore=[[GREEN]]**WIEDZA O ZWIERZETACH** +Combat.BeastLoreOwner=[[DARK_AQUA]]Wlasciciel ([[RED]]{0}[[DARK_AQUA]]) +Combat.BeastLoreHealthWolfTamed=[[DARK_AQUA]]Zycie ([[GREEN]]{0}[[DARK_AQUA]]/20) +Combat.BeastLoreHealthWolf=[[DARK_AQUA]]Zycie ([[GREEN]]{0}[[DARK_AQUA]]/8) +mcMMO.Description=[[DARK_AQUA]]P: Czym jest mcMMO?,[[GOLD]]mcMMO jest [[RED]]open source'owym[[GOLD]] RPG modem korzystajacym z Bukkita, autorstwa [[BLUE]]nossr50,[[GOLD]]mcMMO dodaje wiele umiejetnosci do Minecrafta.,[[GOLD]]Mozna rowniez zbierac doswiadczenie na rozne sposoby,[[GOLD]]Najlepiej wpisac [[GREEN]]/nazwaumiejetnosci[[GOLD]] aby dowiedziec sie wiecej o niej.,[[DARK_AQUA]]P: A co robi mcMMO?,[[GOLD]]Dla przykladu, [[DARK_AQUA]]gornictwo[[GOLD]] pozwala na [[RED]]zwiekszone zyski[[GOLD]] oraz daje mozliwosc [[RED]]szybszego kopania[[GOLD]], ktore mozna [[GOLD]]aktywowac prawym przyciskiem myszy i trwa dluzej [[GOLD]]im wyzszy masz poziom. Zdobywanie poziomow w [[BLUE]]gornictwie[[GOLD]] odbywa sie przez zwyczajne wykopywanie roznych mineralow.,[[DARK_AQUA]]P: Co to wszystko daje?,[[GOLD]]Prawie wszystkie umiejetnosci w [[GREEN]]mcMMO[[GOLD]] dodaja nowe fajne rzeczy!.,[[GOLD]]Wpisujac [[GREEN]]/{0}[[GOLD]] poznasz wszystkie dostepne polecenia,[[GOLD]]Celem mcMMO jest sprawienie aby Minecraft stal sie prawie eRPeGiem.,[[DARK_AQUA]]P: Mam genialny pomysl, dodasz to!?,[[GOLD]]Napisz w temacie mcMMO na forum bukkit i zobaczymy!,[[DARK_AQUA]]Q: A jak zrobic to albo tamto?,[[RED]]CZYTAJ [[GOLD]]strone wiki moda! [[DARK_AQUA]]mcmmo.wikia.com +Party.Locked=[[RED]]Grupa jest zamknieta, tylko wlasciciel moze dodac graczy. +Party.IsntLocked=[[GRAY]]Grupa jest otwarta dla wszystkich. +Party.Unlocked=[[GRAY]]Grupa jest otwarta dla wszystkich. +Party.Help1=[[RED]]Prawidlowe polecenie to [[YELLOW]]/{0} [[WHITE]][[YELLOW]] lub [[WHITE]]'q' [[YELLOW]]aby wyjsc. +Party.Help2=[[RED]]Aby dolaczyc do grupy zabezpieczonej haslem wpisz[[YELLOW]]/{0} [[WHITE]] +Party.Help3=[[RED]]Sprawdz /{0} ? aby dowiedziec sie wiecej. +Party.Help4=[[RED]]Wpisz [[YELLOW]]/{0} [[WHITE]] [[YELLOW]]aby dolaczyc do grupy lub [[WHITE]]'q' [[YELLOW]]aby z niej wyjsc. +Party.Help5=[[RED]]Aby zamknac grupe wpisz [[YELLOW]]/{0} [[WHITE]]lock +Party.Help6=[[RED]]Aby otworzyc zamknieta grupe wpisz [[YELLOW]]/{0} [[WHITE]]unlock +Party.Help7=[[RED]]Aby zabezpieczyc grupe haslem wpisz [[YELLOW]]/{0} [[WHITE]]password +Party.Help8=[[RED]]Aby wyrzucic gracza z grupy wpisz [[YELLOW]]/{0} [[WHITE]]kick +Party.Help9=[[RED]]Aby przekazac wladze w grupie innej osobie wpisz [[YELLOW]]/{0} [[WHITE]]owner +Party.NotOwner=[[DARK_RED]]Nie jestes wlascicielem tej grupy. +Party.InvalidName=[[DARK_RED]]To nie jest dozwolona nazwa grupy. +Party.PasswordSet=[[GREEN]]Haslo grupy zmienione na: {0} +Party.CouldNotKick=[[DARK_RED]]Nie mozna wyrzucic gracza {0} +Party.NotInYourParty=[[DARK_RED]]{0} nie jest czlonkiem twojej grupy. +Party.CouldNotSetOwner=[[DARK_RED]]Nie mozna przekazac grupy do {0} +Commands.xprate.proper=[[DARK_AQUA]]Proper usage is /{0} [integer] [true:false] +Commands.xprate.proper2=[[DARK_AQUA]]Also you can type /{0} reset to turn everything back to normal +Commands.xprate.proper3=[[RED]]Enter true or false for the second value +Commands.xprate.over=[[RED]]mcMMO XP Rate Event is OVER!! +Commands.xprate.started=[[GOLD]]XP EVENT FOR mcMMO HAS STARTED! +Commands.xprate.started2=[[GOLD]]mcMMO XP RATE IS NOW {0}x!! +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.invalid=[[RED]]That is not a valid skillname! Try /xplock mining \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/locale/locale_pt_br.properties b/src/com/gmail/nossr50/locale/locale_pt_br.properties similarity index 98% rename from mcMMO/com/gmail/nossr50/locale/locale_pt_br.properties rename to src/com/gmail/nossr50/locale/locale_pt_br.properties index 67f660e05..a019dda06 100644 --- a/mcMMO/com/gmail/nossr50/locale/locale_pt_br.properties +++ b/src/com/gmail/nossr50/locale/locale_pt_br.properties @@ -1,366 +1,366 @@ -Combat.WolfExamine=[[GREEN]]*Você examinou um lobo usando Conhecimento de Feras* -Combat.WolfShowMaster=[[DARK_GREEN]]O Mestre das Feras \: {0} -Combat.Ignition=[[RED]]*IGNIÇAO* -Combat.BurningArrowHit=[[DARK_RED]]Você foi atingido por uma flecha flamejante\! -Combat.TouchedFuzzy=[[DARK_RED]]Visao turva. Sente Tonturas. -Combat.TargetDazed=Alvo foi [[DARK_RED]]Atordoado -Combat.WolfNoMaster=[[GRAY]]Esse Animal nao tem um mestre... -Combat.WolfHealth=[[GREEN]]Esse animal tem {0} de vida -Combat.StruckByGore=[[RED]]*ATINGIDO POR MORDIDA* -Combat.Gore=[[GREEN]]*MORDIDA* -Combat.ArrowDeflect=[[WHITE]]*DESVIOU A FLECHA* -Item.ChimaeraWingFail=*ASA QUIMERA FALHOU\!* -Item.ChimaeraWingPass=*ASA QUIMERA* -Item.InjuredWait=Você foi ferido recentemente e tem que esperar para usar isto. [[YELLOW]]({0}s) -Item.NeedFeathers=[[GRAY]]Você precisa de mais penas... -m.mccPartyCommands=[[GREEN]]--COMANDOS DE EQUIPES-- -m.mccParty=[party name] [[RED]]- Criar/Juntar-se a uma equipe -m.mccPartyQ=[[RED]]- Sair da equipe atual -m.mccPartyToggle=[[RED]] - Ligar/Desligar chat da equipe -m.mccPartyInvite=[player name] [[RED]]- Enviar um convite -m.mccPartyAccept=[[RED]]- Aceitar convite -m.mccPartyTeleport=[party member name] [[RED]]- Teleportar para um membro de equipe -m.mccOtherCommands=[[GREEN]]--OUTROS COMANDOS-- -m.mccStats=- Ver seus status -m.mccLeaderboards=- Classificaçao -m.mccMySpawn=- Teleportar para o spawn -m.mccClearMySpawn=- Remove o Ponto de Spawn -m.mccToggleAbility=- Ativa habilidades especiais com botao direito -m.mccAdminToggle=- Ativa o chat dos admin -m.mccWhois=[playername] [[RED]]- Ver informaçoes do jogador -m.mccMmoedit=[playername] [skill] [newvalue] [[RED]]- Modificar atributos do jogador -m.mccMcGod=- Modo Deus -m.mccSkillInfo=[skillname] [[RED]]- Ver informaçoes sobre a habilidade -m.mccModDescription=[[RED]]- Breve descriçao do Mod -m.SkillHeader=[[RED]]-----[][[GREEN]]{0}[[RED]][]----- -m.XPGain=[[DARK_GRAY]]COMO GANHA XP: [[WHITE]]{0} -m.EffectsTemplate=[[DARK_AQUA]]{0}: [[GREEN]]{1} -m.AbilityLockTemplate=[[GRAY]]{0} -m.AbilityBonusTemplate=[[RED]]{0}: [[YELLOW]]{1} -m.Effects=EFEITOS -m.YourStats=SUAS ESTATISTICAS - -m.SkillTaming=DOMESTICAR -m.XPGainTaming=Ataque com um lobo -m.EffectsTaming1_0=Conhecimento de Feras -m.EffectsTaming1_1=Inspeciona um lobo com um osso -m.EffectsTaming2_0=Mordida -m.EffectsTaming2_1=Ataque crítico que causa hemorragia -m.EffectsTaming3_0=Garras afiadas -m.EffectsTaming3_1=Bônus de Dano -m.EffectsTaming4_0=Consciência do Ambiente -m.EffectsTaming4_1=Medo de Cactos e Lava, Imune a Dano por queda -m.EffectsTaming5_0=Pele Grossa -m.EffectsTaming5_1=Reduçao nos Danos, Resistência ao fogo -m.EffectsTaming6_0=A Prova de Choque -m.EffectsTaming6_1=Reduz danos tomados com explosivos -m.AbilLockTaming1=DESBLOQUEIE NO NIVEL 100 (Conciência do ambiente) -m.AbilLockTaming2=DESBLOQUEIE NO NIVEL 250 (Pele grossa) -m.AbilLockTaming3=DESBLOQUEIE NO NIVEL 500 (A prova de choque) -m.AbilLockTaming4=DESBLOQUEIE NO NIVEL 750 (Garras afiadas) -m.AbilBonusTaming1_0=Conciência do ambiente -m.AbilBonusTaming1_1=Lobos evitam perigo -m.AbilBonusTaming2_0=Pele grossa -m.AbilBonusTaming2_1=Danos pela metade, Resistência ao fogo -m.AbilBonusTaming3_0=A prova de choque -m.AbilBonusTaming3_1=Explosivos causam 1/6 do dano normal -m.AbilBonusTaming4_0=Garras afiadas -m.AbilBonusTaming4_1=+2 Dano -m.TamingGoreChance=[[RED]]Chance de Mordida: [[YELLOW]]{0}% - -m.SkillWoodCutting=LENHADOR -m.XPGainWoodCutting=Cortando árvores -m.EffectsWoodCutting1_0=Derrubador de árvores (HABILIDADE ESPECIAL) -m.EffectsWoodCutting1_1=Explode árvores -m.EffectsWoodCutting2_0=Soprador de Folhas -m.EffectsWoodCutting2_1=Destrói folhas rapidamente -m.EffectsWoodCutting3_0=Drop x2 -m.EffectsWoodCutting3_1=Dobra a quantidade de item dropados -m.AbilLockWoodCutting1=DESBLOQUEIE NO NIVEL 100 (SOPRADOR DE FOLHAS) -m.AbilBonusWoodCutting1_0=Soprador de Folhas -m.AbilBonusWoodCutting1_1=Destrói folhas rapidamente -m.WoodCuttingDoubleDropChance=[[RED]]Chance de Drop x2: [[YELLOW]]{0}% -m.WoodCuttingTreeFellerLength=[[RED]]Duraçao do Derrubador de árvores: [[YELLOW]]{0}s - -m.SkillArchery=ARCO E FLECHA -m.XPGainArchery=Atacando monstros/ -m.EffectsArchery1_0=Igniçao -m.EffectsArchery1_1=25% de chance dos inimigos pegarem fogo -m.EffectsArchery2_0=Atordoar (Jogadores) -m.EffectsArchery2_1=Desorienta os adversários -m.EffectsArchery3_0=+Dano -m.EffectsArchery3_1=Aumenta o Dano -m.EffectsArchery4_0=Recuperar Flechas -m.EffectsArchery4_1=Chance de recuperar flechas de corpos -m.ArcheryDazeChance=[[RED]]Chance de atordoar: [[YELLOW]]{0}% -m.ArcheryRetrieveChance=[[RED]]Chance de recuperar flechas: [[YELLOW]]{0}% -m.ArcheryIgnitionLength=[[RED]]Duraçao da Igniçao: [[YELLOW]]{0}s -m.ArcheryDamagePlus=[[RED]]+Dano (Rank{0}): [[YELLOW]]Bonus de {0} dano - -m.SkillAxes=MACHADOS -m.XPGainAxes=Atacando monstros -m.EffectsAxes1_0=Rachador de Crânios (HABILIDADE ESPECIAL) -m.EffectsAxes1_1=Causa Danos em Area -m.EffectsAxes2_0=Ataques Críticos -m.EffectsAxes2_1=Dobra o Dano -m.EffectsAxes3_0=Mestre com Machados (NIVEL 500) -m.EffectsAxes3_1=Aumenta o Dano -m.AbilLockAxes1=DESBLOQUEIE NO NIVEL 500 (Mestre com Machados) -m.AbilBonusAxes1_0=Mestre com Machados/ -m.AbilBonusAxes1_1=Bônus de 4 de dano -m.AxesCritChance=[[RED]]Chance ataque crítico: [[YELLOW]]{0}% -m.AxesSkullLength=[[RED]]Duraçao do Rachador de Crânios: [[YELLOW]]{0}s - -m.SkillSwords=ESPADAS -m.XPGainSwords=Atacando monstros -m.EffectsSwords1_0=Contra-Ataque -m.EffectsSwords1_1=Retorna 50% do dano tomado -m.EffectsSwords2_0=Ataques Cortantes (HABILIDADE ESPECIAL) -m.EffectsSwords2_1=25% de Danos em Area, e Efeito de Hemorraria -m.EffectsSwords3_0=Ataque Cortante com Hemorragia -m.EffectsSwords3_1=5 Sangramentos -m.EffectsSwords4_0=Desviar -m.EffectsSwords4_1=Anula o Dano -m.EffectsSwords5_0=Hemorragia -m.EffectsSwords5_1=Causa sangramentos repetidos ao longo do tempo -m.SwordsCounterAttChance=[[RED]]Chance de Contra-Ataque: [[YELLOW]]{0}% -m.SwordsBleedLength=[[RED]]Duraçao da Hemorragia: [[YELLOW]]{0} ticks -m.SwordsBleedChance=[[RED]]Chance de Hemorragia: [[YELLOW]]{0} % -m.SwordsParryChance=[[RED]]Chance de Desviar: [[YELLOW]]{0} % -m.SwordsSSLength=[[RED]]Duraçao do Ataques Cortantes: [[YELLOW]]{0}s -m.SwordsTickNote=[[GRAY]]NOTA: [[YELLOW]]1 sangramento a cada 2 segundos - -m.SkillAcrobatics=ACROBACIA -m.XPGainAcrobatics=Caindo -m.EffectsAcrobatics1_0=Rolar -m.EffectsAcrobatics1_1=Reduz ou anula o dano -m.EffectsAcrobatics2_0=Rolar com estilo -m.EffectsAcrobatics2_1=2 vezes mais efetivo de que "Rolar" -m.EffectsAcrobatics3_0=Esquivar -m.EffectsAcrobatics3_1=Reduz o dano pela metade -m.AcrobaticsRollChance=[[RED]]Chance de Rolar: [[YELLOW]]{0}% -m.AcrobaticsGracefulRollChance=[[RED]]Chance de Rolar com estilo: [[YELLOW]]{0}% -m.AcrobaticsDodgeChance=[[RED]]Chance de Esquivar: [[YELLOW]]{0}% - -m.SkillMining=MINERAÇAO -m.XPGainMining=Minerando Pedras e Minérios -m.EffectsMining1_0=Super Britadeira (HABILIDADE ESPECIAL) -m.EffectsMining1_1=+ Velocidade, Chance de Drop x3 -m.EffectsMining2_0=Drop x2 -m.EffectsMining2_1=Dobra a quantia de itens obtidos minerando -m.MiningDoubleDropChance=[[RED]]Chance de D/rop x2: [[YELLOW]]{0}% -m.MiningSuperBreakerLength=[[RED]]Duraçao da Super Britadeira: [[YELLOW]]{0}s - -m.SkillRepair=REPARAÇAO -m.XPGainRepair=Reparando itens -m.EffectsRepair1_0=Reparar -m.EffectsRepair1_1=Reparando Ferramentas e Armaduras de Ferro -m.EffectsRepair2_0=Mestre em Raparaçao -m.EffectsRepair2_1=Aumenta a quantia reparada -m.EffectsRepair3_0=Super Reparaçao -m.EffectsRepair3_1=Dobra a efetividade da Reparaçao -m.EffectsRepair4_0=Reparaçao de diamantes (Nível {0}) -m.EffectsRepair4_1=Rapara Ferramentas e Armaduras de Diamante -m.RepairRepairMastery=[[RED]]Mestre em Raparaçao: [[YELLOW]]{0}% extra restaurado -m.RepairSuperRepairChance=[[RED]]Chance de Super Reparaçao: [[YELLOW]]{0}% - -m.SkillUnarmed=DESARMADO -m.XPGainUnarmed=Atacando monstros -m.EffectsUnarmed1_0=Fúria (HABILIDADE ESPECIAL) -m.EffectsUnarmed1_1=+50% de Dano, Quebra materiais frágeis -m.EffectsUnarmed2_0=Desarmar (Jogadores) -m.EffectsUnarmed2_1=Derruba a arma que o adversário está segurando -m.EffectsUnarmed3_0=Mestre do Desarmamento -m.EffectsUnarmed3_1=Aumenta muito o Dano -m.EffectsUnarmed4_0=Aprendiz do Desarmamento -m.EffectsUnarmed4_1=Aumenta o Dano -m.EffectsUnarmed5_0=Desviar Flechas -m.EffectsUnarmed5_1=Desvia Flechas jogadas em você -m.AbilLockUnarmed1=DESBLOQUEIE NO NIVEL 250 (APRENDIZ DE DESARMAMENTO) -m.AbilLockUnarmed2=DESBLOQUEIE NO NIVEL 500 (MESTRE DE DESARMAMENTO) -m.AbilBonusUnarmed1_0=Aprendiz do Desarmamento -m.AbilBonusUnarmed1_1=+2 de Danos -m.AbilBonusUnarmed2_0=Mestre do Desarmamento -m.AbilBonusUnarmed2_1=+4 de Danos -m.UnarmedArrowDeflectChance=[[RED]]Chance de Desviar Flechas: [[YELLOW]]{0}% -m.UnarmedDisarmChance=[[RED]]Chance de Desarmar: [[YELLOW]]{0}% -m.UnarmedBerserkLength=[[RED]]Duraçao da Fúria: [[YELLOW]]{0}s - -m.SkillHerbalism=HERBALISMO -m.XPGainHerbalism=Colhendo Ervas -m.EffectsHerbalism1_0=Green Terra (HABILIDADE ESPECIAL) -m.EffectsHerbalism1_1=EXP x3, Drop x3 -m.EffectsHerbalism2_0=Dedos Verdes (Trigo) -m.EffectsHerbalism2_1=Planta automaticamente, ao colher trigo -m.EffectsHerbalism3_0=Dedos Verdes (Pedras) -m.EffectsHerbalism3_1=Transforma Cobblestone em Moss Stone (usa sementes) -m.EffectsHerbalism4_0=Comida+ -m.EffectsHerbalism4_1=Aumenta a vida recebida comendo pao ou sopa -m.EffectsHerbalism5_0=Drop x2 (Todas Ervas) -m.EffectsHerbalism5_1=Dobra a quantia de itens obtidos colhendo -m.HerbalismGreenTerraLength=[[RED]]Duraçao do Green Terra: [[YELLOW]]{0}s -m.HerbalismGreenThumbChance=[[RED]]Chance do Dedos Verdes: [[YELLOW]]{0}% -m.HerbalismGreenThumbStage=[[RED]]Nível do Dedos Verdes: [[YELLOW]] Trigo Cresce no Nível {0} -m.HerbalismDoubleDropChance=[[RED]]Chance de Drop x2: [[YELLOW]]{0}% -m.HerbalismFoodPlus=[[RED]]Comida+ (Rank{0}): [[YELLOW]]Bônus de {0} de vida - -m.SkillExcavation=ESCAVAÇAO -m.XPGainExcavation=Cavando e encontrando tesouros -m.EffectsExcavation1_0=Super Broca (HABILIDADE ESPECIAL) -m.EffectsExcavation1_1=Drop x3, EXP x3, mais velocidade -m.EffectsExcavation2_0=Caçad/or de Tesouros -m.EffectsExcavation2_1=Encontra itens raros enquanto cava -m.ExcavationGreenTerraLength=[[RED]]Duraçao da Super Broca: [[YELLOW]]{0}s - -mcBlockListener.PlacedAnvil=[[DARK_RED]] Você colocou uma bigorna, a bigorna pode reparar ferramentas e armaduras. -mcEntityListener.WolfComesBack=[[DARK_GRAY]]Seu lobo voltou para você... -mcPlayerListener.AbilitiesOff=Habilidade especial desabilitada -mcPlayerListener.AbilitiesOn=Habilidade especial ativada -mcPlayerListener.AbilitiesRefreshed=[[GREEN]]*HABILIDAE DISPONIVEL\!* -mcPlayerListener.AcrobaticsSkill=Acrobacia (Acrobatics): -mcPlayerListener.ArcherySkill=Arqueiro (Archery): -mcPlayerListener.AxesSkill=Machado (Axes): -mcPlayerListener.ExcavationSkill=Escavaçao (Excavation): -mcPlayerListener.GodModeDisabled=[[YELLOW]]mcMMO Modo Deus Desabilitado -mcPlayerListener.GodModeEnabled=[[YELLOW]]mcMMO Modo Deus Ativo -mcPlayerListener.GreenThumb=[[GREEN]]*DEDOS VERDES* -mcPlayerListener.GreenThumbFail=[[RED]]*DEDOS VERDES FALHOU* -mcPlayerListener.HerbalismSkill=Herbalismo (Herbalism): -mcPlayerListener.MiningSkill=Mineraçao (Mining): -mcPlayerListener.MyspawnCleared=[[DARK_AQUA]]Ponto de Spawn foi apagado. -mcPlayerListener.MyspawnNotExist=[[RED]]Primeiro crie um spawn durmindo na cama. -mcPlayerListener.MyspawnSet=[[DARK_AQUA]]Spawn foi gravado neste local. -mcPlayerListener.MyspawnTimeNotice=Você precisa esperar {0}m {1}s para usar "myspawn" -mcPlayerListener.NoPermission=Nao tem permissao para realizar esta açao. -mcPlayerListener.NoSkillNote=[[DARK_GRAY]]Se você nao tem acesso a uma habilidade, ela nao será exibida aqui. -mcPlayerListener.NotInParty=[[RED]]Você nao está em nenhuma equipe. -mcPlayerListener.InviteSuccess=[[GREEN]]Convite enviado. -mcPlayerListener.ReceivedInvite1=[[RED]]ALERTA: [[GREEN]]Você recebeu um convite do {1} para a equipe {0}. -mcPlayerListener.ReceivedInvite2=[[YELLOW]]Digite [[GREEN]]/{0}[[YELLOW]] para aceitar o convite -mcPlayerListener.InviteAccepted=[[GREEN]]Convite aceito. Você se juntou a equipe {0} -mcPlayerListener.NoInvites=[[RED]]Você nao tem convites pendentes. -mcPlayerListener.YouAreInParty=[[GREEN]]Você está na equipe {0} -mcPlayerListener.PartyMembers=[[GREEN]]Membros da Equipe -mcPlayerListener.LeftParty=[[RED]]Você saiu da equipe -mcPlayerListener.JoinedParty=Sua Equipe: {0} -mcPlayerListener.PartyChatOn=Chat da Equipe [[GREEN]]On -mcPlayerListener.PartyChatOff=Chat da Equipe [[RED]]Off -mcPlayerListener.AdminChatOn=Chat do Admin [[GREEN]]On -mcPlayerListener.AdminChatOff=Chat do Admin [[RED]]Off -mcPlayerListener.MOTD=[[BLUE]]Esse Server está rodando o mcMMO {0} digite [[YELLOW]]/{1}[[BLUE]] para obter ajuda. -mcPlayerListener.WIKI=[[BLUE]]Para mais informaçoes - [[GREEN]]http://mcmmo.wikia.com -mcPlayerListener.PowerLevel=[[RED]]NIVEL TOTAL: -mcPlayerListener.PowerLevelLeaderboard=[[BLUE]]-Classificaçao - [[GREEN]]Nível - [[WHITE]]Jogador- -mcPlayerListener.SkillLeaderboard=[[BLUE]]-Classificaçao em [[GREEN]]{0} -mcPlayerListener.RepairSkill=Reparaçao (Repair): -mcPlayerListener.SwordsSkill=Espadas (Swords): -mcPlayerListener.TamingSkill=Domar (Taming): -mcPlayerListener.UnarmedSkill=Desarmado (Unarmed): -mcPlayerListener.WoodcuttingSkill=Lenhador (Woodcutting): -mcPlayerListener.YourStats=[[GREEN]][mcMMO] Estatísticas -Party.InformedOnJoin={0} [[GREEN]] entrou na equipe -Party.InformedOnQuit={0} [[GREEN]] saiu da equipe - -Skills.YourGreenTerra=[[GREEN]]Sua habilidade [[YELLOW]]Green Terra [[GREEN]]está disponível! -Skills.YourTreeFeller=[[GREEN]]Sua habilidade [[YELLOW]]Derrubador de Arvores [[GREEN]]está disponível! -Skills.YourSuperBreaker=[[GREEN]]Sua habilidade [[YELLOW]]Super Britadeira [[GREEN]]está disponível! -Skills.YourSerratedStrikes=[[GREEN]]Sua habilidade [[YELLOW]]Ataques Cortantes [[GREEN]]está disponível! -Skills.YourBerserk=[[GREEN]]Sua habilidade [[YELLOW]]Fúria [[GREEN]]está disponível! -Skills.YourSkullSplitter=[[GREEN]]Sua habilidade [[YELLOW]]Rachador de Crânios [[GREEN]]está disponível! -Skills.YourGigaDrillBreaker=[[GREEN]]Sua habilidade [[YELLOW]]Super Broca [[GREEN]]está disponível! -Skills.TooTired=[[RED]]Você está cansado pra usar essa habilidade. -Skills.ReadyHoe=[[GREEN]]*ENXADA PRONTA PARA USAR GREEN TERRA* -Skills.LowerHoe=[[GRAY]]*DESCARREGOU A ENXADA* -Skills.ReadyAxe=[[GREEN]]*MACHADO PRONTO PARA USAR DERRUBADOR DE ARVORES* -Skills.LowerAxe=[[GRAY]]*DESCARREGOU O MACHADO* -Skills.ReadyFists=[[GREEN]]*PUNHO PRONTO PARA USAR FURIA* -Skills.LowerFists=[[GRAY]]*DESCARREGOU O PUNHO* -Skills.ReadyPickAxe=[[GREEN]]*PICARETA PRONTA PARA USAR SUPER BRITADEIRA* -Skills.LowerPickAxe=[[GRAY]]*DESCARREGOU A PICARETA* -Skills.ReadyShovel=[[GREEN]]*PA PRONTA PARA USAR SUPER BROCA* -Skills.LowerShovel=[[GRAY]]*DESCARREGOU A PA* -Skills.ReadySword=[[GREEN]]*ESPADA PRONTA PARA USAR ATAQUES CORTANTES* -Skills.LowerSword=[[GRAY]]*DESCARREGOU A ESPADA* -Skills.BerserkOn=[[GREEN]]*FURIA ATIVADA* -Skills.BerserkPlayer=[[GREEN]]{0}[[DARK_GREEN]] Usou a [[RED]]Fúria! -Skills.GreenTerraOn=[[GREEN]]*GREEN TERRA ATIVADO* -Skills.GreenTerraPlayer=[[GREEN]]{0}[[DARK_GREEN]] usou [[RED]]Green Terra! -Skills.TreeFellerOn=[[GREEN]]*DERRUBADOR E ARVORES ATIVADO* -Skills.TreeFellerPlayer=[[GREEN]]{0}[[DARK_GREEN]] usou [[RED]]Tree Feller! -Skills.SuperBreakerOn=[[GREEN]]*SUPER BRITADEIRA ATIVADA* -Skills.SuperBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] usou [[RED]]Super Britadeira! -Skills.SerratedStrikesOn=[[GREEN]]*ATAQUES CORTANTES ATIVADO* -Skills.SerratedStrikesPlayer=[[GREEN]]{0}[[DARK_GREEN]] usou [[RED]]Ataques Cortantes! -Skills.SkullSplitterOn=[[GREEN]]*RACHADOR DE CRANIOS ATIVADO* -Skills.SkullSplitterPlayer=[[GREEN]]{0}[[DARK_GREEN]] usou [[RED]]Rachador de Crânios! -Skills.GigaDrillBreakerOn=[[GREEN]]*SUPER BROCA ATIVADO* -Skills.GigaDrillBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] usou [[RED]]Super Broca! -Skills.GreenTerraOff=[[RED]]*Green Terra acabou* -Skills.TreeFellerOff=[[RED]]*Derrubador de Arvores acabou* -Skills.SuperBreakerOff=[[RED]]*Super Britadeira acabou* -Skills.SerratedStrikesOff=[[RED]]*Ataques Cortantes acabou* -Skills.BerserkOff=[[RED]]*Fúria acabou* -Skills.SkullSplitterOff=[[RED]]*Rachador de Crânios acabou* -Skills.GigaDrillBreakerOff=[[RED]]*Super Broca acabou* -Skills.TamingUp=[[YELLOW]]Habilidade de Domar aumentada em {0}. Total ({1}) -Skills.AcrobaticsUp=[[YELLOW]]Habilidade Acrobacia aumentada em {0}. Total ({1}) -Skills.ArcheryUp=[[YELLOW]]Habilidade de Arqueiro aumentada em {0}. Total ({1}) -Skills.SwordsUp=[[YELLOW]]Habilidade com Espadas aumentada em {0}. Total ({1}) -Skills.AxesUp=[[YELLOW]]Habilidade com Machados aumentada em {0}. Total ({1}) -Skills.UnarmedUp=[[YELLOW]]Habilidade Desarmado aumentada em {0}. Total ({1}) -Skills.HerbalismUp=[[YELLOW]]Habilidade Herbalismo aumentada em {0}. Total ({1}) -Skills.MiningUp=[[YELLOW]]Habilidade de Mineraçao aumentada em {0}. Total ({1}) -Skills.WoodcuttingUp=[[YELLOW]]Habilidade de Lenhador aumentada em {0}. Total ({1}) -Skills.RepairUp=[[YELLOW]]Habilidade de Reparaçao aumentada em {0}. Total ({1}) -Skills.ExcavationUp=[[YELLOW]]Habilidade de Escavaçao aumentada em {0}. Total ({1}) -Skills.FeltEasy=[[GRAY]]Essa foi fácil. -Skills.StackedItems=[[DARK_RED]]Nao pode reparar itens empilhados juntos. -Skills.NeedMore=[[DARK_RED]]Você precisa de mais -Skills.AdeptDiamond=[[DARK_RED]]Você nao tem o nível necessário para reparar Diamante -Skills.FullDurability=[[GRAY]]Já está com Durabilidade cheia. -Skills.Disarmed=[[DARK_RED]]Você foi Desarmado! -mcPlayerListener.SorcerySkill=Feitiçaria (Sorcery): - -m.SkillSorcery=FEITIÇARIA -Sorcery.HasCast=[[GREEN]]*CASTING*[[GOLD]] -Sorcery.Current_Mana=[[DARK_AQUA]]MP -Sorcery.SpellSelected=[[GREEN]]-=([[GOLD]]{0}[[GREEN]])=- [[RED]]([[GRAY]]{1}[[RED]]) -Sorcery.Cost=[[RED]][COST] {0} MP -Sorcery.OOM=[[DARK_AQUA]][[[GOLD]]{2}[[DARK_AQUA]]][[DARK_GRAY]] Sem Mana [[YELLOW]]([[RED]]{0}[[YELLOW]]/[[GRAY]]{1}[[YELLOW]]) -Sorcery.Water.Thunder=TROVAO -Sorcery.Curative.Self=CURAR-SE -Sorcery.Curative.Other=CURAR AMIGOS - -m.LVL=[[DARK_GRAY]]LVL: [[GREEN]]{0} [[DARK_AQUA]]XP[[YELLOW]]([[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]]) -Combat.BeastLore=[[GREEN]]*CONHECIMENTO DE FERAS* -Combat.BeastLoreOwner=[[DARK_AQUA]]Dono ([[RED]]{0}[[DARK_AQUA]]) -Combat.BeastLoreHealthWolfTamed=[[DARK_AQUA]]Health ([[GREEN]]{0}[[DARK_AQUA]]/20) -Combat.BeastLoreHealthWolf=[[DARK_AQUA]]Vida ([[GREEN]]{0}[[DARK_AQUA]]/8) -mcMMO.Description=[[DARK_AQUA]]Q: O QUE E? [[GOLD]]mcMMO é um mod [[RED]]OPEN SOURCE[[GOLD]] de RPG para a plataforma "Bukkit" feito por [[BLUE]]nossr50.[[GOLD]] Ele acresenta uma série de habilidades ao Minecraft. [[GOLD]]Você pode ganhar experiência de muitas maneiras.,[[GOLD]]Digite [[GREEN]]/NOME_DA_HABILIDADE[[GOLD]] para obter informaçoes sobre a habilidade.,[[DARK_AQUA]]Q: O QUE ELE FAZ? [[GOLD]]Por exemplo... em [[DARK_AQUA]]Mineraçao[[GOLD]] você receberá benefícios tais como [[RED]]Drop x2[[GOLD]] ou a habilidade [[RED]]Super Esmagador.[[GOLD]] que quando ativada com o clique direito permite minerar rapidamente durante sua duraçao. [[GOLD]]que depende do nível da sua habilidade. Aumentar o nível de [[BLUE]]Mineraçao[[GOLD]] é simples. basta minerar pedras ou minérios!,[[GOLD]]O objetivo do mcMMO é criar uma experiência de RPG de qualidade.,[[GOLD]]Digite [[GREEN]]/{0}[[GOLD]] para uma lista de comandos possíveis.,[[DARK_AQUA]]Q: ONDE POSSO SUGERIR IDEIAS!?,[[GOLD]]No tópico do mcMMO no fórum bukkit! (www.bit.ly/MCmmoIDEA),[[DARK_AQUA]]Q: Para mais informaçoes. leia a wiki do McMMO: [[RED]]mcmmo.wikia.com -Party.Locked=[[RED]]Equipe está trancada, só o líder pode convidar. -Party.IsntLocked=[[GRAY]]Equipe nao está trancada -Party.Unlocked=[[GRAY]]Equipe foi Destrancada -Party.Help1=[[RED]]O uso certo é [[YELLOW]]/{0} [[WHITE]][[YELLOW]] ou [[WHITE]]'q' [[YELLOW]]para sair -Party.Help2=[[RED]]Para entrar em uma equipe com senha use [[YELLOW]]/{0} [[WHITE]] -Party.Help3=[[RED]]Consulte /{0} ? para mais informaçoes -Party.Help4=[[RED]]Use [[YELLOW]]/{0} [[WHITE]] [[YELLOW]]para entrar em uma equipe ou [[WHITE]]'q' [[YELLOW]]para sair -Party.Help5=[[RED]]Para trancar sua equipe use [[YELLOW]]/{0} [[WHITE]]lock -Party.Help6=[[RED]]Para destrancar sua equipe use [[YELLOW]]/{0} [[WHITE]]unlock -Party.Help7=[[RED]]Para colocar senha na sua equipe use [[YELLOW]]/{0} [[WHITE]]password -Party.Help8=[[RED]]Para excluir um jogador da equipe use [[YELLOW]]/{0} [[WHITE]]kick -Party.Help9=[[RED]]Para transferir a liderança da equipe use [[YELLOW]]/{0} [[WHITE]]owner -Party.NotOwner=[[DARK_RED]]Você nao é o líder da equipe -Party.InvalidName=[[DARK_RED]]Este nome nao é valido -Party.PasswordSet=[[GREEN]]Senha da equipe: {0} -Party.CouldNotKick=[[DARK_RED]]Nao foi possível excluir o jogador {0} -Party.NotInYourParty=[[DARK_RED]]{0} nao está na sua equipe -Party.CouldNotSetOwner=[[DARK_RED]]Nao foi possível passar a liderança para {0} -Commands.xprate.proper=[[DARK_AQUA]]Uso certo é /{0} [integer] [true:false] -Commands.xprate.proper2=[[DARK_AQUA]]Também pode digitar /{0} reset para voltar tudo ao padrao -Commands.xprate.proper3=[[RED]]Enter true or false for the second value -Commands.xprate.over=[[RED]]Evento de XP Rate acabou!! -Commands.xprate.started=[[GOLD]]EVENTO DE XP COMEÇOU! -Commands.xprate.started2=[[GOLD]]XP RATE AGORA é {0}x!! -Commands.xplock.locked=[[GOLD]]Sua barra de XP BAR está travada em {0}! -Commands.xplock.unlocked=[[GOLD]]Sua barra de XP foi [[GREEN]]DESTRAVADA[[GOLD]]! +Combat.WolfExamine=[[GREEN]]*Você examinou um lobo usando Conhecimento de Feras* +Combat.WolfShowMaster=[[DARK_GREEN]]O Mestre das Feras \: {0} +Combat.Ignition=[[RED]]*IGNIÇAO* +Combat.BurningArrowHit=[[DARK_RED]]Você foi atingido por uma flecha flamejante\! +Combat.TouchedFuzzy=[[DARK_RED]]Visao turva. Sente Tonturas. +Combat.TargetDazed=Alvo foi [[DARK_RED]]Atordoado +Combat.WolfNoMaster=[[GRAY]]Esse Animal nao tem um mestre... +Combat.WolfHealth=[[GREEN]]Esse animal tem {0} de vida +Combat.StruckByGore=[[RED]]*ATINGIDO POR MORDIDA* +Combat.Gore=[[GREEN]]*MORDIDA* +Combat.ArrowDeflect=[[WHITE]]*DESVIOU A FLECHA* +Item.ChimaeraWingFail=*ASA QUIMERA FALHOU\!* +Item.ChimaeraWingPass=*ASA QUIMERA* +Item.InjuredWait=Você foi ferido recentemente e tem que esperar para usar isto. [[YELLOW]]({0}s) +Item.NeedFeathers=[[GRAY]]Você precisa de mais penas... +m.mccPartyCommands=[[GREEN]]--COMANDOS DE EQUIPES-- +m.mccParty=[party name] [[RED]]- Criar/Juntar-se a uma equipe +m.mccPartyQ=[[RED]]- Sair da equipe atual +m.mccPartyToggle=[[RED]] - Ligar/Desligar chat da equipe +m.mccPartyInvite=[player name] [[RED]]- Enviar um convite +m.mccPartyAccept=[[RED]]- Aceitar convite +m.mccPartyTeleport=[party member name] [[RED]]- Teleportar para um membro de equipe +m.mccOtherCommands=[[GREEN]]--OUTROS COMANDOS-- +m.mccStats=- Ver seus status +m.mccLeaderboards=- Classificaçao +m.mccMySpawn=- Teleportar para o spawn +m.mccClearMySpawn=- Remove o Ponto de Spawn +m.mccToggleAbility=- Ativa habilidades especiais com botao direito +m.mccAdminToggle=- Ativa o chat dos admin +m.mccWhois=[playername] [[RED]]- Ver informaçoes do jogador +m.mccMmoedit=[playername] [skill] [newvalue] [[RED]]- Modificar atributos do jogador +m.mccMcGod=- Modo Deus +m.mccSkillInfo=[skillname] [[RED]]- Ver informaçoes sobre a habilidade +m.mccModDescription=[[RED]]- Breve descriçao do Mod +m.SkillHeader=[[RED]]-----[][[GREEN]]{0}[[RED]][]----- +m.XPGain=[[DARK_GRAY]]COMO GANHA XP: [[WHITE]]{0} +m.EffectsTemplate=[[DARK_AQUA]]{0}: [[GREEN]]{1} +m.AbilityLockTemplate=[[GRAY]]{0} +m.AbilityBonusTemplate=[[RED]]{0}: [[YELLOW]]{1} +m.Effects=EFEITOS +m.YourStats=SUAS ESTATISTICAS + +m.SkillTaming=DOMESTICAR +m.XPGainTaming=Ataque com um lobo +m.EffectsTaming1_0=Conhecimento de Feras +m.EffectsTaming1_1=Inspeciona um lobo com um osso +m.EffectsTaming2_0=Mordida +m.EffectsTaming2_1=Ataque crítico que causa hemorragia +m.EffectsTaming3_0=Garras afiadas +m.EffectsTaming3_1=Bônus de Dano +m.EffectsTaming4_0=Consciência do Ambiente +m.EffectsTaming4_1=Medo de Cactos e Lava, Imune a Dano por queda +m.EffectsTaming5_0=Pele Grossa +m.EffectsTaming5_1=Reduçao nos Danos, Resistência ao fogo +m.EffectsTaming6_0=A Prova de Choque +m.EffectsTaming6_1=Reduz danos tomados com explosivos +m.AbilLockTaming1=DESBLOQUEIE NO NIVEL 100 (Conciência do ambiente) +m.AbilLockTaming2=DESBLOQUEIE NO NIVEL 250 (Pele grossa) +m.AbilLockTaming3=DESBLOQUEIE NO NIVEL 500 (A prova de choque) +m.AbilLockTaming4=DESBLOQUEIE NO NIVEL 750 (Garras afiadas) +m.AbilBonusTaming1_0=Conciência do ambiente +m.AbilBonusTaming1_1=Lobos evitam perigo +m.AbilBonusTaming2_0=Pele grossa +m.AbilBonusTaming2_1=Danos pela metade, Resistência ao fogo +m.AbilBonusTaming3_0=A prova de choque +m.AbilBonusTaming3_1=Explosivos causam 1/6 do dano normal +m.AbilBonusTaming4_0=Garras afiadas +m.AbilBonusTaming4_1=+2 Dano +m.TamingGoreChance=[[RED]]Chance de Mordida: [[YELLOW]]{0}% + +m.SkillWoodCutting=LENHADOR +m.XPGainWoodCutting=Cortando árvores +m.EffectsWoodCutting1_0=Derrubador de árvores (HABILIDADE ESPECIAL) +m.EffectsWoodCutting1_1=Explode árvores +m.EffectsWoodCutting2_0=Soprador de Folhas +m.EffectsWoodCutting2_1=Destrói folhas rapidamente +m.EffectsWoodCutting3_0=Drop x2 +m.EffectsWoodCutting3_1=Dobra a quantidade de item dropados +m.AbilLockWoodCutting1=DESBLOQUEIE NO NIVEL 100 (SOPRADOR DE FOLHAS) +m.AbilBonusWoodCutting1_0=Soprador de Folhas +m.AbilBonusWoodCutting1_1=Destrói folhas rapidamente +m.WoodCuttingDoubleDropChance=[[RED]]Chance de Drop x2: [[YELLOW]]{0}% +m.WoodCuttingTreeFellerLength=[[RED]]Duraçao do Derrubador de árvores: [[YELLOW]]{0}s + +m.SkillArchery=ARCO E FLECHA +m.XPGainArchery=Atacando monstros/ +m.EffectsArchery1_0=Igniçao +m.EffectsArchery1_1=25% de chance dos inimigos pegarem fogo +m.EffectsArchery2_0=Atordoar (Jogadores) +m.EffectsArchery2_1=Desorienta os adversários +m.EffectsArchery3_0=+Dano +m.EffectsArchery3_1=Aumenta o Dano +m.EffectsArchery4_0=Recuperar Flechas +m.EffectsArchery4_1=Chance de recuperar flechas de corpos +m.ArcheryDazeChance=[[RED]]Chance de atordoar: [[YELLOW]]{0}% +m.ArcheryRetrieveChance=[[RED]]Chance de recuperar flechas: [[YELLOW]]{0}% +m.ArcheryIgnitionLength=[[RED]]Duraçao da Igniçao: [[YELLOW]]{0}s +m.ArcheryDamagePlus=[[RED]]+Dano (Rank{0}): [[YELLOW]]Bonus de {0} dano + +m.SkillAxes=MACHADOS +m.XPGainAxes=Atacando monstros +m.EffectsAxes1_0=Rachador de Crânios (HABILIDADE ESPECIAL) +m.EffectsAxes1_1=Causa Danos em Area +m.EffectsAxes2_0=Ataques Críticos +m.EffectsAxes2_1=Dobra o Dano +m.EffectsAxes3_0=Mestre com Machados (NIVEL 500) +m.EffectsAxes3_1=Aumenta o Dano +m.AbilLockAxes1=DESBLOQUEIE NO NIVEL 500 (Mestre com Machados) +m.AbilBonusAxes1_0=Mestre com Machados/ +m.AbilBonusAxes1_1=Bônus de 4 de dano +m.AxesCritChance=[[RED]]Chance ataque crítico: [[YELLOW]]{0}% +m.AxesSkullLength=[[RED]]Duraçao do Rachador de Crânios: [[YELLOW]]{0}s + +m.SkillSwords=ESPADAS +m.XPGainSwords=Atacando monstros +m.EffectsSwords1_0=Contra-Ataque +m.EffectsSwords1_1=Retorna 50% do dano tomado +m.EffectsSwords2_0=Ataques Cortantes (HABILIDADE ESPECIAL) +m.EffectsSwords2_1=25% de Danos em Area, e Efeito de Hemorraria +m.EffectsSwords3_0=Ataque Cortante com Hemorragia +m.EffectsSwords3_1=5 Sangramentos +m.EffectsSwords4_0=Desviar +m.EffectsSwords4_1=Anula o Dano +m.EffectsSwords5_0=Hemorragia +m.EffectsSwords5_1=Causa sangramentos repetidos ao longo do tempo +m.SwordsCounterAttChance=[[RED]]Chance de Contra-Ataque: [[YELLOW]]{0}% +m.SwordsBleedLength=[[RED]]Duraçao da Hemorragia: [[YELLOW]]{0} ticks +m.SwordsBleedChance=[[RED]]Chance de Hemorragia: [[YELLOW]]{0} % +m.SwordsParryChance=[[RED]]Chance de Desviar: [[YELLOW]]{0} % +m.SwordsSSLength=[[RED]]Duraçao do Ataques Cortantes: [[YELLOW]]{0}s +m.SwordsTickNote=[[GRAY]]NOTA: [[YELLOW]]1 sangramento a cada 2 segundos + +m.SkillAcrobatics=ACROBACIA +m.XPGainAcrobatics=Caindo +m.EffectsAcrobatics1_0=Rolar +m.EffectsAcrobatics1_1=Reduz ou anula o dano +m.EffectsAcrobatics2_0=Rolar com estilo +m.EffectsAcrobatics2_1=2 vezes mais efetivo de que "Rolar" +m.EffectsAcrobatics3_0=Esquivar +m.EffectsAcrobatics3_1=Reduz o dano pela metade +m.AcrobaticsRollChance=[[RED]]Chance de Rolar: [[YELLOW]]{0}% +m.AcrobaticsGracefulRollChance=[[RED]]Chance de Rolar com estilo: [[YELLOW]]{0}% +m.AcrobaticsDodgeChance=[[RED]]Chance de Esquivar: [[YELLOW]]{0}% + +m.SkillMining=MINERAÇAO +m.XPGainMining=Minerando Pedras e Minérios +m.EffectsMining1_0=Super Britadeira (HABILIDADE ESPECIAL) +m.EffectsMining1_1=+ Velocidade, Chance de Drop x3 +m.EffectsMining2_0=Drop x2 +m.EffectsMining2_1=Dobra a quantia de itens obtidos minerando +m.MiningDoubleDropChance=[[RED]]Chance de D/rop x2: [[YELLOW]]{0}% +m.MiningSuperBreakerLength=[[RED]]Duraçao da Super Britadeira: [[YELLOW]]{0}s + +m.SkillRepair=REPARAÇAO +m.XPGainRepair=Reparando itens +m.EffectsRepair1_0=Reparar +m.EffectsRepair1_1=Reparando Ferramentas e Armaduras de Ferro +m.EffectsRepair2_0=Mestre em Raparaçao +m.EffectsRepair2_1=Aumenta a quantia reparada +m.EffectsRepair3_0=Super Reparaçao +m.EffectsRepair3_1=Dobra a efetividade da Reparaçao +m.EffectsRepair4_0=Reparaçao de diamantes (Nível {0}) +m.EffectsRepair4_1=Rapara Ferramentas e Armaduras de Diamante +m.RepairRepairMastery=[[RED]]Mestre em Raparaçao: [[YELLOW]]{0}% extra restaurado +m.RepairSuperRepairChance=[[RED]]Chance de Super Reparaçao: [[YELLOW]]{0}% + +m.SkillUnarmed=DESARMADO +m.XPGainUnarmed=Atacando monstros +m.EffectsUnarmed1_0=Fúria (HABILIDADE ESPECIAL) +m.EffectsUnarmed1_1=+50% de Dano, Quebra materiais frágeis +m.EffectsUnarmed2_0=Desarmar (Jogadores) +m.EffectsUnarmed2_1=Derruba a arma que o adversário está segurando +m.EffectsUnarmed3_0=Mestre do Desarmamento +m.EffectsUnarmed3_1=Aumenta muito o Dano +m.EffectsUnarmed4_0=Aprendiz do Desarmamento +m.EffectsUnarmed4_1=Aumenta o Dano +m.EffectsUnarmed5_0=Desviar Flechas +m.EffectsUnarmed5_1=Desvia Flechas jogadas em você +m.AbilLockUnarmed1=DESBLOQUEIE NO NIVEL 250 (APRENDIZ DE DESARMAMENTO) +m.AbilLockUnarmed2=DESBLOQUEIE NO NIVEL 500 (MESTRE DE DESARMAMENTO) +m.AbilBonusUnarmed1_0=Aprendiz do Desarmamento +m.AbilBonusUnarmed1_1=+2 de Danos +m.AbilBonusUnarmed2_0=Mestre do Desarmamento +m.AbilBonusUnarmed2_1=+4 de Danos +m.UnarmedArrowDeflectChance=[[RED]]Chance de Desviar Flechas: [[YELLOW]]{0}% +m.UnarmedDisarmChance=[[RED]]Chance de Desarmar: [[YELLOW]]{0}% +m.UnarmedBerserkLength=[[RED]]Duraçao da Fúria: [[YELLOW]]{0}s + +m.SkillHerbalism=HERBALISMO +m.XPGainHerbalism=Colhendo Ervas +m.EffectsHerbalism1_0=Green Terra (HABILIDADE ESPECIAL) +m.EffectsHerbalism1_1=EXP x3, Drop x3 +m.EffectsHerbalism2_0=Dedos Verdes (Trigo) +m.EffectsHerbalism2_1=Planta automaticamente, ao colher trigo +m.EffectsHerbalism3_0=Dedos Verdes (Pedras) +m.EffectsHerbalism3_1=Transforma Cobblestone em Moss Stone (usa sementes) +m.EffectsHerbalism4_0=Comida+ +m.EffectsHerbalism4_1=Aumenta a vida recebida comendo pao ou sopa +m.EffectsHerbalism5_0=Drop x2 (Todas Ervas) +m.EffectsHerbalism5_1=Dobra a quantia de itens obtidos colhendo +m.HerbalismGreenTerraLength=[[RED]]Duraçao do Green Terra: [[YELLOW]]{0}s +m.HerbalismGreenThumbChance=[[RED]]Chance do Dedos Verdes: [[YELLOW]]{0}% +m.HerbalismGreenThumbStage=[[RED]]Nível do Dedos Verdes: [[YELLOW]] Trigo Cresce no Nível {0} +m.HerbalismDoubleDropChance=[[RED]]Chance de Drop x2: [[YELLOW]]{0}% +m.HerbalismFoodPlus=[[RED]]Comida+ (Rank{0}): [[YELLOW]]Bônus de {0} de vida + +m.SkillExcavation=ESCAVAÇAO +m.XPGainExcavation=Cavando e encontrando tesouros +m.EffectsExcavation1_0=Super Broca (HABILIDADE ESPECIAL) +m.EffectsExcavation1_1=Drop x3, EXP x3, mais velocidade +m.EffectsExcavation2_0=Caçad/or de Tesouros +m.EffectsExcavation2_1=Encontra itens raros enquanto cava +m.ExcavationGreenTerraLength=[[RED]]Duraçao da Super Broca: [[YELLOW]]{0}s + +mcBlockListener.PlacedAnvil=[[DARK_RED]] Você colocou uma bigorna, a bigorna pode reparar ferramentas e armaduras. +mcEntityListener.WolfComesBack=[[DARK_GRAY]]Seu lobo voltou para você... +mcPlayerListener.AbilitiesOff=Habilidade especial desabilitada +mcPlayerListener.AbilitiesOn=Habilidade especial ativada +mcPlayerListener.AbilitiesRefreshed=[[GREEN]]*HABILIDAE DISPONIVEL\!* +mcPlayerListener.AcrobaticsSkill=Acrobacia (Acrobatics): +mcPlayerListener.ArcherySkill=Arqueiro (Archery): +mcPlayerListener.AxesSkill=Machado (Axes): +mcPlayerListener.ExcavationSkill=Escavaçao (Excavation): +mcPlayerListener.GodModeDisabled=[[YELLOW]]mcMMO Modo Deus Desabilitado +mcPlayerListener.GodModeEnabled=[[YELLOW]]mcMMO Modo Deus Ativo +mcPlayerListener.GreenThumb=[[GREEN]]*DEDOS VERDES* +mcPlayerListener.GreenThumbFail=[[RED]]*DEDOS VERDES FALHOU* +mcPlayerListener.HerbalismSkill=Herbalismo (Herbalism): +mcPlayerListener.MiningSkill=Mineraçao (Mining): +mcPlayerListener.MyspawnCleared=[[DARK_AQUA]]Ponto de Spawn foi apagado. +mcPlayerListener.MyspawnNotExist=[[RED]]Primeiro crie um spawn durmindo na cama. +mcPlayerListener.MyspawnSet=[[DARK_AQUA]]Spawn foi gravado neste local. +mcPlayerListener.MyspawnTimeNotice=Você precisa esperar {0}m {1}s para usar "myspawn" +mcPlayerListener.NoPermission=Nao tem permissao para realizar esta açao. +mcPlayerListener.NoSkillNote=[[DARK_GRAY]]Se você nao tem acesso a uma habilidade, ela nao será exibida aqui. +mcPlayerListener.NotInParty=[[RED]]Você nao está em nenhuma equipe. +mcPlayerListener.InviteSuccess=[[GREEN]]Convite enviado. +mcPlayerListener.ReceivedInvite1=[[RED]]ALERTA: [[GREEN]]Você recebeu um convite do {1} para a equipe {0}. +mcPlayerListener.ReceivedInvite2=[[YELLOW]]Digite [[GREEN]]/{0}[[YELLOW]] para aceitar o convite +mcPlayerListener.InviteAccepted=[[GREEN]]Convite aceito. Você se juntou a equipe {0} +mcPlayerListener.NoInvites=[[RED]]Você nao tem convites pendentes. +mcPlayerListener.YouAreInParty=[[GREEN]]Você está na equipe {0} +mcPlayerListener.PartyMembers=[[GREEN]]Membros da Equipe +mcPlayerListener.LeftParty=[[RED]]Você saiu da equipe +mcPlayerListener.JoinedParty=Sua Equipe: {0} +mcPlayerListener.PartyChatOn=Chat da Equipe [[GREEN]]On +mcPlayerListener.PartyChatOff=Chat da Equipe [[RED]]Off +mcPlayerListener.AdminChatOn=Chat do Admin [[GREEN]]On +mcPlayerListener.AdminChatOff=Chat do Admin [[RED]]Off +mcPlayerListener.MOTD=[[BLUE]]Esse Server está rodando o mcMMO {0} digite [[YELLOW]]/{1}[[BLUE]] para obter ajuda. +mcPlayerListener.WIKI=[[BLUE]]Para mais informaçoes - [[GREEN]]http://mcmmo.wikia.com +mcPlayerListener.PowerLevel=[[RED]]NIVEL TOTAL: +mcPlayerListener.PowerLevelLeaderboard=[[BLUE]]-Classificaçao - [[GREEN]]Nível - [[WHITE]]Jogador- +mcPlayerListener.SkillLeaderboard=[[BLUE]]-Classificaçao em [[GREEN]]{0} +mcPlayerListener.RepairSkill=Reparaçao (Repair): +mcPlayerListener.SwordsSkill=Espadas (Swords): +mcPlayerListener.TamingSkill=Domar (Taming): +mcPlayerListener.UnarmedSkill=Desarmado (Unarmed): +mcPlayerListener.WoodcuttingSkill=Lenhador (Woodcutting): +mcPlayerListener.YourStats=[[GREEN]][mcMMO] Estatísticas +Party.InformedOnJoin={0} [[GREEN]] entrou na equipe +Party.InformedOnQuit={0} [[GREEN]] saiu da equipe + +Skills.YourGreenTerra=[[GREEN]]Sua habilidade [[YELLOW]]Green Terra [[GREEN]]está disponível! +Skills.YourTreeFeller=[[GREEN]]Sua habilidade [[YELLOW]]Derrubador de Arvores [[GREEN]]está disponível! +Skills.YourSuperBreaker=[[GREEN]]Sua habilidade [[YELLOW]]Super Britadeira [[GREEN]]está disponível! +Skills.YourSerratedStrikes=[[GREEN]]Sua habilidade [[YELLOW]]Ataques Cortantes [[GREEN]]está disponível! +Skills.YourBerserk=[[GREEN]]Sua habilidade [[YELLOW]]Fúria [[GREEN]]está disponível! +Skills.YourSkullSplitter=[[GREEN]]Sua habilidade [[YELLOW]]Rachador de Crânios [[GREEN]]está disponível! +Skills.YourGigaDrillBreaker=[[GREEN]]Sua habilidade [[YELLOW]]Super Broca [[GREEN]]está disponível! +Skills.TooTired=[[RED]]Você está cansado pra usar essa habilidade. +Skills.ReadyHoe=[[GREEN]]*ENXADA PRONTA PARA USAR GREEN TERRA* +Skills.LowerHoe=[[GRAY]]*DESCARREGOU A ENXADA* +Skills.ReadyAxe=[[GREEN]]*MACHADO PRONTO PARA USAR DERRUBADOR DE ARVORES* +Skills.LowerAxe=[[GRAY]]*DESCARREGOU O MACHADO* +Skills.ReadyFists=[[GREEN]]*PUNHO PRONTO PARA USAR FURIA* +Skills.LowerFists=[[GRAY]]*DESCARREGOU O PUNHO* +Skills.ReadyPickAxe=[[GREEN]]*PICARETA PRONTA PARA USAR SUPER BRITADEIRA* +Skills.LowerPickAxe=[[GRAY]]*DESCARREGOU A PICARETA* +Skills.ReadyShovel=[[GREEN]]*PA PRONTA PARA USAR SUPER BROCA* +Skills.LowerShovel=[[GRAY]]*DESCARREGOU A PA* +Skills.ReadySword=[[GREEN]]*ESPADA PRONTA PARA USAR ATAQUES CORTANTES* +Skills.LowerSword=[[GRAY]]*DESCARREGOU A ESPADA* +Skills.BerserkOn=[[GREEN]]*FURIA ATIVADA* +Skills.BerserkPlayer=[[GREEN]]{0}[[DARK_GREEN]] Usou a [[RED]]Fúria! +Skills.GreenTerraOn=[[GREEN]]*GREEN TERRA ATIVADO* +Skills.GreenTerraPlayer=[[GREEN]]{0}[[DARK_GREEN]] usou [[RED]]Green Terra! +Skills.TreeFellerOn=[[GREEN]]*DERRUBADOR E ARVORES ATIVADO* +Skills.TreeFellerPlayer=[[GREEN]]{0}[[DARK_GREEN]] usou [[RED]]Tree Feller! +Skills.SuperBreakerOn=[[GREEN]]*SUPER BRITADEIRA ATIVADA* +Skills.SuperBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] usou [[RED]]Super Britadeira! +Skills.SerratedStrikesOn=[[GREEN]]*ATAQUES CORTANTES ATIVADO* +Skills.SerratedStrikesPlayer=[[GREEN]]{0}[[DARK_GREEN]] usou [[RED]]Ataques Cortantes! +Skills.SkullSplitterOn=[[GREEN]]*RACHADOR DE CRANIOS ATIVADO* +Skills.SkullSplitterPlayer=[[GREEN]]{0}[[DARK_GREEN]] usou [[RED]]Rachador de Crânios! +Skills.GigaDrillBreakerOn=[[GREEN]]*SUPER BROCA ATIVADO* +Skills.GigaDrillBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] usou [[RED]]Super Broca! +Skills.GreenTerraOff=[[RED]]*Green Terra acabou* +Skills.TreeFellerOff=[[RED]]*Derrubador de Arvores acabou* +Skills.SuperBreakerOff=[[RED]]*Super Britadeira acabou* +Skills.SerratedStrikesOff=[[RED]]*Ataques Cortantes acabou* +Skills.BerserkOff=[[RED]]*Fúria acabou* +Skills.SkullSplitterOff=[[RED]]*Rachador de Crânios acabou* +Skills.GigaDrillBreakerOff=[[RED]]*Super Broca acabou* +Skills.TamingUp=[[YELLOW]]Habilidade de Domar aumentada em {0}. Total ({1}) +Skills.AcrobaticsUp=[[YELLOW]]Habilidade Acrobacia aumentada em {0}. Total ({1}) +Skills.ArcheryUp=[[YELLOW]]Habilidade de Arqueiro aumentada em {0}. Total ({1}) +Skills.SwordsUp=[[YELLOW]]Habilidade com Espadas aumentada em {0}. Total ({1}) +Skills.AxesUp=[[YELLOW]]Habilidade com Machados aumentada em {0}. Total ({1}) +Skills.UnarmedUp=[[YELLOW]]Habilidade Desarmado aumentada em {0}. Total ({1}) +Skills.HerbalismUp=[[YELLOW]]Habilidade Herbalismo aumentada em {0}. Total ({1}) +Skills.MiningUp=[[YELLOW]]Habilidade de Mineraçao aumentada em {0}. Total ({1}) +Skills.WoodcuttingUp=[[YELLOW]]Habilidade de Lenhador aumentada em {0}. Total ({1}) +Skills.RepairUp=[[YELLOW]]Habilidade de Reparaçao aumentada em {0}. Total ({1}) +Skills.ExcavationUp=[[YELLOW]]Habilidade de Escavaçao aumentada em {0}. Total ({1}) +Skills.FeltEasy=[[GRAY]]Essa foi fácil. +Skills.StackedItems=[[DARK_RED]]Nao pode reparar itens empilhados juntos. +Skills.NeedMore=[[DARK_RED]]Você precisa de mais +Skills.AdeptDiamond=[[DARK_RED]]Você nao tem o nível necessário para reparar Diamante +Skills.FullDurability=[[GRAY]]Já está com Durabilidade cheia. +Skills.Disarmed=[[DARK_RED]]Você foi Desarmado! +mcPlayerListener.SorcerySkill=Feitiçaria (Sorcery): + +m.SkillSorcery=FEITIÇARIA +Sorcery.HasCast=[[GREEN]]*CASTING*[[GOLD]] +Sorcery.Current_Mana=[[DARK_AQUA]]MP +Sorcery.SpellSelected=[[GREEN]]-=([[GOLD]]{0}[[GREEN]])=- [[RED]]([[GRAY]]{1}[[RED]]) +Sorcery.Cost=[[RED]][COST] {0} MP +Sorcery.OOM=[[DARK_AQUA]][[[GOLD]]{2}[[DARK_AQUA]]][[DARK_GRAY]] Sem Mana [[YELLOW]]([[RED]]{0}[[YELLOW]]/[[GRAY]]{1}[[YELLOW]]) +Sorcery.Water.Thunder=TROVAO +Sorcery.Curative.Self=CURAR-SE +Sorcery.Curative.Other=CURAR AMIGOS + +m.LVL=[[DARK_GRAY]]LVL: [[GREEN]]{0} [[DARK_AQUA]]XP[[YELLOW]]([[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]]) +Combat.BeastLore=[[GREEN]]*CONHECIMENTO DE FERAS* +Combat.BeastLoreOwner=[[DARK_AQUA]]Dono ([[RED]]{0}[[DARK_AQUA]]) +Combat.BeastLoreHealthWolfTamed=[[DARK_AQUA]]Health ([[GREEN]]{0}[[DARK_AQUA]]/20) +Combat.BeastLoreHealthWolf=[[DARK_AQUA]]Vida ([[GREEN]]{0}[[DARK_AQUA]]/8) +mcMMO.Description=[[DARK_AQUA]]Q: O QUE E? [[GOLD]]mcMMO é um mod [[RED]]OPEN SOURCE[[GOLD]] de RPG para a plataforma "Bukkit" feito por [[BLUE]]nossr50.[[GOLD]] Ele acresenta uma série de habilidades ao Minecraft. [[GOLD]]Você pode ganhar experiência de muitas maneiras.,[[GOLD]]Digite [[GREEN]]/NOME_DA_HABILIDADE[[GOLD]] para obter informaçoes sobre a habilidade.,[[DARK_AQUA]]Q: O QUE ELE FAZ? [[GOLD]]Por exemplo... em [[DARK_AQUA]]Mineraçao[[GOLD]] você receberá benefícios tais como [[RED]]Drop x2[[GOLD]] ou a habilidade [[RED]]Super Esmagador.[[GOLD]] que quando ativada com o clique direito permite minerar rapidamente durante sua duraçao. [[GOLD]]que depende do nível da sua habilidade. Aumentar o nível de [[BLUE]]Mineraçao[[GOLD]] é simples. basta minerar pedras ou minérios!,[[GOLD]]O objetivo do mcMMO é criar uma experiência de RPG de qualidade.,[[GOLD]]Digite [[GREEN]]/{0}[[GOLD]] para uma lista de comandos possíveis.,[[DARK_AQUA]]Q: ONDE POSSO SUGERIR IDEIAS!?,[[GOLD]]No tópico do mcMMO no fórum bukkit! (www.bit.ly/MCmmoIDEA),[[DARK_AQUA]]Q: Para mais informaçoes. leia a wiki do McMMO: [[RED]]mcmmo.wikia.com +Party.Locked=[[RED]]Equipe está trancada, só o líder pode convidar. +Party.IsntLocked=[[GRAY]]Equipe nao está trancada +Party.Unlocked=[[GRAY]]Equipe foi Destrancada +Party.Help1=[[RED]]O uso certo é [[YELLOW]]/{0} [[WHITE]][[YELLOW]] ou [[WHITE]]'q' [[YELLOW]]para sair +Party.Help2=[[RED]]Para entrar em uma equipe com senha use [[YELLOW]]/{0} [[WHITE]] +Party.Help3=[[RED]]Consulte /{0} ? para mais informaçoes +Party.Help4=[[RED]]Use [[YELLOW]]/{0} [[WHITE]] [[YELLOW]]para entrar em uma equipe ou [[WHITE]]'q' [[YELLOW]]para sair +Party.Help5=[[RED]]Para trancar sua equipe use [[YELLOW]]/{0} [[WHITE]]lock +Party.Help6=[[RED]]Para destrancar sua equipe use [[YELLOW]]/{0} [[WHITE]]unlock +Party.Help7=[[RED]]Para colocar senha na sua equipe use [[YELLOW]]/{0} [[WHITE]]password +Party.Help8=[[RED]]Para excluir um jogador da equipe use [[YELLOW]]/{0} [[WHITE]]kick +Party.Help9=[[RED]]Para transferir a liderança da equipe use [[YELLOW]]/{0} [[WHITE]]owner +Party.NotOwner=[[DARK_RED]]Você nao é o líder da equipe +Party.InvalidName=[[DARK_RED]]Este nome nao é valido +Party.PasswordSet=[[GREEN]]Senha da equipe: {0} +Party.CouldNotKick=[[DARK_RED]]Nao foi possível excluir o jogador {0} +Party.NotInYourParty=[[DARK_RED]]{0} nao está na sua equipe +Party.CouldNotSetOwner=[[DARK_RED]]Nao foi possível passar a liderança para {0} +Commands.xprate.proper=[[DARK_AQUA]]Uso certo é /{0} [integer] [true:false] +Commands.xprate.proper2=[[DARK_AQUA]]Também pode digitar /{0} reset para voltar tudo ao padrao +Commands.xprate.proper3=[[RED]]Enter true or false for the second value +Commands.xprate.over=[[RED]]Evento de XP Rate acabou!! +Commands.xprate.started=[[GOLD]]EVENTO DE XP COMEÇOU! +Commands.xprate.started2=[[GOLD]]XP RATE AGORA é {0}x!! +Commands.xplock.locked=[[GOLD]]Sua barra de XP BAR está travada em {0}! +Commands.xplock.unlocked=[[GOLD]]Sua barra de XP foi [[GREEN]]DESTRAVADA[[GOLD]]! Commands.xplock.invalid=[[RED]]Nao existe habilidade com esse nome! Tente /xplock mining \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/locale/locale_ru.properties b/src/com/gmail/nossr50/locale/locale_ru.properties similarity index 98% rename from mcMMO/com/gmail/nossr50/locale/locale_ru.properties rename to src/com/gmail/nossr50/locale/locale_ru.properties index fb57ad3ba..3516e8a44 100644 --- a/mcMMO/com/gmail/nossr50/locale/locale_ru.properties +++ b/src/com/gmail/nossr50/locale/locale_ru.properties @@ -1,343 +1,343 @@ -Combat.WolfExamine=[[GREEN]]**Âû íàó÷èëè Âîëêà èñïîëüçîâàíèþ "Óäàðà âîëêà"** -Combat.WolfExamine=[[GREEN]]**Âû íàó÷èëè Âîëêà èñïîëüçîâàíèþ "Óäàðà âîëêà"** -Combat.WolfShowMaster=[[DARK_GREEN]]Ìàñòåð ïî ïðèðó÷åíèþ Âîëêîâ \: {0} -Combat.Ignition=[[RED]]**Âû ïîäîæãëè ïðîòèâíèêà ñòðåëîé!!** -Combat.BurningArrowHit=[[DARK_RED]]Âû áûëè ïîðàæåíû ãîðÿùåé ñòðåëîé\! -Combat.TouchedFuzzy=[[DARK_RED]]Âû èñòåêàåòå êðîâüþ. Êðóæèòñÿ ãîëîâà. -Combat.TargetDazed=Âàøà öåëü [[DARK_RED]]Øîêèðîâàíà -Combat.WolfNoMaster=[[GRAY]]Ó ýòîãî Âîëêà íåò õîçÿèíà -Combat.WolfHealth=[[GREEN]]Ó ýòîãî Âîëêà {0} Çäîðîâüÿ -Combat.StruckByGore=[[RED]]**Îêðàâëåíèå íåóäà÷íî** -Combat.Gore=[[GREEN]]**Îêðàâëåíèå** -Combat.ArrowDeflect=[[WHITE]]**Ñòðåëà îòñêî÷èëà** -Item.ChimaeraWingFail=**Êðûëüÿ Õèìåðû íå ñìîãëè âàñ óíåñòè\!** -Item.ChimaeraWingPass=**Êðûëüÿ Õèìåðû óíîñÿò âàñ...** -Item.InjuredWait=Âû ðàíåíû è íå ñìîæåòå ïîêà èñïîëüçîâàòü ýòî. [[YELLOW]]({0}s) -Item.NeedFeathers=[[GRAY]]Âàì íóæíî áîëüøå ïåðüåâ.. -m.mccPartyCommands=[[GREEN]]--Ãðóïïîâûå êîìàíäû-- -m.mccParty=[party name] [[RED]]- Ñîçäàíèå ãðóïïû -m.mccPartyQ=[[RED]]- Ïîêèíüòå òåêóùóþ ãðóïïó -m.mccPartyToggle=[[RED]] - Âêëþ÷èòü ãðóïïîâîé ÷àò -m.mccPartyInvite=[player name] [[RED]]- Ïðèñëàòü ïðèãëàøåíèå â ãðóïïó -m.mccPartyAccept=[[RED]]- Ïîäòâåðäèòü ïðèãëàøåíèå â ãðóïïó -m.mccPartyTeleport=[party member name] [[RED]]- Òåëåïîðòèðîâàòüñÿ ê ÷ëåíó ãðóïïû -m.mccOtherCommands=[[GREEN]]--Äðóãèå êîìàíäû-- -m.mccStats=- Ïîñìîòðåòü âàøè McMMo õàðàêòåðèñòèêè -m.mccLeaderboards=- Äîñêà Ëèäåðîâ -m.mccMySpawn=- Òåëåïîðòèðóåò ê âàøåé êðîâàòè -m.mccClearMySpawn=- Óáèðàåò âàøó êðîâàòü -m.mccToggleAbility=- Àêòèâèðîâàòü âîçìîæíîñòü ïðàâûì êëèêîì ìûøè -m.mccAdminToggle=- Âêëþ÷èòü àäìèíñêèé ÷àò -m.mccWhois=[playername] [[RED]]- Ïîñìîòðåòü äåòàëüíóþ èíôîðìàöèþ -m.mccMmoedit=[playername] [skill] [newvalue] [[RED]]- Èçìåíèòü öåëü -m.mccMcGod=- Ðåæèì Áîãà -m.mccSkillInfo=[skillname] [[RED]]- Ïîñìîòðåòü äåòàëüíóþ èíôîðìàöèþ î óìåíèè -m.mccModDescription=[[RED]]- Ïðî÷èòàòü èíôîðìàöèþ î ìîäå McMMo -m.SkillHeader=[[RED]]-----[][[GREEN]]{0}[[RED]][]----- -m.XPGain=[[DARK_GRAY]]XP GAIN: [[WHITE]]{0} -m.EffectsTemplate=[[DARK_AQUA]]{0}: [[GREEN]]{1} -m.AbilityLockTemplate=[[GRAY]]{0} -m.AbilityBonusTemplate=[[RED]]{0}: [[YELLOW]]{1} -m.Effects=ÝÔÔÅÊÒÛ -m.YourStats=ÂÀØÈ ÕÀÐÀÊÒÅÐÈÑÒÈÊÈ -m.SkillTaming=Ïðèðó÷åíèå -m.XPGainTaming=Âîëêè ïðè÷èíÿþò óùåðá -m.EffectsTaming1_0=Óäàð Âîëêà -m.EffectsTaming1_1=Óìåíüøåíèå êîëè÷åñòâà êîñòåé -m.EffectsTaming2_0=Îêðàâëåíèå -m.EffectsTaming2_1=Êðèòè÷åñêèé óäàð âî âðåìÿ èñòåêàíèÿ êðîâüþ -m.EffectsTaming3_0=Îñòðûå Êîãòè -m.EffectsTaming3_1=Áîíóñ ê óðîíó -m.EffectsTaming4_0=Íåçàâèñèìîñòü îò ýêîëîãèè -m.EffectsTaming4_1=Èìóíèòåò ê ïàäåíèþ, áîÿçíü ëàâû/êàêòóñîâ -m.EffectsTaming5_0=Ãóñòîé ìåõ -m.EffectsTaming5_1=Ñîêðàùåíèå óðîíà, îãíåóñòîé÷èâîñòü -m.EffectsTaming6_0=Íàäåæíàÿ çàùèòà îò ïîâðåæäåíèé -m.EffectsTaming6_1=Ñíèæåíèå óðîíà îò âçðûâîâ -m.AbilLockTaming1=Áëîêèðóåòñÿ äî 100+ óðîâíÿ(Íåçàâèñèìîñòü îò ýêîëîãèè) -m.AbilLockTaming2=Áëîêèðóåòñÿ äî 250+ óðîâíÿ (Ãóñòîé ìåõ) -m.AbilLockTaming3=Áëîêèðóåòñÿ äî 500+ óðîâíÿ (Íàäåæíàÿ çàùèòà îò ïîâðåæäåíèé) -m.AbilLockTaming4=Áëîêèðóåòñÿ äî 700+ óðîâíÿ (Îñòðûå Êîãòè) -m.AbilBonusTaming1_0=Íåçàâèñèìîñòü îò ýêîëîãèè -m.AbilBonusTaming1_1=Âîëêè èçáåãàþò îïàñíîñòåé -m.AbilBonusTaming2_0=Ãóñòîé ìåõ -m.AbilBonusTaming2_1=Óðîí íàïîëîâèíó, Îãíåóñòîé÷èâîñòü -m.AbilBonusTaming3_0=Íàäåæíàÿ çàùèòà îò ïîâðåæäåíèé -m.AbilBonusTaming3_1=Âçðûâû ïðè÷èíÿþò 1/6 íîðìàëüíîãî óðîíà -m.AbilBonusTaming4_0=Îñòðûå Êîãòè -m.AbilBonusTaming4_1=+2 Óðîíà -m.TamingGoreChance=[[RED]]Øàíñ îêðàâëåíèÿ: [[YELLOW]]{0}% -m.SkillWoodCutting=Äåðåâîîáðàáîòêà -m.XPGainWoodCutting=Ðóáèòü äåðåâüÿ -m.EffectsWoodCutting1_0=Ëþáèòåëü äåðåâüåâ(ñïîñîáíîñòü) -m.EffectsWoodCutting1_1=Äåëàòü âçðûâû äåðåâüåâ -m.EffectsWoodCutting2_0=Áûñòðîå ñðåçàíèå ëèñòüåâ -m.EffectsWoodCutting2_1=Ñäóâàòü ëèñòüÿ -m.EffectsWoodCutting3_0=Äâîéíîé äðîï -m.EffectsWoodCutting3_1=Íîðìàëüíûé äâîéíîé äðîï -m.AbilLockWoodCutting1=Áëîêèðóåòñÿ äî 100+ óðîâíÿ(Áûñòðîå ñðåçàíèå ëèñòüåâ) -m.AbilBonusWoodCutting1_0=Áûñòðîå ñðåçàíèå ëèñòüåâ -m.AbilBonusWoodCutting1_1=Ñäóâàòü ëèñòüÿ -m.WoodCuttingDoubleDropChance=[[RED]]Øàíñ äâîéíîãî äðîïà: [[YELLOW]]{0}% -m.WoodCuttingTreeFellerLength=[[RED]]Ïðîäîëæèòåëüíîñòü Ëþáèòåëÿ äåðåâüåâ: [[YELLOW]]{0}s -m.SkillArchery=Ñòðåëüáà èç ëóêà -m.XPGainArchery=Àòàêîâàòü ìîíñòðîâ èç ëóêà -m.EffectsArchery1_0=Ïîäæ¸ã -m.EffectsArchery1_1=25% øàíñ, ÷òî öåëü ïîäîæã¸òñÿ -m.EffectsArchery2_0=Øîêèðîâàíèå(Èãðîêîâ) -m.EffectsArchery2_1=Äåçîðèåíòèðóåò âðàãîâ -m.EffectsArchery3_0=Óðîí+ -m.EffectsArchery3_1=Óëó÷øàåò Óðîí -m.EffectsArchery4_0=Ïîëó÷åíèå ñòðåë -m.EffectsArchery4_1=Øàíñ ïîëó÷èòü ñòðåëû èç òðóïîâ -m.ArcheryDazeChance=[[RED]]Øàíñ øîêèðîâàòü: [[YELLOW]]{0}% -m.ArcheryRetrieveChance=[[RED]]Øàíñ ïîëó÷èòü ñòðåëû: [[YELLOW]]{0}% -m.ArcheryIgnitionLength=[[RED]]Äëèòåëüíîñòü ïîäæ¸ãà: [[YELLOW]]{0} ñåêóíä -m.ArcheryDamagePlus=[[RED]]Óðîí+ (Rank{0}): [[YELLOW]]Bonus {0} damage -m.SkillAxes=Òîïîðû -m.XPGainAxes=Àòàêîâàòü ìîíñòðîâ òîïîðîì -m.EffectsAxes1_0=Ðàçðóøèòåëü ÷åðåïîâ(ñïîñîáíîñòü) -m.EffectsAxes1_1=Óâåëè÷åíèå óðîíà îò òîïîðà -m.EffectsAxes2_0=Êðèòè÷åñêèå óäàðû -m.EffectsAxes2_1=Äâîéíîé óðîí -m.EffectsAxes3_0=Ìàñòåðñòâî òîïîðà(500 óðîâåíü) -m.EffectsAxes3_1=Óëó÷øåíèå óðîíà -m.AbilLockAxes1=Áëîêèðóåòñÿ äî 500+ óðîâíÿ(Ìàñòåðñòâî òîïîðà) -m.AbilBonusAxes1_0=Ìàñòåðñòâî òîïîðà -m.AbilBonusAxes1_1=Äàåò áîíóñ â 4 óðîíà -m.AxesCritChance=[[RED]]Øàíñ êðèòè÷åñêîãî óäàðà: [[YELLOW]]{0}% -m.AxesSkullLength=[[RED]]Ïðîäîëæèòåëüíîñòü Ðàçðóøèòåëÿ ×åðåïîâ: [[YELLOW]]{0}s -m.SkillSwords=Ìå÷è -m.XPGainSwords=Àòàêîâàòü ìîíñòðîâ ìå÷îì -m.EffectsSwords1_0=Êîíòð-Àòàêà -m.EffectsSwords1_1=Îòðàæàåò 50% ïîëó÷åííîãî óðîíà -m.EffectsSwords2_0=Çàçóáðåííûå ìå÷è(ñïîñîáíîñòü) -m.EffectsSwords2_1=25% Óðîíà+ è êðîâîòå÷åíèå îò óäàðà -m.EffectsSwords3_0=Óâåëå÷åíèå äëèòåëüíîñòè ñïîñîáíîñòè "Çàçóáðåííûå ìå÷è" -m.EffectsSwords3_1=Êðîâîòå÷åíèå 5 ðàç -m.EffectsSwords4_0=Ïàðèðîâàíèå -m.EffectsSwords4_1=Îòðèöàòåëüíûé óðîí -m.EffectsSwords5_0=Êðîâîòå÷åíèå -m.EffectsSwords5_1=Çàñòàâëÿåò âðàãà êðîâîòî÷èòü -m.SwordsCounterAttChance=[[RED]]Øàíñ Êîíòð-Àòàêè: [[YELLOW]]{0}% -m.SwordsBleedLength=[[RED]]Äëèòåëüíîñòü êðîâîòå÷åíèÿ: [[YELLOW]]{0} ðàç -m.SwordsBleedChance=[[RED]]Øàíñ êðîâîòå÷åíèÿ: [[YELLOW]]{0} % -m.SwordsParryChance=[[RED]]Øàíñ ïàðèðîâàíèÿ: [[YELLOW]]{0} % -m.SwordsSSLength=[[RED]]Äëèòåëüíîñòü "Çàçóáðåííûx ìå÷åé": [[YELLOW]]{0}s -m.SwordsTickNote=[[GRAY]]Çàìåòêà: [[YELLOW]]1 ðàç äëèòüñÿ 2 ñåêóíäû -m.SkillAcrobatics=Àêðîáàòèêà -m.XPGainAcrobatics=Íóæíî Ïàäàòü ñ ãîð -m.EffectsAcrobatics1_0=Ïåðåâîðîò -m.EffectsAcrobatics1_1=Ïîãëîùàåò èëè óìåíüøàåò óðîí -m.EffectsAcrobatics2_0=Ïðåâîñõîäíûé ïåðåâîðîò -m.EffectsAcrobatics2_1=Äâàæäû ýôôåêòèâíåå ïåðåâîðîòà -m.EffectsAcrobatics3_0=Óâîðîò -m.EffectsAcrobatics3_1=Óìåíüøàåò óðîí íàïîëîâèíó îò ñòðåëû -m.AcrobaticsRollChance=[[RED]]Øàíñ ïåðåâîðîòà: [[YELLOW]]{0}% -m.AcrobaticsGracefulRollChance=[[RED]]Øàíñ ïðåâîñõîäíîãî ïåðåâîðîòà: [[YELLOW]]{0}% -m.AcrobaticsDodgeChance=[[RED]]Øàíñ óâîðîòà: [[YELLOW]]{0}% -m.SkillMining=Øàõò¸ðñòâî -m.XPGainMining=Äîáûâàòü ðóäó è êàìíè â øàõòàõ -m.EffectsMining1_0=Ñóïåð ðàçðóøèòåëü(ñïîñîáíîñòü) -m.EffectsMining1_1=Óâåëè÷åíèå ñêîðîñòè, Øàíñ òðîéíîãî äðîïà -m.EffectsMining2_0=Äâîéíîé äðîï -m.EffectsMining2_1=Äâîéíîé äðîï ñòàíîâèòñÿ íîðìàëüíûì -m.MiningDoubleDropChance=[[RED]]Øàíñ äâîéíîãî äðîïà: [[YELLOW]]{0}% -m.MiningSuperBreakerLength=[[RED]]Äëèòåëüíîñòü ñïîñîáíîñòè "Ñóïåð Ðàçðóøèòåëü": [[YELLOW]]{0}s -m.SkillRepair=Ïî÷èíêà -m.XPGainRepair=×èíèòü âåùè -m.EffectsRepair1_0=Ïî÷èíêà -m.EffectsRepair1_1=×èíèò Æåëåçíûå èíñòðóìåíòû è áðîíþ -m.EffectsRepair2_0=Ìàñòåðñòâî ïî÷èíêè -m.EffectsRepair2_1=Óâåëè÷èâàåò êà÷åñòâî ðåìîíòà -m.EffectsRepair3_0=Ñóïåð ïî÷èíêà -m.EffectsRepair3_1=Äâîéíàÿ ýôôåêòèâíîñòü âåùåé -m.EffectsRepair4_0=Ïî÷èíêà Àëìàçíûõ âåùåé ({0}+ óðîâåíü) -m.EffectsRepair4_1=×èíèòü Àëìàçíûå èíñòðóìåíòû è áðîíþ -m.RepairRepairMastery=[[RED]]Ìàñòåðñòâî ïî÷èíêè: [[YELLOW]]Äîïîëíèòåëüíî {0}% äîëãîâå÷íîñòè âîññòàíîâëåíî -m.RepairSuperRepairChance=[[RED]]Øàíñ Ñóïåð ïî÷èíêè: [[YELLOW]]{0}% -m.SkillUnarmed=Ðóêîïàøíûé áîé -m.XPGainUnarmed=Àòàêîâàòü ìîíñòðîâ ãîëûìè ðóêàìè -m.EffectsUnarmed1_0=Áåðñåðê(ñïîñîáíîñòü) -m.EffectsUnarmed1_1=+50% Óðîíà, Ëîìàòü ñëàáûå ìàòåðèàëû -m.EffectsUnarmed2_0=Îáåçîðóæåíèå(Èãðîêè) -m.EffectsUnarmed2_1=Ïàäàåò îðóæèå ïðîòèâíèêà íà çåìëþ, êîòîðîå íàõîäèòñÿ â ðóêàõ ó íåãî. -m.EffectsUnarmed3_0=Ìàñòåð Ðóêîïàøíîãî áîÿ -m.EffectsUnarmed3_1=Óëó÷øåíèå óðîíà îò êóëàêîâ -m.EffectsUnarmed4_0=Ó÷åíèê ðóêîïàøíîãî áîÿ -m.EffectsUnarmed4_1=Óâåëè÷åíèå óðîíà îò êóëàêîâ -m.EffectsUnarmed5_0=Îòðàæåíèå ñòðåë -m.EffectsUnarmed5_1=Ñòðåëû îòðàæàþòñÿ -m.AbilLockUnarmed1=Áëîêèðóåòñÿ äî 250+ óðîâíÿ(Ó÷åíèê ðóêîïàøíîãî áîÿ) -m.AbilLockUnarmed2=Áëîêèðóåòñÿ äî 500+ óðîâíÿ(Ìàñòåð Ðóêîïàøíîãî áîÿ) -m.AbilBonusUnarmed1_0=Ó÷åíèê ðóêîïàøíîãî áîÿ -m.AbilBonusUnarmed1_1=+2 áîíóñ ê óðîíó -m.AbilBonusUnarmed2_0=Ìàñòåð Ðóêîïàøíîãî áîÿ -m.AbilBonusUnarmed2_1=+4 áîíóñ ê óðîíó -m.UnarmedArrowDeflectChance=[[RED]]Øàíñ îòðàçèòü ñòðåëû: [[YELLOW]]{0}% -m.UnarmedDisarmChance=[[RED]]Øàíñ îáåçîðóæèòü: [[YELLOW]]{0}% -m.UnarmedBerserkLength=[[RED]]Äëèòåëüíîñòü "Áåðñåðêà": [[YELLOW]]{0}s -m.SkillHerbalism=Òðàâîâåäåíèå -m.XPGainHerbalism=Âûðàùèâàòü ðàñòåíèÿ -m.EffectsHerbalism1_0=Îçåëåíèòåëü(ñïîñîáíîñòü) -m.EffectsHerbalism1_1=Ðàñïðîñòðîíåíèå îçåëåíåíèé, 3-îé äðîï -m.EffectsHerbalism2_0="Çåëåíûé ôåðìåð"(Ïùåíèöà) -m.EffectsHerbalism2_1=Àâòî âûðàùèâàíèå ïùåíèöû ïîñëå ïîñàäêè -m.EffectsHerbalism3_0="Çåëåíûé ôåðìåð"(Ìîõ) -m.EffectsHerbalism3_1=Êàìåíü -> Çàìøåëûé êàìåíü + ñåìåíà -m.EffectsHerbalism4_0=Óëó÷øåíèå åäû -m.EffectsHerbalism4_1=Óëó÷øàåò êîëè÷åñòâî çäîðîâüÿ îò õëåáà è ãðèáíîãî ñóïà -m.EffectsHerbalism5_0=Äðîéíîé äðîï(Âñå ðàñòåíèÿ) -m.EffectsHerbalism5_1=Äâîéíîé äðîï ñòàíîâèòñÿ íîðìàëüíûì -m.HerbalismGreenTerraLength=[[RED]]Ïðîäîëæèòåëüíîñòü "Îçåëåíèòåëÿ": [[YELLOW]]{0}s -m.HerbalismGreenThumbChance=[[RED]]Øàíñ "Çåëåíîãî ôåðìåðà": [[YELLOW]]{0}% -m.HerbalismGreenThumbStage=[[RED]]Óðîâåíü "Çåëåíîãî ôåðìåðà": [[YELLOW]] Ïùåíèöà ðàñòåò ïî-óðîâíåâî {0} -m.HerbalismDoubleDropChance=[[RED]]Øàíñ äâîéíîãî äðîïà: [[YELLOW]]{0}% -m.HerbalismFoodPlus=[[RED]]Åäà+ (Rank{0}): [[YELLOW]]Áîíóñ {0} ëå÷åíèÿ -m.SkillExcavation=Ðàñêîïêà -m.XPGainExcavation=Ðàñêàïûâàòü è èñêàòü ñîêðîâèùà -m.EffectsExcavation1_0=Ìåãà äðåëü(ñïîñîáíîñòü) -m.EffectsExcavation1_1=3-îé äðîï, 3-îé îïûò, Óâåëè÷åíèå ñêîðîñòè -m.EffectsExcavation2_0=Îõîòíèê çà ñîêðîâèùàìè -m.EffectsExcavation2_1=Ñïîñîáíîñòü êîïàòü ñîêðîâèùà -m.ExcavationGreenTerraLength=[[RED]]Ïðîäîëæèòåëüíîñòü "Ìåãà äðåëè": [[YELLOW]]{0}s -mcBlockListener.PlacedAnvil=[[DARK_RED]]Âû ðàçìåñòèëè íàêîâàëüíè è òåïåðü ìîæåòå ÷èíèòü âåùè. -mcEntityListener.WolfComesBack=[[DARK_GRAY]]Âàø âîëê õî÷åò âåðíóòüñÿ ê âàì -mcPlayerListener.AbilitiesOff=Èñïîëüçîâàíèå ñïîñîáíîñòåé âûêëþ÷åíî -mcPlayerListener.AbilitiesOn=Èñïîëüçîâàíèå ñïîñîáíîñòåé âêëþ÷åíî -mcPlayerListener.AbilitiesRefreshed=[[GREEN]]**Ñïîñîáíîñòè âîññòàíîâëåíû\!** -mcPlayerListener.AcrobaticsSkill=Àêðîáàòèêà: -mcPlayerListener.ArcherySkill=Ñòðåëüáà èç ëóêà: -mcPlayerListener.AxesSkill=Òîïîðû: -mcPlayerListener.ExcavationSkill=Ðàñêîïêà: -mcPlayerListener.GodModeDisabled=[[YELLOW]]mcMMO ðåæèì áîãà âûêëþ÷åí -mcPlayerListener.GodModeEnabled=[[YELLOW]]mcMMO ðåæèì áîãà âêëþ÷¸í -mcPlayerListener.GreenThumb=[[GREEN]]**"Çåëåíûé ôåðìåð"** -mcPlayerListener.GreenThumbFail=[[RED]]**"Çåëåíûé ôåðìåð" íåóäàëñÿ** -mcPlayerListener.HerbalismSkill=Òðàâîâåäåíèå: -mcPlayerListener.MiningSkill=Øàõò¸ðñòâî: -mcPlayerListener.MyspawnCleared=[[DARK_AQUA]]Âàøà êðîâàòü óáðàíà. -mcPlayerListener.MyspawnNotExist=[[RED]]Ñäåëàéòå âàøó òî÷êó ïîÿâëåíèÿ âîçëå êðîâàòè, ïîñïàâ íà êðîâàòè. -mcPlayerListener.MyspawnSet=[[DARK_AQUA]]Ìîÿ òî÷êà ïîÿâëåíèÿ ñîõðàíåíà â ýòîé ëîêàöèè. -mcPlayerListener.MyspawnTimeNotice=Âû äîëæíû ïîäîæäàòü {0}m {1}s ÷òîáû èñïîëüçîâàòü ïîÿâëåíèå îêîëî êðîâàòè -mcPlayerListener.NoPermission=Íåäîñòàòî÷íûå ïðàâà. -mcPlayerListener.NoSkillNote=[[DARK_GRAY]]Åñëè ó âàñ íåò äîñòóïà ê óìåíèþ, òî îíî çäåñü íå îòîáðàçèòñÿ. -mcPlayerListener.NotInParty=[[RED]]Âû íå â ãðóïïå! -mcPlayerListener.InviteSuccess=[[GREEN]]Ïðèãëàøåíèå óñïåøíî ïîñëàíî. -mcPlayerListener.ReceivedInvite1=[[RED]]ÒÐÅÂÎÃÀ: [[GREEN]]Âû ïîëó÷èëè ïðèãëàøåíèå íà âñòóïëåíèå â ãðóïïó {0} îò {1} -mcPlayerListener.ReceivedInvite2=[[YELLOW]]Type [[GREEN]]/{0}[[YELLOW]] ÷òîáû îäîáðèòü âñòóïëåíèå -mcPlayerListener.InviteAccepted=[[GREEN]]Ïðèãëàøåíèå îäîáðåíî. Âû âñòóïèëè â ãðóïïó {0} -mcPlayerListener.NoInvites=[[RED]]Ó âàñ íåò ïðèãëàøåíèé â ãðóïïó ñåé÷àñ -mcPlayerListener.YouAreInParty=[[GREEN]]Âû óæå â ãðóïïå {0} -mcPlayerListener.PartyMembers=[[GREEN]]×ëåíû ãðóïïû -mcPlayerListener.LeftParty=[[RED]]Âû âûøëè èç ãðóïïû -mcPlayerListener.JoinedParty=Ïðèñîåäèííûå ãðóïïû: {0} -mcPlayerListener.PartyChatOn=Òîëüêî ÷àò ãðóïïû [[GREEN]]Âêëþ÷åíî -mcPlayerListener.PartyChatOff=Òîëüêî ÷àò ãðóïïû [[RED]]Âûêëþ÷åíî -mcPlayerListener.AdminChatOn=Òîëüêî àäìèí ÷àò [[GREEN]]Âêëþ÷åíî -mcPlayerListener.AdminChatOff=Òîëüêî àäìèí ÷àò [[RED]]Âûêëþ÷åíî -mcPlayerListener.MOTD=[[BLUE]]Íà ýòîì ñåðâåðå óñòàíîâëåí ïëàãèí McMMO {0} type [[YELLOW]]/{1}[[BLUE]] äëÿ ïîìîùè. -mcPlayerListener.WIKI=[[GREEN]]http://mcmmo.wikia.com[[BLUE]] - mcMMO Âèêèïåäèÿ -mcPlayerListener.PowerLevel=[[DARK_RED]]Óðîâåíü óìåíèé: -mcPlayerListener.PowerLevelLeaderboard=[[YELLOW]]--mcMMO[[BLUE]] Óðîâåíü óìåíèé [[YELLOW]]Äîñêà Ëèäåðîâ-- -mcPlayerListener.SkillLeaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Äîñêà Ëèäåðîâ-- -mcPlayerListener.RepairSkill=Ïî÷èíêà: -mcPlayerListener.SwordsSkill=Ìå÷è: -mcPlayerListener.TamingSkill=Ïðèðó÷åíèå âîëêîâ: -mcPlayerListener.UnarmedSkill=Ðóêîïàøíûé áîé: -mcPlayerListener.WoodcuttingSkill=Äåðåâîîáðàáîòêà: -mcPlayerListener.YourStats=[[GREEN]][mcMMO] Õàðàêòåðèñòèêè -Party.InformedOnJoin={0} [[GREEN]] ïðèñîåäèíèëñÿ ê ãðóïïå -Party.InformedOnQuit={0} [[GREEN]] óø¸ë èç ãðóïïû -Skills.YourGreenTerra=[[GREEN]]Âàøà ñïîñîáíîñòü[[YELLOW]]"Îçåëåíåíèå" [[GREEN]]âîññòàíîâëåíà! -Skills.YourTreeFeller=[[GREEN]]Âàøà ñïîñîáíîñòü [[YELLOW]]"Ëþáèòåëü äåðåâüåâ" [[GREEN]]âîññòàíîâëåíà! -Skills.YourSuperBreaker=[[GREEN]]Âàøà ñïîñîáíîñòü [[YELLOW]]"Ñóïåð ðàçðóøèòåëü" [[GREEN]]âîññòàíîâëåíà! -Skills.YourSerratedStrikes=[[GREEN]]Âàøà ñïîñîáíîñòü [[YELLOW]]"Çàçóáðåííûå ìå÷è" [[GREEN]]âîññòàíîâëåíà! -Skills.YourBerserk=[[GREEN]]Âàøà ñïîñîáíîñòü [[YELLOW]]"Áåðñåðê" [[GREEN]]âîññòàíîâëåíà! -Skills.YourSkullSplitter=[[GREEN]]Âàøà ñïîñîáíîñòü [[YELLOW]]"Ðàçðóøèòåëü ÷åðåïîâ" [[GREEN]]âîññòàíîâëåíà! -Skills.YourGigaDrillBreaker=[[GREEN]]Âàøà ñïîñîáíîñòü [[YELLOW]]"Ìåãà äðåëü" [[GREEN]]âîññòàíîâëåíà! -Skills.TooTired=[[RED]]Âû ñëèøêîì óñòàëè, ÷òîáû èñïîëüçîâàòü ñïîñîáíîñòü åù¸ ðàç. -Skills.ReadyHoe=[[GREEN]]**Ïðèãîòîâüòå âàøó Ìîòûãó** -Skills.LowerHoe=[[GRAY]]**Îïóñòèòå âàøó Ìîòûãó** -Skills.ReadyAxe=[[GREEN]]**Ïðèãîòîâüòå âàø Òîïîð** -Skills.LowerAxe=[[GRAY]]**Îïóñòèòå âàø Òîïîð** -Skills.ReadyFists=[[GREEN]]**Ïðèãîòîâüòå âàøè Êóëàêè** -Skills.LowerFists=[[GRAY]]**Îïóñòèòå âàøè Êóëàêè** -Skills.ReadyPickAxe=[[GREEN]]**Ïðèãîòîâüòå âàøó Êèðêó** -Skills.LowerPickAxe=[[GRAY]]**Îïóñòèòå âàøó Êèðêó** -Skills.ReadyShovel=[[GREEN]]**Ïðèãîòîâüòå âàøó Ëîïàòó** -Skills.LowerShovel=[[GRAY]]**Îïóñòèòå âàøó Ëîïàòó** -Skills.ReadySword=[[GREEN]]**Ïðèãîòîâüòå âàø Ìå÷** -Skills.LowerSword=[[GRAY]]**Îïóñòèòå âàø Ìå÷** -Skills.BerserkOn=[[GREEN]]**Ñïîñîáíîñòü "Áåðñåðê" àêòèâèðîâàíà** -Skills.BerserkPlayer=[[GREEN]]{0}[[DARK_GREEN]] èñïîëüçîâàë ñïîñîáíîñòü [[RED]]"Áåðñåðê"! -Skills.GreenTerraOn=[[GREEN]]**Ñïîñîáíîñòü "Îçåëåíåíèå" àêòèâèðîâàíà** -Skills.GreenTerraPlayer=[[GREEN]]{0}[[DARK_GREEN]] èñïîëüçîâàë ñïîñîáíîñòü [[RED]]"Îçåëåíåíèå"! -Skills.TreeFellerOn=[[GREEN]]**Ñïîñîáíîñòü "Ëþáèòåëü Äåðåâüåâ" àêòèâèðîâàíà** -Skills.TreeFellerPlayer=[[GREEN]]{0}[[DARK_GREEN]] èñïîëüçîâàë ñïîñîáíîñòü [[RED]]"Ëþáèòåëü Äåðåâüåâ"! -Skills.SuperBreakerOn=[[GREEN]]**Ñïîñîáíîñòü "Ñóïåð Ðàçðóøèòåëü" àêòèâèðîâàíà** -Skills.SuperBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] èñïîëüçîâàë ñïîñîáíîñòü [[RED]]"Ñóïåð Ðàçðóøèòåëü"! -Skills.SerratedStrikesOn=[[GREEN]]**Ñïîñîáíîñòü "Çàçóáðåííûå ìå÷è" àêòèâèðîâàíà** -Skills.SerratedStrikesPlayer=[[GREEN]]{0}[[DARK_GREEN]] èñïîëüçîâàë ñïîñîáíîñòü [[RED]]"Çàçóáðåííûå ìå÷è"! -Skills.SkullSplitterOn=[[GREEN]]**Ñïîñîáíîñòü "Ðàçðåøèòåëü ÷åðåïîâ" àêòèâèðîâàíà** -Skills.SkullSplitterPlayer=[[GREEN]]{0}[[DARK_GREEN]] èñïîëüçîâàë ñïîñîáíîñòü [[RED]]"Ðàçðóøèòåëü ÷åðåïîâ"! -Skills.GigaDrillBreakerOn=[[GREEN]]**Ñïîñîáíîñòü "Ìåãà äðåëü" àêòèâèðîâàíà** -Skills.GigaDrillBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] èñïîëüçîâàë ñïîñîáíîñòü [[RED]]"Ìåãà äðåëü"! -Skills.GreenTerraOff=[[RED]]**Ñïîñîáíîñòü "Îçåëåíåíèå" äåàêòèâèðîâàíà** -Skills.TreeFellerOff=[[RED]]**Ñïîñîáíîñòü "Ëþáèòåëü Äåðåâüåâ" äåàêòèâèðîâàíà** -Skills.SuperBreakerOff=[[RED]]**Ñïîñîáíîñòü "Ñóïåð Ðàçðóøèòåëü" äåàêòèâèðîâàíà** -Skills.SerratedStrikesOff=[[RED]]**Ñïîñîáíîñòü "Çàçóáðåííûå ìå÷è" äåàêòèâèðîâàíà** -Skills.BerserkOff=[[RED]]**Ñïîñîáíîñòü "Áåðñåðê" äåàêòèâèðîâàíà** -Skills.SkullSplitterOff=[[RED]]**Ñïîñîáíîñòü "Ðàçðåøèòåëü ÷åðåïîâ" äåàêòèâèðîâàíà** -Skills.GigaDrillBreakerOff=[[RED]]**Ñïîñîáíîñòü "Ìåãà äðåëü" äåàêòèâèðîâàíà** -Skills.TamingUp=[[YELLOW]]Óìåíèå "Ïðèðó÷åíèå âîëêîâ" ïîâûøåíî íà {0}. Âñåãî ({1}) -Skills.AcrobaticsUp=[[YELLOW]]Óìåíèå "Àêðîáàòèêà" ïîâûøåíî íà {0}. Âñåãî ({1}) -Skills.ArcheryUp=[[YELLOW]]Óìåíèå "Ñòðåëüáà èç ëóêà" ïîâûøåíî íà {0}. Âñåãî ({1}) -Skills.SwordsUp=[[YELLOW]]Óìåíèå "Ìå÷è" ïîâûøåíî íà {0}. Âñåãî ({1}) -Skills.AxesUp=[[YELLOW]]Óìåíèå "Òîïîðû" ïîâûøåíî íà {0}. Âñåãî ({1}) -Skills.UnarmedUp=[[YELLOW]]Óìåíèå "Ðóêîïàøíûé áîé" ïîâûøåíî íà {0}. Âñåãî ({1}) -Skills.HerbalismUp=[[YELLOW]]Óìåíèå "Òðàâîâåäåíèå" ïîâûøåíî íà {0}. Âñåãî ({1}) -Skills.MiningUp=[[YELLOW]]Óìåíèå "Øàõò¸ðñòâî" ïîâûøåíî íà {0}. Âñåãî ({1}) -Skills.WoodcuttingUp=[[YELLOW]]Óìåíèå "Äåðåâîîáðàáîòêà" ïîâûøåíî íà {0}. Âñåãî ({1}) -Skills.RepairUp=[[YELLOW]]Óìåíèå "Ïî÷èíêà" ïîâûøåíî íà {0}. Âñåãî ({1}) -Skills.ExcavationUp=[[YELLOW]]Óìåíèå "Ðàñêîïêà" ïîâûøåíî íà {0}. Âñåãî ({1}) -Skills.FeltEasy=[[GRAY]]Ýòî áûëî ëåãêî. -Skills.StackedItems=[[DARK_RED]]Âû íå ìîæåòå ÷èíèòü ñòàêóþùèåñÿ ïðåäìåòû -Skills.NeedMore=[[DARK_RED]]Íóæíî áîëüøå ìàòåðèàëà -Skills.AdeptDiamond=[[DARK_RED]]Âû íå îáó÷åíû ÷èíèòü àëìàçíûå èíñòðóìåíòû è áðîíþ -Skills.FullDurability=[[GRAY]]Âåùü íå íóæäàåòñÿ â ïî÷èíêå. -Skills.Disarmed=[[DARK_RED]]Âû îáåçîðóæåíû! -mcPlayerListener.SorcerySkill=Êîëäîâñòâî: -m.SkillSorcery=Êîëäîâñòâî -Sorcery.HasCast=[[GREEN]]**Èñïîëüçóþ "Êîëäîâñòâî"**[[GOLD]] -Sorcery.Current_Mana=[[DARK_AQUA]] Ìàíû -Sorcery.SpellSelected=[[GREEN]]-=([[GOLD]]{0}[[GREEN]])=- [[RED]]([[GRAY]]{1}[[RED]]) -Sorcery.Cost=[[RED]][COST] {0} Ìàíû -Sorcery.OOM=[[DARK_AQUA]][[[GOLD]]{2}[[DARK_AQUA]]][[DARK_GRAY]] Íå õâàòàåò ìàíû [[YELLOW]]([[RED]]{0}[[YELLOW]]/[[GRAY]]{1}[[YELLOW]]) -Sorcery.Water.Thunder=Ãðîì -Sorcery.Curative.Self=Âûëå÷èòü ñåáÿ -Sorcery.Curative.Other=Âûëå÷èòü äðóãèõ -m.LVL=[[DARK_GRAY]]Óðîâåíü: [[GREEN]]{0} [[DARK_AQUA]]XP[[YELLOW]]([[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]]) -Combat.BeastLore=[[GREEN]]**Óìåíèå "Óäàð âîëêà" àêòèâèðîâàíî** -Combat.BeastLoreOwner=[[DARK_AQUA]]Âëàäåëåö ([[RED]]{0}[[DARK_AQUA]]) -Combat.BeastLoreHealthWolfTamed=[[DARK_AQUA]]Çäîðîâüÿ ([[GREEN]]{0}[[DARK_AQUA]]/20) -Combat.BeastLoreHealthWolf=[[DARK_AQUA]]Çäîðîâüÿ ([[GREEN]]{0}[[DARK_AQUA]]/8) -Party.Locked=[[RED]]Ãðóïïà çàïàðîëåíà, òîëüêî ëèäåð ãðóïïû ìîæåò ïðèãëàøàòü. -Party.IsntLocked=[[GRAY]]Ãðóïïà ðàçáëîêèðîâàíà -Party.Unlocked=[[GRAY]]Ãðóïïà ðàçáëîêèðîâàíà -Party.Help1=[[RED]]Èñïîëüçîâàíèå [[YELLOW]]/{0} [[WHITE]][[YELLOW]] èëè [[WHITE]]'q' [[YELLOW]]äëÿ âûõîäà -Party.Help2=[[RED]]×òîáû ïðèñîåäèíèòñÿ ê çàïàðîëåííîé ãðóïïå ââåäèòå [[YELLOW]]/{0} [[WHITE]]<èìÿ> <ïàðîëü> -Party.Help3=[[RED]]Ââåäèòå /{0} ? äëÿ áîëüøåé èíôîðìàöèè -Party.Help4=[[RED]]Èñïîëüçóéòå [[YELLOW]]/{0} [[WHITE]]<èìÿ> [[YELLOW]]÷òîáû ïðèñîåäèíèòñÿ ê ãðóïïå èëè [[WHITE]]'q' [[YELLOW]]äëÿ âûõîäà -Party.Help5=[[RED]]×òîáû çàáëîêèðîâàòü ãðóïïó ââåäèòå [[YELLOW]]/{0} [[WHITE]]lock -Party.Help6=[[RED]]×òîáû ðàçáëîêèðîâàòü ãðóïïó ââåäèòå [[YELLOW]]/{0} [[WHITE]]unlock -Party.Help7=[[RED]]×òîáû çàïàðîëèòü ãðóïïó ââåäèòå [[YELLOW]]/{0} [[WHITE]]password <ïàðîëü> -Party.Help8=[[RED]]×òîáû âûêèíóòü èãðîêà èç ãðóïïû ââåäèòå [[YELLOW]]/{0} [[WHITE]]kick <èãðîê> -Party.Help9=[[RED]]×òîáû îòäàòü ëèäåðñòâî ãðóïïû ââåäèòå [[YELLOW]]/{0} [[WHITE]]owner <èãðîê> -Party.NotOwner=[[DARK_RED]]Âû òåïåðü íå ëèäåð ãðóïïû -Party.InvalidName=[[DARK_RED]]Íåêîððåêòíîå èìÿ ãðóïïû -Party.PasswordSet=[[GREEN]]Ïàðîëü ãðóïïû íàçíà÷åí {0} -Party.CouldNotKick=[[DARK_RED]]Âû íå ìîæåòå óáðàòü èãðîêà èç ãðóïïû {0} -Party.NotInYourParty=[[DARK_RED]]{0} íå â ãðóïïå -Party.CouldNotSetOwner=[[DARK_RED]]Âû íå ìîæåòå îòäàòü ëèäåðñòâî èãðîêó {0} +Combat.WolfExamine=[[GREEN]]**Âû íàó÷èëè Âîëêà èñïîëüçîâàíèþ "Óäàðà âîëêà"** +Combat.WolfExamine=[[GREEN]]**Âû íàó÷èëè Âîëêà èñïîëüçîâàíèþ "Óäàðà âîëêà"** +Combat.WolfShowMaster=[[DARK_GREEN]]Ìàñòåð ïî ïðèðó÷åíèþ Âîëêîâ \: {0} +Combat.Ignition=[[RED]]**Âû ïîäîæãëè ïðîòèâíèêà ñòðåëîé!!** +Combat.BurningArrowHit=[[DARK_RED]]Âû áûëè ïîðàæåíû ãîðÿùåé ñòðåëîé\! +Combat.TouchedFuzzy=[[DARK_RED]]Âû èñòåêàåòå êðîâüþ. Êðóæèòñÿ ãîëîâà. +Combat.TargetDazed=Âàøà öåëü [[DARK_RED]]Øîêèðîâàíà +Combat.WolfNoMaster=[[GRAY]]Ó ýòîãî Âîëêà íåò õîçÿèíà +Combat.WolfHealth=[[GREEN]]Ó ýòîãî Âîëêà {0} Çäîðîâüÿ +Combat.StruckByGore=[[RED]]**Îêðàâëåíèå íåóäà÷íî** +Combat.Gore=[[GREEN]]**Îêðàâëåíèå** +Combat.ArrowDeflect=[[WHITE]]**Ñòðåëà îòñêî÷èëà** +Item.ChimaeraWingFail=**Êðûëüÿ Õèìåðû íå ñìîãëè âàñ óíåñòè\!** +Item.ChimaeraWingPass=**Êðûëüÿ Õèìåðû óíîñÿò âàñ...** +Item.InjuredWait=Âû ðàíåíû è íå ñìîæåòå ïîêà èñïîëüçîâàòü ýòî. [[YELLOW]]({0}s) +Item.NeedFeathers=[[GRAY]]Âàì íóæíî áîëüøå ïåðüåâ.. +m.mccPartyCommands=[[GREEN]]--Ãðóïïîâûå êîìàíäû-- +m.mccParty=[party name] [[RED]]- Ñîçäàíèå ãðóïïû +m.mccPartyQ=[[RED]]- Ïîêèíüòå òåêóùóþ ãðóïïó +m.mccPartyToggle=[[RED]] - Âêëþ÷èòü ãðóïïîâîé ÷àò +m.mccPartyInvite=[player name] [[RED]]- Ïðèñëàòü ïðèãëàøåíèå â ãðóïïó +m.mccPartyAccept=[[RED]]- Ïîäòâåðäèòü ïðèãëàøåíèå â ãðóïïó +m.mccPartyTeleport=[party member name] [[RED]]- Òåëåïîðòèðîâàòüñÿ ê ÷ëåíó ãðóïïû +m.mccOtherCommands=[[GREEN]]--Äðóãèå êîìàíäû-- +m.mccStats=- Ïîñìîòðåòü âàøè McMMo õàðàêòåðèñòèêè +m.mccLeaderboards=- Äîñêà Ëèäåðîâ +m.mccMySpawn=- Òåëåïîðòèðóåò ê âàøåé êðîâàòè +m.mccClearMySpawn=- Óáèðàåò âàøó êðîâàòü +m.mccToggleAbility=- Àêòèâèðîâàòü âîçìîæíîñòü ïðàâûì êëèêîì ìûøè +m.mccAdminToggle=- Âêëþ÷èòü àäìèíñêèé ÷àò +m.mccWhois=[playername] [[RED]]- Ïîñìîòðåòü äåòàëüíóþ èíôîðìàöèþ +m.mccMmoedit=[playername] [skill] [newvalue] [[RED]]- Èçìåíèòü öåëü +m.mccMcGod=- Ðåæèì Áîãà +m.mccSkillInfo=[skillname] [[RED]]- Ïîñìîòðåòü äåòàëüíóþ èíôîðìàöèþ î óìåíèè +m.mccModDescription=[[RED]]- Ïðî÷èòàòü èíôîðìàöèþ î ìîäå McMMo +m.SkillHeader=[[RED]]-----[][[GREEN]]{0}[[RED]][]----- +m.XPGain=[[DARK_GRAY]]XP GAIN: [[WHITE]]{0} +m.EffectsTemplate=[[DARK_AQUA]]{0}: [[GREEN]]{1} +m.AbilityLockTemplate=[[GRAY]]{0} +m.AbilityBonusTemplate=[[RED]]{0}: [[YELLOW]]{1} +m.Effects=ÝÔÔÅÊÒÛ +m.YourStats=ÂÀØÈ ÕÀÐÀÊÒÅÐÈÑÒÈÊÈ +m.SkillTaming=Ïðèðó÷åíèå +m.XPGainTaming=Âîëêè ïðè÷èíÿþò óùåðá +m.EffectsTaming1_0=Óäàð Âîëêà +m.EffectsTaming1_1=Óìåíüøåíèå êîëè÷åñòâà êîñòåé +m.EffectsTaming2_0=Îêðàâëåíèå +m.EffectsTaming2_1=Êðèòè÷åñêèé óäàð âî âðåìÿ èñòåêàíèÿ êðîâüþ +m.EffectsTaming3_0=Îñòðûå Êîãòè +m.EffectsTaming3_1=Áîíóñ ê óðîíó +m.EffectsTaming4_0=Íåçàâèñèìîñòü îò ýêîëîãèè +m.EffectsTaming4_1=Èìóíèòåò ê ïàäåíèþ, áîÿçíü ëàâû/êàêòóñîâ +m.EffectsTaming5_0=Ãóñòîé ìåõ +m.EffectsTaming5_1=Ñîêðàùåíèå óðîíà, îãíåóñòîé÷èâîñòü +m.EffectsTaming6_0=Íàäåæíàÿ çàùèòà îò ïîâðåæäåíèé +m.EffectsTaming6_1=Ñíèæåíèå óðîíà îò âçðûâîâ +m.AbilLockTaming1=Áëîêèðóåòñÿ äî 100+ óðîâíÿ(Íåçàâèñèìîñòü îò ýêîëîãèè) +m.AbilLockTaming2=Áëîêèðóåòñÿ äî 250+ óðîâíÿ (Ãóñòîé ìåõ) +m.AbilLockTaming3=Áëîêèðóåòñÿ äî 500+ óðîâíÿ (Íàäåæíàÿ çàùèòà îò ïîâðåæäåíèé) +m.AbilLockTaming4=Áëîêèðóåòñÿ äî 700+ óðîâíÿ (Îñòðûå Êîãòè) +m.AbilBonusTaming1_0=Íåçàâèñèìîñòü îò ýêîëîãèè +m.AbilBonusTaming1_1=Âîëêè èçáåãàþò îïàñíîñòåé +m.AbilBonusTaming2_0=Ãóñòîé ìåõ +m.AbilBonusTaming2_1=Óðîí íàïîëîâèíó, Îãíåóñòîé÷èâîñòü +m.AbilBonusTaming3_0=Íàäåæíàÿ çàùèòà îò ïîâðåæäåíèé +m.AbilBonusTaming3_1=Âçðûâû ïðè÷èíÿþò 1/6 íîðìàëüíîãî óðîíà +m.AbilBonusTaming4_0=Îñòðûå Êîãòè +m.AbilBonusTaming4_1=+2 Óðîíà +m.TamingGoreChance=[[RED]]Øàíñ îêðàâëåíèÿ: [[YELLOW]]{0}% +m.SkillWoodCutting=Äåðåâîîáðàáîòêà +m.XPGainWoodCutting=Ðóáèòü äåðåâüÿ +m.EffectsWoodCutting1_0=Ëþáèòåëü äåðåâüåâ(ñïîñîáíîñòü) +m.EffectsWoodCutting1_1=Äåëàòü âçðûâû äåðåâüåâ +m.EffectsWoodCutting2_0=Áûñòðîå ñðåçàíèå ëèñòüåâ +m.EffectsWoodCutting2_1=Ñäóâàòü ëèñòüÿ +m.EffectsWoodCutting3_0=Äâîéíîé äðîï +m.EffectsWoodCutting3_1=Íîðìàëüíûé äâîéíîé äðîï +m.AbilLockWoodCutting1=Áëîêèðóåòñÿ äî 100+ óðîâíÿ(Áûñòðîå ñðåçàíèå ëèñòüåâ) +m.AbilBonusWoodCutting1_0=Áûñòðîå ñðåçàíèå ëèñòüåâ +m.AbilBonusWoodCutting1_1=Ñäóâàòü ëèñòüÿ +m.WoodCuttingDoubleDropChance=[[RED]]Øàíñ äâîéíîãî äðîïà: [[YELLOW]]{0}% +m.WoodCuttingTreeFellerLength=[[RED]]Ïðîäîëæèòåëüíîñòü Ëþáèòåëÿ äåðåâüåâ: [[YELLOW]]{0}s +m.SkillArchery=Ñòðåëüáà èç ëóêà +m.XPGainArchery=Àòàêîâàòü ìîíñòðîâ èç ëóêà +m.EffectsArchery1_0=Ïîäæ¸ã +m.EffectsArchery1_1=25% øàíñ, ÷òî öåëü ïîäîæã¸òñÿ +m.EffectsArchery2_0=Øîêèðîâàíèå(Èãðîêîâ) +m.EffectsArchery2_1=Äåçîðèåíòèðóåò âðàãîâ +m.EffectsArchery3_0=Óðîí+ +m.EffectsArchery3_1=Óëó÷øàåò Óðîí +m.EffectsArchery4_0=Ïîëó÷åíèå ñòðåë +m.EffectsArchery4_1=Øàíñ ïîëó÷èòü ñòðåëû èç òðóïîâ +m.ArcheryDazeChance=[[RED]]Øàíñ øîêèðîâàòü: [[YELLOW]]{0}% +m.ArcheryRetrieveChance=[[RED]]Øàíñ ïîëó÷èòü ñòðåëû: [[YELLOW]]{0}% +m.ArcheryIgnitionLength=[[RED]]Äëèòåëüíîñòü ïîäæ¸ãà: [[YELLOW]]{0} ñåêóíä +m.ArcheryDamagePlus=[[RED]]Óðîí+ (Rank{0}): [[YELLOW]]Bonus {0} damage +m.SkillAxes=Òîïîðû +m.XPGainAxes=Àòàêîâàòü ìîíñòðîâ òîïîðîì +m.EffectsAxes1_0=Ðàçðóøèòåëü ÷åðåïîâ(ñïîñîáíîñòü) +m.EffectsAxes1_1=Óâåëè÷åíèå óðîíà îò òîïîðà +m.EffectsAxes2_0=Êðèòè÷åñêèå óäàðû +m.EffectsAxes2_1=Äâîéíîé óðîí +m.EffectsAxes3_0=Ìàñòåðñòâî òîïîðà(500 óðîâåíü) +m.EffectsAxes3_1=Óëó÷øåíèå óðîíà +m.AbilLockAxes1=Áëîêèðóåòñÿ äî 500+ óðîâíÿ(Ìàñòåðñòâî òîïîðà) +m.AbilBonusAxes1_0=Ìàñòåðñòâî òîïîðà +m.AbilBonusAxes1_1=Äàåò áîíóñ â 4 óðîíà +m.AxesCritChance=[[RED]]Øàíñ êðèòè÷åñêîãî óäàðà: [[YELLOW]]{0}% +m.AxesSkullLength=[[RED]]Ïðîäîëæèòåëüíîñòü Ðàçðóøèòåëÿ ×åðåïîâ: [[YELLOW]]{0}s +m.SkillSwords=Ìå÷è +m.XPGainSwords=Àòàêîâàòü ìîíñòðîâ ìå÷îì +m.EffectsSwords1_0=Êîíòð-Àòàêà +m.EffectsSwords1_1=Îòðàæàåò 50% ïîëó÷åííîãî óðîíà +m.EffectsSwords2_0=Çàçóáðåííûå ìå÷è(ñïîñîáíîñòü) +m.EffectsSwords2_1=25% Óðîíà+ è êðîâîòå÷åíèå îò óäàðà +m.EffectsSwords3_0=Óâåëå÷åíèå äëèòåëüíîñòè ñïîñîáíîñòè "Çàçóáðåííûå ìå÷è" +m.EffectsSwords3_1=Êðîâîòå÷åíèå 5 ðàç +m.EffectsSwords4_0=Ïàðèðîâàíèå +m.EffectsSwords4_1=Îòðèöàòåëüíûé óðîí +m.EffectsSwords5_0=Êðîâîòå÷åíèå +m.EffectsSwords5_1=Çàñòàâëÿåò âðàãà êðîâîòî÷èòü +m.SwordsCounterAttChance=[[RED]]Øàíñ Êîíòð-Àòàêè: [[YELLOW]]{0}% +m.SwordsBleedLength=[[RED]]Äëèòåëüíîñòü êðîâîòå÷åíèÿ: [[YELLOW]]{0} ðàç +m.SwordsBleedChance=[[RED]]Øàíñ êðîâîòå÷åíèÿ: [[YELLOW]]{0} % +m.SwordsParryChance=[[RED]]Øàíñ ïàðèðîâàíèÿ: [[YELLOW]]{0} % +m.SwordsSSLength=[[RED]]Äëèòåëüíîñòü "Çàçóáðåííûx ìå÷åé": [[YELLOW]]{0}s +m.SwordsTickNote=[[GRAY]]Çàìåòêà: [[YELLOW]]1 ðàç äëèòüñÿ 2 ñåêóíäû +m.SkillAcrobatics=Àêðîáàòèêà +m.XPGainAcrobatics=Íóæíî Ïàäàòü ñ ãîð +m.EffectsAcrobatics1_0=Ïåðåâîðîò +m.EffectsAcrobatics1_1=Ïîãëîùàåò èëè óìåíüøàåò óðîí +m.EffectsAcrobatics2_0=Ïðåâîñõîäíûé ïåðåâîðîò +m.EffectsAcrobatics2_1=Äâàæäû ýôôåêòèâíåå ïåðåâîðîòà +m.EffectsAcrobatics3_0=Óâîðîò +m.EffectsAcrobatics3_1=Óìåíüøàåò óðîí íàïîëîâèíó îò ñòðåëû +m.AcrobaticsRollChance=[[RED]]Øàíñ ïåðåâîðîòà: [[YELLOW]]{0}% +m.AcrobaticsGracefulRollChance=[[RED]]Øàíñ ïðåâîñõîäíîãî ïåðåâîðîòà: [[YELLOW]]{0}% +m.AcrobaticsDodgeChance=[[RED]]Øàíñ óâîðîòà: [[YELLOW]]{0}% +m.SkillMining=Øàõò¸ðñòâî +m.XPGainMining=Äîáûâàòü ðóäó è êàìíè â øàõòàõ +m.EffectsMining1_0=Ñóïåð ðàçðóøèòåëü(ñïîñîáíîñòü) +m.EffectsMining1_1=Óâåëè÷åíèå ñêîðîñòè, Øàíñ òðîéíîãî äðîïà +m.EffectsMining2_0=Äâîéíîé äðîï +m.EffectsMining2_1=Äâîéíîé äðîï ñòàíîâèòñÿ íîðìàëüíûì +m.MiningDoubleDropChance=[[RED]]Øàíñ äâîéíîãî äðîïà: [[YELLOW]]{0}% +m.MiningSuperBreakerLength=[[RED]]Äëèòåëüíîñòü ñïîñîáíîñòè "Ñóïåð Ðàçðóøèòåëü": [[YELLOW]]{0}s +m.SkillRepair=Ïî÷èíêà +m.XPGainRepair=×èíèòü âåùè +m.EffectsRepair1_0=Ïî÷èíêà +m.EffectsRepair1_1=×èíèò Æåëåçíûå èíñòðóìåíòû è áðîíþ +m.EffectsRepair2_0=Ìàñòåðñòâî ïî÷èíêè +m.EffectsRepair2_1=Óâåëè÷èâàåò êà÷åñòâî ðåìîíòà +m.EffectsRepair3_0=Ñóïåð ïî÷èíêà +m.EffectsRepair3_1=Äâîéíàÿ ýôôåêòèâíîñòü âåùåé +m.EffectsRepair4_0=Ïî÷èíêà Àëìàçíûõ âåùåé ({0}+ óðîâåíü) +m.EffectsRepair4_1=×èíèòü Àëìàçíûå èíñòðóìåíòû è áðîíþ +m.RepairRepairMastery=[[RED]]Ìàñòåðñòâî ïî÷èíêè: [[YELLOW]]Äîïîëíèòåëüíî {0}% äîëãîâå÷íîñòè âîññòàíîâëåíî +m.RepairSuperRepairChance=[[RED]]Øàíñ Ñóïåð ïî÷èíêè: [[YELLOW]]{0}% +m.SkillUnarmed=Ðóêîïàøíûé áîé +m.XPGainUnarmed=Àòàêîâàòü ìîíñòðîâ ãîëûìè ðóêàìè +m.EffectsUnarmed1_0=Áåðñåðê(ñïîñîáíîñòü) +m.EffectsUnarmed1_1=+50% Óðîíà, Ëîìàòü ñëàáûå ìàòåðèàëû +m.EffectsUnarmed2_0=Îáåçîðóæåíèå(Èãðîêè) +m.EffectsUnarmed2_1=Ïàäàåò îðóæèå ïðîòèâíèêà íà çåìëþ, êîòîðîå íàõîäèòñÿ â ðóêàõ ó íåãî. +m.EffectsUnarmed3_0=Ìàñòåð Ðóêîïàøíîãî áîÿ +m.EffectsUnarmed3_1=Óëó÷øåíèå óðîíà îò êóëàêîâ +m.EffectsUnarmed4_0=Ó÷åíèê ðóêîïàøíîãî áîÿ +m.EffectsUnarmed4_1=Óâåëè÷åíèå óðîíà îò êóëàêîâ +m.EffectsUnarmed5_0=Îòðàæåíèå ñòðåë +m.EffectsUnarmed5_1=Ñòðåëû îòðàæàþòñÿ +m.AbilLockUnarmed1=Áëîêèðóåòñÿ äî 250+ óðîâíÿ(Ó÷åíèê ðóêîïàøíîãî áîÿ) +m.AbilLockUnarmed2=Áëîêèðóåòñÿ äî 500+ óðîâíÿ(Ìàñòåð Ðóêîïàøíîãî áîÿ) +m.AbilBonusUnarmed1_0=Ó÷åíèê ðóêîïàøíîãî áîÿ +m.AbilBonusUnarmed1_1=+2 áîíóñ ê óðîíó +m.AbilBonusUnarmed2_0=Ìàñòåð Ðóêîïàøíîãî áîÿ +m.AbilBonusUnarmed2_1=+4 áîíóñ ê óðîíó +m.UnarmedArrowDeflectChance=[[RED]]Øàíñ îòðàçèòü ñòðåëû: [[YELLOW]]{0}% +m.UnarmedDisarmChance=[[RED]]Øàíñ îáåçîðóæèòü: [[YELLOW]]{0}% +m.UnarmedBerserkLength=[[RED]]Äëèòåëüíîñòü "Áåðñåðêà": [[YELLOW]]{0}s +m.SkillHerbalism=Òðàâîâåäåíèå +m.XPGainHerbalism=Âûðàùèâàòü ðàñòåíèÿ +m.EffectsHerbalism1_0=Îçåëåíèòåëü(ñïîñîáíîñòü) +m.EffectsHerbalism1_1=Ðàñïðîñòðîíåíèå îçåëåíåíèé, 3-îé äðîï +m.EffectsHerbalism2_0="Çåëåíûé ôåðìåð"(Ïùåíèöà) +m.EffectsHerbalism2_1=Àâòî âûðàùèâàíèå ïùåíèöû ïîñëå ïîñàäêè +m.EffectsHerbalism3_0="Çåëåíûé ôåðìåð"(Ìîõ) +m.EffectsHerbalism3_1=Êàìåíü -> Çàìøåëûé êàìåíü + ñåìåíà +m.EffectsHerbalism4_0=Óëó÷øåíèå åäû +m.EffectsHerbalism4_1=Óëó÷øàåò êîëè÷åñòâî çäîðîâüÿ îò õëåáà è ãðèáíîãî ñóïà +m.EffectsHerbalism5_0=Äðîéíîé äðîï(Âñå ðàñòåíèÿ) +m.EffectsHerbalism5_1=Äâîéíîé äðîï ñòàíîâèòñÿ íîðìàëüíûì +m.HerbalismGreenTerraLength=[[RED]]Ïðîäîëæèòåëüíîñòü "Îçåëåíèòåëÿ": [[YELLOW]]{0}s +m.HerbalismGreenThumbChance=[[RED]]Øàíñ "Çåëåíîãî ôåðìåðà": [[YELLOW]]{0}% +m.HerbalismGreenThumbStage=[[RED]]Óðîâåíü "Çåëåíîãî ôåðìåðà": [[YELLOW]] Ïùåíèöà ðàñòåò ïî-óðîâíåâî {0} +m.HerbalismDoubleDropChance=[[RED]]Øàíñ äâîéíîãî äðîïà: [[YELLOW]]{0}% +m.HerbalismFoodPlus=[[RED]]Åäà+ (Rank{0}): [[YELLOW]]Áîíóñ {0} ëå÷åíèÿ +m.SkillExcavation=Ðàñêîïêà +m.XPGainExcavation=Ðàñêàïûâàòü è èñêàòü ñîêðîâèùà +m.EffectsExcavation1_0=Ìåãà äðåëü(ñïîñîáíîñòü) +m.EffectsExcavation1_1=3-îé äðîï, 3-îé îïûò, Óâåëè÷åíèå ñêîðîñòè +m.EffectsExcavation2_0=Îõîòíèê çà ñîêðîâèùàìè +m.EffectsExcavation2_1=Ñïîñîáíîñòü êîïàòü ñîêðîâèùà +m.ExcavationGreenTerraLength=[[RED]]Ïðîäîëæèòåëüíîñòü "Ìåãà äðåëè": [[YELLOW]]{0}s +mcBlockListener.PlacedAnvil=[[DARK_RED]]Âû ðàçìåñòèëè íàêîâàëüíè è òåïåðü ìîæåòå ÷èíèòü âåùè. +mcEntityListener.WolfComesBack=[[DARK_GRAY]]Âàø âîëê õî÷åò âåðíóòüñÿ ê âàì +mcPlayerListener.AbilitiesOff=Èñïîëüçîâàíèå ñïîñîáíîñòåé âûêëþ÷åíî +mcPlayerListener.AbilitiesOn=Èñïîëüçîâàíèå ñïîñîáíîñòåé âêëþ÷åíî +mcPlayerListener.AbilitiesRefreshed=[[GREEN]]**Ñïîñîáíîñòè âîññòàíîâëåíû\!** +mcPlayerListener.AcrobaticsSkill=Àêðîáàòèêà: +mcPlayerListener.ArcherySkill=Ñòðåëüáà èç ëóêà: +mcPlayerListener.AxesSkill=Òîïîðû: +mcPlayerListener.ExcavationSkill=Ðàñêîïêà: +mcPlayerListener.GodModeDisabled=[[YELLOW]]mcMMO ðåæèì áîãà âûêëþ÷åí +mcPlayerListener.GodModeEnabled=[[YELLOW]]mcMMO ðåæèì áîãà âêëþ÷¸í +mcPlayerListener.GreenThumb=[[GREEN]]**"Çåëåíûé ôåðìåð"** +mcPlayerListener.GreenThumbFail=[[RED]]**"Çåëåíûé ôåðìåð" íåóäàëñÿ** +mcPlayerListener.HerbalismSkill=Òðàâîâåäåíèå: +mcPlayerListener.MiningSkill=Øàõò¸ðñòâî: +mcPlayerListener.MyspawnCleared=[[DARK_AQUA]]Âàøà êðîâàòü óáðàíà. +mcPlayerListener.MyspawnNotExist=[[RED]]Ñäåëàéòå âàøó òî÷êó ïîÿâëåíèÿ âîçëå êðîâàòè, ïîñïàâ íà êðîâàòè. +mcPlayerListener.MyspawnSet=[[DARK_AQUA]]Ìîÿ òî÷êà ïîÿâëåíèÿ ñîõðàíåíà â ýòîé ëîêàöèè. +mcPlayerListener.MyspawnTimeNotice=Âû äîëæíû ïîäîæäàòü {0}m {1}s ÷òîáû èñïîëüçîâàòü ïîÿâëåíèå îêîëî êðîâàòè +mcPlayerListener.NoPermission=Íåäîñòàòî÷íûå ïðàâà. +mcPlayerListener.NoSkillNote=[[DARK_GRAY]]Åñëè ó âàñ íåò äîñòóïà ê óìåíèþ, òî îíî çäåñü íå îòîáðàçèòñÿ. +mcPlayerListener.NotInParty=[[RED]]Âû íå â ãðóïïå! +mcPlayerListener.InviteSuccess=[[GREEN]]Ïðèãëàøåíèå óñïåøíî ïîñëàíî. +mcPlayerListener.ReceivedInvite1=[[RED]]ÒÐÅÂÎÃÀ: [[GREEN]]Âû ïîëó÷èëè ïðèãëàøåíèå íà âñòóïëåíèå â ãðóïïó {0} îò {1} +mcPlayerListener.ReceivedInvite2=[[YELLOW]]Type [[GREEN]]/{0}[[YELLOW]] ÷òîáû îäîáðèòü âñòóïëåíèå +mcPlayerListener.InviteAccepted=[[GREEN]]Ïðèãëàøåíèå îäîáðåíî. Âû âñòóïèëè â ãðóïïó {0} +mcPlayerListener.NoInvites=[[RED]]Ó âàñ íåò ïðèãëàøåíèé â ãðóïïó ñåé÷àñ +mcPlayerListener.YouAreInParty=[[GREEN]]Âû óæå â ãðóïïå {0} +mcPlayerListener.PartyMembers=[[GREEN]]×ëåíû ãðóïïû +mcPlayerListener.LeftParty=[[RED]]Âû âûøëè èç ãðóïïû +mcPlayerListener.JoinedParty=Ïðèñîåäèííûå ãðóïïû: {0} +mcPlayerListener.PartyChatOn=Òîëüêî ÷àò ãðóïïû [[GREEN]]Âêëþ÷åíî +mcPlayerListener.PartyChatOff=Òîëüêî ÷àò ãðóïïû [[RED]]Âûêëþ÷åíî +mcPlayerListener.AdminChatOn=Òîëüêî àäìèí ÷àò [[GREEN]]Âêëþ÷åíî +mcPlayerListener.AdminChatOff=Òîëüêî àäìèí ÷àò [[RED]]Âûêëþ÷åíî +mcPlayerListener.MOTD=[[BLUE]]Íà ýòîì ñåðâåðå óñòàíîâëåí ïëàãèí McMMO {0} type [[YELLOW]]/{1}[[BLUE]] äëÿ ïîìîùè. +mcPlayerListener.WIKI=[[GREEN]]http://mcmmo.wikia.com[[BLUE]] - mcMMO Âèêèïåäèÿ +mcPlayerListener.PowerLevel=[[DARK_RED]]Óðîâåíü óìåíèé: +mcPlayerListener.PowerLevelLeaderboard=[[YELLOW]]--mcMMO[[BLUE]] Óðîâåíü óìåíèé [[YELLOW]]Äîñêà Ëèäåðîâ-- +mcPlayerListener.SkillLeaderboard=[[YELLOW]]--mcMMO [[BLUE]]{0}[[YELLOW]] Äîñêà Ëèäåðîâ-- +mcPlayerListener.RepairSkill=Ïî÷èíêà: +mcPlayerListener.SwordsSkill=Ìå÷è: +mcPlayerListener.TamingSkill=Ïðèðó÷åíèå âîëêîâ: +mcPlayerListener.UnarmedSkill=Ðóêîïàøíûé áîé: +mcPlayerListener.WoodcuttingSkill=Äåðåâîîáðàáîòêà: +mcPlayerListener.YourStats=[[GREEN]][mcMMO] Õàðàêòåðèñòèêè +Party.InformedOnJoin={0} [[GREEN]] ïðèñîåäèíèëñÿ ê ãðóïïå +Party.InformedOnQuit={0} [[GREEN]] óø¸ë èç ãðóïïû +Skills.YourGreenTerra=[[GREEN]]Âàøà ñïîñîáíîñòü[[YELLOW]]"Îçåëåíåíèå" [[GREEN]]âîññòàíîâëåíà! +Skills.YourTreeFeller=[[GREEN]]Âàøà ñïîñîáíîñòü [[YELLOW]]"Ëþáèòåëü äåðåâüåâ" [[GREEN]]âîññòàíîâëåíà! +Skills.YourSuperBreaker=[[GREEN]]Âàøà ñïîñîáíîñòü [[YELLOW]]"Ñóïåð ðàçðóøèòåëü" [[GREEN]]âîññòàíîâëåíà! +Skills.YourSerratedStrikes=[[GREEN]]Âàøà ñïîñîáíîñòü [[YELLOW]]"Çàçóáðåííûå ìå÷è" [[GREEN]]âîññòàíîâëåíà! +Skills.YourBerserk=[[GREEN]]Âàøà ñïîñîáíîñòü [[YELLOW]]"Áåðñåðê" [[GREEN]]âîññòàíîâëåíà! +Skills.YourSkullSplitter=[[GREEN]]Âàøà ñïîñîáíîñòü [[YELLOW]]"Ðàçðóøèòåëü ÷åðåïîâ" [[GREEN]]âîññòàíîâëåíà! +Skills.YourGigaDrillBreaker=[[GREEN]]Âàøà ñïîñîáíîñòü [[YELLOW]]"Ìåãà äðåëü" [[GREEN]]âîññòàíîâëåíà! +Skills.TooTired=[[RED]]Âû ñëèøêîì óñòàëè, ÷òîáû èñïîëüçîâàòü ñïîñîáíîñòü åù¸ ðàç. +Skills.ReadyHoe=[[GREEN]]**Ïðèãîòîâüòå âàøó Ìîòûãó** +Skills.LowerHoe=[[GRAY]]**Îïóñòèòå âàøó Ìîòûãó** +Skills.ReadyAxe=[[GREEN]]**Ïðèãîòîâüòå âàø Òîïîð** +Skills.LowerAxe=[[GRAY]]**Îïóñòèòå âàø Òîïîð** +Skills.ReadyFists=[[GREEN]]**Ïðèãîòîâüòå âàøè Êóëàêè** +Skills.LowerFists=[[GRAY]]**Îïóñòèòå âàøè Êóëàêè** +Skills.ReadyPickAxe=[[GREEN]]**Ïðèãîòîâüòå âàøó Êèðêó** +Skills.LowerPickAxe=[[GRAY]]**Îïóñòèòå âàøó Êèðêó** +Skills.ReadyShovel=[[GREEN]]**Ïðèãîòîâüòå âàøó Ëîïàòó** +Skills.LowerShovel=[[GRAY]]**Îïóñòèòå âàøó Ëîïàòó** +Skills.ReadySword=[[GREEN]]**Ïðèãîòîâüòå âàø Ìå÷** +Skills.LowerSword=[[GRAY]]**Îïóñòèòå âàø Ìå÷** +Skills.BerserkOn=[[GREEN]]**Ñïîñîáíîñòü "Áåðñåðê" àêòèâèðîâàíà** +Skills.BerserkPlayer=[[GREEN]]{0}[[DARK_GREEN]] èñïîëüçîâàë ñïîñîáíîñòü [[RED]]"Áåðñåðê"! +Skills.GreenTerraOn=[[GREEN]]**Ñïîñîáíîñòü "Îçåëåíåíèå" àêòèâèðîâàíà** +Skills.GreenTerraPlayer=[[GREEN]]{0}[[DARK_GREEN]] èñïîëüçîâàë ñïîñîáíîñòü [[RED]]"Îçåëåíåíèå"! +Skills.TreeFellerOn=[[GREEN]]**Ñïîñîáíîñòü "Ëþáèòåëü Äåðåâüåâ" àêòèâèðîâàíà** +Skills.TreeFellerPlayer=[[GREEN]]{0}[[DARK_GREEN]] èñïîëüçîâàë ñïîñîáíîñòü [[RED]]"Ëþáèòåëü Äåðåâüåâ"! +Skills.SuperBreakerOn=[[GREEN]]**Ñïîñîáíîñòü "Ñóïåð Ðàçðóøèòåëü" àêòèâèðîâàíà** +Skills.SuperBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] èñïîëüçîâàë ñïîñîáíîñòü [[RED]]"Ñóïåð Ðàçðóøèòåëü"! +Skills.SerratedStrikesOn=[[GREEN]]**Ñïîñîáíîñòü "Çàçóáðåííûå ìå÷è" àêòèâèðîâàíà** +Skills.SerratedStrikesPlayer=[[GREEN]]{0}[[DARK_GREEN]] èñïîëüçîâàë ñïîñîáíîñòü [[RED]]"Çàçóáðåííûå ìå÷è"! +Skills.SkullSplitterOn=[[GREEN]]**Ñïîñîáíîñòü "Ðàçðåøèòåëü ÷åðåïîâ" àêòèâèðîâàíà** +Skills.SkullSplitterPlayer=[[GREEN]]{0}[[DARK_GREEN]] èñïîëüçîâàë ñïîñîáíîñòü [[RED]]"Ðàçðóøèòåëü ÷åðåïîâ"! +Skills.GigaDrillBreakerOn=[[GREEN]]**Ñïîñîáíîñòü "Ìåãà äðåëü" àêòèâèðîâàíà** +Skills.GigaDrillBreakerPlayer=[[GREEN]]{0}[[DARK_GREEN]] èñïîëüçîâàë ñïîñîáíîñòü [[RED]]"Ìåãà äðåëü"! +Skills.GreenTerraOff=[[RED]]**Ñïîñîáíîñòü "Îçåëåíåíèå" äåàêòèâèðîâàíà** +Skills.TreeFellerOff=[[RED]]**Ñïîñîáíîñòü "Ëþáèòåëü Äåðåâüåâ" äåàêòèâèðîâàíà** +Skills.SuperBreakerOff=[[RED]]**Ñïîñîáíîñòü "Ñóïåð Ðàçðóøèòåëü" äåàêòèâèðîâàíà** +Skills.SerratedStrikesOff=[[RED]]**Ñïîñîáíîñòü "Çàçóáðåííûå ìå÷è" äåàêòèâèðîâàíà** +Skills.BerserkOff=[[RED]]**Ñïîñîáíîñòü "Áåðñåðê" äåàêòèâèðîâàíà** +Skills.SkullSplitterOff=[[RED]]**Ñïîñîáíîñòü "Ðàçðåøèòåëü ÷åðåïîâ" äåàêòèâèðîâàíà** +Skills.GigaDrillBreakerOff=[[RED]]**Ñïîñîáíîñòü "Ìåãà äðåëü" äåàêòèâèðîâàíà** +Skills.TamingUp=[[YELLOW]]Óìåíèå "Ïðèðó÷åíèå âîëêîâ" ïîâûøåíî íà {0}. Âñåãî ({1}) +Skills.AcrobaticsUp=[[YELLOW]]Óìåíèå "Àêðîáàòèêà" ïîâûøåíî íà {0}. Âñåãî ({1}) +Skills.ArcheryUp=[[YELLOW]]Óìåíèå "Ñòðåëüáà èç ëóêà" ïîâûøåíî íà {0}. Âñåãî ({1}) +Skills.SwordsUp=[[YELLOW]]Óìåíèå "Ìå÷è" ïîâûøåíî íà {0}. Âñåãî ({1}) +Skills.AxesUp=[[YELLOW]]Óìåíèå "Òîïîðû" ïîâûøåíî íà {0}. Âñåãî ({1}) +Skills.UnarmedUp=[[YELLOW]]Óìåíèå "Ðóêîïàøíûé áîé" ïîâûøåíî íà {0}. Âñåãî ({1}) +Skills.HerbalismUp=[[YELLOW]]Óìåíèå "Òðàâîâåäåíèå" ïîâûøåíî íà {0}. Âñåãî ({1}) +Skills.MiningUp=[[YELLOW]]Óìåíèå "Øàõò¸ðñòâî" ïîâûøåíî íà {0}. Âñåãî ({1}) +Skills.WoodcuttingUp=[[YELLOW]]Óìåíèå "Äåðåâîîáðàáîòêà" ïîâûøåíî íà {0}. Âñåãî ({1}) +Skills.RepairUp=[[YELLOW]]Óìåíèå "Ïî÷èíêà" ïîâûøåíî íà {0}. Âñåãî ({1}) +Skills.ExcavationUp=[[YELLOW]]Óìåíèå "Ðàñêîïêà" ïîâûøåíî íà {0}. Âñåãî ({1}) +Skills.FeltEasy=[[GRAY]]Ýòî áûëî ëåãêî. +Skills.StackedItems=[[DARK_RED]]Âû íå ìîæåòå ÷èíèòü ñòàêóþùèåñÿ ïðåäìåòû +Skills.NeedMore=[[DARK_RED]]Íóæíî áîëüøå ìàòåðèàëà +Skills.AdeptDiamond=[[DARK_RED]]Âû íå îáó÷åíû ÷èíèòü àëìàçíûå èíñòðóìåíòû è áðîíþ +Skills.FullDurability=[[GRAY]]Âåùü íå íóæäàåòñÿ â ïî÷èíêå. +Skills.Disarmed=[[DARK_RED]]Âû îáåçîðóæåíû! +mcPlayerListener.SorcerySkill=Êîëäîâñòâî: +m.SkillSorcery=Êîëäîâñòâî +Sorcery.HasCast=[[GREEN]]**Èñïîëüçóþ "Êîëäîâñòâî"**[[GOLD]] +Sorcery.Current_Mana=[[DARK_AQUA]] Ìàíû +Sorcery.SpellSelected=[[GREEN]]-=([[GOLD]]{0}[[GREEN]])=- [[RED]]([[GRAY]]{1}[[RED]]) +Sorcery.Cost=[[RED]][COST] {0} Ìàíû +Sorcery.OOM=[[DARK_AQUA]][[[GOLD]]{2}[[DARK_AQUA]]][[DARK_GRAY]] Íå õâàòàåò ìàíû [[YELLOW]]([[RED]]{0}[[YELLOW]]/[[GRAY]]{1}[[YELLOW]]) +Sorcery.Water.Thunder=Ãðîì +Sorcery.Curative.Self=Âûëå÷èòü ñåáÿ +Sorcery.Curative.Other=Âûëå÷èòü äðóãèõ +m.LVL=[[DARK_GRAY]]Óðîâåíü: [[GREEN]]{0} [[DARK_AQUA]]XP[[YELLOW]]([[GOLD]]{1}[[YELLOW]]/[[GOLD]]{2}[[YELLOW]]) +Combat.BeastLore=[[GREEN]]**Óìåíèå "Óäàð âîëêà" àêòèâèðîâàíî** +Combat.BeastLoreOwner=[[DARK_AQUA]]Âëàäåëåö ([[RED]]{0}[[DARK_AQUA]]) +Combat.BeastLoreHealthWolfTamed=[[DARK_AQUA]]Çäîðîâüÿ ([[GREEN]]{0}[[DARK_AQUA]]/20) +Combat.BeastLoreHealthWolf=[[DARK_AQUA]]Çäîðîâüÿ ([[GREEN]]{0}[[DARK_AQUA]]/8) +Party.Locked=[[RED]]Ãðóïïà çàïàðîëåíà, òîëüêî ëèäåð ãðóïïû ìîæåò ïðèãëàøàòü. +Party.IsntLocked=[[GRAY]]Ãðóïïà ðàçáëîêèðîâàíà +Party.Unlocked=[[GRAY]]Ãðóïïà ðàçáëîêèðîâàíà +Party.Help1=[[RED]]Èñïîëüçîâàíèå [[YELLOW]]/{0} [[WHITE]][[YELLOW]] èëè [[WHITE]]'q' [[YELLOW]]äëÿ âûõîäà +Party.Help2=[[RED]]×òîáû ïðèñîåäèíèòñÿ ê çàïàðîëåííîé ãðóïïå ââåäèòå [[YELLOW]]/{0} [[WHITE]]<èìÿ> <ïàðîëü> +Party.Help3=[[RED]]Ââåäèòå /{0} ? äëÿ áîëüøåé èíôîðìàöèè +Party.Help4=[[RED]]Èñïîëüçóéòå [[YELLOW]]/{0} [[WHITE]]<èìÿ> [[YELLOW]]÷òîáû ïðèñîåäèíèòñÿ ê ãðóïïå èëè [[WHITE]]'q' [[YELLOW]]äëÿ âûõîäà +Party.Help5=[[RED]]×òîáû çàáëîêèðîâàòü ãðóïïó ââåäèòå [[YELLOW]]/{0} [[WHITE]]lock +Party.Help6=[[RED]]×òîáû ðàçáëîêèðîâàòü ãðóïïó ââåäèòå [[YELLOW]]/{0} [[WHITE]]unlock +Party.Help7=[[RED]]×òîáû çàïàðîëèòü ãðóïïó ââåäèòå [[YELLOW]]/{0} [[WHITE]]password <ïàðîëü> +Party.Help8=[[RED]]×òîáû âûêèíóòü èãðîêà èç ãðóïïû ââåäèòå [[YELLOW]]/{0} [[WHITE]]kick <èãðîê> +Party.Help9=[[RED]]×òîáû îòäàòü ëèäåðñòâî ãðóïïû ââåäèòå [[YELLOW]]/{0} [[WHITE]]owner <èãðîê> +Party.NotOwner=[[DARK_RED]]Âû òåïåðü íå ëèäåð ãðóïïû +Party.InvalidName=[[DARK_RED]]Íåêîððåêòíîå èìÿ ãðóïïû +Party.PasswordSet=[[GREEN]]Ïàðîëü ãðóïïû íàçíà÷åí {0} +Party.CouldNotKick=[[DARK_RED]]Âû íå ìîæåòå óáðàòü èãðîêà èç ãðóïïû {0} +Party.NotInYourParty=[[DARK_RED]]{0} íå â ãðóïïå +Party.CouldNotSetOwner=[[DARK_RED]]Âû íå ìîæåòå îòäàòü ëèäåðñòâî èãðîêó {0} mcMMO.Description=[[DARK_AQUA]]Q: ×òî ýòî?,[[GOLD]]mcMMO ýòî [[RED]]ÎÏÅÍ ÑÓÐÑ[[GOLD]] RPG ìîä äëÿ ñåðâåðà Bukkit îò ïîëüçîâàòåëÿ [[BLUE]]nossr50,[[GOLD]]Çäåñü áûëî äîáàâëåíî ìíîãî óìåíèé äëÿ Minecraft ñåðâåðà.,[[GOLD]]Âû ìîæåòå ïðîêà÷àòü èõ ðàçíûìè ñïîñîáàìè,[[GOLD]]Âû õîòèòå íàéòè áîëüøå èíôîðìàöèè î óìåíèè [[GREEN]]/SKILLNAME[[GOLD]] ?,[[DARK_AQUA]]Q: ×òî ÿ äîëæåí ñäåëàòü?,[[GOLD]]Äëÿ ïðèìåðà... in [[DARK_AQUA]]Øàõò¸ðñòâî[[GOLD]] âû ïîëó÷èòå [[RED]]2-îé äðîï[[GOLD]] èëè ñïîñîáíîñòü [[RED]]"Ñóïåð ðàçðóøèòåëü"[[GOLD]] ,êîòîðàÿ àêòèâèðóåòñÿ [[GOLD]]íàæàòèåì ïðàâîé êíîïêè ìûøè íà íåêîòîðîå âðåìÿ,[[GOLD]]ñâÿçàííîå ñ âàøèì óðîâíåì óìåíèÿ. Ïîäíÿòü óðîâåíü [[BLUE]]Øàõò¸ðñòâà,[[GOLD]]ëåãêî ïðîñòî êîïàéòå ðóäû è êàìíè! \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/locale/mcLocale.java b/src/com/gmail/nossr50/locale/mcLocale.java similarity index 97% rename from mcMMO/com/gmail/nossr50/locale/mcLocale.java rename to src/com/gmail/nossr50/locale/mcLocale.java index 321b7806a..6336826ae 100644 --- a/mcMMO/com/gmail/nossr50/locale/mcLocale.java +++ b/src/com/gmail/nossr50/locale/mcLocale.java @@ -1,75 +1,75 @@ -package com.gmail.nossr50.locale; - -import java.text.MessageFormat; -import java.util.Locale; -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -import org.bukkit.ChatColor; - -import com.gmail.nossr50.config.LoadProperties; - -public class mcLocale -{ - private static final String BUNDLE_NAME = "com.gmail.nossr50.locale.locale"; //$NON-NLS-1$ - - private static ResourceBundle RESOURCE_BUNDLE = null; - - public static String getString(String key) - { - return getString(key, null); - } - - public static String getString(String key, Object[] messageArguments) - { - try { - if (RESOURCE_BUNDLE == null) - { - String myLocale = LoadProperties.locale.toLowerCase(); - try { - //attempt to get the locale denoted - RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME, new Locale(myLocale)); - } catch (MissingResourceException e) { - //System.out.println("Failed to load locale specified by mcmmo.properties '"+myLocale+"', defaulting to en_us"); - RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME, new Locale("en_us")); - } - } - - String output = RESOURCE_BUNDLE.getString(key); - - if (messageArguments != null) - { - MessageFormat formatter = new MessageFormat(""); - formatter.applyPattern(output); - output = formatter.format(messageArguments); - } - - output = addColors(output); - - return output; - } catch (MissingResourceException e) { - return '!' + key + '!'; - } - } - - private static String addColors(String input) { - input = input.replaceAll("\\Q[[BLACK]]\\E", ChatColor.BLACK.toString()); - input = input.replaceAll("\\Q[[DARK_BLUE]]\\E", ChatColor.DARK_BLUE.toString()); - input = input.replaceAll("\\Q[[DARK_GREEN]]\\E", ChatColor.DARK_GREEN.toString()); - input = input.replaceAll("\\Q[[DARK_AQUA]]\\E", ChatColor.DARK_AQUA.toString()); - input = input.replaceAll("\\Q[[DARK_RED]]\\E", ChatColor.DARK_RED.toString()); - input = input.replaceAll("\\Q[[DARK_PURPLE]]\\E", ChatColor.DARK_PURPLE.toString()); - input = input.replaceAll("\\Q[[GOLD]]\\E", ChatColor.GOLD.toString()); - input = input.replaceAll("\\Q[[GRAY]]\\E", ChatColor.GRAY.toString()); - input = input.replaceAll("\\Q[[DARK_GRAY]]\\E", ChatColor.DARK_GRAY.toString()); - input = input.replaceAll("\\Q[[BLUE]]\\E", ChatColor.BLUE.toString()); - input = input.replaceAll("\\Q[[GREEN]]\\E", ChatColor.GREEN.toString()); - input = input.replaceAll("\\Q[[AQUA]]\\E", ChatColor.AQUA.toString()); - input = input.replaceAll("\\Q[[RED]]\\E", ChatColor.RED.toString()); - input = input.replaceAll("\\Q[[LIGHT_PURPLE]]\\E", ChatColor.LIGHT_PURPLE.toString()); - input = input.replaceAll("\\Q[[YELLOW]]\\E", ChatColor.YELLOW.toString()); - input = input.replaceAll("\\Q[[WHITE]]\\E", ChatColor.WHITE.toString()); - - return input; - } -} +package com.gmail.nossr50.locale; + +import java.text.MessageFormat; +import java.util.Locale; +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +import org.bukkit.ChatColor; + +import com.gmail.nossr50.config.LoadProperties; + +public class mcLocale +{ + private static final String BUNDLE_NAME = "com.gmail.nossr50.locale.locale"; //$NON-NLS-1$ + + private static ResourceBundle RESOURCE_BUNDLE = null; + + public static String getString(String key) + { + return getString(key, null); + } + + public static String getString(String key, Object[] messageArguments) + { + try { + if (RESOURCE_BUNDLE == null) + { + String myLocale = LoadProperties.locale.toLowerCase(); + try { + //attempt to get the locale denoted + RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME, new Locale(myLocale)); + } catch (MissingResourceException e) { + //System.out.println("Failed to load locale specified by mcmmo.properties '"+myLocale+"', defaulting to en_us"); + RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME, new Locale("en_us")); + } + } + + String output = RESOURCE_BUNDLE.getString(key); + + if (messageArguments != null) + { + MessageFormat formatter = new MessageFormat(""); + formatter.applyPattern(output); + output = formatter.format(messageArguments); + } + + output = addColors(output); + + return output; + } catch (MissingResourceException e) { + return '!' + key + '!'; + } + } + + private static String addColors(String input) { + input = input.replaceAll("\\Q[[BLACK]]\\E", ChatColor.BLACK.toString()); + input = input.replaceAll("\\Q[[DARK_BLUE]]\\E", ChatColor.DARK_BLUE.toString()); + input = input.replaceAll("\\Q[[DARK_GREEN]]\\E", ChatColor.DARK_GREEN.toString()); + input = input.replaceAll("\\Q[[DARK_AQUA]]\\E", ChatColor.DARK_AQUA.toString()); + input = input.replaceAll("\\Q[[DARK_RED]]\\E", ChatColor.DARK_RED.toString()); + input = input.replaceAll("\\Q[[DARK_PURPLE]]\\E", ChatColor.DARK_PURPLE.toString()); + input = input.replaceAll("\\Q[[GOLD]]\\E", ChatColor.GOLD.toString()); + input = input.replaceAll("\\Q[[GRAY]]\\E", ChatColor.GRAY.toString()); + input = input.replaceAll("\\Q[[DARK_GRAY]]\\E", ChatColor.DARK_GRAY.toString()); + input = input.replaceAll("\\Q[[BLUE]]\\E", ChatColor.BLUE.toString()); + input = input.replaceAll("\\Q[[GREEN]]\\E", ChatColor.GREEN.toString()); + input = input.replaceAll("\\Q[[AQUA]]\\E", ChatColor.AQUA.toString()); + input = input.replaceAll("\\Q[[RED]]\\E", ChatColor.RED.toString()); + input = input.replaceAll("\\Q[[LIGHT_PURPLE]]\\E", ChatColor.LIGHT_PURPLE.toString()); + input = input.replaceAll("\\Q[[YELLOW]]\\E", ChatColor.YELLOW.toString()); + input = input.replaceAll("\\Q[[WHITE]]\\E", ChatColor.WHITE.toString()); + + return input; + } +} diff --git a/mcMMO/com/gmail/nossr50/m.java b/src/com/gmail/nossr50/m.java similarity index 100% rename from mcMMO/com/gmail/nossr50/m.java rename to src/com/gmail/nossr50/m.java diff --git a/mcMMO/com/gmail/nossr50/mcMMO.java b/src/com/gmail/nossr50/mcMMO.java similarity index 100% rename from mcMMO/com/gmail/nossr50/mcMMO.java rename to src/com/gmail/nossr50/mcMMO.java diff --git a/mcMMO/com/gmail/nossr50/mcPermissions.java b/src/com/gmail/nossr50/mcPermissions.java similarity index 96% rename from mcMMO/com/gmail/nossr50/mcPermissions.java rename to src/com/gmail/nossr50/mcPermissions.java index 571e48074..2e4bcc3b1 100644 --- a/mcMMO/com/gmail/nossr50/mcPermissions.java +++ b/src/com/gmail/nossr50/mcPermissions.java @@ -1,315 +1,315 @@ -package com.gmail.nossr50; - -import java.util.logging.Logger; - -import org.bukkit.Server; -import org.bukkit.entity.Player; -import org.bukkit.plugin.Plugin; - -import ru.tehkode.permissions.PermissionManager; -import ru.tehkode.permissions.bukkit.PermissionsEx; - -import com.nijiko.permissions.PermissionHandler; -import com.nijikokun.bukkit.Permissions.Permissions; - -public class mcPermissions -{ - private static volatile mcPermissions instance; - - private enum PermissionType { - PEX, PERMISSIONS, BUKKIT - } - - private static PermissionType permissionType; - private static Object PHandle; - public static boolean permissionsEnabled = false; - - public static void initialize(Server server) - { - Logger log = Logger.getLogger("Minecraft"); - - if(permissionsEnabled && permissionType != PermissionType.PERMISSIONS) return; - - Plugin PEXtest = server.getPluginManager().getPlugin("PermissionsEx"); - Plugin test = server.getPluginManager().getPlugin("Permissions"); - if(PEXtest != null) { - PHandle = (PermissionManager) PermissionsEx.getPermissionManager(); - permissionType = PermissionType.PEX; - permissionsEnabled = true; - log.info("[mcMMO] PermissionsEx found, using PermissionsEx."); - } else if(test != null) { - PHandle = (PermissionHandler) ((Permissions) test).getHandler(); - permissionType = PermissionType.PERMISSIONS; - permissionsEnabled = true; - log.info("[mcMMO] Permissions version "+test.getDescription().getVersion()+" found, using Permissions."); - } else { - permissionType = PermissionType.BUKKIT; - permissionsEnabled = true; - log.info("[mcMMO] Using Bukkit Permissions."); - } - } - - public static boolean getEnabled() - { - return permissionsEnabled; - } - - public static boolean permission(Player player, String permission) - { - if(!permissionsEnabled) return player.isOp(); - switch(permissionType) { - case PEX: - return ((PermissionManager) PHandle).has(player, permission); - case PERMISSIONS: - return ((PermissionHandler) PHandle).has(player, permission); - case BUKKIT: - return player.hasPermission(permission); - default: - return true; - } - } - public boolean admin(Player player){ - if (permissionsEnabled) { - return permission(player, "mcmmo.admin"); - } else { - return true; - } - } - public boolean mcrefresh(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.tools.mcrefresh"); - } else { - return true; - } - } - public boolean mmoedit(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.tools.mmoedit"); - } else { - return true; - } - } - public boolean herbalismAbility(Player player){ - if (permissionsEnabled) { - return permission(player, "mcmmo.ability.herbalism"); - } else { - return true; - } - } - public boolean excavationAbility(Player player){ - if (permissionsEnabled) { - return permission(player, "mcmmo.ability.excavation"); - } else { - return true; - } - } - public boolean unarmedAbility(Player player){ - if (permissionsEnabled) { - return permission(player, "mcmmo.ability.unarmed"); - } else { - return true; - } - } - public boolean chimaeraWing(Player player){ - if (permissionsEnabled) { - return permission(player, "mcmmo.item.chimaerawing"); - } else { - return true; - } - } - public boolean miningAbility(Player player){ - if (permissionsEnabled) { - return permission(player, "mcmmo.ability.mining"); - } else { - return true; - } - } - public boolean axesAbility(Player player){ - if (permissionsEnabled) { - return permission(player, "mcmmo.ability.axes"); - } else { - return true; - } - } - public boolean swordsAbility(Player player){ - if (permissionsEnabled) { - return permission(player, "mcmmo.ability.swords"); - } else { - return true; - } - } - public boolean woodCuttingAbility(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.ability.woodcutting"); - } else { - return true; - } - } - public boolean mcgod(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.tools.mcgod"); - } else { - return true; - } - } - public boolean regeneration(Player player){ - if (permissionsEnabled) { - return permission(player, "mcmmo.regeneration"); - } else { - return true; - } - } - public boolean motd(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.motd"); - } else { - return true; - } - } - public boolean mcAbility(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.commands.ability"); - } else { - return true; - } - } - public boolean mySpawn(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.commands.myspawn"); - } else { - return true; - } - } - public boolean setMySpawn(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.commands.setmyspawn"); - } else { - return true; - } - } - public boolean partyChat(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.chat.partychat"); - } else { - return true; - } - } - public boolean partyLock(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.chat.partylock"); - } else { - return true; - } - } - public boolean partyTeleport(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.commands.ptp"); - } else { - return true; - } - } - public boolean whois(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.commands.whois"); - } else { - return true; - } - } - public boolean party(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.commands.party"); - } else { - return true; - } - } - public boolean adminChat(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.chat.adminchat"); - } else { - return true; - } - } - public static mcPermissions getInstance() { - if (instance == null) { - instance = new mcPermissions(); - } - return instance; - } - public boolean taming(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.skills.taming"); - } else { - return true; - } - } - public boolean mining(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.skills.mining"); - } else { - return true; - } - } - public boolean woodcutting(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.skills.woodcutting"); - } else { - return true; - } - } - public boolean repair(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.skills.repair"); - } else { - return true; - } - } - public boolean unarmed(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.skills.unarmed"); - } else { - return true; - } - } - public boolean archery(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.skills.archery"); - } else { - return true; - } - } - public boolean herbalism(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.skills.herbalism"); - } else { - return true; - } - } - public boolean excavation(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.skills.excavation"); - } else { - return true; - } - } - public boolean swords(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.skills.swords"); - } else { - return true; - } - } - public boolean axes(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.skills.axes"); - } else { - return true; - } - } - public boolean acrobatics(Player player) { - if (permissionsEnabled) { - return permission(player, "mcmmo.skills.acrobatics"); - } else { - return true; - } - } -} +package com.gmail.nossr50; + +import java.util.logging.Logger; + +import org.bukkit.Server; +import org.bukkit.entity.Player; +import org.bukkit.plugin.Plugin; + +import ru.tehkode.permissions.PermissionManager; +import ru.tehkode.permissions.bukkit.PermissionsEx; + +import com.nijiko.permissions.PermissionHandler; +import com.nijikokun.bukkit.Permissions.Permissions; + +public class mcPermissions +{ + private static volatile mcPermissions instance; + + private enum PermissionType { + PEX, PERMISSIONS, BUKKIT + } + + private static PermissionType permissionType; + private static Object PHandle; + public static boolean permissionsEnabled = false; + + public static void initialize(Server server) + { + Logger log = Logger.getLogger("Minecraft"); + + if(permissionsEnabled && permissionType != PermissionType.PERMISSIONS) return; + + Plugin PEXtest = server.getPluginManager().getPlugin("PermissionsEx"); + Plugin test = server.getPluginManager().getPlugin("Permissions"); + if(PEXtest != null) { + PHandle = (PermissionManager) PermissionsEx.getPermissionManager(); + permissionType = PermissionType.PEX; + permissionsEnabled = true; + log.info("[mcMMO] PermissionsEx found, using PermissionsEx."); + } else if(test != null) { + PHandle = (PermissionHandler) ((Permissions) test).getHandler(); + permissionType = PermissionType.PERMISSIONS; + permissionsEnabled = true; + log.info("[mcMMO] Permissions version "+test.getDescription().getVersion()+" found, using Permissions."); + } else { + permissionType = PermissionType.BUKKIT; + permissionsEnabled = true; + log.info("[mcMMO] Using Bukkit Permissions."); + } + } + + public static boolean getEnabled() + { + return permissionsEnabled; + } + + public static boolean permission(Player player, String permission) + { + if(!permissionsEnabled) return player.isOp(); + switch(permissionType) { + case PEX: + return ((PermissionManager) PHandle).has(player, permission); + case PERMISSIONS: + return ((PermissionHandler) PHandle).has(player, permission); + case BUKKIT: + return player.hasPermission(permission); + default: + return true; + } + } + public boolean admin(Player player){ + if (permissionsEnabled) { + return permission(player, "mcmmo.admin"); + } else { + return true; + } + } + public boolean mcrefresh(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.tools.mcrefresh"); + } else { + return true; + } + } + public boolean mmoedit(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.tools.mmoedit"); + } else { + return true; + } + } + public boolean herbalismAbility(Player player){ + if (permissionsEnabled) { + return permission(player, "mcmmo.ability.herbalism"); + } else { + return true; + } + } + public boolean excavationAbility(Player player){ + if (permissionsEnabled) { + return permission(player, "mcmmo.ability.excavation"); + } else { + return true; + } + } + public boolean unarmedAbility(Player player){ + if (permissionsEnabled) { + return permission(player, "mcmmo.ability.unarmed"); + } else { + return true; + } + } + public boolean chimaeraWing(Player player){ + if (permissionsEnabled) { + return permission(player, "mcmmo.item.chimaerawing"); + } else { + return true; + } + } + public boolean miningAbility(Player player){ + if (permissionsEnabled) { + return permission(player, "mcmmo.ability.mining"); + } else { + return true; + } + } + public boolean axesAbility(Player player){ + if (permissionsEnabled) { + return permission(player, "mcmmo.ability.axes"); + } else { + return true; + } + } + public boolean swordsAbility(Player player){ + if (permissionsEnabled) { + return permission(player, "mcmmo.ability.swords"); + } else { + return true; + } + } + public boolean woodCuttingAbility(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.ability.woodcutting"); + } else { + return true; + } + } + public boolean mcgod(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.tools.mcgod"); + } else { + return true; + } + } + public boolean regeneration(Player player){ + if (permissionsEnabled) { + return permission(player, "mcmmo.regeneration"); + } else { + return true; + } + } + public boolean motd(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.motd"); + } else { + return true; + } + } + public boolean mcAbility(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.commands.ability"); + } else { + return true; + } + } + public boolean mySpawn(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.commands.myspawn"); + } else { + return true; + } + } + public boolean setMySpawn(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.commands.setmyspawn"); + } else { + return true; + } + } + public boolean partyChat(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.chat.partychat"); + } else { + return true; + } + } + public boolean partyLock(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.chat.partylock"); + } else { + return true; + } + } + public boolean partyTeleport(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.commands.ptp"); + } else { + return true; + } + } + public boolean whois(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.commands.whois"); + } else { + return true; + } + } + public boolean party(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.commands.party"); + } else { + return true; + } + } + public boolean adminChat(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.chat.adminchat"); + } else { + return true; + } + } + public static mcPermissions getInstance() { + if (instance == null) { + instance = new mcPermissions(); + } + return instance; + } + public boolean taming(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.skills.taming"); + } else { + return true; + } + } + public boolean mining(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.skills.mining"); + } else { + return true; + } + } + public boolean woodcutting(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.skills.woodcutting"); + } else { + return true; + } + } + public boolean repair(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.skills.repair"); + } else { + return true; + } + } + public boolean unarmed(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.skills.unarmed"); + } else { + return true; + } + } + public boolean archery(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.skills.archery"); + } else { + return true; + } + } + public boolean herbalism(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.skills.herbalism"); + } else { + return true; + } + } + public boolean excavation(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.skills.excavation"); + } else { + return true; + } + } + public boolean swords(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.skills.swords"); + } else { + return true; + } + } + public boolean axes(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.skills.axes"); + } else { + return true; + } + } + public boolean acrobatics(Player player) { + if (permissionsEnabled) { + return permission(player, "mcmmo.skills.acrobatics"); + } else { + return true; + } + } +} diff --git a/mcMMO/com/gmail/nossr50/mcTimer.java b/src/com/gmail/nossr50/mcTimer.java similarity index 95% rename from mcMMO/com/gmail/nossr50/mcTimer.java rename to src/com/gmail/nossr50/mcTimer.java index 4dfae740f..1c90bb586 100644 --- a/mcMMO/com/gmail/nossr50/mcTimer.java +++ b/src/com/gmail/nossr50/mcTimer.java @@ -1,91 +1,91 @@ -package com.gmail.nossr50; -import org.bukkit.entity.*; - -import com.gmail.nossr50.config.LoadProperties; -import com.gmail.nossr50.datatypes.PlayerProfile; -import com.gmail.nossr50.skills.Skills; -import com.gmail.nossr50.skills.Swords; - - -public class mcTimer implements Runnable -{ - private final mcMMO plugin; - int thecount = 1; - - public mcTimer(final mcMMO plugin) - { - this.plugin = plugin; - } - - public void run() - { - for(Player player : plugin.getServer().getOnlinePlayers()) - { - if(player == null) - continue; - PlayerProfile PP = Users.getProfile(player); - - if(PP == null) - continue; - - /* - * MONITOR SKILLS - */ - Skills.monitorSkills(player); - - /* - * COOLDOWN MONITORING - */ - Skills.watchCooldowns(player); - - /* - * PLAYER BLEED MONITORING - */ - if(thecount % 2 == 0 && PP.getBleedTicks() >= 1) - { - player.damage(2); - PP.decreaseBleedTicks(); - } - - if(LoadProperties.enableRegen && mcPermissions.getInstance().regeneration(player) && System.currentTimeMillis() >= PP.getRecentlyHurt() + 60000) - { - if(thecount == 20 || thecount == 40 || thecount == 60 || thecount == 80){ - if(player != null && - player.getHealth() > 0 && player.getHealth() < 20 - && m.getPowerLevel(player) >= 1000){ - player.setHealth(m.calculateHealth(player.getHealth(), 1)); - } - } - if(thecount == 40 || thecount == 80){ - if(player != null && - player.getHealth() > 0 && player.getHealth() < 20 - && m.getPowerLevel(player) >= 500 - && m.getPowerLevel(player) < 1000){ - player.setHealth(m.calculateHealth(player.getHealth(), 1)); - } - } - if(thecount == 80) - { - if(player != null && - player.getHealth() > 0 && player.getHealth() < 20 - && m.getPowerLevel(player) < 500){ - player.setHealth(m.calculateHealth(player.getHealth(), 1)); - } - } - } - } - - - /* - * NON-PLAYER BLEED MONITORING - */ - - if(thecount % 2 == 0) - Swords.bleedSimulate(plugin); - - //SETUP FOR HP REGEN/BLEED - thecount++; - if(thecount >= 81) - thecount = 1; - } -} +package com.gmail.nossr50; +import org.bukkit.entity.*; + +import com.gmail.nossr50.config.LoadProperties; +import com.gmail.nossr50.datatypes.PlayerProfile; +import com.gmail.nossr50.skills.Skills; +import com.gmail.nossr50.skills.Swords; + + +public class mcTimer implements Runnable +{ + private final mcMMO plugin; + int thecount = 1; + + public mcTimer(final mcMMO plugin) + { + this.plugin = plugin; + } + + public void run() + { + for(Player player : plugin.getServer().getOnlinePlayers()) + { + if(player == null) + continue; + PlayerProfile PP = Users.getProfile(player); + + if(PP == null) + continue; + + /* + * MONITOR SKILLS + */ + Skills.monitorSkills(player); + + /* + * COOLDOWN MONITORING + */ + Skills.watchCooldowns(player); + + /* + * PLAYER BLEED MONITORING + */ + if(thecount % 2 == 0 && PP.getBleedTicks() >= 1) + { + player.damage(2); + PP.decreaseBleedTicks(); + } + + if(LoadProperties.enableRegen && mcPermissions.getInstance().regeneration(player) && System.currentTimeMillis() >= PP.getRecentlyHurt() + 60000) + { + if(thecount == 20 || thecount == 40 || thecount == 60 || thecount == 80){ + if(player != null && + player.getHealth() > 0 && player.getHealth() < 20 + && m.getPowerLevel(player) >= 1000){ + player.setHealth(m.calculateHealth(player.getHealth(), 1)); + } + } + if(thecount == 40 || thecount == 80){ + if(player != null && + player.getHealth() > 0 && player.getHealth() < 20 + && m.getPowerLevel(player) >= 500 + && m.getPowerLevel(player) < 1000){ + player.setHealth(m.calculateHealth(player.getHealth(), 1)); + } + } + if(thecount == 80) + { + if(player != null && + player.getHealth() > 0 && player.getHealth() < 20 + && m.getPowerLevel(player) < 500){ + player.setHealth(m.calculateHealth(player.getHealth(), 1)); + } + } + } + } + + + /* + * NON-PLAYER BLEED MONITORING + */ + + if(thecount % 2 == 0) + Swords.bleedSimulate(plugin); + + //SETUP FOR HP REGEN/BLEED + thecount++; + if(thecount >= 81) + thecount = 1; + } +} diff --git a/mcMMO/com/gmail/nossr50/party/Party.java b/src/com/gmail/nossr50/party/Party.java similarity index 100% rename from mcMMO/com/gmail/nossr50/party/Party.java rename to src/com/gmail/nossr50/party/Party.java diff --git a/mcMMO/com/gmail/nossr50/skills/Acrobatics.java b/src/com/gmail/nossr50/skills/Acrobatics.java similarity index 100% rename from mcMMO/com/gmail/nossr50/skills/Acrobatics.java rename to src/com/gmail/nossr50/skills/Acrobatics.java diff --git a/mcMMO/com/gmail/nossr50/skills/Archery.java b/src/com/gmail/nossr50/skills/Archery.java similarity index 96% rename from mcMMO/com/gmail/nossr50/skills/Archery.java rename to src/com/gmail/nossr50/skills/Archery.java index ce1db516d..9e416a11e 100644 --- a/mcMMO/com/gmail/nossr50/skills/Archery.java +++ b/src/com/gmail/nossr50/skills/Archery.java @@ -1,99 +1,99 @@ -package com.gmail.nossr50.skills; - -import org.bukkit.Location; -import org.bukkit.entity.Entity; -import org.bukkit.entity.Player; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import com.gmail.nossr50.Users; -import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.datatypes.PlayerProfile; -import com.gmail.nossr50.datatypes.SkillType; -import com.gmail.nossr50.locale.mcLocale; -import com.gmail.nossr50.party.Party; - -public class Archery -{ - public static void trackArrows(mcMMO pluginx, Entity x, EntityDamageByEntityEvent event, Player attacker) - { - PlayerProfile PPa = Users.getProfile(attacker); - if(!pluginx.misc.arrowTracker.containsKey(x) && event.getDamage() > 0) - { - pluginx.misc.arrowTracker.put(x, 0); - if(attacker != null) - { - if(Math.random() * 1000 <= PPa.getSkillLevel(SkillType.ARCHERY)) - { - pluginx.misc.arrowTracker.put(x, 1); - } - } - } else - { - if(event.getDamage() > 0) - { - if(attacker != null) - { - if(Math.random() * 1000 <= PPa.getSkillLevel(SkillType.ARCHERY)) - { - pluginx.misc.arrowTracker.put(x, 1); - } - } - } - } - } - public static void ignitionCheck(Entity x, EntityDamageByEntityEvent event, Player attacker) - { - PlayerProfile PPa = Users.getProfile(attacker); - if(Math.random() * 100 >= 75) - { - - int ignition = 20; - if(PPa.getSkillLevel(SkillType.ARCHERY) >= 200) - ignition+=20; - if(PPa.getSkillLevel(SkillType.ARCHERY) >= 400) - ignition+=20; - if(PPa.getSkillLevel(SkillType.ARCHERY) >= 600) - ignition+=20; - if(PPa.getSkillLevel(SkillType.ARCHERY) >= 800) - ignition+=20; - if(PPa.getSkillLevel(SkillType.ARCHERY) >= 1000) - ignition+=20; - - if(x instanceof Player) - { - Player Defender = (Player)x; - if(!Party.getInstance().inSameParty(attacker, Defender)) - { - event.getEntity().setFireTicks(ignition); - attacker.sendMessage(mcLocale.getString("Combat.Ignition")); //$NON-NLS-1$ - Defender.sendMessage(mcLocale.getString("Combat.BurningArrowHit")); //$NON-NLS-1$ - } - } else { - event.getEntity().setFireTicks(ignition); - attacker.sendMessage(mcLocale.getString("Combat.Ignition")); //$NON-NLS-1$ - } - } - } - public static void dazeCheck(Player defender, Player attacker) - { - PlayerProfile PPa = Users.getProfile(attacker); - - Location loc = defender.getLocation(); - if(Math.random() * 10 > 5) - { - loc.setPitch(90); - } else { - loc.setPitch(-90); - } - if(PPa.getSkillLevel(SkillType.ARCHERY) >= 1000){ - if(Math.random() * 1000 <= 500){ - defender.teleport(loc); - defender.sendMessage(mcLocale.getString("Combat.TouchedFuzzy")); //$NON-NLS-1$ - attacker.sendMessage(mcLocale.getString("Combat.TargetDazed")); //$NON-NLS-1$ //$NON-NLS-2$ - } - } else if(Math.random() * 2000 <= PPa.getSkillLevel(SkillType.ARCHERY)){ - defender.teleport(loc); - defender.sendMessage(mcLocale.getString("Combat.TouchedFuzzy")); //$NON-NLS-1$ - attacker.sendMessage(mcLocale.getString("Combat.TargetDazed")); //$NON-NLS-1$ //$NON-NLS-2$ - } - } -} +package com.gmail.nossr50.skills; + +import org.bukkit.Location; +import org.bukkit.entity.Entity; +import org.bukkit.entity.Player; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import com.gmail.nossr50.Users; +import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.datatypes.PlayerProfile; +import com.gmail.nossr50.datatypes.SkillType; +import com.gmail.nossr50.locale.mcLocale; +import com.gmail.nossr50.party.Party; + +public class Archery +{ + public static void trackArrows(mcMMO pluginx, Entity x, EntityDamageByEntityEvent event, Player attacker) + { + PlayerProfile PPa = Users.getProfile(attacker); + if(!pluginx.misc.arrowTracker.containsKey(x) && event.getDamage() > 0) + { + pluginx.misc.arrowTracker.put(x, 0); + if(attacker != null) + { + if(Math.random() * 1000 <= PPa.getSkillLevel(SkillType.ARCHERY)) + { + pluginx.misc.arrowTracker.put(x, 1); + } + } + } else + { + if(event.getDamage() > 0) + { + if(attacker != null) + { + if(Math.random() * 1000 <= PPa.getSkillLevel(SkillType.ARCHERY)) + { + pluginx.misc.arrowTracker.put(x, 1); + } + } + } + } + } + public static void ignitionCheck(Entity x, EntityDamageByEntityEvent event, Player attacker) + { + PlayerProfile PPa = Users.getProfile(attacker); + if(Math.random() * 100 >= 75) + { + + int ignition = 20; + if(PPa.getSkillLevel(SkillType.ARCHERY) >= 200) + ignition+=20; + if(PPa.getSkillLevel(SkillType.ARCHERY) >= 400) + ignition+=20; + if(PPa.getSkillLevel(SkillType.ARCHERY) >= 600) + ignition+=20; + if(PPa.getSkillLevel(SkillType.ARCHERY) >= 800) + ignition+=20; + if(PPa.getSkillLevel(SkillType.ARCHERY) >= 1000) + ignition+=20; + + if(x instanceof Player) + { + Player Defender = (Player)x; + if(!Party.getInstance().inSameParty(attacker, Defender)) + { + event.getEntity().setFireTicks(ignition); + attacker.sendMessage(mcLocale.getString("Combat.Ignition")); //$NON-NLS-1$ + Defender.sendMessage(mcLocale.getString("Combat.BurningArrowHit")); //$NON-NLS-1$ + } + } else { + event.getEntity().setFireTicks(ignition); + attacker.sendMessage(mcLocale.getString("Combat.Ignition")); //$NON-NLS-1$ + } + } + } + public static void dazeCheck(Player defender, Player attacker) + { + PlayerProfile PPa = Users.getProfile(attacker); + + Location loc = defender.getLocation(); + if(Math.random() * 10 > 5) + { + loc.setPitch(90); + } else { + loc.setPitch(-90); + } + if(PPa.getSkillLevel(SkillType.ARCHERY) >= 1000){ + if(Math.random() * 1000 <= 500){ + defender.teleport(loc); + defender.sendMessage(mcLocale.getString("Combat.TouchedFuzzy")); //$NON-NLS-1$ + attacker.sendMessage(mcLocale.getString("Combat.TargetDazed")); //$NON-NLS-1$ //$NON-NLS-2$ + } + } else if(Math.random() * 2000 <= PPa.getSkillLevel(SkillType.ARCHERY)){ + defender.teleport(loc); + defender.sendMessage(mcLocale.getString("Combat.TouchedFuzzy")); //$NON-NLS-1$ + attacker.sendMessage(mcLocale.getString("Combat.TargetDazed")); //$NON-NLS-1$ //$NON-NLS-2$ + } + } +} diff --git a/mcMMO/com/gmail/nossr50/skills/Axes.java b/src/com/gmail/nossr50/skills/Axes.java similarity index 97% rename from mcMMO/com/gmail/nossr50/skills/Axes.java rename to src/com/gmail/nossr50/skills/Axes.java index f97bbc121..edd89eea4 100644 --- a/mcMMO/com/gmail/nossr50/skills/Axes.java +++ b/src/com/gmail/nossr50/skills/Axes.java @@ -1,155 +1,155 @@ -package com.gmail.nossr50.skills; - -import org.bukkit.ChatColor; -import org.bukkit.entity.Entity; -import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; -import org.bukkit.entity.Wolf; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.plugin.Plugin; - -import com.gmail.nossr50.locale.mcLocale; -import com.gmail.nossr50.Users; -import com.gmail.nossr50.m; -import com.gmail.nossr50.mcPermissions; -import com.gmail.nossr50.config.LoadProperties; -import com.gmail.nossr50.datatypes.PlayerProfile; -import com.gmail.nossr50.datatypes.SkillType; -import com.gmail.nossr50.party.Party; - -public class Axes { - public static void skullSplitterCheck(Player player){ - PlayerProfile PP = Users.getProfile(player); - if(m.isAxes(player.getItemInHand()) && mcPermissions.getInstance().axesAbility(player)){ - /* - * CHECK FOR AXE PREP MODE - */ - if(PP.getAxePreparationMode()) - { - PP.setAxePreparationMode(false); - } - int ticks = 2; - int x = PP.getSkillLevel(SkillType.AXES); - while(x >= 50){ - x-=50; - ticks++; - } - - if(!PP.getSkullSplitterMode() && Skills.cooldownOver(player, (PP.getSkullSplitterDeactivatedTimeStamp()*1000), LoadProperties.skullSplitterCooldown)) - { - player.sendMessage(mcLocale.getString("Skills.SkullSplitterOn")); - for(Player y : player.getWorld().getPlayers()){ - if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10) - y.sendMessage(mcLocale.getString("Skills.SkullSplitterPlayer", new Object[] {player.getName()})); - } - PP.setSkullSplitterActivatedTimeStamp(System.currentTimeMillis()); - PP.setSkullSplitterDeactivatedTimeStamp(System.currentTimeMillis() + (ticks * 1000)); - PP.setSkullSplitterMode(true); - } - if(!PP.getSkullSplitterMode() && !Skills.cooldownOver(player, (PP.getSkullSplitterDeactivatedTimeStamp()*1000), LoadProperties.skullSplitterCooldown)){ - player.sendMessage(mcLocale.getString("Skills.TooTired") - +ChatColor.YELLOW+" ("+Skills.calculateTimeLeft(player, (PP.getSkullSplitterDeactivatedTimeStamp()*1000), LoadProperties.skullSplitterCooldown)+"s)"); - } - } - } - public static void axeCriticalCheck(Player attacker, EntityDamageByEntityEvent event, Plugin pluginx){ - Entity x = event.getEntity(); - if(x instanceof Wolf){ - Wolf wolf = (Wolf)x; - if(Taming.getOwner(wolf, pluginx) != null) - { - if(Taming.getOwner(wolf, pluginx) == attacker) - return; - if(Party.getInstance().inSameParty(attacker, Taming.getOwner(wolf, pluginx))) - return; - } - } - PlayerProfile PPa = Users.getProfile(attacker); - if(m.isAxes(attacker.getItemInHand()) && mcPermissions.getInstance().axes(attacker)){ - if(PPa.getSkillLevel(SkillType.AXES) >= 750){ - if(Math.random() * 1000 <= 750){ - if(x instanceof Player){ - Player player = (Player)x; - player.sendMessage(ChatColor.DARK_RED + "You were CRITICALLY hit!"); - } - if(x instanceof Player){ - event.setDamage(event.getDamage() * 2 - event.getDamage() / 2); - } else { - event.setDamage(event.getDamage() * 2); - } - attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!"); - } - } else if(Math.random() * 1000 <= PPa.getSkillLevel(SkillType.AXES)){ - if(x instanceof Player){ - Player player = (Player)x; - player.sendMessage(ChatColor.DARK_RED + "You were CRITICALLY hit!"); - } - if(x instanceof Player){ - event.setDamage(event.getDamage() * 2 - event.getDamage() / 2); - } else { - event.setDamage(event.getDamage() * 2); - } - attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!"); - } - } - } - - public static void applyAoeDamage(Player attacker, EntityDamageByEntityEvent event, Plugin pluginx) - { - int targets = 0; - - if(event.getEntity() instanceof LivingEntity) - { - LivingEntity x = (LivingEntity) event.getEntity(); - targets = m.getTier(attacker); - - for(Entity derp : x.getWorld().getEntities()) - { - if(m.getDistance(x.getLocation(), derp.getLocation()) < 5) - { - - - //Make sure the Wolf is not friendly - if(derp instanceof Wolf) - { - Wolf hurrDurr = (Wolf)derp; - if(Taming.getOwner(hurrDurr, pluginx) == attacker) - continue; - if(Party.getInstance().inSameParty(attacker, Taming.getOwner(hurrDurr, pluginx))) - continue; - } - //Damage nearby LivingEntities - if(derp instanceof LivingEntity && targets >= 1) - { - if(derp instanceof Player) - { - Player target = (Player)derp; - - if(Users.getProfile(target).getGodMode()) - continue; - - if(target.getName().equals(attacker.getName())) - continue; - - if(Party.getInstance().inSameParty(attacker, target)) - continue; - if(targets >= 1 && derp.getWorld().getPVP()) - { - target.damage(event.getDamage() / 2); - target.sendMessage(ChatColor.DARK_RED+"Struck by CLEAVE!"); - targets--; - continue; - } - } - else - { - LivingEntity target = (LivingEntity)derp; - target.damage(event.getDamage() / 2); - targets--; - } - } - } - } - } - } -} +package com.gmail.nossr50.skills; + +import org.bukkit.ChatColor; +import org.bukkit.entity.Entity; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; +import org.bukkit.entity.Wolf; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.plugin.Plugin; + +import com.gmail.nossr50.locale.mcLocale; +import com.gmail.nossr50.Users; +import com.gmail.nossr50.m; +import com.gmail.nossr50.mcPermissions; +import com.gmail.nossr50.config.LoadProperties; +import com.gmail.nossr50.datatypes.PlayerProfile; +import com.gmail.nossr50.datatypes.SkillType; +import com.gmail.nossr50.party.Party; + +public class Axes { + public static void skullSplitterCheck(Player player){ + PlayerProfile PP = Users.getProfile(player); + if(m.isAxes(player.getItemInHand()) && mcPermissions.getInstance().axesAbility(player)){ + /* + * CHECK FOR AXE PREP MODE + */ + if(PP.getAxePreparationMode()) + { + PP.setAxePreparationMode(false); + } + int ticks = 2; + int x = PP.getSkillLevel(SkillType.AXES); + while(x >= 50){ + x-=50; + ticks++; + } + + if(!PP.getSkullSplitterMode() && Skills.cooldownOver(player, (PP.getSkullSplitterDeactivatedTimeStamp()*1000), LoadProperties.skullSplitterCooldown)) + { + player.sendMessage(mcLocale.getString("Skills.SkullSplitterOn")); + for(Player y : player.getWorld().getPlayers()){ + if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10) + y.sendMessage(mcLocale.getString("Skills.SkullSplitterPlayer", new Object[] {player.getName()})); + } + PP.setSkullSplitterActivatedTimeStamp(System.currentTimeMillis()); + PP.setSkullSplitterDeactivatedTimeStamp(System.currentTimeMillis() + (ticks * 1000)); + PP.setSkullSplitterMode(true); + } + if(!PP.getSkullSplitterMode() && !Skills.cooldownOver(player, (PP.getSkullSplitterDeactivatedTimeStamp()*1000), LoadProperties.skullSplitterCooldown)){ + player.sendMessage(mcLocale.getString("Skills.TooTired") + +ChatColor.YELLOW+" ("+Skills.calculateTimeLeft(player, (PP.getSkullSplitterDeactivatedTimeStamp()*1000), LoadProperties.skullSplitterCooldown)+"s)"); + } + } + } + public static void axeCriticalCheck(Player attacker, EntityDamageByEntityEvent event, Plugin pluginx){ + Entity x = event.getEntity(); + if(x instanceof Wolf){ + Wolf wolf = (Wolf)x; + if(Taming.getOwner(wolf, pluginx) != null) + { + if(Taming.getOwner(wolf, pluginx) == attacker) + return; + if(Party.getInstance().inSameParty(attacker, Taming.getOwner(wolf, pluginx))) + return; + } + } + PlayerProfile PPa = Users.getProfile(attacker); + if(m.isAxes(attacker.getItemInHand()) && mcPermissions.getInstance().axes(attacker)){ + if(PPa.getSkillLevel(SkillType.AXES) >= 750){ + if(Math.random() * 1000 <= 750){ + if(x instanceof Player){ + Player player = (Player)x; + player.sendMessage(ChatColor.DARK_RED + "You were CRITICALLY hit!"); + } + if(x instanceof Player){ + event.setDamage(event.getDamage() * 2 - event.getDamage() / 2); + } else { + event.setDamage(event.getDamage() * 2); + } + attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!"); + } + } else if(Math.random() * 1000 <= PPa.getSkillLevel(SkillType.AXES)){ + if(x instanceof Player){ + Player player = (Player)x; + player.sendMessage(ChatColor.DARK_RED + "You were CRITICALLY hit!"); + } + if(x instanceof Player){ + event.setDamage(event.getDamage() * 2 - event.getDamage() / 2); + } else { + event.setDamage(event.getDamage() * 2); + } + attacker.sendMessage(ChatColor.RED+"CRITICAL HIT!"); + } + } + } + + public static void applyAoeDamage(Player attacker, EntityDamageByEntityEvent event, Plugin pluginx) + { + int targets = 0; + + if(event.getEntity() instanceof LivingEntity) + { + LivingEntity x = (LivingEntity) event.getEntity(); + targets = m.getTier(attacker); + + for(Entity derp : x.getWorld().getEntities()) + { + if(m.getDistance(x.getLocation(), derp.getLocation()) < 5) + { + + + //Make sure the Wolf is not friendly + if(derp instanceof Wolf) + { + Wolf hurrDurr = (Wolf)derp; + if(Taming.getOwner(hurrDurr, pluginx) == attacker) + continue; + if(Party.getInstance().inSameParty(attacker, Taming.getOwner(hurrDurr, pluginx))) + continue; + } + //Damage nearby LivingEntities + if(derp instanceof LivingEntity && targets >= 1) + { + if(derp instanceof Player) + { + Player target = (Player)derp; + + if(Users.getProfile(target).getGodMode()) + continue; + + if(target.getName().equals(attacker.getName())) + continue; + + if(Party.getInstance().inSameParty(attacker, target)) + continue; + if(targets >= 1 && derp.getWorld().getPVP()) + { + target.damage(event.getDamage() / 2); + target.sendMessage(ChatColor.DARK_RED+"Struck by CLEAVE!"); + targets--; + continue; + } + } + else + { + LivingEntity target = (LivingEntity)derp; + target.damage(event.getDamage() / 2); + targets--; + } + } + } + } + } + } +} diff --git a/mcMMO/com/gmail/nossr50/skills/Excavation.java b/src/com/gmail/nossr50/skills/Excavation.java similarity index 100% rename from mcMMO/com/gmail/nossr50/skills/Excavation.java rename to src/com/gmail/nossr50/skills/Excavation.java diff --git a/mcMMO/com/gmail/nossr50/skills/Herbalism.java b/src/com/gmail/nossr50/skills/Herbalism.java similarity index 100% rename from mcMMO/com/gmail/nossr50/skills/Herbalism.java rename to src/com/gmail/nossr50/skills/Herbalism.java diff --git a/mcMMO/com/gmail/nossr50/skills/Mining.java b/src/com/gmail/nossr50/skills/Mining.java similarity index 100% rename from mcMMO/com/gmail/nossr50/skills/Mining.java rename to src/com/gmail/nossr50/skills/Mining.java diff --git a/mcMMO/com/gmail/nossr50/skills/Repair.java b/src/com/gmail/nossr50/skills/Repair.java similarity index 100% rename from mcMMO/com/gmail/nossr50/skills/Repair.java rename to src/com/gmail/nossr50/skills/Repair.java diff --git a/mcMMO/com/gmail/nossr50/skills/Skills.java b/src/com/gmail/nossr50/skills/Skills.java similarity index 100% rename from mcMMO/com/gmail/nossr50/skills/Skills.java rename to src/com/gmail/nossr50/skills/Skills.java diff --git a/mcMMO/com/gmail/nossr50/skills/Swords.java b/src/com/gmail/nossr50/skills/Swords.java similarity index 96% rename from mcMMO/com/gmail/nossr50/skills/Swords.java rename to src/com/gmail/nossr50/skills/Swords.java index 457a81e77..68b235bcb 100644 --- a/mcMMO/com/gmail/nossr50/skills/Swords.java +++ b/src/com/gmail/nossr50/skills/Swords.java @@ -1,271 +1,271 @@ -package com.gmail.nossr50.skills; - -import org.bukkit.ChatColor; -import org.bukkit.entity.Arrow; -import org.bukkit.entity.Entity; -import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; -import org.bukkit.entity.Wolf; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import com.gmail.nossr50.Combat; -import com.gmail.nossr50.Users; -import com.gmail.nossr50.m; -import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.mcPermissions; -import com.gmail.nossr50.datatypes.PlayerProfile; -import com.gmail.nossr50.datatypes.SkillType; -import com.gmail.nossr50.locale.mcLocale; -import com.gmail.nossr50.party.Party; - -public class Swords -{ - public static void serratedStrikesActivationCheck(Player player){ - PlayerProfile PP = Users.getProfile(player); - if(m.isSwords(player.getItemInHand())) - { - if(PP.getSwordsPreparationMode()) - { - PP.setSwordsPreparationMode(false); - } - int ticks = 2; - int x = PP.getSkillLevel(SkillType.SWORDS); - while(x >= 50) - { - x-=50; - ticks++; - } - - if(!PP.getSerratedStrikesMode() && PP.getSerratedStrikesDeactivatedTimeStamp() < System.currentTimeMillis()) - { - player.sendMessage(mcLocale.getString("Skills.SerratedStrikesOn")); - for(Player y : player.getWorld().getPlayers()) - { - if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10) - y.sendMessage(mcLocale.getString("Skills.SerratedStrikesPlayer", new Object[] {player.getName()})); - } - PP.setSerratedStrikesActivatedTimeStamp(System.currentTimeMillis()); - PP.setSerratedStrikesDeactivatedTimeStamp(System.currentTimeMillis() + (ticks * 1000)); - PP.setSerratedStrikesMode(true); - } - - } - } - - public static void bleedCheck(Player attacker, LivingEntity x, mcMMO pluginx) - { - PlayerProfile PPa = Users.getProfile(attacker); - - if(x instanceof Wolf) - { - Wolf wolf = (Wolf)x; - if(Taming.getOwner(wolf, pluginx) != null) - { - if(Taming.getOwner(wolf, pluginx) == attacker) - return; - if(Party.getInstance().inSameParty(attacker, Taming.getOwner(wolf, pluginx))) - return; - } - } - if(mcPermissions.getInstance().swords(attacker) && m.isSwords(attacker.getItemInHand())){ - if(PPa.getSkillLevel(SkillType.SWORDS) >= 750) - { - if(Math.random() * 1000 >= 750) - { - if(!(x instanceof Player)) - pluginx.misc.addToBleedQue(x); - if(x instanceof Player) - { - Player target = (Player)x; - Users.getProfile(target).addBleedTicks(3); - } - attacker.sendMessage(ChatColor.GREEN+"**ENEMY BLEEDING**"); - } - } - else if (Math.random() * 1000 <= PPa.getSkillLevel(SkillType.SWORDS)) - { - if(!(x instanceof Player)) - pluginx.misc.addToBleedQue(x); - if(x instanceof Player) - { - Player target = (Player)x; - Users.getProfile(target).addBleedTicks(2); - } - attacker.sendMessage(ChatColor.GREEN+"**ENEMY BLEEDING**"); - } - } - } - public static void applySerratedStrikes(Player attacker, EntityDamageByEntityEvent event, mcMMO pluginx) - { - int targets = 0; - - if(event.getEntity() instanceof LivingEntity) - { - LivingEntity x = (LivingEntity) event.getEntity(); - targets = m.getTier(attacker); - - for(Entity derp : x.getWorld().getEntities()) - { - if(m.getDistance(x.getLocation(), derp.getLocation()) < 5) - { - - - //Make sure the Wolf is not friendly - if(derp instanceof Wolf) - { - Wolf hurrDurr = (Wolf)derp; - if(Taming.getOwner(hurrDurr, pluginx) == attacker) - continue; - if(Party.getInstance().inSameParty(attacker, Taming.getOwner(hurrDurr, pluginx))) - continue; - } - //Damage nearby LivingEntities - if(derp instanceof LivingEntity && targets >= 1) - { - if(derp instanceof Player) - { - Player target = (Player)derp; - - if(target.getName().equals(attacker.getName())) - continue; - - if(Users.getProfile(target).getGodMode()) - continue; - - if(Party.getInstance().inSameParty(attacker, target)) - continue; - if(targets >= 1 && derp.getWorld().getPVP()) - { - target.damage(event.getDamage() / 4); - target.sendMessage(ChatColor.DARK_RED+"Struck by Serrated Strikes!"); - Users.getProfile(target).addBleedTicks(5); - targets--; - continue; - } - } - else - { - if(!pluginx.misc.bleedTracker.contains(derp)) - pluginx.misc.addToBleedQue((LivingEntity)derp); - - LivingEntity target = (LivingEntity)derp; - target.damage(event.getDamage() / 4); - targets--; - } - } - } - } - } - } - - public static void parryCheck(EntityDamageByEntityEvent event, Player defender) - { - Entity y = event.getDamager(); - PlayerProfile PPd = Users.getProfile(defender); - if(defender != null && m.isSwords(defender.getItemInHand()) - && mcPermissions.getInstance().swords(defender)){ - if(PPd.getSkillLevel(SkillType.SWORDS) >= 900) - { - if(Math.random() * 3000 <= 900) - { - event.setCancelled(true); - defender.sendMessage(ChatColor.GREEN+"**PARRIED**"); - defender.getItemInHand().setDurability((short) (defender.getItemInHand().getDurability() + 1)); - if(y instanceof Player) - { - Player attacker = (Player)y; - attacker.sendMessage(ChatColor.GREEN+"**PARRIED**"); - } - } - } else - { - if(Math.random() * 3000 <= PPd.getSkillLevel(SkillType.SWORDS)) - { - event.setCancelled(true); - defender.sendMessage(ChatColor.YELLOW+"*CLANG* SUCCESSFUL PARRY *CLANG*"); - defender.getItemInHand().setDurability((short) (defender.getItemInHand().getDurability() + 1)); - if(y instanceof Player) - { - Player attacker = (Player)y; - attacker.sendMessage(ChatColor.DARK_RED+"**TARGET HAS PARRIED THAT ATTACK**"); - } - } - } - } - } - public static void counterAttackChecks(EntityDamageByEntityEvent event) - { - //Don't want to counter attack arrows - - if(event.getDamager() instanceof Arrow) - return; - - if(event instanceof EntityDamageByEntityEvent) - { - Entity f = ((EntityDamageByEntityEvent) event).getDamager(); - if(event.getEntity() instanceof Player) - { - Player defender = (Player)event.getEntity(); - PlayerProfile PPd = Users.getProfile(defender); - if(m.isSwords(defender.getItemInHand()) && mcPermissions.getInstance().swords(defender)) - { - if(PPd.getSkillLevel(SkillType.SWORDS) >= 600) - { - if(Math.random() * 2000 <= 600) - { - Combat.dealDamage(f, event.getDamage() / 2); - defender.sendMessage(ChatColor.GREEN+"**COUNTER-ATTACKED**"); - if(f instanceof Player) - ((Player) f).sendMessage(ChatColor.DARK_RED+"Hit with counterattack!"); - } - } - else if (Math.random() * 2000 <= PPd.getSkillLevel(SkillType.SWORDS)) - { - Combat.dealDamage(f, event.getDamage() / 2); - defender.sendMessage(ChatColor.GREEN+"**COUNTER-ATTACKED**"); - if(f instanceof Player) - ((Player) f).sendMessage(ChatColor.DARK_RED+"Hit with counterattack!"); - } - } - } - } - } - public static void bleedSimulate(mcMMO plugin) - { - //Add items from Que list to BleedTrack list - - for(LivingEntity x : plugin.misc.bleedQue) - { - plugin.misc.bleedTracker.add(x); - } - - //Clear list - plugin.misc.bleedQue = new LivingEntity[plugin.misc.bleedQue.length]; - plugin.misc.bleedQuePos = 0; - - //Cleanup any dead entities from the list - for(LivingEntity x : plugin.misc.bleedRemovalQue) - { - plugin.misc.bleedTracker.remove(x); - } - - //Clear bleed removal list - plugin.misc.bleedRemovalQue = new LivingEntity[plugin.misc.bleedRemovalQue.length]; - plugin.misc.bleedRemovalQuePos = 0; - - //Bleed monsters/animals - for(LivingEntity x : plugin.misc.bleedTracker) - { - if(x == null){continue;} - - if(x.getHealth() <= 0) - { - plugin.misc.addToBleedRemovalQue(x); - continue; - } - else - { - x.damage(2); - } - } - } -} +package com.gmail.nossr50.skills; + +import org.bukkit.ChatColor; +import org.bukkit.entity.Arrow; +import org.bukkit.entity.Entity; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; +import org.bukkit.entity.Wolf; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import com.gmail.nossr50.Combat; +import com.gmail.nossr50.Users; +import com.gmail.nossr50.m; +import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.mcPermissions; +import com.gmail.nossr50.datatypes.PlayerProfile; +import com.gmail.nossr50.datatypes.SkillType; +import com.gmail.nossr50.locale.mcLocale; +import com.gmail.nossr50.party.Party; + +public class Swords +{ + public static void serratedStrikesActivationCheck(Player player){ + PlayerProfile PP = Users.getProfile(player); + if(m.isSwords(player.getItemInHand())) + { + if(PP.getSwordsPreparationMode()) + { + PP.setSwordsPreparationMode(false); + } + int ticks = 2; + int x = PP.getSkillLevel(SkillType.SWORDS); + while(x >= 50) + { + x-=50; + ticks++; + } + + if(!PP.getSerratedStrikesMode() && PP.getSerratedStrikesDeactivatedTimeStamp() < System.currentTimeMillis()) + { + player.sendMessage(mcLocale.getString("Skills.SerratedStrikesOn")); + for(Player y : player.getWorld().getPlayers()) + { + if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10) + y.sendMessage(mcLocale.getString("Skills.SerratedStrikesPlayer", new Object[] {player.getName()})); + } + PP.setSerratedStrikesActivatedTimeStamp(System.currentTimeMillis()); + PP.setSerratedStrikesDeactivatedTimeStamp(System.currentTimeMillis() + (ticks * 1000)); + PP.setSerratedStrikesMode(true); + } + + } + } + + public static void bleedCheck(Player attacker, LivingEntity x, mcMMO pluginx) + { + PlayerProfile PPa = Users.getProfile(attacker); + + if(x instanceof Wolf) + { + Wolf wolf = (Wolf)x; + if(Taming.getOwner(wolf, pluginx) != null) + { + if(Taming.getOwner(wolf, pluginx) == attacker) + return; + if(Party.getInstance().inSameParty(attacker, Taming.getOwner(wolf, pluginx))) + return; + } + } + if(mcPermissions.getInstance().swords(attacker) && m.isSwords(attacker.getItemInHand())){ + if(PPa.getSkillLevel(SkillType.SWORDS) >= 750) + { + if(Math.random() * 1000 >= 750) + { + if(!(x instanceof Player)) + pluginx.misc.addToBleedQue(x); + if(x instanceof Player) + { + Player target = (Player)x; + Users.getProfile(target).addBleedTicks(3); + } + attacker.sendMessage(ChatColor.GREEN+"**ENEMY BLEEDING**"); + } + } + else if (Math.random() * 1000 <= PPa.getSkillLevel(SkillType.SWORDS)) + { + if(!(x instanceof Player)) + pluginx.misc.addToBleedQue(x); + if(x instanceof Player) + { + Player target = (Player)x; + Users.getProfile(target).addBleedTicks(2); + } + attacker.sendMessage(ChatColor.GREEN+"**ENEMY BLEEDING**"); + } + } + } + public static void applySerratedStrikes(Player attacker, EntityDamageByEntityEvent event, mcMMO pluginx) + { + int targets = 0; + + if(event.getEntity() instanceof LivingEntity) + { + LivingEntity x = (LivingEntity) event.getEntity(); + targets = m.getTier(attacker); + + for(Entity derp : x.getWorld().getEntities()) + { + if(m.getDistance(x.getLocation(), derp.getLocation()) < 5) + { + + + //Make sure the Wolf is not friendly + if(derp instanceof Wolf) + { + Wolf hurrDurr = (Wolf)derp; + if(Taming.getOwner(hurrDurr, pluginx) == attacker) + continue; + if(Party.getInstance().inSameParty(attacker, Taming.getOwner(hurrDurr, pluginx))) + continue; + } + //Damage nearby LivingEntities + if(derp instanceof LivingEntity && targets >= 1) + { + if(derp instanceof Player) + { + Player target = (Player)derp; + + if(target.getName().equals(attacker.getName())) + continue; + + if(Users.getProfile(target).getGodMode()) + continue; + + if(Party.getInstance().inSameParty(attacker, target)) + continue; + if(targets >= 1 && derp.getWorld().getPVP()) + { + target.damage(event.getDamage() / 4); + target.sendMessage(ChatColor.DARK_RED+"Struck by Serrated Strikes!"); + Users.getProfile(target).addBleedTicks(5); + targets--; + continue; + } + } + else + { + if(!pluginx.misc.bleedTracker.contains(derp)) + pluginx.misc.addToBleedQue((LivingEntity)derp); + + LivingEntity target = (LivingEntity)derp; + target.damage(event.getDamage() / 4); + targets--; + } + } + } + } + } + } + + public static void parryCheck(EntityDamageByEntityEvent event, Player defender) + { + Entity y = event.getDamager(); + PlayerProfile PPd = Users.getProfile(defender); + if(defender != null && m.isSwords(defender.getItemInHand()) + && mcPermissions.getInstance().swords(defender)){ + if(PPd.getSkillLevel(SkillType.SWORDS) >= 900) + { + if(Math.random() * 3000 <= 900) + { + event.setCancelled(true); + defender.sendMessage(ChatColor.GREEN+"**PARRIED**"); + defender.getItemInHand().setDurability((short) (defender.getItemInHand().getDurability() + 1)); + if(y instanceof Player) + { + Player attacker = (Player)y; + attacker.sendMessage(ChatColor.GREEN+"**PARRIED**"); + } + } + } else + { + if(Math.random() * 3000 <= PPd.getSkillLevel(SkillType.SWORDS)) + { + event.setCancelled(true); + defender.sendMessage(ChatColor.YELLOW+"*CLANG* SUCCESSFUL PARRY *CLANG*"); + defender.getItemInHand().setDurability((short) (defender.getItemInHand().getDurability() + 1)); + if(y instanceof Player) + { + Player attacker = (Player)y; + attacker.sendMessage(ChatColor.DARK_RED+"**TARGET HAS PARRIED THAT ATTACK**"); + } + } + } + } + } + public static void counterAttackChecks(EntityDamageByEntityEvent event) + { + //Don't want to counter attack arrows + + if(event.getDamager() instanceof Arrow) + return; + + if(event instanceof EntityDamageByEntityEvent) + { + Entity f = ((EntityDamageByEntityEvent) event).getDamager(); + if(event.getEntity() instanceof Player) + { + Player defender = (Player)event.getEntity(); + PlayerProfile PPd = Users.getProfile(defender); + if(m.isSwords(defender.getItemInHand()) && mcPermissions.getInstance().swords(defender)) + { + if(PPd.getSkillLevel(SkillType.SWORDS) >= 600) + { + if(Math.random() * 2000 <= 600) + { + Combat.dealDamage(f, event.getDamage() / 2); + defender.sendMessage(ChatColor.GREEN+"**COUNTER-ATTACKED**"); + if(f instanceof Player) + ((Player) f).sendMessage(ChatColor.DARK_RED+"Hit with counterattack!"); + } + } + else if (Math.random() * 2000 <= PPd.getSkillLevel(SkillType.SWORDS)) + { + Combat.dealDamage(f, event.getDamage() / 2); + defender.sendMessage(ChatColor.GREEN+"**COUNTER-ATTACKED**"); + if(f instanceof Player) + ((Player) f).sendMessage(ChatColor.DARK_RED+"Hit with counterattack!"); + } + } + } + } + } + public static void bleedSimulate(mcMMO plugin) + { + //Add items from Que list to BleedTrack list + + for(LivingEntity x : plugin.misc.bleedQue) + { + plugin.misc.bleedTracker.add(x); + } + + //Clear list + plugin.misc.bleedQue = new LivingEntity[plugin.misc.bleedQue.length]; + plugin.misc.bleedQuePos = 0; + + //Cleanup any dead entities from the list + for(LivingEntity x : plugin.misc.bleedRemovalQue) + { + plugin.misc.bleedTracker.remove(x); + } + + //Clear bleed removal list + plugin.misc.bleedRemovalQue = new LivingEntity[plugin.misc.bleedRemovalQue.length]; + plugin.misc.bleedRemovalQuePos = 0; + + //Bleed monsters/animals + for(LivingEntity x : plugin.misc.bleedTracker) + { + if(x == null){continue;} + + if(x.getHealth() <= 0) + { + plugin.misc.addToBleedRemovalQue(x); + continue; + } + else + { + x.damage(2); + } + } + } +} diff --git a/mcMMO/com/gmail/nossr50/skills/Taming.java b/src/com/gmail/nossr50/skills/Taming.java similarity index 95% rename from mcMMO/com/gmail/nossr50/skills/Taming.java rename to src/com/gmail/nossr50/skills/Taming.java index 9c63f2f95..a3fc20217 100644 --- a/mcMMO/com/gmail/nossr50/skills/Taming.java +++ b/src/com/gmail/nossr50/skills/Taming.java @@ -1,53 +1,53 @@ -package com.gmail.nossr50.skills; - -import org.bukkit.entity.AnimalTamer; -import org.bukkit.entity.Entity; -import org.bukkit.entity.Player; -import org.bukkit.entity.Wolf; -import org.bukkit.plugin.Plugin; - -public class Taming -{ - public static boolean ownerOnline(Wolf theWolf, Plugin pluginx) - { - for(Player x : pluginx.getServer().getOnlinePlayers()) - { - if(x instanceof AnimalTamer) - { - AnimalTamer tamer = (AnimalTamer)x; - if(theWolf.getOwner() == tamer) - return true; - } - } - return false; - } - - public static Player getOwner(Entity wolf, Plugin pluginx) - { - if(wolf instanceof Wolf) - { - Wolf theWolf = (Wolf)wolf; - for(Player x : pluginx.getServer().getOnlinePlayers()) - { - if(x instanceof AnimalTamer) - { - AnimalTamer tamer = (AnimalTamer)x; - if(theWolf.getOwner() == tamer) - return x; - } - } - } - return null; - } - - public static String getOwnerName(Wolf theWolf) - { - Player owner = (Player)theWolf.getOwner(); - if(owner != null) - { - return owner.getName(); - } - else - return "Offline Master"; - } -} +package com.gmail.nossr50.skills; + +import org.bukkit.entity.AnimalTamer; +import org.bukkit.entity.Entity; +import org.bukkit.entity.Player; +import org.bukkit.entity.Wolf; +import org.bukkit.plugin.Plugin; + +public class Taming +{ + public static boolean ownerOnline(Wolf theWolf, Plugin pluginx) + { + for(Player x : pluginx.getServer().getOnlinePlayers()) + { + if(x instanceof AnimalTamer) + { + AnimalTamer tamer = (AnimalTamer)x; + if(theWolf.getOwner() == tamer) + return true; + } + } + return false; + } + + public static Player getOwner(Entity wolf, Plugin pluginx) + { + if(wolf instanceof Wolf) + { + Wolf theWolf = (Wolf)wolf; + for(Player x : pluginx.getServer().getOnlinePlayers()) + { + if(x instanceof AnimalTamer) + { + AnimalTamer tamer = (AnimalTamer)x; + if(theWolf.getOwner() == tamer) + return x; + } + } + } + return null; + } + + public static String getOwnerName(Wolf theWolf) + { + Player owner = (Player)theWolf.getOwner(); + if(owner != null) + { + return owner.getName(); + } + else + return "Offline Master"; + } +} diff --git a/mcMMO/com/gmail/nossr50/skills/Unarmed.java b/src/com/gmail/nossr50/skills/Unarmed.java similarity index 97% rename from mcMMO/com/gmail/nossr50/skills/Unarmed.java rename to src/com/gmail/nossr50/skills/Unarmed.java index 6fd7f067d..ea2e46f53 100644 --- a/mcMMO/com/gmail/nossr50/skills/Unarmed.java +++ b/src/com/gmail/nossr50/skills/Unarmed.java @@ -1,95 +1,95 @@ -package com.gmail.nossr50.skills; - -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.inventory.ItemStack; -import com.gmail.nossr50.Users; -import com.gmail.nossr50.m; -import com.gmail.nossr50.config.LoadProperties; -import com.gmail.nossr50.datatypes.PlayerProfile; -import com.gmail.nossr50.datatypes.SkillType; -import com.gmail.nossr50.locale.mcLocale; - -public class Unarmed { - public static void berserkActivationCheck(Player player) - { - PlayerProfile PP = Users.getProfile(player); - if(player.getItemInHand().getTypeId() == 0) - { - if(PP.getFistsPreparationMode()) - { - PP.setFistsPreparationMode(false); - } - int ticks = 2; - int x = PP.getSkillLevel(SkillType.UNARMED); - while(x >= 50){ - x-=50; - ticks++; - } - - if(!PP.getBerserkMode() && Skills.cooldownOver(player, PP.getBerserkDeactivatedTimeStamp(), LoadProperties.berserkCooldown)) - { - player.sendMessage(mcLocale.getString("Skills.BerserkOn")); - for(Player y : player.getWorld().getPlayers()) - { - if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10) - y.sendMessage(mcLocale.getString("Skills.BerserkPlayer", new Object[] {player.getName()})); - } - PP.setBerserkActivatedTimeStamp(System.currentTimeMillis()); - PP.setBerserkDeactivatedTimeStamp(System.currentTimeMillis() + (ticks * 1000)); - PP.setBerserkMode(true); - } - } - } - public static void unarmedBonus(Player attacker, EntityDamageByEntityEvent event) - { - PlayerProfile PPa = Users.getProfile(attacker); - int bonus = 0; - if (PPa.getSkillLevel(SkillType.UNARMED) >= 250) - bonus+=2; - if (PPa.getSkillLevel(SkillType.UNARMED) >= 500) - bonus+=4; - event.setDamage(event.getDamage()+bonus); - } - public static void disarmProcCheck(Player attacker, Player defender) - { - PlayerProfile PP = Users.getProfile(attacker); - if(attacker.getItemInHand().getTypeId() == 0) - { - if(PP.getSkillLevel(SkillType.UNARMED) >= 1000) - { - if(Math.random() * 4000 <= 1000) - { - Location loc = defender.getLocation(); - if(defender.getItemInHand() != null && defender.getItemInHand().getTypeId() != 0) - { - defender.sendMessage(mcLocale.getString("Skills.Disarmed")); - ItemStack item = defender.getItemInHand(); - if(item != null) - { - loc.getWorld().dropItemNaturally(loc, item); - ItemStack itemx = null; - defender.setItemInHand(itemx); - } - } - } - } else { - if(Math.random() * 4000 <= PP.getSkillLevel(SkillType.UNARMED)){ - Location loc = defender.getLocation(); - if(defender.getItemInHand() != null && defender.getItemInHand().getTypeId() != 0) - { - defender.sendMessage(mcLocale.getString("Skills.Disarmed")); - ItemStack item = defender.getItemInHand(); - if(item != null) - { - loc.getWorld().dropItemNaturally(loc, item); - ItemStack itemx = null; - defender.setItemInHand(itemx); - } - } - } - } - } - } -} +package com.gmail.nossr50.skills; + +import org.bukkit.Location; +import org.bukkit.entity.Player; +import org.bukkit.event.entity.EntityDamageByEntityEvent; +import org.bukkit.inventory.ItemStack; +import com.gmail.nossr50.Users; +import com.gmail.nossr50.m; +import com.gmail.nossr50.config.LoadProperties; +import com.gmail.nossr50.datatypes.PlayerProfile; +import com.gmail.nossr50.datatypes.SkillType; +import com.gmail.nossr50.locale.mcLocale; + +public class Unarmed { + public static void berserkActivationCheck(Player player) + { + PlayerProfile PP = Users.getProfile(player); + if(player.getItemInHand().getTypeId() == 0) + { + if(PP.getFistsPreparationMode()) + { + PP.setFistsPreparationMode(false); + } + int ticks = 2; + int x = PP.getSkillLevel(SkillType.UNARMED); + while(x >= 50){ + x-=50; + ticks++; + } + + if(!PP.getBerserkMode() && Skills.cooldownOver(player, PP.getBerserkDeactivatedTimeStamp(), LoadProperties.berserkCooldown)) + { + player.sendMessage(mcLocale.getString("Skills.BerserkOn")); + for(Player y : player.getWorld().getPlayers()) + { + if(y != null && y != player && m.getDistance(player.getLocation(), y.getLocation()) < 10) + y.sendMessage(mcLocale.getString("Skills.BerserkPlayer", new Object[] {player.getName()})); + } + PP.setBerserkActivatedTimeStamp(System.currentTimeMillis()); + PP.setBerserkDeactivatedTimeStamp(System.currentTimeMillis() + (ticks * 1000)); + PP.setBerserkMode(true); + } + } + } + public static void unarmedBonus(Player attacker, EntityDamageByEntityEvent event) + { + PlayerProfile PPa = Users.getProfile(attacker); + int bonus = 0; + if (PPa.getSkillLevel(SkillType.UNARMED) >= 250) + bonus+=2; + if (PPa.getSkillLevel(SkillType.UNARMED) >= 500) + bonus+=4; + event.setDamage(event.getDamage()+bonus); + } + public static void disarmProcCheck(Player attacker, Player defender) + { + PlayerProfile PP = Users.getProfile(attacker); + if(attacker.getItemInHand().getTypeId() == 0) + { + if(PP.getSkillLevel(SkillType.UNARMED) >= 1000) + { + if(Math.random() * 4000 <= 1000) + { + Location loc = defender.getLocation(); + if(defender.getItemInHand() != null && defender.getItemInHand().getTypeId() != 0) + { + defender.sendMessage(mcLocale.getString("Skills.Disarmed")); + ItemStack item = defender.getItemInHand(); + if(item != null) + { + loc.getWorld().dropItemNaturally(loc, item); + ItemStack itemx = null; + defender.setItemInHand(itemx); + } + } + } + } else { + if(Math.random() * 4000 <= PP.getSkillLevel(SkillType.UNARMED)){ + Location loc = defender.getLocation(); + if(defender.getItemInHand() != null && defender.getItemInHand().getTypeId() != 0) + { + defender.sendMessage(mcLocale.getString("Skills.Disarmed")); + ItemStack item = defender.getItemInHand(); + if(item != null) + { + loc.getWorld().dropItemNaturally(loc, item); + ItemStack itemx = null; + defender.setItemInHand(itemx); + } + } + } + } + } + } +} diff --git a/mcMMO/com/gmail/nossr50/skills/WoodCutting.java b/src/com/gmail/nossr50/skills/WoodCutting.java similarity index 100% rename from mcMMO/com/gmail/nossr50/skills/WoodCutting.java rename to src/com/gmail/nossr50/skills/WoodCutting.java diff --git a/mcMMO/com/gmail/nossr50/spout/ArrayListString.java b/src/com/gmail/nossr50/spout/ArrayListString.java similarity index 96% rename from mcMMO/com/gmail/nossr50/spout/ArrayListString.java rename to src/com/gmail/nossr50/spout/ArrayListString.java index e424ffb31..ad68b6892 100644 --- a/mcMMO/com/gmail/nossr50/spout/ArrayListString.java +++ b/src/com/gmail/nossr50/spout/ArrayListString.java @@ -1,112 +1,112 @@ -/* - * This file is part of mmoMinecraft (http://code.google.com/p/mmo-minecraft/). - * - * mmoMinecraft is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.gmail.nossr50.spout; - -import java.util.ArrayList; - -/** - * Case insensitive ArrayList. - * Overrides the .contains(), .indexOf(), .lastIndexOf() and .remove() methods. - */ -public class ArrayListString extends ArrayList { - - private static final long serialVersionUID = -8111006526598412404L; - - /** - * Returns true if this list contains the specified string. - * @param o String whose presence in this list is to be tested - * @return true if this list contains the specified string - */ - public boolean contains(String o) { - for (String e : this) { - if (o == null ? e == null : o.equalsIgnoreCase(e)) { - return true; - } - } - return false; - } - - /** - * Returns the index of the first occurrence of the specified string in this list, or -1 if this list does not contain the string. - * @param o String to search for - * @return The index of the first occurrence of the specified string in this list, or -1 if this list does not contain the string - */ - public int indexOf(String o) { - for (int i = 0; i < this.size(); i++) { - if (o == null ? get(i) == null : o.equalsIgnoreCase(get(i))) { - return i; - } - } - return -1; - } - - /** - * Returns the index of the last occurrence of the specified string in this list, or -1 if this list does not contain the string. - * @param o String to search for - * @return The index of the last occurrence of the specified string in this list, or -1 if this list does not contain the string - */ - public int lastIndexOf(String o) { - for (int i = size() - 1; i >= 0; i--) { - if (o == null ? get(i) == null : o.equalsIgnoreCase(get(i))) { - return i; - } - } - return -1; - } - - /** - * Removes the first occurrence of the specified string from this list, if it is present. If the list does not contain the string, it is unchanged. - * @param o String to be removed from this list, if present - * @return true if this list contained the specified string - */ - public boolean remove(String o) { - int i = indexOf(o); - if (i != -1) { - remove(i); - return true; - } - return false; - } - - /** - * Returns the element at the specified position in this list. - * This is for finding the correct capitalisation of an element. - * @param index String to search for - * @return the correctly capitalised element - */ - public String get(String index) { - int i = this.indexOf(index); - if (i != -1) { - return this.get(i); - } - return null; - } - - public ArrayListString meFirst(String name) { - ArrayListString copy = new ArrayListString(); - if (this.contains(name)) { - copy.add(name); - } - for (String next : this) { - if (!next.equalsIgnoreCase(name)) { - copy.add(next); - } - } - return copy; - } +/* + * This file is part of mmoMinecraft (http://code.google.com/p/mmo-minecraft/). + * + * mmoMinecraft is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.gmail.nossr50.spout; + +import java.util.ArrayList; + +/** + * Case insensitive ArrayList. + * Overrides the .contains(), .indexOf(), .lastIndexOf() and .remove() methods. + */ +public class ArrayListString extends ArrayList { + + private static final long serialVersionUID = -8111006526598412404L; + + /** + * Returns true if this list contains the specified string. + * @param o String whose presence in this list is to be tested + * @return true if this list contains the specified string + */ + public boolean contains(String o) { + for (String e : this) { + if (o == null ? e == null : o.equalsIgnoreCase(e)) { + return true; + } + } + return false; + } + + /** + * Returns the index of the first occurrence of the specified string in this list, or -1 if this list does not contain the string. + * @param o String to search for + * @return The index of the first occurrence of the specified string in this list, or -1 if this list does not contain the string + */ + public int indexOf(String o) { + for (int i = 0; i < this.size(); i++) { + if (o == null ? get(i) == null : o.equalsIgnoreCase(get(i))) { + return i; + } + } + return -1; + } + + /** + * Returns the index of the last occurrence of the specified string in this list, or -1 if this list does not contain the string. + * @param o String to search for + * @return The index of the last occurrence of the specified string in this list, or -1 if this list does not contain the string + */ + public int lastIndexOf(String o) { + for (int i = size() - 1; i >= 0; i--) { + if (o == null ? get(i) == null : o.equalsIgnoreCase(get(i))) { + return i; + } + } + return -1; + } + + /** + * Removes the first occurrence of the specified string from this list, if it is present. If the list does not contain the string, it is unchanged. + * @param o String to be removed from this list, if present + * @return true if this list contained the specified string + */ + public boolean remove(String o) { + int i = indexOf(o); + if (i != -1) { + remove(i); + return true; + } + return false; + } + + /** + * Returns the element at the specified position in this list. + * This is for finding the correct capitalisation of an element. + * @param index String to search for + * @return the correctly capitalised element + */ + public String get(String index) { + int i = this.indexOf(index); + if (i != -1) { + return this.get(i); + } + return null; + } + + public ArrayListString meFirst(String name) { + ArrayListString copy = new ArrayListString(); + if (this.contains(name)) { + copy.add(name); + } + for (String next : this) { + if (!next.equalsIgnoreCase(name)) { + copy.add(next); + } + } + return copy; + } } \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/spout/GenericFace.java b/src/com/gmail/nossr50/spout/GenericFace.java similarity index 96% rename from mcMMO/com/gmail/nossr50/spout/GenericFace.java rename to src/com/gmail/nossr50/spout/GenericFace.java index 5aa310af3..ffa70395d 100644 --- a/mcMMO/com/gmail/nossr50/spout/GenericFace.java +++ b/src/com/gmail/nossr50/spout/GenericFace.java @@ -1,58 +1,58 @@ -/* - * This file is part of mmoMinecraft (http://code.google.com/p/mmo-minecraft/). - * - * mmoMinecraft is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.gmail.nossr50.spout; - -import org.getspout.spoutapi.gui.GenericTexture; - -public final class GenericFace extends GenericTexture { - - private static String facePath = "http://face.rycochet.net/"; - private static int defaultSize = 8; - private String name; - - public GenericFace() { - this.setWidth(defaultSize).setHeight(defaultSize).setFixed(true); - setName(""); - } - - public GenericFace(String name) { - this.setWidth(defaultSize).setHeight(defaultSize).setFixed(true); - setName(name); - } - - public GenericFace(String name, int size) { - this.setWidth(size).setHeight(size).setFixed(true); - setName(name); - } - - public String getName() { - return name; - } - - public GenericFace setName(String name) { - this.name = name == null ? "" : name; - super.setUrl(facePath + this.name + ".png"); - super.setDirty(true); - return this; - } - - public GenericFace setSize(int size) { - super.setWidth(size).setHeight(size); - return this; - } -} +/* + * This file is part of mmoMinecraft (http://code.google.com/p/mmo-minecraft/). + * + * mmoMinecraft is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.gmail.nossr50.spout; + +import org.getspout.spoutapi.gui.GenericTexture; + +public final class GenericFace extends GenericTexture { + + private static String facePath = "http://face.rycochet.net/"; + private static int defaultSize = 8; + private String name; + + public GenericFace() { + this.setWidth(defaultSize).setHeight(defaultSize).setFixed(true); + setName(""); + } + + public GenericFace(String name) { + this.setWidth(defaultSize).setHeight(defaultSize).setFixed(true); + setName(name); + } + + public GenericFace(String name, int size) { + this.setWidth(size).setHeight(size).setFixed(true); + setName(name); + } + + public String getName() { + return name; + } + + public GenericFace setName(String name) { + this.name = name == null ? "" : name; + super.setUrl(facePath + this.name + ".png"); + super.setDirty(true); + return this; + } + + public GenericFace setSize(int size) { + super.setWidth(size).setHeight(size); + return this; + } +} diff --git a/mcMMO/com/gmail/nossr50/spout/GenericLivingEntity.java b/src/com/gmail/nossr50/spout/GenericLivingEntity.java similarity index 96% rename from mcMMO/com/gmail/nossr50/spout/GenericLivingEntity.java rename to src/com/gmail/nossr50/spout/GenericLivingEntity.java index 7be66dbab..6d3d923a2 100644 --- a/mcMMO/com/gmail/nossr50/spout/GenericLivingEntity.java +++ b/src/com/gmail/nossr50/spout/GenericLivingEntity.java @@ -1,227 +1,227 @@ -/* - * This file is from mmoMinecraft (http://code.google.com/p/mmo-minecraft/). - * - * mmoMinecraft is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package com.gmail.nossr50.spout; - -import org.bukkit.Bukkit; -import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; -import org.getspout.spoutapi.gui.*; - -public class GenericLivingEntity extends GenericContainer { - - private Container _bars; - private Container _space; - private Label _label; - private Gradient _health; - private Gradient _armor; - private GenericFace _face; - private int health = 100; - private int armor = 100; - private int def_width = 80; - private int def_height = 14; - private boolean target = false; - String face = "~"; - String label = ""; - - public GenericLivingEntity() { - super(); - Color black = new Color(0, 0, 0, 0.75f); - - this.addChildren( - new GenericContainer( // Used for the bar, this.children with an index 1+ are targets - _space = (Container) new GenericContainer() - .setMinWidth(def_width / 4) - .setMaxWidth(def_width / 4) - .setVisible(target), - new GenericContainer( - new GenericGradient() - .setTopColor(black) - .setBottomColor(black) - .setPriority(RenderPriority.Highest), - _bars = (Container) new GenericContainer( - _health = (Gradient) new GenericGradient(), - _armor = (Gradient) new GenericGradient() - ) .setMargin(1) - .setPriority(RenderPriority.High), - new GenericContainer( - _face = (GenericFace) new GenericFace() - .setMargin(3, 0, 3, 3), - _label = (Label) new GenericLabel() - .setMargin(3) - ) .setLayout(ContainerType.HORIZONTAL) - ) .setLayout(ContainerType.OVERLAY) - ) .setLayout(ContainerType.HORIZONTAL) - .setMargin(0, 0, 1, 0) - .setFixed(true) - .setWidth(def_width) - .setHeight(def_height) - ) .setAlign(WidgetAnchor.TOP_LEFT) - .setFixed(true) - .setWidth(def_width) - .setHeight(def_height + 1); - - this.setHealthColor(new Color(1f, 0, 0, 0.75f)); - this.setArmorColor(new Color(0.75f, 0.75f, 0.75f, 0.75f)); - } - - /** - * Set the display from a possibly offline player - * @param name - * @return - */ - public GenericLivingEntity setEntity(String name) { - return setEntity(name, ""); - } - - /** - * Set the display from a possibly offline player - * @param name - * @param prefix Place before the name - * @return - */ - public GenericLivingEntity setEntity(String name, String prefix) { - Player player = Bukkit.getServer().getPlayer(name); - if (player != null && player.isOnline()) { - return setEntity(player, prefix); - } - setHealth(0); - setArmor(0); - setLabel((!"".equals(prefix) ? prefix : "") + mmoHelper.getColor(screen != null ? screen.getPlayer() : null, null) + name); - setFace("~" + name); - return this; - } - - /** - * Set the display from a player or living entity - * @param entity - * @return - */ - public GenericLivingEntity setEntity(LivingEntity entity) { - return setEntity(entity, ""); - } - - /** - * Set the display from a player or living entity - * @param entity - * @param prefix Place before the name - * @return - */ - public GenericLivingEntity setEntity(LivingEntity entity, String prefix) { - if (entity != null && entity instanceof LivingEntity) { - setHealth(mmoHelper.getHealth(entity)); // Needs a maxHealth() check - setArmor(mmoHelper.getArmor(entity)); - setLabel((!"".equals(prefix) ? prefix : "") + mmoHelper.getColor(screen != null ? screen.getPlayer() : null, entity) + mmoHelper.getSimpleName(entity, !target)); - setFace(entity instanceof Player ? ((Player)entity).getName() : ""); - } else { - setHealth(0); - setArmor(0); - setLabel(""); - setFace(""); - } - return this; - } - - /** - * Set the targets of this entity - either actual targets, or pets etc - * @param targets - * @return - */ - public GenericLivingEntity setTargets(LivingEntity... targets) { - Widget[] widgets = this.getChildren(); - if (targets == null) { - targets = new LivingEntity[0]; // zero-length array is easier to handle - } - for (int i=targets.length + 1; i i + 1) { - child = (GenericLivingEntity) widgets[i+1]; - } else { - this.addChild(child = new GenericLivingEntity()); - } - child.setTarget(true); - child.setEntity(targets[i]); - } - setHeight((targets.length + 1) * (def_height + 1)); - updateLayout(); - return this; - } - - public GenericLivingEntity setTarget(boolean target) { - if (this.target != target) { - this.target = target; - _space.setVisible(target); - updateLayout(); - } - return this; - } - - public GenericLivingEntity setHealth(int health) { - if (this.health != health) { - this.health = health; - updateLayout(); - } - return this; - } - - public GenericLivingEntity setHealthColor(Color color) { - _health.setTopColor(color).setBottomColor(color); - return this; - } - - public GenericLivingEntity setArmor(int armor) { - if (this.armor != armor) { - this.armor = armor; - updateLayout(); - } - return this; - } - - public GenericLivingEntity setArmorColor(Color color) { - _armor.setTopColor(color).setBottomColor(color); - return this; - } - - public GenericLivingEntity setLabel(String label) { - if (!this.label.equals(label)) { - this.label = label; - _label.setText(label).setDirty(true); - updateLayout(); - } - return this; - } - - public GenericLivingEntity setFace(String name) { - if (!this.face.equals(name)) { - this.face = name; - _face.setVisible(!name.isEmpty()); - _face.setName(name); - updateLayout(); - } - return this; - } - - @Override - public Container updateLayout() { - super.updateLayout(); - _armor.setWidth((_bars.getWidth() * armor) / 100).setDirty(true); - _health.setWidth((_bars.getWidth() * health) / 100).setDirty(true); - return this; - } +/* + * This file is from mmoMinecraft (http://code.google.com/p/mmo-minecraft/). + * + * mmoMinecraft is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package com.gmail.nossr50.spout; + +import org.bukkit.Bukkit; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; +import org.getspout.spoutapi.gui.*; + +public class GenericLivingEntity extends GenericContainer { + + private Container _bars; + private Container _space; + private Label _label; + private Gradient _health; + private Gradient _armor; + private GenericFace _face; + private int health = 100; + private int armor = 100; + private int def_width = 80; + private int def_height = 14; + private boolean target = false; + String face = "~"; + String label = ""; + + public GenericLivingEntity() { + super(); + Color black = new Color(0, 0, 0, 0.75f); + + this.addChildren( + new GenericContainer( // Used for the bar, this.children with an index 1+ are targets + _space = (Container) new GenericContainer() + .setMinWidth(def_width / 4) + .setMaxWidth(def_width / 4) + .setVisible(target), + new GenericContainer( + new GenericGradient() + .setTopColor(black) + .setBottomColor(black) + .setPriority(RenderPriority.Highest), + _bars = (Container) new GenericContainer( + _health = (Gradient) new GenericGradient(), + _armor = (Gradient) new GenericGradient() + ) .setMargin(1) + .setPriority(RenderPriority.High), + new GenericContainer( + _face = (GenericFace) new GenericFace() + .setMargin(3, 0, 3, 3), + _label = (Label) new GenericLabel() + .setMargin(3) + ) .setLayout(ContainerType.HORIZONTAL) + ) .setLayout(ContainerType.OVERLAY) + ) .setLayout(ContainerType.HORIZONTAL) + .setMargin(0, 0, 1, 0) + .setFixed(true) + .setWidth(def_width) + .setHeight(def_height) + ) .setAlign(WidgetAnchor.TOP_LEFT) + .setFixed(true) + .setWidth(def_width) + .setHeight(def_height + 1); + + this.setHealthColor(new Color(1f, 0, 0, 0.75f)); + this.setArmorColor(new Color(0.75f, 0.75f, 0.75f, 0.75f)); + } + + /** + * Set the display from a possibly offline player + * @param name + * @return + */ + public GenericLivingEntity setEntity(String name) { + return setEntity(name, ""); + } + + /** + * Set the display from a possibly offline player + * @param name + * @param prefix Place before the name + * @return + */ + public GenericLivingEntity setEntity(String name, String prefix) { + Player player = Bukkit.getServer().getPlayer(name); + if (player != null && player.isOnline()) { + return setEntity(player, prefix); + } + setHealth(0); + setArmor(0); + setLabel((!"".equals(prefix) ? prefix : "") + mmoHelper.getColor(screen != null ? screen.getPlayer() : null, null) + name); + setFace("~" + name); + return this; + } + + /** + * Set the display from a player or living entity + * @param entity + * @return + */ + public GenericLivingEntity setEntity(LivingEntity entity) { + return setEntity(entity, ""); + } + + /** + * Set the display from a player or living entity + * @param entity + * @param prefix Place before the name + * @return + */ + public GenericLivingEntity setEntity(LivingEntity entity, String prefix) { + if (entity != null && entity instanceof LivingEntity) { + setHealth(mmoHelper.getHealth(entity)); // Needs a maxHealth() check + setArmor(mmoHelper.getArmor(entity)); + setLabel((!"".equals(prefix) ? prefix : "") + mmoHelper.getColor(screen != null ? screen.getPlayer() : null, entity) + mmoHelper.getSimpleName(entity, !target)); + setFace(entity instanceof Player ? ((Player)entity).getName() : ""); + } else { + setHealth(0); + setArmor(0); + setLabel(""); + setFace(""); + } + return this; + } + + /** + * Set the targets of this entity - either actual targets, or pets etc + * @param targets + * @return + */ + public GenericLivingEntity setTargets(LivingEntity... targets) { + Widget[] widgets = this.getChildren(); + if (targets == null) { + targets = new LivingEntity[0]; // zero-length array is easier to handle + } + for (int i=targets.length + 1; i i + 1) { + child = (GenericLivingEntity) widgets[i+1]; + } else { + this.addChild(child = new GenericLivingEntity()); + } + child.setTarget(true); + child.setEntity(targets[i]); + } + setHeight((targets.length + 1) * (def_height + 1)); + updateLayout(); + return this; + } + + public GenericLivingEntity setTarget(boolean target) { + if (this.target != target) { + this.target = target; + _space.setVisible(target); + updateLayout(); + } + return this; + } + + public GenericLivingEntity setHealth(int health) { + if (this.health != health) { + this.health = health; + updateLayout(); + } + return this; + } + + public GenericLivingEntity setHealthColor(Color color) { + _health.setTopColor(color).setBottomColor(color); + return this; + } + + public GenericLivingEntity setArmor(int armor) { + if (this.armor != armor) { + this.armor = armor; + updateLayout(); + } + return this; + } + + public GenericLivingEntity setArmorColor(Color color) { + _armor.setTopColor(color).setBottomColor(color); + return this; + } + + public GenericLivingEntity setLabel(String label) { + if (!this.label.equals(label)) { + this.label = label; + _label.setText(label).setDirty(true); + updateLayout(); + } + return this; + } + + public GenericLivingEntity setFace(String name) { + if (!this.face.equals(name)) { + this.face = name; + _face.setVisible(!name.isEmpty()); + _face.setName(name); + updateLayout(); + } + return this; + } + + @Override + public Container updateLayout() { + super.updateLayout(); + _armor.setWidth((_bars.getWidth() * armor) / 100).setDirty(true); + _health.setWidth((_bars.getWidth() * health) / 100).setDirty(true); + return this; + } } \ No newline at end of file diff --git a/mcMMO/com/gmail/nossr50/spout/SpoutStuff.java b/src/com/gmail/nossr50/spout/SpoutStuff.java similarity index 96% rename from mcMMO/com/gmail/nossr50/spout/SpoutStuff.java rename to src/com/gmail/nossr50/spout/SpoutStuff.java index a092518c9..c6df31015 100644 --- a/mcMMO/com/gmail/nossr50/spout/SpoutStuff.java +++ b/src/com/gmail/nossr50/spout/SpoutStuff.java @@ -1,540 +1,540 @@ -package com.gmail.nossr50.spout; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.jar.JarEntry; -import java.util.jar.JarFile; - -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.entity.Player; -import org.bukkit.event.Event; -import org.bukkit.event.Event.Priority; -import org.getspout.spoutapi.SpoutManager; -import org.getspout.spoutapi.gui.Color; -import org.getspout.spoutapi.keyboard.Keyboard; -import org.getspout.spoutapi.player.SpoutPlayer; -import org.getspout.spoutapi.sound.SoundEffect; -import org.getspout.spoutapi.sound.SoundManager; - -import com.gmail.nossr50.Users; -import com.gmail.nossr50.m; -import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.config.LoadProperties; -import com.gmail.nossr50.datatypes.HUDType; -import com.gmail.nossr50.datatypes.HUDmmo; -import com.gmail.nossr50.datatypes.PlayerProfile; -import com.gmail.nossr50.datatypes.popups.PopupMMO; -import com.gmail.nossr50.datatypes.SkillType; -import com.gmail.nossr50.listeners.mcSpoutInputListener; -import com.gmail.nossr50.listeners.mcSpoutListener; -import com.gmail.nossr50.listeners.mcSpoutScreenListener; - -public class SpoutStuff -{ - static mcMMO plugin = (mcMMO) Bukkit.getServer().getPluginManager().getPlugin("mcMMO"); - - private final static mcSpoutListener spoutListener = new mcSpoutListener(plugin); - private final static mcSpoutInputListener spoutInputListener = new mcSpoutInputListener(plugin); - private final static mcSpoutScreenListener spoutScreenListener = new mcSpoutScreenListener(plugin); - - public static HashMap playerHUDs = new HashMap(); - //public static HashMap> partyHealthBars = new HashMap>(); - public static HashMap playerScreens = new HashMap(); - - public static Keyboard keypress; - - public static void writeFile(String theFileName, String theFilePath) - { - try { - File currentFile = new File("plugins/mcMMO/Resources/"+theFilePath+theFileName); - //System.out.println(theFileName); - @SuppressWarnings("static-access") - JarFile jar = new JarFile(plugin.mcmmo); - JarEntry entry = jar.getJarEntry(theFileName); - InputStream is = jar.getInputStream(entry); - FileOutputStream os = new FileOutputStream(currentFile); - byte[] buf = new byte[(int)entry.getSize()]; - is.read(buf, 0, (int)entry.getSize()); - os.write(buf); - os.close(); - } catch (FileNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - public static void extractFiles() - { - //Setup directories - new File("plugins/mcMMO/Resources/").mkdir(); - new File("plugins/mcMMO/Resources/HUD/").mkdir(); - new File("plugins/mcMMO/Resources/HUD/Standard/").mkdir(); - new File("plugins/mcMMO/Resources/HUD/Retro/").mkdir(); - new File("plugins/mcMMO/Resources/Sound/").mkdir(); - - //Xp Bar images - for(int x =0; x < 255; x++) - { - //String s = File.separator; - String theFilePath = "HUD/Standard/"; - if(x < 10) - { - String theFileName = "xpbar_inc00"+x+".png"; - writeFile(theFileName, theFilePath); - } else if (x < 100) - { - String theFileName = "xpbar_inc0"+x+".png"; - writeFile(theFileName, theFilePath); - } else - { - String theFileName = "xpbar_inc"+x+".png"; - writeFile(theFileName, theFilePath); - } - } - - //Standard XP Icons - - String theFilePathA = "HUD/Standard/"; - String theFilePathB = "HUD/Retro/"; - - for(SkillType y : SkillType.values()) - { - if(y == SkillType.ALL) - continue; - - - String theFileNameA = m.getCapitalized(y.toString())+".png"; - String theFileNameB = m.getCapitalized(y.toString())+"_r.png"; - - writeFile(theFileNameA, theFilePathA); - writeFile(theFileNameB, theFilePathB); - } - - //Blank icons - - writeFile("Icon.png", theFilePathA); - writeFile("Icon_r.png", theFilePathB); - - String theSoundFilePath = "Sound/"; - //Repair SFX - writeFile("repair.wav", theSoundFilePath); - writeFile("level.wav", theSoundFilePath); - } - - public static void setupSpoutConfigs() - { - String temp = LoadProperties.readString("Spout.Menu.Key", "KEY_M"); - - for(Keyboard x : Keyboard.values()) - { - if(x.toString().equalsIgnoreCase(temp)) - { - keypress = x; - } - } - - if(keypress == null) - { - System.out.println("Invalid KEY for Spout.Menu.Key, using KEY_M"); - keypress = Keyboard.KEY_M; - } - } - public static ArrayList getFiles() - { - ArrayList files = new ArrayList(); - String dir = "plugins/mcMMO/Resources/"; - int x = 0; - - //XP BAR - while(x < 255) - { - if(x < 10) - { - files.add(new File(dir+"HUD/Standard/xpbar_inc00"+x+".png")); - } else if (x < 100) - { - files.add(new File(dir+"HUD/Standard/xpbar_inc0"+x+".png")); - } else - { - files.add(new File(dir+"HUD/Standard/xpbar_inc"+x+".png")); - } - x++; - } - - //Standard XP Icons - for(SkillType y : SkillType.values()) - { - if(y == SkillType.ALL) - continue; - files.add(new File(dir+"HUD/Standard/"+m.getCapitalized(y.toString())+".png")); - files.add(new File(dir+"HUD/Retro/"+m.getCapitalized(y.toString())+"_r.png")); - } - - //Blank icons - files.add(new File(dir+"HUD/Standard/Icon.png")); - files.add(new File(dir+"HUD/Retro/Icon_r.png")); - //Repair SFX - files.add(new File(dir+"/Sound/repair.wav")); - //Level SFX - files.add(new File(dir+"/Sound/level.wav")); - - return files; - } - public static void registerCustomEvent() - { - Bukkit.getServer().getPluginManager().registerEvent(Event.Type.CUSTOM_EVENT, spoutListener, Priority.Normal, plugin); - Bukkit.getServer().getPluginManager().registerEvent(Event.Type.CUSTOM_EVENT, spoutInputListener, Priority.Normal, plugin); - Bukkit.getServer().getPluginManager().registerEvent(Event.Type.CUSTOM_EVENT, spoutScreenListener, Priority.Normal, plugin); - } - - public static Color getRetroColor(SkillType type) - { - switch(type) - { - case ACROBATICS: - return new Color((float) LoadProperties.acrobatics_r, (float) LoadProperties.acrobatics_g, (float) LoadProperties.acrobatics_b, 1); - case ARCHERY: - return new Color((float) LoadProperties.archery_r, (float)LoadProperties.archery_g, (float)LoadProperties.archery_b, 1f); - case AXES: - return new Color((float) LoadProperties.axes_r, (float)LoadProperties.axes_g, (float)LoadProperties.axes_b, 1f); - case EXCAVATION: - return new Color((float)LoadProperties.excavation_r, (float)LoadProperties.excavation_g, (float)LoadProperties.excavation_b, 1f); - case HERBALISM: - return new Color((float)LoadProperties.herbalism_r, (float)LoadProperties.herbalism_g, (float)LoadProperties.herbalism_b, 1f); - case MINING: - return new Color((float)LoadProperties.mining_r, (float)LoadProperties.mining_g, (float)LoadProperties.mining_b, 1f); - case REPAIR: - return new Color((float)LoadProperties.repair_r, (float)LoadProperties.repair_g, (float)LoadProperties.repair_b, 1f); - case SWORDS: - return new Color((float)LoadProperties.swords_r, (float)LoadProperties.swords_g, (float)LoadProperties.swords_b, 1f); - case TAMING: - return new Color((float)LoadProperties.taming_r, (float)LoadProperties.taming_g, (float)LoadProperties.taming_b, 1f); - case UNARMED: - return new Color((float)LoadProperties.unarmed_r, (float)LoadProperties.unarmed_g, (float)LoadProperties.unarmed_b, 1f); - case WOODCUTTING: - return new Color((float)LoadProperties.woodcutting_r, (float)LoadProperties.woodcutting_g, (float)LoadProperties.woodcutting_b, 1f); - default: - return new Color(0.3f, 0.3f, 0.75f, 1f); - } - } - public static SpoutPlayer getSpoutPlayer(String playerName) - { - for(Player x : Bukkit.getServer().getOnlinePlayers()) - { - if(x.getName().equalsIgnoreCase(playerName)) - { - return SpoutManager.getPlayer(x); - } - } - return null; - } - - public static void playSoundForPlayer(SoundEffect effect, Player player, Location location) - { - //Contrib stuff - SoundManager SM = SpoutManager.getSoundManager(); - SpoutPlayer sPlayer = SpoutManager.getPlayer(player); - SM.playSoundEffect(sPlayer, effect, location); - } - - public static void playRepairNoise(Player player) - { - SoundManager SM = SpoutManager.getSoundManager(); - SpoutPlayer sPlayer = SpoutManager.getPlayer(player); - SM.playCustomSoundEffect(Bukkit.getServer().getPluginManager().getPlugin("mcMMO"), sPlayer, "repair.wav", false); - } - - public static void playLevelUpNoise(Player player) - { - SoundManager SM = SpoutManager.getSoundManager(); - SpoutPlayer sPlayer = SpoutManager.getPlayer(player); - SM.playCustomSoundEffect(Bukkit.getServer().getPluginManager().getPlugin("mcMMO"), sPlayer, "level.wav", false); - } - - public static void levelUpNotification(SkillType skillType, SpoutPlayer sPlayer) - { - PlayerProfile PP = Users.getProfile(sPlayer); - - Material mat = null; - switch(skillType) - { - case TAMING: - switch(getNotificationTier(PP.getSkillLevel(skillType))) - { - case 1: - mat = Material.PORK; - break; - case 2: - mat = Material.PORK; - break; - case 3: - mat = Material.GRILLED_PORK; - break; - case 4: - mat = Material.GRILLED_PORK; - break; - case 5: - mat = Material.BONE; - break; - } - break; - case MINING: - switch(getNotificationTier(PP.getSkillLevel(skillType))) - { - case 1: - mat = Material.COAL_ORE; - break; - case 2: - mat = Material.IRON_ORE; - break; - case 3: - mat = Material.GOLD_ORE; - break; - case 4: - mat = Material.LAPIS_ORE; - break; - case 5: - mat = Material.DIAMOND_ORE; - break; - } - break; - case WOODCUTTING: - switch(getNotificationTier(PP.getSkillLevel(skillType))) - { - case 1: - mat = Material.WOOD; - break; - case 2: - mat = Material.WOOD; - break; - case 3: - mat = Material.WOOD; - break; - case 4: - mat = Material.LOG; - break; - case 5: - mat = Material.LOG; - break; - } - break; - case REPAIR: - switch(getNotificationTier(PP.getSkillLevel(skillType))) - { - case 1: - mat = Material.COBBLESTONE; - break; - case 2: - mat = Material.IRON_BLOCK; - break; - case 3: - mat = Material.GOLD_BLOCK; - break; - case 4: - mat = Material.LAPIS_BLOCK; - break; - case 5: - mat = Material.DIAMOND_BLOCK; - break; - } - break; - case HERBALISM: - switch(getNotificationTier(PP.getSkillLevel(skillType))) - { - case 1: - mat = Material.YELLOW_FLOWER; - break; - case 2: - mat = Material.RED_ROSE; - break; - case 3: - mat = Material.BROWN_MUSHROOM; - break; - case 4: - mat = Material.RED_MUSHROOM; - break; - case 5: - mat = Material.PUMPKIN; - break; - } - break; - case ACROBATICS: - switch(getNotificationTier(PP.getSkillLevel(skillType))) - { - case 1: - mat = Material.LEATHER_BOOTS; - break; - case 2: - mat = Material.CHAINMAIL_BOOTS; - break; - case 3: - mat = Material.IRON_BOOTS; - break; - case 4: - mat = Material.GOLD_BOOTS; - break; - case 5: - mat = Material.DIAMOND_BOOTS; - break; - } - break; - case SWORDS: - switch(getNotificationTier(PP.getSkillLevel(skillType))) - { - case 1: - mat = Material.WOOD_SWORD; - break; - case 2: - mat = Material.STONE_SWORD; - break; - case 3: - mat = Material.IRON_SWORD; - break; - case 4: - mat = Material.GOLD_SWORD; - break; - case 5: - mat = Material.DIAMOND_SWORD; - break; - } - break; - case ARCHERY: - mat = Material.ARROW; - break; - case UNARMED: - switch(getNotificationTier(PP.getSkillLevel(skillType))) - { - case 1: - mat = Material.LEATHER_HELMET; - break; - case 2: - mat = Material.CHAINMAIL_HELMET; - break; - case 3: - mat = Material.IRON_HELMET; - break; - case 4: - mat = Material.GOLD_HELMET; - break; - case 5: - mat = Material.DIAMOND_HELMET; - break; - } - break; - case EXCAVATION: - switch(getNotificationTier(PP.getSkillLevel(skillType))) - { - case 1: - mat = Material.WOOD_SPADE; - break; - case 2: - mat = Material.STONE_SPADE; - break; - case 3: - mat = Material.IRON_SPADE; - break; - case 4: - mat = Material.GOLD_SPADE; - break; - case 5: - mat = Material.DIAMOND_SPADE; - break; - } - break; - case AXES: - switch(getNotificationTier(PP.getSkillLevel(skillType))) - { - case 1: - mat = Material.WOOD_AXE; - break; - case 2: - mat = Material.STONE_AXE; - break; - case 3: - mat = Material.IRON_AXE; - break; - case 4: - mat = Material.GOLD_AXE; - break; - case 5: - mat = Material.DIAMOND_AXE; - break; - } - break; - default: - mat = Material.WATCH; - break; - } - sPlayer.sendNotification(ChatColor.GREEN+"Level Up!", ChatColor.YELLOW+m.getCapitalized(skillType.toString())+ChatColor.DARK_AQUA+" ("+ChatColor.GREEN+PP.getSkillLevel(skillType)+ChatColor.DARK_AQUA+")", mat); - playLevelUpNoise(sPlayer); - } - - public static Integer getNotificationTier(Integer level) - { - if(level < 200) - return 1; - else if (level >= 200 && level < 400) - return 2; - else if (level >= 400 && level < 600) - return 3; - else if (level >= 600 && level < 800) - return 4; - else - return 5; - } - - public static Integer getXpInc(int skillxp, int xptolevel, HUDType hud) - { - if(hud == HUDType.STANDARD) - { - double percentage = (double) skillxp/xptolevel; - double inc = 0.0039370078740157; - return (int) (percentage/inc); - } else if (hud == HUDType.RETRO) - { - double percentage = (double) skillxp/xptolevel; - double inc = 0.0079365079365079; - return (int) (percentage/inc); - } else { - return 1; - } - } - - public static void updateXpBar(Player player) - { - playerHUDs.get(player).updateXpBarDisplay(Users.getProfile(player).getHUDType(), player); - } - - public static String getUrlBar(Integer number) - { - if(number.toString().toCharArray().length == 1) - { - return "xpbar_inc00"+number+".png"; - } else if (number.toString().toCharArray().length == 2) - { - return "xpbar_inc0"+number+".png"; - } else { - return "xpbar_inc"+number+".png"; - } - } - - public static String getUrlIcon(SkillType skillType) - { - return m.getCapitalized(skillType.toString())+".png"; - } - public static boolean shouldBeFilled(PlayerProfile PP) - { - return PP.getXpBarInc() < getXpInc(PP.getSkillXpLevel(PP.getLastGained()), PP.getXpToLevel(PP.getLastGained()), HUDType.STANDARD); - } -} +package com.gmail.nossr50.spout; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.jar.JarEntry; +import java.util.jar.JarFile; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.entity.Player; +import org.bukkit.event.Event; +import org.bukkit.event.Event.Priority; +import org.getspout.spoutapi.SpoutManager; +import org.getspout.spoutapi.gui.Color; +import org.getspout.spoutapi.keyboard.Keyboard; +import org.getspout.spoutapi.player.SpoutPlayer; +import org.getspout.spoutapi.sound.SoundEffect; +import org.getspout.spoutapi.sound.SoundManager; + +import com.gmail.nossr50.Users; +import com.gmail.nossr50.m; +import com.gmail.nossr50.mcMMO; +import com.gmail.nossr50.config.LoadProperties; +import com.gmail.nossr50.datatypes.HUDType; +import com.gmail.nossr50.datatypes.HUDmmo; +import com.gmail.nossr50.datatypes.PlayerProfile; +import com.gmail.nossr50.datatypes.popups.PopupMMO; +import com.gmail.nossr50.datatypes.SkillType; +import com.gmail.nossr50.listeners.mcSpoutInputListener; +import com.gmail.nossr50.listeners.mcSpoutListener; +import com.gmail.nossr50.listeners.mcSpoutScreenListener; + +public class SpoutStuff +{ + static mcMMO plugin = (mcMMO) Bukkit.getServer().getPluginManager().getPlugin("mcMMO"); + + private final static mcSpoutListener spoutListener = new mcSpoutListener(plugin); + private final static mcSpoutInputListener spoutInputListener = new mcSpoutInputListener(plugin); + private final static mcSpoutScreenListener spoutScreenListener = new mcSpoutScreenListener(plugin); + + public static HashMap playerHUDs = new HashMap(); + //public static HashMap> partyHealthBars = new HashMap>(); + public static HashMap playerScreens = new HashMap(); + + public static Keyboard keypress; + + public static void writeFile(String theFileName, String theFilePath) + { + try { + File currentFile = new File("plugins/mcMMO/Resources/"+theFilePath+theFileName); + //System.out.println(theFileName); + @SuppressWarnings("static-access") + JarFile jar = new JarFile(plugin.mcmmo); + JarEntry entry = jar.getJarEntry(theFileName); + InputStream is = jar.getInputStream(entry); + FileOutputStream os = new FileOutputStream(currentFile); + byte[] buf = new byte[(int)entry.getSize()]; + is.read(buf, 0, (int)entry.getSize()); + os.write(buf); + os.close(); + } catch (FileNotFoundException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + public static void extractFiles() + { + //Setup directories + new File("plugins/mcMMO/Resources/").mkdir(); + new File("plugins/mcMMO/Resources/HUD/").mkdir(); + new File("plugins/mcMMO/Resources/HUD/Standard/").mkdir(); + new File("plugins/mcMMO/Resources/HUD/Retro/").mkdir(); + new File("plugins/mcMMO/Resources/Sound/").mkdir(); + + //Xp Bar images + for(int x =0; x < 255; x++) + { + //String s = File.separator; + String theFilePath = "HUD/Standard/"; + if(x < 10) + { + String theFileName = "xpbar_inc00"+x+".png"; + writeFile(theFileName, theFilePath); + } else if (x < 100) + { + String theFileName = "xpbar_inc0"+x+".png"; + writeFile(theFileName, theFilePath); + } else + { + String theFileName = "xpbar_inc"+x+".png"; + writeFile(theFileName, theFilePath); + } + } + + //Standard XP Icons + + String theFilePathA = "HUD/Standard/"; + String theFilePathB = "HUD/Retro/"; + + for(SkillType y : SkillType.values()) + { + if(y == SkillType.ALL) + continue; + + + String theFileNameA = m.getCapitalized(y.toString())+".png"; + String theFileNameB = m.getCapitalized(y.toString())+"_r.png"; + + writeFile(theFileNameA, theFilePathA); + writeFile(theFileNameB, theFilePathB); + } + + //Blank icons + + writeFile("Icon.png", theFilePathA); + writeFile("Icon_r.png", theFilePathB); + + String theSoundFilePath = "Sound/"; + //Repair SFX + writeFile("repair.wav", theSoundFilePath); + writeFile("level.wav", theSoundFilePath); + } + + public static void setupSpoutConfigs() + { + String temp = LoadProperties.readString("Spout.Menu.Key", "KEY_M"); + + for(Keyboard x : Keyboard.values()) + { + if(x.toString().equalsIgnoreCase(temp)) + { + keypress = x; + } + } + + if(keypress == null) + { + System.out.println("Invalid KEY for Spout.Menu.Key, using KEY_M"); + keypress = Keyboard.KEY_M; + } + } + public static ArrayList getFiles() + { + ArrayList files = new ArrayList(); + String dir = "plugins/mcMMO/Resources/"; + int x = 0; + + //XP BAR + while(x < 255) + { + if(x < 10) + { + files.add(new File(dir+"HUD/Standard/xpbar_inc00"+x+".png")); + } else if (x < 100) + { + files.add(new File(dir+"HUD/Standard/xpbar_inc0"+x+".png")); + } else + { + files.add(new File(dir+"HUD/Standard/xpbar_inc"+x+".png")); + } + x++; + } + + //Standard XP Icons + for(SkillType y : SkillType.values()) + { + if(y == SkillType.ALL) + continue; + files.add(new File(dir+"HUD/Standard/"+m.getCapitalized(y.toString())+".png")); + files.add(new File(dir+"HUD/Retro/"+m.getCapitalized(y.toString())+"_r.png")); + } + + //Blank icons + files.add(new File(dir+"HUD/Standard/Icon.png")); + files.add(new File(dir+"HUD/Retro/Icon_r.png")); + //Repair SFX + files.add(new File(dir+"/Sound/repair.wav")); + //Level SFX + files.add(new File(dir+"/Sound/level.wav")); + + return files; + } + public static void registerCustomEvent() + { + Bukkit.getServer().getPluginManager().registerEvent(Event.Type.CUSTOM_EVENT, spoutListener, Priority.Normal, plugin); + Bukkit.getServer().getPluginManager().registerEvent(Event.Type.CUSTOM_EVENT, spoutInputListener, Priority.Normal, plugin); + Bukkit.getServer().getPluginManager().registerEvent(Event.Type.CUSTOM_EVENT, spoutScreenListener, Priority.Normal, plugin); + } + + public static Color getRetroColor(SkillType type) + { + switch(type) + { + case ACROBATICS: + return new Color((float) LoadProperties.acrobatics_r, (float) LoadProperties.acrobatics_g, (float) LoadProperties.acrobatics_b, 1); + case ARCHERY: + return new Color((float) LoadProperties.archery_r, (float)LoadProperties.archery_g, (float)LoadProperties.archery_b, 1f); + case AXES: + return new Color((float) LoadProperties.axes_r, (float)LoadProperties.axes_g, (float)LoadProperties.axes_b, 1f); + case EXCAVATION: + return new Color((float)LoadProperties.excavation_r, (float)LoadProperties.excavation_g, (float)LoadProperties.excavation_b, 1f); + case HERBALISM: + return new Color((float)LoadProperties.herbalism_r, (float)LoadProperties.herbalism_g, (float)LoadProperties.herbalism_b, 1f); + case MINING: + return new Color((float)LoadProperties.mining_r, (float)LoadProperties.mining_g, (float)LoadProperties.mining_b, 1f); + case REPAIR: + return new Color((float)LoadProperties.repair_r, (float)LoadProperties.repair_g, (float)LoadProperties.repair_b, 1f); + case SWORDS: + return new Color((float)LoadProperties.swords_r, (float)LoadProperties.swords_g, (float)LoadProperties.swords_b, 1f); + case TAMING: + return new Color((float)LoadProperties.taming_r, (float)LoadProperties.taming_g, (float)LoadProperties.taming_b, 1f); + case UNARMED: + return new Color((float)LoadProperties.unarmed_r, (float)LoadProperties.unarmed_g, (float)LoadProperties.unarmed_b, 1f); + case WOODCUTTING: + return new Color((float)LoadProperties.woodcutting_r, (float)LoadProperties.woodcutting_g, (float)LoadProperties.woodcutting_b, 1f); + default: + return new Color(0.3f, 0.3f, 0.75f, 1f); + } + } + public static SpoutPlayer getSpoutPlayer(String playerName) + { + for(Player x : Bukkit.getServer().getOnlinePlayers()) + { + if(x.getName().equalsIgnoreCase(playerName)) + { + return SpoutManager.getPlayer(x); + } + } + return null; + } + + public static void playSoundForPlayer(SoundEffect effect, Player player, Location location) + { + //Contrib stuff + SoundManager SM = SpoutManager.getSoundManager(); + SpoutPlayer sPlayer = SpoutManager.getPlayer(player); + SM.playSoundEffect(sPlayer, effect, location); + } + + public static void playRepairNoise(Player player) + { + SoundManager SM = SpoutManager.getSoundManager(); + SpoutPlayer sPlayer = SpoutManager.getPlayer(player); + SM.playCustomSoundEffect(Bukkit.getServer().getPluginManager().getPlugin("mcMMO"), sPlayer, "repair.wav", false); + } + + public static void playLevelUpNoise(Player player) + { + SoundManager SM = SpoutManager.getSoundManager(); + SpoutPlayer sPlayer = SpoutManager.getPlayer(player); + SM.playCustomSoundEffect(Bukkit.getServer().getPluginManager().getPlugin("mcMMO"), sPlayer, "level.wav", false); + } + + public static void levelUpNotification(SkillType skillType, SpoutPlayer sPlayer) + { + PlayerProfile PP = Users.getProfile(sPlayer); + + Material mat = null; + switch(skillType) + { + case TAMING: + switch(getNotificationTier(PP.getSkillLevel(skillType))) + { + case 1: + mat = Material.PORK; + break; + case 2: + mat = Material.PORK; + break; + case 3: + mat = Material.GRILLED_PORK; + break; + case 4: + mat = Material.GRILLED_PORK; + break; + case 5: + mat = Material.BONE; + break; + } + break; + case MINING: + switch(getNotificationTier(PP.getSkillLevel(skillType))) + { + case 1: + mat = Material.COAL_ORE; + break; + case 2: + mat = Material.IRON_ORE; + break; + case 3: + mat = Material.GOLD_ORE; + break; + case 4: + mat = Material.LAPIS_ORE; + break; + case 5: + mat = Material.DIAMOND_ORE; + break; + } + break; + case WOODCUTTING: + switch(getNotificationTier(PP.getSkillLevel(skillType))) + { + case 1: + mat = Material.WOOD; + break; + case 2: + mat = Material.WOOD; + break; + case 3: + mat = Material.WOOD; + break; + case 4: + mat = Material.LOG; + break; + case 5: + mat = Material.LOG; + break; + } + break; + case REPAIR: + switch(getNotificationTier(PP.getSkillLevel(skillType))) + { + case 1: + mat = Material.COBBLESTONE; + break; + case 2: + mat = Material.IRON_BLOCK; + break; + case 3: + mat = Material.GOLD_BLOCK; + break; + case 4: + mat = Material.LAPIS_BLOCK; + break; + case 5: + mat = Material.DIAMOND_BLOCK; + break; + } + break; + case HERBALISM: + switch(getNotificationTier(PP.getSkillLevel(skillType))) + { + case 1: + mat = Material.YELLOW_FLOWER; + break; + case 2: + mat = Material.RED_ROSE; + break; + case 3: + mat = Material.BROWN_MUSHROOM; + break; + case 4: + mat = Material.RED_MUSHROOM; + break; + case 5: + mat = Material.PUMPKIN; + break; + } + break; + case ACROBATICS: + switch(getNotificationTier(PP.getSkillLevel(skillType))) + { + case 1: + mat = Material.LEATHER_BOOTS; + break; + case 2: + mat = Material.CHAINMAIL_BOOTS; + break; + case 3: + mat = Material.IRON_BOOTS; + break; + case 4: + mat = Material.GOLD_BOOTS; + break; + case 5: + mat = Material.DIAMOND_BOOTS; + break; + } + break; + case SWORDS: + switch(getNotificationTier(PP.getSkillLevel(skillType))) + { + case 1: + mat = Material.WOOD_SWORD; + break; + case 2: + mat = Material.STONE_SWORD; + break; + case 3: + mat = Material.IRON_SWORD; + break; + case 4: + mat = Material.GOLD_SWORD; + break; + case 5: + mat = Material.DIAMOND_SWORD; + break; + } + break; + case ARCHERY: + mat = Material.ARROW; + break; + case UNARMED: + switch(getNotificationTier(PP.getSkillLevel(skillType))) + { + case 1: + mat = Material.LEATHER_HELMET; + break; + case 2: + mat = Material.CHAINMAIL_HELMET; + break; + case 3: + mat = Material.IRON_HELMET; + break; + case 4: + mat = Material.GOLD_HELMET; + break; + case 5: + mat = Material.DIAMOND_HELMET; + break; + } + break; + case EXCAVATION: + switch(getNotificationTier(PP.getSkillLevel(skillType))) + { + case 1: + mat = Material.WOOD_SPADE; + break; + case 2: + mat = Material.STONE_SPADE; + break; + case 3: + mat = Material.IRON_SPADE; + break; + case 4: + mat = Material.GOLD_SPADE; + break; + case 5: + mat = Material.DIAMOND_SPADE; + break; + } + break; + case AXES: + switch(getNotificationTier(PP.getSkillLevel(skillType))) + { + case 1: + mat = Material.WOOD_AXE; + break; + case 2: + mat = Material.STONE_AXE; + break; + case 3: + mat = Material.IRON_AXE; + break; + case 4: + mat = Material.GOLD_AXE; + break; + case 5: + mat = Material.DIAMOND_AXE; + break; + } + break; + default: + mat = Material.WATCH; + break; + } + sPlayer.sendNotification(ChatColor.GREEN+"Level Up!", ChatColor.YELLOW+m.getCapitalized(skillType.toString())+ChatColor.DARK_AQUA+" ("+ChatColor.GREEN+PP.getSkillLevel(skillType)+ChatColor.DARK_AQUA+")", mat); + playLevelUpNoise(sPlayer); + } + + public static Integer getNotificationTier(Integer level) + { + if(level < 200) + return 1; + else if (level >= 200 && level < 400) + return 2; + else if (level >= 400 && level < 600) + return 3; + else if (level >= 600 && level < 800) + return 4; + else + return 5; + } + + public static Integer getXpInc(int skillxp, int xptolevel, HUDType hud) + { + if(hud == HUDType.STANDARD) + { + double percentage = (double) skillxp/xptolevel; + double inc = 0.0039370078740157; + return (int) (percentage/inc); + } else if (hud == HUDType.RETRO) + { + double percentage = (double) skillxp/xptolevel; + double inc = 0.0079365079365079; + return (int) (percentage/inc); + } else { + return 1; + } + } + + public static void updateXpBar(Player player) + { + playerHUDs.get(player).updateXpBarDisplay(Users.getProfile(player).getHUDType(), player); + } + + public static String getUrlBar(Integer number) + { + if(number.toString().toCharArray().length == 1) + { + return "xpbar_inc00"+number+".png"; + } else if (number.toString().toCharArray().length == 2) + { + return "xpbar_inc0"+number+".png"; + } else { + return "xpbar_inc"+number+".png"; + } + } + + public static String getUrlIcon(SkillType skillType) + { + return m.getCapitalized(skillType.toString())+".png"; + } + public static boolean shouldBeFilled(PlayerProfile PP) + { + return PP.getXpBarInc() < getXpInc(PP.getSkillXpLevel(PP.getLastGained()), PP.getXpToLevel(PP.getLastGained()), HUDType.STANDARD); + } +} diff --git a/mcMMO/com/gmail/nossr50/spout/mmoHelper.java b/src/com/gmail/nossr50/spout/mmoHelper.java similarity index 96% rename from mcMMO/com/gmail/nossr50/spout/mmoHelper.java rename to src/com/gmail/nossr50/spout/mmoHelper.java index 1d1e3988d..ebbf34beb 100644 --- a/mcMMO/com/gmail/nossr50/spout/mmoHelper.java +++ b/src/com/gmail/nossr50/spout/mmoHelper.java @@ -1,250 +1,250 @@ -/* - * This file is from mmoMinecraft (http://code.google.com/p/mmo-minecraft/). - * - * mmoMinecraft is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package com.gmail.nossr50.spout; - -import java.util.ArrayList; -import java.util.HashMap; - -import org.bukkit.Bukkit; -import org.bukkit.ChatColor; -import org.bukkit.World; -import org.bukkit.entity.Entity; -import org.bukkit.entity.LivingEntity; -import org.bukkit.entity.Player; -import org.bukkit.entity.Tameable; -import org.bukkit.inventory.ItemStack; -import org.bukkit.plugin.Plugin; -import org.bukkit.entity.*; -import org.getspout.spoutapi.gui.Container; -import org.getspout.spoutapi.gui.GenericContainer; -import org.getspout.spoutapi.gui.Widget; -import org.getspout.spoutapi.gui.WidgetAnchor; -import org.getspout.spoutapi.player.SpoutPlayer; - -import com.gmail.nossr50.Users; -import com.gmail.nossr50.party.Party; - -public class mmoHelper -{ - - /** - * A map of player containers, each container is their party bar - */ - public static HashMap containers = new HashMap(); - - /** - * Get the percentage health of a Player. - * @param player The Player we're interested in - * @return The percentage of max health - */ - public static int getHealth(Entity player) { - if (player != null && player instanceof LivingEntity) { - try { - return Math.min(((LivingEntity) player).getHealth() * 5, 100); - } catch (Exception e) { - } - } - return 0; - } - - /** - * Get the colour of a LivingEntity target from a player's point of view. - * @param player The player viewing the target - * @param target The target to name - * @return The name to use - */ - public static String getColor(Player player, LivingEntity target) { - if (target instanceof Player) { - return ChatColor.YELLOW.toString(); - } else { - if (target instanceof Monster) { - if (player != null && player.equals(((Creature) target).getTarget())) { - return ChatColor.RED.toString(); - } else { - return ChatColor.YELLOW.toString(); - } - } else if (target instanceof WaterMob) { - return ChatColor.GREEN.toString(); - } else if (target instanceof Flying) { - return ChatColor.YELLOW.toString(); - } else if (target instanceof Animals) { - if (player != null && player.equals(((Creature) target).getTarget())) { - return ChatColor.RED.toString(); - } else if (target instanceof Tameable) { - Tameable pet = (Tameable) target; - if (pet.isTamed()) { - return ChatColor.GREEN.toString(); - } else { - return ChatColor.YELLOW.toString(); - } - } else { - return ChatColor.GRAY.toString(); - } - } else { - return ChatColor.GRAY.toString(); - } - } - } - - /** - * Get the percentage armour of a Player. - * @param player The Player we're interested in - * @return The percentage of max armour - */ - public static int getArmor(Entity player) { - if (player != null && player instanceof Player) { - int armor = 0, max, multi[] = {15, 30, 40, 15}; - ItemStack inv[] = ((Player) player).getInventory().getArmorContents(); - for (int i = 0; i < inv.length; i++) { - max = inv[i].getType().getMaxDurability(); - if (max >= 0) { - armor += multi[i] * (max - inv[i].getDurability()) / max; - } - } - return armor; - } - return 0; - } - - public static String getSimpleName(LivingEntity target, boolean showOwner) { - String name = ""; - if (target instanceof Player) { - name += ((Player)target).getName(); - } else { - if (target instanceof Tameable) { - if (((Tameable)target).isTamed()) { - if (showOwner && ((Tameable)target).getOwner() instanceof Player) { - name += ((Player)((Tameable)target).getOwner()).getName() + "'s "; - } else { - name += "Pet "; - } - } - } - if (target instanceof Chicken) { - name += "Chicken"; - } else if (target instanceof Cow) { - name += "Cow"; - } else if (target instanceof Creeper) { - name += "Creeper"; - } else if (target instanceof Giant) { - name += "Giant"; - } else if (target instanceof Pig) { - name += "Pig"; - } else if (target instanceof PigZombie) { - name += "PigZombie"; - } else if (target instanceof Sheep) { - name += "Sheep"; - } else if (target instanceof Skeleton) { - name += "Skeleton"; - } else if (target instanceof Spider) { - name += "Spider"; - } else if (target instanceof Squid) { - name += "Squid"; - } else if (target instanceof Wolf) { - name += "Wolf"; - } else if (target instanceof Zombie) { - name += "Zombie"; - } else if (target instanceof Monster) { - name += "Monster"; - } else if (target instanceof Creature) { - name += "Creature"; - } else { - name += "Unknown"; - } - } - return name; - } - - public static LivingEntity[] getPets(HumanEntity player) { - ArrayList pets = new ArrayList(); - if (player != null && (!(player instanceof Player) || ((Player)player).isOnline())) { - String name = player.getName(); - for (World world : Bukkit.getServer().getWorlds()) { - for (LivingEntity entity : world.getLivingEntities()) { - if (entity instanceof Tameable && ((Tameable) entity).isTamed() && ((Tameable) entity).getOwner() instanceof Player) { - if (name.equals(((Player) ((Tameable) entity).getOwner()).getName())) { - pets.add(entity); - } - } - } - } - } - LivingEntity[] list = new LivingEntity[pets.size()]; - pets.toArray(list); - return list; - } - - public static void update(Player player) - { - //boolean show_pets = true; - Container container = containers.get(player); - - if (container != null) - { - int index = 0; - Widget[] bars = container.getChildren(); - for (String name : Party.getInstance().getPartyMembersByName(player).meFirst(player.getName())) - { - GenericLivingEntity bar; - if (index >= bars.length) - { - container.addChild(bar = new GenericLivingEntity()); - } else { - bar = (GenericLivingEntity)bars[index]; - } - bar.setEntity(name, Party.getInstance().isPartyLeader(Bukkit.getServer().getPlayer(name), Users.getProfile(Bukkit.getServer().getPlayer(name)).getParty()) ? ChatColor.GREEN + "@" : ""); - //bar.setTargets(show_pets ? getPets(Bukkit.getServer().getPlayer(name)) : null); - index++; - } - while (index < bars.length) { - container.removeChild(bars[index++]); - } - container.updateLayout(); - } - } - - public static void initialize(SpoutPlayer sPlayer, Plugin plugin) - { - GenericContainer container = new GenericContainer(); - - container.setAlign(WidgetAnchor.TOP_LEFT) - .setAnchor(WidgetAnchor.TOP_LEFT) - .setX(3) - .setY(3) - .setWidth(427) - .setHeight(240) - .setFixed(true); - - mmoHelper.containers.put(sPlayer, container); - - sPlayer.getMainScreen().attachWidget(plugin, container); - } - /** - * Update all parties. - */ - public static void updateAll() { - for(Player x : Bukkit.getServer().getOnlinePlayers()) - { - if(Users.getProfile(x).inParty()) - { - update(x); - } - } - } - -} +/* + * This file is from mmoMinecraft (http://code.google.com/p/mmo-minecraft/). + * + * mmoMinecraft is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.gmail.nossr50.spout; + +import java.util.ArrayList; +import java.util.HashMap; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.World; +import org.bukkit.entity.Entity; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; +import org.bukkit.entity.Tameable; +import org.bukkit.inventory.ItemStack; +import org.bukkit.plugin.Plugin; +import org.bukkit.entity.*; +import org.getspout.spoutapi.gui.Container; +import org.getspout.spoutapi.gui.GenericContainer; +import org.getspout.spoutapi.gui.Widget; +import org.getspout.spoutapi.gui.WidgetAnchor; +import org.getspout.spoutapi.player.SpoutPlayer; + +import com.gmail.nossr50.Users; +import com.gmail.nossr50.party.Party; + +public class mmoHelper +{ + + /** + * A map of player containers, each container is their party bar + */ + public static HashMap containers = new HashMap(); + + /** + * Get the percentage health of a Player. + * @param player The Player we're interested in + * @return The percentage of max health + */ + public static int getHealth(Entity player) { + if (player != null && player instanceof LivingEntity) { + try { + return Math.min(((LivingEntity) player).getHealth() * 5, 100); + } catch (Exception e) { + } + } + return 0; + } + + /** + * Get the colour of a LivingEntity target from a player's point of view. + * @param player The player viewing the target + * @param target The target to name + * @return The name to use + */ + public static String getColor(Player player, LivingEntity target) { + if (target instanceof Player) { + return ChatColor.YELLOW.toString(); + } else { + if (target instanceof Monster) { + if (player != null && player.equals(((Creature) target).getTarget())) { + return ChatColor.RED.toString(); + } else { + return ChatColor.YELLOW.toString(); + } + } else if (target instanceof WaterMob) { + return ChatColor.GREEN.toString(); + } else if (target instanceof Flying) { + return ChatColor.YELLOW.toString(); + } else if (target instanceof Animals) { + if (player != null && player.equals(((Creature) target).getTarget())) { + return ChatColor.RED.toString(); + } else if (target instanceof Tameable) { + Tameable pet = (Tameable) target; + if (pet.isTamed()) { + return ChatColor.GREEN.toString(); + } else { + return ChatColor.YELLOW.toString(); + } + } else { + return ChatColor.GRAY.toString(); + } + } else { + return ChatColor.GRAY.toString(); + } + } + } + + /** + * Get the percentage armour of a Player. + * @param player The Player we're interested in + * @return The percentage of max armour + */ + public static int getArmor(Entity player) { + if (player != null && player instanceof Player) { + int armor = 0, max, multi[] = {15, 30, 40, 15}; + ItemStack inv[] = ((Player) player).getInventory().getArmorContents(); + for (int i = 0; i < inv.length; i++) { + max = inv[i].getType().getMaxDurability(); + if (max >= 0) { + armor += multi[i] * (max - inv[i].getDurability()) / max; + } + } + return armor; + } + return 0; + } + + public static String getSimpleName(LivingEntity target, boolean showOwner) { + String name = ""; + if (target instanceof Player) { + name += ((Player)target).getName(); + } else { + if (target instanceof Tameable) { + if (((Tameable)target).isTamed()) { + if (showOwner && ((Tameable)target).getOwner() instanceof Player) { + name += ((Player)((Tameable)target).getOwner()).getName() + "'s "; + } else { + name += "Pet "; + } + } + } + if (target instanceof Chicken) { + name += "Chicken"; + } else if (target instanceof Cow) { + name += "Cow"; + } else if (target instanceof Creeper) { + name += "Creeper"; + } else if (target instanceof Giant) { + name += "Giant"; + } else if (target instanceof Pig) { + name += "Pig"; + } else if (target instanceof PigZombie) { + name += "PigZombie"; + } else if (target instanceof Sheep) { + name += "Sheep"; + } else if (target instanceof Skeleton) { + name += "Skeleton"; + } else if (target instanceof Spider) { + name += "Spider"; + } else if (target instanceof Squid) { + name += "Squid"; + } else if (target instanceof Wolf) { + name += "Wolf"; + } else if (target instanceof Zombie) { + name += "Zombie"; + } else if (target instanceof Monster) { + name += "Monster"; + } else if (target instanceof Creature) { + name += "Creature"; + } else { + name += "Unknown"; + } + } + return name; + } + + public static LivingEntity[] getPets(HumanEntity player) { + ArrayList pets = new ArrayList(); + if (player != null && (!(player instanceof Player) || ((Player)player).isOnline())) { + String name = player.getName(); + for (World world : Bukkit.getServer().getWorlds()) { + for (LivingEntity entity : world.getLivingEntities()) { + if (entity instanceof Tameable && ((Tameable) entity).isTamed() && ((Tameable) entity).getOwner() instanceof Player) { + if (name.equals(((Player) ((Tameable) entity).getOwner()).getName())) { + pets.add(entity); + } + } + } + } + } + LivingEntity[] list = new LivingEntity[pets.size()]; + pets.toArray(list); + return list; + } + + public static void update(Player player) + { + //boolean show_pets = true; + Container container = containers.get(player); + + if (container != null) + { + int index = 0; + Widget[] bars = container.getChildren(); + for (String name : Party.getInstance().getPartyMembersByName(player).meFirst(player.getName())) + { + GenericLivingEntity bar; + if (index >= bars.length) + { + container.addChild(bar = new GenericLivingEntity()); + } else { + bar = (GenericLivingEntity)bars[index]; + } + bar.setEntity(name, Party.getInstance().isPartyLeader(Bukkit.getServer().getPlayer(name), Users.getProfile(Bukkit.getServer().getPlayer(name)).getParty()) ? ChatColor.GREEN + "@" : ""); + //bar.setTargets(show_pets ? getPets(Bukkit.getServer().getPlayer(name)) : null); + index++; + } + while (index < bars.length) { + container.removeChild(bars[index++]); + } + container.updateLayout(); + } + } + + public static void initialize(SpoutPlayer sPlayer, Plugin plugin) + { + GenericContainer container = new GenericContainer(); + + container.setAlign(WidgetAnchor.TOP_LEFT) + .setAnchor(WidgetAnchor.TOP_LEFT) + .setX(3) + .setY(3) + .setWidth(427) + .setHeight(240) + .setFixed(true); + + mmoHelper.containers.put(sPlayer, container); + + sPlayer.getMainScreen().attachWidget(plugin, container); + } + /** + * Update all parties. + */ + public static void updateAll() { + for(Player x : Bukkit.getServer().getOnlinePlayers()) + { + if(Users.getProfile(x).inParty()) + { + update(x); + } + } + } + +} diff --git a/mcMMO/Acrobatics.png b/src/resources/Acrobatics.png similarity index 100% rename from mcMMO/Acrobatics.png rename to src/resources/Acrobatics.png diff --git a/mcMMO/Acrobatics_r.png b/src/resources/Acrobatics_r.png similarity index 100% rename from mcMMO/Acrobatics_r.png rename to src/resources/Acrobatics_r.png diff --git a/mcMMO/Archery.png b/src/resources/Archery.png similarity index 100% rename from mcMMO/Archery.png rename to src/resources/Archery.png diff --git a/mcMMO/Archery_r.png b/src/resources/Archery_r.png similarity index 100% rename from mcMMO/Archery_r.png rename to src/resources/Archery_r.png diff --git a/mcMMO/Axe_r.png b/src/resources/Axe_r.png similarity index 100% rename from mcMMO/Axe_r.png rename to src/resources/Axe_r.png diff --git a/mcMMO/Axes.png b/src/resources/Axes.png similarity index 100% rename from mcMMO/Axes.png rename to src/resources/Axes.png diff --git a/mcMMO/Axes_r.png b/src/resources/Axes_r.png similarity index 100% rename from mcMMO/Axes_r.png rename to src/resources/Axes_r.png diff --git a/mcMMO/Excavation.png b/src/resources/Excavation.png similarity index 100% rename from mcMMO/Excavation.png rename to src/resources/Excavation.png diff --git a/mcMMO/Excavation_r.png b/src/resources/Excavation_r.png similarity index 100% rename from mcMMO/Excavation_r.png rename to src/resources/Excavation_r.png diff --git a/mcMMO/Herbalism.png b/src/resources/Herbalism.png similarity index 100% rename from mcMMO/Herbalism.png rename to src/resources/Herbalism.png diff --git a/mcMMO/Herbalism_r.png b/src/resources/Herbalism_r.png similarity index 100% rename from mcMMO/Herbalism_r.png rename to src/resources/Herbalism_r.png diff --git a/mcMMO/Icon.png b/src/resources/Icon.png similarity index 100% rename from mcMMO/Icon.png rename to src/resources/Icon.png diff --git a/mcMMO/Icon_old.png b/src/resources/Icon_old.png similarity index 100% rename from mcMMO/Icon_old.png rename to src/resources/Icon_old.png diff --git a/mcMMO/Icon_r.png b/src/resources/Icon_r.png similarity index 100% rename from mcMMO/Icon_r.png rename to src/resources/Icon_r.png diff --git a/mcMMO/Mining.png b/src/resources/Mining.png similarity index 100% rename from mcMMO/Mining.png rename to src/resources/Mining.png diff --git a/mcMMO/Mining_r.png b/src/resources/Mining_r.png similarity index 100% rename from mcMMO/Mining_r.png rename to src/resources/Mining_r.png diff --git a/mcMMO/Repair.png b/src/resources/Repair.png similarity index 100% rename from mcMMO/Repair.png rename to src/resources/Repair.png diff --git a/mcMMO/Repair_r.png b/src/resources/Repair_r.png similarity index 100% rename from mcMMO/Repair_r.png rename to src/resources/Repair_r.png diff --git a/mcMMO/Swords.png b/src/resources/Swords.png similarity index 100% rename from mcMMO/Swords.png rename to src/resources/Swords.png diff --git a/mcMMO/Swords_r.png b/src/resources/Swords_r.png similarity index 100% rename from mcMMO/Swords_r.png rename to src/resources/Swords_r.png diff --git a/mcMMO/Taming.png b/src/resources/Taming.png similarity index 100% rename from mcMMO/Taming.png rename to src/resources/Taming.png diff --git a/mcMMO/Taming_r.png b/src/resources/Taming_r.png similarity index 100% rename from mcMMO/Taming_r.png rename to src/resources/Taming_r.png diff --git a/mcMMO/Unarmed.png b/src/resources/Unarmed.png similarity index 100% rename from mcMMO/Unarmed.png rename to src/resources/Unarmed.png diff --git a/mcMMO/Unarmed_r.png b/src/resources/Unarmed_r.png similarity index 100% rename from mcMMO/Unarmed_r.png rename to src/resources/Unarmed_r.png diff --git a/mcMMO/Woodcutting.png b/src/resources/Woodcutting.png similarity index 100% rename from mcMMO/Woodcutting.png rename to src/resources/Woodcutting.png diff --git a/mcMMO/Woodcutting_r.png b/src/resources/Woodcutting_r.png similarity index 100% rename from mcMMO/Woodcutting_r.png rename to src/resources/Woodcutting_r.png diff --git a/mcMMO/health_inc00.png b/src/resources/health_inc00.png similarity index 100% rename from mcMMO/health_inc00.png rename to src/resources/health_inc00.png diff --git a/mcMMO/health_inc01.png b/src/resources/health_inc01.png similarity index 100% rename from mcMMO/health_inc01.png rename to src/resources/health_inc01.png diff --git a/mcMMO/health_inc02.png b/src/resources/health_inc02.png similarity index 100% rename from mcMMO/health_inc02.png rename to src/resources/health_inc02.png diff --git a/mcMMO/health_inc03.png b/src/resources/health_inc03.png similarity index 100% rename from mcMMO/health_inc03.png rename to src/resources/health_inc03.png diff --git a/mcMMO/health_inc04.png b/src/resources/health_inc04.png similarity index 100% rename from mcMMO/health_inc04.png rename to src/resources/health_inc04.png diff --git a/mcMMO/health_inc05.png b/src/resources/health_inc05.png similarity index 100% rename from mcMMO/health_inc05.png rename to src/resources/health_inc05.png diff --git a/mcMMO/health_inc06.png b/src/resources/health_inc06.png similarity index 100% rename from mcMMO/health_inc06.png rename to src/resources/health_inc06.png diff --git a/mcMMO/health_inc07.png b/src/resources/health_inc07.png similarity index 100% rename from mcMMO/health_inc07.png rename to src/resources/health_inc07.png diff --git a/mcMMO/health_inc08.png b/src/resources/health_inc08.png similarity index 100% rename from mcMMO/health_inc08.png rename to src/resources/health_inc08.png diff --git a/mcMMO/health_inc09.png b/src/resources/health_inc09.png similarity index 100% rename from mcMMO/health_inc09.png rename to src/resources/health_inc09.png diff --git a/mcMMO/health_inc10.png b/src/resources/health_inc10.png similarity index 100% rename from mcMMO/health_inc10.png rename to src/resources/health_inc10.png diff --git a/mcMMO/health_inc11.png b/src/resources/health_inc11.png similarity index 100% rename from mcMMO/health_inc11.png rename to src/resources/health_inc11.png diff --git a/mcMMO/health_inc12.png b/src/resources/health_inc12.png similarity index 100% rename from mcMMO/health_inc12.png rename to src/resources/health_inc12.png diff --git a/mcMMO/health_inc13.png b/src/resources/health_inc13.png similarity index 100% rename from mcMMO/health_inc13.png rename to src/resources/health_inc13.png diff --git a/mcMMO/health_inc14.png b/src/resources/health_inc14.png similarity index 100% rename from mcMMO/health_inc14.png rename to src/resources/health_inc14.png diff --git a/mcMMO/health_inc15.png b/src/resources/health_inc15.png similarity index 100% rename from mcMMO/health_inc15.png rename to src/resources/health_inc15.png diff --git a/mcMMO/health_inc16.png b/src/resources/health_inc16.png similarity index 100% rename from mcMMO/health_inc16.png rename to src/resources/health_inc16.png diff --git a/mcMMO/health_inc17.png b/src/resources/health_inc17.png similarity index 100% rename from mcMMO/health_inc17.png rename to src/resources/health_inc17.png diff --git a/mcMMO/health_inc18.png b/src/resources/health_inc18.png similarity index 100% rename from mcMMO/health_inc18.png rename to src/resources/health_inc18.png diff --git a/mcMMO/health_inc19.png b/src/resources/health_inc19.png similarity index 100% rename from mcMMO/health_inc19.png rename to src/resources/health_inc19.png diff --git a/mcMMO/health_inc20.png b/src/resources/health_inc20.png similarity index 100% rename from mcMMO/health_inc20.png rename to src/resources/health_inc20.png diff --git a/mcMMO/level.wav b/src/resources/level.wav similarity index 100% rename from mcMMO/level.wav rename to src/resources/level.wav diff --git a/mcMMO/plugin.yml b/src/resources/plugin.yml similarity index 100% rename from mcMMO/plugin.yml rename to src/resources/plugin.yml diff --git a/mcMMO/repair.wav b/src/resources/repair.wav similarity index 100% rename from mcMMO/repair.wav rename to src/resources/repair.wav diff --git a/mcMMO/xpbar_inc000.png b/src/resources/xpbar_inc000.png similarity index 100% rename from mcMMO/xpbar_inc000.png rename to src/resources/xpbar_inc000.png diff --git a/mcMMO/xpbar_inc001.png b/src/resources/xpbar_inc001.png similarity index 100% rename from mcMMO/xpbar_inc001.png rename to src/resources/xpbar_inc001.png diff --git a/mcMMO/xpbar_inc002.png b/src/resources/xpbar_inc002.png similarity index 100% rename from mcMMO/xpbar_inc002.png rename to src/resources/xpbar_inc002.png diff --git a/mcMMO/xpbar_inc003.png b/src/resources/xpbar_inc003.png similarity index 100% rename from mcMMO/xpbar_inc003.png rename to src/resources/xpbar_inc003.png diff --git a/mcMMO/xpbar_inc004.png b/src/resources/xpbar_inc004.png similarity index 100% rename from mcMMO/xpbar_inc004.png rename to src/resources/xpbar_inc004.png diff --git a/mcMMO/xpbar_inc005.png b/src/resources/xpbar_inc005.png similarity index 100% rename from mcMMO/xpbar_inc005.png rename to src/resources/xpbar_inc005.png diff --git a/mcMMO/xpbar_inc006.png b/src/resources/xpbar_inc006.png similarity index 100% rename from mcMMO/xpbar_inc006.png rename to src/resources/xpbar_inc006.png diff --git a/mcMMO/xpbar_inc007.png b/src/resources/xpbar_inc007.png similarity index 100% rename from mcMMO/xpbar_inc007.png rename to src/resources/xpbar_inc007.png diff --git a/mcMMO/xpbar_inc008.png b/src/resources/xpbar_inc008.png similarity index 100% rename from mcMMO/xpbar_inc008.png rename to src/resources/xpbar_inc008.png diff --git a/mcMMO/xpbar_inc009.png b/src/resources/xpbar_inc009.png similarity index 100% rename from mcMMO/xpbar_inc009.png rename to src/resources/xpbar_inc009.png diff --git a/mcMMO/xpbar_inc010.png b/src/resources/xpbar_inc010.png similarity index 100% rename from mcMMO/xpbar_inc010.png rename to src/resources/xpbar_inc010.png diff --git a/mcMMO/xpbar_inc011.png b/src/resources/xpbar_inc011.png similarity index 100% rename from mcMMO/xpbar_inc011.png rename to src/resources/xpbar_inc011.png diff --git a/mcMMO/xpbar_inc012.png b/src/resources/xpbar_inc012.png similarity index 100% rename from mcMMO/xpbar_inc012.png rename to src/resources/xpbar_inc012.png diff --git a/mcMMO/xpbar_inc013.png b/src/resources/xpbar_inc013.png similarity index 100% rename from mcMMO/xpbar_inc013.png rename to src/resources/xpbar_inc013.png diff --git a/mcMMO/xpbar_inc014.png b/src/resources/xpbar_inc014.png similarity index 100% rename from mcMMO/xpbar_inc014.png rename to src/resources/xpbar_inc014.png diff --git a/mcMMO/xpbar_inc015.png b/src/resources/xpbar_inc015.png similarity index 100% rename from mcMMO/xpbar_inc015.png rename to src/resources/xpbar_inc015.png diff --git a/mcMMO/xpbar_inc016.png b/src/resources/xpbar_inc016.png similarity index 100% rename from mcMMO/xpbar_inc016.png rename to src/resources/xpbar_inc016.png diff --git a/mcMMO/xpbar_inc017.png b/src/resources/xpbar_inc017.png similarity index 100% rename from mcMMO/xpbar_inc017.png rename to src/resources/xpbar_inc017.png diff --git a/mcMMO/xpbar_inc018.png b/src/resources/xpbar_inc018.png similarity index 100% rename from mcMMO/xpbar_inc018.png rename to src/resources/xpbar_inc018.png diff --git a/mcMMO/xpbar_inc019.png b/src/resources/xpbar_inc019.png similarity index 100% rename from mcMMO/xpbar_inc019.png rename to src/resources/xpbar_inc019.png diff --git a/mcMMO/xpbar_inc020.png b/src/resources/xpbar_inc020.png similarity index 100% rename from mcMMO/xpbar_inc020.png rename to src/resources/xpbar_inc020.png diff --git a/mcMMO/xpbar_inc021.png b/src/resources/xpbar_inc021.png similarity index 100% rename from mcMMO/xpbar_inc021.png rename to src/resources/xpbar_inc021.png diff --git a/mcMMO/xpbar_inc022.png b/src/resources/xpbar_inc022.png similarity index 100% rename from mcMMO/xpbar_inc022.png rename to src/resources/xpbar_inc022.png diff --git a/mcMMO/xpbar_inc023.png b/src/resources/xpbar_inc023.png similarity index 100% rename from mcMMO/xpbar_inc023.png rename to src/resources/xpbar_inc023.png diff --git a/mcMMO/xpbar_inc024.png b/src/resources/xpbar_inc024.png similarity index 100% rename from mcMMO/xpbar_inc024.png rename to src/resources/xpbar_inc024.png diff --git a/mcMMO/xpbar_inc025.png b/src/resources/xpbar_inc025.png similarity index 100% rename from mcMMO/xpbar_inc025.png rename to src/resources/xpbar_inc025.png diff --git a/mcMMO/xpbar_inc026.png b/src/resources/xpbar_inc026.png similarity index 100% rename from mcMMO/xpbar_inc026.png rename to src/resources/xpbar_inc026.png diff --git a/mcMMO/xpbar_inc027.png b/src/resources/xpbar_inc027.png similarity index 100% rename from mcMMO/xpbar_inc027.png rename to src/resources/xpbar_inc027.png diff --git a/mcMMO/xpbar_inc028.png b/src/resources/xpbar_inc028.png similarity index 100% rename from mcMMO/xpbar_inc028.png rename to src/resources/xpbar_inc028.png diff --git a/mcMMO/xpbar_inc029.png b/src/resources/xpbar_inc029.png similarity index 100% rename from mcMMO/xpbar_inc029.png rename to src/resources/xpbar_inc029.png diff --git a/mcMMO/xpbar_inc030.png b/src/resources/xpbar_inc030.png similarity index 100% rename from mcMMO/xpbar_inc030.png rename to src/resources/xpbar_inc030.png diff --git a/mcMMO/xpbar_inc031.png b/src/resources/xpbar_inc031.png similarity index 100% rename from mcMMO/xpbar_inc031.png rename to src/resources/xpbar_inc031.png diff --git a/mcMMO/xpbar_inc032.png b/src/resources/xpbar_inc032.png similarity index 100% rename from mcMMO/xpbar_inc032.png rename to src/resources/xpbar_inc032.png diff --git a/mcMMO/xpbar_inc033.png b/src/resources/xpbar_inc033.png similarity index 100% rename from mcMMO/xpbar_inc033.png rename to src/resources/xpbar_inc033.png diff --git a/mcMMO/xpbar_inc034.png b/src/resources/xpbar_inc034.png similarity index 100% rename from mcMMO/xpbar_inc034.png rename to src/resources/xpbar_inc034.png diff --git a/mcMMO/xpbar_inc035.png b/src/resources/xpbar_inc035.png similarity index 100% rename from mcMMO/xpbar_inc035.png rename to src/resources/xpbar_inc035.png diff --git a/mcMMO/xpbar_inc036.png b/src/resources/xpbar_inc036.png similarity index 100% rename from mcMMO/xpbar_inc036.png rename to src/resources/xpbar_inc036.png diff --git a/mcMMO/xpbar_inc037.png b/src/resources/xpbar_inc037.png similarity index 100% rename from mcMMO/xpbar_inc037.png rename to src/resources/xpbar_inc037.png diff --git a/mcMMO/xpbar_inc038.png b/src/resources/xpbar_inc038.png similarity index 100% rename from mcMMO/xpbar_inc038.png rename to src/resources/xpbar_inc038.png diff --git a/mcMMO/xpbar_inc039.png b/src/resources/xpbar_inc039.png similarity index 100% rename from mcMMO/xpbar_inc039.png rename to src/resources/xpbar_inc039.png diff --git a/mcMMO/xpbar_inc040.png b/src/resources/xpbar_inc040.png similarity index 100% rename from mcMMO/xpbar_inc040.png rename to src/resources/xpbar_inc040.png diff --git a/mcMMO/xpbar_inc041.png b/src/resources/xpbar_inc041.png similarity index 100% rename from mcMMO/xpbar_inc041.png rename to src/resources/xpbar_inc041.png diff --git a/mcMMO/xpbar_inc042.png b/src/resources/xpbar_inc042.png similarity index 100% rename from mcMMO/xpbar_inc042.png rename to src/resources/xpbar_inc042.png diff --git a/mcMMO/xpbar_inc043.png b/src/resources/xpbar_inc043.png similarity index 100% rename from mcMMO/xpbar_inc043.png rename to src/resources/xpbar_inc043.png diff --git a/mcMMO/xpbar_inc044.png b/src/resources/xpbar_inc044.png similarity index 100% rename from mcMMO/xpbar_inc044.png rename to src/resources/xpbar_inc044.png diff --git a/mcMMO/xpbar_inc045.png b/src/resources/xpbar_inc045.png similarity index 100% rename from mcMMO/xpbar_inc045.png rename to src/resources/xpbar_inc045.png diff --git a/mcMMO/xpbar_inc046.png b/src/resources/xpbar_inc046.png similarity index 100% rename from mcMMO/xpbar_inc046.png rename to src/resources/xpbar_inc046.png diff --git a/mcMMO/xpbar_inc047.png b/src/resources/xpbar_inc047.png similarity index 100% rename from mcMMO/xpbar_inc047.png rename to src/resources/xpbar_inc047.png diff --git a/mcMMO/xpbar_inc048.png b/src/resources/xpbar_inc048.png similarity index 100% rename from mcMMO/xpbar_inc048.png rename to src/resources/xpbar_inc048.png diff --git a/mcMMO/xpbar_inc049.png b/src/resources/xpbar_inc049.png similarity index 100% rename from mcMMO/xpbar_inc049.png rename to src/resources/xpbar_inc049.png diff --git a/mcMMO/xpbar_inc050.png b/src/resources/xpbar_inc050.png similarity index 100% rename from mcMMO/xpbar_inc050.png rename to src/resources/xpbar_inc050.png diff --git a/mcMMO/xpbar_inc051.png b/src/resources/xpbar_inc051.png similarity index 100% rename from mcMMO/xpbar_inc051.png rename to src/resources/xpbar_inc051.png diff --git a/mcMMO/xpbar_inc052.png b/src/resources/xpbar_inc052.png similarity index 100% rename from mcMMO/xpbar_inc052.png rename to src/resources/xpbar_inc052.png diff --git a/mcMMO/xpbar_inc053.png b/src/resources/xpbar_inc053.png similarity index 100% rename from mcMMO/xpbar_inc053.png rename to src/resources/xpbar_inc053.png diff --git a/mcMMO/xpbar_inc054.png b/src/resources/xpbar_inc054.png similarity index 100% rename from mcMMO/xpbar_inc054.png rename to src/resources/xpbar_inc054.png diff --git a/mcMMO/xpbar_inc055.png b/src/resources/xpbar_inc055.png similarity index 100% rename from mcMMO/xpbar_inc055.png rename to src/resources/xpbar_inc055.png diff --git a/mcMMO/xpbar_inc056.png b/src/resources/xpbar_inc056.png similarity index 100% rename from mcMMO/xpbar_inc056.png rename to src/resources/xpbar_inc056.png diff --git a/mcMMO/xpbar_inc057.png b/src/resources/xpbar_inc057.png similarity index 100% rename from mcMMO/xpbar_inc057.png rename to src/resources/xpbar_inc057.png diff --git a/mcMMO/xpbar_inc058.png b/src/resources/xpbar_inc058.png similarity index 100% rename from mcMMO/xpbar_inc058.png rename to src/resources/xpbar_inc058.png diff --git a/mcMMO/xpbar_inc059.png b/src/resources/xpbar_inc059.png similarity index 100% rename from mcMMO/xpbar_inc059.png rename to src/resources/xpbar_inc059.png diff --git a/mcMMO/xpbar_inc060.png b/src/resources/xpbar_inc060.png similarity index 100% rename from mcMMO/xpbar_inc060.png rename to src/resources/xpbar_inc060.png diff --git a/mcMMO/xpbar_inc061.png b/src/resources/xpbar_inc061.png similarity index 100% rename from mcMMO/xpbar_inc061.png rename to src/resources/xpbar_inc061.png diff --git a/mcMMO/xpbar_inc062.png b/src/resources/xpbar_inc062.png similarity index 100% rename from mcMMO/xpbar_inc062.png rename to src/resources/xpbar_inc062.png diff --git a/mcMMO/xpbar_inc063.png b/src/resources/xpbar_inc063.png similarity index 100% rename from mcMMO/xpbar_inc063.png rename to src/resources/xpbar_inc063.png diff --git a/mcMMO/xpbar_inc064.png b/src/resources/xpbar_inc064.png similarity index 100% rename from mcMMO/xpbar_inc064.png rename to src/resources/xpbar_inc064.png diff --git a/mcMMO/xpbar_inc065.png b/src/resources/xpbar_inc065.png similarity index 100% rename from mcMMO/xpbar_inc065.png rename to src/resources/xpbar_inc065.png diff --git a/mcMMO/xpbar_inc066.png b/src/resources/xpbar_inc066.png similarity index 100% rename from mcMMO/xpbar_inc066.png rename to src/resources/xpbar_inc066.png diff --git a/mcMMO/xpbar_inc067.png b/src/resources/xpbar_inc067.png similarity index 100% rename from mcMMO/xpbar_inc067.png rename to src/resources/xpbar_inc067.png diff --git a/mcMMO/xpbar_inc068.png b/src/resources/xpbar_inc068.png similarity index 100% rename from mcMMO/xpbar_inc068.png rename to src/resources/xpbar_inc068.png diff --git a/mcMMO/xpbar_inc069.png b/src/resources/xpbar_inc069.png similarity index 100% rename from mcMMO/xpbar_inc069.png rename to src/resources/xpbar_inc069.png diff --git a/mcMMO/xpbar_inc070.png b/src/resources/xpbar_inc070.png similarity index 100% rename from mcMMO/xpbar_inc070.png rename to src/resources/xpbar_inc070.png diff --git a/mcMMO/xpbar_inc071.png b/src/resources/xpbar_inc071.png similarity index 100% rename from mcMMO/xpbar_inc071.png rename to src/resources/xpbar_inc071.png diff --git a/mcMMO/xpbar_inc072.png b/src/resources/xpbar_inc072.png similarity index 100% rename from mcMMO/xpbar_inc072.png rename to src/resources/xpbar_inc072.png diff --git a/mcMMO/xpbar_inc073.png b/src/resources/xpbar_inc073.png similarity index 100% rename from mcMMO/xpbar_inc073.png rename to src/resources/xpbar_inc073.png diff --git a/mcMMO/xpbar_inc074.png b/src/resources/xpbar_inc074.png similarity index 100% rename from mcMMO/xpbar_inc074.png rename to src/resources/xpbar_inc074.png diff --git a/mcMMO/xpbar_inc075.png b/src/resources/xpbar_inc075.png similarity index 100% rename from mcMMO/xpbar_inc075.png rename to src/resources/xpbar_inc075.png diff --git a/mcMMO/xpbar_inc076.png b/src/resources/xpbar_inc076.png similarity index 100% rename from mcMMO/xpbar_inc076.png rename to src/resources/xpbar_inc076.png diff --git a/mcMMO/xpbar_inc077.png b/src/resources/xpbar_inc077.png similarity index 100% rename from mcMMO/xpbar_inc077.png rename to src/resources/xpbar_inc077.png diff --git a/mcMMO/xpbar_inc078.png b/src/resources/xpbar_inc078.png similarity index 100% rename from mcMMO/xpbar_inc078.png rename to src/resources/xpbar_inc078.png diff --git a/mcMMO/xpbar_inc079.png b/src/resources/xpbar_inc079.png similarity index 100% rename from mcMMO/xpbar_inc079.png rename to src/resources/xpbar_inc079.png diff --git a/mcMMO/xpbar_inc080.png b/src/resources/xpbar_inc080.png similarity index 100% rename from mcMMO/xpbar_inc080.png rename to src/resources/xpbar_inc080.png diff --git a/mcMMO/xpbar_inc081.png b/src/resources/xpbar_inc081.png similarity index 100% rename from mcMMO/xpbar_inc081.png rename to src/resources/xpbar_inc081.png diff --git a/mcMMO/xpbar_inc082.png b/src/resources/xpbar_inc082.png similarity index 100% rename from mcMMO/xpbar_inc082.png rename to src/resources/xpbar_inc082.png diff --git a/mcMMO/xpbar_inc083.png b/src/resources/xpbar_inc083.png similarity index 100% rename from mcMMO/xpbar_inc083.png rename to src/resources/xpbar_inc083.png diff --git a/mcMMO/xpbar_inc084.png b/src/resources/xpbar_inc084.png similarity index 100% rename from mcMMO/xpbar_inc084.png rename to src/resources/xpbar_inc084.png diff --git a/mcMMO/xpbar_inc085.png b/src/resources/xpbar_inc085.png similarity index 100% rename from mcMMO/xpbar_inc085.png rename to src/resources/xpbar_inc085.png diff --git a/mcMMO/xpbar_inc086.png b/src/resources/xpbar_inc086.png similarity index 100% rename from mcMMO/xpbar_inc086.png rename to src/resources/xpbar_inc086.png diff --git a/mcMMO/xpbar_inc087.png b/src/resources/xpbar_inc087.png similarity index 100% rename from mcMMO/xpbar_inc087.png rename to src/resources/xpbar_inc087.png diff --git a/mcMMO/xpbar_inc088.png b/src/resources/xpbar_inc088.png similarity index 100% rename from mcMMO/xpbar_inc088.png rename to src/resources/xpbar_inc088.png diff --git a/mcMMO/xpbar_inc089.png b/src/resources/xpbar_inc089.png similarity index 100% rename from mcMMO/xpbar_inc089.png rename to src/resources/xpbar_inc089.png diff --git a/mcMMO/xpbar_inc090.png b/src/resources/xpbar_inc090.png similarity index 100% rename from mcMMO/xpbar_inc090.png rename to src/resources/xpbar_inc090.png diff --git a/mcMMO/xpbar_inc091.png b/src/resources/xpbar_inc091.png similarity index 100% rename from mcMMO/xpbar_inc091.png rename to src/resources/xpbar_inc091.png diff --git a/mcMMO/xpbar_inc092.png b/src/resources/xpbar_inc092.png similarity index 100% rename from mcMMO/xpbar_inc092.png rename to src/resources/xpbar_inc092.png diff --git a/mcMMO/xpbar_inc093.png b/src/resources/xpbar_inc093.png similarity index 100% rename from mcMMO/xpbar_inc093.png rename to src/resources/xpbar_inc093.png diff --git a/mcMMO/xpbar_inc094.png b/src/resources/xpbar_inc094.png similarity index 100% rename from mcMMO/xpbar_inc094.png rename to src/resources/xpbar_inc094.png diff --git a/mcMMO/xpbar_inc095.png b/src/resources/xpbar_inc095.png similarity index 100% rename from mcMMO/xpbar_inc095.png rename to src/resources/xpbar_inc095.png diff --git a/mcMMO/xpbar_inc096.png b/src/resources/xpbar_inc096.png similarity index 100% rename from mcMMO/xpbar_inc096.png rename to src/resources/xpbar_inc096.png diff --git a/mcMMO/xpbar_inc097.png b/src/resources/xpbar_inc097.png similarity index 100% rename from mcMMO/xpbar_inc097.png rename to src/resources/xpbar_inc097.png diff --git a/mcMMO/xpbar_inc098.png b/src/resources/xpbar_inc098.png similarity index 100% rename from mcMMO/xpbar_inc098.png rename to src/resources/xpbar_inc098.png diff --git a/mcMMO/xpbar_inc099.png b/src/resources/xpbar_inc099.png similarity index 100% rename from mcMMO/xpbar_inc099.png rename to src/resources/xpbar_inc099.png diff --git a/mcMMO/xpbar_inc100.png b/src/resources/xpbar_inc100.png similarity index 100% rename from mcMMO/xpbar_inc100.png rename to src/resources/xpbar_inc100.png diff --git a/mcMMO/xpbar_inc101.png b/src/resources/xpbar_inc101.png similarity index 100% rename from mcMMO/xpbar_inc101.png rename to src/resources/xpbar_inc101.png diff --git a/mcMMO/xpbar_inc102.png b/src/resources/xpbar_inc102.png similarity index 100% rename from mcMMO/xpbar_inc102.png rename to src/resources/xpbar_inc102.png diff --git a/mcMMO/xpbar_inc103.png b/src/resources/xpbar_inc103.png similarity index 100% rename from mcMMO/xpbar_inc103.png rename to src/resources/xpbar_inc103.png diff --git a/mcMMO/xpbar_inc104.png b/src/resources/xpbar_inc104.png similarity index 100% rename from mcMMO/xpbar_inc104.png rename to src/resources/xpbar_inc104.png diff --git a/mcMMO/xpbar_inc105.png b/src/resources/xpbar_inc105.png similarity index 100% rename from mcMMO/xpbar_inc105.png rename to src/resources/xpbar_inc105.png diff --git a/mcMMO/xpbar_inc106.png b/src/resources/xpbar_inc106.png similarity index 100% rename from mcMMO/xpbar_inc106.png rename to src/resources/xpbar_inc106.png diff --git a/mcMMO/xpbar_inc107.png b/src/resources/xpbar_inc107.png similarity index 100% rename from mcMMO/xpbar_inc107.png rename to src/resources/xpbar_inc107.png diff --git a/mcMMO/xpbar_inc108.png b/src/resources/xpbar_inc108.png similarity index 100% rename from mcMMO/xpbar_inc108.png rename to src/resources/xpbar_inc108.png diff --git a/mcMMO/xpbar_inc109.png b/src/resources/xpbar_inc109.png similarity index 100% rename from mcMMO/xpbar_inc109.png rename to src/resources/xpbar_inc109.png diff --git a/mcMMO/xpbar_inc110.png b/src/resources/xpbar_inc110.png similarity index 100% rename from mcMMO/xpbar_inc110.png rename to src/resources/xpbar_inc110.png diff --git a/mcMMO/xpbar_inc111.png b/src/resources/xpbar_inc111.png similarity index 100% rename from mcMMO/xpbar_inc111.png rename to src/resources/xpbar_inc111.png diff --git a/mcMMO/xpbar_inc112.png b/src/resources/xpbar_inc112.png similarity index 100% rename from mcMMO/xpbar_inc112.png rename to src/resources/xpbar_inc112.png diff --git a/mcMMO/xpbar_inc113.png b/src/resources/xpbar_inc113.png similarity index 100% rename from mcMMO/xpbar_inc113.png rename to src/resources/xpbar_inc113.png diff --git a/mcMMO/xpbar_inc114.png b/src/resources/xpbar_inc114.png similarity index 100% rename from mcMMO/xpbar_inc114.png rename to src/resources/xpbar_inc114.png diff --git a/mcMMO/xpbar_inc115.png b/src/resources/xpbar_inc115.png similarity index 100% rename from mcMMO/xpbar_inc115.png rename to src/resources/xpbar_inc115.png diff --git a/mcMMO/xpbar_inc116.png b/src/resources/xpbar_inc116.png similarity index 100% rename from mcMMO/xpbar_inc116.png rename to src/resources/xpbar_inc116.png diff --git a/mcMMO/xpbar_inc117.png b/src/resources/xpbar_inc117.png similarity index 100% rename from mcMMO/xpbar_inc117.png rename to src/resources/xpbar_inc117.png diff --git a/mcMMO/xpbar_inc118.png b/src/resources/xpbar_inc118.png similarity index 100% rename from mcMMO/xpbar_inc118.png rename to src/resources/xpbar_inc118.png diff --git a/mcMMO/xpbar_inc119.png b/src/resources/xpbar_inc119.png similarity index 100% rename from mcMMO/xpbar_inc119.png rename to src/resources/xpbar_inc119.png diff --git a/mcMMO/xpbar_inc120.png b/src/resources/xpbar_inc120.png similarity index 100% rename from mcMMO/xpbar_inc120.png rename to src/resources/xpbar_inc120.png diff --git a/mcMMO/xpbar_inc121.png b/src/resources/xpbar_inc121.png similarity index 100% rename from mcMMO/xpbar_inc121.png rename to src/resources/xpbar_inc121.png diff --git a/mcMMO/xpbar_inc122.png b/src/resources/xpbar_inc122.png similarity index 100% rename from mcMMO/xpbar_inc122.png rename to src/resources/xpbar_inc122.png diff --git a/mcMMO/xpbar_inc123.png b/src/resources/xpbar_inc123.png similarity index 100% rename from mcMMO/xpbar_inc123.png rename to src/resources/xpbar_inc123.png diff --git a/mcMMO/xpbar_inc124.png b/src/resources/xpbar_inc124.png similarity index 100% rename from mcMMO/xpbar_inc124.png rename to src/resources/xpbar_inc124.png diff --git a/mcMMO/xpbar_inc125.png b/src/resources/xpbar_inc125.png similarity index 100% rename from mcMMO/xpbar_inc125.png rename to src/resources/xpbar_inc125.png diff --git a/mcMMO/xpbar_inc126.png b/src/resources/xpbar_inc126.png similarity index 100% rename from mcMMO/xpbar_inc126.png rename to src/resources/xpbar_inc126.png diff --git a/mcMMO/xpbar_inc127.png b/src/resources/xpbar_inc127.png similarity index 100% rename from mcMMO/xpbar_inc127.png rename to src/resources/xpbar_inc127.png diff --git a/mcMMO/xpbar_inc128.png b/src/resources/xpbar_inc128.png similarity index 100% rename from mcMMO/xpbar_inc128.png rename to src/resources/xpbar_inc128.png diff --git a/mcMMO/xpbar_inc129.png b/src/resources/xpbar_inc129.png similarity index 100% rename from mcMMO/xpbar_inc129.png rename to src/resources/xpbar_inc129.png diff --git a/mcMMO/xpbar_inc130.png b/src/resources/xpbar_inc130.png similarity index 100% rename from mcMMO/xpbar_inc130.png rename to src/resources/xpbar_inc130.png diff --git a/mcMMO/xpbar_inc131.png b/src/resources/xpbar_inc131.png similarity index 100% rename from mcMMO/xpbar_inc131.png rename to src/resources/xpbar_inc131.png diff --git a/mcMMO/xpbar_inc132.png b/src/resources/xpbar_inc132.png similarity index 100% rename from mcMMO/xpbar_inc132.png rename to src/resources/xpbar_inc132.png diff --git a/mcMMO/xpbar_inc133.png b/src/resources/xpbar_inc133.png similarity index 100% rename from mcMMO/xpbar_inc133.png rename to src/resources/xpbar_inc133.png diff --git a/mcMMO/xpbar_inc134.png b/src/resources/xpbar_inc134.png similarity index 100% rename from mcMMO/xpbar_inc134.png rename to src/resources/xpbar_inc134.png diff --git a/mcMMO/xpbar_inc135.png b/src/resources/xpbar_inc135.png similarity index 100% rename from mcMMO/xpbar_inc135.png rename to src/resources/xpbar_inc135.png diff --git a/mcMMO/xpbar_inc136.png b/src/resources/xpbar_inc136.png similarity index 100% rename from mcMMO/xpbar_inc136.png rename to src/resources/xpbar_inc136.png diff --git a/mcMMO/xpbar_inc137.png b/src/resources/xpbar_inc137.png similarity index 100% rename from mcMMO/xpbar_inc137.png rename to src/resources/xpbar_inc137.png diff --git a/mcMMO/xpbar_inc138.png b/src/resources/xpbar_inc138.png similarity index 100% rename from mcMMO/xpbar_inc138.png rename to src/resources/xpbar_inc138.png diff --git a/mcMMO/xpbar_inc139.png b/src/resources/xpbar_inc139.png similarity index 100% rename from mcMMO/xpbar_inc139.png rename to src/resources/xpbar_inc139.png diff --git a/mcMMO/xpbar_inc140.png b/src/resources/xpbar_inc140.png similarity index 100% rename from mcMMO/xpbar_inc140.png rename to src/resources/xpbar_inc140.png diff --git a/mcMMO/xpbar_inc141.png b/src/resources/xpbar_inc141.png similarity index 100% rename from mcMMO/xpbar_inc141.png rename to src/resources/xpbar_inc141.png diff --git a/mcMMO/xpbar_inc142.png b/src/resources/xpbar_inc142.png similarity index 100% rename from mcMMO/xpbar_inc142.png rename to src/resources/xpbar_inc142.png diff --git a/mcMMO/xpbar_inc143.png b/src/resources/xpbar_inc143.png similarity index 100% rename from mcMMO/xpbar_inc143.png rename to src/resources/xpbar_inc143.png diff --git a/mcMMO/xpbar_inc144.png b/src/resources/xpbar_inc144.png similarity index 100% rename from mcMMO/xpbar_inc144.png rename to src/resources/xpbar_inc144.png diff --git a/mcMMO/xpbar_inc145.png b/src/resources/xpbar_inc145.png similarity index 100% rename from mcMMO/xpbar_inc145.png rename to src/resources/xpbar_inc145.png diff --git a/mcMMO/xpbar_inc146.png b/src/resources/xpbar_inc146.png similarity index 100% rename from mcMMO/xpbar_inc146.png rename to src/resources/xpbar_inc146.png diff --git a/mcMMO/xpbar_inc147.png b/src/resources/xpbar_inc147.png similarity index 100% rename from mcMMO/xpbar_inc147.png rename to src/resources/xpbar_inc147.png diff --git a/mcMMO/xpbar_inc148.png b/src/resources/xpbar_inc148.png similarity index 100% rename from mcMMO/xpbar_inc148.png rename to src/resources/xpbar_inc148.png diff --git a/mcMMO/xpbar_inc149.png b/src/resources/xpbar_inc149.png similarity index 100% rename from mcMMO/xpbar_inc149.png rename to src/resources/xpbar_inc149.png diff --git a/mcMMO/xpbar_inc150.png b/src/resources/xpbar_inc150.png similarity index 100% rename from mcMMO/xpbar_inc150.png rename to src/resources/xpbar_inc150.png diff --git a/mcMMO/xpbar_inc151.png b/src/resources/xpbar_inc151.png similarity index 100% rename from mcMMO/xpbar_inc151.png rename to src/resources/xpbar_inc151.png diff --git a/mcMMO/xpbar_inc152.png b/src/resources/xpbar_inc152.png similarity index 100% rename from mcMMO/xpbar_inc152.png rename to src/resources/xpbar_inc152.png diff --git a/mcMMO/xpbar_inc153.png b/src/resources/xpbar_inc153.png similarity index 100% rename from mcMMO/xpbar_inc153.png rename to src/resources/xpbar_inc153.png diff --git a/mcMMO/xpbar_inc154.png b/src/resources/xpbar_inc154.png similarity index 100% rename from mcMMO/xpbar_inc154.png rename to src/resources/xpbar_inc154.png diff --git a/mcMMO/xpbar_inc155.png b/src/resources/xpbar_inc155.png similarity index 100% rename from mcMMO/xpbar_inc155.png rename to src/resources/xpbar_inc155.png diff --git a/mcMMO/xpbar_inc156.png b/src/resources/xpbar_inc156.png similarity index 100% rename from mcMMO/xpbar_inc156.png rename to src/resources/xpbar_inc156.png diff --git a/mcMMO/xpbar_inc157.png b/src/resources/xpbar_inc157.png similarity index 100% rename from mcMMO/xpbar_inc157.png rename to src/resources/xpbar_inc157.png diff --git a/mcMMO/xpbar_inc158.png b/src/resources/xpbar_inc158.png similarity index 100% rename from mcMMO/xpbar_inc158.png rename to src/resources/xpbar_inc158.png diff --git a/mcMMO/xpbar_inc159.png b/src/resources/xpbar_inc159.png similarity index 100% rename from mcMMO/xpbar_inc159.png rename to src/resources/xpbar_inc159.png diff --git a/mcMMO/xpbar_inc160.png b/src/resources/xpbar_inc160.png similarity index 100% rename from mcMMO/xpbar_inc160.png rename to src/resources/xpbar_inc160.png diff --git a/mcMMO/xpbar_inc161.png b/src/resources/xpbar_inc161.png similarity index 100% rename from mcMMO/xpbar_inc161.png rename to src/resources/xpbar_inc161.png diff --git a/mcMMO/xpbar_inc162.png b/src/resources/xpbar_inc162.png similarity index 100% rename from mcMMO/xpbar_inc162.png rename to src/resources/xpbar_inc162.png diff --git a/mcMMO/xpbar_inc163.png b/src/resources/xpbar_inc163.png similarity index 100% rename from mcMMO/xpbar_inc163.png rename to src/resources/xpbar_inc163.png diff --git a/mcMMO/xpbar_inc164.png b/src/resources/xpbar_inc164.png similarity index 100% rename from mcMMO/xpbar_inc164.png rename to src/resources/xpbar_inc164.png diff --git a/mcMMO/xpbar_inc165.png b/src/resources/xpbar_inc165.png similarity index 100% rename from mcMMO/xpbar_inc165.png rename to src/resources/xpbar_inc165.png diff --git a/mcMMO/xpbar_inc166.png b/src/resources/xpbar_inc166.png similarity index 100% rename from mcMMO/xpbar_inc166.png rename to src/resources/xpbar_inc166.png diff --git a/mcMMO/xpbar_inc167.png b/src/resources/xpbar_inc167.png similarity index 100% rename from mcMMO/xpbar_inc167.png rename to src/resources/xpbar_inc167.png diff --git a/mcMMO/xpbar_inc168.png b/src/resources/xpbar_inc168.png similarity index 100% rename from mcMMO/xpbar_inc168.png rename to src/resources/xpbar_inc168.png diff --git a/mcMMO/xpbar_inc169.png b/src/resources/xpbar_inc169.png similarity index 100% rename from mcMMO/xpbar_inc169.png rename to src/resources/xpbar_inc169.png diff --git a/mcMMO/xpbar_inc170.png b/src/resources/xpbar_inc170.png similarity index 100% rename from mcMMO/xpbar_inc170.png rename to src/resources/xpbar_inc170.png diff --git a/mcMMO/xpbar_inc171.png b/src/resources/xpbar_inc171.png similarity index 100% rename from mcMMO/xpbar_inc171.png rename to src/resources/xpbar_inc171.png diff --git a/mcMMO/xpbar_inc172.png b/src/resources/xpbar_inc172.png similarity index 100% rename from mcMMO/xpbar_inc172.png rename to src/resources/xpbar_inc172.png diff --git a/mcMMO/xpbar_inc173.png b/src/resources/xpbar_inc173.png similarity index 100% rename from mcMMO/xpbar_inc173.png rename to src/resources/xpbar_inc173.png diff --git a/mcMMO/xpbar_inc174.png b/src/resources/xpbar_inc174.png similarity index 100% rename from mcMMO/xpbar_inc174.png rename to src/resources/xpbar_inc174.png diff --git a/mcMMO/xpbar_inc175.png b/src/resources/xpbar_inc175.png similarity index 100% rename from mcMMO/xpbar_inc175.png rename to src/resources/xpbar_inc175.png diff --git a/mcMMO/xpbar_inc176.png b/src/resources/xpbar_inc176.png similarity index 100% rename from mcMMO/xpbar_inc176.png rename to src/resources/xpbar_inc176.png diff --git a/mcMMO/xpbar_inc177.png b/src/resources/xpbar_inc177.png similarity index 100% rename from mcMMO/xpbar_inc177.png rename to src/resources/xpbar_inc177.png diff --git a/mcMMO/xpbar_inc178.png b/src/resources/xpbar_inc178.png similarity index 100% rename from mcMMO/xpbar_inc178.png rename to src/resources/xpbar_inc178.png diff --git a/mcMMO/xpbar_inc179.png b/src/resources/xpbar_inc179.png similarity index 100% rename from mcMMO/xpbar_inc179.png rename to src/resources/xpbar_inc179.png diff --git a/mcMMO/xpbar_inc180.png b/src/resources/xpbar_inc180.png similarity index 100% rename from mcMMO/xpbar_inc180.png rename to src/resources/xpbar_inc180.png diff --git a/mcMMO/xpbar_inc181.png b/src/resources/xpbar_inc181.png similarity index 100% rename from mcMMO/xpbar_inc181.png rename to src/resources/xpbar_inc181.png diff --git a/mcMMO/xpbar_inc182.png b/src/resources/xpbar_inc182.png similarity index 100% rename from mcMMO/xpbar_inc182.png rename to src/resources/xpbar_inc182.png diff --git a/mcMMO/xpbar_inc183.png b/src/resources/xpbar_inc183.png similarity index 100% rename from mcMMO/xpbar_inc183.png rename to src/resources/xpbar_inc183.png diff --git a/mcMMO/xpbar_inc184.png b/src/resources/xpbar_inc184.png similarity index 100% rename from mcMMO/xpbar_inc184.png rename to src/resources/xpbar_inc184.png diff --git a/mcMMO/xpbar_inc185.png b/src/resources/xpbar_inc185.png similarity index 100% rename from mcMMO/xpbar_inc185.png rename to src/resources/xpbar_inc185.png diff --git a/mcMMO/xpbar_inc186.png b/src/resources/xpbar_inc186.png similarity index 100% rename from mcMMO/xpbar_inc186.png rename to src/resources/xpbar_inc186.png diff --git a/mcMMO/xpbar_inc187.png b/src/resources/xpbar_inc187.png similarity index 100% rename from mcMMO/xpbar_inc187.png rename to src/resources/xpbar_inc187.png diff --git a/mcMMO/xpbar_inc188.png b/src/resources/xpbar_inc188.png similarity index 100% rename from mcMMO/xpbar_inc188.png rename to src/resources/xpbar_inc188.png diff --git a/mcMMO/xpbar_inc189.png b/src/resources/xpbar_inc189.png similarity index 100% rename from mcMMO/xpbar_inc189.png rename to src/resources/xpbar_inc189.png diff --git a/mcMMO/xpbar_inc190.png b/src/resources/xpbar_inc190.png similarity index 100% rename from mcMMO/xpbar_inc190.png rename to src/resources/xpbar_inc190.png diff --git a/mcMMO/xpbar_inc191.png b/src/resources/xpbar_inc191.png similarity index 100% rename from mcMMO/xpbar_inc191.png rename to src/resources/xpbar_inc191.png diff --git a/mcMMO/xpbar_inc192.png b/src/resources/xpbar_inc192.png similarity index 100% rename from mcMMO/xpbar_inc192.png rename to src/resources/xpbar_inc192.png diff --git a/mcMMO/xpbar_inc193.png b/src/resources/xpbar_inc193.png similarity index 100% rename from mcMMO/xpbar_inc193.png rename to src/resources/xpbar_inc193.png diff --git a/mcMMO/xpbar_inc194.png b/src/resources/xpbar_inc194.png similarity index 100% rename from mcMMO/xpbar_inc194.png rename to src/resources/xpbar_inc194.png diff --git a/mcMMO/xpbar_inc195.png b/src/resources/xpbar_inc195.png similarity index 100% rename from mcMMO/xpbar_inc195.png rename to src/resources/xpbar_inc195.png diff --git a/mcMMO/xpbar_inc196.png b/src/resources/xpbar_inc196.png similarity index 100% rename from mcMMO/xpbar_inc196.png rename to src/resources/xpbar_inc196.png diff --git a/mcMMO/xpbar_inc197.png b/src/resources/xpbar_inc197.png similarity index 100% rename from mcMMO/xpbar_inc197.png rename to src/resources/xpbar_inc197.png diff --git a/mcMMO/xpbar_inc198.png b/src/resources/xpbar_inc198.png similarity index 100% rename from mcMMO/xpbar_inc198.png rename to src/resources/xpbar_inc198.png diff --git a/mcMMO/xpbar_inc199.png b/src/resources/xpbar_inc199.png similarity index 100% rename from mcMMO/xpbar_inc199.png rename to src/resources/xpbar_inc199.png diff --git a/mcMMO/xpbar_inc200.png b/src/resources/xpbar_inc200.png similarity index 100% rename from mcMMO/xpbar_inc200.png rename to src/resources/xpbar_inc200.png diff --git a/mcMMO/xpbar_inc201.png b/src/resources/xpbar_inc201.png similarity index 100% rename from mcMMO/xpbar_inc201.png rename to src/resources/xpbar_inc201.png diff --git a/mcMMO/xpbar_inc202.png b/src/resources/xpbar_inc202.png similarity index 100% rename from mcMMO/xpbar_inc202.png rename to src/resources/xpbar_inc202.png diff --git a/mcMMO/xpbar_inc203.png b/src/resources/xpbar_inc203.png similarity index 100% rename from mcMMO/xpbar_inc203.png rename to src/resources/xpbar_inc203.png diff --git a/mcMMO/xpbar_inc204.png b/src/resources/xpbar_inc204.png similarity index 100% rename from mcMMO/xpbar_inc204.png rename to src/resources/xpbar_inc204.png diff --git a/mcMMO/xpbar_inc205.png b/src/resources/xpbar_inc205.png similarity index 100% rename from mcMMO/xpbar_inc205.png rename to src/resources/xpbar_inc205.png diff --git a/mcMMO/xpbar_inc206.png b/src/resources/xpbar_inc206.png similarity index 100% rename from mcMMO/xpbar_inc206.png rename to src/resources/xpbar_inc206.png diff --git a/mcMMO/xpbar_inc207.png b/src/resources/xpbar_inc207.png similarity index 100% rename from mcMMO/xpbar_inc207.png rename to src/resources/xpbar_inc207.png diff --git a/mcMMO/xpbar_inc208.png b/src/resources/xpbar_inc208.png similarity index 100% rename from mcMMO/xpbar_inc208.png rename to src/resources/xpbar_inc208.png diff --git a/mcMMO/xpbar_inc209.png b/src/resources/xpbar_inc209.png similarity index 100% rename from mcMMO/xpbar_inc209.png rename to src/resources/xpbar_inc209.png diff --git a/mcMMO/xpbar_inc210.png b/src/resources/xpbar_inc210.png similarity index 100% rename from mcMMO/xpbar_inc210.png rename to src/resources/xpbar_inc210.png diff --git a/mcMMO/xpbar_inc211.png b/src/resources/xpbar_inc211.png similarity index 100% rename from mcMMO/xpbar_inc211.png rename to src/resources/xpbar_inc211.png diff --git a/mcMMO/xpbar_inc212.png b/src/resources/xpbar_inc212.png similarity index 100% rename from mcMMO/xpbar_inc212.png rename to src/resources/xpbar_inc212.png diff --git a/mcMMO/xpbar_inc213.png b/src/resources/xpbar_inc213.png similarity index 100% rename from mcMMO/xpbar_inc213.png rename to src/resources/xpbar_inc213.png diff --git a/mcMMO/xpbar_inc214.png b/src/resources/xpbar_inc214.png similarity index 100% rename from mcMMO/xpbar_inc214.png rename to src/resources/xpbar_inc214.png diff --git a/mcMMO/xpbar_inc215.png b/src/resources/xpbar_inc215.png similarity index 100% rename from mcMMO/xpbar_inc215.png rename to src/resources/xpbar_inc215.png diff --git a/mcMMO/xpbar_inc216.png b/src/resources/xpbar_inc216.png similarity index 100% rename from mcMMO/xpbar_inc216.png rename to src/resources/xpbar_inc216.png diff --git a/mcMMO/xpbar_inc217.png b/src/resources/xpbar_inc217.png similarity index 100% rename from mcMMO/xpbar_inc217.png rename to src/resources/xpbar_inc217.png diff --git a/mcMMO/xpbar_inc218.png b/src/resources/xpbar_inc218.png similarity index 100% rename from mcMMO/xpbar_inc218.png rename to src/resources/xpbar_inc218.png diff --git a/mcMMO/xpbar_inc219.png b/src/resources/xpbar_inc219.png similarity index 100% rename from mcMMO/xpbar_inc219.png rename to src/resources/xpbar_inc219.png diff --git a/mcMMO/xpbar_inc220.png b/src/resources/xpbar_inc220.png similarity index 100% rename from mcMMO/xpbar_inc220.png rename to src/resources/xpbar_inc220.png diff --git a/mcMMO/xpbar_inc221.png b/src/resources/xpbar_inc221.png similarity index 100% rename from mcMMO/xpbar_inc221.png rename to src/resources/xpbar_inc221.png diff --git a/mcMMO/xpbar_inc222.png b/src/resources/xpbar_inc222.png similarity index 100% rename from mcMMO/xpbar_inc222.png rename to src/resources/xpbar_inc222.png diff --git a/mcMMO/xpbar_inc223.png b/src/resources/xpbar_inc223.png similarity index 100% rename from mcMMO/xpbar_inc223.png rename to src/resources/xpbar_inc223.png diff --git a/mcMMO/xpbar_inc224.png b/src/resources/xpbar_inc224.png similarity index 100% rename from mcMMO/xpbar_inc224.png rename to src/resources/xpbar_inc224.png diff --git a/mcMMO/xpbar_inc225.png b/src/resources/xpbar_inc225.png similarity index 100% rename from mcMMO/xpbar_inc225.png rename to src/resources/xpbar_inc225.png diff --git a/mcMMO/xpbar_inc226.png b/src/resources/xpbar_inc226.png similarity index 100% rename from mcMMO/xpbar_inc226.png rename to src/resources/xpbar_inc226.png diff --git a/mcMMO/xpbar_inc227.png b/src/resources/xpbar_inc227.png similarity index 100% rename from mcMMO/xpbar_inc227.png rename to src/resources/xpbar_inc227.png diff --git a/mcMMO/xpbar_inc228.png b/src/resources/xpbar_inc228.png similarity index 100% rename from mcMMO/xpbar_inc228.png rename to src/resources/xpbar_inc228.png diff --git a/mcMMO/xpbar_inc229.png b/src/resources/xpbar_inc229.png similarity index 100% rename from mcMMO/xpbar_inc229.png rename to src/resources/xpbar_inc229.png diff --git a/mcMMO/xpbar_inc230.png b/src/resources/xpbar_inc230.png similarity index 100% rename from mcMMO/xpbar_inc230.png rename to src/resources/xpbar_inc230.png diff --git a/mcMMO/xpbar_inc231.png b/src/resources/xpbar_inc231.png similarity index 100% rename from mcMMO/xpbar_inc231.png rename to src/resources/xpbar_inc231.png diff --git a/mcMMO/xpbar_inc232.png b/src/resources/xpbar_inc232.png similarity index 100% rename from mcMMO/xpbar_inc232.png rename to src/resources/xpbar_inc232.png diff --git a/mcMMO/xpbar_inc233.png b/src/resources/xpbar_inc233.png similarity index 100% rename from mcMMO/xpbar_inc233.png rename to src/resources/xpbar_inc233.png diff --git a/mcMMO/xpbar_inc234.png b/src/resources/xpbar_inc234.png similarity index 100% rename from mcMMO/xpbar_inc234.png rename to src/resources/xpbar_inc234.png diff --git a/mcMMO/xpbar_inc235.png b/src/resources/xpbar_inc235.png similarity index 100% rename from mcMMO/xpbar_inc235.png rename to src/resources/xpbar_inc235.png diff --git a/mcMMO/xpbar_inc236.png b/src/resources/xpbar_inc236.png similarity index 100% rename from mcMMO/xpbar_inc236.png rename to src/resources/xpbar_inc236.png diff --git a/mcMMO/xpbar_inc237.png b/src/resources/xpbar_inc237.png similarity index 100% rename from mcMMO/xpbar_inc237.png rename to src/resources/xpbar_inc237.png diff --git a/mcMMO/xpbar_inc238.png b/src/resources/xpbar_inc238.png similarity index 100% rename from mcMMO/xpbar_inc238.png rename to src/resources/xpbar_inc238.png diff --git a/mcMMO/xpbar_inc239.png b/src/resources/xpbar_inc239.png similarity index 100% rename from mcMMO/xpbar_inc239.png rename to src/resources/xpbar_inc239.png diff --git a/mcMMO/xpbar_inc240.png b/src/resources/xpbar_inc240.png similarity index 100% rename from mcMMO/xpbar_inc240.png rename to src/resources/xpbar_inc240.png diff --git a/mcMMO/xpbar_inc241.png b/src/resources/xpbar_inc241.png similarity index 100% rename from mcMMO/xpbar_inc241.png rename to src/resources/xpbar_inc241.png diff --git a/mcMMO/xpbar_inc242.png b/src/resources/xpbar_inc242.png similarity index 100% rename from mcMMO/xpbar_inc242.png rename to src/resources/xpbar_inc242.png diff --git a/mcMMO/xpbar_inc243.png b/src/resources/xpbar_inc243.png similarity index 100% rename from mcMMO/xpbar_inc243.png rename to src/resources/xpbar_inc243.png diff --git a/mcMMO/xpbar_inc244.png b/src/resources/xpbar_inc244.png similarity index 100% rename from mcMMO/xpbar_inc244.png rename to src/resources/xpbar_inc244.png diff --git a/mcMMO/xpbar_inc245.png b/src/resources/xpbar_inc245.png similarity index 100% rename from mcMMO/xpbar_inc245.png rename to src/resources/xpbar_inc245.png diff --git a/mcMMO/xpbar_inc246.png b/src/resources/xpbar_inc246.png similarity index 100% rename from mcMMO/xpbar_inc246.png rename to src/resources/xpbar_inc246.png diff --git a/mcMMO/xpbar_inc247.png b/src/resources/xpbar_inc247.png similarity index 100% rename from mcMMO/xpbar_inc247.png rename to src/resources/xpbar_inc247.png diff --git a/mcMMO/xpbar_inc248.png b/src/resources/xpbar_inc248.png similarity index 100% rename from mcMMO/xpbar_inc248.png rename to src/resources/xpbar_inc248.png diff --git a/mcMMO/xpbar_inc249.png b/src/resources/xpbar_inc249.png similarity index 100% rename from mcMMO/xpbar_inc249.png rename to src/resources/xpbar_inc249.png diff --git a/mcMMO/xpbar_inc250.png b/src/resources/xpbar_inc250.png similarity index 100% rename from mcMMO/xpbar_inc250.png rename to src/resources/xpbar_inc250.png diff --git a/mcMMO/xpbar_inc251.png b/src/resources/xpbar_inc251.png similarity index 100% rename from mcMMO/xpbar_inc251.png rename to src/resources/xpbar_inc251.png diff --git a/mcMMO/xpbar_inc252.png b/src/resources/xpbar_inc252.png similarity index 100% rename from mcMMO/xpbar_inc252.png rename to src/resources/xpbar_inc252.png diff --git a/mcMMO/xpbar_inc253.png b/src/resources/xpbar_inc253.png similarity index 100% rename from mcMMO/xpbar_inc253.png rename to src/resources/xpbar_inc253.png diff --git a/mcMMO/xpbar_inc254.png b/src/resources/xpbar_inc254.png similarity index 100% rename from mcMMO/xpbar_inc254.png rename to src/resources/xpbar_inc254.png