78 Commits

Author SHA1 Message Date
nossr50
4ba85aa444 optimizations 2024-11-03 14:22:14 -08:00
nossr50
9f7dbc23f6 fix failing test 2024-11-02 19:43:46 -07:00
nossr50
39b0e87b9a Move logic for config format into ConfigStringUtils 2024-11-02 19:39:06 -07:00
nossr50
ce18f3df97 major optimizations to getting xp values for specific blocks 2024-11-02 18:56:11 -07:00
nossr50
5cc97383fa Roll rework / refactor Fixes #5023 2024-09-14 14:21:48 -07:00
nossr50
e886a16388 Fixed probability bug Fixes #5055 Fixes #5054 2024-07-27 15:01:28 -07:00
Robert Alan Chapton
971e5da0ad
Maces (#5035)
Add Maces skill
2024-06-30 15:10:29 -07:00
nossr50
0708b0a6a2 some more refactoring 2024-05-24 13:30:17 -07:00
nossr50
6c1502fc67 refactoring 2024-05-24 13:07:45 -07:00
nossr50
9b09f06ad8 add more sensibly named API for grabbing the UserBlockTracker 2024-05-19 12:58:51 -07:00
nossr50
8b82163e3d update UserBlockTracker API 2024-05-19 12:44:34 -07:00
nossr50
c2054a5d45 2.2.012 fix for daze in 1.20.4 and older 2024-05-18 12:30:44 -07:00
nossr50
fc66c9f3fd 2.2.010 2024-05-15 16:06:16 -07:00
nossr50
8d2a08c421 fix REGEN potion not loading 2024-05-13 10:59:57 -07:00
nossr50
291effdbc8 if( -> if ( 2024-05-12 14:13:34 -07:00
nossr50
3ba6b93135 Fixed possible NPE in our events, and BrewingStands now remember who last interacted with them, this allows for hoppers to be used with Alchemy Fixes #5004 Fixes #4958 Fixes #4641 2024-05-12 14:09:51 -07:00
nossr50
fb0c8ec934 Fix potions not brewing as the correct type 2024-05-11 15:05:37 -07:00
nossr50
75561350c1 fix issues with Alchemy and older MC versions 2024-05-03 13:53:53 -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
nossr50
4d98d25215 Fix wiki links being outdated 2024-04-06 15:10:02 -07:00
nossr50
b6e512b09e fix probability being unbounded 2024-04-06 12:44:56 -07:00
nossr50
e509876658 fix xp multiplier not getting applied 2024-04-01 15:13:49 -07:00
nossr50
a047bca94c Fix crossbows not getting added to schema for some users 2024-03-31 14:28:14 -07:00
nossr50
2d79b364db Fix lastlogin value being too large for SQLDB 2024-03-31 13:54:57 -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
7da8c8c83a 2.1.231 2024-03-09 21:16:59 -08:00
nossr50
5ab55c1653 mcMMO will no longer use the DamageModifier API (potentially fix immortal player bug) 2022-03-17 19:58:42 -07:00
nossr50
c21a040ddb Huge changes to how config files are loaded/updated, fixes many issues
Fixes #4715
2022-01-10 22:29:22 -08:00
nossr50
dd550feb65 Update BlockTracker to use Spigot API directly instead of compatibility
layer
Fixes #4692 Fixes #4698
2021-12-27 11:09:27 -08:00
nossr50
11245e87ef squelch ChunkStoreTest log output 2021-12-11 20:57:25 -08:00
nossr50
8d27e8fccf 2.1.205 2021-11-14 09:33:27 -08:00
TheBusyBiscuit
2c849d9cb4
Added a Unit Test for mc version detection (#4560)
* Added a Unit Test for mc version detection

* Merge upstream and update server software string
2021-07-05 16:02:46 -07:00
TheBusyBiscuit
e35bfe758c
Update to Junit5 and allow for mcMMO to be compiled on Java 16 (#4552)
* Updated all unit tests to Junit5 and removed Powermock

* Some formatting

* I did not mean to commit this file

* Fixed file ending

* We don't need these extra dependencies

* Replaced delegate with Junit5 assertThrows

* Revert this change

* Re-add mockito-core

* A bit more refactoring

* Update surefire and remove failsafe

* Updated Mockito

* Add failsafe back

* Bump Mockito to 3.11.2

They literally just released that.
2021-06-21 09:21:55 -07:00
nossr50
7e28799f94 Fix SQL on 1.17 (hacky) and optimized CompatibilityManager 2021-06-15 14:19:30 -07:00
nossr50
0d2f370185 Update our dependencies to their latest versions (where possibly)
Also adds Guava as a dependency as version upgrading our dependencies resulted in the loss of the included Guava libraries
2021-04-23 15:08:57 -07:00
nossr50
e4b8b74987 Optimize imports 2021-04-23 10:37:22 -07:00
nossr50
9e7bb12dc3 Also avoid issues in this test by mocking instead of implementing an ever changing interface 2021-04-23 10:34:00 -07:00
nossr50
95c291d630 Avoid the pitfalls of implementing an everchanging interface from a SNAPSHOT 2021-04-23 10:30:26 -07:00
nossr50
a844f27093 Fix mistakes 2021-04-18 17:28:27 -07:00
nossr50
2c44590c52 world bounds tweak 2021-04-18 17:21:37 -07:00
nossr50
16f79b9fbc Locale override now uses a specific file instead of weird name matching 2021-04-16 13:50:41 -07:00
nossr50
04459f1ea7 Fix leaderboards & fix override locale bug
Fixes #4493 Fixes #4492
2021-04-16 09:55:44 -07:00
nossr50
8fdc611fb0 Add some code to a test to check for user names being updated 2021-04-15 14:48:24 -07:00
nossr50
48de5057a4 Fix another bug where usernames can be saved as null for FlatFileDB 2021-04-15 14:43:37 -07:00
nossr50
e42eeb1dc4 Fix FlatFile leaderboards not working in certain situations + added leaderboards unit test 2021-04-15 11:53:23 -07:00
nossr50
bb57e6d464 actually a radius now.. although not really 2021-04-14 16:38:19 -07:00
nossr50
700a7f4d35 Fix ArrayIndexOutOfBounds for certain events due to spigot API bug
Fixes #4488
2021-04-14 16:34:43 -07:00
nossr50
22b24b4774 JUnit 5 time 2021-04-13 17:25:56 -07:00