Commit Graph

2196 Commits

Author SHA1 Message Date
Jake Potrebic
7606e6da39
fixup tests and add missing API detected by those tests 2023-12-08 12:07:56 -08:00
Lulu13022002
8d8eb3bdf6
optimise explosion damage further
and use the right entity for the dragon part damage
2023-12-08 20:47:27 +01:00
Jake Potrebic
2f92d4e00e
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:
01bb6ba7 PR-936: Add new PersistentDataContainer methods and clean up docs
bc145b90 PR-940: Create registry for banner pattern and cat type

CraftBukkit Changes:
cb2ea54de SPIGOT-7440, PR-1292: Fire EntityTeleportEvent for end gateways
4fea66e44 PR-1299: Add new PersistentDataContainer methods and clean up docs
b483a20db PR-1303: Create registry for banner pattern and cat type
4642dd526 SPIGOT-7535: Fix maps not having an ID and also call MapInitializeEvent in more places
2023-12-08 11:00:39 -08:00
Jason Penilla
930a24f965
1.20.4 2023-12-07 13:27:28 -07:00
Owen1212055
ff72782888
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:15:25 -05:00
Jake Potrebic
d0476837a5
more adventure codec stuff
and fix tests
2023-12-07 11:14:29 -08:00
Noah van der Aa
9223f05a40
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:
c9cb08551 SPIGOT-7536: Using Crafter crashes server
2023-12-07 13:03:14 +01:00
Jake Potrebic
6577db6dd6
cleanup Optimize MappedRegistry patch 2023-12-06 22:41:13 -08:00
Jason Penilla
6c4c13df44
Update adventure 2023-12-06 21:24:16 -07:00
Owen1212055
9227a9648c
Clean up username validation logic 2023-12-06 20:26:58 -05:00
Owen1212055
b277feb448
Hotfix DefaultDispenseItemBehavior#spawnItem 2023-12-06 19:45:28 -05:00
Nassim Jahnke
6bafacfb14 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:
9a294519 SPIGOT-7533, 943: Add missing Poses for 1.20.3
be2884c4 Add unique ID to PlayerResourcePackStatusEvent
d9c1eb83 Add additional @MinecraftExperimental annotations
68f5bb6a SPIGOT-7526: Add missing PlayerResourcePackStatusEvent statuses

