Commit Graph

5651 Commits

Author SHA1 Message Date
Bjarne Koll 26be708f45 Remove streams from SensorNearest
The behavioural nearby sensors are validated every tick on the entities
that registered the respective sensors and are therefore a good subject
to performance improvements.

More specifically this commit replaces the Stream#filter usage with
ArrayList#removeIf as the removeIf method on an array list is heavily
optimized towards a single internal array re-allocation without any
further overhead on the removeIf call.

The only negative of this change is the rather agressive diff these
patches introduce as the methods are basically being reimplemented
compared to the previous stream-based implementation.

See: https://nipafx.dev/java-stream-performance/
Note: Updated LICENCE.md to release this commit under MIT
2021-03-03 20:26:44 +01:00
MiniDigger 5b5989b213 fix nullability of playerlist header/footer, closes #5290 2021-03-03 20:14:05 +01:00
Jason 45bc531dd3
Fix Material#getTranslationKey for Block Materials (#5294)
* Fix Material#getTranslationKey for Block Materials

* Cache the result of Material#isBlock
2021-03-02 16:27:34 -08:00
Riley Park 60e92c061b
fix #5292 with help from @JRoy 2021-03-02 08:39:36 -08:00
Riley Park 9907cedecb
New chat events for better Adventure support (#5289)
Bump Adventure to 4.6.0

fixes #5216
fixes #5261
fixes #5287
2021-03-01 19:07:12 -08:00
Camotoy 06900aef5e
Fix username connecting with no texture being overwritten by usercache (#4970) 2021-03-01 21:06:05 +00:00
Riley Park df4c68b669
fix #5279 - clickable links again 2021-02-28 18:40:19 -08:00
Michael ff5ff3af40
Print command usage for /paper entity list at more places (#5282) 2021-02-28 17:01:26 -06:00
Paul Zhang 5d779a6212 Implements PlayerHandshakeEvent#getOriginalSocketAddressHostname and deprecates PlayerHandshakeEvent(String, boolean) in favour of PlayerHandshakeEvent(String, String, boolean) 2021-02-27 15:43:33 +01:00
Tom 6fab1ee3aa Expose Tracked Players
A lot of plugins seem to use reflection to determine this, so this could be a bit of a starter-patch as future PR'ers could also exposed tracked entities as well.
2021-02-27 15:34:33 +01:00
Tom b53a650a59 Clear SyncLoadInfo 2021-02-27 15:28:26 +01:00
Mariell Hoversholm c02c22fde5 fix: legacy component serialisation was wiped out
When merging 4e958e229f, nobody caught the
fact we removed the component serialisation of legacy BungeeCord Chat
API components in the PacketPlayOutTitle class.

Test plugin code:

```kotlin
class LegacyMessageCommand : BaseCommand() {
    override fun register(manager: PaperCommandManager<CommandSender>) {
        manager.command(manager.commandBuilder("legacymsg")
            .sender<Player>()
            .handler {
                val component = ComponentBuilder("Test")
                    .color(ChatColor.DARK_RED)
                    .bold(true)
                    .append(" message")
                    .bold(false)
                    .color(ChatColor.of("#f8a8a8"))
                    .event(
                        HoverEvent(
                            HoverEvent.Action.SHOW_TEXT,
                            Text(
                                ComponentBuilder("Test hover")
                                    .color(ChatColor.AQUA)
                                    .underlined(true)
                                    .create()
                            )
                        )
                    )
                    .event(
                        ClickEvent(
                            ClickEvent.Action.SUGGEST_COMMAND,
                            "/legacymsg"
                        )
                    )
                    .create()
                it.sender.sendMessage(*component)
                it.sender.sendActionBar(*component)
                it.sender.sendTitle(
                    Title.builder()
                        .title(component)
                        .subtitle(component)
                        .fadeIn(40)
                        .stay(60)
                        .fadeOut(40)
                        .build()
                )
            })
    }
}
```

Fixes GH-5271.
2021-02-27 12:46:57 +01:00
Mariell Hoversholm 2dd5dccf00
Add config option for displayname in quit message (#5260)
This restores the behaviour to vanilla by default, but may be changed if
one wants to.

Fixes #5259.
2021-02-26 17:54:48 +00:00
Josh Roy 63fe5e4b77 Fix further issues with rgb text pattern matching 2021-02-25 19:38:56 +01:00
Shane Freeder 89be8185db
Don't grab the threads stacktrace when dumping same thread
For some reason, this doesn't always seem to capture all states of shutdown,
either the logger is just being fun, or, potentially, the thread is already
marked as dead when we're getting called so the trace is not generated through
the method on Thread
2021-02-24 18:45:21 +00:00
Aikar ca4c781d83
[Auto] Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
95ff95ed #588: Add Player#sendBlockDamage()

CraftBukkit Changes:
ea050e6e9 #807: Add Player#sendBlockDamage()
2021-02-24 04:32:17 -05:00
Riley Park 6ae2121257
Display name should never be null 2021-02-23 16:48:02 -08:00
Aurora bf2f8aeaf6
Add @NotNull to Key in org.bukkit.sound (#5241)
Fix compiling
2021-02-23 16:20:52 -08:00
Riley Park 01f9b65f90
Sound can implement Adventure's Sound.Type 2021-02-23 15:45:26 -08:00
Riley Park aa282a1a04
Don't try to deserialize a null string in legacy method 2021-02-23 13:40:49 -08:00
Aikar 9bcd08cb3c
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2021-02-23 16:11:50 -05:00
Aikar ea6fd6076c
[Auto] Updated Upstream (Bukkit)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
fcbd2266 #587: Fix various javadoc typos
2021-02-23 16:10:04 -05:00
Shane Freeder d9b02e94d2
Misc thread dumps (#5200) 2021-02-23 21:06:12 +00:00
Riley Park a0093e142b
Adventure 4.5.1 2021-02-23 11:20:15 -08:00
MeFisto94 afea0e8abf
Add links to the Adventure javadocs
fixes #5239
2021-02-23 11:20:04 -08:00
Jason 846783c8ab
Fix a couple of typos in the javadoc for Player (#5235) 2021-02-23 05:46:02 -08:00
Jason a2574d8f5e
Replace usages of LegacyComponentSerializer.legacySection() in Paper-Server with PaperAdventure.LEGACY_SECTION_UXRC (#5233) 2021-02-23 05:45:09 -08:00
Jason cae142b85d
Enable Hex colors on PaperAdventure.LEGACY_SECTION_UXRC, and use it for sending messages to console command sender (#5230)
This fixes messages to console having colors stripped, and also fixes colors being downsampled in PlayerConnection#disconnect(String)
2021-02-22 22:43:49 -08:00
chickeneer c1635eabb4 PlayerDeathEvent#getDeathMessage should provide translation for legacy reasons #5227 2021-02-23 04:10:41 +01:00
Josh Roy 3f74af2028
Fix Log4J converter not parsing hex without named colors (#5228) 2021-02-23 02:43:05 +00:00
Riley Park d5cb9308f2
fix #5224 2021-02-22 10:24:44 -08:00
Riley Park d23f8b62ef
fix? #5222 2021-02-22 06:15:22 -08:00
Riley Park 0f2575de29
fix? #5222 2021-02-22 05:33:41 -08:00
Riley Park 7c3499702e
fix? #5218 2021-02-22 04:31:51 -08:00
Riley Park c8eec830b5
fix #5217 2021-02-22 03:12:40 -08:00
Riley Park a235c77ce7
Adventure 4.5.0 2021-02-22 02:52:30 -08:00
Riley Park 511cd52f02
fix #5214 2021-02-22 01:53:53 -08:00
Riley Park 33d4f608ba
fix stupid legacy chat garbage 2021-02-22 00:45:21 -08:00
Riley Park a1eebfea96
fix #5212 and #5213 2021-02-22 00:20:23 -08:00
MiniDigger | Martin 4668201606
Upstream Update (#5211) 2021-02-21 20:55:01 +00:00
Josh Roy 2a0ee4b65d Add support for hex color codes in console 2021-02-21 21:05:42 +01:00
Riley Park 4e958e229f
We're going on an Adventure! (#4842)
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
Co-authored-by: zml <zml@stellardrift.ca>
Co-authored-by: Mariell Hoversholm <proximyst@proximyst.com>
2021-02-21 20:45:33 +01:00
Bierque Jason 1a97356116
Stop loop when flags set to false (#5101) 2021-02-21 12:34:08 +00:00
Aikar a5928db4a8
[Auto] Updated Upstream (CraftBukkit)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
b7eed2546 SPIGOT-6307: Allow chest locks with legacy color codes to match against items with json colors
2021-02-20 18:06:30 -05:00
Max Lee 5fd19303fe
Call PreCreatureSpawnEvent for more spawn reasons (#5201) 2021-02-18 21:39:03 +00:00
Shane Freeder 0ea3083817
Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
1e843b72 #510: Add NamespacedKey#fromString() to fetch from user input
a4d18241 #581: Add methods to modify despawn delay for wandering villagers

CraftBukkit Changes:
0cd8f19f #802: Add methods to modify despawn delay for wandering villagers
d5c5d998 SPIGOT-6362: ConcurrentModificationException: null --> Server Crash
8c7d69fe SPIGOT-5228: Entities that are removed during chunk unloads are not properly removed from the chunk.
2021-02-16 17:13:49 +00:00
Aikar 088fa6f28b
[Auto] Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
5b289e69 SPIGOT-5778: Added World.getGameTime method

CraftBukkit Changes:
d97d91871 SPIGOT-6347: Nether Portals Default to Nether, even in Nether
8aa6a953f SPIGOT-5778: Added World.getGameTime method

Spigot Changes:
73fb6094 #107: Add async catching to chunk entity add/remove
2021-02-12 18:42:12 -05:00
Jason bd7c1d88b1
Merchant#getRecipes should return an immutable list (#5183)
This fixes a confusing issue where doing 'merchant.setRecipes(merchant.getRecipes());' would clear the merchants recipes, as the implementation of getRecipes is guavas Lists.transform wrapped in Collections.unmodifiableList, and the implementation of setRecipes clears the backing list before adding the elements of the provided list to the backing list.
The javadoc for the getRecipes method says 'an immutable list of trades', so this patch makes the javadoc correct.
2021-02-10 23:06:34 +00:00
Max Lee 3dadd97bbc
[CI-SKIP] [Meta] Exempt more labels from being marked as stale (#5142)
* Exempt more labels from being marked as stale

* Order alphabetically and add suggestions

Also don't go deeper I guess 👀
2021-02-08 11:26:21 +01:00
Aikar 36a72cad30
[Auto] Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
315b69c1 SPIGOT-6349: Material#MOSSY_COBBLESTONE incorrectly claims it is a MultipleFacing block

CraftBukkit Changes:
a82b21297 BUILDTOOLS-569: development maven profile fails build on windows

Spigot Changes:
cd23533a Rebuild patches
2021-02-08 05:17:10 -05:00