Commit Graph

3167 Commits

Author SHA1 Message Date
Eric Su
9e24a52137 Fixed furnace cook-speed multiplier losing precision when calculating cook time 2021-03-03 21:08:15 +01:00
lukas81298
c7e42faa36 Do not create unnecessary copies of the passenger list 2021-03-03 20:55:13 +01:00
Jake Potrebic
40881ad673 added tnt minecarts to the tnt height nerf 2021-03-03 20:42:47 +01:00
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
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
Shane Freeder
d9b02e94d2
Misc thread dumps (#5200) 2021-02-23 21:06:12 +00: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
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
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
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
Shane Freeder
d4dcc1a2e6
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
e886d8118e
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
8bc0c6c318
Updated Upstream (CraftBukkit/Spigot) (#5169) 2021-02-05 22:52:27 +00:00
Yannick Lamprecht
002f65b8b8
living entity allow attribute registration (#4723) 2021-02-05 22:14:27 +00:00
Gergely Sarkozi
69a5c67b1d
fix calling setSize on dead slimes causing invincibility (fixes #5137) (#5168) 2021-02-05 21:24:45 +00:00
Aleksander Jagiello
8f5d9effd5 Add getMainThreadExecutor to BukkitScheduler 2021-01-30 21:39:58 +01:00
BillyGalbreath
313b5020b2
Allow adding items to BlockDropItemEvent (#5093) 2021-01-30 17:09:13 +01:00
Aikar
9a556d9da4
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2021-01-30 10:51:48 -05:00
Andrew Steinborn
72b2768ad3
Inline shift fields in EnumDirection (#5082) 2021-01-30 16:40:34 +01:00
Lukas Alt
ffff53fa7a
added option to disable pathfinding updates on block changes (#5123) 2021-01-30 16:34:38 +01:00
Gergely Sarkozi
b67081fd72
add DragonEggFormEvent (fixes #5110) (#5112) 2021-01-30 16:22:12 +01:00
Nassim
01082503ec
Add dropLeash variable to EntityUnleashEvent (#5130) 2021-01-30 14:23:15 +01:00
Aikar
c4d9cc8318
[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:
1b5ad2af SPIGOT-6316: PlayerBedLeaveEvent implements Cancellable

CraftBukkit Changes:
058b4df95 SPIGOT-6316: PlayerBedLeaveEvent implements Cancellable
2021-01-28 19:32:08 -05:00
Aikar
d0477d326b
[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:
08de4679f #789: Call EntityDropItemEvent when a wither rose is dropped
2021-01-28 18:32:05 -05:00
BillyGalbreath
d9f5f70188
EntityMoveEvent (#4614) 2021-01-28 19:26:20 +00:00
Jake Potrebic
a98d389d1f
Updated Upstream (CraftBukkit/Spigot) (#5119)
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:
c3e684ef SPIGOT-3789: Can't Remove Entity Equipment in Same Tick Spawned without using Consumer

Spigot Changes:
89d6047d Rebuild patches
2021-01-27 04:22:32 +00:00
Yive
fc4c0bc42e Reset shield blocking on dimension change 2021-01-24 18:13:28 +01:00
Beech Horn
1c8b6065ef Skip distance map update when spawning is disabled 2021-01-23 13:15:56 +01:00
Jake Potrebic
091e6700fe Added PlayerStonecutterRecipeSelectEvent
Co-Authored-By: MiniDigger <admin@minidigger.me>
2021-01-23 13:00:38 +01:00
HexedHero
fc885f966e Add toggle for always placing the dragon egg 2021-01-23 11:51:18 +01:00
Jake Potrebic
b3a6da3a75 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:
e70a125f #571: Expand the FishHook API

CraftBukkit Changes:
0bad58f1 #783: Expand the FishHook API
3636fb51 SPIGOT-6318: Fix smoke effect directions
2021-01-23 09:54:10 +01:00
Aikar
732b2f6b5a
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2021-01-19 18:12:01 -05:00
Matthew Miller
c5a39ffa2a
Add BlockPreDispenseEvent (#5075) 2021-01-19 22:55:25 +00:00
Andrew Steinborn
8aeb4c9c3f
Correctly skip pathfinder ticks for inactive entities (#5085)
Fixes #5083
2021-01-19 22:51:14 +00:00
HexedHero
0e420049ce Fix console spam when removing chests in water 2021-01-17 22:10:11 +01:00
Jake Potrebic
56b7935bb9 Add PlayerChangeBeaconEffectEvent
Signed-off-by: MiniDigger <admin@minidigger.me>
2021-01-17 21:39:34 +01:00
Jake Potrebic
2eda45c34f added Wither API 2021-01-17 21:01:11 +01:00
Jake Potrebic
97d0c571b4 Added Vanilla Entity Tags 2021-01-17 20:39:53 +01:00
Jake Potrebic
fccac282aa fix NPE in getDisplayNameComponent 2021-01-17 18:59:46 +01:00
Jake Potrebic
24e1403721 Configurable max leash distance 2021-01-17 18:47:37 +01:00
Jason
d6f730655a
Do not add passengers of entities that were above save limit (#5073)
Co-authored-by: Spottedleaf <spottedleaf@spottedleaf.dev>
2021-01-17 00:05:33 +00:00
Aikar
946cdd2d24
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2021-01-16 14:42:21 -05:00
Aikar
8f805412b2
Remove class 13 from netty preload - Fixes #5066
We apparently were mixing netty versions before, and 13 was removed from netty 4.1.50
but when cat fixed a bug in our pom in 1.16.5 it fixed the mixed versions issue.
2021-01-16 14:38:18 -05:00
Aikar
f6d3c6811e
Make ProjectileHitEvent Cancellable
Allows cancelling things like detonating TNT from Fire Arrows
2021-01-16 14:38:18 -05:00
Jake Potrebic
97b020f133 make schedule command per world 2021-01-16 20:25:34 +01:00
CDFN
aac07a271c Return chat component with empty text instead of throwing exception. Fixes #3328
Signed-off-by: MiniDigger <admin@minidigger.me>
2021-01-16 20:15:15 +01:00
Mariell Hoversholm
f27bc06596 Collision option for requiring a player participant
Closes #614.
2021-01-16 19:55:19 +01:00
dfsek
193f80148c Add StructureLocateEvent
Signed-off-by: MiniDigger <admin@minidigger.me>
2021-01-16 18:29:36 +01:00
Mariell Hoversholm
59222b5ba5 Add sendOpLevel API 2021-01-16 18:10:57 +01:00
Shane Freeder
d3dc24999e 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:
85b16b8a Update to Minecraft 1.16.5

CraftBukkit Changes:
f3f30947 Update to Minecraft 1.16.5

Spigot Changes:
018b9a0d Update to Minecraft 1.16.5
2021-01-16 02:18:38 +00:00
Jason
7438bbee46
Improve zombie villager curing exploit fix (#5054)
Instead of completely resetting a Villager's reputation for all players each time they are cured, we now only reset the relevant part of the reputation for only that player. This means the exploit is fixed and players cannot stack multiple cures until prices are down to 1, but doesn't have the same side effects that are commonly complained about with the current exploit fix.
2021-01-15 12:40:10 -05:00
Shane Freeder
eac03694fd 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:
7a6c3c9a Remove outdated build delay.
2021-01-15 16:28:53 +00:00
Shane Freeder
7232d8f2af EntityLoadCrossbowEvent#shouldConsumeItem 2021-01-14 15:53:42 +00:00
Jason
bd9ace578b
Add a config option to limit the number of entities of each type to load/save in a chunk (#4792) 2021-01-14 00:04:51 +00:00
Shane Freeder
6bafeb5a96 Move logic from last patch into correct place 2021-01-13 21:31:51 +00:00
Shane Freeder
9668118fdf disable entity ticking flag after watchdog obliteration 2021-01-13 21:29:05 +00:00
Jake Potrebic
ac69804c73
Updated Upstream (Bukkit/Spigot) (#5048)
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:
bf617659 SPIGOT-6313: Revert "SPIGOT-6274: Reloading configuration does not clear previous values"
e8fa7a07 SPIGOT-6274: Reloading configuration does not clear previous values

Spigot Changes:
5fc0fb4e SPIGOT-6306: Handle watchdog reloads and disabling by 0/negative times
2021-01-12 15:06:27 -05:00
Aikar
b109eef0d6
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2021-01-11 16:27:04 -05:00
Jason
9110bb8ee4
Fix villager boat exploit (#5047) 2021-01-11 21:23:11 +00:00
Aikar
3148b25b1c
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2021-01-11 14:12:09 -05:00
Shane Freeder
880a910a9b Properly track block update flags (actually fixes #5038) 2021-01-11 19:08:03 +00:00
Shane Freeder
ace3146df2 Fix debug stick update suppression (Fixes #5038) 2021-01-11 16:47:14 +00:00
Josh Roy
bb4247f862
Fix dumpitem command not checking sender (#5025) 2021-01-11 01:49:50 +00:00
Shane Freeder
b72a74e481
nerf nether search radius config (#4781) 2021-01-11 01:44:06 +00:00
Shane Freeder
ce8922b1d5 clone POI blockpos before dispatching 2021-01-10 18:36:38 +00:00
Aikar
4768e3c4ed
Optimize Loaded Chunks Cache Lookups
Reduces number of instructions a chunk lookup does
when accessing the last chunk cache. This reduces amount of work and opcodes
and allows better inlining.

In lots of profiling comparisons, this optimization was able to reduce the
cost of repeated chunk lookups that hit the cache pretty significantly.
2021-01-09 18:09:09 -05:00
Shane Freeder
6bf12bff71 Ensure POI removal occurs on the correct thread 2021-01-09 13:32:26 +00:00
Shane Freeder
6b3a6aefae Remove stale POIs 2021-01-09 14:23:09 +01:00