aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2024-09-28Specify mainCapabilityAttribute for paper-apimainCapabilityAttributeJason Penilla
Fixes the api being bundled into com.destroystokyo.paper as paper-mojangapi
2024-09-29Call bucket events for cauldrons (#7486)Jake Potrebic
2024-09-28Add API for explosions to damage the explosion cause (#11180)Esoteric Enderman
This intends to give plugin developers more control over explosions created using the World#createExplosion method, specifically by adding the option for explosions to damage the explosion cause (not the default behavior, and previously impossible to do, as far as I know). This is done by overloading existing methods with an extra `excludeSourceFromDamage` parameter. Co-authored-by: Bjarne Koll <[email protected]>
2024-09-28Add startingBrewTime (#11406)Tamion
* add startingBrewTime * casting * requests * comments and fix setBrewTime * a * b * move to own class * rename * missing Paper comment * missing experimentals * rebased --------- Co-authored-by: Jake Potrebic <[email protected]>
2024-09-28Improve entity effect API (#11444)Jake Potrebic
2024-09-28Update paperweight to 1.7.3 (#11445)Jason Penilla
2024-09-27Fix console completions on invalid commands (#7603)Jake Potrebic
2024-09-27Add enchantWithLevels with tag specification (#11438)masmc05
* Add enchantWithLevels with tag specification * Finalise --------- Co-authored-by: Bjarne Koll <[email protected]>
2024-09-27fix ItemStack#removeEnchantments creating non-stackable items (#11442)Jake Potrebic
2024-09-27Remove redundant fillUsableCommands call (#11425)Jake Potrebic
2024-09-27Deprecate for removal Block#isValidTool (#11439)Jake Potrebic
The method's implementation uses Block#getDrops which re-computes the drops from the loot table each call leading to isValidTool returning different values with subsequent calls.
2024-09-27Call EntityDropItemEvent when a container item drops its contents (#11441)Brokkonaut
2024-09-27Adjust HAProxy's existance to log for console masters (#11433)Stefano
2024-09-26use correct types for preloading CraftRegistryJake Potrebic
also add a check in CraftRegistryEntry constructor to make sure preload class isn't in net.minecraft package
2024-09-24Fix tag lifecycle event handlers not disabling /reloadJake Potrebic
2024-09-23Add missing key files and cleanup registry definition orderJake Potrebic
2024-09-23make MenuType implement FeatureDependantJake Potrebic
2024-09-22Only call EntityPortalExitEvent if entity is actually in a portalJake Potrebic
2024-09-22Expand out datapack API (#10828)Jake Potrebic
* Expand out datapack API * add getTitle * better enable check
2024-09-22Fix Color Particle API (#10895)TreemanKing
* fix: check datatype of particles rather than particle-type * feature: add ARGB channels It keeps the functionality of the original color(int). * fix: order * fixes --------- Co-authored-by: Jake Potrebic <[email protected]>
2024-09-22Fixup command precprocess cancellation (#11424)Nassim Jahnke
2024-09-22Add ItemStack array serialization methods (#10387)Nassim Jahnke
2024-09-22Add velocity forwarding secret env override (#10127)Oliver Janka
Previously, the velocity forwarding secret could only be configured via the configuration option in the global paper configuration. This makes configuring/passing such a value rather difficult for containerized/orchestrated servers as these configuration files are usually part of the server data volume itself and hence cannot be sourced from a secret. This commit enables administrators to define the PAPER_VELOCITY_SECRET environment variable, which will override any potentially configured velocity secret.
2024-09-22Deprecate BlockType#isInteractable (#11427)Bjarne Koll
While BlockType is still marked as internal, it mirrors the already paper-deprecated method #isInteractable. The commit marks said method as deprecated if/when BlockType becomes experimental/non-internal.
2024-09-21Update launchProjectile API (#11300)Lulu13022002
2024-09-21Create TileStateInventoryHolder (#11420)Jake Potrebic
Adds a missing interface to centralize getSnapshotInventory methods.
2024-09-21Correctly launch WindCharges (#11418)Bjarne Koll
The launch API on LivingEntity only respected the WindCharge type, not its near-clone BreezeWindCharge. This commit correctly accounts for BreezeWindCharge in CraftLivingEntity.
2024-09-21Disable pretty printing for advancement saving (#11419)Newwind
2024-09-21Return null in getRegistry(Class) for unknown type (#11422)Bjarne Koll
The Bukkit#getRegistry(Class) method contract specifies that it returns null for unknown registry types. The current implementation however requires the passed class to be mappable to a known registry key. For types like Material, which have a SimpleRegistry in bukkit's Registry interface, no server side registry exists and such the type cannot be mapped to a registry key. The commit correctly returns null for types that are not mappable to a registry key instead of throwing a NullPointerException.
2024-09-19Remove wall-time / unused skip tick protection (#11412)Bjarne Koll
Spigot still maintains some partial implementation of "tick skipping", a practice in which the MinecraftServer.currentTick field is updated not by an increment of one per actual tick, but instead set to System.currentTimeMillis() / 50. This behaviour means that the tracked tick may "skip" a tick value in case a previous tick took more than the expected 50ms. To compensate for this in important paths, spigot/craftbukkit implements "wall-time". Instead of incrementing/decrementing ticks on block entities/entities by one for each call to their tick() method, they instead increment/decrement important values, like an ItemEntity's age or pickupDelay, by the difference of `currentTick - lastTick`, where `lastTick` is the value of `currentTick` during the last tick() call. These "fixes" however do not play nicely with minecraft's simulation distance as entities/block entities implementing the above behaviour would "catch up" their values when moving from a non-ticking chunk to a ticking one as their `lastTick` value remains stuck on the last tick in a ticking chunk and hence lead to a large "catch up" once ticked again. Paper completely removes the "tick skipping" behaviour (See patch "Further-improve-server-tick-loop"), making the above precautions completely unnecessary, which also rids paper of the previous described incompatibility with non-ticking chunks.
2024-09-19Only mark decorations dirty if a removal actually occurs (#11413)Shane Freeder
* Only mark decorations dirty if a removal actually occurs Vanilla calls this method blindly inside of a loop which erroniously marks map data files as being dirty even if nothing has actually changed. * Merge into existing patch --------- Co-authored-by: Bjarne Koll <[email protected]>
2024-09-17Validate slot in PlayerInventory#setSlot (#11399)4real
2024-09-16Prevent NPE when serializing unresolved profile (#11407)Bjarne Koll
In the recent upstream update, the paper player profile was updated to correctly return null for both name and id if constructed as such. This change however broke the serialisation logic, as it depended on the name never being null. The commit moves the checks over to the newly introduced emptyName/UUID fields that track if the profile was constructed with a null name or uuid to differentiate it against an empty string or the NIL_UUID.
2024-09-15Fix enable-player-collisions playing sounds when set to false (#11390)Tamion
2024-09-15Fix TrialSpawner forgetting assigned mob when placed by player (#11381)Tamion
2024-09-15Set default drop behavior for player deaths (#11380)Jake Potrebic
2024-09-15Updated Upstream (Bukkit/CraftBukkit/Spigot) (#11405)Bjarne Koll
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: 1fc1020a PR-1049: Add MenuType API 8ae2e3be PR-1055: Expand riptiding API cac68bfb SPIGOT-7890: AttributeModifier#getUniqueId() doesn't match the UUID passed to its constructor 7004fcf2 SPIGOT-7886: Fix mistake in AttributeModifier UUID shim 1ac7f950 PR-1054: Add FireworkMeta#hasPower 4cfb565f SPIGOT-7873: Add powered state for skulls CraftBukkit Changes: bbb30e7a8 SPIGOT-7894: NPE when sending tile entity update ba21e9472 SPIGOT-7895: PlayerItemBreakEvent not firing 0fb24bbe0 SPIGOT-7875: Fix PlayerItemConsumeEvent cancellation causing client-side desync 815066449 SPIGOT-7891: Can't remove second ingredient of MerchantRecipe 45c206f2c PR-1458: Add MenuType API 19c8ef9ae SPIGOT-7867: Merchant instanceof AbstractVillager always returns false 4e006d28f PR-1468: Expand riptiding API bd8aded7d Ignore checks in CraftPlayerProfile for ResolvableProfile used in profile components 8679620b5 SPIGOT-7889: Fix tool component deserialisation without speed and/or correct-for-drops 8d5222691 SPIGOT-7882, PR-1467: Fix conversion of name in Profile Component to empty if it is missing 63f91669a SPIGOT-7887: Remove duplicate ProjectileHitEvent for fireballs 7070de8c8 SPIGOT-7878: Server#getLootTable does not return null on invalid loot table 060ee6cae SPIGOT-7876: Can't kick player or disconnect player in PlayerLoginEvent when checking for cookies 7ccb86cc0 PR-1465: Add FireworkMeta#hasPower 804ad6491 SPIGOT-7873: Add powered state for skulls f9610cdcb Improve minecart movement Spigot Changes: a759b629 Rebuild patches Co-authored-by: Jake Potrebic <[email protected]>
2024-09-12Update sparkNassim Jahnke
2024-09-10Fix PaperServerListPingEvent#getPlayerSample not being populated or used ↵Jason Penilla
(#11387)
2024-09-09deprecate isEnabledByFeature in Item/BlockTypeJake Potrebic
2024-09-08Add Decorated Pot Cracked API (#11365)Fabrizio La Rosa
2024-09-08Add Item serialization as json api (#11235)masmc05
* Item serialization as json * Add ItemStackAdapter for Gson * A javadoc note at #serialize() and #deserialize() * Rebase * Move serialize closer to deserialize * Add explaining comment about SERIALIZE_CUSTOM_AS_SNBT usage * Apply lynxplay requests * Forgot `@NotNull` * Very important diff was removed * Rebase * Javadocs --------- Co-authored-by: Bjarne Koll <[email protected]>
2024-09-08Tag Lifecycle Events (#10993)Jake Potrebic
* wip tags * use generics in tag registrars * comment out varargs methods for now * split up patch * cache loaded service provider * finish renames * use builderWithExpectedSize * finalize
2024-09-08Update Velocity natives againNassim Jahnke
If you segfault, update your jre/jdk:tm:
2024-09-08Enchantment is data-driven, so not FeatureDependant (#11377)Jake Potrebic
2024-09-07Add FeatureFlag API (#8952)Jake Potrebic
* Add FeatureFlag API * switch to index & move method * fix test
2024-09-07Deprecate for removal all OldEnum-related methods (#11371)Jake Potrebic
2024-09-07Fix shulkerbox loot table replenish (#11366)Jake Potrebic
* Fix shulkerbox loot table replenish * re-add loot table if cleared * add config
2024-09-07Fix NPE while trying to respawn an already disconnected player (#11353)Pedro
2024-09-07Revert velocity natives to 3.1.2 (#11368)Bjarne Koll
The updated velocity native compilation pipeline seems to emit binaries that are not compatible with alpine. The commit temporarily reverts the natives included until a proper solution is found.