Commit Graph

3496 Commits

Author SHA1 Message Date
TfT_02
38cc7435dc Prevent strings from getting larger than 16 chars
Fixes #2314
2014-10-04 20:31:37 +02:00
TfT_02
864a760e9c Better like this 2014-10-04 14:16:38 +02:00
TfT_02
0838cbb874 Add option to not show ability names on scoreboard
Adds #2249
2014-10-04 14:05:30 +02:00
TfT_02
4844be80da Fixed bug with Salvage and ability tools
Fixes #2311
2014-10-04 01:36:57 +02:00
TfT-02
62a767db89 Add enable toggle and per skill thresholds 2014-09-28 11:43:17 +02:00
TfT_02
ce3463ad6d Cleanup 2014-09-28 11:34:50 +02:00
TfT_02
5d059d8537 Move SkillXpGain to datatypes/experience 2014-09-28 11:34:49 +02:00
riking
332860b9ce Use a DelayQueue to manage rolling diminished returns 2014-09-28 11:34:49 +02:00
TfT_02
2a443cd9db Diminished instead of Deminished 2014-09-28 11:34:49 +02:00
NuclearW
f4d1004d32 Rolling xp diminishing returns
This adds on top of the diminishing returns system a mechanic such that gains will expire the configured number of minutes after they occured, rather than all being reset at once.

This prevents someone from not getting diminishing returns on the xp gain they recieved just before the reset would have occured.

Obligatory explanatory graphs: http://i.imgur.com/uSzicIR.png
2014-09-28 11:34:49 +02:00
TfT_02
9d8aec7eca Add diminished returns when a player has earned too much XP
When a player reaches a certain (configurable) threshold value of total
XP earned in a specific skill, his earned XP in this skill will be
decreased.

Depending on how far the player has exceeded the threshold value, his
XP will decrease more. After the (configurable) time interval of 10
minutes, the registered data will be cleared and the player can earn XP
as normal again.
2014-09-28 11:34:49 +02:00
Ivo Julca
958c116fd0 Acrobatics: cap same-location fall counter for XP gain
It used to increase boundlessly, thus preventing players from gaining XP for a while even after moving to another place.
2014-09-28 11:19:41 +02:00
Bestle
ec1a125809 These are the wrong way round
The UUID's are the keys, not the names
2014-09-28 11:13:23 +02:00
TfT_02
2dd8e719c8 UUID support for parties 2014-09-28 11:13:23 +02:00
TfT_02
3c6dd290f4 Allow AdvancedSalvage unlock level 0
Fixes #2265
2014-09-06 20:23:41 +02:00
TfT_02
07e589aae3 Allow equal rank levels for Salvage
Fixes #2270
2014-09-06 19:59:26 +02:00
t00thpick1
1119d3c17f Actually fix flatfile player loading....
you lied to me @tft_02
2014-09-03 00:05:48 -04:00
TfT_02
eac5d1ee7a Improve auto mod config generator 2014-08-31 19:10:49 +02:00
TfT_02
56cb5c092f Should be this 2014-08-26 21:55:35 +02:00
Shevchik
9d7faf9ed9 Fix database loading data for wrong player
Fixes #2223
2014-08-24 15:25:56 -07:00
TfT_02
7da661546f Fixed bug where processing message would always get displayed
and the player could never execute /mctop or /mcrank if chat display
was disabled.
2014-08-24 09:21:40 -07:00
TfT_02
48d3280e5e Make sure that player has McMMOPlayer object before calling API 2014-08-22 15:50:40 -07:00
TfT_02
b61c65636b Add new ExperienceAPI method to specify if XP can be shared 2014-08-22 15:50:40 -07:00
TfT_02
087a0b079f Fixed bug with new Death API 2014-08-22 15:50:40 -07:00
t00thpick1
2147417322 This seems easier. 2014-08-22 15:16:40 -04:00
t00thpick1
4304970059 This was supposed to be a zero. 2014-08-22 00:59:20 -04:00
t00thpick1
fc981fda20 Better connection validation for us. 2014-08-21 19:42:03 -04:00
t00thpick1
be9ff51fd9 Should fix #2223 for realz this time. 2014-08-21 19:42:03 -04:00
TfT_02
5cfd2dc799 Added API to ExperienceAPI to get the amount of XP needed for a level 2014-08-21 16:38:33 -06:00
TfT_02
c878775c72 Close the statement here as well 2014-08-21 14:33:50 -06:00
t00thpick1
574cdd374b Use a placeholder value. Fixes #2216 #2221 2014-08-20 22:19:36 -04:00
TfT_02
a3943aab24 Add checks for loaded/unloaded profiles in commands 2014-08-19 22:23:19 -06:00
t00thpick1
1503e58d11 More relevant donation information 2014-08-19 23:45:54 -04:00
TfT_02
2650d57d8e Added options to experience.yml for Dirt and Sand variations
Adds #2194
2014-08-19 21:28:53 -06:00
t00thpick1
4d402c7229 Use correct element 2014-08-19 19:11:07 -04:00
t00thpick1
d687543910 Prevent players from having more than one database querying command running at once. 2014-08-19 18:11:56 -04:00
t00thpick1
d8ad519cd0 Seperate pools for essential tasks like profile loading and profile saving. 2014-08-19 17:58:45 -04:00
TfT_02
8a35d69540 Move RefreshChunks setting from hidden.yml to config.yml
Adds #2213
2014-08-17 20:21:23 -06:00
t00thpick1
097a5a0894 Change purge a bit. Apparently andrewkm says this works. 2014-08-17 21:23:27 -04:00
t00thpick1
8760c2bbb0 This way is cleaner though. 2014-08-17 20:01:04 -04:00
t00thpick1
dc635fe7d7 SHould fix #2195 2014-08-17 19:57:52 -04:00
TfT_02
f10a1d0ffb Added McMMOPlayerPreDeathPenaltyEvent and McMMOPlayerStatLossEvent
McMMOPlayerPreDeathPenaltyEvent is fired before hardcore calculations
take place, use this if you want to cancel hardcore penalties.

