Commit Graph

5484 Commits

Author SHA1 Message Date
Jake Potrebic e4d8a6279c Implement Keyed on World 2021-03-09 20:26:45 +01:00
Aikar bcb63dab7f
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2021-03-09 14:07:11 -05:00
Anton Lindroth 48342b06ca Allow signs that are inside of the spawn protection to be right clicked
to use their run_command tag
2021-03-09 20:02:23 +01:00
Jake Potrebic c229f90c1a Add Block#isValidTool 2021-03-09 19:38:40 +01:00
Jake Potrebic 20e709c1d6 Add recipe to cook events 2021-03-09 19:22:19 +01:00
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
Aleksander Jagiello d7795080c7 Fix NPE for AIR in meta operations in ItemStack 2021-03-07 11:46:37 +01:00
Aurora 2e70796c7f
[CI-SKIP] Improve documentation of PreCreatureSpawnEvent (#5244) 2021-03-07 10:35:45 +00:00
Gergely Sarkozi 7bb92e750c
[CI-SKIP] Add JavaDoc links to Tag class pointing to custom Paper tags (#5285) 2021-03-07 10:31:20 +00:00
Jake Potrebic 28cd686bff
fix per-world difficulty command (#5306) 2021-03-07 08:37:05 +00:00
Mariell Hoversholm be7cde2c76
[CI-SKIP] Always check PATH for JDK (#5315) 2021-03-06 13:50:24 +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