CraftBukkit Changes:
368c48be1 Fix formatting issue in previous commit
da8f91f31 SPIGOT-7534: Error when chunk with decorated pot trying to save
d20c9291a SPIGOT-7532: Entity#isValid() returns false after server restart
ec1fa2ead PR-1309: Add tests for Bukkit Pose
5a7080b58 Add unique ID to PlayerResourcePackStatusEvent
0fd734950 SPIGOT-7528: Fix certain custom shaped recipes
2023-12-06 23:01:51 +01:00
Nassim Jahnke
b1f94a84e8 Update cb package version 2023-12-06 22:51:50 +01:00
Nassim Jahnke
772d430cd1 Fix timings check with tick freezes 2023-12-06 22:40:08 +01:00
Nassim Jahnke
896e29bba7 Inline imports in loottable patch 2023-12-06 22:22:22 +01:00
Nassim Jahnke
d1dbe0020d Fix lootable patch, cb crash due to unimplemented methods 2023-12-06 22:17:56 +01:00
Jason Penilla
0addaa1cf2
Temp adventure update 2023-12-06 13:53:16 -07:00
Nassim Jahnke
c833571526 Make it compile again 2023-12-06 21:28:59 +01:00
Nassim Jahnke
9bc67abccf Fixup 2023-12-06 21:19:37 +01:00
Owen1212055
ff2946e04b
Fix some missing diffs 2023-12-06 15:11:00 -05:00
Owen1212055
d3f1bc04b4
Remove some patches 2023-12-06 15:09:14 -05:00
Nassim Jahnke
b32a34c71d Add missing timings stop 2023-12-06 21:04:01 +01:00
Nassim Jahnke
03541446b2 Drop old packs in setResourcePack 2023-12-06 20:46:49 +01:00
Nassim Jahnke
c2b70338fc It compiles 2023-12-06 20:40:37 +01:00
Nassim Jahnke
1d028f3853 More compile fixes 2023-12-06 20:10:59 +01:00
Jake Potrebic
deb02722b2
more compile fixes 2023-12-06 10:36:49 -08:00
Lulu13022002
6b272a65e7
remove old diff 2023-12-06 19:29:36 +01:00
Noah van der Aa
5999d669ac
More compile fixes 2023-12-06 19:21:41 +01:00
Nassim Jahnke
b8f9558745 Apply all patches 2023-12-06 19:19:19 +01:00
Jake Potrebic
a364b7e88b
fix more compile issues 2023-12-06 10:07:47 -08:00
Jake Potrebic
0dee538a62
Upstream blocked Player#remove so our patch needed to be refactored 2023-12-06 09:54:52 -08:00
Jake Potrebic
6c4efc92be
fix mismatched bracket in game packet listener 2023-12-06 09:47:45 -08:00
Bjarne Koll
13b92ad487
Make things explodes via patches 2023-12-06 18:33:52 +01:00
Bjarne Koll
855a8196cf
Fix custom potion mixes patch 2023-12-06 17:40:36 +01:00
Owen1212055
9546b9c587
Patches!!! MORE MORE MORE MOOOOORE 2023-12-06 11:34:54 -05:00
Owen1212055
cd61b5d98e
Patches!!! MORE 2023-12-06 11:21:56 -05:00
Owen1212055
6bf2ebf200
Patches!!! (2) 2023-12-06 11:00:26 -05:00
Owen1212055
25dc4afafa
Patches!!! 2023-12-06 10:17:00 -05:00
Jake Potrebic
cc78c7f5f5
fix serializing TextColor with name 2023-12-05 20:56:02 -08:00
Jason Penilla
29e137669e
p a t c h e s 2023-12-05 21:49:31 -07:00
Jason Penilla
2053d6ace7
Improve update helper task 2023-12-05 21:46:41 -07:00
Jason Penilla
fc12258f24
more patch 2023-12-05 20:57:46 -07:00
Jason Penilla
723c05e7fe
some patches :D 2023-12-05 20:34:04 -07:00
Jason Penilla
5513f8a795
patches ... 2023-12-05 20:00:14 -07:00
Jake Potrebic
ad99d4568b
initial work on native Adventure codecs 2023-12-05 16:49:11 -08:00
Jason Penilla
6e9a238a8c
some more patch 2023-12-05 15:55:31 -07:00
Jason Penilla
7a59fd38d4
patches up to anti x ray 2023-12-05 15:32:41 -07:00
Jason Penilla
9d9fcf7e62
fix timings patch field use 2023-12-05 15:25:25 -07:00
Jason Penilla
1a33343012
some more patches 2023-12-05 15:21:44 -07:00
Jason Penilla
a30aad98f7
some patches 2023-12-05 15:12:48 -07:00
Jake Potrebic
c3f3edea07
port UnknownCommandEvent patch 2023-12-05 13:51:34 -08:00
Jason Penilla
dfac4f9df2
patches 2023-12-05 14:34:01 -07:00
Jason Penilla
fad3fa9bde
Update loot table and other patches 2023-12-05 14:20:44 -07:00
Nassim Jahnke
2a9a9c4cf0 Remove unnecessary import 2023-12-05 20:56:22 +01:00
Nassim Jahnke
2efd9bb99f More more more work 2023-12-05 20:54:55 +01:00
Nassim Jahnke
d7fc0c5ab2 More more work 2023-12-05 20:39:26 +01:00
Nassim Jahnke
603b32976b More work 2023-12-05 20:14:54 +01:00
Nassim Jahnke
9b56221762 Adventure (kind of) 2023-12-05 19:38:29 +01:00
Nassim Jahnke
2a1ace0cf2 Prepare for 1.20.3 dev 2023-12-05 18:20:55 +01:00
Jake Potrebic
931781c220
[ci skip] rebuild patches 2023-12-03 10:09:54 -08:00
Owen
9271ee7643
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
Jake Potrebic
8e061ce9c8
Add Structure check API (#9062) 2023-12-02 18:11:57 -08:00
Owen
5cbd5352b4
Fix Mushroom cow stew api (#9934) 2023-12-02 17:54:58 -08:00
Jake Potrebic
37bee09e3d
Restore vanilla entity drops behavior (#7650) 2023-12-02 17:35:10 -08:00
MrPowerGamerBR
ffa4115239
Configurable Dry and Wet Farmland Tick Rates (#9968)
* Configurable Dry and Wet Farm Land Nearby Water Tick Rates

* Rebase and squash

---------
2023-12-02 17:00:17 -08:00
hyper1423
40872ece07
Fix CraftMetaItem#addAttributeModifier duplication check (#9995) 2023-12-03 01:59:13 +01:00
Jake Potrebic
2184fbca00
Log correct recipes and advancement count on server start (#9978) 2023-12-02 13:17:35 -08:00
Jason Penilla
2182d47792
Update mapping-io (#9975) 2023-11-28 15:18:21 -07:00
Jake Potrebic
b37bbcfd98
Use ? super in Consumer/Predicate API (#9939) 2023-11-25 15:03:02 -08:00
Gijs de Jong
f9938d3949
Fix plugin bootstrap dependency tree population (#9963)
This patch fixes a bug where the dependency tree used for classpath joining,
wasn't built using the bootstrap dependencies, for plugin bootstrappers.
2023-11-25 17:57:12 -05:00
Jake Potrebic
0b20f94297
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9953)
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:
96340858 PR-938: Various Sound API improvements
cbfe0ff0 PR-937: Minor improvements to World#rayTrace documentation
e979ee95 PR-935: Change Consumer and Predicates to super
27ae46dc SPIGOT-3641, SPIGOT-7479, PR-931: Add missing values to EntityEffect
0616ec8b Add eclipse .factorypath file to .gitignore

CraftBukkit Changes:
8e162d008 PR-1301: Various Sound API improvements
eeb7dfc2d SPIGOT-7520: Attribute LootTableSeed missing for generated containers with attached LootTable
d433f086d PR-1297: Change Consumer and Predicates to super
864f616da SPIGOT-7518: Fix NullPointerException when calling Block#applyBoneMeal()
5a2d905af Add eclipse .factorypath file to .gitignore
7c6bf15d4 Fix SkullMeta configuration serialization / deserialization with note block sound

Spigot Changes:
7de1049b Rebuild patches
2023-11-25 14:34:42 -08:00
Jake Potrebic
8eac3e1b93
Don't fire EntityPotionEffectEvent during worldgen (#9965) 2023-11-25 14:18:37 -08:00
Warrior
8280211e52
Fix yaw being ignored for first spawn pos (#9959) 2023-11-25 14:09:26 -08:00
MrPowerGamerBR
faa2f475b0
Lazily create LootContext for criterions (#9969)
For each player on each tick, enter block triggers are invoked, and these create loot contexts that are promptly thrown away since the trigger doesn't pass the predicate

To avoid this, we now lazily create the LootContext if the criterion passes the predicate AND if any of the listener triggers require a loot context instance
2023-11-25 17:01:26 -05:00
TonytheMacaroni
334b2f20db
Fix max nearby entities class check (#9967) 2023-11-25 16:48:32 -05:00
Shane Freeder
ed753d34d2
Re-add missing vanilla safeMode arg 2023-11-25 09:49:48 +00:00
Jake Potrebic
96d5e6ca48
Code Generation for TypedKeys (#9233)
Currently includes generated key holder classes for types
used in the Registry Modification API
2023-11-22 20:56:28 -08:00
Isaac - The456
250388defe
add getAdvancementProgress() to PlayerAdvancementCriterionGrantEvent (#9865)
this allows for simpler checks for if an advancement would be given to a player,
and denying it (as the advancement grant event is non-cancelable)
2023-11-18 20:18:48 -05:00
booky10
86117967db
Fix missing event call for entity teleport API (#9937)
* Fix missing event call for entity teleport API

Previously a plugin couldn't cancel or modify an entity-teleport from another plugin.

* rebase
2023-11-18 20:05:34 -05:00
TonytheMacaroni
581c7434be
Add API to retrieve an attribute modifier from a UUID (#9924)
* Add attribute modifier from UUID API

* Add method to remove by UUID

* Add overload for UnmodifiableAttributeInstance, better precondition messages

* rebase
2023-11-18 19:55:57 -05:00
Jake Potrebic
39dee1ab52
More paper config cleanup (#9938)
Also adds a warning and error message if a newer config version
was found signaling a downgrade.
2023-11-18 16:29:14 -08:00
Jake Potrebic
e5274eeac9
Fix spawners checking max nearby entities with correct type (#8945)
Co-authored-by: Owen1212055 <23108066+Owen1212055@users.noreply.github.com>
2023-11-18 15:59:12 -08:00
Bjarne Koll
0a8c873722
Call LivingEntity#onItemPickup before mutation (#9948)
The existing EntityPickupItemEvent fixes patch moves the call to LivingEntity#onItemPickup for piglins after the respective EntityPickupItemEvent calls, which is correct.
However the patch moved the call so far down the line that the existing logic already mutated the picked up item entity, leading to faulty state being passed to the onItemPickup method.

To prevent logic in LivingEntity#onItemPickup to read from an ItemEntity that was already mutated, this commit moves the calls prior to the two respective mutations (either gold_nugget or rest).

This was chosen above taking a copy of the original item and restoring state later on to avoid a full item stack clone.
2023-11-17 07:43:25 +01:00
Jake Potrebic
f186318a91
Run the chat callback on the main thread as expected (#9935) 2023-11-11 15:33:19 -08:00
Jake Potrebic
a506b48daa
Fix several issues with EntityBreedEvent (#8677)
Upstream did not account for different hands when storing
the breed item for later use in the event. Also they only
stored a reference to the stack, not a copy so if the stack
changed after love mode was started, the breed item in the event
also changed. Also in several places, the breed item was stored after
it was decreased by one to consume the item.
2023-11-11 15:23:02 -08:00
booky10
9548629853
Add hand to fish event for all player interactions (#9929) 2023-11-11 23:00:45 +01:00
booky10
9ee60eca7d
Add aggressive mob API (#9838) 2023-11-11 16:17:36 -05:00
Owen
dd47ec6fe2
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
Jake Potrebic
d8847bc1f3
Updated Upstream (Bukkit/CraftBukkit) (#9922)
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:
fde5602a PR-927: Add PlayerRecipeBookSettingsChangeEvent
949ff217 PR-930: Add methods to get/set evoker fang attack delay
f6f7c79d SPIGOT-7514, PR-929: Add "Enchantment Roll" API to enchant items according to Minecraft mechanics
d40e22da PR-712: Add API to get full result of crafting items

CraftBukkit Changes:
c8feb0629 PR-1291: Improve precondition message in Entity#playEffect
482c56a00 PR-1285: Add PlayerRecipeBookSettingsChangeEvent
cdf798800 PR-1290: Add methods to get/set evoker fang attack delay
2c1b5f78f SPIGOT-7514, PR-1289: Add "Enchantment Roll" API to enchant items according to Minecraft mechanics
6aa644ae9 PR-992: Add API to get full result of crafting items
ffb1319bc PR-1287: Fix scoreboards not updating in Player#setStatistic
2023-11-11 12:25:45 -08:00
Luis
63e77b531d
Add Enchantment cost API (#9856)
Cost is a property of individual enchantments, and is used by vanilla in combination with environmental aspects like tool enchantability and bookshelf count to determine the final cost of an enchantment as shown in an enchanting table.

Having access to the base cost of an enchantment using these vanilla methods can allow plugin developers to determine the "value" of an enchantment, and use it in custom logic where needed. I came across this recently when trying to assign an economic value to enchantments during tool repairing, and noticed these values don't seem to be obtainable under the current API.
2023-11-11 15:09:48 -05:00
Tamion
6675d13b31
Fix strikeLightningEffect powers lightning rods & clears copper (#9780)
* Fix strikeLightningEffect powers lightning rods and clears copper

* Fixed vanilla behavior break

* rebase

* revert spigot cleanup and remove setter

* better fix for behaviour break

* rebase and clean

* fix
2023-11-11 12:09:14 -08:00
Jake Potrebic
c95bc5f86d
Don't unpack loot table for TEs not in world (#9918)
Fixed by 23w44a/1.20.3
2023-11-11 11:23:12 -08:00
Shane Freeder
4675152f49
Don't leave the NearbyPlayers tracker in an entirely busted state on double-add detection 2023-11-05 22:15:38 +00:00
Layla Silbernberg / LadySilver47
8cafc07297
Added missing enchantables to material tags (#9888) 2023-11-05 00:37:51 +01:00
Tamion
e289accb03
Add more API to LingeringPotionSplashEvent (#9901)
* Add createAreaEffectCloud API

* Add missing NotNull

* Add missing Paper comments

* Better solution

* Better naming

* New patch and rename

* rename patch
2023-11-04 16:24:06 -07:00
NonSwag
2553f30153
fix secure profile with proxy online mode (#9700) 2023-11-05 00:12:47 +01:00
booky10
75d04e9b04
Broadcast take item packets with collector as source (#9884)
This fixes players (which can't view the collector) seeing item pickups with themselves as the target.
2023-11-04 15:16:55 -07:00
TonytheMacaroni
23860da6c2
Add predicate for block when raytracing (#9691)
* Add predicate for block data when raytracing blocks

* Match based on block, instead of block data

* Use instanceof instead of casting

* Use Position instead of Location, add overload for rayTraceEntities

* Implement requested changes

* Invert predicate

* Cleanup
2023-11-04 15:00:51 -07:00
TrollyLoki
8a3980c60b
Add API to get the collision shape of a block before it's placed (#9821)
* Add API to get the collision shape of a block before it's placed

* Tweak API documentation

* Clarify behavior

* Rebase

* Rebase
2023-11-04 16:32:10 -05:00
Jake Potrebic
0cdce89d59
Fix a bunch of stuff with player spawn locations (#9887)
If a playerdata doesn't contain a valid, loaded world, reset
to the main world spawn point
2023-11-04 14:11:55 -07:00