Use McMMOPlayerVampirismEvent and McMMOPlayerStatLossEvent when you
want to know how many levels or experience the player lost or if you
want to modify this.
2014-08-16 21:13:46 -06:00
TfT_02
809779e508 Added McMMOPlayerVampirismEvent
Expands API possibilities regarding death penalty features.
2014-08-16 21:13:39 -06:00
TfT_02
80d358d1fd Fix dealing too much AOE damage
Bandaid for #2170
2014-08-13 21:24:32 -06:00
t00thpick1
a1be17c72c Add a rate limit for mojang api requests. Configurable via hidden.yml 2014-08-12 11:51:34 -04:00
t00thpick1
0a066f51bb Fix #2197 There is no wait forever option, so we actually need a timeout. 2014-08-12 11:39:43 -04:00
t00thpick1
294141c353 We should be reconnecting automagically. 2014-08-11 12:16:27 -04:00
t00thpick1
5a47f9fa86 Fix #1320 2014-08-08 00:42:33 -04:00
t00thpick1
6ee2d7d823 Do UUID saves in batches. 2014-08-08 00:13:30 -04:00
t00thpick1
f2881f02c8 Fix id retrieval 2014-08-08 00:09:00 -04:00
t00thpick1
9f5445689c Helpful debug on shutdown 2014-08-08 00:02:07 -04:00
t00thpick1
0ea163e3ee Lazy fix 2014-08-08 00:01:57 -04:00
t00thpick1
f097aa4a67 Missed loaded profile check, Fix #2189 2014-08-07 23:46:22 -04:00
t00thpick1
1fcb9e649e A bit more logic simplification in SQLDatabaseManager, also fixes error printing, Fix #2188 2014-08-07 23:45:40 -04:00
t00thpick1
1d0dc02013 Greatly simplify Profile loading in mySQL 2014-08-07 14:16:28 -04:00
t00thpick1
8766d31943 Fix #2182 and Fix #2178
NOW() is a numeric representation of the date, not a timestamp....  so thats a nono.

