Commit Graph

3288 Commits

Author SHA1 Message Date
Riley Park
2dcf8bff4f
legacy formatting will be the death of me 2021-03-09 10:03:27 -08:00
Riley Park
f597fea0de
legacy formatting is worse than walking around in wet socks 2021-03-09 09:27:12 -08:00
Riley Park
7f72c4675b
Use implementation-provided legacy serializer for events 2021-03-08 17:11:17 -08:00
Riley Park
27a8d99ec4
Adventure 4.7.0 2021-03-08 16:44:40 -08:00
Mariell Hoversholm
e65bd35a12
Respect teams in legacy chat name if configured (#5321) 2021-03-08 15:14:49 -08:00
Josh Roy
b31089a929
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#5325)
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:
d264e972 #591: Add option for a consumer before spawning an item
1c537fce #590: Add spawn and transform reasons for piglin zombification.

CraftBukkit Changes:
ee5006d1 #810: Add option for a consumer before spawning an item
f6a39d3c #809: Add spawn and transform reasons for piglin zombification.
0c24068a Organise imports

Spigot Changes:
bff52619 Organise imports
2021-03-08 15:12:31 -08:00
Riley Park
a52b30814f
Fix title swapping fadeIn and stay 2021-03-08 12:38:00 -08:00
chickeneer
54ec85949d Prevent grindstones from overstacking items 2021-03-07 11:59:40 +01:00
Jake Potrebic
28cd686bff
fix per-world difficulty command (#5306) 2021-03-07 08:37:05 +00:00
Jake Potrebic
5b20df6bf0 added PlayerNameEntityEvent 2021-03-04 23:55:04 +01:00
Jake Potrebic
ff9c82444e Add worldborder events 2021-03-04 21:13:24 +01:00
Jake Potrebic
616b1f3cd0 consider enchants for destroy speed 2021-03-04 20:48:08 +01:00
Jake Potrebic
aaef1d5cca fix file conversion 2021-03-04 19:59:23 +01:00
Phoenix616
674d8f7f7e Make discovered maps config work in treasure maps from loot tables too 2021-03-04 19:37:21 +01:00
Trigary
be16879144 stop firing pressure plate EntityInteractEvent for ignored entities (fixes #4962) 2021-03-04 18:53:25 +01:00
Shane Freeder
7d56f38ed0
Do not use the bukkit singleton for the GUI (Fixes #5301) 2021-03-04 01:39:18 +00:00
Josh Roy
4c9bdf53ac
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#5299)
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:
9d0ad318 Fix javadoc errors in previous commits
9501daa2 #578: Add methods to modify the rate of regeneration and starvation
197d8f3d #577: Add EntityExhaustionEvent

CraftBukkit Changes:
a021e334 #795: Add methods to modify the rate of regeneration and starvation
509e523c #792: Add EntityExhaustionEvent

Spigot Changes:
db99f821 Rebuild patches
2021-03-03 14:43:45 -08:00
AlexProgrammerDE
8647bd1307 Improve ServerGUI
- Added logo to server frame
- Show tps in the server stats
2021-03-03 22:16:32 +01:00
Mariell Hoversholm
fcc6d33590 Throw proper exception on empty JsonList file
Related to #4174, #4717.

As it stands, `JsonList` throws an NPE on `jsonarray.iterator()` when
the reader given is at EOF. This means there is an unintelligible
message shown to the player:

```
[16:44:31 ERROR]: Encountered an unexpected exception
java.lang.NullPointerException: Cannot invoke "com.google.gson.JsonArray.iterator()" because "jsonarray" is null
	at net.minecraft.server.v1_16_R2.JsonList.load(JsonList.java:192) ~[patched_1.16.3.jar:git-Paper-248]
	at net.minecraft.server.v1_16_R2.DedicatedPlayerList.y(SourceFile:95) ~[patched_1.16.3.jar:git-Paper-248]
	...
```

This is clearly not understandable to the untrained eye: what is
`jsonarray`? What is `DedicatedPlayerList.y`?

This rather does a proper exception message:

```
[16:42:59 ERROR]: Encountered an unexpected exception
java.lang.NullPointerException: The file "banned-players.json" is either empty or corrupt
	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:787) ~[paper-1.16.3.jar:git-Paper-"8e6d90c2d"]
	at net.minecraft.server.v1_16_R2.JsonList.load(JsonList.java:190) ~[paper-1.16.3.jar:git-Paper-"8e6d90c2d"]
	at net.minecraft.server.v1_16_R2.DedicatedPlayerList.y(SourceFile:95) ~[paper-1.16.3.jar:git-Paper-"8e6d90c2d"]
	...
```

It is still an exception, which server owners may or may not understand,
but the message now says exactly what went wrong, and who would've
known, now we know what `DedicatedPlayerList.y` is, and we know what
file was broken.

This is more of a quality of life change, but it is certainly useful to
the server owners that come into `#paper-help` and the issue tracker
(#4174) to ask for help with unintelligible messages we need to open a
patched Paper project to make any sense out of.

Check state of jsonarray instead of checkNotNull

Co-authored-by: Riley Park <riley.park@meino.net>
2021-03-03 21:56:04 +01:00
Jake Potrebic
17d2e1291e Fix interact event in adventure mode 2021-03-03 21:44:30 +01:00
TheShermanTanker
964e0bf42b MC-29274: Fix Wither hostility towards players 2021-03-03 21:35:57 +01:00
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
Prof-Bloodstone
7cbd4ca191
Remove patch for not searching for portal creation when looking down (#5031)
Previous commit 97b2eadf1 pulled upstream change that implements the exact same fix.

CB change: 7029c0a8f3

Co-authored-by: Professor Bloodstone <git@bloodstone.dev>
2021-01-09 11:28:28 +00:00
Aikar
97b2eadf17
[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:
7029c0a8f SPIGOT-6311: Don't calculate portal shapes for up/down directions
2021-01-08 22:07:02 -05:00
Matthew Miller
8ab9dc066a
Add API to get exact interaction point in PlayerInteractEvent (#4995) 2021-01-08 05:26:51 +00:00
Mariell Hoversholm
a62238a998 Empty commands shall not be dispatched
Fixes PaperMC/Paper#5018.
2021-01-06 23:57:54 +01:00
Jake Potrebic
60df44b111 Configurable door breaking difficulty 2021-01-06 15:06:54 +01:00
lukas81298
428db483a7 don't search for portal creation when looking down 2021-01-05 19:02:11 +01:00
Shane Freeder
66d3e62281 Print name of busted server config files 2021-01-05 11:21:03 +00:00
Jake Potrebic
c7667378e7 Added PlayerLoomPatternSelectEvent 2021-01-04 20:37:05 +01:00
Ivan Pekov
00972e80d1 Reimplement GS4QueryEvent 2021-01-04 20:17:29 +01:00
Jake Potrebic
7d56c8deb1 Added PlayerLecternPageChangeEvent 2021-01-03 21:05:07 +01:00
TheViperShow
c7cdf255bf Add BlockFailedDispenseEvent
Co-authored-by: MiniDigger <admin@minidigger.me>
2021-01-03 20:40:11 +01:00
Jake Potrebic
c8a8d6fbe9 Added world settings for mobs picking up loot 2021-01-03 19:43:35 +01:00
Jake Potrebic
91eda5bd37 Added ServerResourcesReloadedEvent 2021-01-03 19:39:53 +01:00
Jake Potrebic
d075e748ed colorful itemdump 2021-01-03 18:44:17 +01:00
Jake Potrebic
f3ba3dee05 Added WorldGameRuleChangeEvent 2021-01-03 18:31:15 +01:00
HexedHero
086d201184 Guardian beam workaround 2021-01-03 18:16:54 +01:00
Mariell Hoversholm
b63c890ec2 Support spawning item stacks 2021-01-03 17:41:44 +01:00
Jake Potrebic
d7d74c552e added height config for bamboo 2021-01-03 17:23:10 +01:00
JRoy
50e70697b1 Add EntityLoadCrossbowEvent 2021-01-03 16:59:24 +01:00
stonar96
f344e092cd Add Anti-Xray bypass permission
This is a frequently requested feature. The permission is
'paper.antixray.bypass'.
2021-01-03 16:46:01 +01:00
Jake Potrebic
9fd31e6751 fix for nerfed slime mobs splitting 2021-01-03 16:31:02 +01:00
Jake Potrebic
4a7962cd13 Zombie API - breaking doors 2021-01-03 16:18:13 +01:00
TheMolkaPL
5650a41f5e Fix interact event not being called in adventure 2021-01-03 15:55:39 +01:00
MisterVector
2c9ed43354 Add PlayerFlowerPotManipulateEvent 2021-01-03 14:27:52 +01:00
Aikar
1f32290b68
[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:
ff2b9440f SPIGOT-6304: Removed the detection of legacy text based on color codes
2021-01-03 01:37:08 -05:00
Andrew Steinborn
d87694a202
Redact Velocity forwarding secret properly (#4980) 2021-01-02 04:59:30 +00:00
BrodyBeckwith
f13b4727eb Allow disabling mob spawner spawn egg transformation 2021-01-01 17:08:37 +01:00
lukas81298
525b50737a Cache burn durations 2021-01-01 16:56:50 +01:00
lukas81298
2c37d1077f Optimized tick ready check 2021-01-01 16:43:21 +01:00
Matthew Miller
b4000b01a7 Add API to get the Material of Boats and Minecarts 2021-01-01 16:05:59 +01:00
Mariell Hoversholm
f1317386dc Fix sign lazy initialisation
Fixes PaperMC/Paper#4975
2021-01-01 14:51:05 +01:00
Jake Potrebic
9f61759d90
Updated Upstream (CraftBukkit/Spigot) (#4972)
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:
560b65c4 #707, SPIGOT-5063, SPIGOT-5304, SPIGOT-5656, SPIGOT-3206, SPIGOT-5350, SPIGOT-5980, SPIGOT-4672: Persist the exact internal text representation where possible.

Spigot Changes:
ff439d1e Rebuild patches
2020-12-31 23:03:19 -05:00
PepperCode1
9f4055d993 Fix harming potion dupe
EntityLiving#applyInstantEffect() immediately kills the player and drops their inventory.
Before this patch, instant effects would be applied before the potion ItemStack is removed and replaced with a glass bottle. This caused the potion ItemStack to be dropped before it was supposed to be removed from the inventory. It also caused the glass bottle to be put into a dead player's inventory.
This patch makes it so that instant effects are applied after the potion ItemStack is removed, and the glass bottle is only put into the player's inventory if the player is not dead. Otherwise, the glass bottle is dropped on the ground.
2020-12-31 18:43:21 +01:00
Aikar
7bfb781ff3
Additional Block Material API's
Faster version for isSolid() that utilizes NMS's state for isSolid instead of the slower
process to do this in the Bukkit API

Material#isSolid uses a large switch statement which isn't as performant vs a simple boolean return

Adds API for buildable, replaceable, burnable too.
2020-12-30 19:43:45 -05:00
Aikar
0eaffd0082
Micro Optimize DataBits
There was 2 unnecessary lines of code in a core method used for DataBits
that repeatedly calculated a static value.

We now just precalculate that in the constructor and reuse the value instead.

This is a micro optimization, but this is some of the hottest code in the server so
it should provide some minor gains as well as improve inlining.

Additionally, to further help inlining, mark the DataBits methods as final.
2020-12-30 14:02:44 -05:00
jmp
8ccb7fd679 Add and implement cancellable TargetHitEvent for when Target Blocks are hit by Projectiles 2020-12-29 16:28:47 +01:00
Aikar
1c2571224e
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2020-12-28 07:31:48 -05:00
Jake Potrebic
2b312dfbe2 Add OBSTRUCTED result to BedEnterResult enum 2020-12-28 13:18:38 +01:00
Aikar
a5201ac989
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2020-12-28 07:11:59 -05:00
Jake Potrebic
fb7503399a added PlayerTradeEvent 2020-12-28 13:07:48 +01:00
Aikar
e4633ca277
[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:
f4a9ed36 SPIGOT-6273: Expose ItemFrame ItemDropChance through API

CraftBukkit Changes:
72c5e7477 SPIGOT-6273: Expose ItemFrame ItemDropChance through API
2020-12-27 17:07:01 -05:00
Shane Freeder
d9fd54e16c Do not crash from invalid ingredient lists in VillagerAcquireTradeEvent 2020-12-27 11:31:49 +00:00
Toshimichi0915
24388381ad Fix lead duplication 2020-12-25 12:46:00 +01:00
Matthew Miller
0bdfb01589 Add API to get Tile Entities in a Chunk by Predicate 2020-12-24 10:27:49 +01:00
Jake Potrebic
4643944343
fix book page limit length (#4932) 2020-12-23 22:52:56 +00:00
Aikar
98a702c7d5
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2020-12-22 18:07:03 -05:00
Mark Vainomaa
cab361600b Expose LivingEntity hurt direction 2020-12-22 23:57:07 +01:00
Shane Freeder
7ef05fbd8a Do not perform neighbour updates when using debug stick (Fixes #2134)
CB blindly drops any update flags when recording block modifications,
this causes the debug stick to blindly update neighbouring blocks on usage
in order to control this, we will special case this item, however, this
ideally should be fixed by recording the actual update flags used,
but will induce ABI breaks...

This patch also maintains the behavior of the BlockPlaceEvent, this
behavior will NOT be guaranteed in the future, however.
2020-12-22 22:45:10 +00:00
Aikar
a70924789b
[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:
6917945f0 SPIGOT-6289: Fix setting entity equipment
2020-12-22 16:02:19 -05:00
Aikar
c83a661f6e
Optimize Dynamic#get Missing Keys
get was calling toString() on every NBT object that was ever asked for an optional
key from the object to build a string for the error text.

When done on large NBT objects, this was using a ton of computation time building the
JSON representation of the NBT object.

Now we will just skip the value when 99.9999% of the time the text is never even printed.
2020-12-21 11:03:36 -05:00
Shane Freeder
abca14ff96 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:
6f9fe1d9 #562: Add API to set equipment silently
bcddb754 SPIGOT-6256: Add method to check if the entity is in water

CraftBukkit Changes:
878b4375 #772: Add API to set equipment silently
22d7fcc9 SPIGOT-6256: Add method to check if the entity is in water
2020-12-21 07:56:22 +00:00
Bastian Oppermann
d5f3458c8c
Adjust bStats data sending delay (#4914)
Many servers tend to restart at a fixed time at xx:00 which causes an
uneven distribution of requests on the bStats backend. To circumvent
this problem, this commit introduces some randomness to the initial
and second delay.
2020-12-20 15:41:00 +00:00
Simon Gardling
4e16d36e29 Fix typo in 0368-Asynchronous-chunk-IO-and-loading.patch 2020-12-19 11:52:54 +01:00
Aikar
9623b5f19c
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2020-12-17 16:57:03 -05:00
BillyGalbreath
fe5f035db7 Fix CraftSound backwards compatibility 2020-12-17 22:53:39 +01:00
MiniDigger
fb36f15d6c
Let some more packets be send immediately, closes #4140 (#4896)
Signed-off-by: MiniDigger <admin@minidigger.me>
2020-12-16 17:16:03 -05:00
cakoyo
ede41fe163 Emancipate more features to PlayerHandshakeEvent
* The hostname and socket address was not null when the event fired, but the event does not provide the value, the change allows plugins to use the old value.
* Since `proxyLogicEnabled` will be checked after the event fired, to check the config value will allow plugins to modify it during the event handling.

Signed-off-by: MiniDigger <admin@minidigger.me>
2020-12-16 21:52:21 +01:00
ysl3000
e7b9a478e9 Player Chunk Load/Unload Events
Co-authored-by: Mariell <proximyst@proximyst.com>
2020-12-16 20:23:35 +01:00
BillyGalbreath
1d0cfc0cc2 MC-4 Fix item position desync 2020-12-16 20:09:05 +01:00
Shane Freeder
458db6206d Limit auto recipe packets 2020-12-14 03:18:46 +00:00
Aikar
9c9583cd2b
[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:
8f495b8d #564: Add method to get max world size

CraftBukkit Changes:
768d7fc2d #773: Add method to get max world size

Spigot Changes:
628435a8 #103: Add async catchers to Chunk#getEntities
2020-12-12 19:42:05 -05:00
BillyGalbreath
31ac45a0a2 Fix curing villager makes equipment disappear 2020-12-10 19:31:19 +01:00
Shane Freeder
cc04948176 Tick inactive goal selectors 2020-12-09 20:31:08 +00:00
MiniDigger
c19ec63941 fix 4878 by always calling events using bukkit singleton 2020-12-09 21:13:32 +01:00
BillyGalbreath
5d216be1d7
Fix MC-181190 curing zombie villager discount exploit (#4871) 2020-12-08 22:56:22 -05:00
Jake Potrebic
3dc82c2008
deprecate IllegalPacketEvent (#4867) 2020-12-07 23:51:55 -08:00
William Blake Galbreath
9a129fa99a Add #getEligibleHumans to SkeletonHorseTrapEvent 2020-12-05 15:51:56 +01:00
Mariell Hoversholm
b5e23c7a62 Fix merging spawning values 2020-12-05 15:03:04 +01:00
Jake Potrebic
a932e8ad75 Turn off spigot verbose world by default 2020-12-05 14:15:00 +01:00
MiniDigger
8ced89f654 Fix Delegation to vanilla chunk gen
This broke in 1.16.1, when upstream changed stuff around and introduced this delegate field.

Closes #4097
2020-12-05 13:59:18 +01:00
Jake Potrebic
684b6ea40b
fixed bug in jvm checker (#4845) 2020-12-04 19:58:24 -08:00
Kyle Wood
f15abda562
Enable Multi-Release plugin jar support
Fixes #4841
2020-12-04 15:57:46 -08:00
Aikar
31a6e3f898
[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:
5b747147e Increase outdated build delay
2020-12-03 03:37:01 -05:00
Kyle Wood
eb89fd5dea
Add warning for servers not running on Java 11 2020-12-02 22:27:03 -08:00
JRoy
6859765e44 Add PlayerShearBlockEvent 2020-12-03 00:08:11 +01:00
Jake Potrebic
a665c2ec02 added missing default perms 2020-12-02 23:39:58 +01:00
Professor Bloodstone
4f19b170d4 Add summary to /paper chunkinfo command 2020-12-02 23:29:18 +01:00
William Blake Galbreath
cc001a73b6 Climbing should not bypass cramming gamerule 2020-12-02 23:20:09 +01:00
MiniDigger
b9930b39d5 Add legacy plugin count to metrics 2020-12-02 22:23:17 +01:00