#build-tooling-help

1 messages · Page 21 of 1

lament scarab
#

what?

#

You tried to apply the patches that you modified

#

the patch failed

#

your git repo is now in a busted state because you didn't resolve that

#

you tried to run a command which expects the repo to be in a specific state, which it is not

rapid pier
#

so i used publish to maven locally

lament scarab
#

paperweight creates the git repo for that tree

#

I think you have a poor understanding how any of this stuff works

#

I cannot help you

bronze ember
#

Working with patches requires deep understanding of git

white arrow
#

Is there any way I could have my paperweight dev bundle in the runtime classpath? I want to create a little codegen tool that makes updating my nms stuff between minecraft versions easier

white arrow
#

got it working by adding mojangMappedServerRuntime to the runtimeClasspath

smoky violet
#

(which is not the dev bundle but is what you want)

quiet dew
bright agate
#

feature patches arent working yet

glass warren
quiet dew
#

oh ok, I was hoping I could build some sort of DEV version but thanks anyway

bronze ember
#

ApplyFilePatches

quiet dew
#

how does that differ from applyPatches?

bronze ember
#

It doesn't apply feature patches

bright agate
#

applyPatches = applies everything
applySourcePatches = source patches
applyFilePatches = (correct me if im wrong) applies the datapack file patches

bronze ember
#

File patches depends on source and on resource patches

#

Apply patches depends on file patches and feature patches

bright agate
#

i was close, also thats good to know as i ran file AND source 😂

brittle fossil
glass warren
#

I think our general position on 1.8 is "it's super old, so we can't really help you with it" even in this channel. If you can't resolve that kind of stuff it's probably a larger undertaking than is worth it. It's 10+ year old code and tooling.

lament scarab
#

We generally know that that doesn't work

#

you'd need to clone the branch and apply the patches, and fix every issue that comes your way in the process

brittle fossil
#

I was hoping it would work since I have an underlying issue that needs fixing. Do you guys know any other open source spigot forks that I can apply patches to?

glass warren
#

Nope, we just focus on our own software here.

brittle fossil
#

Ok

glass warren
#

Running 1.8 in 2025 is bonkers.

brittle fossil
#

It's for a community that plays 1.8

#

I'm remaking a gamemode on the Hypixel network after it has failed to receive any updates for 3+ years

glass warren
#

Hypixel uses their own software. Generally don't try to be Hypixel

brittle fossil
#

I understand they do

#

I'm not trying to recreate their spigot fork

glass warren
#

Anyway - I'm not here to try to convince you otherwise.

#

We can't help much with 1.8. Sorry.

#

Good luck!

lament scarab
#

I think that there was 1 or two forks out there which where kinda maintained, but, you're generally on your own on that front

brittle fossil
#

Is it possible to transfer performance optimization patches in paper to spigot?

lament scarab
#

there is a reason why we moved away from bash scripts for all of this stuff

#

with enough effort, sure

glass warren
#

But, again, we just worry about our own software. Anything like that is far beyond the scope of this channel / Discord.

glass warren
#

We don't need this kind of comment/etc in help channels.

celest pulsar
#

ok,i deleted

median pulsar
#

do I have to use paperweight 2.0.0 beta for 1.21.5 or is the latest stable version fine?

bronze ember
#

Latest beta

#

Just as for 1.21.4

median pulsar
#

is there a list of breaking changes

bronze ember
#

Should just work

median pulsar
#

alr

bronze ember
#

Make sure you also use latest Gradle

median pulsar
#

wait is spigot reobfuscation still supported in 2.0.0?

static urchin
#

for now, yes ™️

median pulsar
#

please don't remove it 🙏

static urchin
#

we will in the future

#

Same goes for the remapper that allows spigot mapped nms plugins to run on paper.

#

That thing is there as a transition period helper for devs, not a long term commitment to allow spigot NMS to run on paper

median pulsar
#

yeah that makes sense once spigot is completely dead

lucid mulch
#

i mean it already is

static urchin
#

Well no, we are already no longer a spigot fork

#

we are not "waiting" for anything from spigots side

#

We are just giving devs time to migrate over to mojang mappings

median pulsar
#

i am talking about popularity

static urchin
#

Yea I am not

#

spigot popularity is irrelevant to this

#

If you still wanna support both paper and spigot NMS you should look into modules for each platform

lucid mulch
median pulsar
#

i don't, i just maintain a library and i don't want to drop spigot support

glass warren
lucid mulch
#

okay sorry

glass warren
median pulsar
#

i'll probably just switch everything to reflection

#

at some point

#
> Could not resolve org.spigotmc:spigot-api:1.12.2-R0.1-SNAPSHOT.
     Required by:
         project :scoreboard-library-modern
      > Module 'org.spigotmc:spigot-api' has been rejected:
           Cannot select module with conflict on capability 'org.spigotmc:spigot-api:1.12.2-R0.1-SNAPSHOT' also provided by [io.papermc.paper:paper-api:1.21.5-no-moonrise-SNAPSHOT(apiElements)]
   > Could not resolve io.papermc.paper:paper-api:1.21.5-no-moonrise-SNAPSHOT.
     Required by:
         project :scoreboard-library-modern > io.papermc.paper:dev-bundle:1.21.5-no-moonrise-SNAPSHOT:20250327.163108-2
      > Module 'io.papermc.paper:paper-api' has been rejected:
           Cannot select module with conflict on capability 'org.spigotmc:spigot-api:1.21.5-no-moonrise-SNAPSHOT' also provided by [org.spigotmc:spigot-api:1.12.2-R0.1-SNAPSHOT(compile)]

how can this be fixed?

lucid mulch
#

just depend on the paper dev bundle

median pulsar
#

i can't, i have multiple modules A and B, A depends on spigot-api, and B depends on the dev bundle but also depends on A

#

so it causes that capability error

bronze ember
#

then exclude spigot when depending on module a

median pulsar
#

yeah that works

lucid mulch
#

does anyone know how to fix this? i'm trying to compile a fork of paper for 1.21.5 and it's giving these errors

#

i never touched this file and i heard that paper is supposed to compile on the latest commit

golden seal
#

applying the pufferfish patchset is not going to make your life easier

lucid mulch
#

i'm updating my fork of it

#

oh okay nvm i figured it out

#

i had to change the generatedDir in the server build.gradle.kts

#
@@ -262,7 +_,7 @@
     jvmArgumentProviders.add(provider)
 }
 
