Commit graph

3020 commits

Author SHA1 Message Date
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