Also,  we need to update UUIDs grabbing by name.
2014-08-07 13:54:28 -04:00
t00thpick1
d857bf483e Fix #2184 2014-08-07 11:23:02 -04:00
t00thpick1
b7774251eb Remove need for thread locks in profile loading, just reschedule as needed. also stagger based on number of previous attempts. 2014-08-05 23:02:41 -04:00
t00thpick1
da7507fc75 Throw some sanity information into the info log. 2014-08-05 20:20:05 -04:00
t00thpick1
fe4699430d Fix #2177 2014-08-05 19:15:22 -04:00
t00thpick1
df4fc8149d Stagger load attempts more. 2014-08-05 19:03:55 -04:00
t00thpick1
c156f0c346 Missed an unlock condition, lets use a finally. Should Fix #2180 2014-08-05 18:57:13 -04:00
t00thpick1
79a17b0c1c Fix /mcrank when using flatfile. Fixes #2179 2014-08-05 09:20:12 -04:00
t00thpick1
d3051ad127 Use a slight delay to ensure its after the purge. 2014-08-04 11:49:09 -04:00
t00thpick1
f4c53aaf8a Prevent user purges and UUID updates from conflicting in mass database operations. 2014-08-04 11:42:02 -04:00
t00thpick1
432ff95a98 More constants 2014-08-04 11:40:47 -04:00
t00thpick1
fe29bb4b9f Accurate purge count 2014-08-03 21:14:24 -04:00
t00thpick1
ae5347bc0f Purging shouldn't be main thread, also we have no reason to refresh profiles of purged users, as old users aren't online, and powerless users have nothing to wipe. 2014-08-03 21:12:41 -04:00
t00thpick1
966de87ef9 Print reason 2014-08-03 20:57:28 -04:00
t00thpick1
3569f9a182 Woot, rushing things without looking! 2014-08-03 20:40:48 -04:00
t00thpick1
70a23f8a0a EnumMaps cannot use a null key 2014-08-03 20:39:37 -04:00
t00thpick1
857e12b96e SQLDatabaseManager optimizations, async profile loading -t00thpick1, zreed
This commit changes our shared connection into a connection pool utility to prevent
thread locks from multiple actions attempting to access the database at the same time.
In additon,  profile loading has been moved off the main thread at login time, to
allieviate the performance issues caused by it.

Fixes #2138, Fixes #2119, Fixes #1982, Fixes #1953
2014-08-01 20:31:17 +02:00
TfT_02
c10525ada9 Add UUID support! - zreed, slipcor, t00thpick1
This commit updates our database managers to use UUIDs instead
of usernames for persistent storage.

Fixes #1979
2014-08-01 20:23:03 +02:00
TfT_02
fb8592495d Only set detected durability if it's > 0 2014-08-01 01:09:00 +02:00
TfT_02
a48ada306c Add magical mod importer
Usage: Create a folder called 'import' inside /mcMMO/mods/. Place your latest Cauldron 1.7+ startup log in this folder and rename it to 'import.log'.
It is worth noting that it's advisable to create a short log by starting and stopping the server once, or by manually editing the log file to only include material mapping in order to speed up the import process.

When the server is running, use the command /mcimport. You will see the import progress in the console, once it is done the files are created in /mcMMO/mods/output/.

