Commit Graph
100 Commits
Author SHA1 Message Date
Owen1212055 09edc7e437 item meta patch work 2024-04-25 09:22:52 -04:00
Owen1212055 8fa2c4d4fd pass more stuff 2024-04-25 09:01:54 -04:00
Owen1212055 a47a33b837 Fix properly resend patches 2024-04-25 08:42:47 -04:00
Owen1212055 1cc4c39836 Patches!!!!!!! (we are done) 2024-04-25 08:36:48 -04:00
Owen1212055 308e992c47 Patches!!!!!!! 2024-04-24 18:36:49 -04:00
Owen1212055 b866d785c8 Patches!!!!!!! 2024-04-24 10:30:32 -04:00
Owen1212055 a68fb9030a Patches!!!!!!! 2024-04-24 10:29:12 -04:00
Owen1212055 5a30d10b36 Patches! 2024-04-24 09:46:45 -04:00
Owen1212055 babd22019c Patches! 2024-04-24 08:11:27 -04:00
Owen1212055 717c16dc69 Patches! 2024-04-23 18:25:14 -07:00
Owen1212055 c844ac9d01 Update upstream 2024-04-23 19:31:55 -04:00
Owen1212055 97cf432687 update 2024-04-23 19:30:03 -04:00
Owen1212055 14b0751f02 Deprecate ItemStack#setType & add ItemStack#withType (#10290) 2024-04-12 17:16:22 -04:00
Owen1212055 7415dcf70e Allow enabling sand duping (#10191)
Because this exploit has been widely known for years and has not been fixed by Mojang, we decided that it was worth allowing people to toggle it on/off due to how easy it is to make it configurable.

It should be noted that this decision does not promise all future exploits will be configurable.
2024-03-03 17:05:34 -05:00
Owen1212055 73b42e843e Add mob goal generator (#9980) 2024-01-15 14:36:10 -05:00
Owen1212055 9940519717 Fix experience & improvements to block events (#8067)
This is a lot but basically adds a method to disable the dropping of experience and drops experience by default.
This way things that require XP to be dropped manually (via modification), they can drop XP themselves when needed but without touching anywhere else that may drop xp.

It should be noted this causes breakNaturally() to now drop experience.
2024-01-04 15:18:59 -05:00
Owen1212055andBjarne Koll 524451e16c Keep fully frozen entities fully activated (#10103)
* Keep fully frozen entities fully activated

* Rebase and switch to isFreezing

---------

Co-authored-by: Bjarne Koll <git@lynxplay.dev>
2024-01-02 14:08:34 -05:00
Owen1212055 fab261ae0b Catch async usage of playsound (#10021) 2023-12-26 15:00:21 -05:00
Owen1212055 a52612213b Catch setEnabled to ensure classloader is properly unloaded (#10020) 2023-12-10 20:02:26 -05:00
Owen1212055 03cf27d8f0 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:
cdfe62e4 Update to Minecraft 1.20.4

CraftBukkit Changes:
51eea725f Update to Minecraft 1.20.4

Spigot Changes:
ce0f71e4 Update to Minecraft 1.20.4
2023-12-07 15:14:35 -05:00
Owen1212055 1e5f347169 Clean up username validation logic 2023-12-06 20:26:58 -05:00
Owen1212055 bd76143a5a Hotfix DefaultDispenseItemBehavior#spawnItem 2023-12-06 19:45:28 -05:00
Owen1212055 ab5d5fb554 Fix some missing diffs 2023-12-06 15:11:00 -05:00
Owen1212055 8e37c573ec Remove some patches 2023-12-06 15:09:14 -05:00
Owen1212055 6f010858de Patches!!! MORE MORE MORE MOOOOORE 2023-12-06 11:34:54 -05:00
Owen1212055 0087658702 Patches!!! MORE 2023-12-06 11:21:56 -05:00
Owen1212055 2633e8f90d Patches!!! (2) 2023-12-06 11:00:26 -05:00
Owen1212055 66719a05d3 Patches!!! 2023-12-06 10:17:00 -05:00
Owen1212055 1fa2b7d2f5 Dont resend blocks on interactions (#9413)
In general, the client now has an acknowledgment system that will cause block changes made by the client to be reverted correctly.

Essentially:

The client enters a "prediction" stage, where any block changes made will have its old blockstate captured (this is referred to as "server state").
If you update blocks during this stage, the client will update this captured server state as long as they're still currently predicting.
After prediction is done (via an ack packet) all captured blockstates are reverted to their captured server state.
This means that if the server actually updated a block and send a block update packet, it's correctly set, while if a block wasn't updated on the server but WAS updated on the client (server state wasn't updated), that change will be reverted.

It should be noted that this system does not yet support block entities, so those still need to be resynced when needed.

I discovered this when noticing that blocks broken outside of the player's valid interaction distance are still properly reverted, even though the server doesn't send any block updates, only an ack packet.
2023-12-02 22:41:35 -05:00
Owen1212055 00c5568532 Fix Mushroom cow stew api (#9934) 2023-12-02 20:54:58 -05:00
Owen1212055 5cca94a05e Add Entity Movement Direction API (#7085)
This allows you to get player movement when riding vehicles, etc.
2023-11-11 16:04:34 -05:00
Owen1212055 1b5c9db2e2 Remove Spigot Bug Fix for MC-109346 2023-09-23 01:51:40 -04:00
Owen1212055 9a66eb3eaa Support Paper ip address config + add missing logs 2023-09-23 01:50:13 -04:00
Owen1212055 a0f1649d04 Remove isRemoved skip on .discard() (#9520) 2023-07-24 05:04:40 -04: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
Owen1212055 eb5257d3a5 Suppress Item Meta Validation Checks (#9331)
Stops item meta from aggressively throwing exceptions.
2023-07-13 16:59:49 -04:00
Owen1212055 16f29bd54a Fix missing item interaction cancelling case (#9427)
Properly cancels brushes now
2023-07-13 15:48:46 -04: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
Owen1212055 6a733d70c1 Properly Cancel Usable Items (#9225)
This fixes the bug causing canceling PlayerInteractEvent to cause items to continue to be used despite being canceled on the server.

For example, items being consumed but never finishing, shields being put up, etc.
The underlying issue of this is that the client modifies their synced data values, and so we have to (forcibly) resend
them in order for the client to reset their using item state.
2023-06-18 18:33:15 -04:00
Owen1212055 eb317edc8a Don't use event to get block position (#9295) 2023-06-10 02:13:42 -04:00
Owen1212055 d943e42150 Fix javadoc 2023-06-08 22:53:42 -04:00
Owen1212055 77e3d3e158 Finish tests & bad calls 2023-06-08 22:51:31 -04:00
Owen1212055 fed16ccbff Move block farther away for Player#setRotation (#8514) 2023-06-08 22:37:59 -04:00
Owen1212055 6ee3455f40 Fix breaking pots throwing exception 2023-06-08 20:24:02 -04:00
Owen1212055 5c83f1aca3 cleanup some descriptions + optimize hoppers patch 2023-06-08 14:10:23 -04:00
Owen1212055 f328e1ae26 vine boom sound 2023-06-08 04:47:19 -04:00
Owen1212055 d0a36db6c2 YOU get patches 2023-06-08 04:08:08 -04:00
Owen1212055 fa4aae5fff Fix scuffed patches 2023-06-08 03:57:42 -04:00
Owen1212055 8bab352ff6 re-patched 2023-06-08 03:40:45 -04:00
Owen1212055 a6f4f6e2c9 Patched 2023-06-08 03:20:03 -04:00
Owen1212055 644fa33eea Some chunk patches 2023-06-08 02:31:22 -04:00
Owen1212055 1004620742 Paper Plugins Dependency Format Update (#9160)
* Rework dependency management (WIP)

* Revert "Rework dependency management (WIP)"

This reverts commit e046cd59c68743dc00303b1ab42317bf474abd6a.

* Correctly add soft dependencies to the dependency tree for classloading resolution

* Add support for new dependency config format

* Rebase

* swap load order meaning

* Dependencies should be required by default
2023-06-07 11:41:25 -04:00
Owen1212055 5957c490da Avoid Lazy Initialization for Enum Fields (#9210) 2023-05-14 20:46:17 -04:00
Owen1212055 5f0081c256 Disable allowListing before received from client (#9167) 2023-04-23 21:24:12 -04:00
Owen1212055 a4b55ff96a Fix LegacyPluginLoader dependency registration (#9165) 2023-04-22 21:55:10 -04:00
Owen1212055 2da0966452 Resolve Plugin Dependency Issues, Improve PluginLoading Compat, Small Loading Issues (#9129) 2023-04-22 13:44:40 -04:00
Owen1212055 cfcfc9301c Resolve Plugin Dependency Issues, Improve PluginLoading Compat, Small Loading Issues (#9068) 2023-04-09 18:28:30 -04:00
Owen1212055 f5224dafea Allow non player entities in scoreboards by default (#9082)
This in general caused much more confusion than needed, and in general, made rather negligible performance gains on collision.
2023-04-02 13:53:11 -04:00
Owen1212055 08482e72bb Add Shearable API (#6796) 2023-03-17 17:11:08 -04:00
Owen1212055 d166b09352 Camel EntityToggleSitEvent (#8970) 2023-03-15 10:37:41 -04:00
Owen1212055 8d211062df Correctly Remove Classloaders, Avoid Loading Providers in /paper dumpplugins, Fix library lookup (#8938) 2023-03-06 19:20:11 -05:00
Owen1212055 03c2f3b9db Fix Player#setPlayerProfile (#8939) 2023-03-06 18:15:25 -05:00
Owen1212055 2dd20a5904 Add TeleportFlags (#8855)
Abstracts relative teleport flags and instead makes a generic TeleportFlag option. This has the benefit of being able to easily add new flags in the future.
This adds a new flag, which allows you to keep inventories open when teleporting players (vanilla behavior).

These are breaking changes to the teleport api, however, it's still marked as experimental so I find this a fair change.
2023-03-04 17:07:23 -05:00
Owen1212055 47f0fe739b Properly re-add providers when reloading (#8881) 2023-02-23 12:58:50 -05:00
Owen1212055 75e61d5bf2 Validate providers when populating load order tree (#8890) 2023-02-22 10:59:12 -05:00
Owen1212055 08d77ce67a Redefine Cyclic Dependencies (#8873) 2023-02-20 20:09:38 -05:00
1c5cb2f43a Small paper plugin fixes (#8866)
Co-authored-by: Bjarne Koll <git@lynxplay.dev>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
2023-02-20 13:02:53 -05:00
Owen1212055 b0ce047eae Fix plugin updater logic, allow null update directory (#8864) 2023-02-19 13:17:51 -05:00
Owen1212055 6915dee3e3 Paper Plugins (#8108) 2023-02-19 09:57:10 -05:00
Owen1212055 cb9bc57e60 Return 0 if null for FireworkMeta (#8738) 2022-12-30 12:33:41 -05:00
Owen1212055 e794bcecbd Respect SpigotConfig logCommands & fix stopDancing() NPE (#8715) 2022-12-25 23:22:08 -05:00
Owen1212055 5297d99a4e Tadpole lock API (#8297) 2022-12-23 15:50:32 -05:00
Owen1212055 e383b8e15d Rabbit API (#8627) 2022-12-09 19:56:13 -05:00
Owen1212055 fcb3cfa2f5 Update adventure (#8625) 2022-12-09 04:11:28 -05:00
Owen1212055 d7dbb07235 Deprecate PluginLoader and impls (#8619) 2022-12-08 16:27:37 -05:00
Owen1212055 3a5be0bbe7 Properly resend entities (#8617) 2022-12-07 18:11:44 -05:00
Owen1212055 91869b8753 Schoolable Fish API (#7089) 2022-11-25 21:21:40 -05:00
Owen1212055 0bb4b6ead5 Add more collision code skipping logic (#7581) 2022-11-19 16:14:19 -05:00
Owen1212055 af85b6071c Cleanup reputation API + back with an EnumMap instead of array (#8258)
Resolves: #7142
2022-11-12 12:41:22 -05:00
Owen1212055 36d8f327e8 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
Owen1212055 0ea0d39edf Properly resend entities (#7041) 2022-11-05 14:50:16 -04:00
Owen1212055 4fad96576f Deprecate unused VehicleEntityCollisionEvent methods (#8498) 2022-10-29 13:18:17 -04:00
Owen1212055anddannyball710 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
Owen1212055 e7535118d9 Add missing Entity + Projectile API (#7632) 2022-10-11 17:04:26 -04:00
Owen1212055 aba5839fde Fix player desync on dimension change (#8253) 2022-09-24 01:45:13 -04:00
Owen1212055 d56d06cb3c Respect preventMovingIntoUnloadedChunks for optimized collision checking (#8259) 2022-09-19 22:02:52 -04:00
Owen1212055 9541fc32dc Fix command pool submitting on shutdown (#8272) 2022-08-09 23:51:17 -04:00
Owen1212055 fa737884a7 Separate Command Sending to Separate Thread Pool (#8170) 2022-08-08 07:32:17 -04:00
Owen1212055 e77a4a70b7 Block Ticking API (#7202) 2022-08-03 17:14:04 -04:00
Owen1212055 c3eaa827e3 Collision API (#6736) 2022-07-31 11:30:34 -04:00
Owen1212055 164651e497 Add missing BlockFadeEvents (#8171) 2022-07-30 12:58:37 -04:00
Owen1212055 31c2f40b64 Use Worldheight for Activation Ranges (#8061) 2022-07-30 12:47:35 -04:00
Owen1212055 e05d694e8c Custom Chat Completions API (#8212) 2022-07-30 12:28:24 -04:00
Owen1212055 342ffb25ec Add more needed BlockStateListPopulator Methods (#8021) 2022-07-29 19:28:46 -04:00
Owen1212055 8d6013b4be Warn on plugins accessing faraway chunks (#8208) 2022-07-29 19:16:26 -04:00
Owen1212055 792f264084 Send block entities after destroy prediction (#8053) 2022-07-29 18:26:41 -04:00
Owen1212055 09a1be7aef Teleportation API (#6562) 2022-07-22 14:36:43 -05:00