Commit graph

7291 commits

Author SHA1 Message Date
Spottedleaf
1e44e31be7 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 19:48:19 -07:00
Spottedleaf
11bb97e66c 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:23:46 -07:00
Jason Penilla
b9481cae74 Move classes added to net.minecraft.server to paper packages (#8500) 2022-10-24 12:43:46 -07:00
evan
95bd943ca3 Only limit global sounds to same world if limiting radius (#8499) 2022-10-23 13:52:40 -05:00
Jake Potrebic
bac7ba4c5a Updated Upstream (Bukkit/Spigot) (#8445) 2022-10-23 10:41:34 -07:00
Spottedleaf
0aa7d1a07f Mark chunks as saved after saving them
Prevents re-saving them again later.
2022-10-23 09:09:18 -07:00
Owen1212055
646d59a575 Ignore impossible spawn tick (#8493)
Co-authored-by: dannyball710 <dannyball710@gmail.com>
2022-10-23 00:45:07 -04:00
Owen1212055
c1aac9ca35 Don't fire EntityToggleSitEvent on deserialization & reorder some api patches (#8495) 2022-10-22 22:55:28 -04:00
Owen1212055
fc19cbd800 Add Moving Piston API (#7019) 2022-10-22 20:37:37 -04:00
SoSeDiK
e7b3fba8e6 Add EquipmentSlot convenience methods (#8477) 2022-10-23 02:50:12 +03:00
uku
9e743bccff Add config setting for grindstone overstacking (#8156) 2022-10-23 01:25:17 +02:00
vytskalt
201ba4d328 Add fire-tick-delay option (#8037) 2022-10-23 01:57:09 +03:00
IEatBeans
634f212bd5 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 15:20:52 -07:00
thelooter
28e6d9fd86 Add MaterialTags for the different Types of Tools (#8049)
* Add MaterialTags for the different Types of Tools

* Add Netherite Tools Tag
2022-10-22 23:51:34 +02:00
Lukas Alt
6ffb491076 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 20:13:59 +02:00
Lukas Alt
d68e096dd8 fixed entity vehicle collision event not called (#5053) 2022-10-22 19:09:45 +02:00
Noah van der Aa
95e37fca48 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 18:57:21 +02:00
Noah van der Aa
ddc8e1fd7c 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
Pedro
b3694909dc [ci skip] Update workflow dependencies (#8489) 2022-10-22 09:13:05 -03:00
Jason Penilla
13f7207665 Add stacktrace deobfuscation in more places (#8484) 2022-10-18 19:21:07 -07:00
Spottedleaf
03245caed0 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
2f1aaaa85c Fix another case of missing chat headers 2022-10-18 10:20:35 +02:00
Melncat
cd71f3c427 Add LivingEntity knockback API (#8479) 2022-10-18 00:33:58 -07:00
Jakub Žáček
154762a316 Add converted Slot number to PlayerInventorySlotChangeEvent (#8482) 2022-10-18 09:32:22 +02:00
SoSeDiK
50c3dccb29 Add LivingEntity#swingHand(EquipmentSlot) convenience method (#8456) 2022-10-16 14:49:56 +03:00
Jakub Žáček
fc419cfa50 Fix package for PlayerInventorySlotChangeEvent (#8475)
Co-authored-by: Jakub Zacek <dawon@dawon.eu>
2022-10-16 09:49:47 +02:00
19MisterX98
a35758c72d FIx bedrock patterns (#8474) 2022-10-16 00:34:10 +02:00
Lexi
11281d0789 Avoid usages of RecipeChoice#getItemStack() (#8453)
Replaces some internal usages of this method with RecipeChoice#test(ItemStack) and deprecates every other method still utilizing this legacy method.
2022-10-15 15:20:12 -04:00
SoSeDiK
254a07415d Allow changing bed's 'occupied' property (#8458) 2022-10-14 11:37:01 +03:00
Lulu13022002
c0e86f0599 Avoid cycle deprecation (#8466) 2022-10-13 13:52:04 +02:00
Lulu13022002
e827d176c4 Update settings directory path in exceptions (#7968) 2022-10-13 13:38:06 +02:00
SoSeDiK
683149f9a1 Elder Guardian appearance API (#8455) 2022-10-13 13:26:51 +03:00
Shane Freeder
c0e803bfd2 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
c8d979234f Fix a classloading issue in tests (#8459) 2022-10-11 20:05:28 -07:00
Jason Penilla
420e6ac365 Fix stacktrace in server tests 2022-10-11 16:52:49 -07:00
Jakub Žáček
07f0c9755b Add PlayerInventorySlotChangeEvent (#7321) 2022-10-11 23:49:10 +02:00
Owen1212055
e7535118d9 Add missing Entity + Projectile API (#7632) 2022-10-11 17:04:26 -04:00
SoSeDiK
9ff21585db Expose isUnderWater to Entity (#8454) 2022-10-11 15:43:10 +03:00
Jake Potrebic
5afab91756 Add missing structure set seed configs (#8030) 2022-10-09 13:19:35 -07:00
Jake Potrebic
5eb4ada324 Fix configs that relied on outdated min/max y levels (#6986) 2022-10-08 23:52:09 -07:00
Jake Potrebic
68ca16f075 Add Unmodifiable annotations to getDrops methods (#8440) 2022-10-07 11:51:54 -07:00
Warrior
3ef916da77 Exempt players in creative/spectator from nether ceiling damage (#8427) 2022-10-07 20:43:26 +02:00
Jake Potrebic
9e43d68e57 Correctly handle interactions with items on cooldown (#8008) 2022-10-07 08:22:45 -07:00
Jake Potrebic
365d10556b EntityPickupItemEvent fixes (#8096) 2022-10-04 21:38:39 -07:00
Jake Potrebic
6e4207e2d9 Fix custom piglin interest items (#8097) 2022-10-04 20:28:46 -07:00
Nassim Jahnke
bf82a75a52 Remove unnecessary onTrackingStart during nav warning
Closes #8396
2022-10-03 20:50:53 +02:00
Gero
bb41ef89ff Avoid resizing of ArrayList in ChunkMap#getPlayers (#8416) 2022-10-03 19:22:01 +02:00
Nassim Jahnke
ad03c22822 [ci skip] Minor patch cleanup 2022-10-03 19:07:03 +02:00
Friwi
b483d1d056 Fix nothing mlg (#8432) 2022-10-03 18:44:19 +02:00
Nassim Jahnke
0254c46a8b 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