-val generatedDir: java.nio.file.Path = layout.projectDirectory.dir("src/generated/java").asFile.toPath()
+val generatedDir: java.nio.file.Path = layout.projectDirectory.dir("../paper-server/src/generated/java").asFile.toPath()
 idea {
     module {
         generatedSourceDirs.add(generatedDir.toFile())
#

now it compiles 😎

shadow hearth
#

im trying to run gradlew applyPatches but I keep getting this error that I can't figure out, anyone know what could be causing it?


* Where:
Build file 'D:\dev\Paper\build.gradle.kts' line: 88

* What went wrong:
Could not create task ':paper-api:test'.
> Could not create task of type 'Test'.
> Could not create an instance of type org.gradle.api.internal.tasks.testing.DefaultTestTaskReports.
> Could not create an instance of type org.gradle.api.reporting.internal.DefaultReportContainer.
> Type T not present

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 940ms
Configuration cache entry stored.```
shadow hearth
#

deleted my jdk and reinstalled from adoptium and now it works 🤷‍♂️

feral notch
#

morning all. can anyone help me with the give command? Im running the lastest papermc on docker, with geyser and floodgate installed. Everything else is vanilla. I have one admin that can run the give command fine, but giving items with enchantments is not working. I tried installing essentials but it made no difference. Here is the error i get thats saying my syntax is wrong where its expecting a number and not curly brackets:

#

full comand was: /give <player> minecraft:diamond_sword{Enchantments:[{id:"minecraft:sharpness",lvl:5},{id:"minecraft:unbreaking",lvl:3},{id:"minecraft:fire_aspect",lvl:2},{id:"minecraft:looting",lvl:3},{id:"minecraft:sweeping",lvl:3}]} 1

bright agate
#

that looks like a pre 1.20.5 command.
Also not sure how thats related to this channel

feral notch
#

sorry. which channel should i ask

bright agate
#

#paper-help is usually the channel, but considering youre running year old software, i dont think youre going to get a lot of help.

feral notch
#

im not running 1.20.5. im running 1.21.4

#

maybe thats my problem. my command is old

bright agate
#

then you should use 1.20.5+ commands

feral notch
#

can you give me a pointer on using enchantments 1.20.5+

feral notch
#

cool thanks

topaz girder
#

i just switched to gradle.kts and i do not understand the problem here, i searched online but i can't see where to fin the syntax of kts

grand niche
#

share your entire buildscript

topaz girder
#

now i get this error at line 51

echo kilnBOT
topaz girder
frail pelican
#

How can I make gradle build something deprecated for removal. I have a class I have marked as deprecated for removal myself? It does not build. When I remove it, it will build. I just want those red markers in the code so that I know what I have to remove, but I still want the ability to test. Gradle is so annoying because it is so restrictive, I also can't build a javadoc jar when not ALL methods, even those which are obvious (getter/setter) have a comment with all parameters. It's so stupid.

lucid mulch
topaz girder
#

line 59

lament scarab
#

You have groovy code inside of a kts file, you basically need to convert stuff into kotlin

#

if you want to configure a task, generally you need to go to the tasks container, i.e. inside of a tasks block, or, tasks.taskName

dull forum
#

i ran this:
and i cant find the right folder

lament scarab
#

you have the clean task highlighted

#

that will delete the target folder

#

you want package, right click it and create a run task for it

dull forum
#

Okay i did clean and now this? or which build

#

Ok thanks it worked

terse sorrel
#

What is the meaning of paper-server and folia-server (I forked folia) + myfork-server and same with api. Because right now I see some of the files are arbitarily thrown inbetween these 3 directories, whats the logic and where can I easily find where to look for a specific file (when applying patches from pre 1.24.4)

lament scarab
#

I mean, it's layers

#

folia is a patch over the top of paper

#

when modifying stuff in the folia repo, you ignore the paper folders

raven barn
#

<@&748618676189528155>

#

pretty much in all channels?

terse sorrel
lament scarab
#

because its' done in stages

#

folia patches over paper-server, and you can't patch paper-server without having paper-server

wooden vessel
#

How can i please turn on breaking bedrock?

#

On paper serve

#

r

proud maple
#

step 1 is to use the right channel

wooden vessel
#

Oh, sorry :(

terse sorrel
#

because right now I make a feature and I have to commit this feature in 3 different git repositories

lament scarab
#

They will be in all of them, because they're patching layers

#

You once again do not need to touch the other folders

#

They're not even added to your project compilation

glass sable
#

@timid carbon​ the gradle cache is in .gradle/caches

timid carbon
#

thank you

timid carbon
glass sable
#

then it's not a cache issue

#

what does your log look like?

timid carbon
#

stacktrace?

glass sable
#

the full log that gradle outputs when you run the build

timid carbon
#

or do you want me to run with --info?

glass sable
#

or applyPatches I guess

#

maybe? I don't really know gradle by heart

timid carbon
#

I'll run with the info flag

#

oh sorry just realised that the caches folder was under my users folder, not the project folder

glass sable
#

technically they both potentially have them

timid carbon
#

i'll re-run and let you know, thank you!

#

Same issue

brave widgetBOT
timid carbon
#

That's the stacktrace, I'll re-run with the --info flag

brave widgetBOT
timid carbon
#
Caching disabled for task ':paper-server:indexLibraryFiles' because:
  Caching has not been enabled for the task
Task ':paper-server:indexLibraryFiles' is not up-to-date because:
  Task has failed previously.``` 

very weird error
bronze ember
#

That's not the error

timid carbon
#

what do you suggest?

bronze ember
#

There is some corrupted jar or zip somewhere

timid carbon
#

If it's not in Gradle's caches folder then I don't know where it is

bronze ember
#

Run the clean task, whatever that's called, or delete .Gradle in server

timid carbon
#

Same error

bronze ember
#

It can't possibly run that fast

timid carbon
#
Calculating task graph as no cached configuration is available for tasks: clean

> Configure project :paper-server
paperweight-core v2.0.0-beta.14 (running on 'Windows 10')

BUILD SUCCESSFUL in 1s```
#

It did

bronze ember
#

No I mean the appP

timid carbon
#

oh

bronze ember
#

And I am not sure if that's the task that actually deletes the caches

timid carbon
#

cleanCache seems to be it

#

what's concerning is that it only took 5 seconds...

#

did nothing 🤷

bronze ember
#

Run appP with --stacktrace after manually deleting .Gradle in server

#

It should took quite some time to run appP

timid carbon
#

I'll asume ".gradle in server" means the .gradle folder under C:\Users\Jadyn\?

bronze ember
#

No, paper-server

timid carbon
#

ohhh sorry

humble badge
#
     Required by:
         root project : > io.papermc.paperweight.userdev:io.papermc.paperweight.userdev.gradle.plugin:2.0.0-beta.16
> No matching variant of io.papermc.paperweight:paperweight-userdev:2.0.0-beta.16 was found. The consumer was configured to find a library for use during runtime, compatible with Java 23, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.10' but:
          - Variant 'javadocElements' declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about its target Java version (required compatibility with Java 23)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.10')
          - Variant 'shadowRuntimeElements' declares a library for use during runtime, compatible with Java 17, packaged as a jar, and its dependencies repackaged (shadow jar):
          - Variant 'sourcesElements' declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about its target Java version (required compatibility with Java 23)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.10')```
Gradle version: 8.10
Java: Oracle OpenJDK 23
How to deal with this?
bronze ember
#

Update Gradle

timid carbon
#

@bronze ember vielen dank, my internet is quite slow so it'll be a while before I can report back. Thanks for helping so far!

bronze ember
#

I'll be around

timid carbon
#

Appreciate it :)

#

@bronze ember afraid it failed in the exact same way

brave widgetBOT
glass sable
#

do you have a anti virus/firewall/restrictive government?

timid carbon
#

none of those

glass sable
#

because something is messing with your downloaded files...

#

might be worth running an anti virus too... viruses might modify jars too lmao

timid carbon
#

oh the windows defender firewall is on

#

this hasn't happened before though lmao

#

i'll consult doctor malwarebytes and get back to you

bronze ember
#

Can also try to manually open the libs and see

#

Should be somewhere under paper-server .Gradle caches paperweight libraries or Minecraft or something

glass sable
#

yeah, there's most likely just one being 0 bytes big

timid carbon
#

this would be in the project folder and not the .gradle folder in my users folder?

bronze ember
#

In the paper-server module

timid carbon
#

oh sorry

#

been a long day for me lmao

#

nothing out of the ordinary

cinder ember
#

It may sound ridiculous but when I use this, for some reason I can't get the same result as mache. Even though the mappings and .jar versions are all the same, when I compare the code I get a different output. ```bash
librariesClasspath=$(find ".cache/$mcVersion/libraries" -name "*.jar" | paste -sd ":" -)

java -jar "tools/jars/codebook.jar"
--remapper-file="tools/jars/autorenamingtool.jar"
--mappings-file=".cache/$mcVersion/server.txt"
--params-file=".cache/$mcVersion/parchment.zip"
--output=".cache/$mcVersion/server-deobf.jar"
--input=".cache/$mcVersion/server.jar"
--input-classpath=$librariesClasspath
--hypo-parallelism=1
--force || exit 1

#

Here I am trying to remap the server and apply mache patches but I am not getting exactly the same format as mache

lament scarab
cinder ember
lament scarab
#

codebook deals with renaming and bytecode normalisation

#

decompilation is left to the decompiler, all the formatting stuff is decided by it

nova flax
#

I cant compile papermc:

#

how to fix that

#

please

bronze ember
#

Your branch is old, pull and appP

ocean sierra
#

what is the equal of EntityPig (nms) on Paper?

#

i have the dev bundle but i cant find that class

dusk quail
#

Pig

echo kilnBOT
dusk quail
#

use that to help convert spigot > mojang

ocean sierra
#

i guess is the first one right

dusk quail
#

do you want nms pig or bukkit pig

ocean sierra
ocean sierra
#

second one then

dusk quail
#

yeah

ocean sierra
#

i want to create a custom entity

#

just a pig that can have a owner

#

and he will follow him

dusk quail
#

you could probably do that with pdc

ocean sierra
#

fr?

#

also with every mob

dusk quail
#

iirc every mob is a pdc holder

ocean sierra
#

yea but you mean saving the owner uuid and make the entity teleport to the player some time or what?

dusk quail
#

if thats what you want sure

ocean sierra
#

I want the entity to behave like a wolf, cat or any tame animal

wicked trench
#

apply...FilePatches will error with Failed to apply 0/x hunks, without mentioning the patches that weren't applied since their target was lost. I mean it does, but as a warning which can be easily overlooked

should i create an issue on the tracker? I can see someone getting confused by this since it's very easy to gloss over

timid carbon
# timid carbon

Re-cloned the Paper repo, completely redownloaded and installed Gradle, ran the task, downloaded dependencies, failed in the exact same way.

lament scarab
#

if it's failing in the exact same way, you'd need to work out why you keep getting corrupted zip files

#

There isn't really much we can advise there which isn't "try deleting the cache folders manually" and "check your environment", make sure that the path isn't too long, make sure that you're not running in a folder affected by some file sync stuff

north flume
#

When using the hangar publish plugin in a GH workflow, does it do anything to expose the version url or should I just pipe the entire output somewhere in the workflow and grep for the url?

slim dawn
#

i cannot get familiar with the new paperweight thing

#

i have read the CONTRIBUTING.md but i cant understand how would i add new patches ?

#

how do i modify the patch of the build.gradle.kts in the -api and -server ?

bronze ember
slim dawn
#

i have followed the guide in CONTRIBUTING.md for patching for paperweight 2.0

#

but im unable to do fixup tasks

#

what is the issue here ?

static urchin
#

that is for paper, not for forks of fork

#

read the gradle tasks, you are looking for "single file" patches if you wanna edit the .kts build files

slim dawn
#

i tried task 'rebuildFoliaSingleFilePatches'

#

didn't work :/

#

im not sure what the git command means or what it is doing

#

im not sure how to deal with these git commits because i dont know how paperweight actually works, didnt find the document on it

glass warren
slim dawn
#

yea it is

#

i cloned the paperweight examples repo then change the upstream to folia

lament scarab
#

The tasks are names according to who owns them

#

You are not folia

#

You haven't given your thing a name from what I can see, and thus, your tasks will be named Fork

north flume
smoky violet
#

that feels out of scope for the gradle plugin tbh

north flume
north flume
#

Ended up doing a very cursed:

- name: Publish
  id: publish
  env:
    HANGAR_API_KEY: ${{ secrets.HANGAR_API_TOKEN }}
  run: |
    output=$(./gradlew build publishPluginPublicationToHangar --stacktrace)
    echo "$output"
    echo "output<<EOF" >> $GITHUB_OUTPUT
    echo "$output" >> $GITHUB_OUTPUT
    echo "EOF" >> $GITHUB_OUTPUT
- name: Parse publish result
  id: parse-publish-result
  run: |
    version=$(echo "${{ steps.publish.outputs.output }}" | grep "Successfully published VillagerLobotomy version" | sed -E 's/.*version ([^ ]+) to.*/\1/')
    url=$(echo "${{ steps.publish.outputs.output }}" | grep "Successfully published VillagerLobotomy version" | sed -E 's/.*Hangar: ([^ ]+).*/\1/')
    echo "version=$version" >> $GITHUB_OUTPUT
    echo "url=$url" >> $GITHUB_OUTPUT
``` ![OMEGALUL](https://cdn.discordapp.com/emojis/576886649573736484.webp?size=128 "OMEGALUL")
bronze ember
#

Why do you need hangar to tell you the version?

#

Can't you get it from Gradle? Lol

errant sky
#

Good evening, I am currently correcting my gradle. But I can’t get paperweight. The project compiles correctly but IntelliJ does not recognize classes.
Did you have any ideas of why ?

topaz girder
#

final net.kyori.adventure.text.serializer.@NotNull ComponentDecoder<? super String, C> decoder

how am i supposed to find this?

i am trying to get from the config, instead of a list of string, a list of Components

the method is this: config#.getComponent(BPItems.LORE_KEY, decoder??);

lament scarab
#

The serialisers are ComponentDecoders

topaz girder
topaz girder
#

also you are not importing correctly the paper api

topaz girder
lament scarab
#

The general serialisers used for MM, etc, are implementations of that interface

#

you would just pass in a MM instance, for example

topaz girder
errant sky
smoky violet
#

for the common use case you don't need to add the repo manually and you shouldn't add the api dep manually

#

it's already a transitive dep of the server

#

try building from console, intellij doesn't like to show errors

lament scarab
#

multimodule?

errant sky
smoky violet
#

what I said still applies

#

look at the multi project branch of the test plugin if you need an example

north flume
bronze ember
#

Mmh, fair

slim dawn
#
   val simpblossom = forks.register("simpblossom") {
        upstream.patchDir("paperServer") {
            upstreamPath = "paper-server"
            excludes = setOf("src/minecraft", "patches", "build.gradle.kts")
            patchesDir = rootDirectory.dir("simpblossom-server/paper-patches")
            outputDir = rootDirectory.dir("paper-server")
        }
        upstream.patchDir("foliaServer") {
            upstreamPath = "folia-server"
            excludes = setOf("src/minecraft", "patches", "build.gradle.kts")
            patchesDir = rootDirectory.dir("simpblossom-server/folia-patches")
            outputDir = rootDirectory.dir("folia-server")
        }
    }

    activeFork = simpblossom

if i need to patch into the code that folia has patched into paper-server codebase, where do i do it ? into folia-server or paper-server ?

lament scarab
#

You do not care about the folia or the paper folder

#

Those are not yours, those are still just required as part of the chaining

#

you modify the files inside of your fork

slim dawn
#

ah ok thanks

slim dawn
#

i dont see the source of com.destroystokyo path in my simpblossom-server folder, how can i make patches to that com.destroystokyo ?

lament scarab
#

Those aren't minecraft classes

#

those will be in the main source folder, not the minecraft one

slim dawn
#

there is only the forkserverfile class

lucid mulch
#

You have to modify paper-server

#

you can check the guide on how all this works in the closed pr on the paperweight-examples repo

#

@slim dawn

slim dawn
#

ok thanks :d

lament scarab
#

oh, I didn't realise how cursed the repo layout had become with v2, that's, interesting (And this is why you read the docs instead of trusting some idiot on discord)

cinder ember
#

Hello, I have a problem like this. I decompiled the server according to Mache and downloaded the patches, but when I use the diffpatch tool used to apply these patches, the patches are never applied. I always get an error. I tried to write the Maven plugin as a separate Java application. I tried to use its own CLI tool, but I couldn't. Is there a way to solve this without using Gradle?

glass warren
#

Our tooling doesn't really support maven anymore. You're basically on your own if you aren't using gradle.

cinder ember
#

I'm not exactly using your tooling tools, I'm just trying to apply mache patches, but this diffpatch program is driving me crazy, I guess I'll just apply them all manually.

bronze ember
#

You never even shared the error

cinder ember
#

Yes you are right because I do not get any error diffpatch does not apply patches all the time Failed to apply patches. Number of failed patches: 0 I am sure I did everything right

brave widgetBOT
bronze ember
#

Well, attach your debugger and dig into diffpatch

#

I had to do so countless of times when I wrote the paperweight tasks

#

That helps you figure out what params are wrong

cinder ember
#

I think this is my problem

vivid surge
#

will consumers of my nms using library automatically depend on the reobf jar or do i need to configure that

echo kilnBOT
vivid surge
#

im putting my nms code in a different module in order to not accidentally use nms in the main module

#

im wondering if ill have to edit the nms module in order to be remapped when included into the main module

smoky violet
#

for 1.21.4?

#

please try to give as much context upfront as possible like the linked page says

vivid surge
#

yeah

#

idrk what other context i can give

#

module a is my plugin, module b is nms part of that plugin. im wondering if including module b into module a will automatically apply the reobf to module b

smoky violet
#

you don't need to reobf since 1.20.5

vivid surge
#

wait so the server is completely deobfuscated?

smoky violet
#

if you were targeting older versions or want to waste user's time and disk space, the ''answer" is the oldest pin here

#

yes the server has been mojang mapped since then

#

it deobfuscates legacy plugins

vivid surge
#

ohh ok thanks

#

wait so whats the point of paperweight userdev then post 1.20.5

smoky violet
#

unless someone is paying you a lot of money to support the dozens of spigot users out there, you shouldn't reobf

smoky violet
vivid surge
#

so all paperweight does post 1.20.5 is provide access to nms api?

smoky violet
#

the entire point of userdev has been to provide access to mapped server internals since the beginning

#

there is no 'nms api' though

vivid surge
#

...oh right sry got confused for a moment

smoky violet
#

it's just server internals

vivid surge
#

ty for the help

smoky violet
#

in order to facilitiate that we used to have to reobf plugins at build, but no more

subtle kestrel
#

is paperweight incompatible with arm64? im getting this error when building my plugin. idk how this stuff works 😅

   > Error while evaluating property 'launcher' of task ':paperweightUserdevSetup'.
      > Failed to query the value of task ':paperweightUserdevSetup' property 'launcher'.
         > Failed to query the value of extension 'paperweight' property 'javaLauncher'.
            > Service 'SystemInfo' is not available (os=Windows 11 10.0 aarch64, enabled=false).```
main mica
#

paperweight uses that to auto-provision a JDK. there might be a way to disable that (and to provide your own manually), but I don't know that

fleet epoch
#

what is latest paperweight version with java17 support?

#

wanted to build for 1.20.6, not sure if 1.20.6 is java 17 or 21

#

it looks like from 1.20.5 forward it is java 21

shrewd viper
#

Can i set dependencies in a multimodule gradle project available for all the subprojects as well?
E.g i want to use lombok in every subproject but i thought that there is likely a better way than adding it to every build.gradle for each subproject

lucid mulch
shrewd viper
lucid mulch
#

use allprojects { and set the dep there

lament cloud
#

hey so I tried updating paperweight userdev in my gradle and it's made all my dependencies and tasks error lol
when I try refreshing my gradle, the only output I get is this:

> Task :prepareKotlinBuildScriptModel UP-TO-DATE

BUILD SUCCESSFUL in 218ms

here's my build.gradle.kts, all I wanted was to use 1.21.4 lol: https://paste.learnspigot.com/uboxepuqek.py

LearnSpigot provides a free web-based pastebin service for storing and sharing code snippets with anyone. Powered by hastebin.

distant mango
#

what error do you get

lament cloud
#

all of this is unresolved reference

distant mango
#

try applying the java plugin

lament scarab
#

^ Probably need that as that is what usually provides the implementation configuration iirc

lament cloud
#

like this?

#

this was all working before i changed the paperweight userdev version 😭

#

if I go back to a different version, like 1.7.7 (most recent non-beta), I get the following:

Expected configuration ':paperweightDevelopmentBundle' to contain exactly one file, however, it contains more than one file.
lament scarab
#

Then, bump it back to the latest beta and hit the reimport button

#

if it still fails, do a built from the terminal/try restarting IJ

lament cloud
#

the only thing that happens when i refresh gradle with the newest version is just
prepareKotlinBuildScriptModel BUILD SUCCESSFUL
but it doesnt actually import anything

#

ive invalidated caches and restarted intellij but that hasnt changed anything

lament scarab
#

and if you do a build?

lament cloud
lament scarab
#

You need to update gradle

lament cloud
#

you are the goat tysm good sir

#

never wouldve been able to figure that out on my own

patent rampart
#

This might be a silly question, but I am finally moving "with the times" and am updating my plugin from 1.20.4 to 1.21.5. I have already followed the steps outlined in https://docs.papermc.io/paper/dev/userdev to change my build.gradle.kts, and updated the code where needed to make it compile against the experimental paperweight.paperDevBundle("1.21.5-no-moonrise-SNAPSHOT"). However, in the past we used reobfJar to compile the plugin, but what has this changed to now? Extra context: I do not care about Spigot compatibility and can thus use a Mojang-mapped output. And more importantly: my plugin also uses the shadow plugin to shadow in some extra non-Minecraft-related dependencies like Jackson and some own libraries.

#

I can run the Gradle build or reobfJar tasks, but it does not appear to then shadow in the other dependencies.

#

Ah wait, I might have already answered my own question: I need to use shadowJar again. Will have to test if this one works, but the jar is now significantly bigger. I have gotten too used to reobfJar

dusk quail
#

Yeah if you don't care about spigot just run shadowJar as it no longer needs to reobf

shrewd viper
#

Hey guys i am currently trying to push my mullti-module gradle project to jitpack so i can use it as a library but i run into problems when jitpack is building using paper

bad class file: /home/jitpack/.gradle/caches/modules-2/files-2.1/io.papermc.paper/paper-api/1.21.4-R0.1-SNAPSHOT/bdf888190417929a453af7e053cc7406fc4178b4/paper-api-1.21.4-R0.1-SNAPSHOT.jar(org/bukkit/inventory/ItemStack.class)
221.        class file has wrong version 65.0, should be 52.0
222.        Please remove or make sure it appears in the correct subdirectory of the classpath.

I would love some help

lament scarab
#

Your workspace is setup with a much old version of java

#

you'd want to use java 21

glass sable
#

also you don't really want to use jitpack if this is a public project that others should be able to build too 👀

shrewd viper
#

what would i use instead that implemention is done easily

glass sable
#

well usually you just deploy to maven central if it fits... but github offers maven repos too or you just deploy it to some maven repo/file server you run yourself

#

the main issue with jitpack is that there is no guarantee that each version will continue building in the future (as they don't store builds after a short cache period if you don't pay them)

shrewd viper
#

alright ill look into that

glass sable
#

also jitpack builds just randomly break at times lol

shrewd viper
#

oh okay i didnt know that

#

thanks for the input

glass sable
#

there's also this "fun" issue when people name their group ID after their github profile with com.github that jitpack thinks it needs to build that when you have it as a dependency instead of getting it from the real repo

lilac root
#

Running a blank right now with a 1.21.4 fork. Keep running into this error ( Shown here: https://i.tricrotism.com/3ioayhap.png ), and don't remember exactly how to resolve it. Attempted to Clean Cache, and some other gradle tasks but just running a blank how to resolve it again.

(Ping me with a response if you have feedback)

bronze ember
#

Delete that .gradle and try again

#

Also, just a site note, but folders with spaces are always a really bad idea

lilac root
#

In the root project or the server

#

yeahhhhhhhhhh i know

bronze ember
#

Server

lilac root
#

Kk, 1s

lilac root
#

Gonna re-implement my patches in a fresh fork and see if I somehow can get the same thing or not

steep hatch
#

Can anyone give me downlad link of paper 1.20.1

echo kilnBOT
#

To download old versions of Paper, go to the build explorer: https://papermc.io/downloads/all. Note that old versions are completely unsupported and contain numerous bugs/exploits.

static urchin
#

but also wrong channel

echo kilnBOT
#

To download old versions of Paper, go to the build explorer: https://papermc.io/downloads/all. Note that old versions are completely unsupported and contain numerous bugs/exploits.

steep hatch
static urchin
cobalt lotus
#

What is the intended way to merge upstream changes into my fork when I'm updating it (by changing the commit hash in gradle.properties)? I need to fix the patch files since the line numbers are off and I don't know how to do it without just manually updating them

lament scarab
#

you apply the patches and deal with the conflicts/rejects

lucid mulch
#

you can apply fuzzily or just configure generating .rej files and apply those hunks manually and merge using git rebase into the file patches commit

#

if ure referencing file patches that is

#

for feature ones well u just do it manually pikoh

lilac root
echo kilnBOT
#

It looks like you've encountered an issue with our tooling. Before proceeding with troubleshooting, please review the list below to ensure your setup is up to date.

Lastly, please take the time to describe the issue in detail, as this will help us diagnose and resolve it more effectively.

rapid fractal
#

@tribal dagger ^

tribal dagger
#

output log

cinder ember
#

It would take less time if I did it by hand

lament scarab
#

Unless your project is setup with 20 dozen other versions before it, no, that probably has stalled out or something

cinder ember
lament scarab
#

Yes

#

I work purely on a macbook

cinder ember
lament scarab
#

cancel it and try again

cinder ember
#

Still same

lament scarab
#

you might need to run the cleanCaches command if it complains about that version, or, try to delete the busted files manually

#

Well, it takes some time to decompile, it's not instant

cinder ember
#

I don't understand why the paperweight is causing problems. I already did what you said and I decompiled Minecraft many times on this device and it never took this long.

lucid mulch
#

I mean it takes around the same time for me when i’m using windows

lament scarab
#

did you cancel it, delete the caches, and try again?

bronze ember
cinder ember
#

After completely remapping the server, isn't it enough to add it as a dependency? Why does it take so long?

bronze ember
#

Need to apply patches

#

And it's not normal that it takes so long

#

It takes a few minutes max the first time on a modern PC

#

And is cached after that across all projects using that version

cinder ember
bronze ember
#

Maybe it's running oom or something, there should be logs for the VF output somewhere

lament scarab
#

haaaah just accidently toasted my .gradle folder, thank god for bacjblaze

tiny aspen
#

hi looking at paperweight-examples v2 branch what is the correct way to edit the build.gradle.kts patches now? for example when trying to rename the fork from just fork to something else it'll try to apply fork-api and error

bronze ember
#

Rebuild single file patches iirc

deep flax
#

Hey guys I'm trying to use paper for the first time
mc ver: 1.20.5
Im using gradle groovy and trying to use paperweight-userdev

plugins {
    id 'java'
    id 'com.gradleup.shadow' version '8.3.2'
    id "io.papermc.paperweight.userdev" version "2.0.0-beta.16"
}

group = 'me.mqzen'
version = '1.0-SNAPSHOT'

repositories {
    mavenCentral()
    maven { url = 'https://jitpack.io'}
    maven { url "https://repo.dmulloy2.net/repository/public/" }
    maven {
        name = "papermc"
        url = uri("https://repo.papermc.io/repository/maven-public/")
    }
}

dependencies {
    compileOnly("io.papermc.paper:paper-api:1.21.5-R0.1-SNAPSHOT")
    compileOnly("org.projectlombok:lombok:1.18.30")
    annotationProcessor("org.projectlombok:lombok:1.18.30")
    //compileOnly 'com.comphenix.protocol:ProtocolLib:5.3.0'

}
java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(21)
    }
}
shadowJar {
    exclude 'META-INF/*.RSA', 'META-INF/*.SF', 'META-INF/*.DSA'
    archiveBaseName.set("Example-Plugin")
    archiveClassifier.set("")
    duplicatesStrategy(DuplicatesStrategy.EXCLUDE)

    shadowJar.destinationDirectory = file(file(project.rootProject.property("shadowJarOutputDir")))
}

This is my settings.gradle:

pluginManagement {
    repositories {
        gradlePluginPortal()
        maven{ url "https://repo.papermc.io/repository/maven-public/"}
    }
}
rootProject.name = 'ExamplePlugin'

But it's giving me this error:

A problem occurred configuring root project 'ExamplePlugin'.
> Could not resolve all artifacts for configuration ':classpath'.
   > Could not resolve io.papermc.paperweight:paperweight-userdev:2.0.0-beta.16.
     Required by:
         root project : > io.papermc.paperweight.userdev:io.papermc.paperweight.userdev.gradle.plugin:2.0.0-beta.16
      > No matching variant of io.papermc.paperweight:paperweight-userdev:2.0.0-beta.16 was found. The consumer was configured to find a library for use during runtime, compatible with Java 21, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.10' but:
          - Variant 'javadocElements' declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about its target Java version (required compatibility with Java 21)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.10')
          - Variant 'shadowRuntimeElements' declares a library for use during runtime, compatible with Java 17, packaged as a jar, and its dependencies repackaged (shadow jar):
              - Incompatible because this component declares a component, as well as attribute 'org.gradle.plugin.api-version' with value '8.12' and the consumer needed a component, as well as attribute 'org.gradle.plugin.api-version' with value '8.10'
          - Variant 'sourcesElements' declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about its target Java version (required compatibility with Java 21)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.10')
static urchin
#

the latest beta requires gradle 8.12 or newer iirc

#

you seem to be using gradle 8.10

deep flax
static urchin
#

which docs did you follow

#

because the userdev docs state that

#

Furthermore, if you are having issues with paperweight-userdev, it is suggested that you update your Gradle version to the latest version

#

(latest actually being 8.13)

deep flax
#

Yes, ik it's my fault and all, I'm just suggesting to make it more clear section instead of being between multiple lines or in a paragraph

static urchin
#

👍 I'll throw an issue at the docs to maybe make that a warning block

deep flax
static urchin
#

whatever version you wanna code for, 1.20.5 I guess

#

both are outdated af 😅

deep flax
static urchin
#

AH. Well 1.21.5 paper isn't out yet

#

so, eh

deep flax
#

oh

#

rip 😦

#

Ig i will wait for it

static urchin
#

You can start updating, but that is as much as the dev bundle is usable for

lament scarab
#

I mean, it seems to run fine, etc; just waiting on some stuff, the ^

deep flax
lament scarab
#

no

deep flax
#

ok makes sense 😂

#

I just can't wait

lament scarab
#

it all boils down to coverage, overall, no, for the stuff you need, maybe

deep flax
#

time to temporarily downgrade to 1.21.4

obsidian siren
#

how to download builtool.jar?

static urchin
#

paper does not use build tools, what are you trying to do

sharp pelican
static urchin
#

We don't offer a maven plugin no

#

Generally suggest switching to gradle if you can

#

cc @sharp pelican

sharp pelican
#

Ah I see.
Okay, will see if I can port my plugins to gradle.
Thank you

cinder ember
static urchin
#

it is a pretty nice plugin! whether it actually works better or if the gradle plugin just skill checked you might be up for debate

cinder ember
#

When I used the gradle plugin, I waited 50 minutes for no reason but yes, it is ultimately open to debate.

main mica
#

that is not normal, lol

#

even on Windows without any exclusions it takes a few minutes max

smoky violet
#

it's not for no reason, the maven plugin does not give you sources

#

so you will not be able to view the server source code and the ide will not index properly

#

but even on my 9 year old PC decompile only takes like 3 and a half minutes

#

you might need to get more ram, decompile requires 4g to itself

#

you can also technically disable source gen buts it’s only intended for CI use - additionally most paper updates won’t require decomp to rerun

#

(different forks can even reuse the same decomp if the input parameters are the same in v2)

long yacht
#

hey, so I've been eager to use the new translation features on adventure 4.20 but noticed gradle is using 4.18:

\--- io.papermc.paper:paper-api:1.21.4-R0.1-SNAPSHOT:20250327.133756-218
     +--- com.intellectualsites.bom:bom-newest:1.52 (requested io.papermc.paper:paper-api:1.20.2-R0.1-SNAPSHOT)
     |    \--- compileClasspath
     \--- io.papermc.paper:dev-bundle:1.21.4-R0.1-SNAPSHOT:20250327.133756-218
          \--- compileClasspath

how can I stop IntellectualSite's BOM from importing the very outdated paper-api? relevant snippet:

    paperweight.paperDevBundle("1.21.4-R0.1-SNAPSHOT")
    implementation(platform("com.intellectualsites.bom:bom-newest:1.52"))
    compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Core:2.12.3")
    compileOnly("com.fastasyncworldedit:FastAsyncWorldEdit-Bukkit:2.12.3")
}```
limpid heart
#
smoky violet
#

thats not needed

#

that tree printout says the paper version is being upgraded from what IS requested to the newer one needed by the server

#

paper only updated adventure in the last couple days, try --refresh-dependencies

#

(it specifically says you're using a build from march 27)

long yacht
#

yeah that worked 🤦‍♂️ thanks

sinful summit
#

what does this mean?

static urchin
#

you need gradle 8.12

#

8.8 might be IJ running with it

#

there is a setting in IJ to use the gradle wrapper instead of the inbuilt one

static urchin
sinful summit
static urchin
#

wrapper is correct yes

#

upgrade your wrapper then

sinful summit
#

i tried ./gradlew update but i dont think that was it

static urchin
#

might be best for you to kinda just update the number in the gradle/wrapper/gradle-wrapper.properties

sinful summit
#

oh

#

yeah just googled it found the same result

static urchin
#

the command to update will fail because paperweight fails

#

make sure to run ./gradlew wrapper after

#

to properly update everything else

sinful summit
#

i think it worked

#

btw should i use beta.16 for the userdev plugin?

static urchin
#

Yea

sinful summit
#

is it for mc 1.21.4?

#

ok i assume so since its released earlier than 1.21.5

#

uh whats this

#

is it saying its missing hte paperweight.paperDevBundle("${version}-R0.1-SNAPSHOT")

echo kilnBOT
#

It looks like you've encountered an issue with our tooling. Before proceeding with troubleshooting, please review the list below to ensure your setup is up to date.

Lastly, please take the time to describe the issue in detail, as this will help us diagnose and resolve it more effectively.

smoky violet
#

can't really say much off a screenshot like that

lucid mulch
sinful summit
#

thats why it was complaining

#

everything's good now, i fixed it

#

thanks anyways tho

mighty torrent
#

Hello, I have a question: I am making a plugin for version 1.21.1 using Gradle, but it seems I need NMS, and when I try to import something like org.bukkit.craftbukkit.v1_21_R1.CraftWorld;, it shows as "cannot resolve symbol." I am attaching my Gradle file to see if I am doing something wrong. Thanks in advance:
https://mclo.gs/4ZCyII7

static urchin
#

paperweight provides you with a mojangmapped server source

#

The type is just called CraftWorld, without the package prefix of v1_21_R1

shut tundra
#

for some reason, my one plugin gradle project is using the right paper-plugin.yml but when i build the gradle project it takes the content of my other plugin and puts it into the jar

wise sigil
#

I am getting this error:

> Could not resolve all artifacts for configuration ':classpath'.
> Could not resolve io.papermc.paperweight:paperweight-userdev:2.0.0-beta.16.
     Required by:
         root project : > io.papermc.paperweight.userdev:io.papermc.paperweight.userdev.gradle.plugin:2.0.0-beta.16
> No matching variant of io.papermc.paperweight:paperweight-userdev:2.0.0-beta.16 was found. The consumer was configured to find a library for use during runtime, compatible with Java 21, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.10' but:
          - Variant 'javadocElements' declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about its target Java version (required compatibility with Java 21)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.10')
          - Variant 'shadowRuntimeElements' declares a library for use during runtime, compatible with Java 17, packaged as a jar, and its dependencies repackaged (shadow jar):
              - Incompatible because this component declares a component, as well as attribute 'org.gradle.plugin.api-version' with value '8.12' and the consumer needed a component, as well as attribute 'org.gradle.plugin.api-version' with value '8.10'
          - Variant 'sourcesElements' declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about its target Java version (required compatibility with Java 21)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.10')```