Any item that wasn't recognised gets placed in a .unknown.yml config file. Durability detection only works if the mod is installed when importing (it should be).
2014-08-01 00:22:29 +02:00
TfT_02
70744371a3 Fix bug where Repair_Material_Quantity wasn't read 2014-07-31 00:47:22 +02:00
TfT_02
18c322e8d6 Check if the user wants this item repairable first
Stop complaining that the item is not repairable when Repairable is set
to false.
2014-07-31 00:46:41 +02:00
TfT_02
75cbfa1b1c Ensure player has mcMMOPlayer object in brewing
Fixes #2086
2014-07-24 12:29:42 +02:00
zreed
48c7aa3e84 Add an UpgradeManager 2014-07-23 12:37:02 +02:00
TfT_02
8fd94b625c Fix Blast Mining and change its behavior slightly
Fixed bug where Blast Minings ability "Demolition Expert" would not
work with certain CB versions. DanageCause.BLOCK_EXPLOSION was not
passed, ENTITY_EXPLOSION was used instead.

Changed behavior of the Blast Mining ability "Demolition Expert"; now
only decreases damage for the ability user and for Blast Mining
explosions.
2014-07-20 00:43:53 +02:00
TfT_02
ccca3fff26 Don't use hardcoded unlock levels for Blast Mining 2014-07-20 00:43:52 +02:00
TfT_02
f77446919f Can't use more function modifiers than necessary
Fixes #2139
2014-07-18 17:11:26 +02:00
TfT_02
96fdf265d5 Don't run party chat on a separate thread
Fixes #2080
2014-07-18 17:06:30 +02:00
TfT_02
b964e3f7c3 Show colors in console for party chat
Fixes #2129
2014-07-18 00:51:09 +02:00
TfT_02
d93c83f775 Add a modifier function for each DamageModifier
Must have a modifier function for each DamageModifier

Fixes #2139
2014-07-18 00:16:12 +02:00
TfT_02
6b9f6c29ec Actually fix the isWaterBottle() check
Fixes #2134

For some reason Bukkit wanted to use Potion(PotionType type, int level)
when calling .toPotion(), even though .getDataValue() is 0.
2014-07-17 00:14:06 +02:00
TfT_02
09b0bf62e2 Added SkillAPI used to get a list of skill names
This prevents having to rely on the SkillType enum
2014-07-16 20:07:23 +02:00
TfT_02
dedbdf890a Fixed broken isWaterBottle() check 2014-07-15 17:50:39 +02:00
TfT_02
30085e1e34 Add option to control Unarmed item pickup behavior
By default when using Unarmed, picking up items is prevented when a
players entire inventory is full, except for his empty hand.
2014-07-15 15:40:49 +02:00
TfT_02
1c30146491 Fixed bug where Berserk deletes items
when the players inventory is full.

Fixes #1947
2014-07-15 15:25:02 +02:00
TfT_02
037022b175 Fixed bug where falling blocks were not tracked
Fixes #2130
2014-07-15 14:46:20 +02:00
TfT_02
0aa67727f5 Fixed bug with flatfile format updater 2014-07-12 14:02:53 +02:00
TfT_02
8e3e1d5f11 Use deprecated events for damage dealing for now 2014-07-11 21:33:35 +02:00
TfT_02
d2d70089ca Update for modifierFunctions 2014-07-11 14:02:42 +02:00
zreed
94a566acc9 Remove redundant maxReconnects database connection property 2014-07-09 19:03:15 +02:00
TfT_02
daab095557 I was actually using the wrong Map
Fixes #2113
2014-07-03 12:33:03 +02:00
TfT_02
2b9b5df1ee Alter original event and stop firing FakeDamageEvents
Fixes #2105
2014-07-02 11:28:21 +02:00
TfT_02
e7e62b8d40 SecondaryAbilityEvent now implements Cancellable
Fire SecondaryAbilityEvent for abilities with static chances

