86 Commits

Author SHA1 Message Date
nossr50
4ba85aa444 optimizations 2024-11-03 14:22:14 -08:00
Robert Alan Chapton
971e5da0ad
Maces (#5035)
Add Maces skill
2024-06-30 15:10:29 -07:00
nossr50
d0ab2bdb2f clean up if/else formatting 2024-05-19 14:09:00 -07:00
nossr50
291effdbc8 if( -> if ( 2024-05-12 14:13:34 -07:00
nossr50
78558107b3 WIP 1.20.6 support 2024-05-02 06:28:20 -07:00
nossr50
1cac6b1165 2.2.006 2024-04-13 15:18:12 -07:00
nossr50
c0952a2ba3 Add support for hex color codes in locale 2024-04-13 12:58:52 -07:00
Robert Alan Chapton
2594dc1bca
Endgame Update (#4840)
General
Added Crossbows Skill, this skill is a WIP and feedback on discord is appreciated.
Added Tridents Skill, this skill is a WIP and feedback on discord is appreciated.
Added the "endgame" triple drop subskill 'Mother Lode' to Mining
Added the "endgame" triple drop subskill 'Clean Cuts' to Woodcutting
Added the "endgame" triple drop subskill 'Verdant Bounty' to Herbalism
Added /mmopower command which simply shows your power level (aliases /mmopowerlevel /powerlevel)

Config
Added 'Send_To_Console' settings to chat.yml to toggle sending party or admin chat messages to console.
Replaced 'Experience_Formula.Modifier' in experience.yml with 'Experience_Formula.Skill_Multiplier' which is easier to understand and less prone to divide by zero bugs.
child.yml config is gone now, feel free to delete it.

Tweaks
Tree Feller now drops 90% less non-wood block rewards (leaves/etc) on average from Knock on Wood.
Treasure drop rate from Shake, Fishing, Hylian, and Excavation now benefit from the Luck perk.
Updated advanced.yml with entries for the new skills

Permission nodes
Added 'mcmmo.commands.mmopower' permission node for the new /mmopower command
Added 'mcmmo.commands.crossbows' permission node
Added 'mcmmo.ability.crossbows.crossbowslimitbreak' permission node
Added 'mcmmo.ability.crossbows.trickshot' permission node
Added 'mcmmo.ability.herbalism.verdantbounty' permission node
Added 'mcmmo.ability.mining.motherlode' permission node
Added 'mcmmo.ability.woodcutting.cleancuts' permission node

Locale
Added locale entries for motherlode, cleancuts, and verdant bounty.

Codebase
Major rewrite for how random chance was handled in the code.
Many skills with RNG elements now send out a SubSkillEvent (which can be used to modify probability or cancel the results), some skills without RNG still send out this event when activated, this event is cancellable so it can be used to make a skill fail.
A lot of new unit tests were added to help keep mcMMO stable as part of this update, of course, more could always be added.

NOTES:
One feature of this update is to provide an endgame benefits to some skills that you can grind for a long time, ideally for a long while. I will likely expand upon this idea in future updates.
A few skills have these endgame-oriented subskills, these new subskills provide a small benefit at first that grows and scales up to level 10,000 (or 1,000 for Standard mode which no one uses) and does not have ranks (other than the initial rank to unlock it).
These endgame sub skills unlock at level 1000 for users with default mcMMO settings, or 100 for those using the optional Standard scaling.
You can tweak the benefits of these skills in advanced.yml, the default settings are meant to be a good starting point.

Crossbows and Tridents are WIP skills, I would like feedback on discord about them.

More info on the new Triple Drop skills (Mother Lode, Clean Cuts, Verdant Bounty):
Currently these start at about 5%  chance and can reach a maximum 50% chance if a player acquired 10,000 skill, you can adjust this in advanced.yml
These skills respect double drop settings from config.yml just like the corresponding Double Drop skills do, if a double drop is disabled for an item, then it's disabled for triple drops too.
I added a new Power Level Command, for now this just shows you your current power level. If I ever add features based on power level, this command will likely display output related to those features.

Regarding Maces, I will likely add that as a WIP skill when the next Minecraft update drops.
2024-03-30 06:09:59 -07:00
nossr50
3361d28887 Party system can now be disabled via config
Closes #4873
2024-02-19 17:55:57 -08:00
nossr50
8d27e8fccf 2.1.205 2021-11-14 09:33:27 -08:00
nossr50
d9e195f63a Add a newUser test 2021-04-13 15:22:21 -07:00
nossr50
f7339277f8 Add more tests, fix null name bug 2021-04-13 12:41:23 -07:00
nossr50
be44c0e417 Update SkillTools 2021-04-09 11:13:27 -07:00
nossr50
eec5feb2bf PrimarySkillType refactor and other refactors 2021-04-08 13:21:34 -07:00
nossr50
5080d86e44 Refactoring code part 1 to prep for adding a bunch of unit tests 2021-04-08 10:39:07 -07:00
nossr50
076d7a7f87 Remove hardcore and vampirism commands 2021-03-17 10:03:54 -07:00
nossr50
ba7b6826b4 2.1.170 - papi fix 2021-01-05 15:25:39 -08:00
nossr50
7931a095fe Add some tests for com.gmail.nossr50.util.random classes 2021-01-03 12:21:32 -08:00
nossr50
652a9519c1 Move fishing treasues to new file fishing_treasures.yml, replace Records rarity with Mythic, and allow for Enchanted_Book in the treasures list with new optional whitelist/blacklist parameters
read the changelog for information about this
2020-12-28 16:42:00 -08:00
nossr50
15578bb84e Some refactoring 2020-11-04 12:12:51 -08:00
nossr50
05f2763311 You can now silence mmoedit, addlevels, and addxp with -s 2020-10-27 11:03:47 -07:00
nossr50
749c83ac59 Complete rewrite of Admin & Party chat code
There are some API breaks as a result of these rewrites, I tried to keep it minimal, but I'm sure some plugins will need to update.
2020-10-26 16:31:02 -07:00
srbedrock
2eb924d433
Update CommandRegistrationManager.java 2020-07-26 22:04:43 -03:00
srbedrock
c97dc4181d
Update CommandRegistrationManager.java 2020-07-26 22:01:30 -03:00
nossr50
fdd951f1f1 Second Smelt makes use of its own section in Bonus Drops in config.yml
Co-authored-by: t00thpick1 <t00thpick1dirko@gmail.com>
2020-07-13 12:31:30 -07:00
nossr50
7eae59a0b3 Misc code fixes 2020-07-13 11:39:03 -07:00
nossr50
15e4dbfd92 Another oopsie 2020-05-05 19:32:22 -07:00
nossr50
9f455f5a0d Fix some locale errors 2020-05-05 19:23:55 -07:00
nossr50
666729cadc Localize more things 2020-04-27 19:13:24 -07:00
nossr50
2325c4eb6b New Command mmoxpbar 2020-04-27 19:01:40 -07:00
nossr50
5984230bf3 CompatibilityLayer framework 2020-04-24 20:21:21 -07:00
Shane Freeder
0ffcff53b3
Further address locale issues (Targets #4083) 2020-01-26 17:48:14 +00:00
Shrek5InTheatres2019
e27d299132 removing unnecessary code 2019-08-29 23:16:26 -07:00
Shrek5InTheatres2019
7cf40d9dbf Implementing request from issue #3918 2019-08-29 18:51:48 -07:00
nossr50
1307169d8b Debug Stick is now replaced by /mmodebug 2019-07-02 17:29:33 -07:00
nossr50
c6d604bbbc Inspect, Salvage, and Locale fixes 2019-06-21 08:05:57 -07:00
nossr50
38bc60ba86 Inspecting offline players no longer requires permissions + fixing
errors when using mcrank on an offline player
2019-06-17 08:19:15 -07:00
Mark Vainomaa
40ea101bf6 Add a command to reload locale 2019-04-30 21:19:55 +03:00
nossr50
33a68daa9c mcMMO now checks in all places for a loaded profile before executing processing on said profile 2019-04-12 15:17:05 -07:00
nossr50
f1fc095876 Removed the Kraken 2019-01-25 14:00:18 -08:00
nossr50
6ff13077be Mobhealth bars are no longer a per-player setting.
Removed the mobhealthbar command.
Removed the mobhealthbar permissions.
2019-01-23 15:39:04 -08:00
nossr50
95d60e646d Diminishing returns now has an optional minimum gains setting 2019-01-14 22:11:58 -08:00
nossr50
6f77bb206d Refactoring + adding a new skillranks config (not functional yet) 2019-01-12 23:54:53 -08:00
nossr50
a21b4585c5 Classic Scaling is now Retro Mode to avoid confusion 2019-01-12 22:14:23 -08:00
nossr50
d5a4103858 new mmoinfo command and JSON click events 2019-01-10 01:17:47 -08:00
nossr50
85e1f2eb7e mcchatspy is now a command based instead of permission node based 2019-01-03 01:26:08 -08:00
nossr50
0d260a74c9 Refactoring to make my life easier 2018-12-29 05:24:55 -08:00
Gio
2c6543da9e
More descriptive text. 2018-04-30 13:30:41 -05:00
Gio
20bbdfc4ab
Check playerdata for corruption
Fixed a null pointer exception that would occur if the offlinePlayer object did not have a defined string for .getName();
2018-04-30 12:54:35 -05:00
t00thpick1
dcd79e87e1 This command probably works 2016-04-23 00:32:04 -04:00