glass warren
#

- Incompatible because this component declares a component, as well as attribute 'org.gradle.plugin.api-version' with value '8.12' and the consumer needed a component, as well as attribute 'org.gradle.plugin.api-version' with value '8.10'

#

This is the relevent bit.

wise sigil
#

How would I fix that?

bronze ember
#

Update Gradle

timid yarrow
#

hello, where do I get files like mappings.srg from?

bronze ember
#

What are you trying to do?

timid yarrow
#

I am trying to create a plugin for a server, but I’m encountering issues with compatibility due to version mismatches. I need to ensure the plugin works with the correct mappings.srg files for different versions of the server.

#

or rather an addon to the plugin

timid yarrow
sick bough
#

Hey. I have a "fork of a fork".
In this case I have forked purpur. How can I "fetch" the latest "upstream" patches and apply?

#

so I just run, for ex. applyPaperMinecraftPatches?

short trench
#

how do I add my own dependency to use on the server and/or the api as well?
do I add the repository and the dependency to fork-api or fork-server?
i've tried both, syncing gradle project, and ./gradlew rebuildPaperPatches, ./gradlew rebuildAllServerPatches, but it doesn't seem to show up in auto complete

#

... nevermind my package was under a different namespace

hollow stump
#
Caused by: org.gradle.api.GradleException: Could not add file '/home/flameyosflow/IdeaProjects/StorySMPPlugin/build/classes/java/main/me/flame/storysmp/blocks/SMPBlock.class' to ZIP '/home/flameyosflow/IdeaProjects/StorySMPPlugin/build/libs/StorySMPPlugin-1.0-SNAPSHOT-all.jar'.

Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 65
plugins {
    id("java")
    id("com.github.johnrengelman.shadow") version("8.1.1")
    //id("io.papermc.paperweight.userdev") version "2.0.0-beta.16"
}

