13
0
geforkt von Mirrors/Paper
Commit graph

2605 Commits

Autor SHA1 Nachricht Datum
Nassim Jahnke
4fbe8d0b9b
First server patches 2022-12-07 18:08:55 +01:00
Nassim Jahnke
fd58a696cb
API patches 2022-12-07 17:46:46 +01:00
Noah van der Aa
b07d5e0aca
Limit pet look distance (#8612) 2022-12-06 19:10:58 +01:00
Shane Freeder
407a445aac
Fix dumplisteners missing folder creation 2022-12-06 04:02:44 +00:00
Yannick Lamprecht
96fdafd935
Player Entity Tracking Events (#4722) 2022-12-03 16:46:38 -06:00
Jake Potrebic
ec6a9a3e47
Updated Upstream (Bukkit/CraftBukkit) (#8604)
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:
38866413 SPIGOT-6765: Pass WorldInfo, Random and coordinates to ChunkGenerator should methods

CraftBukkit Changes:
f3dab3a48 SPIGOT-7191: TNT minecart explosions crash the server
b5aa0bed9 SPIGOT-7184: ExplosionPrimeEvent not called for ExplosiveMinecart
e7aab5493 SPIGOT-6765: Pass WorldInfo, Random and coordinates to ChunkGenerator should methods
2022-12-03 10:19:09 -08:00
Bjarne Koll
425baed78f
Fully deserialise persistent anger post async load (#8560)
The modified patch prevents entity loading off the main thread when
entities are initially loaded.

However, the initial loading of an entity is not the only time the
Entity#readAdditionalSaveData method is called. Commands like /data also
invoke the method (through Entity#load) to update an entities data
without completely re-creating it.

This however breaks with the current patch, as the patch moves parts of
the entity lookup for persistent anger deserialisation into the first
tick of an entity (which obviously is only called once and hence not
re-run when an already ticking entity is modified as laid out above).

This change actively runs the now split logic for deserialisation again
if the entity has already ticked its first tick. This way, initial
deserialisation is still split into one off thread and the first tick
parts, but following main thread deserialisations can happen completely
inside Entity#readAdditionalSaveData is called.
2022-12-02 18:09:41 +01:00
Jake Potrebic
c40f8d59a9
Sync offhand slot in menus (#7341) 2022-12-01 13:01:49 -08:00
Jason Penilla
54daefa0ca
Fix whitespace error in recent patch
Einige Prüfungen sind fehlgeschlagen
SteamWarCI Build failed
2022-11-28 11:10:26 -07:00
Lulu13022002
8796175d79
Handle legacy quirk in the console formatter (#8434) 2022-11-28 14:41:29 +01:00
Denery
309133e2e1
Fix preemptive connection dropping during shutdown process (#8546) 2022-11-27 11:20:31 -06:00
sandtechnology
28b4027d45
Fix packet duplicating at some points (#8566)
Due to the weakly consistent of ConcurrentLinkedQueue iterator, at some points, packet will be resent twice times or more, causing some weird behaviors (e.g. kicked for illegal movement since the same ClientboundPlayerPositionPacket was sent two times). This changes for the patch add a flag for marking if the packet was consumed to prevent such issue and ensure consistently of the packet queue.
2022-11-27 10:36:35 -06:00
Jason
f1583fcd74
Add /paper dumplisteners tofile and increase detail of command output (#8592) 2022-11-26 10:36:11 -07:00
Ján Villim
21b964af4e
Added ability to control player's insomnia and phantoms spawning (#6500) 2022-11-26 10:59:04 -06:00
Owen
f59c802697
Schoolable Fish API (#7089) 2022-11-25 20:21:40 -06:00
SoSeDiK
4048d3ec68
Allow using degrees for ArmorStand rotations (#7847) 2022-11-25 19:42:30 -06:00
Noah van der Aa
9f7eef81fd
Friction API (#6611) 2022-11-25 18:23:12 -06:00
Jake Potrebic
d98c370fb5
Add displayName methods for advancements (#8584) 2022-11-24 23:05:48 -08:00
Jake Potrebic
414ea80d74
ItemStack damage API (#7801) 2022-11-24 22:52:00 -08:00
Jake Potrebic
f637b1a0a7
Fix async entity add due to fungus trees (#7626) 2022-11-24 22:32:29 -08:00
Jake Potrebic
b4beac0c9d
Fixes potential issues arising from optimizing getPlayerByUUID (#8585) 2022-11-24 22:22:19 -08:00
Amy
185fa48ac4
Fix chest relooting mechanics (#8580) 2022-11-25 00:21:40 +01:00
Warrior
8aff07afb0
Add /paper dumplisteners command (#8507)
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
Co-authored-by: TwoLeggedCat <80929284+TwoLeggedCat@users.noreply.github.com>
2022-11-23 16:28:38 -06:00
Lulu13022002
da230d521c
More vanilla friendly methods to update trades (#8478) 2022-11-23 15:38:49 -06:00
Jake Potrebic
e6e37ba5d7
Add api to resolve components (#7648) 2022-11-22 20:53:50 -08:00
Shane Freeder
55a16d8581
Fix Varint21FrameDecoder cached length buf usage 2022-11-22 17:50:31 +00:00
Lulu13022002
3ab194e185
Avoid a cubed max search distance for POIs (#8576)
The max search distance used to get the closest Poi data on X/Z axis is cubed
instead of squared (one time in the parameter and another time in the function)
for almost all search.
Generally this has been hidden by another check that already does a pre
distance check between the poi pos and the source pos for individual
component but the issue still happens for diagonal distance search.
Discovered by Samsuik
2022-11-21 16:02:21 +01:00
Jakub Žáček
a7df847aad
Add Player Warden Warning API (#8470) 2022-11-20 12:53:58 -06:00
Jake Potrebic
b95d4b28b8
Moving ATs from the at file to individual patches (#8573) 2022-11-19 15:53:20 -08:00
Noah van der Aa
76503f8887
Strip coordinates from lodestone compasses (#8561) 2022-11-19 15:41:09 -06:00
Owen
0a6f100a2a
Add more collision code skipping logic (#7581) 2022-11-19 15:14:19 -06:00
Lulu13022002
8f498dc19a
Sync chunk load command improvements (#8554) 2022-11-19 14:10:13 -05:00
William Blake Galbreath
669fed4b57
Fix MC-179072 (#8421) 2022-11-19 12:23:31 -06:00
Melncat
b4c1ae645f
Fix MC-121048 (#8429)
This moves the setHealth call to below the recordDamage call to prevent
recordDamage from clearing the CombatTracker, since recordDamage will
clear the CombatTracker if the entity is dead. This fixes death messages
such as the "doomed to fall" messages.
2022-11-18 22:04:52 -06:00
Lulu13022002
84b5d4a352
Reorder bukkit damage source entity for explosion (#8553) 2022-11-18 20:14:52 -06:00
Jake Potrebic
215111213b
Fix/improve Affects Spawning API (#7329) 2022-11-15 11:15:01 -08:00
Jake Potrebic
e22dacf4d2
update yarn param mappings (#8563) 2022-11-12 12:57:41 -08:00
braindead
7955bcc87b
fix MC-252817 (green map markers do not dissappear) (#8545) 2022-11-12 13:16:25 -06:00
Jake Potrebic
564356d1e0
ensure reset EnderDragon boss event name (#8562) 2022-11-12 10:34:14 -08:00
Owen
5f4952fbce
Cleanup reputation API + back with an EnumMap instead of array (#8258)
Resolves: #7142
2022-11-12 18:41:22 +01:00
Noah van der Aa
112fa18bac
Show exception when headless JRE detection is triggered (#8559) 2022-11-12 13:09:54 +01:00
Owen
117579c6bb
Add PrePlayerAttackEntityEvent (#8369)
Allows you to cancel player event attacking, preventing things like attack sounds from being played.
2022-11-09 22:05:58 -05:00
Jake Potrebic
e6ee4cdffe
Updated Upstream (CraftBukkit) (#8548) 2022-11-09 16:05:46 -08:00
Shane Freeder
3ac1a8d708
Cleanup misc import from last commit 2022-11-06 22:46:23 +00:00
Shane Freeder
3e9f39faa2
Prevent compass from loading chunks 2022-11-06 22:37:34 +00:00
Owen
df5fb9475b
Properly resend entities (#7041) 2022-11-05 13:50:16 -05:00
Jason
2b47227e38
Update Commodore modifications (#8542)
* Handle ldc insn for getOriginalOrRewrite in Commodore

* Remove fastutil rewrite

It's no longer relocated upstream
2022-11-04 22:16:57 -07:00
Jake Potrebic
3d15120f7e
Fix Advancement#getDisplay() api break (#8541) 2022-11-04 15:59:15 -07:00
Jake Potrebic
ab1c072320
Remove old redundant fix (#8530) 2022-11-03 14:03:31 -07:00
Lulu13022002
ebc0f6bfb5
Call PlayerLaunchProjectileEvent for trident (#8027) 2022-11-03 19:43:50 +01:00
Shane Freeder
e30b082262
Fix setting difficulity inside of API (Fixes #8533)
Vanilla moved some logic around setting the world difficulty which
was not adopted for inside of upstream properly, this addresses another
such case
2022-11-01 18:29:52 +00:00
Jason Penilla
4a9c9b3fb0
Build updates 2022-10-31 15:25:30 -07:00
Denery
93b2246851
Fix EntityCombustEvent cancellation issues (#8529) 2022-10-31 17:31:40 +01:00
Jake Potrebic
b3b04f2ca1
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#8515)
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:
9a4de097 SPIGOT-7171: Ability to get the IP/hostname players are requesting status of

CraftBukkit Changes:
f43634ae4 SPIGOT-7170: Cannot set slots in custom smithing inventory
48f3a2258 SPIGOT-7171: Ability to get the IP/hostname players are requesting status of
30e31b4d1 SPIGOT-7177: Certain blocks don't call BlockCanBuildEvent
982364797 SPIGOT-7174: Avoid adding air to CraftMetaBundle

Spigot Changes:
6198b5ae PR-122: Add missing parentheses to pumpkin and melon growth modifier
1aec3fc1 Rebuild patches
2022-10-30 19:44:25 -07:00
Noah van der Aa
13cf5461d4
Fix pumpkin growth modifier (#8517) 2022-10-30 13:27:37 +01:00
William Blake Galbreath
b743144a12
Fix MC-147659 (#8423) 2022-10-27 19:53:16 -05:00
Jason
8acb05d567
Make CommandSyntaxException implement ComponentMessageThrowable (#8513) 2022-10-27 10:10:28 -07:00
Jason
0249750b8f
Fix EntityArgument suggestion permissions to align with EntitySelector#checkPermissions (#8511) 2022-10-26 18:31:55 -07:00
Jake Potrebic
32d95e9bab
Track projectile source for fireworks from dispensers (#8044) 2022-10-26 17:44:28 -07:00
Jake Potrebic
954e6f00f3
Fix a bunch more forceDrops for dropping items (#8095) 2022-10-26 17:32:03 -07:00
Noah van der Aa
2432233d24
Add allow server listing & text filtering client options (#7595) 2022-10-26 18:09:03 -05:00
Lulu13022002
36869ccd90
Fix new block data in EntityChangeBlockEvent for silverfish when mobGriefing isn't enabled (#8099) 2022-10-26 17:05:15 -05:00
Spottedleaf
25cd3eee99 Add dirty flag to chunk tick lists
For whatever reason, vanilla does not mark the chunk as
dirty when changing its tick lists.

We also have it return dirty if the time since the last
save has changed, since it would affect the tick offsets
in the ticklist.
2022-10-24 20:51:48 -07:00
Spottedleaf
fc5ae5be82 Fix incorrect handling of mustNotSave
CB used the dirty flag to construct the chunk unload event,
but then sets mustNotSave to the inverted value of the event
after calling the event without considering that the chunk may
actually be brought up to loaded status again later. Then, CB
overrides the isUnsaved method of LevelChunk to additionally
use mustNotSave.

Thus, if the chunk is not marked dirty when unloading, the
mustNotSave value will be set to true. Then, once the chunk
is reloaded and edited the dirty flag will be set. However,
when unloading the chunk finally, the isUnsaved method
will return false due to mustNotSave being true. Thus, the
chunk will never be saved.

To fix these issues, no longer make mustNotSave override
isUnsaved and always set the save flag for the chunk unload
event.

This issue started popping up recently due to the recent
change to mark chunks as not dirty after saving them, which
increased the chance of the save issue occurring in the first
place.
2022-10-24 19:34:03 -07:00
Jason
519cb4b214
Move classes added to net.minecraft.server to paper packages (#8500) 2022-10-24 12:43:46 -07:00
evan
1c1aeb20e2
Only limit global sounds to same world if limiting radius (#8499) 2022-10-23 20:52:40 +02:00
Jake Potrebic
44ce9b3e9c
Updated Upstream (Bukkit/Spigot) (#8445) 2022-10-23 10:41:34 -07:00
Spottedleaf
b8131a09b2 Mark chunks as saved after saving them
Prevents re-saving them again later.
2022-10-23 09:09:18 -07:00
Owen
05bd9d67b7
Ignore impossible spawn tick (#8493)
Co-authored-by: dannyball710 <dannyball710@gmail.com>
2022-10-22 23:45:07 -05:00
Owen
0b8f40cf6a
Don't fire EntityToggleSitEvent on deserialization & reorder some api patches (#8495) 2022-10-22 21:55:28 -05:00
Owen
6665076342
Add Moving Piston API (#7019) 2022-10-22 19:37:37 -05:00
uku
4e67c73b03
Add config setting for grindstone overstacking (#8156) 2022-10-22 18:25:17 -05:00
vytskalt
58483c1e18
Add fire-tick-delay option (#8037) 2022-10-22 17:57:09 -05:00
IEatBeans
6ea5aa37bd
Added EntityToggleSitEvent (#7579)
* Added EntityToggleSitEvent Patches

* Updated event phrasing, fixed Boolean not being primitive, pandas now fire event, and event is defined and called in 1 line

* Updated event phrasing, fixed Boolean not being primitive, pandas now fire event, and event is defined and called in 1 line

* Added EntityToggleSitEvent Patches

* Added EntityToggleSitEvent Patches

* Added EntityToggleSitEvent Patches
2022-10-22 17:20:52 -05:00
Lukas Alt
5cdb5f9585
Optimized dirt and snow spreading (#5124)
* Optimized dirt and snow spreading

* Add optimization to bukkit event call

* Clarify var names

Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
2022-10-22 13:13:59 -05:00
Lukas Alt
60da35e359
fixed entity vehicle collision event not called (#5053) 2022-10-22 12:09:45 -05:00
Noah van der Aa
7187cab3b6
Detect headless JREs (#8491)
Crashes caused by the missing AWT dependency come up in the support channels fairly often.
This patch detects the missing dependency and stops the server with a clear error message,
containing a link to instructions on how to install a non-headless JRE.
2022-10-22 11:57:21 -05:00
Noah van der Aa
a163a96a8d
Load Allay duplication cooldown as a long (#8410)
It is saved as a long, and the API exposes a long, so loading it as an int may cause issues like overflows.
2022-10-22 16:16:24 +02:00
Jason
3dcfec4499
Add stacktrace deobfuscation in more places (#8484) 2022-10-18 19:21:07 -07:00
Spottedleaf
f7da209586 Fix inconsistent isChunkLoaded calls
When we update the chunk state to border, it should be
the case that isChunkLoaded returns true and that
getChunkIfLoadedImmediately returns a non-null value.
Now add the chunk to the loaded map before making any
callbacks after updating to border state.
2022-10-18 08:11:23 -07:00
Nassim Jahnke
e1d4b26a62
Fix another case of missing chat headers 2022-10-18 10:20:35 +02:00
Melncat
ed2c88ba89
Add LivingEntity knockback API (#8479) 2022-10-18 09:33:58 +02:00
Jakub Žáček
ec00f991a4
Fix package for PlayerInventorySlotChangeEvent (#8475)
Co-authored-by: Jakub Zacek <dawon@dawon.eu>
2022-10-16 08:49:47 +01:00
19MisterX98
603df98897
FIx bedrock patterns (#8474) 2022-10-16 00:34:10 +02:00
SoSeDiK
eb68bd49a2
Allow changing bed's 'occupied' property (#8458) 2022-10-14 10:37:01 +02:00
Lulu13022002
2094011485
Update settings directory path in exceptions (#7968) 2022-10-13 13:38:06 +02:00
SoSeDiK
514a60647d
Elder Guardian appearance API (#8455) 2022-10-13 12:26:51 +02:00
Shane Freeder
7fe34e9508
Make CraftMinecartTNT public
adding the getHandle method causes some issues with things like ProtocolLib
due to the expectation that all classes which provide a getHandle method
are public.
2022-10-12 16:10:52 +01:00
Jake Potrebic
b9cf1ac580
Fix a classloading issue in tests (#8459) 2022-10-11 20:05:28 -07:00
Jason Penilla
f7c8d79667 Fix stacktrace in server tests 2022-10-11 16:52:49 -07:00
Jakub Žáček
de2d2d4d94
Add PlayerInventorySlotChangeEvent (#7321) 2022-10-11 22:49:10 +01:00
Owen
6b26cfcd31
Add missing Entity + Projectile API (#7632) 2022-10-11 22:04:26 +01:00
SoSeDiK
b097a241c0
Expose isUnderWater to Entity (#8454) 2022-10-11 14:43:10 +02:00
Jake Potrebic
57555b8c6a
Add missing structure set seed configs (#8030) 2022-10-09 22:19:35 +02:00
Jake Potrebic
c389b1c408
Fix configs that relied on outdated min/max y levels (#6986) 2022-10-09 08:52:09 +02:00
Warrior
60c973e461
Exempt players in creative/spectator from nether ceiling damage (#8427) 2022-10-07 20:43:26 +02:00
Jake Potrebic
bcb4220b5f
Correctly handle interactions with items on cooldown (#8008) 2022-10-07 17:22:45 +02:00
Jake Potrebic
ff67f1fa18
EntityPickupItemEvent fixes (#8096) 2022-10-04 21:38:39 -07:00
Jake Potrebic
9d63b070a1
Fix custom piglin interest items (#8097) 2022-10-04 20:28:46 -07:00
Nassim Jahnke
ad3d35751a
Remove unnecessary onTrackingStart during nav warning
Closes #8396
2022-10-03 20:50:53 +02:00
Gero
15e1748fd5
Avoid resizing of ArrayList in ChunkMap#getPlayers (#8416) 2022-10-03 19:22:01 +02:00
Nassim Jahnke
011caa4d8e
[ci skip] Minor patch cleanup 2022-10-03 19:07:03 +02:00
Friwi
616db7118d
Fix nothing mlg (#8432) 2022-10-03 18:44:19 +02:00
Nassim Jahnke
928bcc8d3a
Updated Upstream (Bukkit/CraftBukkit) (#8430)
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:
09943450 Update SnakeYAML version
5515734f SPIGOT-7162: Incorrect description for Entity#getVehicle javadoc
6f82b381 PR-788: Add getHand() to all relevant events

CraftBukkit Changes:
aaf484f6f SPIGOT-7163: CraftMerchantRecipe doesn't copy demand and specialPrice from BukkitMerchantRecipe
5329dd6fd PR-1107: Add getHand() to all relevant events
93061706e SPIGOT-7045: Ocelots never spawn with babies with spawn reason OCELOT_BABY
2022-10-02 09:56:36 +02:00
TetraTheta
ec3cfa9b7f
Only create paper.yml-README.txt on config conversion (#8334) 2022-10-02 09:29:09 +02:00
Jake Potrebic
ec76e36a4e
Fix a handful of vanilla bugs (#8187) 2022-10-01 19:39:42 +02:00
Melncat
6d1409316e
Add getDrops to BlockState and isPreferredTool to BlockData (#8284) 2022-10-01 12:30:00 +02:00
Remynfv
2534e5cbbf
Fix other jigsaw related disconnect bug (#8414) 2022-10-01 10:08:07 +02:00
Nassim Jahnke
f5fa69173c
Don't print full packages in new chunk system classes
Closes #8391, #8412
2022-09-30 23:19:51 +02:00
Pasqual Koschmieder
14c32bc43d
Fix wrong yaw and pitch of CommandSourceStack#getBukkitLocation (#8411) 2022-09-30 21:03:42 +02:00
Remynfv
c6d737528d
use BlockFormEvent for mud converting into clay (#8398)
Co-authored-by: Legitimoose <legitimoose@gmail.com>
2022-09-30 20:33:31 +10:00
Ilari Suhonen
8d69cfc6ce Reduce allocation rate for checkBlock
Use ObjectOpenHashSet instead of HashSet
Remove unnecessary chunkToSave modification
2022-09-29 09:04:52 -07:00
Spottedleaf
7d3a882670 Do not log throwable for duplicate entity adds 2022-09-29 08:55:47 -07:00
Bjarne Koll
8a7dd61348
Mark parsed PoiChunks with data as not loaded (#8405)
Previously, PoiChunk#empty would create a new empty poi chunk with
loaded already set to true, as no data was contained in the chunk.
This allowed the poi chunk to skip expensive trips to the main thread.

However, PoiChunk#parse used #empty to create the initial PoiChunk
instance that is then filled with data.
This leads to PoiChunks returned from #parse to already be marked as
loaded, preventing the then needed trip to the tick thread to update
things like the village distance tracker.

To fix this, this commit now marks the PoiChunks loaded state as false
if the parse logic actually read and parsed any data.
This allows the PoiChunk#load method to properly run its callbacks when
called for the first time.
2022-09-29 08:54:47 -07:00
F1rsi
017af785ff
[ci skip] Added the missing "d" character (#8267) 2022-09-29 15:36:01 +01:00
Remynfv
21661a7557
Fix jigsaw block kicking user (#8404) 2022-09-29 12:37:56 +01:00
Jason
79f2aa3eed
Update Velocity natives (#8387) 2022-09-29 12:18:20 +01:00
Shane Freeder
bd496d0e0d
[ci skip] shuffle patches and rebuild 2022-09-28 04:27:26 +01:00
Nassim Jahnke
1bbd273bbd
Fix user auth thread pool queue 2022-09-27 18:00:46 +02:00
Jake Potrebic
f7d16f656a
Fixes a couple issues with entity spawn reasons (#8390) 2022-09-27 01:24:56 +01:00
Spottedleaf
01a13871de
Rewrite chunk system (#8177)
Patch documentation to come

Issues with the old system that are fixed now:
- World generation does not scale with cpu cores effectively.
- Relies on the main thread for scheduling and maintaining chunk state, dropping chunk load/generate rates at lower tps.
- Unreliable prioritisation of chunk gen/load calls that block the main thread.
- Shutdown logic is utterly unreliable, as it has to wait for all chunks to unload - is it guaranteed that the chunk system is in a state on shutdown that it can reliably do this? Watchdog shutdown also typically failed due to thread checks, which is now resolved.
- Saving of data is not unified (i.e can save chunk data without saving entity data, poses problems for desync if shutdown is really abnormal.
- Entities are not loaded with chunks. This caused quite a bit of headache for Chunk#getEntities API, but now the new chunk system loads entities with chunks so that they are ready whenever the chunk loads in. Effectively brings the behavior back to 1.16 era, but still storing entities in their own separate regionfiles.

The above list is not complete. The patch documentation will complete it.

New chunk system hard relies on starlight and dataconverter, and most importantly the new concurrent utilities in ConcurrentUtil.

Some of the old async chunk i/o interface (i.e the old file io thread reroutes _some_ calls to the new file io thread) is kept for plugin compat reasons. It will be removed in the next major version of minecraft.

The old legacy chunk system patches have been moved to the removed folder in case we need them again.
2022-09-26 01:02:51 -07:00
Owen
b4c025b92c
Fix player desync on dimension change (#8253) 2022-09-24 06:45:13 +01:00
Lulu13022002
62680d5f83
Avoid item meta usage for itemstack enchantment getter (#8373) 2022-09-24 06:19:51 +01:00
willkroboth
4d52f1d247
Add method isTickingWorlds to Bukkit (#8316)
Co-authored-by: Shane Freeder <theboyetronic@gmail.com>

Also, restores un/loading worlds mid tick. This will not be officially supported API contract that such a routine is safe, and these restrictions may be restored in the future.
2022-09-24 06:19:05 +01:00
Shane Freeder
6736f390a2
Fix mangled patch 2022-09-24 05:48:46 +01:00
willkroboth
d3326235f0
Avoid potential place where the world map could be modified after its iterator is created (#8315) 2022-09-24 05:33:20 +01:00
Shane Freeder
3996e6ef29
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:
c7c11188 SPIGOT-2620: Add Player#sendBlockChanges()
f63d2b44 Improve annotation test on parameters
3372e7b4 SPIGOT-1244, SPIGOT-6860, SPIGOT-6874: Various Javadoc and formatting fixes
a1e8a9ab PR-793: Ignore .checkstyle file generated by Eclipse IDE

CraftBukkit Changes:
c2c39089e SPIGOT-2620: Add Player#sendBlockChanges()
8209158db PR-1113: Ignore .checkstyle file generated by Eclipse IDE

Spigot Changes:
4aa5ead2 Rebuild patches
2022-09-24 02:38:12 +01:00
Jake Potrebic
f528f53e81
Correct javadocs on PlayerArmorStandManipulateEvent (#7719) 2022-09-23 06:55:02 +01:00
Lulu13022002
ec0c550482
Call BlockPhysicsEvent more often (#8264) 2022-09-23 06:35:15 +01:00
Lulu13022002
8681503d10
Call EntityChangeBlockEvent for frogs egg (#8136) 2022-09-23 06:32:32 +01:00
Shane Freeder
980c1d1f90
Updated Upstream (Bukkit/CraftBukkit) (#8378) 2022-09-23 06:08:43 +01:00
Jake Potrebic
9e614e6f9a
Fix ground pathfinding (#7683) 2022-09-20 14:06:11 -07:00
ChristopheG
8db45c4312
Copper clear on lightning strike calls EntityChangeBlockEvent (#8126) 2022-09-20 03:35:38 +01:00
Owen
ad3dffe715
Respect preventMovingIntoUnloadedChunks for optimized collision checking (#8259) 2022-09-20 03:02:52 +01:00
tahmid-23
f7e68091a0
Fix Pathfinding After World Has Changed (#8068) 2022-09-20 02:39:46 +01:00
Shane Freeder
dbc2d60ce0
Make WorldCreator#keepSpawnLoaded return the WorldCreator (Fixes #8321) (#8371)
* Make WorldCreator#keepSpawnLoaded return the WorldCreator (Fixes #8321)

Thought that I fixed this before push/merge, apparently not, hence, fix
the return type and add mitigation for this.

* Fix patch/build

* Rebuild patches
2022-09-20 01:28:22 +01:00
Shane Freeder
470c6388d2
Configurable chat thread limit (#7878) 2022-09-20 01:16:23 +01:00
Melncat
ea777c345b
Add a consumer parameter to ProjectileSource#launchProjectile (#8374)
Co-authored-by: MelnCat <melncatuwu@gmail.com>
2022-09-20 01:03:59 +01:00
Nex
63cb7472ac
Added byte array serialization/deserialization for PersistentDataContainers (#7505) 2022-09-18 05:06:53 +01:00
Lulu13022002
dbda887457
Missing some effect cause (#8307) 2022-09-18 04:46:20 +01:00
Lulu13022002
34777cdcbe
Missing eating regain reason (#8244) 2022-09-18 04:24:28 +01:00
Jake Potrebic
b826065a4b
fire EntityChangeBlockEvent in more places (#6371)
* fire EntityChangeBlockEvent in more places

* Rebuild patches

Co-authored-by: Shane Freeder <theboyetronic@gmail.com>
2022-09-18 04:03:54 +01:00
elmital
ef670ebafb
EndDragonFight killed statuses should be false for newly created worlds (#8354) 2022-09-18 02:44:06 +01:00
Peter Crawley
05f6a5c005
Limit size of Authenticator Cache Thread Pool (#8360) 2022-09-17 22:58:51 +01:00
Fruxz
f5f84ff476
Add custom destroyerIdentity parameter to the sendBlockBreak function (#5840) 2022-09-17 22:27:46 +01:00
Bjarne Koll
751d092af3
Properly close section storage managed files (#8364) 2022-09-17 19:50:01 +01:00
Shane Freeder
36f0c1b3cc
Rebuild patches 2022-09-17 04:35:39 +01:00
Jaren
267dd180b6
Stop large look changes from crashing the server (#8326) 2022-09-17 04:30:00 +01:00
karthanistyr
178f035aa7
Restore no-crash behaviour when read-only config file(s) (#8318) 2022-09-17 04:22:17 +01:00
Nassim Jahnke
ef0e5a642d
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:
9ae3f10f SPIGOT-3842: Add Player#fireworkBoost() and expand Firework API
48c0c547 PR-786: Add methods to get sounds from entities

CraftBukkit Changes:
5cc9c022a SPIGOT-7152: Handle hand item changing during air interact event
4ffa1acf6 SPIGOT-7154: Players get kicked when interacting with a conversation
4daa21123 SPIGOT-3842: Add Player#fireworkBoost() and expand Firework API
e5d6a9bbf PR-1100: Add methods to get sounds from entities
b7e9f1c8b SPIGOT-7146: Reduce use of Material switch in ItemMeta

Spigot Changes:
4c157bb4 Rebuild patches
2022-09-12 13:31:45 +02:00
Jake Potrebic
51183af967
Fix console completer/highlighter having invalid source stack (#8346) 2022-09-09 14:25:54 -07:00
Jake Potrebic
e51401e764
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#8347) 2022-09-09 11:54:00 -07:00
okx-code
36a5f150c5
Allow preventing BlockDestroyEvent from dropping items (#8349) 2022-09-08 17:13:50 +02:00
Spottedleaf
09904fd780 Re-add legacy getChunkAtAsynchronously to ChunkProviderServer
Apparently some plugins use it
2022-09-02 04:42:05 -07:00
Spottedleaf
e8c2c3bfda Fix World#refreshChunk not working for chunks in no-tick range
The chunk would not be marked as ticking in this case, so
retrieving the ticking chunk would not work.
2022-09-01 15:39:24 -07:00
Spottedleaf
046466f3ba
Re-arrange most chunk system patches to front (#8338)
* Re-arrange most chunk system patches to front

Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2022-09-01 09:51:59 -07:00
Spottedleaf
eff22eb054 Ensure players are removed from pendingLogin
Looks like they would not have been removed if they disconnected
during the chunk load, preventing the world from being unloaded.
2022-08-29 06:21:45 -07:00
Spottedleaf
aabf676721 Prevent unloading worlds with pending player logins
Logging into an unloaded world isn't going to end well.
This may fix the cases of people seeing errors about regionfiles
being closed, as loading chunks in an unloaded world will cause this
as the regionfile cache is closed but not cleared.
2022-08-26 22:20:27 -07:00
Nassim Jahnke
0bf8790c9c
Fix client lag spikes due to client light recalc 2022-08-25 12:59:08 +02:00
José Miguel Moreno
a76998d235
Fix plugin loggers on shutdown (#5592)
Potentially this should be merged back into the original logging changes patches
2022-08-21 03:57:17 +01:00
Nassim Jahnke
2da891fcfa
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:
0b32cbaa PR-782: ThrownPotion now extends ThrowableProjectile
474238ca SPIGOT-7138: Can't retrieve pixel color from map

CraftBukkit Changes:
cdef8fc72 PR-1097: CraftThrownPotion now extends CraftThrowableProjectile
419010b13 SPIGOT-7112: Mobs added 1.17 and after do not create an EntityTargetEvent properly
e71426201 SPIGOT-7079: Allays don't call EntityTargetEvent on ground items
f80adb8b9 SPIGOT-7138: Can't retrieve pixel color from map
2022-08-17 13:02:35 +02:00
petersv5
4ba43fe02a
Grant temporary immunity to hopper minecarts while actively pulling (fixes #8281) (#8282)
Reduce the impact from EAR on hopper minecart based unloaders by making them immune to
EAR while pulling objects. The EAR is still active outside misc activation range when
the hopper minecart is idle, keeping lag low.
2022-08-14 19:41:15 +02:00
Nassim Jahnke
4516aedb43
More ThrownPotion API 2022-08-14 19:12:02 +02:00
Josh Roy
5bf259115c Add NamespacedKey biome methods
Co-authored-by: Thonk <30448663+ExcessiveAmountsOfZombies@users.noreply.github.com>
2022-08-14 13:09:10 -04:00
Nassim Jahnke
9592da1f84
Add method to get highest anger level of warden 2022-08-14 10:25:28 +02:00
Nassim Jahnke
0ddd20c6f7
Updated Upstream (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

CraftBukkit Changes:
ead719a65 SPIGOT-7136: Cancelling PlayerInteractEntityEvent with the Allay desyncs
8468e167e SPIGOT-7137: StructureGrowEvent isFromBonemeal and getPlayer have incorrect values
d45057c59 SPIGOT-7089: Crash when command blocks attempt to load worlds

Spigot Changes:
450dcaa8 Rebuild patches
2022-08-14 10:03:13 +02:00
Shane Freeder
3f0415b453
Use thread safe Random inside of ServerLoginPacketListenerImpl
Vanilla uses a Random instance which is not thread safe inside of the
constructor for ServerLoginPacketListenerImpl, this is an issue because
instances of that class are created on the network worker threads, which
means that there is a potential (which we have reports confirming) that
multiple users logging on could trip this
2022-08-11 14:38:45 +01:00
TheTuso
7e11afa426
Fix mad cursor addition via API (#8276) 2022-08-11 10:40:19 +02:00
Spottedleaf
2a74071bcb Simple patch changes for chunk system
Major ones soon
2022-08-10 08:07:49 -07:00
Shane Freeder
2cab6963a7
Don't manually send ClientboundPlayerPositionPacket for refreshPlayer
in 1.19, mojang made it so that teleporations validate that an awaiting pos was
set in the server when teleporting, thus we need to ensure that this is set when
sending the player pos, otherwise the player will be kicked when the client sends
back the aknowledgement
2022-08-10 15:01:55 +01:00
Nassim Jahnke
954b3fb7d5
Send signature headers when chat event viewers are modified
Fixes #8275
2022-08-10 09:59:28 +02:00
Owen
22ad9eedec
Fix command pool submitting on shutdown (#8272) 2022-08-09 20:51:17 -07:00
Nassim Jahnke
e6f8284125
Updated Upstream (Bukkit/CraftBukkit) (#8270)
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:
d43a1e72 SPIGOT-2450: Improve scoreboard criteria API, add missing DisplaySlots
9d6e4847 SPIGOT-7122: New Allay Methods from 1.19.1

CraftBukkit Changes:
c379a6b4e SPIGOT-2450: Improve scoreboard criteria API, add missing DisplaySlots
051fcced1 SPIGOT-7122: New Allay Methods from 1.19.1
2022-08-09 09:18:08 +02:00
FivePB (Xer)
c7e118b394
Update modern forwarding to v3 (#8219) 2022-08-08 16:25:41 +01:00
Owen
78b19f89a4
Separate Command Sending to Separate Thread Pool (#8170) 2022-08-08 12:32:17 +01:00
Josh Roy
a47301e40f
Fix Player#chat kicking all clients (#8262) 2022-08-08 09:31:10 +02:00
Jason
a15152e96a
Allow old behavior for CommandRegisteredEvent (#8249) 2022-08-06 16:22:51 -07:00
Jake Potrebic
bef2c9d005
1.19.2 (#8250) 2022-08-05 15:58:34 -07:00
Owen
69950d5a6a
Block Ticking API (#7202) 2022-08-03 23:14:04 +02:00
Jake Potrebic
ef42d2a575
Fix null profile key breaking nullability contracts for PlayerProfile API (#8233) 2022-08-03 22:46:33 +02:00
Spottedleaf
a817697e8a Add async catcher to PlayerConnection internalTeleport 2022-08-03 12:59:54 -07:00
Nassim Jahnke
4a00cee9cc
Readd patch to remove invalid signature on login error 2022-08-03 15:25:11 +02:00
Jake Potrebic
7044a9c538
Leave a paper.yml.txt stub pointing to new location (#8090) 2022-08-02 13:24:57 -07:00
Nassim Jahnke
c032050ad8
Fix command preprocess cancelling and command changing
When a command with signed arguments is cancelled, message headers need to be sent out. Same thing for when the executed command is changed.
2022-08-02 19:19:16 +02:00
chickeneer
e0486ae2cd
Fix suggest command message for brigadier syntax exceptions (#8221) 2022-08-02 09:51:21 +02:00
Nassim Jahnke
ceef4b9c09
Don't call AsyncTabCompleteEvent from netty IO thread (#8218) 2022-08-01 21:56:28 +02:00
Jake Potrebic
dd3e4e7bd6
Initial support for signed messages (#8198) 2022-08-01 12:34:55 -07:00
Nassim Jahnke
d60497ebf2
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:
ff64962b SPIGOT-7124: MapPalette.getColor(0) returns the wrong color

CraftBukkit Changes:
8f3647242 SPIGOT-7127: /say doesn't work from console
2022-08-01 16:01:20 +02:00
Maddy Miller
babffb5a46
Undeprecate and fix Boat#getBoatMaterial (#8217) 2022-08-01 23:02:23 +10:00
Jake Potrebic
1f0d70743e
Fix issues with CreeperIgniteEvent (#7507) 2022-07-31 10:14:54 -07:00
Owen
307778fc70
Collision API (#6736) 2022-07-31 17:30:34 +02:00
Owen
532dc51d5f
Add missing BlockFadeEvents (#8171) 2022-07-30 18:58:37 +02:00
Owen
6ecdbc09c2
Use Worldheight for Activation Ranges (#8061) 2022-07-30 18:47:35 +02:00
Owen
8a08b86f4b
Custom Chat Completions API (#8212) 2022-07-30 18:28:24 +02:00
Owen
65f0b2e2e4
Add more needed BlockStateListPopulator Methods (#8021) 2022-07-30 00:28:46 +01:00
Owen
b74c4d4587
Warn on plugins accessing faraway chunks (#8208) 2022-07-30 00:16:26 +01:00
Owen
b72eafc04d
Send block entities after destroy prediction (#8053) 2022-07-29 23:26:41 +01:00
Jake Potrebic
e5bbb56ac6
Added 1.19 kick event causes (#8204) 2022-07-29 09:31:02 -07:00
Nassim Jahnke
3b895f36fd
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:
401f1ad58 Re-enable outdated build delay
40eaff8a5 SPIGOT-7125: Command execution exceptions are not logged
639814683 SPIGOT-7123: NullPointerException thrown by Player#chat method
2022-07-29 09:11:11 +02:00
stonar96
2acb479b41
[ci skip] Fix xray patch code style (#8196) 2022-07-28 10:30:32 +02:00
Jake Potrebic
4a4ee79cd6
Separate out chat and commands sent via API (#8131) 2022-07-27 19:07:26 -07:00
Nassim Jahnke
71544ab01f
Readd deobfuscation of chat executor stacktraces 2022-07-28 02:02:40 +02:00
Nassim Jahnke
c488d15359
Don't fire preview event for non-player senders
Fixes #8195
2022-07-28 01:59:19 +02:00
Nassim Jahnke
2184cd2252
Fix chat message api using overlay 2022-07-28 00:38:37 +02:00
Nassim Jahnke
d41ecbe5c3
Make it compie 2022-07-28 00:20:14 +02:00
Nassim Jahnke
cb6f029de9
More compile fixed 2022-07-28 00:10:27 +02:00
Nassim Jahnke
063e6b288c
Compile fixes 2022-07-28 00:04:27 +02:00
Jake Potrebic
64cb313386
some compile fixes 2022-07-27 15:00:14 -07:00
Nassim Jahnke
c8f3d9ee8c
More more more more more more more work 2022-07-27 23:50:05 +02:00
Nassim Jahnke
6b80b342d9
More more more more more more work 2022-07-27 23:32:15 +02:00
Nassim Jahnke
c7304035b6
More more more more work 2022-07-27 23:19:52 +02:00
Nassim Jahnke
aab40382a5
More more more more work 2022-07-27 22:55:55 +02:00
Nassim Jahnke
7a133678da
More more more work 2022-07-27 22:46:05 +02:00
Nassim Jahnke
50710fa684
More more work 2022-07-27 22:17:18 +02:00
Nassim Jahnke
08828fde02
More work 2022-07-27 21:49:24 +02:00
Nassim Jahnke
afb9e818fc
Fix timings diff 2022-07-27 21:22:02 +02:00
Nassim Jahnke
faafca851c
New work 2022-07-27 21:18:51 +02:00
Nassim Jahnke
734a43657a
Move patches over, start with first few 2022-07-27 20:52:03 +02:00
Nassim Jahnke
86f87ba400
Fix custom merchant trade event world reference 2022-07-25 19:21:31 +02:00
Nassim Jahnke
345a6a6205
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:
ef0946409 PR-1091: Fix exit position in entity travel with portals
d12768f75 PR-1090: Remove no longer needed world reference from CraftMerchantCustom
7550f6854 SPIGOT-7115: Support hex color codes in custom merchant inventory titles
2022-07-25 18:44:24 +02:00
Nassim Jahnke
22ac7d6817
Add internal netty pipeline events 2022-07-25 16:13:09 +02:00
Nassim Jahnke
b327e17634
Fix regenerate chunk method 2022-07-24 22:11:35 +02:00
Shane Freeder
46a9d2a4ac
Cache Component MOTDs 2022-07-23 02:56:50 +01:00
Jake Potrebic
1a8bea734a
Fix wrong world being passed into portal event (#8174) 2022-07-22 17:42:34 -07:00
Jake Potrebic
4952c04610
Don't use level random in entity constructors (#8122) 2022-07-22 16:42:13 -07:00
Jake Potrebic
0193a9db5d
Add EntityPortalReadyEvent (#5619) 2022-07-22 16:23:12 -07:00
Owen
5deafd1969
Teleportation API (#6562) 2022-07-22 20:36:43 +01:00
Jake Potrebic
52a60ad946
Updated Upstream (Bukkit/CraftBukkit) (#8172)
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:
23f557a0 SPIGOT-5380, SPIGOT-6958, PR-772: Add some missing entity API

CraftBukkit Changes:
fc3071161 SPIGOT-5380, SPIGOT-6958, PR-1085: Add some missing entity API
2022-07-22 11:18:00 -07:00
Jake Potrebic
d0e7fa4dc9
Updated Upstream (Bukkit) (#8158) 2022-07-21 20:53:04 +01:00
ChristopheG
73dca00ba5
Add yaw and pitch to CommandSourceStack#getBukkitLocation() (#8167) 2022-07-21 09:26:36 +02:00
Noah van der Aa
a76a1ab862
Make Biome implement Translatable (#8161) 2022-07-20 18:23:26 +02:00
Pedro
16ee379389
Add SpawnReason to Tadpoles spawned by Frogspawn (#8165) 2022-07-20 18:18:28 +02:00
Lulu13022002
bebfc79708
Call jump event for the beast (#8100) 2022-07-20 18:17:42 +02:00
Jake Potrebic
b7faa655cb
Fix update future return type (#8120) 2022-07-18 23:06:59 -07:00
Space Walker
384d63918c
Fix missing redstone event call with Eigencraft redstone (#8148) 2022-07-18 13:46:52 +02:00
stonar96
90836d0da6
1.19 Anti-Xray cleanup (#8104) 2022-07-18 12:30:31 +02:00
Pedro
036a09c300
Fix spigot config not using commands.spam-exclusions (#8151) 2022-07-17 18:37:39 +02:00
Space Walker
cd215af6eb
Fix #8138 (#8139) 2022-07-13 23:20:26 +02:00
Noah van der Aa
e4f21e3178
Move old user conversion down slightly (fixes #8050) (#8052) 2022-07-12 22:13:27 +01:00
Jake Potrebic
b58063a949
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#8124)
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:
607ce370 SPIGOT-7069: Material.BARREL has Directional data class, should also be Openable
f14cea82 SPIGOT-7070: Material.SCULK_VEIN has Waterlogged data class, should also be MultipleFacing
8e43b278 PR-767: Add support checking/survivability methods for BlockData
b3dee151 SPIGOT-7083: Add Boat.WoodenType, Boat.Status; deprecate TreeSpecies

CraftBukkit Changes:
9a8e08010 SPIGOT-7069: Material.BARREL has Directional data class, should also be Openable
26bd88ccd SPIGOT-7070: Material.SCULK_VEIN has Waterlogged data class, should also be MultipleFacing
7ba06e15b SPIGOT-7095: StructureGrowEvent doesn't fire for mangrove propagules growing to a tree
163e35c91 PR-1079: Add support checking/survivability methods for BlockData
4230f8f0e SPIGOT-7083: Add Boat.WoodenType, Boat.Status; deprecate TreeSpecies

Spigot Changes:
14a2382f Rebuild patches
2022-07-12 10:16:05 -07:00
Jason
e294802977
Refactor paper command (#8112)
* Refactor paper command

* Improve paper dumpitem output

* Register paper command permissions

Would be nice to add descriptions for these too, but that's an enhancement for another time

* Update MobcapsCommandTest fail message

* Notify on bad radius for fix light

* fixup rebase
2022-07-08 16:01:42 -07:00
Jason Penilla
5ffeb70186
Use getChunkForLighting instead of getChunkAtImmediately in fixlight to properly ignore imposter chunks
We need chunks to actually have their light status future done to relight them, an imposter with for example only the empty future complete but with a light status cannot be relit.

getChunkForLighting gives the desired behavior and is the method used by the light engine, so updating fixlight to use it as well fixes #8115
2022-07-08 15:27:37 -07:00
Bjarne Koll
95ac8745f0
Add ZombieVillager conversion without entity event (#8111)
The ZombieVillager#setConversionTime API method internally calls
startConversion which always broadcasts the entity event responsible for
playing the respective sound at the beginning of a conversion.

This is not always wanted by developers when modifying already
converting zombies in particular.

This commit expands the ZombieVillager interface with another overload
of the setConversionTime method that also takes a simple toggle flag
indicating whether or not the entity event should be published to the
world.
2022-07-07 22:43:28 +01:00
Lulu13022002
c4782f50a3
Add xp orb spawn reason for frogs (#8045) 2022-07-07 22:38:12 +01:00
Jake Potrebic
6ea73e7d63
Fix Bee setFlower NPE (#8107) 2022-07-06 15:21:56 -07:00
Shane Freeder
a05e69b9fc
Add a bit of extra debugging to chat order/time errors
I do wanna add some leeway to the kick, if message was sent within 30-60
seconds of the last message, assume clock drift and just ignore the kick
(send a message? just silently ignore?), but, I'm not 100% on this one
2022-07-06 06:00:16 +01:00
Bjarne Koll
c879064bfe
Call EntityDropItemEvent for goats dropping horns (#8094) 2022-07-04 21:26:43 +02:00
Jake Potrebic
fbb11db9a5
Add missing EntityDropItemEvent calls (#5674) 2022-07-04 12:01:17 -07:00
Nassim Jahnke
385f313a8b
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#8092)
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:
d41796de SPIGOT-7071: Add Player#stopSound(SoundCategory category)
61dae5b2 SPIGOT-7011, SPIGOT-7065: Overhaul of structures

CraftBukkit Changes:
991aeda12 SPIGOT-1729, SPIGOT-7090: Keep precision in teleportation between worlds
5c9a5f628 SPIGOT-7071: Add Player#stopSound(SoundCategory category)
68f888ded SPIGOT-7011, SPIGOT-7065: Overhaul of structures
0231a3746 Remove outdated build delay.

Spigot Changes:
475f6008 Rebuild patches
8ce1761f Rebuild patches
2022-07-04 16:38:06 +02:00
Noah van der Aa
1e5d1db2b7
Call StructureGrowEvent for mangrove propagule (#8023) 2022-07-04 15:20:43 +01:00
Spottedleaf
d86fde5523 Do not sync load chunk for dynamic game event listener registration
These can be called while an entity is being added to the world,
and if the entity is being added from a chunk load context the
sync load will block indefinitely (because the chunk load context
is for completing the chunk to FULL).

This does raise questions about the current system for these
dynamic registrations, as it looks like there is _zero_ logic
to account for the case where the chunk is _not_ currently loaded
and then later loaded.
2022-07-03 22:42:58 -07:00
Spottedleaf
41647af74c Do not use worldgen executor for api profile completions
We cannot put blocking network I/O onto the worldgen threads,
this will crash the server if it stalls
2022-07-03 14:55:56 -07:00
u9g
ed79fc947a
Add Player#getFishHook (#7988) 2022-07-03 12:24:29 -07:00
pop4959
9d0650ed60
Don't print component in resource pack rejection message (#8084) 2022-07-02 11:19:53 +02:00
Noah van der Aa
c029645443
Don't allow world unloading while ticking worlds (fixes #8080) (#8081) 2022-07-01 18:14:50 +02:00
Space Walker
a22eb678af
update eigencraft patch (#8076) 2022-06-30 09:20:40 +02:00
Jason
1bd678c494
[ci skip] Scan built jars for bad method usages (#8051) 2022-06-27 15:41:59 -07:00
Jake Potrebic
37afe987d9
Fix CCE for SplashPotion and LingeringPotion spawning (#7758) 2022-06-25 14:21:47 -07:00
Owen
11bd74bc56
Use safe method for handling Files#createDirectories (#7997) 2022-06-25 22:40:28 +02:00
Jake Potrebic
e7036bb2d7
Updated Upstream (Bukkit/CraftBukkit) (#8042)
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:
d5a777e7 SPIGOT-7078: Add EntityPotionEffectEvent.Cause#WARDEN

CraftBukkit Changes:
82f757467 SPIGOT-7078: Add EntityPotionEffectEvent.Cause#WARDEN
c924fa531 SPIGOT-7072: Call events for stepping on sculk sensors and sculk shriekers
2022-06-25 13:26:00 -07:00
Space Walker
bdb6816960
Update Alternate Current to v1.4.0 (#8028) 2022-06-24 09:58:59 +02:00
Shane Freeder
147a2b7f54
Parse MOTD as legacy sectioned string (Fixes #8036)
This is not ideal but this is how MOTDs have been parsed for years,
ensure that this is performed for all things getting the MOTD from
the server
2022-06-22 09:15:20 +01:00
Jake Potrebic
4c9317c9fb
Use non-deprecated super ctor in PaperServerListPingEventImpl (#8029) 2022-06-21 17:54:52 +02:00
Nassim Jahnke
fb2c24b36d
Updated Upstream (Bukkit/CraftBukkit) (#8015)
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:
05ae036c PR-746: Add option to use cached map color palette
57849c1b PR-759: Add preview chat option in ServerListPingEvent
0169e65d PR-758: Add missing server properties methods from 1.19

CraftBukkit Changes:
622dbe6c2 SPIGOT-7068: SKULK and SKULK_VEIN BlockSpreadEvents Still do not reference the correct source (SKULK_CATALYST)
6c61b73f3 PR-1052: Add option to use cached map color palette
c882f38ea SPIGOT-7066: Fix custom END worlds not generating DragonBattle
6866aab59 SPIGOT-2420: Can't set exp drops for EnderDragon death
9dcd46530 PR-1067: Add preview chat option in ServerListPingEvent
36c2681af PR-1066: Add missing server properties methods from 1.19
031eaadd0 Increase outdated build delay
8fda4b12f SPIGOT-7060: SCULK and SCULK_VEIN BlockSpreadEvents do not reference the correct source
2022-06-20 19:12:05 +02:00
Shane Freeder
ed9cf5ca08
Fix missing null check in ChunkGenerator#findNearestMapStructure 2022-06-20 15:01:29 +01:00
Spottedleaf
9797f081c2 Sync Starlight SaveUtil with 1.1.1
Code isn't used, but still should be synced
2022-06-18 14:48:08 -07:00
Jake Potrebic
b0eb4e0c74
Fix number parsing (#8013) 2022-06-17 11:28:18 -07:00
Jake Potrebic
e269a0a00b
Fix incorrect random nextLong to nextInt (#8009) 2022-06-17 09:00:17 +02:00
Shane Freeder
81f2eece54
[ci skip] rebuild patches 2022-06-17 06:10:23 +01:00
Jake Potrebic
dd613194ed
Couple fixes for command blocks (#8004) 2022-06-16 15:03:02 -07:00
Owen
f428887cc1
Prevent empty items from being added to world (#7998)
The previous solution caused a bunch of bandaid fixes inorder to resolve edge cases where minecraft/the api might spawn items that are air.
Just simply prevent them from being added to the world instead.
2022-06-16 22:31:23 +01:00
Jake Potrebic
0ae78d381a
Fix advancement saving before reloads (#8003) 2022-06-16 21:59:53 +01:00
Noah van der Aa
0c1643c02c
Fix MC-252439 (#7994) 2022-06-16 20:23:36 +02:00
Owen
2dcfb2b11f
Nameable Banner API (#7711) 2022-06-16 04:54:54 +01:00
Owen
94ef34cd0f
Fix incorrect ansi code being used for bold (#8000)
Co-authored-by: BillyGalbreath <blake.galbreath@gmail.com>
2022-06-16 04:40:14 +01:00
Owen
17c1c6c3e7
Add missing important BlockStateListPopulator methods (#7952) 2022-06-15 18:30:58 +02:00
Jake Potrebic
4a48ed306d
Add option for strict advancement dimension checks (#7954) 2022-06-14 16:31:20 -07:00
chickeneer
e3042d2506
Fix the growth modifier for glowberries (#7986) 2022-06-14 23:37:14 +01:00
Dustin
48f7a1a9ef
Add WardenAngerChangeEvent (#7943) 2022-06-14 12:34:41 +02:00
Jake Potrebic
b844286f48
Fix command signs patch update (#7976) 2022-06-14 10:51:53 +02:00
Jake Potrebic
3d37b42a89
Couple config fixes (#7975) 2022-06-13 15:29:44 -07:00
froobynooby
8bae82db21
Use deserialised row keys in config tables (#7962) 2022-06-13 13:50:43 -07:00
Nassim Jahnke
bd097b4323
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:
4d37bf30 PR-762: Add SpawnReason and TransformReason for Tadpole metamorphosis into Frog
788174ae PR-761: Add Hangable interface to MangrovePropagule

CraftBukkit Changes:
3571ca8d1 PR-1070: Add SpawnReason and TransformReason for Tadpole metamorphosis into Frog
8f097b92f PR-1068: Add Hangable interface to MangrovePropagule

Spigot Changes:
56be6a84 Rebuild patches
c6c8886d PR-118: Add config option to disable hopper-chunk-loading
2022-06-13 18:06:25 +02:00
Shane Freeder
e4f5e1c9ab
Bump netty 2022-06-12 23:53:18 +01:00
Josh Roy
90050ffd54
Update Adventure to 4.11.0 and implement ComponentLogger (#7937) 2022-06-12 23:07:40 +02:00
Jake Potrebic
4797e3a945
Dont reassign the hiddenConfigs field in TimingsManager (#7951) 2022-06-12 10:29:27 -07:00
Nassim Jahnke
8b6f4dd482
Add paper-settings-directory cl argument (#7949) 2022-06-12 10:07:43 +02:00
Jake Potrebic
ee4916df7d
Fire kick event for out-of-order chat on main thread (#7942) 2022-06-11 18:11:18 -07:00
Shane Freeder
6c52b5e2c8
Ensure that Log4J is shutdown when stopping the server (Fixes #7932) 2022-06-12 01:59:24 +01:00
Shane Freeder
c044b14efd
Add support for Velocity forwarding v2
This is strictly not needed, however, I wanted to write this in part
to test the new forwarding logic, parsing and advertising the latest
featureset is also not exactly a bad thing
2022-06-12 01:49:04 +01:00
Jake Potrebic
9ad94dcbc4
Adjust config headers 2022-06-11 13:43:59 -07:00
Spottedleaf
dfc10448bb Fix keep spawn loaded patch
Needs to be in blocks
2022-06-11 08:03:56 -07:00
Spottedleaf
46954ee75b Don't explode on light data in the nether
It shouldn't be there but whatever
2022-06-11 08:03:56 -07:00
Nassim Jahnke
d7165b0d56
Fix some references to obfuscated code 2022-06-11 11:02:09 +02:00
Owen1212055
1ccff4f5d1
Readd mc-4 fix 2022-06-11 10:41:59 +02:00
Owen
c80df849c2
Readd remove vec allocations diff (#7930) 2022-06-11 10:30:20 +02:00
Spottedleaf
ee7d16111d Make starlight light read non-fatal if it throws
Brings behavior in line with the mod, we shouldn't kill the chunk
if the light data is corrupt, we can regenerate the light data
2022-06-10 21:08:37 -07:00
Spottedleaf
5a2973fd80 Correct dataconverter diff
Missed renames + game event listener walker stuff
2022-06-10 20:54:05 -07:00
Jake Potrebic
76f81aec25
Keep default keys in some maps
Fixes https://github.com/PaperMC/Paper/issues/7913#issuecomment-1152780671
2022-06-10 17:11:12 -07:00
Jake Potrebic
99aa5f2fa5
Fixes parsing tags in selectors in command functions
Fixes #7928
2022-06-10 10:02:09 -07:00
Jake Potrebic
698b3152cf
Improve migration file errors (#7929) 2022-06-10 10:01:09 -07:00
Owen1212055
8bca9190a4
Remove unneeded patch 2022-06-10 16:15:38 +02:00
Owen
a8a01bbb52
port Significantly improve performance of the end generation (#7919) 2022-06-10 16:11:41 +02:00
Nassim Jahnke
cf384f5269
Don't print stacktrace when client with invalid signature logs in 2022-06-10 16:03:48 +02:00
Nassim Jahnke
9b6fb2fe71
Remove bad warning 2022-06-10 14:58:25 +02:00
Nassim Jahnke
07548192b1
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:
cc7edd6bc SPIGOT-7051: Worldgen API does not run vanilla noise generation when shouldGenerateNoise is true
2022-06-10 14:45:58 +02:00
Jake Potrebic
8141349df1
improve packet config serializer (#7920) 2022-06-10 10:45:41 +02:00
Jake Potrebic
dd6a8e9394
couple more migration issues 2022-06-09 22:03:37 -07:00
Jake Potrebic
02b5ec4c78
fix 2 more migration issues 2022-06-09 18:40:07 -07:00
Jake Potrebic
cfe3ad1b0f
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:
45d9c73c SPIGOT-7043: EnderChest does not implement Lidded
86b95f34 SPIGOT-7047: Add Player#getLastDeathLocation

CraftBukkit Changes:
b2557f6ac SPIGOT-7041: Custom BiomeProvider not used when world set to type FLAT
732c50cab SPIGOT-7043: EnderChest does not implement Lidded
6209029ea SPIGOT-7048: addPassenger() not working when vehicle is player
3aa7836df SPIGOT-7047: Add Player#getLastDeathLocation
7d522cd26 SPIGOT-7050: Enchantment data of items will not be saved correctly when saved in YAML configuration file

Spigot Changes:
1dffefb4 Rebuild patches
2022-06-09 18:20:55 -07:00
Owen
83e2a3582b
Fix light (#7917) 2022-06-10 02:09:55 +01:00
Jason Penilla
4a51a54896 Don't use deprecated permission message method 2022-06-09 17:03:05 -07:00
Nassim Jahnke
5ac29fcb93
Fix migration of packet limiter 2022-06-10 01:55:53 +02:00
Owen
d833c0c39a
Update starlight + read null light data (#7912) 2022-06-10 01:49:23 +02:00
Jason Penilla
ade44f39ce Remove todo 2022-06-09 16:08:23 -07:00
Jason Penilla
0a21166a8b Update player chunk loader patch, re-add ticket level propagator patch 2022-06-09 16:01:48 -07:00
Noah van der Aa
181a8479b5
Make slime spawn checks use tag again and rename config option (#7910) 2022-06-10 00:48:46 +02:00
Jake Potrebic
6249dd5ecb
remove more unused config options 2022-06-09 15:15:01 -07:00
Jake Potrebic
77de07a15d
fix more config migration issues 2022-06-09 15:03:02 -07:00
Jake Potrebic
e5ed99a29a
fix compile issue 2022-06-09 14:50:05 -07:00
Jake Potrebic
3f1c6a45da
move commands out of configuration 2022-06-09 14:44:20 -07:00
Shane Freeder
ad51c406d5
Fix don't lookup profiles for blank names patch 2022-06-09 22:37:33 +01:00
Nassim Jahnke
5052a4515e
Minor patch changes 2022-06-09 23:27:06 +02:00
Jake Potrebic
c946526ab1
minimessage conversion 2022-06-09 14:25:16 -07:00
Owen
c34a306393
Remove old config options (#7908) 2022-06-09 22:48:35 +02:00
Jake Potrebic
f27aa33aba
catch IAE from empty transformation builder 2022-06-09 13:06:08 -07:00
Owen
d9fcf39f65
Remove locname (#7909) 2022-06-09 12:56:21 -07:00
Jake Potrebic
2e68ecc289
more configuration fixes/changes 2022-06-09 12:51:29 -07:00
Owen
e47848f112
Correctly handle ElderGuardianAppearanceEvent canceling (#7902) 2022-06-09 21:04:10 +02:00
Noah van der Aa
84434e6ae9
Don't validate chunk before it's been run through DataConverter (#7907) 2022-06-09 17:39:02 +01:00
Nassim Jahnke
a3a0390e3b
Fix config migration error preventing server startup
There's at least two more, but those are less pressing
2022-06-09 14:27:48 +02:00
Nassim Jahnke
d385af0e01
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:
0a4b84d6 SPIGOT-7003: Add missing PlayerAnimationType
830db7d5 SPIGOT-5984: Add non deprecated / magic value way to set pixel in MapCanvas
20caf8ff PR-754: Add DamageCause.SONIC_BOOM

CraftBukkit Changes:
576a03704 SPIGOT-7003: Add missing PlayerAnimationType
0dcc5fdd0 SPIGOT-5984: Add non deprecated / magic value way to set pixel in MapCanvas
d75aacb43 Update Netty version
3b34c6bea SPIGOT-7044: Modified RandomSourceWrapper to ensure random is not null before setting seed
4b60bfd18 PR-1059: Add DamageCause.SONIC_BOOM
2022-06-09 13:55:33 +02:00
Nassim Jahnke
e1c2939c11
Update configurable feature seed patch 2022-06-09 13:16:00 +02:00
Nassim Jahnke
b26d590d0c
Fixes
Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
2022-06-09 11:57:19 +02:00
Nassim Jahnke
7be0194157
Readd dummy PaperConfig and PaperWorldConfig classes 2022-06-09 11:46:41 +02:00
Jason
d7cc306336
Update Optimise general POI access (#7903) 2022-06-09 11:37:28 +02:00
Jake Potrebic
172d260d67
Move to configurate for paper.yml (#7609) 2022-06-09 10:51:45 +02:00
Jake Potrebic
467a16642a
fallback to default locate logic if no API found 2022-06-08 13:42:54 -07:00
Noah van der Aa
9107753202
(1.19) Make timings link clickable (#7897) 2022-06-08 13:27:24 -07:00
Owen
cbb47cacdb
Add missing spawn eggs (#7896) 2022-06-08 13:25:47 -07:00
Nassim Jahnke
11c2705ac2
Slightly untrash Spigot chat handling
Vanilla technically allows chat messages with starting slashes now,
Spigot still accepts them as commands, most likely due to being too
lazy to properly differentiate between chat and command intent in
their implementation. This disallows modified clients to send chat
messages with slashes and makes sure chat validation always happens
on the netty event loop, rather than there and possibly being moved
to the main thread, thus having the delayed handling cause a bad
process order of message ids.
2022-06-08 21:42:49 +02:00
Owen
86c16504d6
Dont resent entity on art update (#7887) 2022-06-08 21:25:15 +02:00
Jake Potrebic
29e918948a
Fix structures issues/api (#7895) 2022-06-08 21:00:19 +02:00
Owen
a93aa05bf8
Wrap NBTOps in RegistryOps (#7892) 2022-06-08 20:25:39 +02:00
Jake Potrebic
e24a25097a
correct patch description 2022-06-08 11:06:52 -07:00
Nassim Jahnke
897cc27c8b
Remove no longer needed patch 2022-06-08 20:06:04 +02:00
Nassim Jahnke
d1e1217a01
Only send empty chunk when player is dead
Currently not needed at all with chunk rewrites not yet updated, but considering it's only actually needed for dead players, no need to fuck up a chunk without the future applied patch
2022-06-08 19:50:57 +02:00
Noah van der Aa
44ccc15a30
Port Fix missing chunks due to integer overflow to 1.19 (#7891) 2022-06-08 19:39:07 +02:00
Nassim Jahnke
4c1b338e0f
Remove level propagator patch for now 2022-06-08 19:33:07 +02:00
Space Walker
bd134f856b
Update Alternate Current patch (#7890) 2022-06-08 19:29:34 +02:00
Owen
222391f809
Check if is light status or above / isLightOn / starlight version fits (#7888) 2022-06-08 18:32:49 +02:00
Nassim Jahnke
b3b63d3a02
Fix tests (again?) 2022-06-08 18:18:49 +02:00
Nassim Jahnke
57dfcdf4eb
Reorder some patches 2022-06-08 18:13:02 +02:00
Owen
a02874e014
Remove painting desync (#7886) 2022-06-08 17:45:54 +02:00
MiniDigger | Martin
8399e10c43 fix reobf issues around randomsource impls
prolly should be fixed in a mapping patch instead but I don't wanna
2022-06-08 17:43:25 +02:00
Nassim Jahnke
02804a49a2
Fix tests 2022-06-08 17:31:27 +02:00
Jake Potrebic
7a165c9c5d
Add back fix swamp hut deadlock patch 2022-06-08 07:58:57 -07:00
Nassim Jahnke
a6bc17b8bb
IT COMPILES BOIS 2022-06-08 16:51:37 +02:00
Nassim Jahnke
913d2ae0b8
Fix 2022-06-08 16:46:39 +02:00
Jake Potrebic
9ab6893183
Add back Fix locateNearestStructure patch 2022-06-08 07:46:01 -07:00
Jake Potrebic
d5216d8588
Add back Fix NotePlayEvent patch 2022-06-08 07:36:43 -07:00
Jake Potrebic
af4b5ee4f0
add back removed kelp modifier patch 2022-06-08 07:29:32 -07:00
Nassim Jahnke
1d5b298c19
More compilation error fixes 2022-06-08 16:24:55 +02:00
Nassim Jahnke
b561fd8b25
Compilation error fixes 2022-06-08 15:59:48 +02:00
Owen
7ece9454f7
Use biome source method to prevent loading chunks (#7885) 2022-06-08 15:57:04 +02:00
Noah van der Aa
b1f5e70075
Moar 1.19 fixes (#7884) 2022-06-08 15:38:56 +02:00
Nassim Jahnke
55d7f562b8
More more more more more more more more more more more patches 2022-06-08 15:36:56 +02:00
Nassim Jahnke
beab8a32c1
More more more more more more more more more more patches 2022-06-08 15:12:28 +02:00
Owen
2259098789
Misc fixes (#7883) 2022-06-08 15:03:33 +02:00
Nassim Jahnke
301cf577c2
More more more more more more more more more patches 2022-06-08 14:33:46 +02:00
MiniDigger | Martin
391e65f1af more misc compile fixes 2022-06-08 14:19:54 +02:00
MiniDigger | Martin
2f0b2b93df Add missing DataConverter and fix some imports
not fully sure those imports (or well, those classes being outside of the mc package) are right, but who cares 🤷
2022-06-08 14:01:30 +02:00
Nassim Jahnke
d28b20944b
Things, and Starlight (maybe) 2022-06-08 13:44:30 +02:00
Nassim Jahnke
8d5407b16f
Things, and DataConverter (maybe) 2022-06-08 13:12:14 +02:00
Nassim Jahnke
82f712c096
More more more more more more more more patches 2022-06-08 12:40:44 +02:00
Nassim Jahnke
f0e575f445
More more more more more more more patches 2022-06-08 12:20:57 +02:00
Nassim Jahnke
0e06c77264
More more more more more more patches 2022-06-08 11:31:06 +02:00
Noah van der Aa
b464e02ba4
Misc. 1.19 fixes (#7881) 2022-06-08 10:45:59 +02:00
Jake Potrebic
cc7979a6e0
bale o' patches 2022-06-08 01:00:56 -07:00
Jake Potrebic
aabbfcdf8d
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:
4b08dbc5 PR-752: Make Leaves Waterlogged
de323fc9 Downgrade dependency version

CraftBukkit Changes:
c3f219edb Fix missing abstract in CraftLeaves
886e6d8c8 SPIGOT-7038: Setting title or subtitle to empty string causes the player to disconnect
6c302a5e3 Make Leaves Waterlogged
53b681be5 Downgrade dependency version

Spigot Changes:
ee737122 Fixed system messages shown in action bar
f343df82 SPIGOT-7036: Don't use CHAT message type
63a06049 SPIGOT-7035: Actionbar Sending in Main Chat
2022-06-08 00:49:02 -07:00
Jake Potrebic
a1d0432c2c
batch o' patches 2022-06-08 00:40:34 -07:00
Jake Potrebic
89c3c31af9
bag o' patches 2022-06-08 00:30:41 -07:00
Jake Potrebic
feca8d248c
bouquet o' patches 2022-06-07 23:25:32 -07:00
Jake Potrebic
2304bb3d6f
bundle o' patches 2022-06-07 23:06:17 -07:00
Jake Potrebic
0745f97bb5
bunch o' patches 2022-06-07 22:46:52 -07:00
Jake Potrebic
dc12a6e9fe
a bunch more patches done 2022-06-07 22:02:19 -07:00
Jake Potrebic
c3fc3de622
even moar patches 2022-06-07 21:39:43 -07:00
Jake Potrebic
f04e64dfc6
moar patches 2022-06-07 21:22:42 -07:00
Spottedleaf
f371b4e374 <3 jmp 2022-06-07 21:07:14 -07:00
Jake Potrebic
c5db5371bf
Fix more issues 2022-06-07 20:59:40 -07:00
Spottedleaf
7bbeef26ba i really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really hate jmp 2022-06-07 20:42:55 -07:00
Jake Potrebic
d41a026555
few more server decompile fixes 2022-06-07 20:12:24 -07:00
Spottedleaf
26ea0402d8 i really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really love jmp 2022-06-07 19:25:49 -07:00
Spottedleaf
a27b508dea i really really really really really really really really really really really really really really really really really really really really really really really really really really really really really really love jmp 2022-06-07 18:34:11 -07:00
Jake Potrebic
68b585fba7
Fix cook speed patch 2022-06-07 18:19:35 -07:00
Jake Potrebic
a16970ac1b
Fix CanPlaceOn/CanDestroy API issues 2022-06-07 18:13:05 -07:00
Spottedleaf
c515eb9a08 rebuild after rebase 2022-06-07 17:43:52 -07:00
Spottedleaf
32c195bd4f i love jmp 2022-06-07 17:43:03 -07:00
Spottedleaf
87ca0fa790 hate jmp and his gradle 2022-06-07 17:43:03 -07:00
Jake Potrebic
3a0b9487d4
temporary fixes for adventure chat 2022-06-07 16:49:14 -07:00
Owen1212055
58133bdfdf
Update PreCreatureSpawnEvent patch 2022-06-07 23:54:21 +02:00
Jake Potrebic
4e13355af1
some server compile fixes 2022-06-07 14:48:14 -07:00
Nassim Jahnke
addf9c9155
More more more more more patches 2022-06-07 23:45:11 +02:00
Jake Potrebic
7d7779a667
Fix even more errors 2022-06-07 14:15:14 -07:00
Jake Potrebic
3773770230
Fix more errors 2022-06-07 14:01:17 -07:00
Nassim Jahnke
aac58bb772
More more more more patches 2022-06-07 22:45:38 +02:00
Jake Potrebic
c321ca57db
fix unmerged diff 2022-06-07 13:43:05 -07:00
Nassim Jahnke
cac4deb882
More more more patches 2022-06-07 22:12:48 +02:00
Nassim Jahnke
1669c6b097
More more patches 2022-06-07 21:55:39 +02:00
Nassim Jahnke
2710efc693
More patches 2022-06-07 21:15:06 +02:00
Nassim Jahnke
a9c507310b
First server patches 2022-06-07 20:43:28 +02:00
Nassim Jahnke
cb05aa6b8b
Prepare for 1.19 dev 2022-06-07 18:52:56 +02:00
Joseph Burton
276d830d22 Fix campfire walker in V1920 2022-06-06 17:51:12 -07:00
Jake Potrebic
4b27254e6a
Fix treasure maps discovered settings (#7627) 2022-06-05 17:17:27 -07:00
Joseph Burton
d8ef841114
[DataConverter] Fix generator options parsing 2022-06-05 22:49:42 +01:00
Jake Potrebic
b3deb2589e
Move some methods to RegionAccessor (#7635) 2022-06-05 13:51:44 -07:00
Nassim Jahnke
5befb5586e
Updated Upstream (Bukkit/CraftBukkit) (#7875)
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:
6a039faf PR-745: Expose more information about advancements
52148c47 PR-749: Various javadoc improvements
23c2d841 PR-748: Remove permissible recalculation from Permission constructor

CraftBukkit Changes:
a59dc59e SPIGOT-7025: Use existing item in hand for ranged Drowned attack
e4cca0ca PR-1050: Expose more information about advancements
2022-06-05 10:43:06 +02:00
froobynooby
5b6397af2c
Make leave messages for kicks the same as for quitting (#7874) 2022-06-05 08:43:35 +01:00
Jake Potrebic
071a4a2444
throw exception if worlds are created while being ticked (#7653) 2022-06-04 14:48:24 -07:00
Nassim Jahnke
bed5cb2b81
Limit resolved selectors when enabled 2022-06-03 16:06:05 +02:00
Jake Potrebic
8fc0999b09
Fix some nullability things (#7275) 2022-06-02 21:42:00 -07:00
Jake Potrebic
a3ad720749
Remove ChatColor usages (#7543) 2022-06-02 21:26:56 -07:00
Nassim Jahnke
1d08ce8583
Disable book selector resolving by default 2022-06-02 20:40:24 +02:00
Owen
b1ac25fdb8
Respect x-ray permission in World#refreshChunk (#7214)
Co-authored-by: stonar96 <minecraft.stonar96@gmail.com>
2022-06-02 03:08:51 +01:00
Emily
71fe3c64f0
Add numeric string completion suggestions as int suggestions (#6360) 2022-06-02 02:56:24 +01:00
Owen
c5caee307e
Prevent entity loading causing async lookups (#7553) 2022-06-02 02:35:57 +01:00
Jake Potrebic
2d17a50b8b
Add translation keys to GameMode enum (#7081) 2022-06-01 18:30:29 -07:00
Owen
7602dd2014
Sanitize Sent BlockEntity NBT (#7010) 2022-06-02 02:27:36 +01:00
Jake Potrebic
00c6ae8419
Implement Translatable on CreativeCategory (#7587) 2022-06-01 17:07:10 -07:00
PureGero
04e1b070ef
Check HAProxyMessage type is PROXY (#7864) 2022-06-01 22:58:22 +01:00
Jake Potrebic
78e6431008
Add default kick msg component (#6886) 2022-05-31 23:20:12 -07:00
Jake Potrebic
f210f67c4a
Update the rewriteForIde for new cb package version (#7242) 2022-05-30 22:18:45 -07:00
Jake Potrebic
6b035fd9a1
Update default vanilla command perms (#7386) 2022-05-30 21:57:32 -07:00
Jake Potrebic
f7382f5f4b
Remove unneeded UOE when copying biome sources (#7629) 2022-05-30 19:35:46 -07:00
Jake Potrebic
c123915afc
Fix FurnaceInventory for smokers and blast furnaces (#7249) 2022-05-30 19:03:18 -07:00
Jake Potrebic
9667181d1d
Fix OfflinePlayer#getBedSpawnLocation (#7861) 2022-05-30 18:42:51 -07:00
Jason
af3b3778f6
Update ForgeFlower (#7857) 2022-05-29 12:54:25 -07:00
Jake Potrebic
3f7fbe316d
Fix cb's janky level name in WorldCreator (#7851) 2022-05-27 16:42:36 +01:00
Jake Potrebic
b6a6544ad1
Provide ComponentSerializer services (#7527) 2022-05-26 12:12:14 -07:00
Jake Potrebic
182a609b85
Fix duplicate world keys via createWorld (#7614) 2022-05-26 10:59:53 -07:00
Jake Potrebic
79e07f34ac
Fix addPassenger for Marker (#7762) 2022-05-25 18:00:47 -07:00
Jake Potrebic
a90092e758
Updated Upstream (CraftBukkit/Spigot) (#7848)
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:
95d233dc SPIGOT-1807: PlayerTeleportEvent is called twice

Spigot Changes:
b0819150 PR-116: Slightly reduce item merge radius in Y-direction
ef2aa765 PR-119: Fix off-by-one and allow disabling max-tnt-per-tick option
2022-05-25 21:21:51 +02:00
PanSzelescik
31ccc579b5
Add support for Proxy Protocol (#7710) 2022-05-24 05:56:58 +01:00
rgnter
d8108b5416
team color parameter may be null, causing NPE 2022-05-24 05:27:24 +01:00
Jake Potrebic
123cad5d3e
Remove incorrect parent perm from debugstick.always (#7846) 2022-05-24 05:09:20 +01:00
Noah van der Aa
ed4e9163ef
[ci-skip] Update repository and API urls (#7835) 2022-05-20 08:12:30 -07:00
Noah van der Aa
ca623865b0
Hide ores with deepslate at Y=4 and below (#7792)
Fixes #7771

Co-authored-by: stonar96 <minecraft.stonar96@gmail.com>
2022-05-18 22:16:12 +02:00
Nassim Jahnke
73bd35d076
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:
218294b1 PR-743: Support setting individual Wither head targets

CraftBukkit Changes:
d48f2d1a PR-1047: Support setting individual Wither head targets
518f1bee SPIGOT-6948: Motion from Explosion after Respawn
f3c7a6ac SPIGOT-7019: Add yaw in World#getSpawnLocation
2022-05-17 11:51:46 +02:00
Peter Crawley
0116751101
List world on tile entity placement exception (#7709) 2022-05-16 11:38:14 +01:00
Jake Potrebic
9fd870db0b
Fix cancelling PlayerItemFrameChangeEvent (#7761) 2022-05-09 17:22:57 -07:00
Jake Potrebic
5928327f90
Remove unneeded patch (#7806) 2022-05-09 20:22:43 +02:00
Nassim Jahnke
18f0f8d1ca
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:
312281ea PR-742: Make World implement Keyed

CraftBukkit Changes:
2ac7fa7a SPIGOT-7014: getLootTable API should not persistently update loot table
7fdd7941 PR-1046: Make World implement Keyed
7bc728a6 PR-1045: Revert changes to persistence required checks

Spigot Changes:
b6d12d17 Rebuild patches
2022-05-09 11:03:07 +02:00
Jason Penilla
268476bba3
Fix whitespace error in Alternate Current patch 2022-05-08 09:25:34 -07:00
Spottedleaf
e399754320 Do not accept invalid client settings 2022-05-07 14:59:20 -07:00
Jake Potrebic
87d2eb2d3b
Fix door breaking difficulty defaults for vindicator (#7795) 2022-05-07 11:38:15 -07:00
Nassim Jahnke
1a17a83f8a
Move redstone config changes to Eigencraft patch 2022-05-07 19:52:32 +02:00
Space Walker
7a6163b41d
Add Alternate Current's redstone implementation as an alternative to Vanilla and Eigencraft's. (#7701) 2022-05-07 18:47:28 +02:00
Spottedleaf
b831784aed Only log for passenger / vehicle world mismatch
Exception thrown may corrupt passenger/vehicle state
2022-05-07 08:48:29 -07:00
Pedro
8c9d98e100
Clean unused field for Configurable door breaking difficulty (#7793) 2022-05-07 06:57:41 +01:00
Pedro
2515bc4751
Improve configurable door difficulty (#6985) 2022-05-06 17:52:14 +02:00
Noah van der Aa
421938915c
Don't tick markers (#7299) 2022-05-06 17:33:07 +02:00
Owen
f3a8a0b953
FallingBlock auto expire setting (#7037) 2022-05-06 17:21:24 +02:00
u9g
a117da6b26
Add PlayerStopUsingItemEvent (#7787) 2022-05-06 17:14:06 +02:00
Noah van der Aa
2ab0258b5a
Use mojang item ids for alternative item despawn rate (#6997) 2022-05-04 23:29:15 +01:00
Jake Potrebic
e5da93a608
Deprecate duplicate SoundGroup API (#7509) 2022-04-30 13:44:22 -07:00
Jake Potrebic
e564110f9e
Couple fixes/improvements to PlayerSetSpawnEvent (#6754) 2022-04-30 13:24:47 -07:00
Shane Freeder
4166632333
Updated Upstream (Bukkit/CraftBukkit) (#7776) 2022-04-30 17:27:41 +01:00
Shane Freeder
608482d512
cleanup filtered sign text (#7777) 2022-04-30 16:49:57 +01:00
Jason Penilla
6f5e6c60d3 Use setMessage instead of arraycopy
setMessage affects messages, filteredMessage, and renderMessages, we were only doing an arraycopy for messages

fixes #7774
2022-04-28 20:08:08 -07:00
Joseph Burton
ce059b4f99
Fix V1451 dataconverter stat types 2022-04-25 18:06:04 +02:00
Jake Potrebic
d70ac039e8
fix powder snow cauldrons not turning to water (#7229) 2022-04-24 11:35:24 -07:00
Jake Potrebic
0bf7c95c8d
Fix opening inv in PlayerRecipeBookClickEvent handler (#7552) 2022-04-23 18:48:00 -07:00
Jake Potrebic
4dc78ae8b9
Fix some team color docs and added hasColor (#7602) 2022-04-23 18:37:10 -07:00
Jake Potrebic
5b85ee37e2
Fire CauldronLevelChange on initial fill (#7678) 2022-04-23 13:40:34 -07:00
Jake Potrebic
fbbc03a740
Add EntityDyeEvent and CollarColorable interface (#7625) 2022-04-23 12:38:42 -07:00
Jake Potrebic
16f224a79a
Trigger bee_nest_destroyed trigger in the correct place (#7436) 2022-04-22 18:17:14 -07:00
Jake Potrebic
0f8aa4e6fd
Fix NPE for BlockDataMeta#getBlockData (#7670) 2022-04-22 17:21:38 -07:00
Bjarne Koll
ef6a1a5f99
Revert to old createProfile(UUID, String) logic (#7723) 2022-04-22 19:54:08 +01:00
Jason
567fce6c76
Don't apply previous potion when item is potion (fixes #7756) (#7757) 2022-04-21 17:07:56 -07:00
petersv5
76ed156764
Grant temporary immunity from EAR to moving entities (Fixes #7637) (#7644)
Co-authored-by: Peter Svensson <petersv@psv.nu>
2022-04-20 10:34:00 +01:00
Shane Freeder
4ecc338e09
WorldCreator#keepSpawnLoaded (#7673) 2022-04-20 10:26:09 +01:00
Noah van der Aa
86fb3d201d
Don't send itemmeta for books with the hide option enabled (#7734) 2022-04-18 12:23:37 +02:00
HexedHero
c66b0f99f2
Add pre-unbreaking amount to PlayerItemDamageEvent (#7724) 2022-04-18 11:51:45 +02:00
Owen
8bfb1d22f8
Pass ServerLevel for gamerule callbacks (#7668) 2022-04-18 11:46:21 +02:00
Nassim Jahnke
6b9f7a073e
Don't fire worldborder events for virtual borders (#7749)
Fixes #7748
2022-04-18 11:26:18 +02:00
Jake Potrebic
af943641e2
Fix slime spawners not spawning outside slime chunks (#7741) 2022-04-16 11:32:20 -07:00
Nassim Jahnke
1cfd363d32
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:
fc460d1b PR-735: Add Villager#zombify
c8c8331e PR-690: Add method to read ItemStack input
62845f2f SPIGOT-6829: Add per-player world border API

CraftBukkit Changes:
a459f4d4 PR-1033: Add Villager#zombify
d65d1430 PR-975: Add method to read ItemStack input
b5559f8c SPIGOT-6990: Fix setRepairCost(0) in Anvil
6c308e1b SPIGOT-6829: Add per-player world border API

Spigot Changes:
42b61526 SPIGOT-7000: Generation and /locate issues when using custom structure seeds
2022-04-16 10:29:50 +02:00
Pedro
c6e631aacb
Use username instead of display name in PlayerList#getPlayerStats (#7740) 2022-04-15 15:23:10 -07:00
Jason
a9f252e56a
Replace third party repos with Paper repo (#7733)
we now mirror Fabric, Forge, and Mojang
2022-04-13 19:58:48 -07:00
Shane Freeder
d4a712d957
[CI-SKIP] Remove unused import from last patch 2022-04-13 09:15:28 +01:00
Shane Freeder
a9ee1046a5
Prevent tile entity copies loading chunks 2022-04-13 08:27:16 +01:00
Jason Penilla
e42d683d75
Fix StructureGrowEvent species for RED_MUSHROOM 2022-04-12 16:40:30 -07:00
Owen
f8e8d6c3cd
Strip enderpearl owners when they are no longer ticked (#7559) 2022-04-08 01:52:25 +01:00
Nassim Jahnke
2f16393ad9
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:
2542945e Remove broken quickMoveStack implementation
5631e8bf SPIGOT-6973: Setting biome calls String#intern for every biome placed
2022-04-07 10:56:36 +02:00
Etil
11e0dcdf86
Fix NBT pieces overriding a block entity during worldgen deadlock (#7692) 2022-04-07 10:42:20 +02:00
Pedro
29144573e6
Allow seting custom podium location for ender dragon (#7695) 2022-04-07 10:31:30 +02:00
Jason Penilla
820e9ca70b
Update decompiler & param mappings 2022-04-05 10:37:36 -07:00
Jake Potrebic
87e11bf7fd
Cache resource keys instead of trying to create them (#7643) 2022-04-02 18:10:13 -07:00
Nassim Jahnke
ea2c81e4b9
Fix lectern quick move 2022-04-02 09:15:39 +02:00
Spottedleaf
7bf9446d9e Add per player chunk loading limits
Configurable under "settings.chunk-loading.player-max-chunk-load-rate",
defaults to -1. This commit also changes the chunk loading to be
distributed equally for all players, rather than distance based. This is
to ensure players flying around do not take priority over everyone else.
The exception to this new rule is the min-load-radius, which still has
priority over everything else.
2022-03-31 06:33:13 -07:00
Jake Potrebic
7f47b9b7f8
Remove KeyedObject interface (#7680) 2022-03-30 13:28:38 -07:00
Jake Potrebic
d3c102373f
fix player loottables running when mob loot gamerule is false (#7651) 2022-03-29 13:15:26 -07:00
Owen
fa68bb1e81
Fix entity position desync for hanging entities (#7659) 2022-03-29 10:42:46 +02:00
Jake Potrebic
7fa8870043
Updated Upstream (Bukkit/CraftBukkit) (#7672)
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:
7902647a PR-737: Update WorldCreator#generatorSettings docs
67556a50 PR-736: Update README

CraftBukkit Changes:
10922194 Java 18 support
d53c4fb6 PR-1039: Use correct ops in GeneratorSettings
a567e4ae PR-1038: Removed the no longer needed getChunkUnchecked method from ChunkProviderServer.
4ac8fcce SPIGOT-6980: Since 1.18.2, World#isChunkLoaded returned false for chunks that have just been loaded (e.g. inside ChunkLoadEvent).
e6cc7c70 PR-1035: Update README
3ec79a27 SPIGOT-5140: Call EntityChangeBlockEvent when a ChorusFlower is destroyed by a projectile
2022-03-29 10:32:18 +02:00
Jason
e2f743d914
Fix PalettedContainer synchronization (#7663) 2022-03-27 10:51:39 -07:00
SoSeDiK
e7d928a8e1
Fix EntityChangeBlockEvent#getBlockData for when sheep eats grass block (#7646) 2022-03-21 11:43:52 -07:00
Jake Potrebic
a939d6e08e
Fix generator settings string for flat-type worlds (#7568) 2022-03-21 11:06:26 -07:00
Owen
993f8288fa
Add TameableDeathMessageEvent (#5392) 2022-03-20 00:50:33 +00:00
Owen
a686ff5670
Add more missing entity API (#7592) 2022-03-19 15:30:16 +01:00
Bjarne Koll
7b46444bea
Properly create profiles with custom name/uuid (#7558) 2022-03-19 14:39:38 +01:00
Shane Freeder
5eb61dd432
Buffer OOB setBlock calls
lets debug mode throw a trace in order to potentially see where
such calls are cascading from easier, but, generally, if you see one setBlock
call, you're gonna see more, and this just potentially causes a flood of logs
which can cause issues for slower terminals, etc.

We can limit the flood by just allowing one for a single gen region,
we'll also only gen a trace for the first one, I see no real pressing need
to generate more, given that that would *massively* negate this patch otherwise
2022-03-19 12:35:56 +00:00
Jake Potrebic
855637f967
Updated Upstream (CraftBukkit) (#7624)
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:
e9f972d6 Improve CreativeCategory conversion
c2698249 PR-1034: Fix exception on init of CraftCreativeCategory
f48739ca Add tests for material creative categories
2022-03-19 10:33:49 +01:00
Jason Penilla
bc68ee09be Remove redundant GameProfileCache diff 2022-03-17 21:21:01 -07:00
Jason Penilla
319d5fa29f Fix state locking for getTopMRUProfiles & getProfileIfCached
Also add missing last access update in getProfileIfCached
2022-03-17 21:21:01 -07:00
Philip Kelley
2eeca6f108 Fix world saving in unloadWorld 2022-03-17 13:24:02 +01:00
Jason
8897cea0b0
Add enchantWithLevels API (#7615) 2022-03-17 09:51:43 +01:00
Jake Potrebic
b8c90d2428
Added method to check snapshot state of TileStates (#7325) 2022-03-16 18:28:06 -07:00
Jake Potrebic
8788bf7441
fix datapacks not being able to modify nether/end (#7588) 2022-03-16 17:54:52 -07:00
Jason
f0d0078deb
Add debug for invalid GameProfiles on skull blocks/items (#7512) 2022-03-16 13:34:09 -07:00
Jake Potrebic
1c5f8b0fce
Updated Upstream (Bukkit/CraftBukkit) (#7604)
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:
33a2b476 PR-734: Make PlayerInventory#getItem Nullable

CraftBukkit Changes:
953d3ddc SPIGOT-3034: PlayerKickEvent.setLeaveMessage(String) doesn't actually do anything
2c47af0c SPIGOT-6963: CraftMetaBlockState#getBlockState applied TileEntity ids without the minecraft namespace prefix.
2022-03-16 16:57:51 +01:00
Nassim Jahnke
f35a0ceb93
Remove Java version check once and for all (#7612)
Closes #7611
2022-03-16 14:10:32 +01:00
Bjarne Koll
2d3e8f7729
Properly lookup random-ticked precipitation blocks (#7606) 2022-03-15 19:44:25 +01:00
Jason
0ca80c7ee8
Add getComputedBiome API (#5668) 2022-03-15 11:38:36 -07:00
Spottedleaf
a5be178ac3 Use correct toX/Y/Z in player move packet handling 2022-03-14 12:44:36 -07:00
Owen
c8e49cc53e
Add get/set wait time for fish hooks. (#5595) 2022-03-13 22:33:01 +00:00
Nassim Jahnke
1358d1e914
Updated Upstream (CraftBukkit/Spigot) (#7580)
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:
881e06e5 PR-725: Add Item Unlimited Lifetime APIs

CraftBukkit Changes:
74c08312 SPIGOT-6962: Call EntityChangeBlockEvent when when FallingBlockEntity starts to fall
64db5126 SPIGOT-6959: Make /loot command ignore empty items for spawn
2d760831 Increase outdated build delay
9ed7e4fb SPIGOT-6138, SPIGOT-6415: Don't call CreatureSpawnEvent after cross-dimensional travel
fc4ad813 SPIGOT-6895: Trees grown with applyBoneMeal() don't fire the StructureGrowthEvent
59733a2e SPIGOT-6961: Actually return a copy of the ItemMeta

Spigot Changes:
ffceeae3 SPIGOT-6956: Drop unload queue patch as attempt at fixing stop issue
e19ddabd PR-1011: Add Item Unlimited Lifetime APIs
34d40b0e SPIGOT-2942: give command fires PlayerDropItemEvent, cancelling it causes Item Duplication
2022-03-13 08:47:54 +01:00
Jason Penilla
ab03538fa1
Fix colors in some console messages 2022-03-12 18:47:04 -07:00
Jake Potrebic
87927e176c
Fix CreativeCategory API (#7586) 2022-03-12 15:32:42 -08:00
Jason
bfa33d955c
Various improvements to console color formatting (#7560) 2022-03-12 14:31:21 -07:00
Owen
dc96bba6de
Ensure the item sent isn't air (#7584) 2022-03-12 21:34:03 +01:00
Spottedleaf
aab1f8a74e Fix swamp hut cat generation deadlock
The worldgen thread will attempt to get structure references
via the world's getChunkAt method, which is fine if the gen is
not cancelled - but if the chunk was unloaded, the call will block
indefinitely. Instead of using the world state, we use the already
supplied generatoraccess which will always have the chunk available.

Missed patch from tuinity merge
2022-03-12 06:32:31 -08:00
Owen
ea1efef116
Remove Patches (#7541) 2022-03-11 21:13:46 +01:00
Owen
1790528a61
More projectile API (#5731) 2022-03-11 17:37:08 +01:00
Nassim Jahnke
d714682f8f
Add more entity api (#7564) 2022-03-11 15:24:45 +01:00
Owen
657d163740
Prevent despawned navigators being readded (#7574) 2022-03-11 02:39:11 +00:00
Noah van der Aa
4423e1221a
Update docs link in paper.yml (#7562) 2022-03-09 10:10:53 +01:00
froobynooby
7a21333019
Fix setting the view distance to 32 (#7503) 2022-03-09 10:09:20 +01:00
Max Lee
718fab1f6b
Add CPU name and JVM vendor info in timings (#7490) 2022-03-09 10:06:58 +01:00
Nassim Jahnke
c34fb0942a
Add ghast api (#7554) 2022-03-06 22:20:38 +01:00
Jake Potrebic
d9bf5e740b
Add method to set noclip on arrows (#7263) 2022-03-06 22:19:08 +01:00
Nassim Jahnke
7b9c30fb82
Fix scoreboard objective name length limit 2022-03-06 16:32:33 +01:00
Nassim Jahnke
a36d7f6427
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:
808cb7ca PR-1023: Improve consistency of tag API
2022-03-06 09:08:26 +01:00
Spottedleaf
1e12cf8db6 Add more to the save fixes
- Set forceTicks to true, so that player packets are always
  processed so that the main process queue can be drained
2022-03-05 17:36:57 -08:00
Spottedleaf
196271de4e Fix save problems on shutdown
- Save level.dat first, in case the shutdown is killed later
- Force run minecraftserver tasks and the chunk source tasks
  while waiting for the chunk system to empty, as there's simply
  too much trash that could prevent them from executing during
  the chunk source tick (i.e "time left in tick" logic).
2022-03-05 17:29:47 -08:00
Jake Potrebic
6564f70f4c
Fix cancelling ProjectileHitEvent for piercing arrows (#7492) 2022-03-05 21:45:57 +01:00
Owen
935151388a
Fix handling message in PlayerHandshakeEvent (#7542) 2022-03-05 20:20:52 +00:00
Pheotis
f9b05cc3f1
Expose furnace minecart push property. (#7548) 2022-03-05 21:15:24 +01:00
Spottedleaf
1d7a6a0732 Add missing glow_item_frame walkers
Needs one for ItemStack and Entity. It looks like I missed
the entity one because Mojang defined it as being simple,
which it certainly isn't (they "missed" it too).
2022-03-04 20:57:59 -08:00
Riley Park
42a9c3789d Move Adventure patch up 2022-03-04 13:45:31 -08:00
Nassim Jahnke
b6616c8a18
Fix falling block spawn methods
For some reason Spigot broke both behavior and the method as a whole
2022-03-04 20:47:30 +01:00
Noah van der Aa
63aa4d3319
Clarify exception messages for invalid view distances (#7510) 2022-03-04 11:23:28 +01:00
Nassim Jahnke
719daa8bbf
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:
4ed5af5e SPIGOT-6956: Reduce differences caused by setKeepSpawnInMemory(false)
21fe78aa SPIGOT-6957: Bad default value for WorldCreator#generatorSettings
ce373be6 PR-1022: Fix get HighestBlockAt in chunk snapshot
2022-03-04 09:33:13 +01:00
Jason
c09365aeac
Fix deadlock on watchdog crash (#7535) 2022-03-04 09:26:22 +01:00
Jake Potrebic
15b6b3db2c
Add StructuresLocateEvent as replacement for StructureLocateEvent (#7524) 2022-03-04 09:09:43 +01:00
Jake Potrebic
d33cdcf2e6
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:
e25c6a75 PR-638: Add CreativeCategory API for Materials

CraftBukkit Changes:
86292d3e0 PR-876: Add CreativeCategory API for Materials
2022-03-03 10:21:48 -08:00
Jason Penilla
90788a556c
clean up prepareTickingChunk diff 2022-03-02 11:24:32 -07:00
Shane Freeder
12d89fe5ae
Revert chunk postprocessing back to 1.18.1 logic 2022-03-02 18:08:10 +00:00
Shane Freeder
c6ea84c7fa
Drop unneeded desync patch
spigot no longer even fires the event for this case, so, this may
actually be a regression, not too sure here, but, as-is this patch
is dead
2022-03-02 09:44:22 +00:00
Nassim Jahnke
d3caeeb6c2
Fix early registry access in xray patch 2022-03-02 10:28:32 +01:00
Nassim Jahnke
b1afebbd52
Force close world loading screen on join (#7529)
Fixes infinite loading screens for dead players due to async chunk loading and player chunk loading patches and prevents players from missing messages and similar if chunk loading is slow
2022-03-02 10:21:30 +01:00
Jake Potrebic
178802ab94
Fix various 1.18.2 update issues (#7523) 2022-03-01 14:40:34 -08:00
Jason Penilla
0859f59469
1_18_R2 2022-03-01 00:10:23 -07:00
Jason Penilla
126ca7376e
Add TODO for leaf 2022-02-28 22:52:40 -07:00
Jason Penilla
b9037a5c7d
fix issue resulting from kenny's apatch addiction 2022-02-28 22:52:40 -07:00
Jake Potrebic
cc45a355a4
move decompile fixes to start of git history 2022-02-28 22:52:39 -07:00
Jake Potrebic
5071d50207
clean up view distance api diff 2022-02-28 22:52:39 -07:00
Jake Potrebic
3526f22211
move patch relying on TraceUtil to after its creation 2022-02-28 22:52:39 -07:00
Jake Potrebic
fbe43d6a1d
clean up patch changes 2022-02-28 22:52:39 -07:00
Spottedleaf
c6fc144ba0
Fix unload stall
Also added required tickets that should not be removed during
shutdown
2022-02-28 22:52:39 -07:00
Jason Penilla
37436ac61a
Move comment up 2022-02-28 22:52:38 -07:00
Riley Park
9a73213f88
Adventure 4.10.0 2022-02-28 22:52:38 -07:00
Jake Potrebic
9da236fe6a
re-add config for stronghold seed patch 2022-02-28 22:52:38 -07:00
Jake Potrebic
490517d31e
fixed flat bedrock patch 2022-02-28 22:52:38 -07:00
Nassim Jahnke
c98499113f
Fix mc dev fix by removing it 2022-02-28 22:52:38 -07:00
Nassim Jahnke
706c98a603
Update Datafixer 2022-02-28 22:52:37 -07:00
Jake Potrebic
f4eb08a477
Readd 'Fix entity type tags suggestions in selectors' 2022-02-28 22:52:37 -07:00
Jake Potrebic
19f9520b3a
1.18.2 compiles successfuly now 2022-02-28 22:52:37 -07:00
Jake Potrebic
60af9b0cb3
moar fixes 2022-02-28 22:52:37 -07:00
Nassim Jahnke
12efc3fcf5
Fixes 2022-02-28 22:52:36 -07:00
Nassim Jahnke
c2e2281f29
Initial 1.18 update 2022-02-28 22:52:35 -07:00
Shane Freeder
30cb7d0407
ignore excessive vel for Minecarts (Fixes #7515) 2022-02-28 15:31:41 +00:00
Spottedleaf
7f65b0b589 Add DataConverter to StructureCheck, for structure lookups
Mojang added a partial conversion here to quickly check for
structures, which bypasses the chunk system. So we need a
hook here.
2022-02-25 08:46:35 -08:00
Jake Potrebic
bfa50ad5b3
Custom Potion Mixes (#6744) 2022-02-22 19:09:15 -08:00
Jake Potrebic
2a55e35124
Option to have default CustomSpawners in custom worlds (#7493) 2022-02-23 02:44:06 +00:00
Owen
b6dad9c903
Fix desync on teleporting entity on first tick (#7183) 2022-02-23 02:20:29 +00:00
Jake Potrebic
501834e57a
Fix custom inventory holders (#6199) 2022-02-22 15:00:45 -08:00
Spottedleaf
db811631ae Execute mid tick tasks during tile entity ticking
It was never done here in the past since the old TE management
system was barely functional, and could not handle chunk loading
remotely well
2022-02-22 14:42:00 -08:00
Spottedleaf
854f3d35c1 Put world into worldlist before initing the world
Some parts of legacy conversion will need the overworld
to get the legacy structure data storage
2022-02-22 14:28:34 -08:00
Spottedleaf
cdb893bb9e Add mid-tick task execution to block ticking
Dropped from the ticking block list rewrite
2022-02-22 14:24:28 -08:00
Jason Penilla
9cab01ed1d
[ci skip] Update Gradle wrapper to 7.4 2022-02-21 13:44:17 -07:00
Jake Potrebic
b757019dc5
Add missing block data mins and maxes (#6790) 2022-02-20 13:58:31 -08:00
Jake Potrebic
392acfdaa4
Configurable sculk sensor listener range (#6443) 2022-02-20 13:44:14 -08:00
Jake Potrebic
36a1650dbf
Furnace RecipesUsed API (#7399) 2022-02-19 14:00:33 -08:00
Jake Potrebic
5bb4549f48
Fix entity armor not showing on death animation (#7355) 2022-02-18 10:16:41 -08:00
Spottedleaf
286bd1bfb5
1.18 misc performance dev branch (#7368)
- Port player chunk loader patch
Makes the chunk system act as it did in 1.17, no additional tickets (and thus logic) to make a chunk ticking.
Adds simulation distance API, deprecates old no-tick method.
- More collision optimisations
Ancient patch from tuinity that never could be pushed to master.
- Fix Optimise ArraySetSorted#removeIf patch
- Execute chunk tasks fairly for worlds while waiting for next tick
- Port Replace ticket level propagator
2022-02-18 09:44:46 -08:00
Bjarne Koll
b173c3ee2c
Use access transformers for player profile API (#7468) 2022-02-18 09:30:37 -08:00
Jake Potrebic
f5b9e07a2a
Add GameEvent tags (#6439) 2022-02-17 18:42:22 -08:00
Nassim Jahnke
c50fc3a026
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#7480)
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:
8d818032 PR-723: Add Furnace#getRecipesUsed
d7b5a313 PR-726: Add Particle dataTypes to javadocs
72fe8b71 PR-724: Add PDC to World

CraftBukkit Changes:
c0326c28 PR-1009: Add Furnace#getRecipesUsed
cc5ddd79 PR-1010: Add PDC to World
6a54e5d3 PR-1012: Always save as skull owner and not as internal data

Spigot Changes:
699290cd Rebuild patches
2022-02-15 11:30:58 +01:00
Jason Penilla
a8f2d67491
- properly fix IllegalArgumentException in /paper mobcaps command
- fix IllegalArgumentException in `/paper playermobcaps` command
- add missing Validate calls to CraftServer#getSpawnLimit(SpawnCategory)
2022-02-12 12:50:27 -07:00
Noah van der Aa
e6898ff61e
Fix IllegalArgumentException for /paper mobcaps command (#7472) 2022-02-12 19:02:14 +00:00
Nassim Jahnke
92c777d393
Fix PlayerProfile BukkitObject serialization, deprecate setName and setId for removal (#7471)
Having a modifiable hash here is a bit flawed and most developers should never need these methods
2022-02-12 19:29:41 +01:00
Jake Potrebic
3d91ecac51
Fix cancelled snow bucket placement (#6751) 2022-02-12 14:56:27 +01:00
Jake Potrebic
2c4a5892ec
Fix issues with LimitedRegion (#7343)
These issues stemmed from Paper integrating new upstream API
that was duplicated by a lot of existing Paper API
2022-02-12 14:51:13 +01:00
Jake Potrebic
2c8d48c555
Make Panda implement Sittable (#7414) 2022-02-12 14:36:41 +01:00
IzzelAliz
4a745f9163
Optimize Util#sequence (#7115)
Basically the same diff is already in Vanilla 22w06a, so might as well merge this now/have a conflict to know to remove the stream they added
2022-02-12 14:28:41 +01:00
Nassim Jahnke
26734e83b0
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#7454)
* 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:
8085edde SPIGOT-6918: Add SpawnCategory API and configurations for Axolotls
04c7e13c PR-719: Add Player Profile API
71564210 SPIGOT-6910: Add BlockDamageAbortEvent

CraftBukkit Changes:
febaa1c6 SPIGOT-6918: Add SpawnCategory API and configurations for Axolotls
9dafd109 Don't send updates over large distances
bdac46b0 SPIGOT-6782: EntityPortalEvent should not destroy entity when setTo() uses same world as getFrom()
8f361ece PR-1002: Add Player Profile API
911875d4 Increase outdated build delay
e5f8a767 SPIGOT-6917: Use main scoreboard for /trigger
a672a531 Clean up callBlockDamageEvent
8e1bdeef SPIGOT-6910: Add BlockDamageAbortEvent

Spigot Changes:
6edb62f3 Rebuild patches
7fbc6a1e Rebuild patches

* 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:
de951355 SPIGOT-6927: Fix default value of spawn-limits in Worlds
2022-02-12 14:20:33 +01:00
Bjarne Koll
00da0989f3
Log exceptions thrown during chat processing (#7467) 2022-02-11 19:42:12 -07:00
Nassim Jahnke
0cc2503b88
Implement World#regenerateChunk (#7425)
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2022-02-05 20:47:11 +01:00
PureGero
6df46412cf
Use destination world when preloading spawn chunk (#7441) 2022-02-04 09:30:13 +01:00
Jason
46ed080d3b
fix portal linking in upgraded chunks (fixes #7419) (#7438) 2022-02-03 12:28:39 -07:00
Jason
9940bcabcc
API for creating command sender which forwards feedback (#7432) 2022-02-02 19:44:57 -07:00
Nassim Jahnke
f23c03955b
Fix infinite recursion in spawnCategoryForChunk/Position 2022-02-02 21:57:11 +01:00
Spottedleaf
2ec04e0938 Use correct headerLocation for regionfile initialisation
If the regionfile cannot be recalculated (i.e entity/poi type),
then attempts to remove the invalid entry would blow up
2022-02-02 06:02:16 -08:00
Shane Freeder
2121aed33d
Rebuild patches
Cos, you know, pushing the correct changes the first time woulda been
overrated
2022-02-01 13:06:41 +00:00
Shane Freeder
f79c0daece
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:
5c21a63f PR-717: Add PlayerHideEntityEvent and PlayerShowEntityEvent

CraftBukkit Changes:
c26a7b54d PR-1000: Add PlayerHideEntityEvent and PlayerShowEntityEvent
2022-02-01 11:35:36 +00:00
Shane Freeder
17eb8845f3
Use a CHM for StructureTemplate.Pallete cache
fixes a CME due to this collection being shared across threads

This patch was in 1.16.5 for a good while and noticed somebody
getting impacted by the same thing
2022-02-01 09:47:46 +00:00
Jake Potrebic
3109dd87ee
Updated Upstream (Bukkit/CraftBukkit) (#7428) 2022-01-31 15:56:54 -08:00
Noah van der Aa
2e99e5e677
Updated Upstream (Bukkit/CraftBukkit) (#7411)
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:
af88996a SPIGOT-6890: Add repair cost amount in AnvilInventory
bc7bd363 PR-716: Fix scheduler javadocs (previously, the <b> tag broke the rendering)
6db1ab70 Improve item cooldown JavaDocs

CraftBukkit Changes:
13670b44 SPIGOT-6890: Add repair cost amount in AnvilInventory
0d109e86 PR-999: Prevent non-item cooldowns
2022-01-27 15:35:36 +01:00
Jason Penilla
ca523abbdd
[ci skip] Fix param mismatch from last commit 2022-01-25 20:53:18 -07:00
Jason Penilla
f7dbd062e7
[ci skip] Update parameter mappings 2022-01-25 20:44:24 -07:00
Jake Potrebic
7978121c7c
More PotionEffectType API (#5737) 2022-01-23 10:42:38 -08:00
Jake Potrebic
f6c7d536a8
Add configurable stronghold seed (#7334) 2022-01-23 15:26:22 +01:00
Owen
a058ac05d8
Dolphin API (#7102) 2022-01-23 14:55:11 +01:00
Owen
9a1930867b
Lock Frozen Ticks API (#7207) 2022-01-23 14:35:07 +01:00
Jake Potrebic
512995c2a5
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#7359) 2022-01-22 16:59:56 -08:00
Kezz
60e46abb00
Fix NotePlayEvent (#5180) 2022-01-21 23:42:10 -08:00
Brody Beckwith
2a306f513c
Add Multi Block Change API (#7333) 2022-01-20 18:50:50 +01:00
Noah van der Aa
c904da6eab
Offset spigot item optimizations instead of Mojang's (#6290) 2022-01-19 11:18:24 -08:00
Jake Potrebic
45338214b0
Fix setSpawnedItem from 1.18 update (#7328) 2022-01-18 19:09:04 -08:00
Jake Potrebic
6b526f9645
Fix setting unplaced furnace cook speed multiplier (#7327) 2022-01-18 11:33:37 -08:00
Nassim Jahnke
919e59494c
Push illegal char kick to main thread (#7363) 2022-01-17 23:16:36 -08:00
Jake Potrebic
048e030914
Change default for hoppers ignoring occluded blocks (#7342) 2022-01-17 23:11:11 -08:00
HexedHero
17e1f65669
Fix Lure infinite loop (#6850) 2022-01-17 22:54:31 -08:00
Camotoy
60b7d5ee0c
Add unsupported field to disable username validation (#7350)
* Add unsupported field to disable username validation

* Add unsupported field to disable username validation
2022-01-17 19:52:47 -08:00
Owen
6d67504ab5
Expand Panda API (#7061) 2022-01-17 15:23:44 -08:00
Jake Potrebic
99cf01f993
Fix and deprecate ItemStack#getI18NDisplayName (#7358) 2022-01-16 16:53:26 -08:00
Jake Potrebic
5c74af2efa
Fix NPE for bucket empty result stack being null (#7354) 2022-01-16 12:08:24 -08:00
Jake Potrebic
36ce000793
Fix xp reward for baby zombies (#7353) 2022-01-16 20:15:16 +01:00
PureGero
78999b5778
Remove redundant getRemoteAddress that can cause an NPE (#7331) 2022-01-13 19:56:45 -08:00
Jake Potrebic
6663747b89
Some block state hunks were in the wrong patch (#7308) 2022-01-13 11:31:48 -08:00
Jake Potrebic
0c64d401aa
Updated Upstream (Bukkit/CraftBukkit) (#7323) 2022-01-12 13:39:20 -08:00
John
ebaca20edd
Added getHostname to AsyncPlayerPreLoginEvent (#6656) 2022-01-12 09:21:29 -08:00
Nassim Jahnke
cb198ff936
Fix chunk range int overflow 2022-01-11 19:34:25 +01:00
Shane Freeder
6f0762c012
Fix defaults for slime-spawn-height in paper config
do note that if you happened to grab the previous build in the few minutes it
was alive, you'll want to reset your settings here

also, i
2022-01-11 02:55:05 +00:00
Pedro
31f01379ce
Add configurable height for slime spawn per world (#6310) 2022-01-10 18:27:16 -08:00
Nassim Jahnke
3ea224d128
Reset placed blocks on exceptions 2022-01-10 14:03:18 +01:00
Tom Miller
87d8ef9f24
Add/Remove multiple entries with Scoreboard Team (#6640) 2022-01-09 21:08:55 -08:00
u9g
a736c1a3c7
Add new overload to PersistentDataContainer#has (#7278)
Co-authored-by: u9g <winworkswow@gmail.com>
Co-authored-by: Josh Roy <joshroy126@gmail.com>
2022-01-09 11:35:45 -05:00
Jake Potrebic
7d7ae7b881
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#7246) 2022-01-08 21:12:05 -08:00
Jason
d9fb602057
Expose vanilla BiomeProvider from WorldInfo (#7295) 2022-01-07 15:35:32 -08:00
Spottedleaf
eb48ada00b Merge chunk task urgent executor thread into the worker queue
By keeping them separate, urgent tasks could not be executed
by the worker queue.
2022-01-07 15:15:35 -08:00
Spottedleaf
5ccd3050ed Fix incorrect old oversized chunk data merging
All legacy oversized chunks were created before the new
chunk format, so don't try to merge into the new format.
2022-01-07 13:49:39 -08:00
Brokkonaut
c3d812d341
Make water animal spawn height configurable (#7135) 2022-01-07 11:38:51 +01:00
Nassim Jahnke
9a47cf1834
Don't print utterly useless brig exception 2022-01-06 13:11:08 +01:00
Nassim Jahnke
e64ac41fe2
Catch more json parse errors 2022-01-06 12:40:51 +01:00
Jake Potrebic
55a1756ade
Fix saving configs with more long comments (#7248) 2022-01-05 11:54:42 -08:00
Nassim Jahnke
5e30e19e20
Fix compile 2022-01-03 10:23:56 +01:00
Nassim Jahnke
00d6cca4df
Fix filtered text not being applied on sign update
Fixes #7266
2022-01-03 10:17:27 +01:00
Jake Potrebic
eb98398158
Fixed FishingHook param mappings being swapped (#7243) 2022-01-02 22:24:33 -08:00
Nassim Jahnke
d0b8b1e972
Fix disarmed tripwire block updates
Fixes #7259
Closes #7261
2022-01-02 21:33:53 +01:00
Jason
79dd62ae62
Use AreaMap for per-player mob spawning (#7235) 2022-01-02 11:06:08 -08:00
Pierre Maurice Schwang
19bc612483
Make BlockData creation thread safe again (#6876) 2022-01-02 18:29:21 +01:00
sean
d3f3429d03
Use simulation distance for per-player mob spawns (#7247) 2022-01-02 15:05:08 +01:00
Shane Freeder
503ac8f1cb
Provide option to disable username validation (Closes #7250) (#7254) 2022-01-02 12:51:22 +00:00
Noah van der Aa
cee7e0df01
Fix soul speed particles with hide-itemmeta enabled (#7239) 2022-01-01 15:26:53 -08:00
thamid-gamer
fb4ff200f4
Use isSensitiveToWater in nerfed check for water-sensitive mobs (#7236) 2022-01-01 13:56:41 -08:00
Spottedleaf
3c5284dae9 Allow . in usernames 2022-01-01 11:50:44 -08:00
Spottedleaf
4bf2aef745 Validate usernames 2022-01-01 05:48:17 -08:00
Jake Potrebic
3a43821c38
Updated Upstream (Bukkit/CraftBukkit/Spigot) 2021-12-31 19:05:42 -08:00
Jason
8b1734123e
Fix vanilla LocalMobCapCalculator being used when per-player mob spawning is enabled (#7230) 2021-12-31 18:07:21 -08:00
Jason Penilla
c40e04e9e7
Remove wrong update call in distance map add method 2021-12-31 13:59:34 -08:00
Noah van der Aa
64f9225c94
Fix riding distance statistics (#7021/SPIGOT-6475) (#7033) 2021-12-30 23:17:08 -08:00
LemonCaramel
686bbd33d4
Fix EntityLoadCrossbowEvent Sync Issue (#5739) 2021-12-30 22:54:23 -08:00
Lexi
2d458ee14f
Check player world in endPortalSoundRadius (#6226)
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2021-12-30 19:50:44 -08:00
Owen1212055
a99a33cdd9
Bucketable API (#7204) 2021-12-30 11:58:38 -08:00
Jake Potrebic
7b833ca18f
Fix bees aging inside hives (#6466) 2021-12-30 11:44:39 -08:00
BillyGalbreath
329912b816
Expose isFuel and canSmelt methods to FurnaceInventory (#7181) 2021-12-30 00:42:16 -08:00
Jake Potrebic
a219c497bd
Dont register multiple ASK_SERVER suggestions under one parent node (#7188) 2021-12-29 23:11:40 -08:00
Shane Freeder
6852c657cd
Add debug stack for removed player teleporation check 2021-12-29 15:06:51 +00:00
Nassim Jahnke
1931bb53bf
https://youtu.be/NIH6j7-w198 2021-12-28 22:07:25 +01:00
BillyGalbreath
5883773e37
Fix Chunk#isSlimeChunk when all-chunks-are-slime-chunks is true (#7211) 2021-12-28 11:15:04 -08:00
Shane Freeder
87e443bf9a
Fix migration logic for old player saving config option
This is an ode to all those times when you shoulda just gone to bed
2021-12-28 08:10:41 +00:00
Spottedleaf
2cf4b82d71 Correctly parse last update for old chunks for regionfile recalc
It's required so that comparisons between two chunks can be
made
2021-12-27 13:35:09 -08:00
Spottedleaf
22be4d5c60 Defensively copy chunk data in upgradeChunkTag
The data provided is always from the regionfile thread, which
does not copy the data out. So if two separate calls need
the data, then there's going to be a problem.
2021-12-27 04:16:22 -08:00
Jason Penilla
692283dbe2
Remove making unused copy of visible chunks in ChunkMap#processUnloads 2021-12-27 03:53:25 -08:00
Jason
464b1715bb
Add uncaught exception handler using logger to usages of ThreadFactoryBuilder (#7179) 2021-12-23 02:32:26 -08:00
Josh Roy
1ce4281666
Fix ABI breakage for plainSerializer (#7178) 2021-12-22 14:56:37 -08:00
Jake Potrebic
cf621c5eb3
Load effect amplifiers greater than 127 correctly (#7175) 2021-12-22 10:20:33 -08:00
Jake Potrebic
82eaf4ee15
Fix duplicated BlockPistonRetractEvent call (#7111) 2021-12-22 10:02:31 -08:00
Nassim Jahnke
10bfb63f6c
Configurable max block light for monster spawning (#7129) 2021-12-22 12:47:15 +01:00
Riley Park
26fbb02aae
Adventure changes for Java 17 and Component support for resourcepack prompt 2021-12-21 23:51:07 -08:00
Jake Potrebic
8a21c1742b
Add API for item entity health (#6514) 2021-12-21 23:07:15 -08:00
Jake Potrebic
2cf6a57bca
Fix entity type tags suggestions in selectors (#6468) 2021-12-21 21:34:20 -08:00
Jake Potrebic
264b11d9f3
Entity powdered snow API (#6833) 2021-12-21 19:52:54 -08:00
Jake Potrebic
9012ae8880
Improve scoreboard entries (#6871) 2021-12-21 16:45:18 -08:00
Jake Potrebic
d4c819056d
Forward CraftEntity in teleport command (#7025) 2021-12-21 16:40:24 -08:00
Jake Potrebic
9adc0b243b
Fix breakNaturally for fluid-logged blocks (#7134) 2021-12-21 16:32:54 -08:00
Jake Potrebic
75f4cb074a
Move setShouldBurnInDay to AbstractSkeleton (#7120) 2021-12-21 16:31:33 -08:00
Jake Potrebic
9259558b58
Fix remapping issue with RangedAttackMob and RangedEntity (#7167) 2021-12-21 16:23:19 -08:00
Jason Penilla
df8d28a450
Update checker framework & log4j-api for paper-api (also rebuild patches)
Note that the log4j-api version used in paper-api does not affect the version used in paper-server, this just affects the version people will see in their IDE when compiling against paper-api.
2021-12-21 01:17:52 -08:00
Noah van der Aa
ae6fec6d13
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#7116) 2021-12-20 22:46:51 +00:00
Nassim Jahnke
6178609e1d
Fix tripwire state inconsistency 2021-12-20 12:10:26 +01:00
Spottedleaf
8c5be16686 Only write chunk data to disk if it serializes without throwing
This ensures at least a valid version of the chunk exists
on disk, even if outdated
2021-12-19 09:15:22 -08:00
Spottedleaf
8c189d0faf Create sections for chunk conversion if non-existant
Required to add in the new biome sections
2021-12-18 01:06:37 -08:00
Nassim Jahnke
358ceb80a5
Update log4j to 2.17.0 2021-12-18 09:02:34 +01:00
Spottedleaf
4b0b72554f Add missing return when datafixers fail for chunk conversion
Caused the chunk to be later deserialized, which would
result in spamming unrelated errors (possibly) +
double chunk completion.
2021-12-17 06:55:39 -08:00
Spottedleaf
5b5f0aa6c8 Bounds check biomes length before using.
Missed the diff by Mojang that added this, apparently some
ancient code created zero-length biomes.
2021-12-17 06:38:18 -08:00
DefineOutside
5ad1d9a01d
Fix empty voxel shape usage (Fixes #7043) 2021-12-15 18:15:04 +00:00
Jason
95d881f916
Fix WorldGenRegion leak when converting pre-1.18 chunks (#7097)
Co-authored-by: Nassim Jahnke <jahnke.nassim@gmail.com>
2021-12-14 22:07:42 +01:00
Nassim Jahnke
51d168752b
Update log4j to 2.16.0
No confirmed attack vector, and definitely no attack vector for normal setups, but, just in case.
2021-12-14 20:08:40 +01:00
LemonCaramel
7f310957bc
Add more Campfire API (#5779) 2021-12-13 12:57:39 -08:00
Owen1212055
d8747c13e5
[ci skip] Add nullable annotation to field (#7042)
Co-authored-by: Riley Park <riley.park@meino.net>
2021-12-12 20:31:32 -08:00
Jake Potrebic
c1bd3cc8fd
Updated Upstream (CraftBukkit) (#7105) 2021-12-12 19:59:43 -08:00
Jason
29bd57b4c8
Remove codec usage in chunk snapshot creation (#7093) 2021-12-11 17:50:45 -08:00
Nassim Jahnke
1c779c2d2e
Update to 1.18.1 (#7076) 2021-12-10 15:24:07 +01:00
Glare
dce79f333c
Update Log4J (#7069) 2021-12-09 18:02:41 -08:00
Nassim Jahnke
4e355c488d
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:
35d3986e Disable log4j message formatting
040e0c3b Increase outdated build delay
2021-12-09 21:59:59 +01:00
Nassim Jahnke
b475c6a683
Backport log4j fix 2021-12-09 17:55:19 +01:00
Jason Penilla
bbc745158d
Fix issue with snapshotted biomes in last commit 2021-12-09 04:36:03 -08:00
Jason Penilla
188a8dfc4c
Fix ChunkSnapshot#isSectionEmpty(int) 2021-12-09 04:11:04 -08:00
Spottedleaf
0e91b6ae9b Return 0 for light values if a dimenion does not have them
Fixes https://github.com/PaperMC/Starlight/issues/99
2021-12-08 22:01:02 -08:00
Spottedleaf
758e2a7ee2 Fix bad ticking checks for blocks
Caused blocks to tick outside of simulation distance
2021-12-08 22:00:45 -08:00
Jake Potrebic
74fd151adc
Fix entity equipment on cancellation of EntityDeathEvent (#5740) 2021-12-08 10:25:57 -08:00
Nassim Jahnke
33ea869a65
Bump Starlight light version 2021-12-08 08:42:44 +01:00
Nassim Jahnke
772e880f29
Fix light propagation in high y sections 2021-12-07 20:33:10 +01:00
Jason Penilla
53d026edcd
Fix unused EntitySectionStorage#getEntities(AABB, Consumer) method being broken 2021-12-06 19:40:26 -08:00
Jake Potrebic
0e25db214f
Fix mis-placed processEnchantOrder from 1.18 update (#7052) 2021-12-06 12:28:36 -08:00
Jason
af95df8d40
Port Actually unload POI data from Tuinity 1.16 (#7044) 2021-12-06 00:09:07 -08:00
Jake Potrebic
a50e2736a7
Include axolotls in affected entities for water splash potions (#7024)
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2021-12-05 17:56:55 -08:00
Jason
fd263ef962
Fix empty/null chunk section check in LevelChunk#getBlockData, rename… (#7039)
… patch and methods to make more sense with Mojang mappings
2021-12-05 15:32:02 -08:00
Jake Potrebic
7c8fdc1fb6
Add dropped hunk from mid-tick tasks (#7034) 2021-12-05 13:58:01 -08:00
Jason Penilla
a4782f72f7
[ci skip] fixup indent 2021-12-05 13:07:44 -08:00
LemonCaramel
c83700291a
Fix client world difficulty sync issue (#7035) 2021-12-05 20:44:17 +01:00
Nassim Jahnke
6b072ee589
Revert "Fix #6779"
This reverts commit 78faaa4f8e.
2021-12-05 15:05:41 +01:00
Jake Potrebic
fd4f6c5e31
Update Optimise chunk tick iteration (#6950) 2021-12-05 15:00:13 +01:00
Jason Penilla
c3ff7e0ff7
Update Optimise collision checking in player move packet handling 2021-12-05 02:56:09 -08:00
Jason Penilla
78faaa4f8e Fix #6779 2021-12-05 02:45:09 -08:00
Jason Penilla
fcca15ff0b Update Highly optimise single and multi-AABB VoxelShapes and collisions 2021-12-05 02:45:09 -08:00
Jason
ccabae4fb6
Update and deprecate Allow delegation to vanilla chunk gen (#7031) 2021-12-05 02:27:20 -08:00
Jason
a42917dd10
[ci skip] Remove reobfJar from paper-server publication (#7027) 2021-12-04 23:42:28 -08:00
Jason
62fd374c36
Remove debug checks from ZeroBitStorage (#7029) 2021-12-04 23:41:44 -08:00
Jake Potrebic
fd352861b0
Updated Upstream (Bukkit/CraftBukkit) (#7022) 2021-12-04 23:11:59 -08:00
Jake Potrebic
54b0c41c20
further mitigate possible NPEs 2021-12-04 19:39:52 -08:00
Shane Freeder
52f95706d2
Fix trader merchants NPE when interacting with a merchant with non-active trades 2021-12-05 03:00:13 +00:00
stonar96
76ee105811
Optimize HashMapPalette (#5074)
HashMapPalette uses an instance of CrudeIncrementalIntIdentityHashBiMap
internally. A Palette has a preset maximum size = 1 << bits.
CrudeIncrementalIntIdentityHashBiMap has an initial size but is
automatically resized. The CrudeIncrementalIntIdentityHashBiMap is created
with the maximum size in the constructor of HashMapPalette, with the aim
that it doesn't need to be resized anymore. However, there are two things
that I think Mojang hasn't considered here:
1) The CrudeIncrementalIntIdentityHashBiMap is resized, when its initial
size is reached and not the next time, when a further object is added.
2) HashMapPalette adds objects (unnecessarily) before checking if the
initial size of CrudeIncrementalIntIdentityHashBiMap is reached.
This means to actually avoid resize operations in
CrudeIncrementalIntIdentityHashBiMap, one has to add 2 to the initial size
or add 1 and check the size before adding objects. This commit implements
the second approach. Note that this isn't only an optimization but also
makes async reads of Palettes fail-safe. An async read while the
CrudeIncrementalIntIdentityHashBiMap is resized is fatal and can even lead
to corrupted data. This is also something that Anti-Xray is currently
relying on.
2021-12-04 15:56:34 +01:00
Sam
63a97a64a3
Add Player#sendHealthUpdate (#6904) 2021-12-04 15:10:57 +01:00
Sam
bae37ad2d8
Add PlayerItemFrameChangeEvent (#6897) 2021-12-04 14:49:34 +01:00
Noah van der Aa
614ed1de72
Don't get block light level if the sky level is 15 (#6922) 2021-12-04 14:24:40 +01:00
Shane Freeder
77ff1f3005
Prevent ContainerOpenersCounter openCount from going negative (Fixes #6865) 2021-12-04 02:50:35 +00:00
Shane Freeder
7323594d59
Do not use ForkJoinPool common exector for creating client command struct (Fixes #6936) 2021-12-04 02:37:33 +00:00
Jake Potrebic
2b97750f60
Fix kelp modifier having reverse effect (#6806) 2021-12-03 18:12:42 -08:00
Jason
675d1e3f58
Fix kelp modifier changing growth for other crops (#7012) 2021-12-03 17:40:42 -08:00
Jake Potrebic
b653ee1a91
Updated Upstream (Bukkit/CraftBukkit) (#7009) 2021-12-03 17:33:56 -08:00
Shane Freeder
2f31569807
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:
9115281f SPIGOT-6832: Improve Player#getPing docs

CraftBukkit Changes:
fd3478bc7 #967: Store last lava contact location for events

Spigot Changes:
dbf49382 Rebuild patches
58cb9d26 #113: Use simulationDistance for entity activation range base
2021-12-03 21:28:15 +00:00
Jake Potrebic
1f5b013cbe 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:
4b5f9882 Fix when bundler directory is a symlink
6f3509d1 Release POIs when villagers are removed by plugins
2021-12-03 11:53:17 +01:00
Shane Freeder
cfa5b37fa8
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:
03b725233 SPIGOT-6823: Fix loading custom world in combination with superflat
359d0533a #970: Correct typo in README.md
110492932 Fix per-world worldborder command
2021-12-03 00:26:54 +00:00
Jake Potrebic
057adb04f1
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6990) 2021-12-02 12:21:33 -08:00
Jason
956124f86a
Build updates (#6992) 2021-12-01 23:21:14 -08:00
SoSeDiK
a5a7782f40
Fix NPE when getting destroy speed of air (#6989) 2021-12-02 01:48:15 +00:00
Jake Potrebic
0cd411efdf
Don't populate a useless spigot.yml field (#6976) 2021-12-01 10:03:46 -08:00
Nassim Jahnke
892c292dc9
Fix itemmeta patch and move oversized fix into its own (#6980) 2021-12-01 13:32:36 +01:00
Jake Potrebic
72983892cf
Don't set last hand/armor lists to stripped items (#6977) 2021-12-01 00:36:48 -08:00
Jake Potrebic
cb195e1958
Skip stripping metadata from empty stacks (#6973) 2021-11-30 18:59:09 -08:00
Noah van der Aa
cd9fe9ca64
Port flat bedrock (generator settings) to 1.18 (#6960) 2021-11-30 17:31:13 -08:00
Noah van der Aa
0152c9c41c
Updated Upstream (CraftBukkit) (#6966) 2021-11-30 16:43:02 -08:00
Noah van der Aa
e955cb5b26
Hide unnecessary itemmeta from clients (#6318)
Co-authored-by: Nassim Jahnke <jahnke.nassim@gmail.com>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2021-11-30 14:47:10 -08:00
Jake Potrebic
bd9c2b75c7
Fix removing recipes (#6965) 2021-11-30 12:27:27 -08:00
Nassim Jahnke
b2bc5b9ee7 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:
b46ac671 Update to Minecraft 1.18

CraftBukkit Changes:
bc14cb64 Update to Minecraft 1.18

Spigot Changes:
a5dea1cb Update to Minecraft 1.18
2021-11-30 19:26:33 +01:00
Nassim Jahnke
971ca7e4d1 1.18 Release 2021-11-30 19:26:33 +01:00
Jason Penilla
754dfd1eb2 re-inline Goal.Flag iteration 2021-11-30 19:26:33 +01:00
Jake
d8d7f52324 another patch 2021-11-30 19:26:33 +01:00
Jake
5ff792342c couple more patches 2021-11-30 19:26:33 +01:00
Nassim Jahnke
903aa737d8 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:
ab6e73a2 Correct copied javadoc from previous commit

CraftBukkit Changes:
9fb3aa4c SPIGOT-6817: Revert back to old block state behaviour again
2021-11-30 19:26:33 +01:00
stonar96
4ab59e1326 Port Anti-Xray to 1.18 (#6947) 2021-11-30 19:26:33 +01:00
Jake
ebb727e629 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:
810cb078 Add hideEntity / showEntity API

CraftBukkit Changes:
04f8e7e2 SPIGOT-6814: (Chunk) PersistentData is lost after restart
37fd1917 Add hideEntity / showEntity API
7e2214da Move checkstyle to slightly later compile phase
45c3f826 SPIGOT-6816: Fix ChunkSnapshot#getBiome

Spigot Changes:
b11f318f Rebuild patches
622b2310 SPIGOT-6811: Fix mob spawning mismatch
2b2a3d56 Rebuild patches
2021-11-30 19:26:33 +01:00
Jake
d3ffbcdd52 Fixes chunks not loading PDC sometimes
If a chunk had no entities or block entities, it would fail
to load the PDC. This adds an additional check to see if there is
PDC and then to load that if so.

See: https://hub.spigotmc.org/jira/browse/SPIGOT-6814
2021-11-30 19:26:33 +01:00
Nassim Jahnke
a372cea5d2 Update readme, rename incremental chunk saving 2021-11-30 19:26:33 +01:00
Jake Potrebic
ba722a8c9d Update paperclip and yarn mappings (#6943) 2021-11-30 19:26:33 +01:00
Jake
7382bd2847 add mobcaps command patch 2021-11-30 19:26:33 +01:00
Jake
9beac6a2a4 Fix hostile mob spawning
Upstream adds this check and didn't flip it since mojang flipped the
return boolean from previous versions. This will end up removed
from this patch when (if) upstream fixes this
2021-11-30 19:26:33 +01:00
Jake
afbaa18bf6 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:
c9b35cdb PR-684: Make PotionEffectType implement Keyed

CraftBukkit Changes:
c86a3f7a PR-959: Fix World#refreshChunk
af8a8b70 PR-962: Make PotionEffectType implement Keyed

Spigot Changes:
7514aa37 SPIGOT-6806: Add setting to disable new chunks generation under existing chunks
2021-11-30 19:26:33 +01:00
Nassim Jahnke
8c78a82906 Cleanup unnecessary hopper optimization diff
Fixes #6941
2021-11-30 19:26:33 +01:00
Nassim Jahnke
0440a08b8d Fix oversized chunk merging 2021-11-30 19:26:33 +01:00
Spottedleaf
8e5d5b8753 Add Starlight 2021-11-30 19:26:33 +01:00
Jason
3c586898a5 Use old dataconverter hooks (#6938) 2021-11-30 19:26:33 +01:00
MiniDigger
4a466ac7d1 change my email in all patches 2021-11-30 19:26:33 +01:00
Jason Penilla
c0f2385c99 Remove redundant json-simple dependency and move isTransitive = false from server to api 2021-11-30 19:26:33 +01:00
Jason Penilla
231e0cd3b5 Rebuild patches with record field access fix 2021-11-30 19:26:33 +01:00
Jason Penilla
7abff79737 Remove client-side code using deprecated for removal
AccessController

Fixes warnings on build
2021-11-30 19:26:33 +01:00
Josh Roy
bc0dd0df3d 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:
716b4fce Revert SnakeYAML upgrade
ca6f8942 Update to Minecraft 1.18-rc3
57e7e952 #683: Add Player#showDemoScreen

CraftBukkit Changes:
c98abfb0 Update to Minecraft 1.18-rc3
9b258501 #960: Add Player#showDemoScreen
d9542247 Produce remapped jars after bootstrap jar
99f3ddde SPIGOT-6808: Fix RegionAccessor#getBiome

Spigot Changes:
b7a4222e Update to Minecraft 1.18-rc3
2021-11-30 19:26:33 +01:00
Nassim Jahnke
134a61c111 Readd incremental chunk saving, merge with player saving 2021-11-30 19:26:33 +01:00
Nassim Jahnke
738788079b Remove deprecated protoworld api 2021-11-30 19:26:33 +01:00
Nassim Jahnke
10c6a1bd9e Fix configurable feature seed patch 2021-11-30 19:26:33 +01:00
Kyle Wood
0675784032 Fix stacktrace deobf when running as a bundler jar 2021-11-30 19:26:33 +01:00
Kyle Wood
e519a51f95 Upgrade paperweight with bundler jar updates
This allows creating paperclip jars pre-patch (only the reobf'd jar for
now).
2021-11-30 19:26:33 +01:00
Nassim Jahnke
e8f01f89d2 Rename optimize isOutsideRange patch 2021-11-30 19:26:33 +01:00
Nassim Jahnke
86b1213a0b Readd configurable feature seed patch 2021-11-30 19:26:33 +01:00
Nassim Jahnke
4e60e11b6b Fix incremental player saving check 2021-11-30 19:26:33 +01:00
Nassim Jahnke
5a90a2033d More more more more more more more more more more more more more more more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
e85e1f4e49 Fix fuckups from previous commit 2021-11-30 19:26:33 +01:00
Nassim Jahnke
dabbf5b193 More more more more more more more more more more more more more more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
011df7dc84 More more more more more more more more more more more more more more more more work 2021-11-30 19:26:33 +01:00
Jason Penilla
055b8ab9cf even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even more patches 2021-11-30 19:26:33 +01:00
Jason Penilla
b39fa92d5d even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even more patches 2021-11-30 19:26:33 +01:00
Jason Penilla
f04f3321e3 even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even more patches 2021-11-30 19:26:33 +01:00
Jason Penilla
dc58f85df2 even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even more patches 2021-11-30 19:26:33 +01:00
Jason Penilla
fdde23eecf even even even even even more patches 2021-11-30 19:26:33 +01:00
Josh Roy
aa948d8338 more i guess pepeW 2021-11-30 19:26:33 +01:00
Josh Roy
c1d14dc076 all api patches done*
*still waiting for leaf to port datafixer to 1.18 so i can do entity serialization
2021-11-30 19:26:33 +01:00
Jason Penilla
4df6820f86 Remove pom for paperclip install to maven local 2021-11-30 19:26:33 +01:00
Jake
2e347b629d and yet again, more patches 2021-11-30 19:26:33 +01:00
Jake
4664528315 more patches done 2021-11-30 19:26:33 +01:00
Jake
c4ef2add48 patches and remap fixes 2021-11-30 19:26:33 +01:00
Jake
00be0b7b30 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:
d25437bc Update to Minecraft 1.18-pre8

CraftBukkit Changes:
5a39a236 Update to Minecraft 1.18-pre8

Spigot Changes:
7840c2af Update to Minecraft 1.18-pre8
2021-11-30 19:26:33 +01:00
Jake
5a2d3b2b29 more patches 2021-11-30 19:26:33 +01:00
Jason Penilla
35aeb0ddeb Update server build file 2021-11-30 19:26:33 +01:00
Jake
6ccc23f457 even MOOOOOOOOOOOOAAAAAAAAAAAAAAAARRRRRRRRRRRRR patches 2021-11-30 19:26:33 +01:00
Jake
1cb76e15be moaaaaaaaar patches 2021-11-30 19:26:33 +01:00
Jake
6f5b43e290 moaaaaar patches 2021-11-30 19:26:33 +01:00
Jake
e141126891 even moaar patches 2021-11-30 19:26:33 +01:00
Jake
f331ac28e0 add back Optimize collision to not load chunks 2021-11-30 19:26:33 +01:00
Jake
c280dbeed0 moar patches 2021-11-30 19:26:33 +01:00
Jake
3436ed93c2 a bunch more patches done 2021-11-30 19:26:33 +01:00
Jake
3dbf41c443 updated more patches 2021-11-30 19:26:33 +01:00
Jake
0f7ca21add several more patches updated 2021-11-30 19:26:33 +01:00
Nassim Jahnke
26dcf812a4 More more more more more more more more more more more more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
97a4a70766 More more more more more more more more more more more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
45c36e5d0c More more more more more more more more more more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
4e81c1fe78 More more more more more more more more more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
8f67d293a2 More more more more more more more more more more more work 2021-11-30 19:26:33 +01:00
Jason Penilla
0358549f7b p a t c h e s 2021-11-30 19:26:33 +01:00
Jason Penilla
e208af9741 patches 2021-11-30 19:26:33 +01:00
Nassim Jahnke
8f64c190ef Fix Paper comments 2021-11-30 19:26:33 +01:00
Nassim Jahnke
f43f1e217e More more more more more more more more more more work 2021-11-30 19:26:33 +01:00
MiniDigger
6ac2614a5f hey, look ma, am doing my part! 2021-11-30 19:26:33 +01:00
Jason Penilla
1d74ffcb7c Fixup indent in async chunk io patch 2021-11-30 19:26:33 +01:00
Jake
0f23d73d1a a bunch more patches 2021-11-30 19:26:33 +01:00
Jake
2b29fe37a2 more patches updated 2021-11-30 19:26:33 +01:00
Jason Penilla
5d0d11e4b6 Patches 2021-11-30 19:26:33 +01:00
Jake
2004ff214a more work 2021-11-30 19:26:33 +01:00
Jake
753267a57e and here's some more patches 2021-11-30 19:26:33 +01:00
Jake
d9c1c30c58 move mojang api server patches up 2021-11-30 19:26:33 +01:00
Jake
e481692afd move extra plugins patch up & more work 2021-11-30 19:26:33 +01:00
Jason Penilla
7665ae86d6 Update runServer gradle properties 2021-11-30 19:26:33 +01:00
Jake
9ae92d26b8 and some more patches 2021-11-30 19:26:33 +01:00
Jason Penilla
76879ba957 Fix issues with IntIdentityHashBiMiap 2021-11-30 19:26:33 +01:00
Jake
5cfc0781d6 even more patches 2021-11-30 19:26:33 +01:00
Jake
18ad44eabc several more patches 2021-11-30 19:26:33 +01:00
Jason Penilla
28b02df594 Update ticklist saving 2021-11-30 19:26:33 +01:00
Josh Roy
06629d562b 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:
a58fde42 Fix crash with composters
a11ec5d7 Remove unnecessary CraftBlock creation in CraftRegionAccessor#setBlock
2021-11-30 19:26:33 +01:00
Josh Roy
98330439e8 More more more more more more more more more work 2021-11-30 19:26:33 +01:00
Josh Roy
11709feb21 More more more more more more more more work 2021-11-30 19:26:33 +01:00
Josh Roy
3cd2c987cf 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:
ea30a299 Add docs in ServerListPingEvent based on changes from 1.18

CraftBukkit Changes:
03f249f0 Generate bootstrap jar separately
3b214b5a SPIGOT-6803: Fix ServerPing not using the new logic for show players in 1.18

Spigot Changes:
c07753b0 Rebuild patches
2021-11-30 19:26:33 +01:00
Jake Potrebic
66dbf41a65 async chunk patch progress (#6930) 2021-11-30 19:26:33 +01:00
Nassim Jahnke
758b8c689b Fix mappingregistry, readd an async chunk hunk 2021-11-30 19:26:33 +01:00
Nassim Jahnke
cc171b1928 More more more more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
105034367d More more more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
6f3591fd6d More more more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
d7cdc72bdf More more more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
e9954ed32a More more more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
c8cb91bb99 More more work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
456621b0d7 More work 2021-11-30 19:26:33 +01:00
Nassim Jahnke
31f9d01c7c Work 2021-11-30 19:26:33 +01:00
Jason Penilla
284a7fed94 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:
07a05531 SPIGOT-6781: Add Block#canPlace

CraftBukkit Changes:
dd02403b Fix upgrading worlds with custom generators
1c82731d SPIGOT-6781: Add Block#canPlace
2f6662d4 Improve multi-dimension code
6ac2e032 SPIGOT-6802: Fix major issues with --forceUpgrade

Spigot Changes:
d5de7346 Rebuild patches
2021-11-30 19:26:33 +01:00
Jason Penilla
a8ef7aa56f Prepare for updating server patches 2021-11-30 19:26:33 +01:00
Nassim Jahnke
3e71cf19dc Remove Fix reducedDebugInfo not initialized on client patch
Hasn't been needed for a while now, see #6733
2021-11-30 19:26:33 +01:00
Josh Roy
22aaf91368
Add config option to enable hopper occluding blocks (#6896)
Co-authored-by: zombachu <zombachu@gmail.com>
2021-11-20 14:15:36 -05:00
Josh Roy
284b3b8dd2
Fix AnvilPrepareEvent not working with zero xp (#6895)
Co-authored-by: Jan Tuck <jan@tuck.dk>
2021-11-20 14:09:19 -05:00
Nassim Jahnke
e22a1a9d05
Fix more namespacedkey parsing (#6903) 2021-11-17 10:53:41 +01:00
Jason
f3830bc214
Update paperweight to 1.2.0 (#6901) 2021-11-16 21:00:14 -08:00
booky10
51b7b609f1
Add API for resetting a single score (#6873) 2021-11-15 15:08:50 -08:00
Jake Potrebic
555f99d390
cleanup: Add hand to bucket events patch (#6881) 2021-11-15 20:01:19 +01:00
Jake Potrebic
db0bff9c6a
Call onRemove logic for breakNaturally (#6854) 2021-11-12 18:28:08 -08:00
Jason
4d6073faff
Partially fix #6880 (#6888) 2021-11-12 14:27:26 -08:00
Josh Roy
cc2ecbc407
Add Raw Byte Entity Serialization (#6826) 2021-11-10 21:53:27 -05:00
Seggan
3f17694803
Goat ram API (#6336) 2021-11-09 00:48:22 -08:00
Jake Potrebic
a923e332ee
Make despawn distance configs per-category, improve per category spawn limit config (#6717)
Also adds per-world spawn limit config in paper.yml for `underground_water_creature`, and migrates existing spawn limit config options to their Mojang names.
2021-11-08 23:59:15 -08:00
Owen1212055
87121cef29
Move getTrackedPlayers up from Player to Entity (#6569) 2021-11-08 13:39:42 -08:00
Bjarne Koll
32ba0881e8
Fix setPatternColor on tropical fish bucket meta (#6877) 2021-11-08 11:20:07 -08:00
Jake Potrebic
5af80b0ab8
Add isCollidable methods to various places (#6870) 2021-11-06 12:43:24 -07:00
Jake Potrebic
22b02387c3
Add API for checking if a zombie has the option to break doors (#6855) 2021-11-05 17:17:12 -07:00
Jake Potrebic
124d079dd0
Fix issues with mob conversion (#6831) 2021-11-05 17:06:19 -07:00
Nassim Jahnke
c20c9d39d3
Fix CraftNamespacedKey shenanigans (#6825) 2021-11-05 16:01:40 +01:00
Bjarne Koll
70fe58d0a0
Expose the potential player cause of a lightning (#6782) 2021-11-05 15:54:37 +01:00
PaulBGD
06d82e0d6d
Cache palette array (#6767)
Instead of allocating the 4KB for every chunk section, cache it locally and
reuse it for other chunk sections to save on allocations. These allocations add
up very quickly when saving chunks frequently.

For example, with 30,000 chunks and 16 chunk sections per chunk (which will
actually get larger in 1.18) it allocates nearly 2GB, which this patch
eliminates entirely.
2021-11-05 15:52:32 +01:00
Nassim Jahnke
ada930bf8d
Updated Upstream (Bukkit/CraftBukkit) (#6872)
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:
cfd18bd0 SPIGOT-6436: Add Player#stopAllSounds

CraftBukkit Changes:
b58f4299 SPIGOT-6436: Add Player#stopAllSounds
eb191612 SPIGOT-6783: Items do not appear in custom anvil inventories
376edf4f SPIGOT-6779: Fix LivingEntity#attack for Player entities
747a73ec SPIGOT-6772: Use entity mailbox and re-schedule entities if they get unloaded
2021-11-05 15:08:24 +01:00
Jason
6f71b7c4a9
Deduplicate strings in ObfHelper (#6841) 2021-11-04 17:23:06 -07:00
Jake Potrebic
0968cddbcd
Move async catches back to where they were (#6869) 2021-11-04 11:20:14 -07:00
Jake Potrebic
09d50a9277
Added missing mappings (#6810) 2021-11-04 07:08:53 -07:00
Jason
3e310e096c
Remove redundant and unneeded repos, reorder repos (#6867) 2021-11-04 02:42:18 +00:00
Jason
d9e2817ffd
Update paperweight to 1.1.13 (#6866) 2021-11-03 17:54:11 -07:00
Shane Freeder
bc43f40f0d
Update jline and TCA (#6829)
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>

updates jline to 3.21.0, and TCA to 1.3.0
2021-11-02 18:02:16 +00:00
Spottedleaf
3f043f7eb9 Async catch modifications to critical entity state
These used to be here from Spigot, but were dropped with 1.17.
Now in 1.17, this state is _even more_ critical than it was before,
so these must exist to catch stupid plugins.
2021-10-31 21:35:47 -07:00
Jake Potrebic
c1b4899e07
Fix dupe uuid check on entity add (#6735) 2021-10-31 15:09:39 -07:00
HexedHero
744dd8ce79
Allow spawners to be disabled without adding a stupid high tick rate (#6837) 2021-10-31 08:51:57 +01:00
Finn Künstner
a284e40c70
Updated Upstream (Bukkit/CraftBukkit) (#6848)
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:
9b45fa2f #667: Allow setting BrewEvent results
8c776ddc SPIGOT-6762: ChatPaginator.wordWrap only transfers one modifier
da372966 SPIGOT-4590, SPIGOT-6769: Clarify DamageCause documentation

CraftBukkit Changes:
cef1fda3 #947: Add missing spawn eggs for SpawnEggMeta
eb9a0f34 #945: Allow setting BrewEvent results
2021-10-31 08:34:10 +01:00
Jake Potrebic
f2cb9cbd76
Don't fire EntityZapEvent twice (#6830) 2021-10-25 11:54:21 +02:00
sulu5890
20dea64f63
don't attempt to teleport dead entities (#6832) 2021-10-25 11:38:43 +02:00
Nassim Jahnke
c66adfb39d
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6823)
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:
58c2d3c7 SPIGOT-6771: Help command tab completion does not respect permissions

CraftBukkit Changes:
fd50041d SPIGOT-6768: Remove upper bound on setFreezeTicks

Spigot Changes:
38929296 SPIGOT-6767: Configurable Thunder Chance
2021-10-24 19:38:23 +02:00
Pedro
9472d38f3c
Fix method name for Critical damage (#6813) 2021-10-21 15:11:19 +01:00
stonar96
a1f49e4c60
Fix command suggestion leak (#6592)
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2021-10-21 02:15:18 -07:00
Jason
7a0886180f
AT & Mapping fixes (#6809) 2021-10-21 01:16:31 -07:00
Owen1212055
f47aeafe00
Add Horse Animation API (#5599) 2021-10-20 18:09:42 -07:00
Kacper Płażewski
bb397ba74c
Add critical damage API (#6275) 2021-10-20 18:15:28 -04:00
Jake Potrebic
55ca459515
rename method to getSpawnEgg 2021-10-20 14:41:54 -07:00
BillyGalbreath
9d570042ed
Add ItemFactory#getMonsterEgg API (#6772) 2021-10-20 14:35:52 -07:00
syldium
40ee63496c
Add advancement display API (#6175) 2021-10-20 15:59:13 -04:00
BillyGalbreath
e5f9241d15
Left handed API (#6775) 2021-10-19 20:46:52 -07:00
Bjarne Koll
40057019e0
Correctly inflate villager activation bounding box (#6798) 2021-10-19 20:14:30 -07:00
Jake Potrebic
0a6103597b
Get entity default attributes (#6449) 2021-10-19 18:55:05 -07:00
Shane Freeder
26c37d99d5
create random seeds for features using SecureRandom 2021-10-19 15:25:04 +01:00
Jason
eaee7a2473
Use correct LevelStem registry when loading default end/nether (#6789) 2021-10-17 18:10:03 +01:00
Jake Potrebic
72a3175165
Updated Upstream (Bukkit/CraftBukkit) (#6791) 2021-10-17 17:57:00 +01:00
Jake Potrebic
a55617d9ce
Fix/improve the last upstream update (#6780) 2021-10-16 19:57:05 +01:00
Spottedleaf
c1644521c9 Do not overload I/O threads with chunk data while flush saving
If the chunk count is high, then the memory used by the
chunks adds up and could cause problems. By flushing
every so many chunks, the server will not become
stressed for memory. It will also not increase the total
time to save, as flush saving performs a full flush at
the end anyways.
2021-10-16 02:23:07 -07:00
Jake Potrebic
0a16fb8182
Fix merchant inventories not closing on entity removal (#6544) 2021-10-15 20:19:08 -07:00
Spottedleaf
fc0e6c7e08 Fix off by one for determining server view distance
It was 1 greater than it should've been. lvar renaming
caused the field viewDistance to be read when it should've
been reading the watchDistance
2021-10-15 19:21:27 -07:00
Hannes Greule
3f2159e43c
Unlimited chunk load rate (#6768) 2021-10-15 18:54:46 -07:00
Shane Freeder
5344798579
Clean plugin folder logic in extra-jars patch (Fixes #6347) (#6619) 2021-10-15 22:54:22 +01:00
Shane Freeder
4276013833
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:
9590b610 SPIGOT-6749: Library Loader does not correctly isolate dependencies

CraftBukkit Changes:
11c9299f #940: Fixed a NPE during CraftBlockEntityState#update.
960f3109 #937: Fixes related to unplaced BlockStates and the recent world generation changes.
4faf479e SPIGOT-6754: We ignore any still present TileEntity now when we create a BlockState for a block of type AIR.
a72d5404 SPIGOT-6754: Temporarily restore previous behaviour for tile entities with removed blocks

Spigot Changes:
dc75aca8 Remove redundant 'Log null TileEntity Owner' patch
2021-10-15 12:43:19 +01:00
Jason
8575248648
Use ChatRenderer.defaultRenderer() when legacy events have not modified the format (#6104) 2021-10-13 02:00:40 -07:00
Spottedleaf
56e65fd3a7 Null check isApplicable for CraftBlockEntityState#update
If the update call removed the TE, then isApplicable would
have NPE'd.
2021-10-12 13:35:29 -07:00
Jason
54813dbb21
[ci skip] Misc gradle updates (#6763) 2021-10-11 14:31:53 -07:00
Owen1212055
4a0d935cd0
Always allow item changing in EntityFireball (#5493) 2021-10-09 14:04:22 -07:00
Noah van der Aa
cd610df101
Re-readd root/admin user detection (#6703)
* Re-readd root/admin user detection

* I am dum

* Only run id command if needed

* Use ProcessBuilder

* Link to issue

* Rebase

Co-authored-by: Madeline Miller <mnmiller1@me.com>
2021-10-09 19:29:05 +10:00
Jake Potrebic
a61827df91
VanillaCommandWrapper didnt account for entity senders (#6586) 2021-10-08 20:44:45 -07:00
Jake Potrebic
523a55c609
Fix loading cmds in datapacks (#6641) 2021-10-08 20:39:59 -07:00
Jake Potrebic
381a1462b3
Fix unplaced block states after new chunk gen API (#6747) 2021-10-08 12:06:28 -07:00
Jakub Žáček
b470400d5c
Add methods to find targets for lightning strikes (#6712) 2021-10-08 03:00:03 -07:00
Jake Potrebic
975f2e5104
Filter ip address on join if setting is true (#6748) 2021-10-08 09:30:52 +02:00
Noah van der Aa
0d1e18795b
Fix kicking ops when whitelist is reloaded (MC-171420) (#6742) 2021-10-07 11:11:15 -07:00
Noah van der Aa
cf4af9fd48
Add config setting for logging player ip addresses. (#6342) 2021-10-07 11:02:40 -07:00
Spottedleaf
3391ccf988 Discard out of bounds chunks during regionfile header recalc
The logic cannot even determine what local chunk they should be,
and out of bounds chunks can only occur from external modifications
to the regionfile.

If regionfile recalculation cannot occur, then do not attempt
to retry read actions.

Fixes https://github.com/PaperMC/Paper/issues/6718
2021-10-07 05:50:38 -07:00
Nassim Jahnke
bfe562224e
Fix EntityPortalExitEvent target location
Now uses the proper position and world as well as correct pitch
Fixes #6739

Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2021-10-07 11:05:49 +02:00
Jake Potrebic
7991c4b431
Fix upstream block state factories (#6738) 2021-10-06 21:11:20 -07:00
HexedHero
a4199412fc
Add download link to the /version command (#6482)
* Add download link to /version command

* Change colors
2021-10-06 17:14:03 +02:00
Nassim Jahnke
0cdeeef91f
Remove unnecessary Velocity repo from server (#6730) 2021-10-06 11:28:35 +02:00
Jake Potrebic
e155002b31
Fix EntityPortalExitEvent not being called (#5617) 2021-10-05 14:19:27 -07:00
Jake Potrebic
fdd5c65423
Fix CraftCriteria defaults map (#6723) 2021-10-05 10:24:36 -07:00
Jason
a3dfe6dca5
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6722) 2021-10-04 20:14:11 -07:00
Jake Potrebic
90f717fa5a
Add missing team sidebar display slots (#6690) 2021-10-04 10:31:26 +01:00
chickeneer
7ebf08a6ad
Handle missing Spawn Egg item meta for 1.17 mobs (#6700) 2021-10-04 10:13:19 +02:00
Jason
a978f4122a
Start console thread after PaperConfig & MinecraftServer.console are initialized (#6716) 2021-10-03 15:12:04 -07:00
Jake Potrebic
e14aff9b32
Don't count named piglins and hoglins towards mob cap (#6452) 2021-10-03 18:54:54 +02:00
Jason
e39159134f
Update paperweight to 1.1.12 (#6653) 2021-10-02 18:42:30 -07:00
Jason
bde7b98762
Make legacyRenderer a ViewerUnaware renderer (#6691) 2021-10-02 11:43:03 -07:00
Jake Potrebic
cc38c16e75
Updated Upstream (Bukkit/CraftBukkit) (#6638) 2021-10-02 10:21:49 -07:00
sulu5890
e8830b27e3
Revert "Readd root/admin user detection (#6593)" (#6699)
This reverts commit 45c4f90259.
2021-10-02 17:09:50 +02:00
Noah van der Aa
45c4f90259
Readd root/admin user detection (#6593)
* Readd root/admin user detection

* Use original test for Windows, use UID for unix and add co-author

* Move logging and remove unnecessary reader

* try with resources

* Use Windows security identifiers + reduce size of Unix check

* Remove extra newline at the bottom of the message

* Change wording

* Address comments

* Link to Maddy's article

* Use warning log level
2021-10-02 19:34:07 +10:00
Jake Potrebic
f905057070
Prevent unintended light block manipulation (#6601) 2021-10-01 13:07:59 +02:00
thamid-gamer
ebfd70b289
Use null for null resource pack prompts (#6572) 2021-09-30 17:56:22 -07:00
Owen1212055
4a27a4a4d9
Update head rotation in missing places (#5481) 2021-09-30 17:50:00 -07:00
thamid-gamer
00322368c5
Make Levels Use Correct Spawn Settings (#6419) 2021-09-30 17:46:37 -07:00
Lexi
6703c13a8a
Preserve overstacked loot (#5943) 2021-09-30 17:39:17 -07:00
Jake Potrebic
425edfa5d7
More CommandBlock API (#5746) 2021-09-30 14:28:02 -07:00
Jason
3b2b835240
Fix click event when vanilla scoreboard name coloring is enabled (#6652) 2021-09-30 11:33:19 -07:00
Jake Potrebic
fce79051cc
Option to prevent NBT copy in smithing recipes (#6671) 2021-09-30 11:27:25 -07:00
Jason
8ee9bdd6ff
Fix stacktrace deobf where thrownProxy got initialized before rewriting (#6684) 2021-09-30 11:05:51 -07:00
booky10
2b404b0cfa
Fix nullability on Block#breakNaturally (#6651) 2021-09-30 10:42:44 -07:00
Jason
ce1e7e810a
Fix jline relocation (#6677) 2021-09-29 09:34:16 -07:00
Nassim Jahnke
3e3cea1a76
Ensure valid vehicle status (#6673) 2021-09-28 10:24:25 +02:00
Jake Potrebic
6de48dbdda
Fix player death kept items not being in same slot (#6663) 2021-09-25 12:06:37 -07:00
Gaider10
d0a2193d4a
Fix interaction pos in range check (#6654) 2021-09-24 10:02:14 +02:00
Kezz
397349e0aa
Adventure 4.9.1 (#6634)
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2021-09-23 14:07:44 -07:00
Jake Potrebic
1707c10395
fixes cancelling PlayerTradeEvent (#5612) 2021-09-22 21:10:35 -07:00
Jake Potrebic
f4f5a76e2a
Fix anvil inventory events (#6157) 2021-09-22 15:52:43 -07:00
Bjarne Koll
9460497d71
Apply furnace cook speed multiplier through event (#6378)
Previously the upstream FurnaceStartSmeltEvent would default to the
recipes cooking time, ignoring any modifications from the furnace speed
multiplier.
While this works correctly for upstream, paper introduces the speed
multiplier API, which allows a different cook time from the one provided
by the recipe.

This commit now passes the modified cooktime to the furnace start smelt
event explicitly, instead of allowing the event to default to the
recipes cooking time, thus ensuring that the speed modifier is
respected.

Resolves: #6376
2021-09-22 12:46:15 -07:00
Jake Potrebic
caa4780282
Add more component name methods (#6578) 2021-09-22 11:34:40 -07:00
Jake Potrebic
7ac51f9c15
Include slot when constructing the bukkit Attribute Modifiers (#6537) 2021-09-22 10:48:03 -07:00
Jake Potrebic
655cd8f638
Fix upstreams fix for composters and variable hoppers (#6563) 2021-09-22 10:40:45 -07:00
Nassim Jahnke
aad7d376a8
Fix axolotl/fish persistence
Fixes #6643
2021-09-22 13:40:13 +02:00
Jake Potrebic
9087993feb
Mark fish and axolotls from buckets as persistent (#6392) 2021-09-21 21:59:19 -07:00
Maddy Miller
f75636b55f
[ci skip] Update my name in author field (#6625) 2021-09-20 19:30:04 +10:00
cs8425
0680f4f448
fix per-player-mob-spawns cause total limit cap by Bukkit's spawn limit (#6574) 2021-09-16 17:40:34 -07:00
Jason
ce7516d853
Fix global limit display for MISC mob category (#6612) 2021-09-16 14:40:11 -07:00
PureGero
3069eaee04
Fix tick rates map being stored with upper case values instead of lower case (#6587) 2021-09-15 17:03:09 +10:00
Jason
89c648bcd7
Fix log message formatting when classes not owned by plugins use sysout (#6604) 2021-09-14 10:23:56 -07:00
Noah van der Aa
79e52a51bd
Don't log if debug logging isn't enabled. (#6603) 2021-09-14 16:44:06 +02:00
Nassim Jahnke
7a59345eb7
Hide feature seeds in Timings 2021-09-14 15:31:45 +02:00
Nassim Jahnke
810d200bb4
Improve interact distance check (#6591) 2021-09-11 22:18:44 +02:00
Nassim Jahnke
06db5d08b0
Updated Upstream (Bukkit/CraftBukkit) (#6589)
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:
44cfe143 SPIGOT-6249: Add Missing Effect Constants

CraftBukkit Changes:
14928261 SPIGOT-6249: Add Missing Effect Constants
332335e1 SPIGOT-6731: "Nag author" message in CraftServer lists one author only
6cd975d0 SPIGOT-5732, SPIGOT-6387: Overhaul Hanging entities
2021-09-11 19:27:48 +02:00
Finn Künstner
d060913a61
[ci skip] Fix typos in Paper comments (#6588)
* //Paper -> // Paper

* // Tuiniy -> // Paper
2021-09-11 12:22:51 +02:00
Jason
8a2b23a6a4
Remove method rename and fix reobf for Goal#getFlags (#6528) 2021-09-09 10:12:22 -07:00
Jason
1b383d7e9b
Fix VanillaGoals when in reobfuscated environment (#6580) 2021-09-09 09:57:16 -07:00
Spottedleaf
c3d50184eb Do not create nether portals that delete undestroyable blocks
Fixes https://github.com/PaperMC/Paper/issues/5773
2021-09-07 15:10:48 -07:00
Shane Freeder
295703efb6 Fixup enderpearl patch 2021-09-07 22:33:28 +01:00
Shane Freeder
310c718ed5 Fix CocaoDecorator causing a crash during generation (Fixes #6028) 2021-09-07 21:41:54 +01:00
Omer Uddin
04324c58b2 Disable enderpearls when they hit non-ticking chunk if disableEnderpearlExploit is enabled 2021-09-07 21:21:31 +01:00
Nassim Jahnke
5960af9d87
Updated Upstream (Bukkit/CraftBukkit) (#6568)
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:
7da4c0be SPIGOT-6729: Add Chunk.isEntitiesLoaded()

CraftBukkit Changes:
9217b523 #929: Call EntityBlockFormEvent for Wither Rose placed by dead entity
757d42ae SPIGOT-6729: Add Chunk.isEntitiesLoaded()
2021-09-06 11:26:47 +02:00
Jason
910a1ff9f7
Add '/paper mobcaps' and '/paper playermobcaps' commands (#6470)
Add commands to get the mobcaps for a world, as well as the mobcaps for
each player when per-player mob spawning is enabled.

Also has a hover text on each mob category listing what entity types are
in said category
2021-09-05 14:29:02 -07:00
Nassim Jahnke
6fa1983e9c
Use BlockPost#atY in end portal softlock fix 2021-09-03 20:14:29 +02:00
Noah van der Aa
3562558d62
Prevent softlocked end exit portal generation (#6525) 2021-09-03 20:05:01 +02:00
Nassim Jahnke
cc6fd371b2
Remove "Auto fix bad Y levels on player login" patch
Fixes #6357
Closes #6508
Closes #6358
2021-09-03 19:57:21 +02:00
Jake Potrebic
5c7da5536b
Prevent an infinite recursion error while rendering translatables (Fixes #6551) (#6555) 2021-09-03 18:01:05 +01:00
Shane Freeder
f6a1cb21c5 Do not process entity loads in CraftChunk#getEntities (Fixes #6543)
This re-introduces the issue behind #5872 but fixes #6543
The logic here is generally flawed however somewhat of a nuance,
upstream uses managedBlock which is basically needed to process
the posted entity adds, but, has the side-effect of processing any
chunk loads which has the naunce of stacking up and either causing a
massive performance hit, or can potentially lead the server to crash.

This issue is particularly noticable on paper due to the cumulative efforts
to drastically improve chunk loading speeds which means that there is much more
of a chance that we're about to eat a dirtload of chunk load callbacks, thus
making this issue much more of an issue
2021-09-03 15:55:22 +01:00
Spottedleaf
1276bd5039
Fixed layers from V2550 not being added to list (#6541)
Note from Spottedleaf:
Please note that this doesn't fix any problems using dataconverter
because dataconverter does not re-route world gen settings conversion.

Co-authored-by: Callum Seabrook <callum.seabrook@prevarinite.com>
2021-09-01 21:25:25 +00:00
Jake Potrebic
f02d3d8989
flattener should try to render custom translations (#6540) 2021-09-01 21:03:00 +00:00
Nassim Jahnke
ca708a0944
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6539)
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:
ed7bba95 SPIGOT-6547: Chunk#getEntities() doesn't return all entities immediately after chunk load
d99a585c SPIGOT-6719: Add getTileEntities() to LimitedRegion

CraftBukkit Changes:
422cec08 Rebuild patch
15f27fc7 SPIGOT-6547: Chunk#getEntities() doesn't return all entities immediately after chunk load
cbd747af SPIGOT-6719: Add getTileEntities() to LimitedRegion

Spigot Changes:
6c1c1b26 Rebuild patches
2021-09-01 14:03:36 +02:00
Nassim Jahnke
7bd7b18811
Configurable feature seeds (#6531)
Co-authored-by: Thonk 30448663+ExcessiveAmountsOfZombies@users.noreply.github.com

Also includes an option to auto-generate random seeds for all features and add them to the config.
2021-09-01 09:54:41 +00:00
Spottedleaf
a615186502
Remove the old updatingChunks and visibleChunks fields (#6535)
Just in case they cause problems again.

Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2021-08-31 19:33:14 -07:00
Jason
2973e1c56e
Always use updatingChunks for saveAllChunks (#6534) 2021-09-01 00:53:56 +00:00
Jason
14be4180f6
Use updatingChunks for flush saving (#6533) 2021-08-31 17:23:22 -07:00
Nassim Jahnke
2cd4bcfba1
Fix distance map contains (#6530) 2021-08-31 12:47:00 +00:00
Spottedleaf
7d10cdea03
Merge tuinity (#6413)
This PR contains all of Tuinity's patches. Very notable ones are:

- Highly optimised collisions
- Optimised entity lookups by bounding box (Mojang made regressions in 1.17, this brings it back to 1.16)
- Starlight https://github.com/PaperMC/Starlight
- Rewritten dataconverter system https://github.com/PaperMC/DataConverter
- Random block ticking optimisation (wrongly dropped from Paper 1.17)
- Chunk ticking optimisations
- Anything else I've forgotten in the 60 or so patches

If you are a previous Tuinity user, your config will not migrate. You must do it yourself. The config options have simply been moved into paper.yml, so it will be an easy migration. However, please note that the chunk loading options in tuinity.yml are NOT compatible with the options in paper.yml. 

* Port tuinity, initial patchset

* Update gradle to 7.2

jmp said it fixes rebuildpatches not working for me. it fucking better

* Completely clean apply

* Remove tuinity config, add per player api patch

* Remove paper reobf mappings patch

* Properly update gradlew

* Force clean rebuild

* Mark fixups

Comments and ATs still need to be done

* grep -r "Tuinity"

* Fixup

* Ensure gameprofile lastaccess is written only under the state lock

* update URL for dataconverter

* Only clean rebuild tuinity patches

might fix merge conflicts

* Use UTF-8 for gradlew

* Clean rb patches again

* Convert block ids used as item ids

Neither the converters of pre 1.13 nor DFU handled these cases,
as by the time they were written the game at the time didn't
consider these ids valid - they would be air. Because of this,
some worlds have logspam since only DataConverter (not DFU or
legacy converters) will warn when an invalid id has been
seen.

While quite a few do need to now be considered as air, quite a lot
do not. So it makes sense to add conversion for these items, instead
of simply suppressing or ignoring the logs. I've now added id -> string conversion
for all block ids that could be used as items that existed in the game
before 1.7.10 (I have no interest in tracking down the
exact version block ids stopped working) that were on
https://minecraft-ids.grahamedgecombe.com/

Items that did not directly convert to new items will
be instead converted to air: stems, wheat crops, piston head,
tripwire wire block

* Fix LightPopulated parsing in V1466

The DFU code was checking if the number existed, not if it
didn't exist. I misread the original code.

* Always parse protochunk light sources unless it is marked as non-lit

Chunks not marked as lit will always go through the light engine,
so they should always have their block sources parsed.

* Update custom names to JSON for players

Missed this fix from CB, as it was inside
the DataFixers class.

I decided to double check all of the CB changes again:

DataFixers.java was the only area I missed, as I had inspected all
datafixer diffs and implemented them all into DataConverter. I also
checked Bootstrap.java again, and re-evaluated their changes. I had
previously done this, but determined that they were all bad.

The changes to make standing_sign block map to oak_sign block in
V1450 is bad, because that's not the item id V1450 accepts. Only
in 1.14 did oak_sign even exist, and as expected there is a converter
to rename all existing sign items/blocks.

The fix to register the portal block under id 1440 is useless, as
the flattenning logic will default to the lowest registered id - which
is the exact blockstate that CB registers into 1440. So it just
doesn't do anything.

The extra item ids in the id -> string converter are already added,
but I found this from EMC originally.

The change for the spawn egg id 23 -> Arrow is just wrong,
that id DOES correspond to TippedArrow, NOT Arrow. As
expected, the spawn egg already has a dedicated mapping for
Arrow, which is id 10 - which was Arrow's entity id.

I also ported a fix for the cooked_fished id update. This doesn't
really matter since there is already a dataconverter to fix this,
but the game didn't accept cooked_fished at the time. So I see
no harm.

* Review all converters and walkers

- Refactor V99 to have helper methods for defining entity/tile
  entity types
- Automatically namespace all ids that should be namespaced.
  While vanilla never saved non-namespaced data for things that
  are namespaced, plugins/users might have.
- Synchronised the identity ensure map in HelperBlockFlatteningV1450
- Code style consistency
- Add missing log warning in V102 for ITEM_NAME type conversion
- Use getBoolean instead of getByte
- Use ConverterAbstractEntityRename for V143 TippedArrow -> Arrow
  rename, as it will affect ENTITY_NAME type
- Always set isVillager to false in V502 for Zombie
- Register V808's converter under subversion 1 like DFU
- Register a breakpoint for V1.17.1. In the future, all final
  versions of major releases will have a breakpoint so that
  the work required to determine if a converter needs a breakpoint
  is minimal
- Validate that a dataconverter is only registered for a version
  that is registered
- ConverterFlattenTileEntity is actually ConverterFlattenEntity
  It even registered the converters under TILE_ENTITY, instead of
  ENTITY.
- Fix id comparison in V1492 STRUCTURE_FEATURE renamer
- Use ConverterAbstractStatsRename for V1510 stats renamer
  At the time I had written that class, the abstract renamer didn't
  exist.
- Ensure OwnerUUID is at least set to empty string in
  V1904 if the ocelot is converted to a cat (this is
  likely so that it retains a collar)
- Use generic read/write for Records in V1946
  Records is actually a list, not a map. So reading map was
  invalid.

* Always set light to zero when propagating decrease

This fixes an almost infinite loop where light values
would be spam queued on a very small subset on blocks.

This also likely fixes the memory issues people were
seeing.

* re-organize patches

* Apply and fix conflicts

* Revert some patches

getChunkAt retains chunks so that plugins don't spam loads
revert mc-4 fix will remain unless issues pop up

* Shuffle iterated chunks if per player is not enabled

Can help with some mob spawning stacking up at locations

* Make per player default, migrate all configs

* Adjust comments in fixups

* Rework config for player chunk loader

Old config is not compatible. Move all configs to be
under `settings` in paper.yml

The player chunk loader has been modified to
less aggressively load chunks, but to send
chunks at higher rates compared to tuinity. There are
new config entries to tune this behavior.

* Add back old constructor to CompressionEncoder/Decoder (fixes
 Tuinity #358)

* Raise chunk loading default limits

* Reduce worldgen thread workers for lower core count cpus

* Raise limits for chunk loading config

Also place it under `chunk-loading`

* Disable max chunk send rate by default

* Fix conflicts and rebuild patches

* Drop default send rate again

Appears to be still causing problems for no known reason

* Raise chunk send limits to 100 per player

While a low limit fixes ping issues for some people, most people
do not suffer from this issue and thus should not suffer from
an extremely slow load-in rate.

* Rebase part 1

Autosquash the fixups

* Move not implemented up

* Fixup mc-dev fixes

Missed this one

* Rebase per player viewdistance api into the original api patch

* Remove old light engine patch part 1

The prioritisation must be kept from it, so that part
has been rebased into the priority patch.
Part 2 will deal with rebasing all of the patches _after_

* Rebase remaining patches for old light patch removal

* Remove other mid tick patch

* Remove Optimize-PlayerChunkMap-memory-use-for-visibleChunks.patch

Replaced by `Do not copy visible chunks`

* Revert AT for Vec3i setX/Y/Z

The class is immutable. set should not be exposed

* Remove old IntegerUtil class

* Replace old CraftChunk#getEntities patch

* Remove import for SWMRNibbleArray in ChunkAccess

* Finished merge checklist

* Remove ensureTickThread impl in urgency patch

Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2021-08-31 04:02:11 -07:00
Jason
6e9f38ea91
[ci skip] Cleanup Timings v2 diff (#6523) 2021-08-30 00:02:24 -07:00
Jason
cf27619809
Log error for invalid entity-per-chunk-save-limit configs (#6522) 2021-08-29 21:19:43 -07:00
Nassim Jahnke
be269d1cf0
Move ProtoWorld methods to LimitedRegion (#6486) 2021-08-28 13:43:26 +00:00
Jason
411a5eed18
Fix and optimize legacy world conversion (#6473)
CraftBukkit breaks legacy world conversion in three ways:
- Writes userdata to the path of the userdata folder rather than to
  the correct file inside the aforementioned folder. This causes the
  userdata folder to fail to be created as a file already exists at
  its path.
- Makes changes to how multiworld works, without modifying
  McRegionUpgrader to be aware of these changes.
- Calls methods on Bukkit before the server is initialized.

This patch fixes all of these issues, and also threads the
McRegionUpgrader to improve performance.
2021-08-27 22:07:12 -07:00
Spottedleaf
1c4f87a258
Ensure priority updates are determined by current level, not deferred level (#6507)
* Ensure priority updates are determined by current level, not deferred level

Deferral could cause an infinite loop to occur.

Also, re-add the light engine priority logic.

* Rebase

Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2021-08-27 19:20:31 -07:00
Owen1212055
159112ef41
Add Missing Entity API: Cat (#5744) 2021-08-27 18:16:41 +00:00
Nassim Jahnke
f44d237de9
Updated Upstream (CraftBukkit) (#6504)
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:
5be41fb8 SPIGOT-6720: Fix bed explosion checks
09b99daf SPIGOT-6722: Close entity manager when unloading world
3a9561bf SPIGOT-6686: Changes in MaximumRepairCost for Anvil Rename cause inconsistency
2021-08-27 11:51:18 +02:00
Jake Potrebic
8b793ed52c
[ci skip] Remove this file that got created somehow (#6489) 2021-08-26 09:49:32 -07:00
Jason
0205b902c2
[ci skip] Cleanup diff in Async command map building (#6492) 2021-08-26 09:41:22 -07:00
Nassim Jahnke
0a6d320410
Sanitize ResourceLocation error logging (#6495) 2021-08-26 10:25:23 +00:00
Spottedleaf
e763a3dc95
Log when the async catcher is tripped (#6493)
The chunk system can swallow the exception given it's all
built with completablefuture, so ensure it is at least printed.

Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2021-08-25 20:35:35 -07:00
Spottedleaf
ba4cf68774
Readd chunk priority patch, including many chunk system fixes from tuinity (#6488) 2021-08-26 02:16:27 +00:00
Jason
3773df24ce
Vanilla command permission fixes (fixes #6085) (#6490)
Fixes permission checks for vanilla commands which don't have a
requirement, as well as for namespaced vanilla commands.
2021-08-25 15:20:24 -07:00
Jason
b4ef78556c
Use configured no permission message in PaperCommand (#6484) 2021-08-25 13:34:15 -07:00
Nassim Jahnke
789bc79280
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6457)
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:
c9a46ebf #653: Add World#spawn with randomizeData parameter
e49c2e3a Damageable should extend ItemMeta
01ff04f4 SPIGOT-5880, SPIGOT-5567: New ChunkGenerator API
ca5b4b1a SPIGOT-6697: Deprecate generateTree with BlockChangeDelegate as it does not handle tiles

CraftBukkit Changes:
7c8bbcbe SPIGOT-6716: Preserve the order of stored enchantments of enchanted books.
18027d02 #914: Add World#spawn with randomizeData parameter
3cad0316 SPIGOT-6714: Don't fire PlayerBucketEvent when empty
8c6d60cf Fix server crash with BlockPopulator when entities are at a negative chunk border
4f6bcc84 SPIGOT-5880, SPIGOT-5567: New ChunkGenerator API
78d5b35b SPIGOT-6697: Restore generateTree with BlockChangeDelegate behaviour
15792f0d Rebuild patch
c949675e SPIGOT-6713: Cancelling EntityTransformEvent Causes Deceased Slimes To Not Despawn
a955f15c Fix issues with new ChunkGenerator API
a0a37f41 SPIGOT-6630: Replacing an enchantment on an item creates a conflict error

Spigot Changes:
b166a49b Rebuild patches
3c1fc60a SPIGOT-6693: Composters only take in one item at custom hopper speeds
2021-08-25 09:59:26 +02:00
Jake Potrebic
61a09c5102
Add BlockBreakBlockEvent (#4989) 2021-08-25 01:42:23 +00:00
Jason
ff3f449b33
Squash "Clear SyncLoadInfo" into "Add debug for sync chunk loads" and add tab completion for the clear argument (#6483) 2021-08-24 16:45:40 -07:00
Jake Potrebic
b74e691256
[ci skip] clean up diff from 1.17 update (#6462) 2021-08-24 23:30:26 +00:00
Pedro
182f56cdd5
Fix bed explosions in custom worlds (#6345) 2021-08-24 20:03:58 +00:00
Jake Potrebic
98fa136099
Fix CB lib relocation (#6454) 2021-08-22 17:22:57 +00:00
Jake Potrebic
b37fbbca3d
Add API to change EnderEye target without other nonsense (#6460) 2021-08-22 15:19:42 +00:00
Jake Potrebic
4b7fa94010
Prevent NPE when removing enchantment with no ItemMeta (#6459) 2021-08-22 15:13:51 +00:00
Jake Potrebic
cf037fbd3e
Better docs for PlayerGameModeChangeEvent (#6461) 2021-08-22 15:10:33 +00:00
Maddy Miller
49c7564283
Fix BlockPistonRetractEvent firing multiple times (#6467) 2021-08-22 23:54:55 +10:00
MiniDigger | Martin
18284cdf66
Fix Mob Goal Leak (#6394) 2021-08-22 14:19:45 +10:00
Octavia Togami
e25557464f
Replace ThreadLocal with ConcurrentHashMap in CommandSourceStack (#6325)
This object is created so often that it likely creates problems with the
ThreadLocalMap because the weak references can't be cleaned up fast
enough. This has manifest as lag seemingly caused by WorldEdit:
https://github.com/EngineHub/WorldEdit/issues/1668
2021-08-22 03:45:40 +00:00
Mariell Hoversholm
2406634ed8
Add timeout & interval to sysout catcher (#6383) 2021-08-21 17:01:42 +02:00
Bjarne Koll
5edda39cc5
Add deepslate as xray engine 2 replacement default (#6362)
Fixes: #6350
2021-08-21 14:34:58 +00:00
Noah van der Aa
0b46fb1e5a
Respect despawn rate in merge check (#6428) 2021-08-21 14:32:07 +00:00
Jake Potrebic
18d1602724
Add API to send game events (#6444) 2021-08-21 14:26:42 +00:00
petersv5
ccbb51078a
Fix entities glitching through blocks pushed by pistons (#6308)
Fixes #5189
2021-08-21 14:15:29 +00:00
Jason
59d449d880
Set AsyncAppender dispatch thread to be a daemon thread (#6424) 2021-08-18 18:47:29 +00:00
Jason
fa184f7429
Setup dev bundle publishing (#6163) 2021-08-17 17:11:04 -05:00
Shane Freeder
f2471d20b4
Do not fire PlayerBucketFillEvent when no fluid (Fixes #4611) 2021-08-17 15:43:01 +01:00
Jake Potrebic
6dfd1d9a71
Fix yaw on player spawn (#6409) 2021-08-16 14:46:25 -07:00
Noah van der Aa
934c694efd
Don't fire entitymovevent for players. (#6402) 2021-08-15 18:37:42 +01:00
Jake Potrebic
72ce684679
Fix possible divide by 0 error with cursor updates (#6398) 2021-08-14 17:44:31 +00:00
Shane Freeder
8d182e8639
Revert "Revert "Remove "Implement-Chunk-Priority-Urgency-System-for-Chunks" (Fixes #5980)""
This reverts commit 622598f1dd.
2021-08-14 15:29:22 +01:00
Shane Freeder
622598f1dd
Revert "Remove "Implement-Chunk-Priority-Urgency-System-for-Chunks" (Fixes #5980)"
This reverts commit aa52bf9e33.
2021-08-14 15:22:21 +01:00
Shane Freeder
aa52bf9e33
Remove "Implement-Chunk-Priority-Urgency-System-for-Chunks" (Fixes #5980)
Mojang made some changes to priorities in 1.17 and it seems that these changes
conflict with the changes made in this patch, which in some cases appears to
cause excessive rescheduling of tasks.

This, however, is not confirmed as such but seems to be the behavior that we're
seeing to cause this issue, if mojang has adopted the changes we suggested,
then a good chunk of this patch may be unneeded, but, this needs a much better
look than I'm currently able to do
2021-08-14 14:55:55 +01:00
Jason
565cd3306c
[ci skip] Add some helper methods to the ObfHelper util class (#6374) 2021-08-14 10:06:17 +00:00
Jason
4dd33cb8b6
[ci skip] Drop "Fix CME on adding a passenger in CreatureSpawnEvent" (#6384)
This is no longer needed as Entity#passengers is an ImmutableList as of 1.17
2021-08-14 03:01:07 -07:00
Jake Potrebic
f12a7f57e1
Clear bucket NBT after dispense (#6391) 2021-08-14 02:51:03 -07:00
Jake Potrebic
c2f47a76ae
Implement Translatable in appropriate places (#6248) 2021-08-13 21:11:12 -07:00
Jason
e9aa9ce66b
Add config migration for named entity death logging option (#6390) 2021-08-13 13:24:25 -07:00
Warrior
591cac3685
Configurable item frame map cursor interval (#6385) 2021-08-13 12:14:44 -07:00
Jake Potrebic
ce43ce8265
Make EntityUnleashEvent cancellable (#4993) 2021-08-13 11:15:43 -07:00
Jake Potrebic
e942509e73
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6379)
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2021-08-13 10:08:34 -07:00
Jason
80836709e7
Fix block drops position losing precision millions of blocks out (#6387) 2021-08-12 21:46:55 -07:00
Andrew Steinborn
370b60de14
Optimize indirect passenger iteration (#6366) 2021-08-12 15:55:41 -07:00
Jason
4d9b14efa4
Use AsyncAppender instead of AsyncLoggerContextSelector to keep loggging IO off main thread (#6381) 2021-08-12 10:55:20 -07:00
Jason Penilla
5c65546f5c rebase 2021-08-11 07:01:11 +02:00
Mariell Hoversholm
415f7ca165 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:
e0598aa2 SPIGOT-6692: Add sendSignChange overload with a hasGlowingText parameter

CraftBukkit Changes:
2cdc6b1e4 SPIGOT-6692: Add sendSignChange overload with a hasGlowingText parameter
2021-08-11 07:01:11 +02:00
Jake Potrebic
80650e8936
Added EntityItemDamageEvent (#4928) 2021-08-10 05:04:44 +00:00
Jason
25cd8aba9f
Config option for Piglins guarding chests (#4829) 2021-08-10 02:13:58 +00:00
Andrew Steinborn
bfb3d42b44
Optimize entity tracker passenger checks (#6361)
When a ServerEntity instance is first constructed, it uses a pre-Java 9 empty collection,
but passengers use Guava ImmutableList. When comparing the two collections via Object#equals
we miss out on an opportunity to reduce the check to little more than a reference equality
check (which is very fast).
2021-08-09 11:36:45 -07:00
Bjarne Koll
b33b63908e
Support complex components in written book builder (#6337)
The previously existing toBuilder method defined on the CraftMetaBook
would, no matter if called on a writable or written book, return a
builder targetting a writable book, in which complex components, such as
hover or click text are not allowed.

The builer hence serializes the page components using LEGACY_UXRC to
ensure only colour may be passed. While this works as intented for
writable books, the builder fails to fully support the complex
components that may be used in a written book.

This commit implemements a child class of the CraftMetaBookBuilder, the
CraftMetaBookSignedBuilder, which builds to a CraftMetaBookSigned
instance and hence serializes the pages to json.
This builder instance is automatically supplied when calling toBuilder
on a CraftMetaBookSigned instance.

Resolves: #6296
2021-08-08 15:57:20 -07:00
Jake Potrebic
f261419fd5
clone itemstack to return remaining stack (#6353) 2021-08-06 23:55:16 -07:00
Jake Potrebic
4a2f53c6e8
Add missing DamageCause for EntityDamageByBlockEvent (#6352) 2021-08-07 06:03:50 +00:00
Jake Potrebic
a178fb895e
Make hoppers respect inventory max stack size (#4838) 2021-08-07 00:35:42 +00:00
Kacper Płażewski
9b4a46f704
[ci skip] add vs code files to .gitignore (#5663) 2021-08-07 00:27:45 +00:00
Jake Potrebic
00028d57cf
call EntityDamageByBlockEvent for campfires (#6244) 2021-08-07 00:20:39 +00:00
Jake Potrebic
23e3a0ccb6
Add PlayerSetSpawnEvent (#5690) 2021-08-06 20:37:38 +00:00
thamid-gamer
9a125eecb8
Fix Incorrectly Typed Goals (#6200) 2021-08-06 17:05:53 +00:00
Noah van der Aa
c815948b6d
Fix ITEM_DROPPED stat not working properly (#6331) 2021-08-06 16:46:25 +00:00
Shane Freeder
f521a18a17
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:
75a0ee4f SPIGOT-6691: Material.LAVA_CAULDRON is not Levelled

CraftBukkit Changes:
e1c96e50 SPIGOT-6682: Blocking with shield not reset after die
97f629b6 SPIGOT-6220: Structures in the world with custom generator not work
85379258 Increase outdated build delay
f7f8dce4 SPIGOT-6552: Some inventory types reset cursor on switch
2021-08-04 16:26:56 +01:00
Prof-Bloodstone
d239eca9dd
Fix writing server.properties with wrong encoding (#6322)
Fixes #6321
2021-08-04 00:48:15 -07:00
Shane Freeder
6226208d64
Fix SysoutCatcher when plugins log before initialisation (Fixes #6323) 2021-08-04 04:04:12 +01:00
Mariell Hoversholm
9a74e70cc0
fix: boats' bounding boxes must be deflated, not inflated (#6314)
Fixes GH-6312.

Signed-off-by: Mariell Hoversholm <proximyst@proximyst.com>
2021-08-03 12:13:43 +02:00
Emilia Dreamer
aec9781f52
Fix incorrect colors in ConsoleCommandSender messages with TranslatableComponents (#6287) 2021-08-03 07:48:34 +00:00
Prof-Bloodstone
0fc6213f9c
Allow skipping writing of comments to server.properties (#6251)
Makes less git noise, as it won't update the date every single time

Use -DPaper.skipServerPropertiesComments=true flag to disable writing it
2021-08-03 00:35:02 -07:00
Noah van der Aa
6e7f9aafd6
Prevent AFK kick while watching end credits (#6239). (#6265) 2021-08-02 08:43:56 +00:00
Hannes Greule
0e978ea45e
Rewrite LogEvents to contain information about the source jar of stacktrace elements (#6142) 2021-08-02 10:32:53 +02:00
Nassim Jahnke
8c28a33d4e
Don't not shuffle visible chunks (#6283) 2021-08-02 10:00:31 +02:00
Underscore11
ed1dc272e6
Add System.out.println catcher (#6278) 2021-08-02 07:07:48 +00:00
Shane Freeder
6855505490
Fix some inconsistency issues with empty map items (#6304) 2021-08-01 16:55:25 +01:00
Shane Freeder
8bebf48495
Mark sensor and behavior timings as verbose 2021-08-01 10:22:55 +01:00
PaulBGD
81a7559b41
Correct handling of invalid maps (#6302) 2021-07-31 22:47:01 +02:00
Nassim Jahnke
7a5025d461
Fix closeInventory shenanigans (#6292) 2021-07-30 11:37:11 +02:00
Owen1212055
a67959e131
Add bee stinger API (#5962) 2021-07-29 00:36:53 +00:00
Nassim Jahnke
0e230a1bee
Updated Upstream (CraftBukkit) (#6279)
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:
6788550f SPIGOT-6678: ChunkSnapshot#isSectionEmpty() not working as intended.
3ad0fb1c #901: Fix PlayerStatisticIncrementEvent spam
2021-07-28 09:39:14 +02:00
Jason
b32a3b147c
Call EntityKnockbackByEntityEvent for RamTarget Behavior (#6273) 2021-07-26 18:41:26 +02:00
MeFisto94
efd7e5182c
Move "use-display-name-in-quit-message" to settings namespace (#6257) 2021-07-25 23:11:44 +00:00
Max Lee
2f1f1b7f0c
Add config option to specify timings url (#6256) 2021-07-25 07:10:30 +00:00
TwoLeggedCat
e905eb1986
Add fireball to default max load config (#6252) 2021-07-25 07:00:54 +00:00
Max Lee
9b0a0d896c
Add the default tick rate of the sensor to the timings (#6242) 2021-07-25 06:50:36 +00:00
Jake Potrebic
9b828509cd
Updated Upstream (CraftBukkit) (#6260) 2021-07-24 03:33:05 +01:00
Jake Potrebic
b173db6231
Fix flat bedrock (#6255) 2021-07-23 14:18:10 -07:00
Jake Potrebic
170382fe35
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6245)
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:
e7b0f8d6 #642: Add Crafting methods to API
9e58831e SPIGOT-6641: Use varargs in sendMessage
e409fe49 SPIGOT-6545: Unable to set Guardian target via API while awareness is disabled
6997c726 SPIGOT-6661: Fix missing radius from GenericGameEvent
02d03f35 SPIGOT-6369: Add ItemStack to HangingPlaceEvent

CraftBukkit Changes:
0abf420c SPIGOT-6665: Shearing a Snowman does not drop a carved pumpkin
e8e3cbcc #893: Add Crafting methods to API
879acfee Fix missing varargs from previous commit
6572b9c3 SPIGOT-6641: Use varargs in sendMessage
9e06bb2a SPIGOT-6663: Chicken Jockeys chickens don't despawn
699f2d36 SPIGOT-6545: Unable to set Guardian target via API while awareness is disabled
8ffa54ba SPIGOT-6369: Add ItemStack to HangingPlaceEvent
c851639c SPIGOT-6645: Call EntityChangeBlockEvent before PlayerHarvestBlockEvent
8d244b0b SPIGOT-3725, SPIGOT-6638, MC-136917: Properly clear tile entities before replacing

Spigot Changes:
18c71bf4 Rebuild patches
2021-07-22 18:11:56 +00:00
Jake Potrebic
3801a3951c
Add ItemRarity test (#6247) 2021-07-22 06:48:24 +02:00
Jake Potrebic
2961b2adab
Fix various mob drops being captured as death drops (#5675) 2021-07-22 02:58:24 +00:00
Jake Potrebic
b854e7e802
Drop unneeded patch (#6240) 2021-07-21 18:18:54 +00:00
Nassim Jahnke
2780e94901
Fix PaperTickList (#6241)
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2021-07-21 19:12:24 +02:00
Jason
44516b1d8a
[ci skip] Put mappings util in a separate class to the stacktrace deobfuscator (#6230) 2021-07-19 19:22:18 -07:00
Kyle Wood
f25facb302
Update email & name (DenWav)
Also I think I prefer my few tiny patches to be GPL.
2021-07-19 21:07:53 -05:00
zml
c225bf97d6
Fix book title and author being improperly serialized as components (#6190)
They are kept as plain strings
Additional validation has been added to prevent invalid books from being
sent to the client.
2021-07-19 23:11:06 +00:00
Nassim Jahnke
c75a8378a2
Don't expose ASM in API (#6229)
ASM was not meant to exposed to API consumers in the first place, and for the duration of time it has been exposed, it has also been relocated.

Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
2021-07-19 22:58:48 +00:00
Nassim Jahnke
fc478727d5
Use mapped names for sensor and behavior timings/config (#6228) 2021-07-19 11:07:49 +00:00
Max Lee
12942dc94b
Add rate options and timings for sensors and behaviors (#6027) 2021-07-19 11:47:33 +02:00
Max Lee
d6c81c8189
Don't apply cramming damage to players (#5903) 2021-07-19 09:31:03 +00:00
thamid-gamer
b79bc31d30
Fix MerchantOffer BuyB Only AssertionError (#6206) 2021-07-19 09:16:53 +00:00
Jason
bc127ea819
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6222)
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:
eec4aab0 SPIGOT-6657: Add getPlayer to SheepDyeWoolEvent
205213c6 SPIGOT-6656: CauldronLevelChangeEvent is not fired correctly when dripstone fills the cauldron

CraftBukkit Changes:
b8c522d5 SPIGOT-6657: Add getPlayer to SheepDyeWoolEvent
f04a77dc SPIGOT-6656: CauldronLevelChangeEvent is not fired correctly when dripstone fills the cauldron
d1dbcebc SPIGOT-6653: Canceling snow bucket placement removes snow from bucket
4f34a67b #891: Fix scheduler task ID overflow and duplication issues

Spigot Changes:
d03d7f12 BUILDTOOLS-604: Rebuild patches
2021-07-18 09:41:53 +02:00
Nassim Jahnke
8f949511b8
Revert "Fix PaperTickList" (#6216)
This commit reverts a5acf367a3
2021-07-17 21:57:00 +02:00
Nassim Jahnke
b1cdc1274c
Fix block action handling (#6213) 2021-07-17 12:46:46 +00:00
Jake Potrebic
7f89e96357
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6209) 2021-07-17 02:48:27 +01:00
Jake Potrebic
a5acf367a3
Fix PaperTickList (#6191) 2021-07-16 09:18:04 -07:00
Jake Potrebic
5a9c14bace
Fix distanceSq check on block breaking (#6195) 2021-07-16 03:01:48 +00:00
Jake Potrebic
b41b5b5c7e
Catch desynced block breaks (#6193) 2021-07-15 23:00:58 +00:00
Jake Potrebic
2e3797945c
Use cause and cancel component in PlayerGameModeChanteEvent (#6192) 2021-07-15 21:44:59 +00:00
LemonCaramel
377a60db07
Fix Stonecutter #6180 issue (#6181) 2021-07-14 08:37:22 -07:00
sulu5890
990f7daeb7
Fix incorrect message for outdated clients (#6160) 2021-07-14 02:49:38 +00:00
Shane Freeder
664eee6e13
Expand resource pack API 2021-07-12 20:42:17 +01:00
Jason
40b34615b0
[ci skip] Use commit timestamp instead of build time in manifest (#6161) 2021-07-12 06:24:48 +00:00
Jake Potrebic
70ea1b2e2b
Fix command signs (#6139) 2021-07-11 18:06:49 +00:00
Jake Potrebic
55d5c1650f
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#6149)
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:
17c35d6e SPIGOT-6637: Revert "#636: Add FurnaceStartSmeltEvent"
4b27230b SPIGOT-6623: Missing API reasons for entity freezing
e1528c85 #636: Add FurnaceStartSmeltEvent

CraftBukkit Changes:
a6292cc3 SPIGOT-6637: Revert "#874: Add FurnaceStartSmeltEvent"
f4066854 SPIGOT-6579: DragonFireBall movement with setDirection jumps around a lot
9add952b SPIGOT-6623: Missing API reasons for entity freezing
2ea359f1 #874: Add FurnaceStartSmeltEvent
be8d625e SPIGOT-5560, SPIGOT-6574, SPIGOT-6632: Remove no longer needed tile entity fix

Spigot Changes:
eac3cd96 Rebuild patches
2021-07-11 09:01:29 +02:00
Jake Potrebic
a4880d832b
Fix NPE from using wrong ProtoChunk ctor (#6147) 2021-07-10 20:17:47 +00:00
Jake Potrebic
d985976b3e
Add config for mobs immune to default effects (#4835) 2021-07-10 04:49:49 +00:00
Jake Potrebic
871f30038e
fixed kick event leave message (#4766) 2021-07-09 19:03:28 +00:00
kennytv
0aa0a1d973 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:
b5d7883a SPIGOT-6634: Override needed method
99561c21 SPIGOT-6624: Explosions do not destroy blocks out of vanilla heights in custom dimensions
2021-07-09 16:20:40 +02:00
Jake Potrebic
d770f71f41
Add PlayerArmSwingEvent (#5353) 2021-07-09 13:56:30 +00:00
Xemorr
23d887b2a6 Swapped out Vec3#distanceTo call with a Vec3#distanceToSqr call to remove calls to Math.sqrt 2021-07-09 15:35:18 +02:00
Jake Potrebic
5ff90b9381
Fix collisions during world generation (#6129) 2021-07-09 03:16:57 -07:00
Jason
20ff0b058c
[ci skip] Add a test plugin (#6133) 2021-07-09 03:04:33 -07:00
Jason
416ec98982
[ci skip] Remove extra newlines at EOF (#6127) 2021-07-08 18:40:24 -07:00
Bjarne Koll
79d7dfbbe5
Ensure shulker bounding box is updated (#6010)
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2021-07-08 18:18:32 -07:00
Jake Potrebic
bb44da8420
Fix cancelling EntityPickupItemEvent for villagers (#6091)
Remove's Billy's fix as upstream implemented a (broken) fix and then fixed their fix
2021-07-07 11:07:38 -07:00
Nassim Jahnke
351a2c38b5
Drop no longer needed patch (#6115) 2021-07-07 19:18:05 +02:00
MD
648f6078d7
Route sign run_command click events through normal chat logic (#6109)
This patch changes sign command logic so that `run_command` click events are routed through the standard chat/command
logic used for inbound chat messages.

This fixes numerous issues related to sign click commands:
  - Signs with a `run_command` value of "/<plugin command>" would fail and show the "Unknown command" warning. This
    prevents usage of commands like `//wand` from WorldEdit in sign click events entirely and requires users to drop
    the leading slash from other plugins' commands. This patch now executes the plugin commands as would be expected,
    adding a leading slash if necessary.
  - Signs with a `run_command` value that doesn't match an existing command could fail silently. This patch causes
    these to *always* show "Unknown command" instead.
  - Plugins listening to `PlayerCommandPreprocessEvent` would not be able to intercept any command executions from
    sign click events. This patch allows plugins to intercept player commands when fired by a click event, in the same
    manner as commands executed by the player typing or clicking on a chat message.
  - Commands executed from signs would not be logged to the console. This patch fixes this.

This patch also prepends a leading slash if the `run_command` value lacks one, which matches vanilla behaviour (old
code would strip this slash away) while also ensuring `PlayerCommandPreprocessEvent#getMessage` remains consistent
with other command executions from chat (which always include the leading slash).
2021-07-07 15:12:58 +00:00
Jason
4aef0354dd
[ci skip] Use Java toolchain for run tasks (#6108) 2021-07-07 06:18:02 -07:00
Malfrador
144e5f7ac6
Add option for logging named entity deaths (#6107) 2021-07-07 06:15:17 -07:00
dfsek
b5be382d00
Add methods to ProtoWorld for working with BlockStates (#5929) 2021-07-07 10:23:16 +00:00
Jason
5059ada8d7
Move log message for named entity deaths into correct location (#6105) 2021-07-07 03:04:34 -07:00
Jason
f8d6cbdfe5
Deobfuscate stacktraces in sync load info (#6103) 2021-07-07 00:19:08 -07:00
Nassim Jahnke
56fd1a2f84
Update to Minecraft 1.17.1 (#6097) 2021-07-07 06:52:40 +00:00
Jake Potrebic
a831634d44
add Optimize Light Engine patch (#5863) 2021-07-06 04:30:39 +00:00
chickeneer
6ea4da4a68
AbstractSkeleton should extend RangedEntity (#6087)
This includes Strays and matches the mojang RangedAttackMob
2021-07-06 03:48:08 +00:00
Jason
cc063e1f09
Fix incorrect variable usage in per-player mob spawning patch (#6077) 2021-07-04 17:30:59 +01:00
Jason
2641b91350
Also deobfuscate secondary stacktraces in crash reports (#6078) 2021-07-04 03:20:11 -07:00
Jason
6fd9275867
Fix Bossbar updating (closes #6061) (#6076) 2021-07-03 16:26:13 -07:00
Jake Potrebic
0ae6dd2659
fix custom beacon ranges (#6067) 2021-07-02 19:51:49 +00:00
PaulBGD
6446e54dd9
Readd "Use getChunkIfLoadedImmediately in places" (#6047)
* Readd "Use getChunkIfLoadedImmediately in places"

* Formatting

* Fix var names
2021-07-02 20:04:29 +01:00
BillyGalbreath
882039d03e
Honor spigot.yml setting log-villager-deaths (#6057)
cat note: giggity.
2021-07-02 04:28:31 +01:00
Shane Freeder
f18dc1e3c7
Fix NPE when completing skull lookups without a real owner (Fixes #6052)
This looks like mojang introduced an NPE however it was previously being
supressed by the future used by the server, we'll just stick to the legacy
behavior of retainining the existing profile of earlier versions
2021-07-01 00:10:28 +01:00
Shane Freeder
3ddc424b89
Backport MC-229191 ore distribution changes 2021-06-30 22:11:40 +01:00
Shane Freeder
2103ad2f81
Fix NPE when using broadcast as players are joining 2021-06-29 22:21:42 +01:00
Shane Freeder
2291667661
[ci skip] patch-ception 2021-06-29 17:39:17 +01:00
Shane Freeder
333cc2e36f
Don't complete skull lookups on main thread (MC-227435) 2021-06-29 17:34:20 +01:00
Jason
1d194e5605
[ci-skip] Fix description of add-plugin command line option (#6031) 2021-06-29 02:09:02 -07:00
stonar96
59371cbd88
Optimize Anti-Xray (#5991) 2021-06-29 02:01:47 -07:00
Jason
47139376c4
Fix return value of Block#applyBoneMeal always being false (#6030) 2021-06-29 01:37:44 +00:00
Shane Freeder
3aae7ef01a
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:
214b9f14 SPIGOT-6605: Add method to access value of enforce-whitelist

CraftBukkit Changes:
b121d3b9 SPIGOT-6605: Add method to access value of enforce-whitelist
2021-06-29 01:31:35 +01:00
Shane Freeder
143f38113e
Fix players not being added to collide rule (Fixes #6024) 2021-06-28 22:16:46 +01:00
Jake Potrebic
e895403a10
Improve horrible CraftChunk#getEntities performance (#5999)
Thanks Spigot, very cool.
2021-06-28 12:53:28 +00:00
Kyle Wood
0ad55267a3
Trim whitspace off of git hash (oops) 2021-06-26 23:51:03 -05:00
Kyle Wood
e72fa4144f
Update task dependency for includeMappings so the new task isn't skipped
The new task fixJarForReobf was added after shadowJar, but since
reobfJar's input is changed in this patch, that new task needs to be
referenced instead of shadowJar.
2021-06-26 22:26:17 -05:00
Kyle Wood
7d6147d2cb
Remove now unneeded patch due to paperweight 1.1.7 2021-06-26 22:22:05 -05:00
Kyle Wood
e33ed8939f
Get short commit ref using a more proper method 2021-06-26 22:15:13 -05:00
Shane Freeder
1c77d64713
Drop codec spam fix (Fixes #5936)
having spoken to mojang about this the general issue is data which shouldn't
have been saved in the first place, so if we lose this data it's not really
an issue, bar being annoying spammy. if the spam gets on your nerves, shamefully,
all you can really do is forceUpgrade to get the conversions of the way.

Dropping as this breaks other aspects of the server and bar being spammy
seems to have no other real negative outcomes
2021-06-26 12:56:06 +01:00
Nassim Jahnke
23214fa1a7
Fix chicken jockey chicken persistence (#6005) 2021-06-26 08:54:24 +00:00
Jake Potrebic
a23eb53e13 Fix use of universe flag and forceUpgrade 2021-06-25 20:51:48 -07:00
Jason
9e07703fb7
Do not cancel chunk load on ticket level change (#5978)
New chunk system doesn't do cancellations anymore.

Co-authored-by: Spottedleaf <spottedleaf@users.noreply.github.com>
2021-06-24 10:12:47 +01:00
Shane Freeder
0be7cdbd17
Allow explosions under 0 height (Fixes #5974)
Upstream forgot to update the check here which prevents explosions
occuring under 0 height, however, vanilla already checks that we
are in bounds of the world above this, so this call is entirely
redundant.
2021-06-24 01:51:48 +01:00
Prof-Bloodstone
d50cc01b08
Make gradle take build number from env vars and add git build info (#5890)
* Make gradle take build number from env vars

* Add git information to manifest and version command/log

* trim

* Fix tests by adding NotNull annotations

* rebase

* Apply suggestions from kashike

Co-authored-by: Riley Park <riley.park@meino.net>

* Not always show branch

* Why can't everything be NotNull by default?

* Rebase

Co-authored-by: Riley Park <riley.park@meino.net>
2021-06-23 17:19:44 +00:00
stonar96
4e2f0be270
Refactor Anti-Xray and make some fixes to it (#5938) 2021-06-23 10:39:02 +02:00
Jake Potrebic
b1f6e2698e
Fix mobs not burning from summon command (#5961) 2021-06-23 10:07:59 +02:00
Jake Potrebic
28aacb44dd
Fix NPE when setting cook multiplier (#5956) 2021-06-22 19:26:03 +00:00
Shane Freeder
3c58c05c8c
Ensure disconnect for book edit is called on main 2021-06-22 20:00:53 +01:00
Jake Potrebic
b59165a2b3
remove calling expensive method (#5955) 2021-06-22 18:52:45 +00:00
Shane Freeder
b60cf52c33
Fix kick event being fired off main thread 2021-06-22 19:35:35 +01:00
Nassim Jahnke
f110140f96
Fix player collision patch cleanup (#5947) 2021-06-22 13:58:20 +00:00
Shane Freeder
a9394b8c1a
Try even harder to get an origin world and avoid NPEs (Fixes #5931) 2021-06-22 11:54:56 +01:00
Owen1212055
aed4433aca
Add more fox API (#5743) 2021-06-22 07:44:02 +00:00
Jason
ae95311131
Expand where stacktraces can be deobfuscated (#5944)
Also load the mappings from the correct location
2021-06-21 21:12:07 -07:00
BillyGalbreath
961b98f9cb
[ci skip] Very important bug fix :O (#5934) 2021-06-21 14:36:53 +00:00
Shane Freeder
47605b8e60
Try to prevent an NPE from origin data (Fixes #5905) 2021-06-21 10:04:18 +01:00
Shane Freeder
984591ce66
Fix early load perms patch (Fixes #5917) 2021-06-21 09:41:00 +01:00
Jason
10e9c5a01c
Deobfuscate stacktraces in log messages using a RewriteAppender and a custom RewritePolicy (#5926)
Also replace a couple calls to `System.err` with logger usages, as traces printed with the former do not get deobfuscated.
2021-06-21 01:09:18 -07:00
Jason
6dfe0496bd
Fix PlayerDropItemEvent using wrong item (#5924)
Co-authored-by: Spottedleaf <spottedleaf@users.noreply.github.com>
2021-06-21 05:12:04 +00:00
lexikiq
4eae2d8da3
Fix "Don't ignore result of PlayerEditBookEvent" (#5923) 2021-06-21 04:29:59 +00:00
Nassim Jahnke
17f71ac87b
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#5904)
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:
70d24eb8 SPIGOT-6587: Update documentation/error of drop chance API

CraftBukkit Changes:
470050ad SPIGOT-6587: Update documentation/error of drop chance API
1c39efa3 Fix Inventory#getViewers on the player inventory not returning the player first time their inventory is opened
d161627d Fix PrepareItemCraftEvent#isRepair
aa1fae73 SPIGOT-6586: EntityChangeBlockEvent for falling block does not cancel properly
8a04072e SPIGOT-6583: Throwing eggs doesn't make sounds

Spigot Changes:
f773da84 Remove redundant patch
cd367234 Rebuild patches
2021-06-20 21:25:59 +02:00
Shane Freeder
33d6b6fbcd
Add invalid player data to misc debug dumps 2021-06-20 15:07:00 +01:00
Spottedleaf
c89ec40619
Fix Codec log spam
Mojang did NOT add dataconverters for world gen configurations
that they CHANGED. So, the codec fails to parse old data.

This fixes two instances:
- IntProvider is new and Mojang did not account for old data.
  Thankfully, only ColumnPlace needed to be special cased.
- TreeConfiguration had changes. Thankfully, they were
  only renames for one value and thankfully defaults could
  be provided for two new values (WITHOUT changing behavior).
2021-06-20 12:59:55 +01:00
Jason
4bf6a631e7
Rename package from io.papermc.paper.world.gen to io.papermc.paper.world.generation (#5894) 2021-06-20 05:02:27 +00:00
dfsek
c4c6e26c00
Worldgen Feature API (#5727) 2021-06-19 21:48:30 -07:00
Riley Park
ce6610254f Fix GS4 querying 2021-06-19 18:27:04 -07:00
KennyTV
ac95f25f35
Fix startup delay and warning caused by oshi 2021-06-19 09:57:56 +02:00
KennyTV
0bf1be0a80
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:
68d40318 SPIGOT-6580: Cancelling SlimeSplitEvent Causes Infinite Loop
78d93f77 SPIGOT-6576: BlockExpEvent does not show XP when breaking a furnace
2021-06-19 09:06:28 +02:00
Jake Potrebic
9f8876e92f add back optimizing ServerLevel chunk checking methods 2021-06-19 08:57:42 +02:00
Jason Penilla
309b99b12f
Save BlockEntities on main for async chunk saves
Closes #5854
2021-06-18 21:38:44 -07:00
Jason Penilla
3c5bfaddbe
Remove chat event APIs marked as deprecated for removal with 1.17 2021-06-18 15:47:40 -07:00
Kyle Wood
dad12b324b
Move package version to server project 2021-06-18 00:25:16 -05:00
Riley Park
4f14647c37
Thanks for joining us for the magic show tonight 2021-06-17 20:39:33 -07:00
djytw
c5070937e4
Fix #5856 Entity origin (#5861) 2021-06-18 04:37:23 +01:00
Riley Park
d76f8e018c
Don't include log4j 2021-06-17 18:42:17 -07:00
Jake Potrebic
c9cdc05ff1
remove more obfhelpers 2021-06-17 15:47:52 -07:00
MiniDigger
30cdf3b8b1 fix build 2021-06-17 22:25:52 +02:00
MiniDigger
13e04200c7 death to more obfhelpers 2021-06-17 22:20:03 +02:00
MiniDigger
272fb20b26 deprecate all obfhelpers 2021-06-17 21:52:26 +02:00
MiniDigger
3cdaf0b8a1 nuke a few more obfhelpers 2021-06-17 21:37:37 +02:00
MiniDigger
4104545b11 remove system property for book size limits
"It was from a different time before books were as jank as they are now. As time has gone on they've only proven to be worse and worse."
2021-06-17 21:12:40 +02:00
MiniDigger
2cbdb174b7 check if sender is a player in paper dumpitem command, closes #5858 2021-06-17 20:13:55 +02:00
Jake Potrebic
86abcdafe1
remove remaining POMs 2021-06-17 10:11:00 -07:00
KennyTV
c943a108a9
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:
2dbec584 SPIGOT-6570: Missing InventoryType: COMPOSTER
e9ce88b9 SPIGOT-6562: Add more specific sculk sensor event

CraftBukkit Changes:
9122f5a6 #869: Fix BossBar setColor and setStyle updates
96a15d7a Incrase outdated build delay
ded19075 SPIGOT-6570: Missing InventoryType: COMPOSTER
d7ef1e91 SPIGOT-6558: Attempt to improve SkullMeta
e7a63287 SPIGOT-6562: Add more specific sculk sensor event

Spigot Changes:
101ebb63 SPIGOT-6573: Berry Bushes deal damage when not moving
2021-06-17 14:50:16 +02:00
Jason Penilla
8236add8cb
Update author on my patches 2021-06-17 02:37:24 -07:00
Jason Penilla
691cdf6f9e
Update incremental chunk saving 2021-06-17 01:37:27 -07:00
Jason Penilla
3353754726
Update Entity load/save limit per chunk 2021-06-16 21:00:32 -07:00
Kyle Wood
9bebf0b6f8
Relocate other libraries Spigot added and relocates in 1.17 2021-06-16 20:56:44 -05:00
Kyle Wood
0cd65441d1
Add a note about deleting pom.xml in first patch 2021-06-16 20:46:15 -05:00
Kyle Wood
b9402f84a9
Minor patch cleanup 2021-06-16 20:43:30 -05:00
Jason Penilla
a26d1aa427
Fix artifact ids 2021-06-16 17:27:10 -07:00
Jake Potrebic
7be3024c75
update to Adventure 4.8.1 2021-06-16 15:57:49 -07:00
Jake Potrebic
cd8f24d472
remove some more obf helpers 2021-06-16 14:22:39 -07:00
KennyTV
080d3d737a
Enable chunk load for feature search by default 2021-06-16 22:42:48 +02:00
Jake Potrebic
a6004d4f7f
fixes issue with chunk saving
fixes #5854
2021-06-16 13:35:10 -07:00
KennyTV
3d81d4e5b2
Fix entity death sounds 2021-06-16 22:17:53 +02:00
Jake Potrebic
8e187cb187
remove optimise random tick patch for now 2021-06-16 13:12:05 -07:00
KennyTV
05623c47ec
Port improve chunk status transition speed 2021-06-16 15:47:07 +02:00
KennyTV
2b3c483a98
Fix custom world height in xray patch 2021-06-16 15:14:19 +02:00
KennyTV
2b8d06aed3
Definitely readd this patch for the first time 2021-06-16 13:07:43 +02:00
KennyTV
9e1255cff9
Port chunk priority urgency patch 2021-06-16 12:32:08 +02:00
Spottedleaf
4b17540b42
Update Asynchronous chunk IO and loading for variable world height limits 2021-06-16 02:18:08 -07:00
Jason Penilla
3740db03b4 Fix comment 2021-06-16 00:33:23 -07:00
Shane Freeder
86953b2641 Modify entity origin API to store world/pos seperatly 2021-06-16 00:33:23 -07:00
Jason Penilla
d8c3fb7e47
Temporarily revert incremental chunk saving patch
Needs updating to hook into new entity storage system
2021-06-16 00:21:41 -07:00
Jason Penilla
9cfc0d5a60
Revert "Re-add Chunk Priority/Urgency System (#5829)"
This reverts commit 24b7da65ee.

Patch was updated incorrectly and needs a closer look.
2021-06-16 00:21:41 -07:00
Jake Potrebic
852ce73590
more patches added back 2021-06-15 23:26:29 -07:00
Jason Penilla
ad2a112c89
Update runDev task for Gradle 7.1 deprecations
also no longer disable watchdog by default, instead require `disableWatchdog` Gradle property to be set
2021-06-15 22:11:13 -07:00
Jake Potrebic
6f064f928e
add more patches back 2021-06-15 21:53:50 -07:00
Jake Potrebic
ea0ec8c5a0
Updated Upstream (Bukkit/CraftBukkit) & more patches
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:
e9ce88b9 SPIGOT-6562: Add more specific sculk sensor event

CraftBukkit Changes:
d7ef1e91 SPIGOT-6558: Attempt to improve SkullMeta
e7a63287 SPIGOT-6562: Add more specific sculk sensor event
2021-06-15 21:12:14 -07:00
Jason Penilla
4d40e87b33
Update sync chunk load debug patch
Had to drop some hunks modifying getEntities, as those methods were rewritten by Mojang in 1.17
2021-06-15 17:50:38 -07:00
Jason Penilla
d50b33f4da
fix StopAttackingIfTargetInvalid behavior 2021-06-15 16:55:13 -07:00
Jake Potrebic
9501e7619f
added remaining hunks from chat/title packets (#5844) 2021-06-15 16:41:38 -07:00
MiniDigger
ba2b40c603 mojang mapped vanilla goals 2021-06-16 01:24:22 +02:00
MiniDigger
f79ab295a5 one missed AT 2021-06-16 00:59:41 +02:00
MiniDigger
08fe6d3c86 Fix a few cases of the vanilla mob goals 2021-06-16 00:47:05 +02:00
MiniDigger
3fb6b93f96 AT bullshit 2021-06-16 00:24:12 +02:00
MiniDigger
90546c7c50 start adding in ATs 2021-06-15 21:44:37 +02:00
KennyTV
7480cf008a
Port Stop-copy-on-write-operations-for-updating-light-dat 2021-06-15 17:43:00 +02:00
KennyTV
eab6d9f533
Changes to xray patch 2021-06-15 16:33:39 +02:00
KennyTV
7267c01db0
Fix ChunkPacketBlockControllerAntiXray initialize 2021-06-15 16:08:48 +02:00
KennyTV
68caddbb73
Port anti x-ray patch 2021-06-15 16:08:47 +02:00
Jason Penilla
e3fea251a6
BlockPos.withinManhattan decomp fix 2021-06-15 06:55:25 -07:00
Jason Penilla
df2247b2ed
Remove sync loading of spawn chunks
Adding the tickets is sufficient
2021-06-15 03:13:30 -07:00
Jason Penilla
8291fff4ac
Updated Upstream (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

CraftBukkit Changes:
f992ce60 Fix duplicate datapack reload on /reload

Spigot Changes:
9472b09d Rebuild patches
2021-06-15 01:38:57 -07:00
Jake Potrebic
3846367c2d
add back optimizing hopper searches (#5839) 2021-06-15 01:29:12 -07:00
Jason Penilla
ebbfe2749b
update Optimize Pathfinder - Remove Streams / Optimized collections 2021-06-15 00:43:03 -07:00
Jason Penilla
f267238e0e
reorder patches after merge 2021-06-14 22:49:09 -07:00
Omer Uddin
b26ba5bc8a
port some patches (#5837) 2021-06-14 22:44:37 -07:00
Jake Potrebic
8755b391fb
Add back stream patch (#5838) 2021-06-14 22:38:36 -07:00
Jason Penilla
a5251b4375
update Fix incorrect status dataconverter for pre 1.13 chunks 2021-06-14 22:12:50 -07:00
Jason Penilla
5a86fba668
final patches from remapped and unmapped
keep in mind many patches in the removed folder still need to be updated
2021-06-14 21:56:30 -07:00
Jason Penilla
f5f80a4aed
fixes 2021-06-14 21:16:18 -07:00
Jason Penilla
f6636fca9e
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:
ebb0e28d #631: Add Villager#shakeHead
751469c6 #629: Add LivingEntity#isClimbing

CraftBukkit Changes:
622cf611 SPIGOT-6555: Cannot access shield BlockStateMeta
8b2e78ec SPIGOT-6542: Fix counting players with fauxSleeping = true
f66c437a SPIGOT-6561: Add events for dripleaf tilting
6ed40004 SPIGOT-6560: Crash when falling stalactite hits player
72a2901b SPIGOT-6557: PlayerEditBookEvent#setNewBookMeta does not update meta
a07e783a #865: Implement Villager#shakeHead
3252ff18 #863: Add LivingEntity#isClimbing
77058c79 SPIGOT-6554: Worlds created with the bukkit ChunkGenerator cannot save
2021-06-14 21:02:21 -07:00
Jason Penilla
7271649af2
patches 2021-06-14 21:02:20 -07:00
Jake Potrebic
d3424f4a8a
tons of patches (#5835) 2021-06-14 22:59:31 -04:00
mechoriet
24b7da65ee
Re-add Chunk Priority/Urgency System (#5829) 2021-06-14 22:41:12 -04:00
Jason Penilla
0c732e2ef5
Put pom in correct location for Paperclip install to maven local feature 2021-06-14 18:56:02 -07:00
Jake Potrebic
09ead8b043 more patches 2021-06-14 23:42:23 +02:00
Jake Potrebic
f777faa8c1 more patches & fixes to existing patches 2021-06-14 21:18:49 +02:00
Jake Potrebic
5dce4d9178 more patches 2021-06-14 21:18:49 +02:00
Jake Potrebic
8cf470d6b1 more patches 2021-06-14 19:02:40 +02:00
Jake Potrebic
18a839d265 fix no grav bee patch for world height changes 2021-06-14 19:02:40 +02:00
Aurora
53081c6e5f
even more compile fixes 2021-06-14 17:17:08 +02:00
Aurora
b87c54f843
fix compile issues 2021-06-14 17:10:25 +02:00
Aurora
21effd6c48
even moar workkkkk 2021-06-14 17:02:03 +02:00
Josh Roy
3721b1466f need to look at this later, fails rn 2021-06-14 06:47:04 -07:00
Josh Roy
cfb17666ff even MOAR progress 2021-06-14 06:45:16 -07:00
Aurora
42091ba5f0 Merge branch 'dev/1.17' of github.com:PaperMC/Paper into dev/1.17 2021-06-14 14:04:57 +02:00
Aurora
8ca5a642ef
more work work work 2021-06-14 14:04:35 +02:00
Jason Penilla
b7cdb5d6c4
fix issue in hopper patch 2021-06-14 03:18:42 -07:00
Aurora
d2cb88db9c Merge branch 'dev/1.17' of github.com:PaperMC/Paper into dev/1.17 2021-06-14 12:13:18 +02:00
Aurora
ba3ce754a9
more work uwu 2021-06-14 12:13:08 +02:00
Jason Penilla
eddf0f40dc
decomp fixes 2021-06-14 02:15:37 -07:00
Jason Penilla
f7bc641230
Add missing getLevel implementation to Hopper Minecart, add mapping to fix reobf 2021-06-14 02:06:46 -07:00
Jake Potrebic
7fe98bd520
more patches (#5827)
* more patches

* even moar patches
2021-06-14 10:37:14 +02:00
Jake Potrebic
405ab6388e add entity debug info patch back 2021-06-14 09:38:41 +02:00
Jake Potrebic
4b2f4cbebb Add back incremental chunk saving patch 2021-06-14 09:30:41 +02:00
Jason Penilla
45c6df9648
patches 2021-06-13 23:45:29 -07:00
Jason Penilla
ba374d2485
reorder 2021-06-13 22:42:29 -07:00
mechoriet
dcbb16316d
ReAdded PreCreatureSpawnEvent from removed (#5814) 2021-06-13 22:40:21 -07:00
Jake Potrebic
9c95d0481d
Re-add xp orb merging patches (#5823) 2021-06-13 22:37:57 -07:00
Jason Penilla
3c02c90f3e
progress 2021-06-13 22:32:56 -07:00
Jason Penilla
d001eefd7e
2 patch 2021-06-13 21:29:40 -07:00
Omer Uddin
961f297963
fix exception (#5822) 2021-06-13 21:29:25 -07:00
Jason Penilla
5e62aca6c9
small fixes 2021-06-13 20:06:11 -07:00
Jason Penilla
3d7b0490c0
reorder patches after merge 2021-06-13 19:43:29 -07:00
Jason Penilla
f67dc7a35b
patches 2021-06-13 19:42:02 -07:00
Omer Uddin
3e552cc54c
work work (#5821) 2021-06-13 19:41:44 -07:00
Jake Potrebic
2a46c72164
EVEN MOOOOOAAAAAAARRRRRRR patches :) (#5820) 2021-06-13 18:06:38 -07:00
MiniDigger
9085da6e60 fix tests 2021-06-14 02:19:51 +02:00
MiniDigger
2372198eb4 use local class for movecontrol stuff to prevent reobf mapping issue 2021-06-14 01:19:51 +02:00
Jake Potrebic
f55b6e04b1 MOAR PATCHES 2021-06-14 00:06:46 +02:00
Jake Potrebic
27a8d6da9a more patches 2021-06-13 21:31:39 +02:00
Professor Bloodstone
7f15d7832f Fix recursive connection call causing StackOverflowException
This was probably caused by the rename sendPacket->send and dispatchPacket->sendPacket
2021-06-13 19:24:06 +02:00
Aurora
8af12b17c1
even more work 2021-06-13 17:17:44 +02:00
Aurora
b804730254
more work 2021-06-13 15:46:28 +02:00