Commit Graph

2079 Commits

Author SHA1 Message Date
Will FP
bd8dd4f684 Fixed CraftItemStack/CraftItemMeta enchantment level inconsistency (#8792)
Co-authored-by: Nassim Jahnke <nassim@njahnke.dev>
2023-08-21 08:31:52 +01:00
Trevor Bedson
d8b5390f81 Fire entity death event for ender dragon (#9495) 2023-08-21 03:06:21 -04:00
Gero
68a69e380c Fix CME in CraftPersistentDataTypeRegistry (#6701) 2023-08-21 06:50:21 +02:00
EpicPlayerA10
77c6859b66 Don't tab-complete namespaced commands if send-namespaced is false (#9366) 2023-08-21 06:50:11 +02:00
galacticwarrior9
e526eafa39 Determine lava and water fluid explosion resistance by their block explosion resistance (#9482) 2023-08-21 05:50:02 +01:00
Gameoholic
42e6758cb4 Fix rotation for spawning display entities (#9552) 2023-08-21 07:49:53 +03:00
EpicPlayerA10
e121a90eef Add option to disable chorus plant and mushroom block updates (#9442) 2023-08-21 06:49:38 +02:00
Md5Lukas
a2846ba80b Fix Inventory#getLocation not working for the composter (#9596) 2023-08-21 06:49:29 +02:00
Jake Potrebic
7e6bdb92a4 Properly handle BlockBreakEvent#isDropItems (#8936)
Setting whether a block break dropped items controlled
far more than just whether blocks dropped, like stat increases
food consumption, turtle egg count decreases, ice to water
conversions and beehive releases
2023-08-20 20:49:20 -07:00
Jake Potrebic
06ee045ab9 Deprecate and replace methods using deprecated StructureType (#8643) 2023-08-20 10:30:45 -07:00
Jake Potrebic
975d0562a7 API for an entity's scoreboard name (#9462)
Was obtainable through different methods, but you had to use different
methods depending on the implementation of Entity you were working with.
2023-08-20 09:06:09 -07:00
Nassim Jahnke
564ba7b184 Fix unknown entity interaction clicked position getter if null 2023-08-19 12:01:06 +10:00
Martijn
a925383693 Count down radius-aware dependency tree node parents (#9600) 2023-08-18 04:02:20 +02:00
Jamie
95371f3cdf Delete patch to fix PaperMC/Paper#9612 (#9621) 2023-08-17 21:51:34 +01:00
Nassim Jahnke
84993c1413 Add clicked position to PlayerUseUnknownEntityEvent (#9604) 2023-08-16 17:58:07 +10:00
Bjarne Koll
f5719c0b4a Don't let player loot if reloot time is disabled (#9615)
If the reloot time is disabled while reloot is restricted, the player
should not be able to reloot. The previous logic was incorrect and
allowed players to reloot explicitly when the reloot time was disabled.
2023-08-16 06:08:00 +02:00
Warrior
49502449bb Fix main thread priority being lowered (#9488) 2023-08-15 19:37:17 +02:00
Jake Potrebic
975444e5d2 Updated Upstream (CraftBukkit/Spigot) (#9598)
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:
b76ceb4f5 PR-1235: Move EntityType return to base Entity class
e795d7490 SPIGOT-7458: Exception when Entity CommandSender executes Vanilla command
46c7fc3b1 SPIGOT-7452: Player#openSign cannot edit
d91e5aa0b SPIGOT-7447: Rewrite --forceUpgrade to minimise diff and properly handle CraftBukkit world layout
921ae06d6 Revert "SPIGOT-7447: Fix --forceUpgrade"

Spigot Changes:
94e187b5 Rebuild patches
3bce7935 SPIGOT-7091: Update bungeecord-chat
2023-08-13 16:32:51 -07:00
Jake Potrebic
224e38a0f6 Account for dimension type in portal void damage check (#9602) 2023-08-13 13:30:48 -07:00
Warrior
93f4d6f535 Fix DEFAULT getEntitySpawnReason for /summon (#9480) 2023-08-13 01:57:13 +02:00
Nacioszeczek
203115c88f SculkCatalyst bloom API (#9466) 2023-08-13 01:31:32 +02:00
Jake Potrebic
2e3118d02a Bandaid fix for Effect (#9548)
Effect or LevelEvent needs to be replaced
but ideally after the enum PR has been merged
upstream. Until then, this test and these fixes
should address all the known issues with them
2023-08-12 15:19:34 -07:00
Noah van der Aa
d96d1cb7dd Fix custom statistic criteria creation (#9595) 2023-08-12 23:50:21 +02:00
Jake Potrebic
3d0d1cb6ae Add restrict-player-reloot-time config (#7652) 2023-08-12 14:26:47 -07:00
montlikadani
4e4417723a Fix players are invisible after using setPlayerProfile (#9143)
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
Co-authored-by: Bjarne Koll <git@lynxplay.dev>
2023-08-12 16:10:09 +02:00
Warrior
b45d8b401b Cache map ids on item frames (#9584) 2023-08-12 15:33:24 +02:00
Warrior
cf16a1eeb4 Make the cursor limit option apply to banners (#9554) 2023-08-10 15:22:40 +02:00
Spottedleaf
7843c4c1f1 Remove UpgradeData neighbour ticks outside of range
The lists are only supposed to contain ticks for the 1 radius
neighbours of the chunk.
2023-08-09 14:05:57 -07:00
Florian Schmidt
c8a5db2f15 Use correct seed on api world load (#9541) 2023-08-09 01:35:15 +02:00
Warrior
31138ad3fc Fix wild wolves not considering bones interesting (#9579) 2023-08-09 01:15:01 +02:00
Jake Potrebic
99edfc5832 Respect randomizeData on more entities when spawning (#9483) 2023-08-08 16:07:59 -07:00
Warrior
2973f71a46 Use correct source for mushroom block spread event (#9587) 2023-08-09 00:51:58 +02:00
Nassim Jahnke
c0bced1fa1 Don't put entities removed during the portal exit event into an invalid state 2023-08-08 17:48:55 +10:00
Nassim Jahnke
75a9ce0e01 Clone location in PlayerFailMoveEvent getters 2023-08-08 13:00:17 +10:00
Moulberry
0832032f2e Add and implement PlayerFailMoveEvent (#9535) 2023-08-08 10:51:09 +08:00
Jake Potrebic
7e8b2f31b7 Only capture actual tree growth (#6464) 2023-08-05 19:33:18 -07:00
Phillipp Glanz
837b14b9c8 Add clickable version on version command (#9347)
Co-authored-by: Yannick Lamprecht <1420893+yannicklamprecht@users.noreply.github.com>
2023-08-06 03:26:13 +02:00
Jake Potrebic
500d964dda API for updating recipes on clients (#6463) 2023-08-05 18:11:22 -07:00
Bjarne Koll
f9c9ac2e65 Only erase allay memory on non-item targets (#9570)
* Only erase allay memory on non-item targets

Spigot incorrectly instanceOf checks the EntityTargetEvent#getTarget
against the internal ItemEntity type and removes the nearest wanted item
memory if said instanceOf check fails, (which is always the case)
causing allays to behave differently as they constantly loose their
target item.

This commit fixes the faulty behaviour by instance performing a check
against the CraftItem type.

* Reduce diff

* fix typo

---------

Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2023-08-06 02:31:10 +02:00
Jake Potrebic
732f98a4bf Updated Upstream (Bukkit/CraftBukkit) (#9485)
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:
82af5dc6 SPIGOT-7396: Add PlayerSignOpenEvent
3f0281ca SPIGOT-7063, PR-763: Add DragonBattle#initiateRespawn with custom EnderCrystals
f83c8df4 PR-873: Add PlayerRecipeBookClickEvent
14560d39 SPIGOT-7435: Add TeleportCause#EXIT_BED
2cc6db92 SPIGOT-7422, PR-887: Add API to set sherds on decorated pots
36022f02 PR-883: Add ItemFactory#getSpawnEgg
12eb5c46 PR-881: Update Scoreboard Javadocs, remove explicit exception throwing
f6d8d44a PR-882: Add modern time API methods to ban API
21a7b710 Upgrade some Maven plugins to reduce warnings
11fd1225 PR-886: Deprecate the SmithingRecipe constructor as it now does nothing
dbd1761d SPIGOT-7406: Improve documentation for getDragonBattle

CraftBukkit Changes:
d548daac2 SPIGOT-7446: BlockState#update not updating a spawner's type to null
70e0bc050 SPIGOT-7447: Fix --forceUpgrade
6752f1d63 SPIGOT-7396: Add PlayerSignOpenEvent
847b4cad5 SPIGOT-7063, PR-1071: Add DragonBattle#initiateRespawn with custom EnderCrystals
c335a555f PR-1212: Add PlayerRecipeBookClickEvent
4be756ecb SPIGOT-7445: Fix opening smithing inventory
db70bd6ed SPIGOT-7441: Fix issue placing certain items in creative/op
f7fa6d993 SPIGOT-7435: Add TeleportCause#EXIT_BED
b435e8e8d SPIGOT-7349: Player#setDisplayName not working when message/format unmodified
a2fafdd1d PR-1232: Re-add fix for player rotation
7cf863de1 PR-1233: Remove some old MC bug fixes now fixed in vanilla
08ec344ad Fix ChunkGenerator#generateCaves never being called
5daeb502a SPIGOT-7422, PR-1228: Add API to set sherds on decorated pots
52faa6b32 PR-1224: Add ItemFactory#getSpawnEgg
01cae71b7 SPIGOT-7429: Fix LEFT_CLICK_AIR not working for passable entities and spectators
a94277a18 PR-1223: Remove non-existent scoreboard display name/prefix/suffix limits
36b107660 PR-1225: Add modern time API methods to ban API
59ead25bc Upgrade some Maven plugins to reduce warnings
202fc5c4e Increase outdated build delay
ce545de57 SPIGOT-7398: TextDisplay#setInterpolationDuration incorrectly updates the line width

Spigot Changes:
b41c46db Rebuild patches
3374045a SPIGOT-7431: Fix EntityMountEvent returning opposite entities
0ca4eb66 Rebuild patches
2023-08-05 17:21:59 -07:00
Gameoholic
ee0482a614 [ci skip] Fix inventorycloseevent javadocs (#9533)
* Add InventoryCloseEvent safety doc comment, similar to InventoryClickEvent

* Fix inventorycloseevent javadocs

* Fix InventoryCloseEvent and InventoryClickEvent javadocs

* remove extra +

---------

Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2023-08-05 22:58:38 +03:00
Jake Potrebic
780477bca5 Expand use of strict advancement dim check (#9545) 2023-08-05 12:26:28 -07:00
Emily
a6445d743a Bump net.kyori:ansi to 1.0.3 (#9575) 2023-08-04 18:54:25 -03:00
Jake Potrebic
94106a38f5 Fix treasure map config default (#9572) 2023-08-04 08:52:22 -07:00
Emilia Kond
0c4d1ba273 Bump net.kyori.ansi to 1.0.2 (#9546) 2023-07-29 05:59:46 +03:00
Jake Potrebic
3089a6afe9 [ci skip] Clarify viewers set mutability in chat events (#9525) 2023-07-28 15:14:19 -07:00
Jake Potrebic
1f967356b8 Add Translatable interface to MusicInstrument (#9538) 2023-07-28 15:06:27 -07:00
Jake Potrebic
cbfc2065f5 Add cause to PlayerOpenSignEvent (#9441)
Also fire the event for plugin-opened signs
2023-07-26 09:25:14 -07:00
Spottedleaf
aa3e3b9b14 Prevent entity removals if the entity slices is receiving status updates
If an entity is removed while updating an entity slice, then the
iteration over the entity slice's entities could throw a cryptic
exception. Instead, it is better to prevent the entity removal
with a useful log message.

Fixes https://github.com/PaperMC/Paper/issues/9464
2023-07-25 07:11:58 -07:00
Owen1212055
a0f1649d04 Remove isRemoved skip on .discard() (#9520) 2023-07-24 05:04:40 -04:00
powercas_gamer
587085e41a feat: add minimessage tag resolvers overload to CommandSender#sendMessage (#9505) 2023-07-23 07:46:40 +02:00
Sage
a218498234 Add player whitelist events (#9209) 2023-07-23 06:38:53 +02:00
JLitewski
cf0ade3ba3 Rewrote Amethyst logic to throw both BlockGrowEvent and BlockSpreadEvent (#9217)
With this patch, it is now possible to further control what plugins can do with Amethyst Blocks.
You can prevent Budding Amethyst blocks from creating shards with the BlockSreadEvent, and
when shards grow, it can be prevented with BlockGrowEvent
2023-07-22 23:54:02 -04:00
Jake Potrebic
1a750538c3 Don't support hex in book title and author (#9493) 2023-07-22 20:40:52 -07:00
Astralchroma
e5b7dd2906 Configurable Region Compression Format (#8505) 2023-07-23 01:13:48 +01:00
Owen1212055
e1adb82073 Remove sign ticking (#9478)
Minecraft now ticks signs in order to validate the playerWhoMayEdit field. This is a horrible idea, as this means that even waxed signs are ticked for essentially no reason. This moves the logic lazily onto the getter.
2023-07-22 17:00:50 -04:00
Jake Potrebic
299347e31d Fix hopper not marking source inv as changed (#9070) 2023-07-22 13:48:23 -07:00
Golfing7
5886ca41ac Make ExperienceOrb entities call EntitySpawnEvent (#9197) 2023-07-22 16:19:50 -04:00
Roman Alexander
502e9950bf Pathfinder hasPath should check if path is done. (#9231) 2023-07-23 03:04:19 +07:00
Infynyty
2eb935ac55 Mark Player.sendSignChange as deprecated (#9382) 2023-07-22 21:38:40 +02:00
Jake Potrebic
4b09cd7db0 Fix unbreakable flint and steel consumed when igniting creepers (#9509) 2023-07-19 09:16:39 -07:00
Bjarne Koll
3eab463a68 [ci skip] Fix incorrect javadoc in JarLibrary (#9513) 2023-07-19 13:51:58 +02:00
Moulberry
a4dac24ba0 Allow LEFT_CLICK_AIR in 3.0->4.5 range of entity (#9211) 2023-07-16 23:58:25 +08:00
Jake Potrebic
a31e288c20 fix 2 vanilla issues (#8940)
Fix sheeps eating grass outside ticking chunks
Fix itemframe drops dropping in correct location

Co-authored-by: BillyGalbreath <blake.galbreath@gmail.com>
2023-07-15 13:28:28 -07:00
Jason Penilla
b2a5d27433 Add back accidentally dropped Wandering Trader patch (#9492) 2023-07-14 16:23:33 -07:00
Jake Potrebic
d606a559a4 Fix possible NPE on painting creation (#9391) 2023-07-13 17:22:15 -07:00
Jake Potrebic
3114e253ce Fix BanList API (#9450) 2023-07-13 14:43:45 -07:00
Jake Potrebic
5be287d725 Add Owner UUID api for AreaEffectCloud (#9364) 2023-07-13 14:26:42 -07:00
Owen1212055
eb5257d3a5 Suppress Item Meta Validation Checks (#9331)
Stops item meta from aggressively throwing exceptions.
2023-07-13 16:59:49 -04:00
Jake Potrebic
7afebb7fb6 Fix missing item types in SlotType for armor change event (#9379)
Also added 2 parameterized tests to make sure this doesn't happen
again.
2023-07-13 13:09:26 -07:00
Owen1212055
16f29bd54a Fix missing item interaction cancelling case (#9427)
Properly cancels brushes now
2023-07-13 15:48:46 -04:00
Lulu13022002
6667ae5ce2 Prevent desync for poi and pistons (#9270) 2023-07-13 21:22:05 +02:00
Jake Potrebic
f78ebb6629 Fix mob breaking doors not spawning particles (#9443)
This is a vanilla issue reported as MC-263999
2023-07-13 12:11:27 -07:00
Pedro
a0765eb7df Handle block state in EntityDamageByBlockEvent (#9396) 2023-07-12 15:12:12 -04:00
Jake Potrebic
8e59366f59 fix item meta for tadpole buckets (#9473) 2023-07-11 11:52:11 -07:00
chickeneer
801b2380f5 Add deprecations to SignSide string methods (#9467) 2023-07-11 11:58:08 -05:00
Warrior
2498b9ec82 Array backed synched entity data (#9460) 2023-07-10 15:27:50 +02:00
Jake Potrebic
5004933f0d Add Sign#getInteractableSideFor (#9388) 2023-07-08 02:04:19 -07:00
Jake Potrebic
c06ad72e31 Fix incorrect new blockdata in EntityChangeBlockEvent (#9445)
Also fixes EntityBreakDoorEvent not having the correct 'to' block data

Also standardizes how to handle EntityChangeBlockEvent before a removeBlock or destroyBlock
call. Always use 'state.getFluidState().createLegacyBlock()' to get the new state instead of
just using the 'air' state.
2023-07-07 10:25:36 -07:00
Jake Potrebic
a7bb0d20d4 [ci skip] Use Nullable annotation for Entity source (#9435) 2023-07-06 20:38:46 -07:00
Spottedleaf
40e354e38e Optimize player lookups for beacons
For larger ranges, it's better to iterate over the player list
than the entity slices.
2023-07-06 20:18:33 -07:00
Shane Freeder
3b3cf7f532 Don't allow for supporting block checks to load chunks
I cannot test this due to lack of hardware (took 30 minutes getting paper
updated and loaded into IJ on this machine...), however, this is the easiest
patch for now. Ideally, some form of distance check would probably be added to
improve invalidation of this cache.
2023-07-05 23:13:30 +01:00
Lulu13022002
493852bbd1 Fix ThrownEggHatchEvent#setHatching (#9448) 2023-07-05 09:46:12 +02:00
Nassim Jahnke
c32c74f4ce Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9440)
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:
01aa02eb PR-858: Add LivingEntity#playHurtAnimation()
9421320f PR-884: Refinements to new ban API for improved compatibility and correctness
37a60b45 SPIGOT-6455, SPIGOT-7030, PR-750: Improve ban API
4eeb174b All smithing inventories are now the new smithing inventory
f2bb168e PR-880: Add methods to get/set FallingBlock CancelDrop
e7a807fa PR-879: Add Player#sendHealthUpdate()
692b8e96 SPIGOT-7370: Remove float value conversion in plugin.yml
2d033390 SPIGOT-7403: Add direct API for waxed signs
16a08373 PR-876: Add missing Raider API and 'no action ticks'

CraftBukkit Changes:
b60a95c8c PR-1189: Add LivingEntity#playHurtAnimation()
95c335c63 PR-1226: Fix VehicleEnterEvent not being called for certain entities
0a0fc3bee PR-1227: Refinements to new ban API for improved compatibility and correctness
0d0b1e5dc Revert bad change to PathfinderGoalSit causing all cats to sit
648196070 SPIGOT-6455, SPIGOT-7030, PR-1054: Improve ban API
31fe848d6 All smithing inventories are now the new smithing inventory
9a919a143 SPIGOT-7416: SmithItemEvent not firing in Smithing Table
9f64f0d22 PR-1221: Add methods to get/set FallingBlock CancelDrop
3be9ac171 PR-1220: Add Player#sendHealthUpdate()
c1279f775 PR-1209: Clean up various patches
c432e4397 Fix Raider#setCelebrating() implementation
504d96665 SPIGOT-7403: Add direct API for waxed signs
c68c1f1b3 PR-1216: Add missing Raider API and 'no action ticks'
85b89c3dd Increase outdated build delay

Spigot Changes:
9ebce8af Rebuild patches
64b565e6 Rebuild patches
2023-07-04 10:22:56 +02:00
Lulu13022002
1dec9836ed Call missing BlockDispenseEvents (#8518)
* Call missing BlockDispenseEvent

* Avoid duplicate event

* Show a single item for event

* Move glowstone refill event

* rebased

---------

Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2023-07-03 01:12:07 +02:00
Jason Penilla
772363fc92 Move Log4j plugins to own source set (#9428) 2023-07-01 22:00:46 -07:00
Jake Potrebic
7a776d1395 Fix default permission for xp command (#9419) 2023-06-30 15:02:25 -07:00
Boy0000
9628b9384b Add option to disable NoteBlock and Tripwire updates (#9368) 2023-06-30 16:11:52 +02:00
Nassim Jahnke
3e7890be06 Hotfix double entity removal making entity scheduler retire call
The assumption that the setRemoved method will never be called more than once is flawed, considering even vanilla code seems to indicate it might happen. Especially with plugins, throwing an exception is not something reasonably maintainable across all the places it *could* happen.
If it is called a second time after already having been removed due to changing dimensions, that's definitely bad, so no extra check for that
Fixes #9420
2023-06-29 17:41:32 +02:00
Jake Potrebic
6671a56ff8 Improve command function perm level checks (#9411) 2023-06-28 23:18:28 -07:00
Jake Potrebic
c163c4b6a9 Fix replenishable container entities save/load existing contents (#9417) 2023-06-28 11:06:47 -07:00
Jake Potrebic
ab8df6ba8a Fix entity selectors while spectating (#9402) 2023-06-27 14:46:27 -07:00
Jake Potrebic
4f0fa96a00 Deprecate duplicate chat completion methods (#9401) 2023-06-27 01:18:59 -07:00
Lulu13022002
94fbc95d13 Avoid duplicate death event call for armorstands (#9223)
* Avoid duplicate death event call for armorstands

* restore vanilla behavior (emit the game event etc...)
2023-06-27 06:22:49 +02:00
Redned
609047b836 Only tick item frames if players can see it (#9377)
In the event that an item frame cannot be seen by any players, ticking the item frame every tick is unnecessary. This can be a very hot section of the entity tracker when lots of item frames are present on a server, so this reduces the logic which speeds it up.
2023-06-26 18:26:29 -05:00
Bit
18fa5eef34 Add event for player editing sign (#9300)
Addresses https://github.com/PaperMC/Paper/issues/9293
2023-06-26 18:35:32 -04:00
Nassim Jahnke
279c17fcdf Iterate over entity array copy for entity scheduler 2023-06-26 18:41:08 +02:00
powercas_gamer
9696b46122 Fix ugly java logger format for paper plugin dependency loader (#9395) 2023-06-25 09:57:45 +02:00
Owen1212055
ec0be3fbf2 Fix cycle on paper plugin toString (#9392) 2023-06-24 17:37:38 -04:00
Owen1212055
08197c3a58 Fix interact event call override (#9387) 2023-06-23 12:03:43 -04:00