Commit Graph

3075 Commits

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