Commit graph

2918 commits

Author SHA1 Message Date
Ali Moghnieh
2493c655f8
Create /paytoggle command. Resolves #413 2016-07-26 16:23:34 +01:00
Ali Moghnieh
f1d9cda5eb
Create allow-bulk-buy-sell config option. Resolves #765. 2016-07-26 12:25:20 +01:00
Ali Moghnieh
a76b20f1b5
Display time since AFK in /whois. Resolves #761.
This commit adds a getAfkSince() method to IUser.

This commit adds a whoisAFKSince message which is sent when a player is AFK, it follows the same format as whoisAFK which is still used. whoisAFK remains unchanged but is sent only when the player is not AFK.
2016-07-26 01:36:29 +01:00
Ali Moghnieh
017082c07a
Check recipient socialspy exempt during PMs. Resolves #166 2016-07-25 13:10:06 +01:00
Ali Moghnieh
352c92b880
Implement Shield item serialization. 2016-07-25 12:06:24 +01:00
Ali Moghnieh
948cce4ceb
Remove whitespace before colon in SocialSpy broadcast. 2016-07-23 14:59:20 +01:00
Ali Moghnieh
6fe87184ae
Add socialSpyPrefix message. 2016-07-23 00:30:49 +01:00
Ali Moghnieh
c4c303dbfb
Don't socialspy broadcast raw /msg and /r. 2016-07-23 00:09:18 +01:00
Ali Moghnieh
87adbb477d
Allow bulk buy/sell when sneaking. Resolves #65 2016-07-22 23:56:26 +01:00
Ali Moghnieh
3245ce10ac
Prevent multiple tpa requests in a row. Resolves #59 2016-07-22 20:51:47 +01:00
Ali Moghnieh
5540683013
Remove +180 on yaw in . 2016-07-22 16:26:56 +01:00
Ali Moghnieh
75d1254dda
Implement better PM social spy. Resolves #27 2016-07-22 15:52:53 +01:00
Ali Moghnieh
83b944eb4b
Use User#isAuthorized() instead of Player#hasPermission(). 2016-07-22 15:33:26 +01:00
Ali Moghnieh
6cbb8c846b
Make old /createkit toggleable in config. 2016-07-13 23:25:20 +01:00
Ali Moghnieh
e0d69d05eb
Format {UNIQUE} in KeywordReplacer. 2016-07-13 22:54:52 +01:00
Ali Moghnieh
4f971ad8e5
Change /createkit functionality.
/createkit pastebins the current inventory into gist.github.com and returns a URL with the kit code.
2016-07-13 22:43:20 +01:00
Ali Moghnieh
535fb43915
Format {UNIQUE} in custom join message. 2016-07-12 20:36:55 +01:00
Ali Moghnieh
79401c3cf7
There's a reason we test code. Thanks, hobbit! 2016-07-12 00:46:08 +01:00
Ali Moghnieh
0ab9f04ea4
Document no-god-in-worlds feature usage in code. 2016-07-12 00:03:08 +01:00
Ali Moghnieh
e90b0c28c6
Disallow mute players and unauthorized players from setting AFK message. 2016-07-10 20:27:48 +01:00
Ali Moghnieh
3a439bcdb5
Merge branch '2.x' into create-afk-message 2016-07-10 19:56:23 +01:00
Ali Moghnieh
23e8498b47
Clear trailing whitespaces in ISettings and Settings. 2016-07-10 17:58:15 +01:00
Ali Moghnieh
c9f1b0fdc5
Add the option to disable disabled-sign name protection. (#699)
This allows EssentialsX users to use other plugins that provide signs such as [Kit] and not have EssentialsX interfere with the final sign name.
2016-07-10 17:45:43 +01:00
Ali 'SupaHam' M
19f6510840 Create VanishStatusChangeEvent. (#661) 2016-07-10 09:09:53 -06:00
vemacs
0a1feaf044 Fix Vault-based permission logging (forgot after refactor) 2016-07-09 18:42:42 -06:00
Ali Moghnieh
20594d2523 Add essentials.commandcooldowns.bypass permission. 2016-07-07 17:24:28 +01:00
Ali Moghnieh
142315140e Implement NOOPs in OfflinePlayer instead of throwing exceptions.
This resolves issues like #721.
2016-07-07 16:58:44 +01:00
Ali Moghnieh
8d3d2ebd50 Enable longer display names/player list-names feature
For 1.8 servers and above.
2016-07-07 04:59:09 +01:00
Ali Moghnieh
fb72555e6b Merge branch '2.x' into custom-currency-formatting 2016-07-06 21:22:23 +01:00
Ali Moghnieh
42f4d43682 Make _isNpcsInBalanceRanking private. 2016-07-06 21:22:13 +01:00
Ali Moghnieh
caeb59ede4 Merge branch '2.x' into custom-currency-formatting 2016-07-06 21:21:24 +01:00
Ali Moghnieh
992ef5dc91 Add npcs-in-balance-ranking configurable option. Resolves #716. 2016-07-06 19:34:25 +01:00
Ali Moghnieh
d37433e81c Merge branch '2.x' into custom-currency-formatting 2016-07-05 18:46:01 +01:00
vemacs
d75e0ce26e Use string comparison for gamemode, fixes #703 2016-07-02 12:00:31 -06:00
Ali Moghnieh
09acbcdb05 Implement Command Cooldowns. Resolves #110 2016-06-30 12:52:28 -07:00
Ali Moghnieh
864dadab80 Add debug message in EssentialsSign. 2016-06-27 21:46:32 +01:00
Ali Moghnieh
d174cea42e Do not apply starting balance for NPCs. Resolves #191
NPC balances are usually banks e.g. Factions plugin depending on EssentialsEco to provide economy functionality for the Faction.
2016-06-27 21:45:31 +01:00
Ali Moghnieh
e95fad0453 Don't list NPCs in /baltop output. 2016-06-26 22:10:36 +01:00
Ali Moghnieh
ebe6abd885 Make /tp parse arguments as double instead of integer. 2016-06-26 15:25:52 +01:00
Ali Moghnieh
0a563b91a2 Create teleport-to-center configuration option.
This option toggles whether essentials should rounds all teleportations off to the center of the block.
2016-06-26 15:21:35 +01:00
vemacs
5cbcd7469b Nullcheck user iteration in EssentialsTimer (fixes #675) 2016-06-25 09:47:06 -06:00
Ali Moghnieh
dabcb51034 Allow colour codes in nickname-prefix. 2016-06-24 11:24:54 +01:00
Ali Moghnieh
0237d485bf Merge branch '2.x' into custom-currency-formatting. 2016-06-20 12:55:31 +01:00
Ali Moghnieh
b673630a7e Implement spawn-on-join configuration.
Admins can now specify whether all joining players should be teleported to the user's group spawn when joining the server. Players can be assigned the essentials.spawn-on-join.exempt permission to become exempt from this feature.
2016-06-19 21:07:45 +01:00
Ali Moghnieh
282ec81af1 Implement configurable currency formatting.
This commit enables users of different countries around the world to configure currency formatting displayed to users in a familiar manner.

Prior to this commit US formatting (symbols) was forced upon users. This is now configurable via locale values e.g. en-US, de, fr-ch.

This commit adds two new configurations:
- currency-format
- currency-symbol-format-locale

One method ISettings#getCurrencyFormat()
2016-06-19 20:03:54 +01:00
Ali Moghnieh
a267fb16b8 Ignore flight check on spectator mode.
If a player is in Spectator mode, we should not interfere with their flight. This is an extension to the already existing creative mode check.
2016-06-19 03:33:48 +01:00
Ali Moghnieh
795ffec8b8 Remove trailing space. 2016-06-18 21:38:20 +01:00
Ali Moghnieh
dba9dab985 Make UserBalanceUpdateEvent's new balance mutable.
This commit makes it reliable to modify user balance from within events.
2016-06-18 18:33:51 +01:00
Ali Moghnieh
4951c4822e Rename userIsAwayWithReason and userAFKWithReason to userIsAwayWithMessage and userAFKWithMessage respectively. 2016-06-18 17:54:21 +01:00
Ali Moghnieh
5842b5f51d Implement AFK messages.
This commit makes it possible for players to set an afk message to detail their reasoning for being away to other players. This can be especially useful for the /msg command; instead of replying the user is afk, it will specify why they are afk so the sender can act further on that information.

Two methods have been added to IUser: getAfkMessage() and setAFKMessage(String).

All locale files have two new messages: userAFKWithReason and userIsAwayWithReason. They all use the messages that do not have the suffix WithReason, i.e. userAFK and userIsAway. Furthermore, the userIsAwayWithReason will not utilise the second parameter, the reason, to prevent spam and unnecessary text in global chat. However, the second parameter ({1}) is available for use in userIsAwayWithReason. userAFKWithReason, which is sent to /msg senders, does use the {1} as it controllable spam by the command sender themselves.

/afk usage is now: /afk [player/message...]
2016-06-18 17:44:17 +01:00
Ali Moghnieh
ac4a1565a1 Implement empty OfflinePlayer methods instead of NSY exceptions. 2016-06-18 14:08:58 +01:00
Ali Moghnieh
203e8b0a75 Broadcast mute notify with mute duration if present.
This commit adds a new locale message code muteNotifyFor, which takes three parameters: muter, muted, duration.
2016-06-18 14:00:51 +01:00
vemacs
690dbea924 Fix compile 2016-06-12 09:25:14 -06:00
vemacs
91bebabc7f Add polar bear spawning support 2016-06-09 20:19:59 -06:00
vemacs
5eec83f726 Remove old spawn egg providers in favor of reflection-based implementation 2016-06-09 19:25:45 -06:00
vemacs
827891f10a Add reflection based spawn egg provider 2016-06-09 19:18:07 -06:00
Trent Hensler
f4fa24cd7f Build against 1.10 2016-06-09 10:07:22 -07:00
vemacs
2bf1f24db2 Update spawn egg provider to 1.10 2016-06-08 20:33:03 -06:00
vemacs
d0ea32dfa1 1.9.4 spawn egg support 2016-05-21 14:15:07 -06:00
vemacs
65a2e942c4 Attempt fixing kit/createkit for splash potions in 1.9 2016-03-31 11:54:19 -06:00
vemacs
731455649e [Experimental] Attempt supporting lingering potion type by passing it through 2016-03-28 19:38:53 -06:00
vemacs
ec1215b227 Restore 1.8 compatibility 2016-03-28 17:42:33 -06:00
vemacs
dcb14170b9 Fix meta setting (works for 1.9) 2016-03-28 17:31:25 -06:00
vemacs
c266778c1e [Likely breaks 1.8 compatibility, will be fixed] Use non-deprecated methods 2016-03-28 17:21:57 -06:00
vemacs
8116ce39d7 [Experimental] Attempt restoring potion effect ID compatibility to 1.9 2016-03-28 16:54:17 -06:00
vemacs
8167002092 Fix compile 2016-03-28 10:36:02 -06:00
vemacs
a4aa6a22b7 Fix compile 2016-03-18 10:19:16 -06:00
vemacs
d57f7af453 Fix compile 2016-03-18 10:18:13 -06:00
vemacs
7f8c801c07 Throw some more unsupported ops 2016-03-11 17:44:14 -07:00
vemacs
c627b26f49 Fix compile 2016-03-11 17:39:10 -07:00
vemacs
97561667a0 Java 7-ize this class 2016-03-10 12:36:57 -07:00
vemacs
bdb81123d6 Refactor spawn egg provider to separate classes 2016-03-10 09:28:08 -07:00
vemacs
f1c57371a3 Refactor providers to a generic implementation in preparation for future spawn egg APIs 2016-03-10 08:54:07 -07:00
vemacs
873f9404bf Restore old inventory clear behavior for 1.9 2016-03-08 18:07:04 -07:00
Trent Hensler
e6d177c09a Revert "Don't require extra argument to see armor with invsee. Resolves #472."
Handling this with armor and without NMS isn't clean. Advise using OpenInv if players want extended capability.

This reverts commit 6eb63fd3fd.
2016-03-08 15:38:50 -08:00
vemacs
65f2051e87 Add spawn egg NMS for 1.9 2016-03-08 12:28:23 -07:00
vemacs
767abe83f9 Fix giving spawn eggs in 1.9 (use SpawnEgg API) 2016-03-08 12:12:21 -07:00
Trent Hensler
6eb63fd3fd Don't require extra argument to see armor with invsee. Resolves #472.
Before, you had to do  to see armor. Now it just adds it if you have the permission.
2016-03-07 15:37:42 -08:00
vemacs
4e77fc0f0b Update potions to 1.9 2016-03-06 16:19:06 -07:00
vemacs
6d347881b7 Formatting 2016-03-06 11:14:08 -07:00
vemacs
73ad945101 Simplify copy operation 2016-03-06 11:02:05 -07:00
vemacs
d39615d906 Try correcting overflow behavior for non-sign situations 2016-03-06 10:49:16 -07:00
vemacs
dcc6e2f23f Correct overflow behavior after c44c41ef02 2016-03-05 09:29:53 -07:00
vemacs
24e068b94d Send invalid message when attempting to spawn unavailable mob 2016-03-05 09:03:32 -07:00
vemacs
6b6cf41782 Also do a nullcheck on enchants 2016-03-05 09:01:15 -07:00
vemacs
d17bd144a2 Add 1.9 Enchantments (FROST_WALKER, MENDING) 2016-03-05 08:49:46 -07:00
vemacs
7967f62131 Deduplicate toggle argument handling code 2016-03-03 12:54:18 -07:00
vemacs
dd026700be Minor cleanup 2016-03-03 07:57:37 -07:00
vemacs
0001665ece Don't spam startup logs for PermissionsHandler 2016-03-03 07:44:49 -07:00
vemacs
d0a7c5a0ec Remove PEX binary from repo, as we use Vault metadata now 2016-03-02 20:59:17 -07:00
vemacs
ba97e5fff5 Don't allow double loads 2016-03-02 08:48:32 -07:00
vemacs
e90455463f Better solution than synchronization 2016-03-02 08:46:29 -07:00
vemacs
72760096f5 Never write empty names file 2016-03-02 08:33:11 -07:00
vemacs
62c2c57d4d [Experimental] Support Unbreakable meta tag 2016-03-01 18:16:13 -07:00
vemacs
b8f7918a4a [Experimental] Rewrite UUIDMap to use one single ScheduledExecutorService 2016-03-01 17:52:39 -07:00
vemacs
526118e7d3 Update sounds to 1.9, fix compile 2016-03-01 17:05:57 -07:00
vemacs
37c20d5b6d Update API to 1.9-SNAPSHOT (note: compatibility is retained) 2016-03-01 16:53:08 -07:00
vemacs
5b60998b0a Use try-with-resources 2016-03-01 11:52:29 -07:00
vemacs
833713bee2 setAccessible(true) on legacy cache methods 2016-03-01 11:49:54 -07:00
vemacs
cf1f2f8f03 Don't hardcode inv length 2016-03-01 10:21:04 -07:00
vemacs
f6cbda0e04 Also limit maxYears in parser 2016-03-01 09:43:28 -07:00
vemacs
7d33814d5b Change to Vault Metadata API for PEX build perms 2016-03-01 09:29:45 -07:00
vemacs
7c59d61b32 Limit max time delta in years to 100k 2016-03-01 09:24:06 -07:00
vemacs
844a4a0574 Truncate contents length for 36 to playerInventory 2016-03-01 08:51:09 -07:00
vemacs
5968a6bc27 Run seen fallback code asynchronously, and clean it up 2016-03-01 08:36:41 -07:00
vemacs
f94e242a75 Change spectator mode string matching to be consistent with other gamemodes 2016-03-01 08:05:00 -07:00
vemacs
ddee7d1b94 Add 1.9 mobs (just one) to Mob 2016-02-29 20:52:02 -07:00
AdamQpzm
dfdc6a52be Add fix for enchants & kits on 1.7 2016-02-06 11:24:36 +00:00
Ali Moghnieh
ba5ce33464 Test for updateActivity all the time in PlayerCommandPreprocessEvent. 2016-01-30 16:07:14 +00:00
Ali Moghnieh
7809615896 Fix /time permissions to allow players to check time with just essentials.time. Remvoe timeSetAllPermission message as it is no longer used. 2016-01-25 01:17:47 +00:00
Ali Moghnieh
bbf657e251 Add afk-list-name config property for changing the player list name of AFK players. 2016-01-20 14:15:53 +00:00
Ali Moghnieh
c6d2746959 Add world-time-permissions configurable variable (false by default) that justifies whether /time should check for per world permissions. This was recommended by Khobbits as newbies might get confused by this feature. 2016-01-20 11:46:37 +00:00
vemacs
d895d40fbf Move legacy field to class 2016-01-19 11:01:09 -07:00
vemacs
fd697aeb83 Restore spawnmob compatibility to 1.7.x, also provide framework for future version support 2016-01-19 08:45:52 -07:00
vemacs
6e05327934 Ship full Metrics (might help fix our graphing issues) 2016-01-19 08:09:44 -07:00
vemacs
a4871cac36 [Experimental] Attempt to implement compatibility for 1.7 servers 2016-01-18 21:05:49 -07:00
vemacs
b17f5d32c9 Add configuration option for toggling "fly mode enabled" message on login 2016-01-18 19:21:29 -07:00
vemacs
3896bcbd64 Allow skipping version check per request 2016-01-18 15:49:43 -07:00
vemacs
9c986aa25f Forcibly load OfflinePlayer class per @Byteflux's suggestions to prevent LinkageError 2016-01-18 15:02:20 -07:00
Ali Moghnieh
419d2d8282 Prettify currency display further. 2016-01-14 18:20:06 +00:00
Ali Moghnieh
d570570394 In Commandtime:
- Make world name normalization lowercase the name as well.
- Permission checks will now always consider essentials.time.world.all for convenience.
2016-01-14 18:16:36 +00:00
Ali Moghnieh
0347badeda Update time world permissions prefix from essentials.time.set to essentials.time.world. 2016-01-14 17:56:41 +00:00
Ali Moghnieh
eb924b9861 Add per world permission for setting world time.
Add two new locale messages: timeSetWorldPermission and timeSetAllPermission.
Add two new permissions essentials.time.set.all and essentials.time.set.<world>.
2016-01-14 12:32:48 +00:00
Ali Moghnieh
38c8a8e666 /Vanish no longer broadcasts user activity on PlayerCommandPreProcessEvent.
Implement more hard coded customizability with commands that shouldn't broadcast afk activity on PlayerCommandPreProcessEvent.
2016-01-12 23:53:09 +00:00
AdamQpzm
9f75f1aad3 Add bypass permission to nick command
This should allow users of wildcard permissions to be able to change their nicks as intended, without any changes to their current setup.
2016-01-04 21:32:19 +00:00
drtshock
a669163196 Remove colour in permission checks.
As @supaham pointed out, this can cause issues with giving a player a wildcard permission and then negating the specific node if both nodes aren't negated.
2016-01-02 12:17:43 -08:00
Tux
87842a36ba Allow color-only nickname changes. 2016-01-02 12:11:17 -08:00
Ali Moghnieh
2d3691107d Create broadcastworld command for broadcasting to a world instead of the whole server. 2016-01-02 12:57:37 +00:00
Ali Moghnieh
134fbdf1df Fix Essentials Signs abuse using colours. Prior to this commit, the sign creation stage could be bypassed by typing &1&1[Test] assuming that was the success-name of the Essentials Sign. This commit prevents this by checking if the top line contains any of the success-name, without color. And so if anyone tries to type &1[repair] it will be displayed as [repair], but if someone tried &1[repairs] it will be displayed as §1[repairs], as repairs is not an Essentials Sign. It might be worth noting that all signs are checked including disabled signs to prevent abuse ahead of time. So even if [repair] is disabled all colours will still be stripped from [repair]. 2016-01-02 11:51:11 +00:00
Ali Moghnieh
ab490cd588 Make 'Prevent sign destruction' message print on debug to prevent spam. 2016-01-02 11:36:48 +00:00
Ali Moghnieh
2e903acbaa Add support for using /seen with UUID. 2016-01-02 10:46:42 +00:00
Ali Moghnieh
06417910e2 Add 10 seconds of graceful time before doing first check to prevent misinterpretation of lack of activity. 2016-01-02 10:16:34 +00:00
AdamQpzm
19dcb33eb7 Prevent extra colour codes from creating...
...Essentials signs
2015-12-28 22:06:04 +00:00
Ali Moghnieh
540fa98a44 Ensure signsEnabled boolean is reset when reloading config. 2015-12-25 23:24:51 +00:00
drtshock
6fc19b92eb Turn off socialspy on login if player doesn't have the permission.
This fixes the case where players had socialspy enabled, lost the permission for it (got demoted) and then someone had to manually check and disable it for them as described in #299.
2015-12-06 12:30:55 -08:00
vemacs
1a701e69ca Add configuration option for the "#EasterEgg" regarding milk buckets and animals.
Requested by @prplz
2015-12-01 17:41:56 -07:00
vemacs
569c848764 Merge branch '2.x' of https://github.com/drtshock/Essentials into 2.x 2015-12-01 17:33:20 -07:00
vemacs
ad93d15197 Only utilize usercache lookup for seen command 2015-12-01 17:32:53 -07:00
Ali Moghnieh
4a0507a838 Clone map of name->uuid when writing to file. Educated-guess for a fix for #213. 2015-11-30 19:51:22 +00:00
vemacs
bc4737562d Use Essentials server instance instead of static Bukkit reference 2015-11-29 17:25:57 -07:00
vemacs
55f3a14343 Fix EconomyTest passing 2015-11-29 17:01:19 -07:00
vemacs
72e99a8833 Fall back to CraftBukkit userCache or Mojang for UUID lookups 2015-11-29 16:25:26 -07:00
Ali Moghnieh
0eb5063332 Duplicated code is so boring, ugh. Fixes #280. 2015-11-25 17:25:34 +00:00
Ali Moghnieh
ca387687a5 Add last-message-reply-recipient-timeout setting for timing out reply-recipient in private messaging. 2015-11-24 22:48:18 +00:00
vemacs
2d376bc72f Restore LocationUtil compatibility with 1_8_R1 2015-11-15 07:59:19 -07:00
vemacs
9bf0b65016 Merge branch 'issue-232' of https://github.com/sainttx/Essentials into 2.x 2015-11-08 07:59:47 -07:00
Ali Moghnieh
0a876c33a7 Add minimum-pay-amount setting to limit how little you can /pay someone.
Add 'minimumPayAmount' translatable message.
Create NumberUtil#displayCurrencyExactly(BigDecimal, IEssentials).
2015-11-07 17:23:40 +00:00
Ali Moghnieh
fc8ee7f25f WHERE ARE THE BRAKES? Fix sending both UNREACHABLE and MESSAGES_IGNORED messages to /msg sender. 2015-11-03 23:39:18 +00:00
Ali Moghnieh
cf448cd1cc Always set the message sender's reply-recipient when they send a message. 2015-11-03 00:40:56 +00:00
Ali Moghnieh
928f05ca8f Fix logic behind setting reply-recipient when receiving a message. 2015-10-31 23:28:05 +00:00