Also cleanup some of the event handling for Armor Impact, Greater
Impact and Fast Food
2014-07-02 11:25:13 +02:00
TfT_02
3d242bbdb6 Always call back events 2014-07-02 11:25:13 +02:00
TfT_02
e796eae3c3 Update for new damage API 2014-07-02 11:25:08 +02:00
TfT_02
a257e83a62 Update for new getOnlinePlayers behavior 2014-06-29 14:04:36 +02:00
TfT_02
4b20f12eff Fix a NPE with getFlowerAndGrassXp()
Fixes #1975
2014-06-23 22:52:34 +02:00
TfT_02
0de1187012 Fixed setting custom names and lore with treasures 2014-06-22 20:42:48 +02:00
TfT_02
8e474170e4 Fix crafting with items received from Salvage
Only set metadata on Salvage items when it’s not set to -1
Fixes #2078

And cleanup some javadocs in Salvageable
2014-06-18 11:44:21 +02:00
TfT_02
2eeb9b1f35 Set a pretty repair material name in armor.yml
Adds #1863
2014-06-15 17:46:16 +02:00
TfT_02
3de6e2c3f1 Add full Repairable support in armor config files
You can now fully configure armor to be repairable from the armor.yml
config files.

Adds Repair_MinimumLevel and Repair_XpMultiplier to armor.yml
2014-06-15 17:46:16 +02:00
TfT_02
f75e15dfdc Set a pretty repair material name in tools.yml
Adds #1863
2014-06-15 17:31:50 +02:00
TfT_02
f2b892b7d5 Add full Repairable support in tools config files
You can now fully configure a tool to be repairable from the tools.yml
config files.

Adds Repair_MinimumLevel and Repair_XpMultiplier to tools.yml
2014-06-15 17:28:54 +02:00
TfT_02
3a8f45a04d Fix bugs with pistons
This commit improves piston tracking and fixes a couple of bugs with
block tracking.

Fixes #2043
2014-06-15 14:26:02 +02:00
TfT_02
906609696b Workaround a CB bug by tracking piston events
There is a bug in Craftbukkit that causes piston events to fire
multiple times. We need to keep track of the extend and retract events
to see which piston events should be processed.
2014-06-15 14:26:02 +02:00
riking
66ccde4310 MCPC+ is now known as Cauldron 2014-06-14 11:34:35 -07:00
TfT_02
1becc874ba Check if input is a water bottle first 2014-06-09 22:55:03 +02:00
TfT_02
b107a8dc7c Fire brew event after outputs have changed
and before experience is granted.
Part 2 of fixing #2041
2014-06-09 02:04:59 +02:00
TfT_02
37aebc1716 Calculate Alchemy XP based on potion stage
Adds #1926
2014-06-09 01:56:07 +02:00
TfT_02
836877ff93 Alchemy should fire BrewEvents
Fixes #2041
2014-06-09 01:43:50 +02:00
TfT_02
0185a30ec9 Fix an IndexOutOfBoundsException: Index: 0
In SaveTimerTask.java

Fixes #2039
2014-06-08 18:21:13 +02:00
TfT_02
38e1947302 Remove PvpLogger checks
No longer needed when testing with Combat Tag v6.1.4, the NPCs have
metadata „NPC”.

Fixes #2017
2014-06-08 18:11:18 +02:00
riking
4fb4d6fc0c Save users asynchronously 2014-06-08 14:12:25 +02:00
TfT_02
6d719988bf Remove this check here, allows Salvage in Adv mode
We’re already checking if the players game mode isn’t CREATIVE, so we
can safely remove this check.

Fixes #2059
2014-06-03 12:23:42 +02:00
TfT_02
3f34cc7365 Actually fix maximumQuantity reading from config
Now we try to automatically detect the maximum quantity if possible and
fall back to the config if the user has set a value there.

Also fixed the feedback message which said „Minimum quantity” instead
of „Maximum quantity”
2014-05-25 23:20:19 +02:00
TfT_02
3c6c2837bd Check permission before sending anvil messages 2014-05-25 22:46:35 +02:00
TfT_02
4bcef76fd8 Let config key take priority here 2014-05-24 15:42:15 +02:00
TfT_02
2fd5d7aa81 Cleanup RepairConfig leftovers in SalvageConfig
Some copy/pasta I forgot to remove
2014-05-24 15:24:25 +02:00
TfT_02
5080c68dce Fix Maximum Quantity in Salvage configs 2014-05-24 15:23:50 +02:00
TfT_02
3403aef37d Don't display child skills on scoreboards
This fixes an issue where the scoreboard would not display properly
when using /mcstats or /inspect.

