High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies https://papermc.io/
Find a file
Riley Park c1aa7261e0 1.17 (#5881)
* hacked build changes, api applies cleanly

* Did anyone say gradle? and paperweight? potentially even mojmap?!

* Update paperweight & build config for Spigot changes

* Move patches

* Initial Spigot remap patches

* Inital remap of patches

* Move patches around

* Remap POM changes patch

Signed-off-by: Mariell Hoversholm <proximyst@proximyst.com>

* Rename POM changes to build system changes

Signed-off-by: Mariell Hoversholm <proximyst@proximyst.com>

* Apply a few more patches

Signed-off-by: Mariell Hoversholm <proximyst@proximyst.com>

* Rename all patches to correct numbering scheme

Signed-off-by: Mariell Hoversholm <proximyst@proximyst.com>

* More remapped patches

Signed-off-by: Mariell Hoversholm <proximyst@proximyst.com>

* ci: remove java 8 build

Signed-off-by: Mariell Hoversholm <proximyst@proximyst.com>

* Update Timings patch (#5796)

* fix: up the max memory for gradle

Signed-off-by: Mariell Hoversholm <proximyst@proximyst.com>

* fix: add pom changes to gradle

Signed-off-by: Mariell Hoversholm <proximyst@proximyst.com>

* fix: remove empty java file

Signed-off-by: Mariell Hoversholm <proximyst@proximyst.com>

* fix: remove #isStopping check

Signed-off-by: Mariell Hoversholm <proximyst@proximyst.com>

* fix: closer to compilable

Signed-off-by: Mariell Hoversholm <proximyst@proximyst.com>

* fix: the server compiles

Signed-off-by: Mariell Hoversholm <proximyst@proximyst.com>

* fix: map parent method where CB does not

Signed-off-by: Mariell Hoversholm <proximyst@proximyst.com>

* feat: new maven group: io.papermc.paper

Signed-off-by: Mariell Hoversholm <proximyst@proximyst.com>

* fix: Update paperweight mcdev and fix CraftBukkit patch

* few fixes to make it actually run

* Add Paper version back to manifest, add `runShadow`, `runReobf`, and `runDev` tasks for testing

* fix adventure patch

* rebase

* more patches

* more patches

* more patches (#5799)

* Add ASM dep to API and fix issues from title packet changes with bungee api

* patches

* fix PlayerUseUnknownEntityEvent patch (#5800)

* some patches

* even more progress

* even even more progress

* even even even even even even even more work

* even even even even even even even even even more changes

* fix profile cache mappings

let me be OP god dammit!

* even even even even even even even even even even even

even even even even even even even even even even
even even even even even even even even even even
even even even even even even even even even even
even even even even even even even even even even
even even even even even even even even even even
even even even even even even even even even even

more work

* even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even even

more work

* add mcdev imports file

* More work

* More more work

* Fix patch, fix .gitattributes file name

* More more more work

* even more wooooooooooooooooooooooooork uwu

* more patches (#5807)

* Fix this stupid bullshit v2

* delete unneeded old patches

* more patches (#5808)

* more patches

* gradlew.bat crlf fix (#5810)

* more patches (#5811)

* Cleanup project build config

* Write API version to pom.properties for Versioning to read

Maven writes this metadata normally, but we don't use maven. Maybe should modify Versioning instead in the future, but this works just fine for now.

* wowe

* Add `runWorkDir` property for setting a custom run task working directory

* Use `mergeServiceFiles()` instead of AppendingTransformer

* Bump tiny-remapper to 0.4.1

* Use `forUseAtConfigurationTime()` for run directory property

* Resolve run working directory from rootProject

* even even even even more work

* wor

* patches

* 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:
8503c3c9 #621: Add HumanEntity#getItemInUse and Material#getSlipperiness
248deb09 #622: Add methods to check if item is the breed item for an entity
2ce691d8 Clarify Player#breakBlock only works for blocks in the same world
5dcdd48e SPIGOT-6514: Small Dripleaf block data is missing half property
cc9610b7 #619: Add Player#breakBlock()
862bc475 Fix bad merge of SPIGOT-6502 fix
989bb0c1 Downgrade SnakeYAML due to issues with comments parsing
1dff62ae Fix inverted visual fire docs

CraftBukkit Changes:
40caacc8 SPIGOT-6526: World entities are not populated when plugin onEnable is called
c9a92ad0 SPIGOT-6536: Marker position not set on spawn
20d3e57c #855: Add HumanEntity#getItemInUse and Material#getSlipperiness
d9c69b44 SPIGOT-6529: Fix BundleMeta#setItems
8bd43be5 SPIGOT-6535: PlayerGameModeChangeEvent event incorrectly reports old gamemode
4ece3ff3 #856: Add methods to check if item is the breed item for an entity
dd4bec5f Add additional validation to Player#breakBlock
bc835ae6 SPIGOT-6532: Fix Entity#setGlowing
384e116e Restore 1.16.5 behaviour of InventoryDragEvent being called even when a single item is 'dragged' to its own slot
b42e708c Fix new map colors rendering as transparent
cfe7fecf SPIGOT-6524: Inventory desync when InventoryClickEvent is cancelled
eeae1b19 SPIGOT-6522: ItemStack on cursor is always AIR
7490724d Fix missing PlayerEditBookEvent
06875f76 SPIGOT-6513: Placing ItemStack in Inventory causes InventoryAction.NOTHING
27835bde SPIGOT-6519: Fix end gateway teleports
4ac634ad SPIGOT-6515: "Un-waterlogging" throws UnsupportedOperationException in some cases
da425fa2 SPIGOT-6518: Anvils falling onto dripstone can sometimes crash server
50530da9 SPIGOT-6514: Small Dripleaf block data is missing half property
6fdecf20 #853: Implement Player#breakBlock()
4db9c49f SPIGOT-6510: Bukkit#createMap throws NullPointerException
89e2b127 SPIGOT-6517: Spider jockey crash on dripstone
cbf2f678 SPIGOT-6508: Rename conflicted getServer
74575d48 SPIGOT-6506: Fix crash with custom inventories
a3df386f Fix NPE with Entity.getNearbyEntities
d747f8ed Fix NPE with World.getNearbyEntities
4d2c7800 Fix second usage of worldGenSettings just in case
5182f923 SPIGOT-6504: Fix generating fresh worlds

Spigot Changes:
66f9d3c1 Rebuild patches
191e4971 Rebuild patches
a09c0bb6 Restore Spigot experience merging

* patches

fix

* patches and patches

* patch

* fix compile

* Work

* More work

* More more work

* Move this back

* Fix compile

* more work

* fix kneny dumb

* even more work

* Fix recursive connection call causing StackOverflowException

This was probably caused by the rename sendPacket->send and dispatchPacket->sendPacket

* adjust material set tag sizes

MC added a buuuunch of stuff

* more patches

* MOAR PATCHES

* update github action to the new setup

* update github action to the new setup

* separate out the CI tasks

* use local class for movecontrol stuff to prevent reobf mapping issue

* eeeeww, maven

* not even checkstyle can help us now

* fix tests

* EVEN MOOOOOAAAAAAARRRRRRR patches :) (#5820)

* Use correct jetbrains annotations

* work work (#5821)

* patches

* reorder patches after merge

* small fixes

* fix exception (#5822)

* 2 patch

* progress

* Re-add xp orb merging patches (#5823)

* ReAdded PreCreatureSpawnEvent from removed (#5814)

* reorder

* patches

* Fix mojangapi build

* Add back incremental chunk saving patch

* add entity debug info patch back

* more patches (#5827)

* more patches

* even moar patches

* Add missing getLevel implementation to Hopper Minecart, add mapping to fix reobf

* decomp fixes

* more work uwu

* fix issue in hopper patch

* more work work work

* even MOAR progress

* need to look at this later, fails rn

* even moar workkkkk

* fix compile issues

* even more compile fixes

* fix no grav bee patch for world height changes

* more patches

* resolve paperweight from paper repo

* run CI with --stacktrace

* more patches

* more patches & fixes to existing patches

* add access transforming capabilities

* continue to load paperclip from jfrog for now

* more patches

* Put pom in correct location for Paperclip install to maven local feature

* Re-add Chunk Priority/Urgency System (#5829)

* Organize removed patches (#5836)

* tons of patches (#5835)

* Fix AT format issue

* Update editorconfig

* patches

* update mappings files

* 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:
ebb0e28d #631: Add Villager#shakeHead
751469c6 #629: Add LivingEntity#isClimbing

CraftBukkit Changes:
622cf611 SPIGOT-6555: Cannot access shield BlockStateMeta
8b2e78ec SPIGOT-6542: Fix counting players with fauxSleeping = true
f66c437a SPIGOT-6561: Add events for dripleaf tilting
6ed40004 SPIGOT-6560: Crash when falling stalactite hits player
72a2901b SPIGOT-6557: PlayerEditBookEvent#setNewBookMeta does not update meta
a07e783a #865: Implement Villager#shakeHead
3252ff18 #863: Add LivingEntity#isClimbing
77058c79 SPIGOT-6554: Worlds created with the bukkit ChunkGenerator cannot save

* fixes

* Gradle & Paperclip updates

* Fix mappings patches for Hopper getLevel issue

* final patches from remapped and unmapped

keep in mind many patches in the removed folder still need to be updated

* update Fix incorrect status dataconverter for pre 1.13 chunks

* Add back stream patch (#5838)

* port some patches (#5837)

* reorder patches after merge

* Update to paperweight 1.0.0, with automatic library imports

* Update paperweight to 1.0.1

* Run Gradle tasks in parallel by default

* Remove now unnecessary scripts and update upstreamMerge.sh

* Remove Paperclip submodule

* 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:
f992ce60 Fix duplicate datapack reload on /reload

* revert accidental changes

* update Optimize Pathfinder - Remove Streams / Optimized collections

* Revert "Updated Upstream (CraftBukkit)"

This reverts commit 850a1e1949.

* add back optimizing hopper searches (#5839)

* Clean cache on upstream update

* Updated Upstream (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

CraftBukkit Changes:
f992ce60 Fix duplicate datapack reload on /reload

Spigot Changes:
9472b09d Rebuild patches

* Remove sync loading of spawn chunks

Adding the tickets is sufficient

* BlockPos.withinManhattan decomp fix

* Port anti x-ray patch

* Fix ChunkPacketBlockControllerAntiXray initialize

* Changes to xray patch

* Port Stop-copy-on-write-operations-for-updating-light-dat

* Disable Gradle file system watching by default

It's unclear if this will help anything but we are getting a lot of
issues with the daemon holdong on to files between builds and causing
issues.

* Add note on removed patch

* start adding in ATs

* AT bullshit

* Fix a few cases of the vanilla mob goals

* one missed AT

* mojang mapped vanilla goals

* added remaining hunks from chat/title packets (#5844)

* fix StopAttackingIfTargetInvalid behavior

* Update sync chunk load debug patch

Had to drop some hunks modifying getEntities, as those methods were rewritten by Mojang in 1.17

* Updated Upstream (Bukkit/CraftBukkit) & more patches

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:
e9ce88b9 SPIGOT-6562: Add more specific sculk sensor event

CraftBukkit Changes:
d7ef1e91 SPIGOT-6558: Attempt to improve SkullMeta
e7a63287 SPIGOT-6562: Add more specific sculk sensor event

* add more patches back

* Update Paperweight to 1.0.2

* Update runDev task for Gradle 7.1 deprecations

also no longer disable watchdog by default, instead require `disableWatchdog` Gradle property to be set

* Bump paperweight to 1.0.3

* more patches added back

* Bump paperweight to 1.0.4

* Revert "Re-add Chunk Priority/Urgency System (#5829)"

This reverts commit 2119f06b5a.

Patch was updated incorrectly and needs a closer look.

* Temporarily revert incremental chunk saving patch

Needs updating to hook into new entity storage system

* Modify entity origin API to store world/pos seperatly

* Fix comment

* Update Asynchronous chunk IO and loading for variable world height limits

* Port chunk priority urgency patch

* Definitely readd this patch for the first time

* Fix custom world height in xray patch

* Port improve chunk status transition speed

* remove optimise random tick patch for now

* Fix entity death sounds

* fixes issue with chunk saving

fixes #5854

* Enable chunk load for feature search by default

* remove some more obf helpers

* update to Adventure 4.8.1

* Fix artifact ids

* Minor patch cleanup

* Bump paperweight to 1.0.5

* Add a note about deleting pom.xml in first patch

* Relocate other libraries Spigot added and relocates in 1.17

* Update Entity load/save limit per chunk

* Simplify Multi-Release plugin jar patch

We don't have to worry about running on Java <9 anymore.

* Bump paperweight to 1.1.0

This paperweight update uses Hypo to cleanup and fix reobf mappings
based on the completed jar, which removes a lot of issues we were
previously having around weird CraftBukkit edge cases and synthetic
issues (as always). It's not yet perfect (PaperMC/paperweight#18) but
it's much better than it was.

* Update incremental chunk saving

* Update author on my patches

* 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:
2dbec584 SPIGOT-6570: Missing InventoryType: COMPOSTER
e9ce88b9 SPIGOT-6562: Add more specific sculk sensor event

CraftBukkit Changes:
9122f5a6 #869: Fix BossBar setColor and setStyle updates
96a15d7a Incrase outdated build delay
ded19075 SPIGOT-6570: Missing InventoryType: COMPOSTER
d7ef1e91 SPIGOT-6558: Attempt to improve SkullMeta
e7a63287 SPIGOT-6562: Add more specific sculk sensor event

Spigot Changes:
101ebb63 SPIGOT-6573: Berry Bushes deal damage when not moving

* remove remaining POMs

* missing ats and mappings

* check if sender is a player in paper dumpitem command, closes #5858

* remove system property for book size limits

"It was from a different time before books were as jank as they are now. As time has gone on they've only proven to be worse and worse."

* nuke a few more obfhelpers

* deprecate all obfhelpers

* death to more obfhelpers

* fix build

* remove more obfhelpers

* Bump paperweight to 1.1.2

* Don't include log4j

* Fix #5856 Entity origin (#5861)

* Thanks for joining us for the magic show tonight

* Move package version to server project

* downgrade snakeyaml to fix issues with comments

this was done by upstream, but got missed. Thanks @mrfloris for pointing this out.

* Remove chat event APIs marked as deprecated for removal with 1.17

* Add task to print Minecraft version, add snapshots repo for publishing

* Save BlockEntities on main for async chunk saves

Closes #5854

* add back optimizing ServerLevel chunk checking methods

* 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:
68d40318 SPIGOT-6580: Cancelling SlimeSplitEvent Causes Infinite Loop
78d93f77 SPIGOT-6576: BlockExpEvent does not show XP when breaking a furnace

* Fix startup delay and warning caused by oshi

* thank you for your service, old spigot mapped patches, you will not be missed.

* fix patch mis-order

Co-authored-by: Kyle Wood <kyle@denwav.dev>
Co-authored-by: Mariell Hoversholm <proximyst@proximyst.com>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com>
Co-authored-by: Jake Potrebic <jake.m.potrebic@gmail.com>
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
Co-authored-by: Nassim Jahnke <nassim@njahnke.dev>
Co-authored-by: Aurora <aurora@relanet.eu>
Co-authored-by: mechoriet <kevinworm92@gmail.com>
Co-authored-by: Professor Bloodstone <git@bloodstone.dev>
Co-authored-by: Omer Uddin <kickash32@gmail.com>
Co-authored-by: Josh Roy <10731363+JRoy@users.noreply.github.com>
Co-authored-by: Kyle Wood <kyle@denwav.dev>
Co-authored-by: Shane Freeder <theboyetronic@gmail.com>
Co-authored-by: Riley Park <rileysebastianpark@gmail.com>
Co-authored-by: djytw <djytw@live.com>
2021-06-19 10:52:47 -07:00
.github run CI with --stacktrace 2021-06-14 21:12:21 +02:00
build-data remove more obfhelpers 2021-06-17 14:39:36 -07:00
gradle/wrapper Gradle & Paperclip updates 2021-06-14 23:17:16 -05:00
licenses [CI-SKIP] Clarify project licensing 2018-03-06 20:41:03 -05:00
Paper-MojangAPI remove remaining POMs 2021-06-17 10:11:00 -07:00
patches Fix startup delay and warning caused by oshi 2021-06-19 09:57:56 +02:00
scripts Clean cache on upstream update 2021-06-15 01:38:41 -07:00
work Updated Upstream (CraftBukkit) 2021-06-19 09:06:28 +02:00
.editorconfig Update editorconfig 2021-06-14 20:50:12 -07:00
.gitattributes Fix patch, fix .gitattributes file name 2021-06-12 14:09:11 +02:00
.gitignore Update paperweight & build config for Spigot changes 2021-06-11 06:23:18 -05:00
.gitmodules Remove Paperclip submodule 2021-06-15 01:44:13 -05:00
build.gradle.kts Add task to print Minecraft version, add snapshots repo for publishing 2021-06-18 16:38:26 -07:00
CONTRIBUTING.md [CI-SKIP] Add PR rebasing steps (#5634) 2021-05-16 09:29:19 -07:00
gradle.properties Move package version to server project 2021-06-18 00:25:16 -05:00
gradlew Did anyone say gradle? and paperweight? potentially even mojmap?! 2021-06-11 09:45:34 +02:00
gradlew.bat gradlew.bat crlf fix (#5810) 2021-06-12 23:34:05 +02:00
LICENSE.md Add More Lidded Block API (#5707) 2021-05-26 03:05:03 +09:00
README.md [CI-SKIP] Fix YourKit links in readme, fixes #5091 2021-01-20 16:23:30 +01:00
settings.gradle.kts revert accidental changes 2021-06-15 00:28:40 -07:00

Paper GitHub Workflow Status (branch)

High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.

Support and Project Discussion:

How To (Server Admins)

Paperclip is a jar file that you can download and run just like a normal jar file.

Download Paper from our downloads page.

Run the Paperclip jar directly from your server. Just like old times

How To (Plugin Developers)

  • See our API patches here
  • See upcoming, pending, and recently added API here
  • Paper API javadocs here: papermc.io/javadocs
  • Maven Repo (for paper-api):
<repository>
    <id>papermc</id>
    <url>https://papermc.io/repo/repository/maven-public/</url>
</repository>
  • Artifact Information:
<dependency>
    <groupId>com.destroystokyo.paper</groupId>
    <artifactId>paper-api</artifactId>
    <version>1.16.5-R0.1-SNAPSHOT</version>
    <scope>provided</scope>
</dependency>

Or alternatively, with Gradle:

  • Repository:
repositories {
    maven {
        url 'https://papermc.io/repo/repository/maven-public/'
    }
}
  • Artifact:
dependencies {
    compileOnly 'com.destroystokyo.paper:paper-api:1.16.5-R0.1-SNAPSHOT'
}

How To (Compiling Jar From Source)

To compile Paper, you need JDK 8, maven, and an internet connection.

Clone this repo, run ./paper jar from bash, get files.

How To (Pull Request)

See Contributing

Special Thanks To:

YourKit-Logo

YourKit, makers of the outstanding java profiler, support open source projects of all kinds with their full featured Java and .NET application profilers. We thank them for granting Paper an OSS license so that we can make our software the best it can be.