group = "me.flame.storysmp"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
    maven("https://repo.papermc.io/repository/maven-public")
}

java.toolchain.languageVersion.set(JavaLanguageVersion.of(21))

dependencies {
    compileOnly("io.papermc.paper:paper-api:1.21-R0.1-SNAPSHOT")
    implementation("io.github.revxrsal:lamp.common:4.0.0-rc.10")
    implementation("io.github.revxrsal:lamp.bukkit:4.0.0-rc.10")
}

tasks.shadowJar {
    relocate("revxrsal.commands", "me.flame.lampcommands")
}

What should I do?

lament scarab
#

use the gradleup shadow

hollow stump
lament scarab
#

that version of shadow is old

#

you need to use the newer version

hollow stump
#

huh, I was not aware of that

#

I'll test the newest version, thanks

torpid trout
#

yalls know how to build 1.21.5? following the instructions in the readme, the build fails, so I'm currently wondering if I need paperweight to build paper (for context, the build error is ```FAILURE: Build failed with an exception.

  • Where:
    Build file '/workspaces/Paper/build.gradle.kts' line: 88

  • What went wrong:
    Could not create task ':paper-api:test'.

Could not create task of type 'Test'.
Could not create an instance of type org.gradle.api.internal.tasks.testing.DefaultTestTaskReports.
Could not create an instance of type org.gradle.api.reporting.internal.DefaultReportContainer.
Type T not present

  • Try:

Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
Get more help at https://help.gradle.org.

