Commit graph

259 commits

Author SHA1 Message Date
kaboom
c052c8c79c Move skin-related code to player modules 2023-06-21 20:00:54 +03:00
Allink
1c3864e608
Limit selectors to 3 in broadcast commands (#345) 2023-06-03 23:00:32 +03:00
Luna
7fabfdae1a
Remove useless integer limit check (#344) 2023-06-03 23:00:02 +03:00
Allink
70c91538c0
Remove redundant distance selector check
Patched in Scissors, 345a876a96
2023-04-11 16:11:29 +01:00
Allink
1cd903e3d4
Make distance selector stricter 2023-04-10 20:47:10 +01:00
Allink
9e0cc8c034
Make username check stricter 2023-04-08 18:02:45 +01:00
Allink
6c375f0cb5
Make URL regex stricter 2023-04-08 16:49:46 +01:00
Allink
4d2455d45b
Make the /getjson command description truthful and add the MiniMessage functionality in /getjsonmm 2023-04-02 04:00:49 +01:00
Allink
4bbec866ff
Block summon subcommand in execute 2023-04-02 03:50:27 +01:00
Allink
9cf76a8ee6
Make links clickable again with a TextReplacementConfig
Fixes #341
2023-04-02 01:11:43 +01:00
Allink
d3f55a0451
Implement /bcv ourselves instead of using the Command class
It was broken.
2023-04-02 00:47:21 +01:00
Allink
d68dfb5b01
Refactor static final fields in PlayerPrefix module to be consistent 2023-04-02 00:29:39 +01:00
Allink
4183481143
Finalize PlayerPrefix module 2023-04-02 00:28:30 +01:00
Allink
41f0a14d0f
Make ProfileResponse a record class 2023-04-02 00:27:41 +01:00
Allink
23f20226ec
Finalize un-final command classes 2023-04-02 00:26:10 +01:00
Allink
88298b7007
Enforce stricter sender type checks across all player-only commands
Previously it was possible to bypass the "ConsoleCommandSender" check by running the command in a command block, and causing the server to throw an exception in console. Exceptions are bad.
2023-04-02 00:25:41 +01:00
Allink
d0246790cb
Update Paper API to 1.19.4 & limit commandModificationBlockLimit gamerule 2023-04-02 00:16:05 +01:00
Allink
4d0d1bb69b
Add new abusable 1.19.4 commands to execute blocklist 2023-04-01 23:54:23 +01:00
Allink
634661e1fa
Improve distance selector detection 2023-04-01 23:46:17 +01:00
Allink
a91c25f8c2
Use String#equals() instead of String == String in ServerCommand.java 2023-04-01 23:29:56 +01:00
Allink
1f18704dcd
Attempt to improve server performance under intense redstone load (#338) 2023-03-11 15:09:26 +02:00
Luna
98df416d89
Fix /execute command blocker bug (#337)
Fixes a bug where commands in /execute would not have modifications applied to them.
Example: `/execute run particle flame ~ ~ ~ 1 1 1 0 100 force @s` would not get modified before this PR, but now it gets modified to `/execute run particle flame ~ ~ ~ 1 1 1 0 10 force @s`
2023-02-25 18:45:50 +02:00
820b105327
Make the taken username check more accurate (#336)
Instead of using `Bukkit.getPlayer(name)`, now each player is manually iterated over to check if a username is taken. This fixes multiple problems, such as a player not being able to set their name to `a` because a player named `ab` is online, and a player not being able to set their username back to the one they joined with.
2023-02-06 03:10:41 +02:00
f6f5ae6efb
Fix the usage of the skin command (#335) 2023-02-02 10:20:10 +02:00
91481b94e4
Append to an empty component instead of the prefix (#334) 2023-01-09 15:09:34 +02:00
Allink
b3555d92d8
Display prefixes and display names in tab (#332) 2022-12-27 19:50:26 +02:00
Allink
cbbc4937d5
Fix & improve skin command, improve username command (#331)
* Use per-player ratelimit for /username

* Improve the skin system

- Migrates skin getting over to Mojang. I do indeed understand that the Mojang API is more ratelimited and generally harder to use, it should be noted that it has an almost 0% chance of error. Compare that to Ashcon which, on some days, has a 50% chance of actually recognizing your account exists
- Uses CompletableFutures and a ExecutorService for making requests
- Renames SkinDownloader class to SkinManager class
- Makes SkinManager class static
- Limits the /skin command per-player
2022-12-27 19:50:02 +02:00
411cdaa104
append new text instead of concatenating (#330) 2022-12-27 19:49:24 +02:00
baddda61aa
Use adventure for death messages (#329) 2022-11-18 16:09:55 +02:00
4a917201b4
Unblock selector even more (#327) 2022-11-05 00:11:40 +02:00
a1007853dd
Replace string concatenation with appending text components (#325)
* Replace string concatenation with appending text

* Fix inconsistent indentation

oops

* indentation

i forgor 💀
2022-11-01 15:02:25 +02:00
03a2fec6f4
Unblock selector in some commands (#324) 2022-10-31 00:10:24 +02:00
kaboom
1a0c094f4a Use guard clauses when possible
Closes #322
2022-10-16 03:08:35 +03:00
Kaboom
29207ef8b9
Merge pull request #318 from allinkdev/adventure
Use Adventure instead of legacy Bukkit/Spigot ChatColors
2022-10-16 02:40:37 +03:00
Allink
be3149dc7a
Make clearchat sendMessage to individual players instead of broadcasting 2022-10-15 23:25:56 +01:00
Allink
04b8ce1c3c
Migrate commands to Adventure, add new commands
New additions are Adventure-centric.
2022-10-15 23:25:26 +01:00
Allink
8296dc7075
Use a ChatRenderer and allow players to use MiniMessage in chat messages 2022-10-15 20:34:12 +01:00
business-fox
30f7768a4b
Block /scissors reload (#321)
* Block /scissors reload

Yeah this is another one of those "spam a random command until it breaks the server"
This only applies to servers which actually run scissors, which to my knowledge kaboom and all clones all run Scissors.
2022-10-11 22:24:00 +03:00
Allink
08f75cb374
Patch execute bypass (#320) 2022-08-13 18:26:59 +03:00
kaboom
1ebcae5e0c PlayerInteract.java: Remove dead code 2022-08-08 02:39:42 +03:00
Allink
5780f1a4a6
OOB Random Spawn Fix (#316)
* Add warning for "randomizeSpawn" option about the speed of chunk generation

* Limit random spawn to half a million blocks, which should hopefully fix the OOB error

* Recommend users to use Chunky for pre-world generation

* Add missing period

* Fix checkstyle violation
2022-07-18 20:32:19 +03:00
Allink
7f1057df08
Process player sign commands with Paper event (#319) 2022-07-18 20:30:56 +03:00
kaboom
afdd1c1b4f Don't attempt to remove broken entities 2022-05-21 20:14:24 +03:00
kaboom
9c42f5d9e9 Make a few entity limits configurable 2022-05-21 20:05:48 +03:00
kaboom
0cda7acb6a Use consistent style for imports 2022-05-21 00:53:30 +03:00
kaboom
9e32dc5c25 Replace existing gamerule checks with WorldGameRuleChangeEvent 2022-05-21 00:32:54 +03:00
Allink
69ef06fc32
Handle full server kicks separately from other join restrictions (#315)
* Handle full server kicks separately from other join restrictions (closes #312)

* Add missing condition

* Add bracket back

* Remove extra bracket

Co-authored-by: Kaboom <58372747+kaboombot@users.noreply.github.com>
2022-05-20 07:18:37 +03:00
kaboom
6936749213 Optimize user prefix loading/saving 2022-05-20 07:06:09 +03:00
kaboom
67220510b1 Set maximum line length to 100 characters 2022-05-20 07:06:09 +03:00
kaboom
78067effe2 Use spaces instead of tabs 2022-05-20 07:06:08 +03:00