Commit Graph

597 Commits

Author SHA1 Message Date
Phoenix616
e3ab44ae32
Don't fail account UUID checks on players that are online
This should fix some issues with Floodgate which kept popping up
2022-11-23 22:15:21 +01:00
Phoenix616
9233064273
Adjust comment regarding floodgate to their current default prefix 2022-11-17 23:28:09 +01:00
Phoenix616
93e2895645
Remove deprecated reflection API usage 2022-10-13 14:14:20 +01:00
Felipe Foschiera
9842f47f37
Trigger transaction message from CurrencyTransferEvent and consider tax (#534)
Triggers TransactionMessageSender from CurrencyTransferEvent, wrapping TransactionEvent inside of it.
Add logic to showamount after taxes on the message.
2022-10-12 16:37:18 +01:00
Phoenix616
da3928b723
Add meta information for more item types 2022-07-06 22:08:55 +01:00
Phoenix616
d0af977212
Fix issue when creating sign with own name without existing account
This was only an issue if the autofill functionality for the own name wasn't used.
Now if there is no account with a certain name then the player can use it if it matches their user name
2022-07-06 20:05:21 +01:00
Phoenix616
e3cd50cf75
Add some debug logging for shop sign creation 2022-07-06 00:54:44 +01:00
Phoenix616
a78b925181
Update dependencies (mainly ORMLite and bStats)
Also fixed the outdated Reserve maven repository. That massively slowed down builds...
2022-06-28 16:24:17 +01:00
Max Lee
f57d1b04a2
New Crowdin updates (#518)
* New translations lang.en.yml (Chinese Simplified)

* New translations lang.en.yml (Turkish)

* New translations lang.en.yml (Russian)

* New translations lang.en.yml (Ukrainian)

* New translations lang.en.yml (Ukrainian)

* New translations lang.en.yml (Spanish)

* New translations lang.en.yml (French)

* New translations lang.en.yml (Italian)

* New translations lang.en.yml (Ukrainian)

* New translations lang.en.yml (Ukrainian)

* New translations lang.en.yml (Italian)

* New translations lang.en.yml (Ukrainian)
2022-06-28 12:44:19 +01:00
Krakenied
fd969cd996 Fix zero partial price exploit 2022-06-28 11:09:29 +02:00
Phoenix616
fd0035a99c
Build against 1.19 and replace apache-commons-lang 2022-06-13 22:52:26 +01:00
Phoenix616
a112c50d55
Update language files with latest Crowdin translations. 2022-06-04 14:49:48 +01:00
Phoenix616
4c7b018f8c
Ignore formatting when parsing sign lines (#503) 2022-02-17 21:29:43 +01:00
Krakenied
2ebc2f285b
Fix NFE and some other possible issues (#502)
Fixes #499
2022-02-17 16:34:25 +01:00
Phoenix616
e40b5567b8
Require count digit on quantity line if module is enabled
Also use the same pattern for validating the line in QuantityUtil and ChestShoSign.
2022-02-04 16:28:44 +01:00
Phoenix616
419527efaa
Fix item id not being valid with numbers and underscore (Fixes #498) 2022-01-29 22:23:51 +01:00
Phoenix616
99a609b423
Unify sign line parsing and strip owner line whitespace 2022-01-26 20:35:42 +01:00
jeffry1829
5ec2ab61e5
Make Unicode character valid in ChestShop Sign (#497) 2022-01-26 14:26:03 +01:00
Phoenix616
f9a0bf90a3
Don't search unknown players by default
This shouldn't be needed in any of the internal usage of the event
 and could lead to unexpected network lookups.
2021-11-17 14:03:51 +01:00
Phoenix616
02dd167024
Add better message for when the shop's sell price is above the buy price 2021-10-15 15:50:04 +01:00
Phoenix616
8655870077
Add clarifying comment to buy tax bypass 2021-10-15 15:39:01 +01:00
Phoenix616
01b7cddaa3
Use correct tax amount 🙈 2021-10-15 15:26:44 +01:00
Phoenix616
6962ae2590
Added log messages to tax and discount module (#478) 2021-10-15 15:17:09 +01:00
Phoenix616
03317c2c78
Fix prefix not getting parsed with MineDown 2021-10-15 14:22:14 +01:00
TreyRuffy
bb7bd3415c
ChestShop Sign Dying (#479)
Signed-off-by: TreyRuffy <TreyRuffy@users.noreply.github.com>
2021-10-12 23:30:49 +01:00
Phoenix616
986a22fb73
Make sure to not load chunks to check for shops (Fixes #473) 2021-09-01 16:30:14 +01:00
Phoenix616
d193812392
Fix shop not buying/selling errors being the wrong way around 2021-07-25 22:31:11 +01:00
Phoenix616
13b727c779
Fix possible NPE when loading material sets from config 2021-07-09 11:26:30 +01:00
Phoenix616
d3cb06acc0
Use the correct messages 🙈 (Fixes #462) 2021-06-26 23:06:21 +01:00
Phoenix616
965d931978
Include prices in price restriction messages (Resolves #461) 2021-06-24 19:40:58 +01:00
Phoenix616
1b85bda656
Fix some block place and break access message issues
Messages were missing on block break and placement sent multiple.
2021-06-21 16:16:19 +01:00
Phoenix616
42a7cc4789
Check if sign actually applies to container (Fixes #460) 2021-06-21 16:07:42 +01:00
Phoenix616
df2e4394c4
Use more exact shop detection with /shopinfo 2021-06-13 15:48:04 +01:00
Max Lee
3cc219e86b
New Crowdin updates (#399) 2021-06-06 22:01:55 +01:00
Phoenix616
052560393c
Add additional plugin, server and java version stats 2021-06-04 00:35:27 +01:00
Phoenix616
2545b95d54
Fix ShowItem not working in messages 2021-05-16 19:53:30 +01:00
Phoenix616
f825995a85
Don't automatically add prefix to certain messages 2021-05-16 19:39:53 +01:00
Phoenix616
2be9207faa
Differentiate between shop accessing and administrating
This fixes LWC donation and display protections not working correctly
2021-05-16 00:31:33 +01:00
Phoenix616
5b214e09f5
Fix turning off default protection if protected externally (Fixes #445) 2021-05-16 00:17:25 +01:00
Phoenix616
d3ed650b74
Make LWC donation and display protections work with shops 2021-05-16 00:15:59 +01:00
Phoenix616
c9b8e136d1
Fix that shop info doesn't show when protected externally 2021-05-16 00:06:01 +01:00
Phoenix616
ca25dca6b0
Fix writing of config values with backslashes (Fixes #444)
The VALID_PLAYERNAME_REGEXP setting needs to be changed to "^\\w+$" to work properly.
2021-05-15 14:22:55 +01:00
Phoenix616
b09a1255a7
Allow building against latest Paper 2021-05-15 14:13:13 +01:00
Phoenix616
b8899c8333
Turn off internal protection for more protection plugins (Resolves #442)
This expands the TURN_OFF_DEFAULT_PROTECTION_WHEN_PROTECTED_EXTERNALLY
 config option so that it applies to more protection plugins rather than
 just LWC. Currently supported: BlockLocker, Deadbolt, Lockette (1.x),
 LockettePro (2.x) and SimpleChestLock
2021-05-04 16:36:32 +01:00
Phoenix616
07a22fa534
Try to create an account when creating shop for other players 2021-04-18 18:24:22 +01:00
Phoenix616
4172d8d484
Cancel sign change and interact if previous events are cancelled
This fixes that blocks get placed/items used when trying to auto-fill
 a shop sign and the sign is getting destroyed for some reason
2021-04-16 21:03:37 +01:00
Phoenix616
02cd9d4ec0
Work around getItemMeta returning null in some cases (Fixes #432) 2021-04-12 16:08:03 +01:00
Phoenix616
0c51af6b45
Further improve item name shortening for alias system (#425)
This will correctly shorten dashes and ignore the case when comparing
 name starts
2021-03-27 21:07:18 +01:00
Phoenix616
76e3f5b3c8
Add check if item has meta as that could've returned null (Fixes #427) 2021-03-27 18:44:04 +01:00
Phoenix616
66201a9062
Directly use Regex group matching to get playername (Fixes #428) 2021-03-27 18:34:03 +01:00
Phoenix616
ce7cade0a5
Fix potential case issues on item alias part matching 2021-03-26 15:57:38 +01:00
Phoenix616
b93361cd07
Fix shortened item aliases not working (Fixes #425) 2021-03-26 15:55:29 +01:00
Phoenix616
a3c5ec618a
Allow multiline comments and improve comment about Floodgate 2021-03-18 14:41:34 +01:00
Daniel B
f68a3203ac
Allow specifying of valid player names (#410)
This allows plugins which allow differently named players to work e.g. Floodgate. (Fixes #383)

Co-authored-by: Phoenix616 <max@themoep.de>
2021-03-17 22:46:05 +01:00
Rutger Kok
e6b05ff982 Add support for BlockLocker
It's no longer possible to open shops on chests that were protected by someone else.
2021-03-17 22:11:54 +01:00
Phoenix616
227e3e77f0
Update double chests too after transactions (Fixes #412) 2021-03-03 18:16:14 +01:00
Phoenix616
7b2fe6c1f3
Rework how accounts are queried from (short form) user names
The AccountQueryEvent will now check both, short names as well as full
 names and the getAccountFromShortName method will no longer check full
 names or offline player names. (Names in a short format wouldn't match
 them anyways)
This should not change the overal behaviour as the plugin uses the
 AccountQueryEvent internally as that is now checking for full name/
 offline player accounts. (And short names are matched first)
2021-02-24 15:18:15 +01:00
Phoenix616
68c9df2078
Re-add ability to quickly create buy shops by only specifying price
The change to the more advanced patterns required it to always specify B
2021-02-24 15:01:10 +01:00
Phoenix616
ebdebb81df
Implement /shopinfo command/chest click for shop info (Resolves #203)
The shop information can include the owner, available stock, the buy/
 sell prices and detailed item information from the ItemInfoEvent.
This also includes an item component in both /iteminfo and /shopinfo if
 ShowItem is installed.
2021-02-15 17:28:33 +01:00
Phoenix616
2f0e7b81a8
Add separate error message for invalid names 2021-02-05 15:26:39 +01:00
Phoenix616
320d9ad9fb
Fix adapter backwards compatiblity (and getHolder loading 🙈) 2021-01-28 17:33:40 +01:00
Phoenix616
65df4c40c6
Improve performance by using Paper's non-snapshot states if available 2021-01-28 17:18:42 +01:00
Phoenix616
22d3f262f5
Improve NameManager OfflinePlayer and UUID version handling (#383)
This also removes the deprecated methods which might interact with the
 changed methods in unintended ways from the NameManager and the
 PreTransactionEvent.
2021-01-28 15:26:23 +01:00
Phoenix616
ba47b82ba1
Make Admin Shops use containers if available (Resolves #402)
Admin Shops can now be stocked the same way as player shops if a valid
 shop container is nearby. If no container is nearby it will just work
 as an unlimited shop.

This behaviour can be disabled with the FORCE_UNLIMITED_ADMIN_SHOP
 config option so that an admin shop is unlimited even though a valid
 container is next to it.
2021-01-24 23:33:36 +01:00
Phoenix616
9843e92525
Make price line pattern matcher more strict (Fixes #401) 2021-01-14 19:01:04 +01:00
Phoenix616
71e8ef732f
Fix error in short item code generation logic (Fixes #395) 2021-01-06 20:08:38 +01:00
Phoenix616
66eaab7c4d
Include log level (if not INFO) and error stack trace in log file 2021-01-04 22:42:17 +01:00
Phoenix616
f12e6ed3b6
Use full item name instead of shortened for aliases
This fixes an issue where aliases would not show up in transaction
 messages when the aliases item's string was shortened.

Also remove an unnecessary string length calculation from the
 MaterialUtil getName method if there was no max width set.
2021-01-03 20:47:07 +01:00
Phoenix616
819f028774
Don't use contains check when searching alias without meta (Fixes #394) 2021-01-03 20:13:26 +01:00
Phoenix616
b774258051
Remove OddItem support and implement own alias system (Resolves #360)
Reasoning why this is part of the core and not a separate addon:
The impact of this function is extremely lightweight when (almost) no
 aliases are defined so someone who isn't using this should not have a
 worse experience.
Additionally including it in the core (similarly to the discounts,
 taxes and restrictions) promotes it's availability while not massively
 increasing the maintainability.

As for the OddItem removal:
That plugin hasn't been developed for over 7 years and such unique
 plugin support should really be added via separate addon using the
 events system which, with the new ItemStringQueryEvent, now actually
 supports doing that from an external plugin.
If someone really managed to run their own private fork of OddItem for
 all those years then they should be able to also provide such a simple
 addon.
2021-01-03 01:55:01 +01:00
Phoenix616
9dce41aa30
Work around internal issue with ender chests
At the moment they can't be shops anyways so this shouldn't have any impact.
2020-12-20 14:50:57 +01:00
Max Lee
4c44e49c54
New Crowdin updates (#375)
* New translations lang.en.yml (German)

* New translations lang.en.yml (Hungarian)

* New translations lang.en.yml (Czech)

* New translations lang.en.yml (Romanian)

* New translations lang.en.yml (Norwegian)

* New translations lang.en.yml (Chinese Traditional)

* New translations lang.en.yml (Portuguese, Brazilian)

* New translations lang.en.yml (Vietnamese)

* New translations lang.en.yml (Chinese Simplified)

* New translations lang.en.yml (Ukrainian)

* New translations lang.en.yml (Turkish)

* New translations lang.en.yml (Swedish)

* New translations lang.en.yml (Serbian (Cyrillic))

* New translations lang.en.yml (Russian)

* New translations lang.en.yml (Polish)

* New translations lang.en.yml (Dutch)

* New translations lang.en.yml (French)

* New translations lang.en.yml (Korean)

* New translations lang.en.yml (Japanese)

* New translations lang.en.yml (Italian)

* New translations lang.en.yml (Hebrew)

* New translations lang.en.yml (Finnish)

* New translations lang.en.yml (Greek)

* New translations lang.en.yml (Danish)

* New translations lang.en.yml (Catalan)

* New translations lang.en.yml (Arabic)

* New translations lang.en.yml (Afrikaans)

* New translations lang.en.yml (Spanish)

* New translations lang.en.yml (Spanish, Mexico)

* Include languages_mapping in crowdin config file
2020-12-07 18:13:04 +01:00
Phoenix616
395f0513a6
Improve ignore config setting comments to make it more clear 2020-12-04 15:01:26 +01:00
Phoenix616
4e40823d23
Fix ShowItem incompatibility as well as update adventure 2020-12-04 14:53:27 +01:00
Phoenix616
af32b041ff
Implement missing Inventory#isEmpty method in AdminInventory 2020-12-01 20:05:11 +01:00
Phoenix616
51e9d5f267
Use adventure text api in order to fix hover issues
This also has the side-effect of restoring CraftBukkit compatibility

Also move all libraries into a dedicated Libs package
2020-12-01 19:48:26 +01:00
Phoenix616
8aff3da550
Add ENSURE_CORRECT_PLAYERID to properties metrics chart
Also fix missing new line in metrics chart code.
2020-11-18 15:31:44 +01:00
Phoenix616
fd81bc143e
Ignore signs and transactions made by players with invalid names 2020-11-18 15:10:58 +01:00
Phoenix616
9bf6e1abc1
Check permission for shop name again after querying it
This protects people that use valid player names as admin shop names
 from people with the same username as well as other cases where the API
 is used to manage access to shops with certain special names.
2020-11-17 19:54:08 +01:00
Phoenix616
00fa83c56a
Improve UUID version handling (Fixes #382, #337)
This adds a new config option ENSURE_CORRECT_PLAYERID which lets one
 disable the check whether or not a player's UUID version matches the
 server's online/offline mode UUID version. Due to potential issues with
 offline players which might occur when this isn't checked disabling
 this can't really be supported and any issues should first be tested if
 they still occur with this option enabled.

This also forces the UUID to version 4 if the server runs in online mode
 as it should not be necessary in any normal setup to detect the UUID
 version dynamically in that case. (Dynamic detection is only necessary
 for offline mode which might potentially run behind a proxy)
2020-11-16 14:09:07 +01:00
Phoenix616
cbb605df81
Set default locale to English if it is set to an invalid one in config 2020-11-12 23:16:40 +01:00
Phoenix616
4bd443c69f
Fix NPE in StockCounter for admin shops/missing containers 2020-11-02 01:08:15 +01:00
Phoenix616
7a1c091c74
Fix NPE in StockCounter on autofill/no item found (Fixes #376) 2020-11-02 01:06:48 +01:00
Phoenix616
b43454531e
Add crowdin setup 2020-10-31 21:56:35 +01:00
Phoenix616
9a08e8897b
Don't allow opening of shops via sign by default
This has caused lots of confusion in the past regarding the first time
setup and might be a feature that people don't even want to have.
(e.g. to allow coloring of the signs with dyes)
2020-10-31 20:59:15 +01:00
Phoenix616
f0bf9a08ec
Add message to access and creative mode ignoring 2020-10-31 20:59:07 +01:00
Phoenix616
717dcc8d9d
Add German language file 2020-10-30 23:25:13 +01:00
Daniel Dušek
c7b07e04d2
Add - Czech localization file (#362) 2020-10-30 22:52:53 +01:00
Brice Frisco
8d98958c2d
Stock Counter (Resolves #365) (#368) 2020-10-30 22:45:16 +01:00
Phoenix616
a14aaa7235
Fix issues with LWC Single/Double Chest protections (Fixes #359) 2020-09-24 16:54:36 +01:00
Phoenix616
de14a1affb
Don't parse player name as count in /csgive (Fixes #355) 2020-09-14 14:36:10 +01:00
Corey Shupe
282c39c975
Implement LockettePro support and improve soft dependency handling (#354) 2020-09-10 14:32:34 +01:00
Phoenix616
741a10cb95
Update server economy account warning to include shop creation and uuid 2020-09-08 12:20:19 +01:00
Phoenix616
5bc23214e0
Fix issue with items that have a single character in name (Fixes #339) 2020-07-08 21:40:06 +01:00
Phoenix616
6a34054bc7
Add latest test profile 2020-07-08 21:38:54 +01:00
Phoenix616
d1f6b1616b
Fix sign sticker on 1.14+ 2020-07-08 21:01:33 +01:00
Phoenix616
8c1c80e138
Don't log SERVER_ECONOMY_ACCOUNT warning if it's not set 2020-07-04 18:18:59 +01:00
Phoenix616
efe9ff7024
Fix TURN_OFF_SIGN_PROTECTION not working (Fixes #233) 2020-07-03 18:56:29 +01:00
Phoenix616
742f838f09
Add support for component bungee messages
Requires at least BungeeCord commit a64c34d
2020-07-03 18:24:14 +01:00
Phoenix616
98985efd63
Fix legacy %material placeholder not working 2020-07-03 18:13:40 +01:00