Fixes #2037
2014-05-23 17:03:02 +02:00
TfT_02
53a34c12d2 Add SALVAGE to MISC_SKILLS List 2014-05-23 14:23:05 +02:00
TfT_02
93d63dbca5 Minor cleanup of imports 2014-05-18 17:06:50 +02:00
TfT_02
4643cf1070 A whole bunch of more work to convert Salvage to a child skill 2014-05-18 17:04:39 +02:00
GJ
91bf54019e Convert Salvage to a child skill. 2014-05-18 17:04:38 +02:00
TfT_02
ead716ef0d Fix a NPE when tab completing with /ptp
Fixes #2013
2014-05-11 18:33:50 +02:00
TfT_02
8fec1af257 Fix a bunch of small formatting issues 2014-05-11 15:15:44 +02:00
Sean Porter
99248caba3 Redstone ore now throws events when it flips on or off.
Fixes issue #2021
2014-05-11 01:30:11 -07:00
TfT_02
af64bdf742 Added API to check if an entity is bleeding 2014-05-02 19:41:44 +02:00
TfT_02
66a4925371 Use getAllyName() here instead 2014-05-02 00:53:05 +02:00
TfT_02
8eb6acd60f Add option to prevent hopper transfers of bottles 2014-04-27 15:03:07 +02:00
TfT_02
c14a4e9305 Fix /party teleport command
Why did we use getCommand("ptp").getExecutor() again?

Fixes #1995
2014-04-21 14:54:09 +02:00
TfT_02
5825eb1696 Make sure to shorten long ability and skill names
(cherry picked from commit 236ccd6ebdd0834f87b373794e1597ef36fb2ff6)
2014-04-21 14:09:52 +02:00
TfT_02
bfebbd0095 Fix formatting
(cherry picked from commit 4e36073e6e2dc3aeba087d605cef79fc4a8a9779)
2014-04-21 14:09:41 +02:00
GJ
b204507a82 Use strings instead of OfflinePlayers for scoreboards.
(cherry picked from commit 89b596591ec1974e0201395dc6e76353e4709572)
2014-04-21 14:09:09 +02:00
TfT_02
9f53426511 Added API to XP events to get XP gain reason 2014-04-18 22:32:32 +02:00
Sean Porter
03c2282c3f Fix the calculations for Iron Arm Style in the Unarmed command. 2014-04-18 02:16:35 -07:00
TfT_02
20092d55fd Fix bug where dodge would check the wrong player 2014-04-18 00:49:40 +02:00
TfT_02
69a2a5cfff Check if player has a mcMMOPlayer object
Fixes #1976
2014-04-12 17:06:14 +02:00
TfT_02
618cfad100 Prevent accidentally breaking regrown crops
Adds #828
2014-04-06 14:41:40 +02:00
TfT_02
56e625a9df Added option to open /mcstats after logging in
Added #1033
2014-04-06 13:27:38 +02:00
TfT_02
79a1ef5d3e Players need to be in a party to use /ptp
Fixes #1967
2014-04-06 12:43:42 +02:00
TfT_02
10dd7619bf Support MATERIAL|data format in treasures.yml
Allows users to use the same material type for multiple treasures in
treasures.yml

Fixes #1965
2014-04-05 18:31:01 +02:00
TfT_02
f9dfec5bd0 Check event.getBow() != null
Fixes #1933
2014-04-05 13:55:10 +02:00
TfT_02
a9488bc18b Vanished players no longer get hit by AoE effects
Fixes #1964
2014-04-05 13:12:20 +02:00
TfT_02
f0ee708710 Updater should not be running on the main thread
Fixes #1957
2014-04-05 12:10:02 +02:00