Commit graph

2990 commits

Author SHA1 Message Date
lukas81298
66415b48bc Do not create unnecessary copies of the passenger list 2020-12-20 01:50:50 +01:00
Jake Potrebic
b780d4099f added tnt minecarts to the tnt height nerf 2020-12-02 22:08:20 -08:00
Bjarne Koll
64e1a54657 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 03:52:43 +01:00
MiniDigger | Martin
de5a2a4108 fix nullability of playerlist header/footer, closes #5290 2021-03-03 20:08:25 +01:00
Jason Penilla
b0df4d17c8 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
b24a51c0e3 fix #5292 with help from @JRoy 2021-03-02 08:39:36 -08:00
Riley Park
c0db0192b2 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
4299111876 Fix username connecting with no texture being overwritten by usercache (#4970) 2021-03-01 16:06:05 -05:00
Riley Park
7bb59f4a28 fix #5279 - clickable links again 2021-02-28 18:40:19 -08:00
Michael
a26dc45546 Print command usage for /paper entity list at more places (#5282) 2021-02-28 15:01:26 -08:00
Paul Zhang
1bc1a162c4 Implements PlayerHandshakeEvent#getOriginalSocketAddressHostname and deprecates PlayerHandshakeEvent(String, boolean) in favour of PlayerHandshakeEvent(String, String, boolean) 2021-02-23 16:47:06 +01:00
Tom
f1400a74c5 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-26 16:27:53 -06:00
Tom
b190bc7e8a Clear SyncLoadInfo 2021-02-26 16:14:02 -06:00
Mariell Hoversholm
04fbd54c3b fix: legacy component serialisation was wiped out
When merging 2e419805ad, 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:02:06 +01:00
Mariell Hoversholm
31433b07f6 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 18:54:48 +01:00
Josh Roy
fb41a4b95e Fix further issues with rgb text pattern matching 2021-02-25 13:27:15 -05:00
Shane Freeder
1487ee284e 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
Riley Park
46be0dcaf3 Display name should never be null 2021-02-23 16:48:02 -08:00
Riley Park
2e594bd059 Don't try to deserialize a null string in legacy method 2021-02-23 13:40:49 -08:00
Shane Freeder
89e9a596cb Misc thread dumps (#5200) 2021-02-23 21:06:12 +00:00
Jason Penilla
9cf511130f Replace usages of LegacyComponentSerializer.legacySection() in Paper-Server with PaperAdventure.LEGACY_SECTION_UXRC (#5233) 2021-02-23 05:45:09 -08:00
Jason Penilla
36e0569896 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
3d23a7351e PlayerDeathEvent#getDeathMessage should provide translation for legacy reasons #5227 2021-02-22 20:42:58 -06:00
Josh Roy
cd60d3a8f9 Fix Log4J converter not parsing hex without named colors (#5228) 2021-02-22 21:43:05 -05:00
Riley Park
30fd8a86d9 fix #5224 2021-02-22 10:24:44 -08:00
Riley Park
3effca65b6 fix? #5222 2021-02-22 05:33:41 -08:00
Riley Park
33e2178416 fix? #5218 2021-02-22 04:31:51 -08:00
Riley Park
6d82aa6d89 fix #5217 2021-02-22 03:12:40 -08:00
Riley Park
7b8399ab04 fix #5214 2021-02-22 01:53:53 -08:00
Riley Park
e1763a2679 fix stupid legacy chat garbage 2021-02-22 00:45:21 -08:00
Riley Park
b856bf08b9 fix #5212 and #5213 2021-02-22 00:03:03 -08:00
MiniDigger | Martin
db0dd75a20 Upstream Update (#5211) 2021-02-21 21:55:01 +01:00
Josh Roy
8bafdd49dc Add support for hex color codes in console 2021-02-20 13:12:58 -05:00
Riley Park
2e419805ad 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 11:45:33 -08:00
Bierque Jason
1f2b6f865b Stop loop when flags set to false (#5101) 2021-02-21 13:34:08 +01:00
Max Lee
bcb2a139ee Call PreCreatureSpawnEvent for more spawn reasons (#5201) 2021-02-18 22:39:03 +01:00
Shane Freeder
20e500fadc 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:08:29 +00:00
Automated
c51e3e6e51 [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 Penilla
79720eaf85 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 15:06:34 -08:00
Shane Freeder
93ff88d6c8 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:
e5cb519d #793: Don't unnecessarily toString block in CraftBlockEntityState constructor
2021-02-06 00:02:44 +00:00
Shane Freeder
9c04c8c390 Updated Upstream ()
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
2021-02-06 00:00:18 +00:00
Mariell Hoversholm
0677694e78 Updated Upstream (CraftBukkit/Spigot) (#5169) 2021-02-05 23:52:27 +01:00
Yannick Lamprecht
c07b432618 living entity allow attribute registration (#4723) 2021-02-05 23:14:27 +01:00
Gergely Sarkozi
8597a42d37 fix calling setSize on dead slimes causing invincibility (fixes #5137) (#5168) 2021-02-05 22:24:45 +01:00
Aleksander Jagiello
3b47c76275 Add getMainThreadExecutor to BukkitScheduler 2021-01-28 21:01:25 +01:00
BillyGalbreath
cf323f5eaa Allow adding items to BlockDropItemEvent (#5093) 2021-01-30 10:09:13 -06:00
Andrew Steinborn
2f5eaee571 Inline shift fields in EnumDirection (#5082) 2021-01-30 10:40:34 -05:00
Lukas Alt
0718db9f9a added option to disable pathfinding updates on block changes (#5123) 2021-01-30 16:34:38 +01:00
Gergely Sarkozi
26d832041b add DragonEggFormEvent (fixes #5110) (#5112) 2021-01-30 16:22:12 +01:00
Nassim Jahnke
8c0bedeefc Add dropLeash variable to EntityUnleashEvent (#5130) 2021-01-30 14:23:15 +01:00