BUILD FAILED in 52s
Configuration cache entry stored.
@qtqgyt ➜ /workspaces/Paper (update/1.21.5) $ ```
)

glass warren
#

Must be something with your setup - I just cloned and built on a fresh machine. Make sure your stuff is working properly I guess?

stiff totem
torpid trout
#

specifically, I checked out to update/1.21.5

#

My steps were:
Create a codespace on update/1.21.5
sdk install java 21-open
./gradlew applyPatches - FAILED

north flume
#

I'd recommend cloning it to your PC and not using codespaces

stiff totem
glass warren
#

Yeah no idea if codespaces is gonna work.

torpid trout
#

alright ill try my main computer I just like to keep it in the cloud if I can 🤷‍♂️

stiff totem
stiff totem
torpid trout
#

interesting

stiff totem
#

so I would assume JAVA_HOME is wrong

torpid trout
#

anyways I forced java 21 on my host and it appears to be getting further then before

#

I did find some loose ends in the 1.21.5 source but I presume the paper devs will fix that up soon

rapid fractal
#

Again, not recommended to run the jar on production server until release.

torpid trout
rapid fractal
torpid trout
#

anyways thanks for helping me guys

#

geez this build is hammering my cpu (this cpu is 10 years old now)

#

we have accomplished a failed build

#

... ah I forgot to setup git nvm

#

not exactly sure what its doing with git but yk

#

alright! I have aquired another error! this time not related to git

#

yeah im just gonna wait for experimental

bronze ember
#

If you just want to complain, please do so quietly

stiff totem
#

huh I'm not complaining

#

I updated paperweight and it just did that for the single file patches, and it turns out I like it that way

#

(ya know... the 4th panel of the comic)

lusty gulch
#

how to fix

bronze ember
#

Fix what

lusty gulch
#

with velocity plugins

bronze ember
#

IJ doesn't download plugins by default

#

That's why stuff is red

#

You can run mvn install and it will fix it, or you can ignore it

lusty gulch
#

ok ty

tame spruce
#

My gradle throws this when i try to build

#

Caused by: org.gradle.api.internal.artifacts.ivyservice.TypedResolveException: Could not resolve all files for configuration ':paperweightDevelopmentBundle'.

#

Caused by: org.gradle.internal.resolve.ModuleVersionNotFoundException: Cannot resolve external dependency io.papermc.paper:dev-bundle:1.21.4-R0.1-SNAPSHOT because no repositories are defined.

#

'java.lang.RuntimeException org.gradle.api.problems.ProblemReporter.throwing(org.gradle.api.Action)'

echo kilnBOT
lament scarab
#

provide the build config

tame spruce
brave widgetBOT
lament scarab
#

Well, the error is coming from run-paper, so, I guess, disable it for now and report it to the plugin author

tame spruce
#

kk

lament scarab
#

Might be a fun order issue

#

apply run-paper after userdev

tame spruce
#

it works but

#

java.lang.ClassNotFoundException: wyzCmd.abs.WyzCMD excuse me

#

its literally there

lament scarab
#

The thing won't magically inclinde the contents of that jar into the other one

tame spruce
lament scarab
#

you'd want to setup shadowJar in order to merge the library into your actual plugin jar

tame spruce
#

oh

#

lemme google how to do it

tame spruce
lament scarab
#

No

#

at least, never had an order issue with shadowJar on that front

tame spruce
#

btw which version do i put in

#

the command for just has a placeholder for version

#

<version>

lament scarab
#

not sure what you mean

tame spruce
#

btw i know im using groovy

#

i just accidentally left it on kotlin

lament scarab
#

search for the plugin there

tame spruce
#

shadow right

#

wait what am i looking for exactly

#

btw thanks for helping me to this point

fading vapor
lament scarab
#

you have the id of the plugin

#

slap it into that site and find the plugin, the version info and such will be on there

tame spruce
#

oh

#

sry for not knowing these things but i never once used any build tool even maven let alone gradle

#

so i need to get used to things

fading vapor
#

understandable

tame spruce
#

i used to use eclipse

#

where you can just hit export and call it a day

fading vapor
#

anyways when adding a plugin you first specify the plugin name/id and then version

tame spruce
#

says build successful

fading vapor
#

did you shadow?

tame spruce
#

what to do now

fading vapor
#

yes but you need to run the right task

#

well depends on what you want

tame spruce
#

thats why im asking what to do now

fading vapor
#

yes

#

I see you are using paperweight

tame spruce
#

i have another .jar with my command api which i need

#

whats wyzCMD

#

thats my commandapi

#

for generic commands

fading vapor
#

then run reobfJar

brave widgetBOT
tame spruce
#

pok lemme run a server now

#

NICE

#

works

#

it works

#

thank you guys

fading vapor
#

epic

tame spruce
#

now im gonna fool around to see what paperdev and packets can do

#

i heard you can make your server much more optimized since you can emit particles and block changes and entities client side only

fading vapor
#

anyways I opened this chat to ask how can I build paper with my version of Adventure API, do I just add mavenLocal() to repos and change the adventureVersion var to my snapshot version?

tame spruce
#

i dont use maven so i cant help you with that

#

my guess would be Try and see if it works

fading vapor
#

its Gradle

lament scarab
#

yes

fading vapor
#

ok thx

#

btw

#

how much space does Paper take

#

Adventure took 10 minutes to download everything

#

I'd imagine Paper is much larger and takes longer to prepare

#

I'm asking because I'm on the lower side of disk space

lament scarab
#

few gigs potentially

fading vapor
#

ic

#

mostly dependencies I presume?

lament scarab
#

well, the git tree

#

plus gradle

#

plus the decomp stages

fading vapor
#

I'd shallow copy

lament scarab
#

plus dependencies

fading vapor
#

*clone

fading vapor
#

which is the correct one

#

I'm guessing bundler?

static urchin
#

(paper experimental released if you are just trying to build something)

fading vapor
#

yeah no

static urchin
#

but yea

fading vapor
#

I dont need that

static urchin
#

bundler

#

kk

fading vapor
#

I want to test my adventure

#

mostly for docs screenshots

static urchin
#

be aware, publishing the builder jar anywhere is going to get you into legal trouble

fading vapor
#

understood

#

why is it much bigger than the ones on the website 😅

#

mine is 94 MB

static urchin
#

because it isn't what we publish xD

fading vapor
#

papermc downloads is 50

#

ic

static urchin
#

the bundler is the full minecraft server jar

fading vapor
#

ahhhhh

static urchin
#

we publish paperclip, which only contains the diff between vanilla -> paper

fading vapor
#

it doesnt download

static urchin
#

Yea

fading vapor
#

fair

#

still kinda big tho

static urchin
#

(but as such, it contains mojang code so, yea, no distribution)

fading vapor
#

50mb with no mc server

static urchin
#

Well kekwhyper we ship a shit ton of stuff

fading vapor
#

lol

#

anyways should I create a new server or can I reuse an existing one

#

I ran one yesterday with latest

static urchin
#

0 idea what you changed lol

bright agate
#

patches also have extra lines that in a sense arent related to the change.
Ex: You could patch 1 line, but the patch will be line 10 lines

static urchin
#

(that isn't part of the jar)

fading vapor
static urchin
#

ah

#

you don't even need to build that then lol

#

use the test-plugin

fading vapor
#

what 💀

static urchin
#

and the runDev gradle task

#

spins up a new server for you right in your IDE

fading vapor
#

so I cloned paper and sat trough 5 minutes of builds

static urchin
#

and the test-plugin directly depends on the API and its dependencies

#

it is a pretty neat workflow

fading vapor
#

but wait

#

test plugin won't be able to use my version of adventure?

#

how can it isue it if the server doesn't ship with it

static urchin
#

it will given you had to update the dependency in the api build.gradle.kts?

static urchin
fading vapor
#

okay I'm confused, yesterday I made a little plugin with one single command, depended on my adventure, ran the plugin but it didnt work

smoky violet
fading vapor
#

because the server contained stable adventure

smoky violet
#

the diff is going to be much larger than a theoretical optimized binary diff

static urchin
#

Yea xD Just not because patches have extra lines

static urchin
fading vapor
#

val adventureVersion = "4.21.0-SNAPSHOT"

#

yes

static urchin
#

then the test plugin can depend on it

fading vapor
#

root build file

static urchin
#

Yes

fading vapor
#

ahh I see

static urchin
#

the test plugin literally directly depends on the paper-api project

#

not like "latest paper" api artefacts

fading vapor
#

that is in fact neat

#

thanks

#

this is the last thing I need before my PR gets merged

#

Kezz wants docs and I need a screenshot

static urchin
#

can enabled it by uncommenting the test-plugin.settings file content

static urchin
#

file is called test-plugin.settings.gradle.kts

#

uncomment the content of that file

fading vapor
#

ah I see thx

#

anyways back to my previous question

#

can I use my previous server files and just replace the server jar

#

or would it be wiser to create a fresh installation

static urchin
#

the runDev task spins up a new server in your IDE

#

that was the hole reason I suggested it xD

fading vapor
#

OHHHH

#

OKAY THATS EVEN BETTER

#

now to wait 5 bussines days for Lunar to spin up

#

YES

#

WORKS

#

thank you lynx

#

now I can make a PR for docs

#

anyways here is the product:

static urchin
#

very colourful rainbow stonks

fading vapor
#

I added a saturation argument

static urchin
#

Yea I saw the PR 😅

fading vapor
#

docs time

#

btw

#

not really a question for this channel but

#

do docs need to build succesfuly on my machine? 😅

static urchin
#

I'd hope adventures CI pipeline does that lol

fading vapor
#

this is the day those 32GBs of RAM I bought 6 months ago come in handy

#

3 IDEs and MC open at the same time

short trench
#

I'm not exactly sure why it's complaining about org.bukkit.craftbukkit.block.impl.. or how to fix it

smoky violet
#

are you trying to fork paper? look closely at the build files on the paperweight v2 example branches

#

and build file patches

short trench
#

Yeah I cloned that repo, fixed one thing with the patch file so it can patch properly, then ran rebuildPaperSingleFilePatches (so it saves the new patch stuff), then applyAllPatches. I'm still getting the issue when i try generating the paperclip jar task

short trench
tawny lintel
#

I got this error when I tried to build the core myself. It happened when I used gradle applyPatches. I don't know how it happened or how to solve it.

Could not write standard input to Gradle Worker Daemon 5.
java.io.IOException: 管道正在被关闭。
    at java.base/java.io.FileOutputStream.writeBytes(Native Method)
    at java.base/java.io.FileOutputStream.write(FileOutputStream.java:347)
    at java.base/java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81)
    at java.base/java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142)
    at org.gradle.process.internal.streams.ExecOutputHandleRunner.writeBuffer(ExecOutputHandleRunner.java:98)
    at org.gradle.process.internal.streams.ExecOutputHandleRunner.forwardContent(ExecOutputHandleRunner.java:85)
    at org.gradle.process.internal.streams.ExecOutputHandleRunner.run(ExecOutputHandleRunner.java:64)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    at java.base/java.lang.Thread.run(Thread.java:831)
����: �Ҳ������޷��������� worker.org.gradle.process.internal.worker.GradleWorkerMain
ԭ��: java.lang.ClassNotFoundException: worker.org.gradle.process.internal.worker.GradleWorkerMain

Execution failed for task ':generateMappings'.
> A failure occurred while executing io.papermc.paperweight.tasks.GenerateMappings$GenerateMappingsAction
   > Failed to run Gradle Worker Daemon
      > Process 'Gradle Worker Daemon 5' finished with non-zero exit value 1
glass warren
#

Looks like something is wrong with gradle / your machine

tawny lintel
#

He also reported another error, saying that my .gradle\caches\paperweight\taskCache did not have decompileJar.jar. I followed the instructions and did not do anything else.

tawny lintel
craggy holly
#

I added the line for plugin management suggested in the paperweight setup page and it's giving me this:

* What went wrong:
Script compilation error:

  Line 12: pluginManagement {
           ^ Unresolved reference: pluginManagement
static urchin
#

that goes into the settings.gradle.kts

craggy holly
#

thank you

craggy holly
#

possibly a dumb question, but is there a commonly known place to learn about the Mojang and other mappings?

static urchin
#

depends what you want to "learn"

craggy holly
#

I have zero experience with nms, but was told that to accomplish what I wanted(increasing tnt on tnt knockback), nms was the route I had to go. So I'm just hoping to learn what mappings pertain to TNT/explosions mainly

static urchin
#

ah. No there isn't really a documentation for interenals

#

they are kinda ever changing

craggy holly
#

fabulous xD

static urchin
#

you kinda grab the server source code from paper and start reading it

craggy holly
static urchin
#

increasing the knockback distance is gonna be hard tho

static urchin
#

You could try to see if the EXPLOSION_KNOCKBACK_RESISTANCE attribute can go negative

craggy holly
#

I know that someone has done something similar, but no idea beyond that

craggy holly
stone grove
#

Uhh

#

I am facing a in game error

#

so the server is running perfectly fine no errors on the console

#

however

#

when I try to login with either of my PCs it says Disconnected

lament scarab
#

This channel is for support with dev build tools, you'd want to use the applicable help channel (and, see the logs)

cold spindle
lament scarab
#

Probably not, there are huge concerns around exposing a whole bunch of extra crap into the classloading environment, we're generally just following the normal bootstrapper behavior of mojang here

cold spindle
#

Would you be opposed to the idea of adding an argument to add specific jars to the setup url classloader? My goal is to add a custom log4j appender to the server without the need to maintain and build a custom paper jar. I think this is a valid use-case and should be made possible somehow

lament scarab
#

Personally, no; that is something I could support, but, I'm also not the only dev on this project

cold spindle
#

That's fine. I'll open an issue so proper discussion can happen there. Thanks

bronze ember
#

Can't a plugin do this?

lament scarab
#

Yes but fairly late in the process so you lose stuff

bronze ember
#

Initialization order refactor wen

floral whale
#

Currently running into this issue with paperweight https://paste.helpch.at/fupekidusa.php

The applyDevBundlePatches task fails.

Versions:

id("io.papermc.paperweight.userdev") version "2.0.0-beta.15"
paperweight.foliaDevBundle("1.21.4-R0.1-SNAPSHOT")
#

Any help is appreciated!

lucid mulch
#

are you sure you're using java 21?

#

also the latest paperweight is beta.16

echo kilnBOT
#

It looks like you've encountered an issue with our tooling. Before proceeding with troubleshooting, please review the list below to ensure your setup is up to date.

Lastly, please take the time to describe the issue in detail, as this will help us diagnose and resolve it more effectively.

rapid fractal
#

@floral whale ^

floral whale
#

I was indeed on java 17... lol

#

Thanks!

short trench
#

How do I drop/undo patches? Git undo cherry pick whatever?
What about after that

#

Maybe I shouldn’t have commited all my patches in one commit ._.

brisk belfry
#

delete it and apply again?

soft night
#

How to add the paperweight-userdev gradle plugin with just a build.gradle instead of a build.gradle.kts file as shown in the paper documentation?
When I try to add the code showed in the website, it gives me an error.

bronze ember
#

you will need to convert it to groovy

#

generally we heavily advise against using groovy and provide no support for it

soft night
#

since I think my problem is that I am using groovy

soft night
lament scarab
#

if you mean the mc plugin, it doesn't have kts templates

#

nothing prevents you from converting to a kts file other than it being a manual operation

soft night
#

I'll just convert it manually then

soft night
#

when running it with gradle.kts (properly converted) and adding the lines needed to add the plugin I get this error

io.papermc.paperweight.userdev:io.papermc.paperweight.userdev.gradle.plugin:2.0.0-beta.16 No matching variant of io.papermc.paperweight:paperweight-userdev:2.0.0-beta.16 was found. The consumer was configured to find a library for use during runtime, compatible with Java 21, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.7'

bronze ember
#

you need to updated gradle

#

you are using 8.7, you should be using 8.13

soft night
bronze ember
#

as the eror is saying, paperweight userdev requires a newer gradle version

#

it explicitily tells you which one in the part of the error you cropped

soft night
#

ah this line told me
- Incompatible because this component declares a component, as well as attribute 'org.gradle.plugin.api-version' with value '8.12' and the consumer needed a component, as well as attribute 'org.gradle.plugin.api-version' with value '8.7'

mellow venture
#

is paperweight-userdev compatible with 8.13? because when attempting to add it, I get the following

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'Unauthorized'.
> Failed to notify project evaluation listener.
   > 'java.lang.RuntimeException org.gradle.api.problems.ProblemReporter.throwing(org.gradle.api.Action)'

running with --stacktrace, it seems that it's attempting to use the problem reporter api, which is currently an incubating api, but it's getting a no such method error

Caused by: java.lang.NoSuchMethodError: 'java.lang.RuntimeException org.gradle.api.problems.ProblemReporter.throwing(org.gradle.api.Action)'
    at io.papermc.paperweight.userdev.PaperweightUser.checkForDevBundle(PaperweightUser.kt:277)
    at io.papermc.paperweight.userdev.PaperweightUser.access$checkForDevBundle(PaperweightUser.kt:65)
    at io.papermc.paperweight.userdev.PaperweightUser$apply$5.execute(PaperweightUser.kt:179)
    at io.papermc.paperweight.userdev.PaperweightUser$apply$5.execute(PaperweightUser.kt:153)

looking at the gradle api docs, 8.13 does not have a method ProblemReporter.throwing(Action), only gradle 8.12 does

why is paperweight userdev attempting to use the problem reporter api when it's still incubating and changing frequently?

lament scarab
#

No

#

it uses an experimental method which changed

static urchin
#

We ought to make a release KEKW, pretty sure den fixed it

lament scarab
#

I mean, when it's working properly it will work, it just can't blow up, as it shows

#

cos, you know, it trying to report the blow up blows up

mellow venture
#

my buildscript is currently just this

plugins {
    java
    alias(libs.plugins.paperweight.userdev)
}

repositories {
    mavenCentral()
    maven("https://maven.solo-studios.ca/releases") {
        name = "SoloStudios"
    }
    maven("https://repo.papermc.io/repository/maven-public/") {
        name = "PaperMC"
    }
}

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(21)
    }
}

dependencies {
    // compileOnly(libs.paper.api)
    paperweight.paperDevBundle(libs.versions.paper.api.get())
}

and my libs.versions.toml is

[versions]
paperweight = "2.0.0-beta.16"
paper-api = "1.21.5-R0.1-SNAPSHOT"

[plugins]
paperweight-userdev = { id = "io.papermc.paperweight.userdev", version.ref = "paperweight" }

[libraries]
paper-api = { group = "io.papermc.paper", name = "paper-api", version.ref = "paper-api" }

there shouldn't be any issues here?

lament scarab
#

A problem occurred configuring root project 'Unauthorized'.

mellow venture
lament scarab
#

I mean, it was a bad idea to use incubating API

mellow venture
lament scarab
#

you're generally not wrapping chunks of your program in try/catch's just incase some method disappears one day

mellow venture
#

especially since it seems to be changing so much

mellow venture
#

there were changes in 8.6, 8.8, 8.12, and 8.13 off the top of my head

#

could be others I forgot about

mellow venture
#

ig I'll temporarily downgrade to 8.12

lament scarab
#

Jump to gradle 8.12.1 or whatever it was

#

otherwise you'll need to manually deploy the latest from github into your maven local and set that up

mellow venture
#

hmmm it seems the issue is I set up the proxying wrong on my maven server lol

#

so it was proxying the pom and jars but not .zip files

#

oopsies

#

no wait.. I didn't have any extensions configured so it should proxy everything ?

#

odd

#

yeah uh, idk what is up with your publishing, but the layout is really weird

lament scarab
#

those are individual builds

mellow venture
#

bc gradle is trying to look for the artifacts at https://maven.solo-studios.ca/releases/io/papermc/paper/dev-bundle/1.21-R0.1-SNAPSHOT/dev-bundle-1.21-R0.1-20240810.100446-132.zip, which will proxy it to https://repo.papermc.io/maven-public/io/papermc/paper/dev-bundle/1.21-R0.1-SNAPSHOT/dev-bundle-1.21-R0.1-20240810.100446-132.zip, which does not exist

mellow venture
lament scarab
#

We're using nexus

mellow venture
#

yeah but the publishing is done via gradle, no?

lament scarab
#

Well, yea; I mean, idk what deals with the folder layout, but, this looks normal to me

mellow venture
#

it's gradle that determins the publishing layout

#

I'm assuming you're publishing it with gradle, rather than some gradle plugin, correct?

lament scarab
#

afaik, yes

mellow venture
#

hmmm, quite odd, it downloads fine if I disable my repo

#

is reposilite doing smth weird like rewriting the maven-metadata.xml??? it shouldn't be...

tiny aspen
#

hi with 1.21.5 being out this is a perfect opportunity for me to learn this, what is the correct steps to update a fork? would it be to update gradle.properties' paperRef, mcVersion, version then applyAllPatches?
then deal with conflicts and rebuild each time a file is fixed?

mellow venture
#

hmmm I think reposilite is doing smth funny and rewriting the path the pom is located at

lament scarab
#

My understanding is that the maven-metadata.xml file existing enables a different path for stuff which supports this layout

#

but, idk; I semi recall there being some funny stuff with how maven resolved this stuff

mellow venture
#

yeah, this is smth to do with reposilite rather than with your repo it seems

mellow venture
lament scarab
#

Yea, no idea

#

I ponder if nexus just lays stuff like like that and deals with it programatically or something; I semi remember us having some fun issues with this stuff

mellow venture
#

it's smth to do with reposilite bc the proxied pom is located at https://maven.solo-studios.ca/proxy/io/papermc/paper/dev-bundle/1.21-R0.1-SNAPSHOT/dev-bundle-1.21-R0.1-20240810.100446-132.pom, when it should be at https://maven.solo-studios.ca/proxy/io/papermc/paper/dev-bundle/1.21-R0.1-SNAPSHOT/1.21-R0.1-20240810.100446-132/dev-bundle-1.21-R0.1-20240810.100446-132.pom

#

no clue why reposilite is rewriting it to that, I'll open an issue with them

#

I'll just disable proxying it for now

#

paperweight userdev should work fine with gradle's configuration cache, right?

#

oh also is there a spec for paper-plugin.yml, and if yes, how stable is it? (I want to add smth to my gradle plugin that allows me to just generate them, but I only want to do that if paper-plugin.yml is unlikely to change in a backwards-incompatible way)

fading vapor
#

Jpenilla made a resource factory plugin

#

Paper convention factory is what you're after

mellow venture
#

yes ik, I just want smth similar in my gradle plugin that doesn't depend on their plugin

lucid mulch
#

look at the source code of that plugin

mellow venture
#

the paperweight-userdev plugin uses yarn in the dev env, correct? and if it doesn't, is there any way to get it to use yarn in the dev env?

#

nvm I think it uses mojmap, is there a way to switch to yarn mappings in dev?

bronze willow
#

Im currently updating my fork of purpur to 1.21.5, i fixed the build.gradle.kts´s and now im trying to apply my patches but this happens:
https://pastes.dev/Uv6HctqIRE

java.lang.Exception: Failed to apply 31 mache patches
I have never seen that exception, what do i do

main wadi
#

How can I use the Mojang mappings (and prevent remapping)?
My plugin supports versions 1.19-1.21.5, these are my build.gradle.kts: https://pastebin.com/4hmkGzvF
I then compile the plugin using the gralde task shadowJar, which doesn't cause any error. However, during runtime I get this error which causes the plugin not to be enabled:

Caused by: java.lang.ClassNotFoundException: net.minecraft.core.HolderLookup$a
How can I fix that?

dusk quail
#

For latest that isn't needed as the server runs mojmap

lament scarab
#

I mean, nms is not stable and changes across versions

#

The only way to avoid remapping is to have an already mapped jar

#

Easiest approach would be to declare your plugin as mojmapd and only reobfJar pre mojmap versions, there are some caveats in that we did stiff over those server jars, just, probably not used by many unless you wanted to deal with that

lucid mulch
lucid mulch
lament scarab
#

That's going to be a terminology rename, we're not planning to actually change much on that front

main wadi
lucid mulch
#

you don’t have to set the mappings namespace if you’re planning to use mojmap

#

and also you should remove that manifest block from shadowJar it’s not needed as paperweight sets that and it could cause problems

#

and don’t set the mappings namespace in the java block…

#

@main wadi

main wadi
#

Okay, that worked, thanks!

vale pelican
#

Does anyone know if it's possible to load another plugin from it's local Gradle project into the runServer task? I have a core plugin that is a standalone plugin, but also contains common logic that I reuse in my gamemode specific plugins.

#

Something like this (this obviously doesn't work):

mellow venture
mellow venture
#

also, pls ping for any replies otherwise I might never see it

lucid mulch
#

but with official paperweight no

mellow venture
#

pain

#

yarn mappings are just Better imo, so I try to use them whenever possible

lucid mulch
#

i personally prefer mojmaps idk they’re more intuitive for me than yarn

#

and with yarn sometimes you have to use intermediary which is well…

#

abcdef_123456

cold sparrow
#

hey guys, anyone else getting old versions of adventure when building with the R0.1?

#

not sure if we still have to use the no-moonrise snapshot?

west furnace
#

Im currently trying to build paper from a external disk and vscode is telling me that it cant resolve net.minecraft and :paper-server:applyResourcePatches is failing. How can I fix this issue?

west furnace
#

This is the error that im getting io.papermc.paperweight.PaperweightException: Command finished with 128 exit code: git -c commit.gpgsign=false -c core.safecrlf=false config commit.gpgSign false

main mica
#

don't think many people use VSC here, but basic troubleshooting is usually:

  1. if on Windows, make sure the path isn't too long, e.g. move Paper to C:\Paper\ or something like that
  2. make sure you configured git with user/email. It should tell you that in the log though.

If its not that, run the gradle task with -Dpaperweight.debug=true to get the full error log

west furnace
#

I just ran the task again with the last flag lmk if u need me to paste the output here

lament scarab
#

Can't really comment on what we can't see

#

But, it failing on that task specifically is probably because windows and the folder path being too long

west furnace
#

Is there any reason why the java language server is telling me I have like 23k errors due to the minecraft packages being unresolved tho

lament scarab
#

I don't deal with vsc

#

If Gradle failed to do stuff it may be related, but, vsc was a tragic environment for java stuff last I looked, you wont get much support for it here

west furnace
#

So im guessing I need smth like eclipse or intellij

lament scarab
#

I'd recommend IJ

#

Their community edition is free and does all you need for general java stuff

west furnace
#

Ill make sure to check it out ty ty

flat condor
#

The Minecraft plugin builds great scaffolding for getting your project started. I'm using it with kotlin

west furnace
#

Like rn im getting errors from java like (Found 27000 errors + 50 warnings) Compiling jdt.ls-java-project/src/net/minecraft/... and the Problems tab in vscode says it cant resolve net.minecraft and other packages

west furnace
#

Theres also this error in the Gradle log while configuring the gitCould not create task ':paper-server:assemble'.

lucid mulch
#

you should use normal api/dev bundle

cold sparrow
west furnace
#

Hmmm so if I want to change paper .patch files do I need to download paperweight and patch it using that and running Gradle there?

floral whale
#

Does the runserver task have support for folia?

main mica
#

no idea if built-in, but you can use serverJar to specify a custom jar to run

floral whale
#

Ah yeah true, thx

#

Found this actually runPaper.folia.registerTask(), seems to work

cold sparrow
#

basically forgot to update velocity version, and since anventure got moved into io.papermc... it was still using the old one

left garnet
#

how can i use Spigot mappings with paper-weight? for example i need to use EntityBoat but it doesnt exist in paper-weight normally

static urchin
#

you don't, paperweight does not support that

left garnet
#

oh what was this about then?

#

and how can i bring back EntityBoat to be used

dusk quail
#

thats for reobf

static urchin
#

when you reobf the jar, it translates mojang mappings back to spigots mappings

dusk quail
#

you can use something like the following bot link to convert between spigot and mojang

echo kilnBOT
left garnet
#

alright i do use it to figure out which mapping is spigot , but how do i convert between them?

glad pelican
#

Do I ask here if I got issues with development?

dusk quail
static urchin
#

this is for issue with gradle or maven

glad pelican
static urchin
#

Well this isn't the purpur support discord

#

they have their own and know their software so, go there 😅

left garnet
static urchin
#

Yes

dusk quail
#

yeah

left garnet
#

alright thanks

glad pelican
static urchin
#

Yea but purpur might be screwing with those, generally, check on paper if you want support here

glad pelican
#

I might just switch to paper lol maybe that fixes everything skullstare

tiny aspen
# tiny aspen hi with 1.21.5 being out this is a perfect opportunity for me to learn this, wha...

im trying to update my test fork just to learn but i am getting this error when trying to build after applyingAllPatches

error: package org.bukkit.craftbukkit.block.impl does not exist
register(net.minecraft.world.level.block.AmethystClusterBlock.class, org.bukkit.craftbukkit.block.impl.CraftAmethystCluster::new);
seems like its applying some code that doesnt exist am i doing it wrong?
for more context the fork is pretty much just the paper-weight example fork-v2 with changed name trying to update it to 1.21.5

smoky violet
#

the example repo is not updated for 1.21.5 yet

#

you can check any forks that have updated and compare your scripts with theirs