Commit graph

3325 commits

Author SHA1 Message Date
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
KennyTV
4729e6b906 Add more lightning API 2020-12-02 22:06:04 +01:00
KennyTV
2a44498a54 Add PlayerItemCooldownEvent 2020-12-02 21:26:12 +01:00
Anrza
fd33bcee19 Add LivingEntity#clearActiveItem 2020-12-02 21:01:02 +01:00
Esophose
a99e0ca050 Fix Player spawnParticle x/y/z precision loss 2020-12-02 20:40:13 +01:00
Shane Freeder
9119af508c Fix keep-spawn-loaded stopping force-loaded chunks from loading
Also, cleanup the patch a little bit
2020-12-01 13:23:44 +00:00
Ineusia
ab1a7c94df Add getDestroySpeed to Block API
Co-authored-by: MiniDigger <admin@minidigger.me>
2020-11-28 23:56:34 +01:00
Josh Roy
7a154d5c50
Fix cast check (#4813) 2020-11-27 10:07:41 -08:00
Mark
b8e375fc40
Expose world spawn angle (#4803) 2020-11-27 09:27:52 -08:00
Shane Freeder
43e2f13b21 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
Actually rebuild patches this time...

Bukkit Changes:
19b7b7bd #561: Add clear weather World API
5929c808 #552: Add the ability to retrieve hit, step, fall, and other sounds from blocks.

CraftBukkit Changes:
e1ebdd92 #771: Add clear weather World API
424598d2 #752: Add the ability to retrieve hit, step, fall, and other sounds from blocks.
2020-11-25 23:49:06 +00:00
Shane Freeder
0faaa7da92 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:
19b7b7bd #561: Add clear weather World API
5929c808 #552: Add the ability to retrieve hit, step, fall, and other sounds from blocks.

CraftBukkit Changes:
e1ebdd92 #771: Add clear weather World API
424598d2 #752: Add the ability to retrieve hit, step, fall, and other sounds from blocks.
2020-11-25 23:45:25 +00:00
stonar96
83f377be8b
Preserve order and allow multiple equal blocks in hidden-blocks of Anti-Xray (#4072)
* Preserve order of hidden-blocks in Anti-Xray

This small change allows to specify and predict the order in which
Anti-Xray uses the hidden-blocks in engine-mode 2. The order is
preserved as specified in the hidden-blocks list. This can be useful,
for example, when adding air to the hidden-blocks to predict which fake
ores should be exposed to fake air.

* Allow to add equal blocks multiple times to hidden-blocks

This adds the ability to add equal blocks multiple times to the
hidden-blocks of Anti-Xray in engine-mode 2. Thus it is possible to give
certain blocks different priorities in Anti-Xray. For example if air and
diamond_ore are added twice, the obfuscated chunk will contain twice as
many air and diamond_ore blocks as other blocks in the list.
2020-11-24 08:59:04 -08:00
SuperCoder7979
821ce25d95 Significantly improve performance of the end generation
This patch implements a noise cache for the end which significantly reduces the computation time of generation. This results in about a 3x improvement.

Original code by SuperCoder7979 and Gegy in Lithium, licensed under LGPL-3.0 (Source: https://github.com/jellysquid3/lithium-fabric)

Co-authored-by: Gegy <gegy1000@gmail.com>
Co-authored-by: Dylan Xaldin <Puremin0rez515@gmail.com>
Co-authored-by: pop4959 <pop4959@gmail.com>
2020-11-19 21:02:08 +01:00
jmp
2b2e4fd65d Add Wandering Trader spawn rate config options 2020-11-19 20:41:14 +01:00
Aikar
7263cbca77
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2020-11-19 14:11:59 -05:00
jmp
1c63aff6d9 Villager resetOffers API 2020-11-19 20:09:54 +01:00
Mariell Hoversholm
8d8d74a5f5 Patch 2 references an invalid variable 2020-11-19 19:49:59 +01:00
Gabscap
7ae47d4eb3
[CI-SKIP] Remove Waving banner fix (#4786)
Mojang fixed it in MC-63720
2020-11-19 10:15:16 -05:00
Jake Potrebic
899bc53b79
Updated Upstream (Bukkit/CraftBukkit) (#4779)
Upstream has released updates that appears 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:
f47abd88 SPIGOT-6242: Fix some file line endings
de96535b SPIGOT-6234: enum classes don't serialize properly when implementing ConfigurationSerializable

CraftBukkit Changes:
4475707d SPIGOT-6244: /spawnpoint ignores angle
8b3b096d SPIGOT-6242: Fix some file line endings
4b33c749 SPIGOT-6186: Canceling a CreatureSpawnEvent​ results in a "Unable to summon entity due to duplicate UUIDs" error
2b3ca726 SPIGOT-6236: Vehicle passenger portal cooldown does not change
2020-11-17 22:45:18 -05:00
Max Lee
2f0e0a6da0
Backport feature search improvement from 1.17 (Fixes #2312) (#4771) 2020-11-14 22:50:11 +00:00
Mariell Hoversholm
b6d9d63436 Add API for quit reason
The following has been tested:
- Disconnect from menu -> DISCONNECTED
- EssentialsX kick -> KICKED
- Suspend server JVM -> DISCONNECTED
- Suspend client JVM -> TIMED_OUT
- Call #exceptionCaught -> ERRONEOUS_STATE

Suspension was done through `kill -STOP` and subsequently `kill -CONT`
after the player has (been) disconnected.

Closes #254.
2020-11-14 21:22:41 +01:00
Mariell Hoversholm
d6fb9717b0
Updated Upstream (CraftBukkit)
Upstream has released updates that appears 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:
23618b2c SPIGOT-6240: Use correct portal search radius
2020-11-13 20:07:38 +01:00
BillyGalbreath
73fc96669d
Fix per-world settings not reloading (#4756) 2020-11-12 04:58:42 +00:00
Jason
94c99a8d73
Fix NPE thrown when converting MerchantRecipe from Bukkit to NMS (#4755)
This bug was introduced in becb478cd5 (Add ignore discounts API)
2020-11-11 21:35:44 -06:00
Aikar
5b123cd1d5
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2020-11-11 12:46:51 -05:00
Mariell Hoversholm
becb478cd5 Add ignore discounts API 2020-11-11 18:44:17 +01:00
Jake Potrebic
9e90c15f20 Add custom ranges to beacons
Adds 3 methods to the Beacon block state to set a custom range for the beacon.
One to set the range, one to get the range, and one to reset the range
(aka go back to using the default range-by-beacon-tier system).
2020-11-11 18:38:49 +01:00
Alfie Smith
068313fa2e Item no age & no player pickup 2020-11-11 18:35:07 +01:00
Jason
1b3c20f94f
Fix client lag on advancement loading (#4710)
When new advancements are added via the UnsafeValues#loadAdvancement
API, it triggers a full datapack reload when this is not necessary. The
advancement is already loaded directly into the advancement registry,
and the point of saving the advancement to the Bukkit datapack seems to
be for persistence. By removing the call to reload datapacks when an
advancement is loaded, the client no longer completely freezes up when
adding a new advancement.
To ensure the client still receives the updated advancement data, we
manually reload the advancement data for all players, which
normally takes place as a part of the datapack reloading.
2020-11-11 16:18:36 +00:00
Aurora
c596edb1fb
[CI-SKIP] Update IRC information in readme and config (#4751)
Co-authored-by: Mariell <proximyst@proximyst.com>
Co-authored-by: Riley Park <riley.park@meino.net>
2020-11-10 09:15:03 +01:00
Mariell Hoversholm
2b2f2ea362 Toggle for removing existing dragon 2020-11-09 22:44:07 +01:00
Shane Freeder
60b59901af Updated Upstream (Spigot)
Restab at the last upstream to add support for migrating the option for disabling player data
saving back into spigots config, vs blindly dropping it

Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Spigot Changes:
a19903d2 SPIGOT-520: Add option to disable player data saving
2020-11-09 01:05:30 +00:00
Shane Freeder
611a0ee52d Revert "Updated Upstream (Spigot) (#4745)"
This reverts commit e38eceb42a.
2020-11-09 00:09:37 +00:00
Mariell
e38eceb42a
Updated Upstream (Spigot) (#4745)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Spigot Changes:
a19903d2 SPIGOT-520: Add option to disable player data saving
2020-11-08 10:00:43 +00:00
Shane Freeder
2609a118e8 Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears 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:
f4f2ef4c SPIGOT-6222: Correct javadoc for Entity#setPassenger
1871ca9d #559: Add wait time modification for FishHook

CraftBukkit Changes:
bc6a175e #767: Add wait time modification for FishHook
2fc37bcc SPIGOT-6197: Prevent world loading from updating spawn settings of all worlds
2020-11-07 00:19:04 +00:00
Aikar
7358bf02f3
[Auto] Updated Upstream (CraftBukkit/Spigot)
Upstream has released updates that appears 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:
3eb7236e4 SPIGOT-6217: Missed PlayerEditBookEvent when editing books

Spigot Changes:
37d799b2 SPIGOT-6218: Player.spigot().sendMessage(UUID, BaseComponent...) does not work
2020-11-04 03:57:07 -05:00
Mariell
0e73fdbf72
OBFHELPERS (#4733) 2020-11-03 21:30:15 +00:00
Shane Freeder
56d8811924 Updated Upstream (Bukkit/Spigot)
Upstream has released updates that appears 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:
eda400d3 SPIGOT-6213: MinecraftFont.getWidth(" ") returns 2 when it should be 3

Spigot Changes:
aa477927 #100: Allow sending messages from specific UUIDs
2020-11-03 09:14:21 +00:00
Aikar
a41292445e
[Auto] Updated Upstream (CraftBukkit)
Upstream has released updates that appears 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:
ce64c84ca SPIGOT-6205: Rewrite enum to/from NMS type methods
dd10b375c Downgrade NMS revision
2020-11-03 02:27:09 -05:00
Daniel Ennis
e792da723a
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#4728)
Upstream has released updates that appears 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:
30885166 Update to Minecraft 1.16.4

CraftBukkit Changes:
3af81c71 Update to Minecraft 1.16.4

Spigot Changes:
f011ca24 Update to Minecraft 1.16.4

Co-authored-by: Mariell Hoversholm <proximyst@proximyst.com>
2020-11-02 20:22:15 -06:00
oxygencraft
4bcebab167 Add getOfflinePlayerIfCached(String) 2020-11-01 20:21:07 +01:00
Spottedleaf
67c30690ad Fix ghost blocks in ticking view distance
Fixes #4298.

Tuinity patch:
576e2cc1af/patches/server/0047-Fix-ghost-blocks-in-ticking-view-distance.patch
2020-11-01 19:50:48 +01:00
Toon Schoenmakers
0ac53efb30
Avoid crashing clients when fishing loot is empty, Fixes #4235 (#4681) 2020-10-28 16:39:02 -04:00
Yive
b64ee74a23 Fix armor stands still doing entity collision 2020-10-28 19:37:38 +01:00
Mariell
72de619083
Make fireworks call PlayerLaunchProjectileEvent (#4698) 2020-10-27 17:01:32 -05:00
Andrew Steinborn
c712f2c053
[1.16] Improve performance of matching ingredients for shapeless recipes (#4694) 2020-10-27 11:04:32 -04:00
Mariell
ecb4ccd633
Updated Upstream (Bukkit/CraftBukkit) (#4688)
Upstream has released updates that appears 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:
4abf9e96 #557: Add TNTPrimed#setSource method

CraftBukkit Changes:
dea41389 Remove outdated build delay.
9da3b5bf #762: Add TNTPrimed#setSource method
2020-10-26 11:02:55 -04:00
Shane Freeder
f8eaa58556 Add support for RanagedEntity API for newer mobs (Fixes #4678) 2020-10-22 13:04:12 +01:00
stonar96
d0ad658b0c Fix slime block in Anti-Xray 2020-10-20 19:57:52 +02:00
giacomo
c64ad85b79 Fixed TileEntityBell memory leak 2020-10-20 19:38:45 +02:00
Trigary
a84348b6c9 Add player elytra boost API 2020-10-20 19:13:38 +02:00
William Blake Galbreath
6dad6258d3 Fix item locations dropped from campfires 2020-10-20 18:46:36 +02:00
Mariell
cfc098be5c
BukkitValues was renamed ChunkBukkitValues (#4664)
I blame cat!
2020-10-17 21:53:51 +01:00
Mariell
63d6aac46a
Updated Upstream (CraftBukkit) (#4663) 2020-10-17 21:42:18 +01:00
Shane Freeder
8319e912f4 Fix SafeNBTCopy#hasKey semantics
Fixes hasKey to check that a key actually exists, while retaining the
option to scream at keys which are requested which haven't been marked as
needing to be copied
2020-10-17 12:46:37 +01:00
Shane Freeder
85eccb571b Don't assume that entries exist for SafeNBTCopy 2020-10-17 12:20:44 +01:00
Mariell
595734a57e
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#4659)
Upstream has released updates that appears 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:
01e22e09 Misc maven build updates
746f5324 #556: Allow sending messages from specific UUIDs
92b99cde #501: Add PersistentDataHolder to Chunk

CraftBukkit Changes:
4ef13f94 Misc maven build updates
04639f5a #759: Allow sending messages from specific UUIDs
77c894a2 #672: Add PersistentDataHolder to Chunk

Spigot Changes:
57bbdd8e Rebuild patches

Co-authored-by: Shane Freeder <theboyetronic@gmail.com>
2020-10-17 11:39:45 +01:00
Shane Freeder
fa990d26af Revert "Updated Upstream (Bukkit/CraftBukkit/Spigot)"
This reverts commit 23826a3f66.
2020-10-17 10:48:00 +01:00
Shane Freeder
23826a3f66 Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears 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:
01e22e09 Misc maven build updates
746f5324 #556: Allow sending messages from specific UUIDs
92b99cde #501: Add PersistentDataHolder to Chunk

CraftBukkit Changes:
4ef13f94 Misc maven build updates
04639f5a #759: Allow sending messages from specific UUIDs
77c894a2 #672: Add PersistentDataHolder to Chunk

Spigot Changes:
57bbdd8e Rebuild patches
2020-10-17 09:24:25 +01:00
stonar96
efd90b1e9c
Anti Xray: Obfuscate blocks touching lava feature (#3311) 2020-10-16 17:08:33 -04:00
Mariell Hoversholm
74f507f4e3 Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears 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:
e461dcfe #555: Item - add getters/setters for owner/thrower

CraftBukkit Changes:
055870c4 #758: Item - add getters/setters for owner/thrower
2020-10-14 10:44:15 -04:00
Aurora
ffe68e8875
Update discord link in the paper.yml (#4646) 2020-10-13 18:37:34 -07:00
Spottedleaf
68a1f9ffa7
Reduce blockpos allocation from pathfinding 2020-10-11 19:51:10 -04:00
Spottedleaf
98f1aae7fa
Retain block place order when capturing blockstates
Fixes twisted vines not connecting properly when grown via
bonemeal by a player.

In general, look at making this logic more robust (i.e properly handling
cases where a captured entry is overriden) - but for now this will do.
2020-10-11 19:51:02 -04:00
Spottedleaf
431bb179c9
Improve inlinig for some hot IBlockData methods 2020-10-11 19:18:27 -04:00
Spottedleaf
559ff369be
Optimise getType calls
Remove the map lookup for converting from Block->Bukkit Material
2020-10-11 18:52:57 -04:00
Spottedleaf
cbecca2636
Fix for large move vectors crashing server
Check movement distance also based on current position.
2020-10-11 18:48:05 -04:00
ForceUpdate1
217702d573
Fix distance in checkHighPriorityChunks (Fixes #4582) (#4605) 2020-10-11 18:24:06 -04:00
Aikar
6eda4251f3
Reset Ender Crystals on Dragon Spawn - Fixes #3522
Crystals can end up in a bad state in certain conditions which causes
an exception on the expected number of crystals going negative.

This ensures the crystals/pillars are in expected state when the dragon spawns.
2020-10-11 16:11:57 -04:00
chickeneer
01b1971a43
MC-147729: Drop items that are extra from a crafting recipe 2020-10-11 13:47:45 -04:00
Aikar
b2381db24e
Improve Priority handling of neighbor chunks
Restores vanilla like behavior where neighbor chunks have less priority than the source chunk.

This resolves the issue where teleporting sometimes has the chunk your arriving in slow to send.

Also improves light tasks to always process tasks when tasks from the current priority level are collected
instead of bundling them.
2020-10-10 22:12:43 -04:00
jmp
1c446c222d Fix CME when adding a passenger during Spawn events (#4616) 2020-10-10 17:05:17 +02:00
Aikar
f3927b25eb
Fix "Not a string" Map Conversion spam - Fixes #3901
The maps did convert successfully, but had noisy logs due to Spigot
implementing this logic incorrectly.

This stops the spam by converting the old format to new before
requesting the world.
2020-10-08 00:02:03 -04:00
Aikar
3ece90368d
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2020-10-07 16:27:02 -04:00
William Blake Galbreath
551fac7ec5 Fix deop kicking non-whitelisted player when white list is not enabled 2020-10-07 22:22:06 +02:00
Mariell
faf8eb035a
Updated Upstream (CraftBukkit) (#4622)
Upstream has released updates that appears 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:
1f4693a8 SPIGOT-6168: Fix error with Player.getBedSpawnLocation when world is unloaded while server running
2020-10-06 09:59:35 -04:00
Mariell
d62bab6e25
Add a missing return in Eigencraft redstone (#4621) 2020-10-05 17:03:41 +01:00
BillyGalbreath
5234e6e242
Entity#isTicking (#4612) 2020-10-03 23:05:33 -04:00
Andrew Steinborn
1165d59526 Lazily track plugin scoreboards by default
On servers with plugins that constantly churn through scoreboards, there is a risk of degraded GC performance due to the number of scoreboards held on by weak references. Most plugins don't even need the (vanilla) functionality that requires all plugin scoreboards to be tracked by the server. Instead, only track scoreboards when an objective is added with a non-dummy criteria.

This is a breaking change, however the change is a much more sensible default. In case this breaks your workflow you can always force all scoreboards to be tracked with settings.track-plugin-scoreboards in paper.yml.
2020-10-03 21:13:12 +02:00
Mariell Hoversholm
8a046c95a4 Updated Upstream (CraftBukkit)
Upstream has released updates that appears 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:
5c77bd28 SPIGOT-6147: InventoryCloseEvent does not fire after closing player inventory
2020-10-01 10:33:58 -04:00
Mariell Hoversholm
a7861cbb48 Updated Upstream (CraftBukkit)
Upstream has released updates that appears 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:
5da21f87 SPIGOT-6152: End exit gates in custom ends do not send back to overworld
1ee373fe SPIGOT-6157: Crash when PortalCreateEvent cancelled
2020-09-30 16:17:26 -04:00
MeFisto94
6c512a082d Expose the Entity Counter to allow plugins to use valid and non-conflicting Entity Ids 2020-09-29 19:16:25 +02:00
Mariell Hoversholm
654b792caf Updated Upstream (CraftBukkit)
Upstream has released updates that appears 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:
a339310c #755: Fix NPE when calling getInventory() for virtual EnderChests
2577f9bf Increase outdated build delay
1dabfdc8 #754: Fix pre-1.16 serialized SkullMeta being broken on 1.16+, losing textures
2020-09-27 11:04:51 -04:00
Mariell Hoversholm
5a988f2e45 Patch SPIGOT-6086 for all invalid locations
md_5's patch for SPIGOT-6086 only applies to locations over the world,
not those under or outside it.
2020-09-27 10:39:37 -04:00
Aikar
079a793b51
Revert "Only consider chunks Loaded if at BORDER status"
This reverts commit 9efe071062.

Issues have been found post merge that sadly no one discovered during test builds.
Reverting for now until we can identify the issue and do another test round.
2020-09-21 22:12:28 -04:00
Mariell Hoversholm
eda80e3d7c Prevent fire from spreading to invalid locations 2020-09-21 21:09:04 +02:00
Aikar
826e09f369
Light improvements
Trying to solve random hangs we've seen, ensuring that this part of code isnt the culprit

also fixing a vanilla bug reportedby PhiPro where tickets are released too early
hoping this reduces amount of incorrect light issues.
2020-09-19 14:04:25 -04:00
Aikar
e3e1191ac9
Preserve initial velocity of spawned entities - Fixes #4292 2020-09-19 13:19:34 -04:00
Aikar
bd648dfb47 Optimize some methods for inlining
Adds final to some methods to improve inlining ability
2020-09-19 12:54:05 -04:00
Aikar
9efe071062 Only consider chunks Loaded if at BORDER status
This greatly improves performance as it drastically reduces the amount
of Entities and Tile Entities that are "registered" into the world, as
purely "cached" chunks will no longer have their entities hanging out in the world.

Additionally this fixes our Entity Add To World and Entity Remove From World events

Those events have not been firing correctly since MC changed how chunks work here.

Now the server will only consider a chunk "loaded" if it's got a ticket putting
it at level 33 or lower, which matches the public Bukkit API.
2020-09-19 12:54:05 -04:00
Shane Freeder
298c9022b0 Updated Upstream (Bukkit/CraftBukkit/Spigot)
Upstream has released updates that appears 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:
ccb9614e #548: LivingEntity - add methods for getting/setting invisibility

CraftBukkit Changes:
f8d4da08 #743: LivingEntity - add methods for getting/setting invisibility

Spigot Changes:
17d78dbd Rebuild patches
2020-09-19 12:29:53 +01:00
Shane Freeder
d802a50a9a Extend block drop capture to capture all items added to the world (Fixes #4307)
Closes #4316
2020-09-17 00:40:07 +01:00
Aikar
613bdc3f96
[Auto] Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears 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:
d75d8a38 #549: Add Fluid types / tags

CraftBukkit Changes:
890130b46 #746: Add Fluid types / tags
2020-09-14 05:57:06 -04:00
Aikar
e6faa36eb9
Cache DataFixerUpper Rewrite Rules on demand
Mojang precaches every single potential rewrite rule that could ever
exist on server startup. This includes rules from all the way back to versions from 6+ years ago.

This is the source of why the server hogs every CPU core at 100% every start.

For anyone who hard resets for updates or has force upgraded their entire world, this
results in completely wasted cpu cycles.

This massive CPU usage also delays server startup time.

We improve this by making "min version to precache" that defaults to a future version
so that no rewrite rules are precached.

someone who expects to be converting a lot chunks could theoretically set
-DPaper.minPrecachedDatafixVersion=<dataVersionConvertingFrom> as a startup
parameter and only build from that point on.

However this will likely never be needed as the server will still run
the same cache logic on demand when it's actually needed. The only
cost would be some delay on the FIRST chunk conversion, but paper already
runs chunk conversions on another thread so this will likely never be
a concern for TPS.

This patch will significantly reduce CPU use on startup, reduce memory usage,
and improve server startup time.
2020-09-12 17:56:00 -04:00
Mariell
a0b8b886c8
Updated Upstream (CraftBukkit/Spigot) (#4318)
Upstream has released updates that appears 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:
d5a72960 SPIGOT-6063: ConsoleSender sending extra lines in Java 13+

Spigot Changes:
2740d5ae Rebuild patches
2020-09-12 15:57:21 -04:00
Aikar
fb71c71c80
Restore thread pool names for Bootstrap vs main
1.16.2 introduced 2 thread pools for Bootstrap vs main we didn't account for.

This also sets Bootstrap priority to be 1 less thread priority too so MC Main threads will always have
more priority specially on servers running multiple instances, since bootstrap tends to use up all CPU.
2020-09-12 11:25:30 -04:00
Aikar
5b352d9b33
[Auto] Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears 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:
91957aa3 #550: Add getHandlerList into ArrowBodyCountChangeEvent
30dc3e37 Update deprecation message for PotionMeta.setMainEffect

CraftBukkit Changes:
6f55306c4 SPIGOT-5794: Only skip interact event if position, hand and itemstack are equal
2020-09-11 18:42:19 -04:00
Aikar
7d85344efd
(1.16.3) Missed some fixes to include in commit 2020-09-10 19:56:58 -04:00
Aikar
64ed429884
(FIRST 1.16.3): Update Paper to 1.16.3
This is a pretty tiny update with very little changed. Recommended to update
from 1.16.2 ASAP as 1.16.2 is now no longer supported.

Plugins should mostly remain working as the NMS revision did not change.
2020-09-10 19:47:58 -04:00
Aikar
fa9c5e0f95
(FINAL 1.16.2) Improve Entity Activation Range passenger behavior
Previously, Entity Activation Range only applied to the root entity of a vehicle chain.
If that vehicle is active, every entity as it's passenger would then tick.

This creates scenarios where EAR does not apply your desired ranges to passengers.
Additionally, any entity that was a passenger never had its inactiveTick method called
when the parent was inactive, creating behavioral desyncs.

This could of been a source of many villager issues when those villagers were in minecarts
as players commonly do.

Now we will process passengers checking their activation state independently of their vehicle
and if they are inactive, call their inactiveTick() method to ensure state remains consistent.

This also helps improve any desync issues with entity position of passengers too.

This also removes immunity for passenger/vehicles, so it should improve performance
of these minecart villagers too for EAR.
2020-09-10 19:08:02 -04:00
Aikar
6fda3fd0ed
(FINAL 1.16.2) Improve Timings support for Active vs Inactive vs Passengers
This makes it so entities that are passengers of other entities no longer count in the parents timings, as well as
tracks them as a separate timers per their tick status.

This lets you see how much time is spent in activated entities vs inactive (as inactive still has to do work)

Passengers is also tracked separately so you can identify "Villagers in Minecarts" vs roaming villagers, as
the lack of ability to move can impact their performance characteristics.

This will likely break any plugin that was naughty and directly messed with our internal timings as this
moves the timings to the EntityTypes object, speeding up creation of Entities to no longer store
a timing handler object per entity.

This will also change the output of the entities in timings to use internal ID's instead of class names.

If a plugin is broken by this, shame them for doing bad things. Paper will not fix it, they will have to fix it.
2020-09-10 19:08:02 -04:00
JRoy
794e6baf14 Add additional open container api to HumanEntity 2020-09-10 20:31:49 +02:00
Shane Freeder
44e822f7cf Fix block data exception when cancelling PortalCreateEvent (#4199) 2020-09-10 09:02:22 +01:00
Aikar
4be8312fe7
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2020-09-03 21:52:16 -04:00
Daniel Ennis
43e5174a01
Fix Entity Teleportation and cancel velocity if teleported (#4210) 2020-09-03 21:48:44 -04:00
Aikar
0fb3daf4f6
[Auto] Updated Upstream (CraftBukkit)
Upstream has released updates that appears 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:
a05df28a7 SPIGOT-6122: Revert "SPIGOT-5794: Do not skip PlayerInteractEvent"
2020-09-03 16:52:21 -04:00
MiniDigger
819ff32435 Use wrapped StructureManager to prevent worldgen deadlock 2020-09-03 12:56:03 +02:00
Joshua Dean Küpper
507f302cd2 Fix Zombie ShouldBurnInDay API (#4268) 2020-09-03 12:35:37 +02:00
Aikar
ef5af6f604
[Auto] Updated Upstream (CraftBukkit)
Upstream has released updates that appears 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:
1d7440332 #745: Fix getLocation for Cartography Table and Stonecutter
2020-09-03 04:47:24 -04:00
miclebrick
c247857fd4 Cache block data strings 2020-09-02 14:11:44 +02:00
Aikar
ce2eae5ce3
[Auto] Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears 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:
b56e8160 #519: Add ArrowBodyCountChangeEvent

CraftBukkit Changes:
39806409e #697: Add ArrowBodyCountChangeEvent
2020-09-02 05:12:25 -04:00
Shane Freeder
563f77ad23
install remapped server jar to paper package space
Spigot has been stripping the minecraft-server jar down in order to
reduce it's size, primarily by removing classes they don't use from
fastutil. as we use fastutil and offer it as API, this is useless
to us, and creates headaches when it breaks builds due to spigots
version of this being installed.
2020-09-01 23:20:58 +01:00
Aikar
1ab021ddca Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears 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:
565a5727 #533: Add consumed item, hand and consumeItem boolean to EntityShootBowEvent

CraftBukkit Changes:
927200a9 #718: Add consumed item, hand and consumeItem boolean to EntityShootBowEvent
2020-08-31 08:30:51 -04:00
chickeneer
c970f88057
Properly pass the close reason for new inventory opens (#2658) (#4247) 2020-08-31 07:12:14 -04:00
ysl3000
07bca94f71 Create HoverEvent from ItemStack Entity
add myself to MIT list

Co-authored-by: Mariell <proximyst@proximyst.com>
Co-authored-by: MiniDigger <admin@minidigger.me>
2020-08-31 12:27:30 +02:00
MeFisto94
da33f8bbe1 Add a way to get translation keys for blocks, entities and materials 2020-08-31 11:56:32 +02:00
BillyGalbreath
5a20cbd759 Add more Evoker API 2020-08-31 11:22:26 +02:00
Aikar
b0cbebdc7b
Fix build conflicts 2020-08-30 14:38:49 -04:00
Mariell
dfc54a8b92
Add zombie targets turtle egg config (#4181)
Co-authored-by: BillyGalbreath <Blake.Galbreath@GMail.com>
2020-08-30 14:27:50 -04:00
Eearslya Sleiarion
0fe00f61fd
Add BellRingEvent for village bells (#2230) 2020-08-30 14:26:15 -04:00
Daniel Ennis
5c7f3fc091
Fix PersistentDataContainer contract violation (_->!null returns null) (#3990) 2020-08-30 14:02:34 -04:00
Aikar
65dbf5ff0c
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2020-08-30 14:02:15 -04:00
Josh Roy
7ed0f7f003
Fix NPE in getBedSpawnLocation (#4238) 2020-08-30 13:59:14 -04:00
foss-mc
6c138412fb
Fix CraftTeam null check (#4249) 2020-08-30 11:33:25 -04:00
Mariell Hoversholm
a67abf5b2a Increase visibility of a few methods
Fixes PaperMC/Paper#4094.
2020-08-29 10:22:30 +02:00
Aikar
7d69214b54
[Auto] Updated Upstream (CraftBukkit)
Upstream has released updates that appears 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:
00bff0270 SPIGOT-5794: Do not skip PlayerInteractEvent
2020-08-29 00:17:19 -04:00
Mariell Hoversholm
cbfc236260
PortalCreateEvent needs to know its entity
Fixes PaperMC/Paper#4076.
2020-08-28 20:46:00 +02:00
Mariell Hoversholm
29032edb5b
Fix PersistentDataContainer contract violation (_->!null returns null) 2020-08-28 20:40:58 +02:00
Aikar
f42c53dfeb
[CI-SKIP] [Auto] Rebuild Patches
A recent commit has been made that caused patches to be out of order, rebuilding
2020-08-28 07:42:03 -04:00
Mariell Hoversholm
3efe45f56d Port Eigencraft to 1.16 2020-08-28 13:38:55 +02:00
stonar96
0bad695802 Make engine-mode 2 truly random
Up to now a simple counter variable was used to iterate through the
hidden-blocks in engine-mode 2 while obfuscating. This results in low
quality obfuscation.

One could for example easily write a hack, which bypasses Anti-Xray
by not showing ores, which have a certain pattern.

Furthermore, engine-mode 1 is slightly optimized by this commit.
However, engine-mode 2 is probably somewhat slower. I did some tests but
I wasn't able to get stable results for some reason. Therefore this
needs further testing.

An optimized random algorithm is utilized to pick random blocks from the
hidden-blocks list. This implementation uses xorshift and integer
multiplication for bounding. The resulting distribution is negligibly
biased because xorshift doesn't generate 0 and integer multiplication
also implies biased results.
2020-08-28 13:20:21 +02:00
Shane Freeder
cd06ca5eb8
Updated Upstream (CraftBukkit)
Upstream has released updates that appears 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:
3f572834 #740: Fix EntityDamageEvent not being called for non EntityDamageSource for End Crystals
3c7143e7 SPIGOT-5953, SPIGOT-5914: Use LinkedHashMap to keep captured block states in order
2020-08-28 12:06:39 +01:00
Professor Bloodstone
ef36b4f80c Fix TNT not pushing creative players 2020-08-28 12:51:11 +02:00
JRoy
915fe5225e Fix hex colors not working in some kick messages 2020-08-28 12:29:41 +02:00
Aikar
757948dca3
[Auto] Updated Upstream (CraftBukkit)
Upstream has released updates that appears 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:
e14c9acbe SPIGOT-6113: Ender Pearls thrown into portals that lead to disabled dimensions crash the server
97da39889 SPIGOT-6114: PlayerRespawnEvent player's location changed before event called
3b5c36769 SPIGOT-6115: Items being deleted on pick up with full inventory
2020-08-27 22:37:10 -04:00
Shane Freeder
0893de14dc
Fix reading the brand message from clients
Also try to catch the exception caused by clients/plugins seemingly
mangling this information
2020-08-27 17:11:13 +01:00
Shane Freeder
243d2313b9
Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears 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:
323d6ca3 #535: Add EntityCategory API to LivingEntity
7d3323d8 #526: Add Block#applyBoneMeal()

CraftBukkit Changes:
bf451617 SPIGOT-6109: Improve loot handling
bfea4559 SPIGOT-6111: NPE in CraftHumanEntity#openWorkbench & CraftHumanEntity#openEnchanting
ee7116b4 Add note to CONTRIBUTING.md to suggest keeping commit messages / titles the same
eae15943 #721: Add EntityCategory API to LivingEntity
8c611560 #702: Add Block#applyBoneMeal()
8408de02 #716: Fix barrel open API playing sound twice
74b6982b #711: Add Full RGB support to the console
2020-08-27 14:37:37 +01:00
William Blake Galbreath
4cc7de6c51
Add playPickupItemAnimation to LivingEntity 2020-08-26 15:13:33 +01:00
Aikar
20fc1b5c2a
[Auto] Updated Upstream (CraftBukkit/Spigot)
Upstream has released updates that appears 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:
049120068 SPIGOT-6101: Store persist state of entities
0de8365dd SPIGOT-6103: Summoning an Eye of Ender throw an Error

Spigot Changes:
b5a13e6d Rebuild patches
2020-08-26 04:46:59 -04:00
Aikar
655258b339
[Auto] Updated Upstream (CraftBukkit)
Upstream has released updates that appears 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:
9aafdc9a7 SPIGOT-6099: PlayerPortalEvent.setTo ignores world for end portal travel
2020-08-26 04:22:13 -04:00
Aikar
167b1db604
Fix some modded clients getting kicked for invalid payload - Fixes #4201 2020-08-25 20:06:04 -04:00
Aikar
7f0786cdd1
Fix enderdragon tracking range to honor vanilla 2020-08-25 19:38:19 -04:00
Shane Freeder
853f4168f4
Remove debug
Today is going to be a long day
2020-08-25 13:30:52 +01:00
Shane Freeder
4d7ea42991
fix config option in last commit 2020-08-25 13:23:58 +01:00
Shane Freeder
74d2746308
Buffer joins to world
This patch buffers the number of logins which will attempt to join
the world per tick, this attempts to reduce the impact that join floods
has on the server
2020-08-25 12:30:57 +01:00
Daniel Ennis
c97ce029e9
1.16.2 Release (#4123)
PaperMC believes that 1.16.2 is now ready for general release as we fixed the main issue plagueing the 1.16.x release, the MapLike data conversion issues.

Until now, it was not safe for a server to convert a world to 1.16.2 without data conversion issues around villages and potentially other things. If you did, those MapLike errors meant something went wrong.

This is now resolved.

Big thanks to all those that helped, notably @BillyGalbreath and @Proximyst who did large parts of the update process with me.

Please as always, backup your worlds and test before updating to 1.16.2!

If you update to 1.16.2, there is no going back to an older build than this.

---------------------------------

Co-authored-by: William Blake Galbreath <Blake.Galbreath@GMail.com>
Co-authored-by: Mariell Hoversholm <proximyst@proximyst.com>
Co-authored-by: krolik-exe <69214078+krolik-exe@users.noreply.github.com>
Co-authored-by: BillyGalbreath <BillyGalbreath@users.noreply.github.com>
Co-authored-by: stonar96 <minecraft.stonar96@gmail.com>
Co-authored-by: Shane Freeder <theboyetronic@gmail.com>
Co-authored-by: Jason <jasonpenilla2@me.com>
Co-authored-by: kashike <kashike@vq.lc>
Co-authored-by: Aurora <21148213+aurorasmiles@users.noreply.github.com>
Co-authored-by: KennyTV <kennytv@t-online.de>
Co-authored-by: commandblockguy <commandblockguy1@gmail.com>
Co-authored-by: DigitalRegent <misterwener@gmail.com>
Co-authored-by: ishland <ishlandmc@yeah.net>
2020-08-24 22:40:19 -04:00
DigitalRegent
627f4b8561
Brand support 2020-08-23 05:19:14 -07:00
Zach Brown
7470c3ef69
Do not let the server load chunks from newer versions (1.16.2+)
If the server attempts to load a chunk generated by a newer version of
the game, immediately stop the server to prevent data corruption.

You can override this functionality at your own peril.
2020-08-21 19:27:25 -04:00
Matt Baxter
60a5ca6d7d
Fix regex mistake in CB NBT int deserialization (#4146)
The existing regex is too open and allows for the absence of any actual
number data, detecting an NBT entry of just the letter "i" in upper or
lower case. This causes a single-character NBT entry to be processed as
an integer ending in "i", passing an empty String to to Integer.parseInt,
triggering an exception in loading the item.

This commit forces numbers to be present prior to the ending "i"
letter.
2020-08-17 10:13:15 -07:00
MrIvanPlays
2b4ce0b370 Restore incremental player saving
This patch was dropped in 1.14 . I couldn't find it in removed so I got it from 1.13
Tested with 30-40 players and works fine with default settings.
Closes https://github.com/PaperMC/Paper/issues/4070
2020-08-11 09:55:10 -04:00
Mariell Hoversholm
b91d964b17 Restore Pathfinder Optimizations from 1.15.2
We dropped the patch in 1.16.1 update due to it being a major conflict.
This restores it.

Co-Authored-By: Aikar <aikar@aikar.co>
2020-08-06 22:55:24 -04:00
Aikar
adadf16548 Drop syncPosition on teleportation patch
I'm not sure it was really helping, and now suspecting it might be causing issues
Movement sucks
2020-08-06 22:55:24 -04:00
Aikar
6f66fa5714
Fix Light Thread causing world memory leak - Fixes #4045 2020-08-06 20:02:20 -04:00
Aikar
6742309074
Improve EntityTargetLivingEntityEvent for 1.16 mobs
CraftBukkit has a bug in their implementation and is incorrectly handling forget
Also adds more target reasons for why it forgot target.

Fixes #4042
2020-08-06 19:38:49 -04:00
Aikar
9788250b10
Clean up a lot of obfuscation helpers and impls
This fixes a bug with obfuscation helpers for attack cooldown
But every other change should stay the same.

Cleaning up a lot of helpers that pointed to already unobfuscated items.
Also adds final to many of the obfhelpers to assist with inlining.

This is pretty much a patch maintenance
2020-08-02 01:39:36 -04:00
William Blake Galbreath
58a745eba0
Fix scoreboard vanilla colors not working in chat 2020-07-31 16:20:29 +01:00
Aikar
3cf2c52d95
Improve Light Optimizations more
Hopefully fixes #4030 and hopefully fixes #4025

Use the concurrent enqueue process for all light tasks.
Restore dedicated light thread, helpful for profiling and identifying light work
as well as lets us give it a boosted thread priority
2020-07-30 22:04:56 -04:00
Mariell Hoversholm
0b33230f2d Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appears 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:
eeb1042f #491: Add support to change block's lid state

CraftBukkit Changes:
8fb65851 #660: Add support to change block's lid state
2020-07-29 16:01:09 -04:00
Aikar
960d992fd2
Further improve Chunk Light Prioritization
This is as fast as its going to get outside of making the light engine calculations it self faster.

Fixes #4022
2020-07-29 01:51:57 -04:00
Aikar
0d19e4579b
Fix deadlock issue with watchdog stopping
Fixes #4008
2020-07-28 22:22:46 -04:00
Aikar
baf1fabe9e
Updated Upstream (CraftBukkit)
Upstream has released updates that appears 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:
c3a22e78 SPIGOT-6032: Add best effort target events for new entities
2020-07-28 22:22:46 -04:00
Aikar
6e7dc3f81d
[Auto] Updated Upstream (CraftBukkit)
Upstream has released updates that appears 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:
52fd29c0d SPIGOT-6033: Bukkit.getUnsafe().getMaterial() won't match renamed block materials
2020-07-28 04:36:52 -04:00
Spottedleaf
dafc7b8f8d
Fix off by one error for scheduling block ticks (#4014)
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>

Fixes #4015
2020-07-28 01:19:11 -04:00
Spottedleaf
a8ef09b82c
Tighten logic for handling target tick times in tick scheduler (#4010)
No longer rely on world time as plugins like to screw it up.

Add a new flag -Dpaper.ticklist-max-tick-delay= that
will automatically drop any tick entries that have a delay
exceeding the specified amount. This is only useful
for cleaning up a world that has been corrupted by
certain blocks having a huge tick delay.

Aimed at resolving #3251

Also fix an issue with some rails connecting incorrectly
that I found when testing.

Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2020-07-27 23:05:27 -04:00