#build-tooling-help

1 messages · Page 14 of 1

raw vessel
#

Going to

smoky violet
#

for example in squaremap if I don't use build-logic in the root build script, it starts throwing similar errors for vanillagradle

#

apply an empty plugin, and it works

#

gradle's classloader hierarchy system can be finicky at times

raw vessel
#

lol

#

it's working now

raw vessel
#

Tysm!

smoky violet
#

yw

tall badge
#

why this code didn't work?

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

  <!-- Project coordinates -->
  <groupId>com.labib9x</groupId>
  <artifactId>DonutSpawn</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <!-- Project name and description -->
  <name>DonutSpawn</name>
  <description>A Minecraft plugin for teleportation with customization options</description>

    <properties>
        <maven.compiler.source>17</maven.compiler.source>
        <maven.compiler.target>17</maven.compiler.target>
        <paper.version>1.20.4-R0.1-SNAPSHOT</paper.version>
    </properties>

    <repositories>
        <repository>
            <id>papermc-repo</id>
            <url>https://repo.papermc.io/repository/maven-public/</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>io.papermc.paper</groupId>
            <artifactId>paper-api</artifactId>
            <version>${paper.version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>${maven.compiler.source}</source>
                    <target>${maven.compiler.target}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
fading vapor
#

error?

tall badge
#

heres

[INFO] Scanning for projects...
[INFO] 
[INFO] -----------------------< mygroupid:myartifactid >-----------------------
[INFO] Building myartifactid 0.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ myartifactid ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 1 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ myartifactid ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 5 source files to /home/runner/DonutSpawn-Plugin/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] Source option 5 is no longer supported. Use 7 or later.
[ERROR] Target option 5 is no longer supported. Use 7 or later.
[INFO] 2 errors 
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  2.545 s
[INFO] Finished at: 2024-08-19T11:28:51Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project myartifactid: Compilation failure: Compilation failure: 
[ERROR] Source option 5 is no longer supported. Use 7 or later.
[ERROR] Target option 5 is no longer supported. Use 7 or later.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException```
lament scarab
#

do a fresh run

#

like, that pom is not the one that was ran there

#

can't be

tall badge
#

well in my repl its the one for some reason

fading vapor
#

run the clean task

#

then try again

tall badge
#

i do run mvn clean first then i run mvn package

lament scarab
#

make sure that you saved the file

tall badge
#

replit saves the file auto when i put text on it

fading vapor
#

what if you hardcode the version just for now

tall badge
#

wdym

fading vapor
#

instead of referncing the compiler version just hardcode 17 in

#
<configuration>
  <source>17</source>
  <target>17</target>
</configuration>
lament scarab
#

Building myartifactid 0.0-SNAPSHOT

#

either you're tryna obfuscate info for some reason, or, you have a different pom in the folder you're trying to build

#

make sure that the pom is in the top folder of the project, where the src folder is

tall badge
tall badge
# fading vapor ```xml <configuration> <source>17</source> <target>17</target> </configurati...

this is what you mean?

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

  <!-- Project coordinates -->
  <groupId>com.labib9x</groupId>
  <artifactId>DonutSpawn</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <!-- Project name and description -->
  <name>DonutSpawn</name>
  <description>A Minecraft plugin for teleportation with customization options</description>

    <properties>
        <paper.version>1.20.4-R0.1-SNAPSHOT</paper.version>
    </properties>

    <repositories>
        <repository>
            <id>papermc-repo</id>
            <url>https://repo.papermc.io/repository/maven-public/</url>
        </repository>
    </repositories>

    <dependencies>
        <dependency>
            <groupId>io.papermc.paper</groupId>
            <artifactId>paper-api</artifactId>
            <version>${paper.version}</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>17</source>
                    <target>17</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
lament scarab
#

yea, idk how the thing lays out files, but, that is is cleraly not the pom that is being ran

fading vapor
#

how does the src dir tree look like in file explorer?

#

or cmd/terminal

tall badge
#

this is how it looks

#

in the left side it have files

#

and it have pom in saprate section

fading vapor
#

no, this is your IDE's listing, I am asking about your computer's locations

#

don't rely on IDEs so much

#

they hide so much, sometimes too much making problems

tall badge
#

well i am making it online

fading vapor
#

do you have no way to access a terminal of your directory

tall badge
#

yeah ido

fading vapor
#

cd to src and ls

tall badge
#

heres the output

lament scarab
#

find . -iname 'pom.xml'

fading vapor
#
└───maven-project
    ├───pom.xml
    ├───README.txt
    ├───NOTICE.txt
    ├───LICENSE.txt
    └───src
        ├───main
        │   ├───java
        │   ├───resources
        │   ├───filters
        │   └───webapp
        ├───test
        │   ├───java
        │   ├───resources
        │   └───filters
        ├───it
        ├───site
        └───assembly
#

this is how it should look like

#

go one up and ls again

#

cat's solution is even better

#

you may have a pom somewhere that overrides the one you're working on

tall badge
#

okay i'll move to the intelij and then work on it this sucks

fading vapor
#

okay, how the heck do you link external documentation for javadocs

#

I've been googling for half an hour but its all groovy and doesn't work with Kotlin DSL

final jewel
#

like, publishing your javadocs elsewhere?

fading vapor
# final jewel what

I've figured it out with

tasks.javadoc {
    (options as StandardJavadocDocletOptions).links("https://jd.papermc.io/paper/1.21.1/", "https://jd.advntr.dev/api/4.17.0/")
}

essentialy what I wanted was that instead of it saying org.bukkit.Player it would be Player with a hyperlink to paper docs

#

basically what paper docs have with Kyori

final jewel
pure lagoon
#
plugins {
    id 'java'
    id 'org.jetbrains.kotlin.jvm'
    id 'com.gradleup.shadow' version '8.3.0'
    id("io.papermc.paperweight.userdev") version "1.7.2"
}

group = 'dev.lrdcxdes'
version = '1.0'

repositories {
    mavenCentral()
    maven {
        name = "papermc-repo"
        url = "https://repo.papermc.io/repository/maven-public/"
    }
    maven {
        name = "sonatype"
        url = "https://oss.sonatype.org/content/groups/public/"
    }
}

dependencies {
    compileOnly("io.papermc.paper:paper-api:1.21-R0.1-SNAPSHOT")
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
    implementation 'com.zaxxer:HikariCP:4.0.3'
    implementation "net.kyori:adventure-api:4.17.0"
    paperweight.paperDevBundle("1.21.1-R0.1-SNAPSHOT")
}

def targetJavaVersion = 21
java {
    def javaVersion = JavaVersion.toVersion(targetJavaVersion)
    if (JavaVersion.current() < javaVersion) {
        toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
    }
}

tasks.withType(JavaCompile).configureEach {
    options.encoding = 'UTF-8'

    if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
        options.release.set(targetJavaVersion)
    }
}

processResources {
    def props = [version: version]
    inputs.properties props
    filteringCharset 'UTF-8'
    filesMatching('paper-plugin.yml') {
        expand props
    }
}
kotlin {
    jvmToolchain(21)
}

shadowJar {
    tasks.assemble {
        dependsOn(tasks.reobfJar)
    }
    archiveBaseName.set("project9")
}
granite valve
#

oh you are using groovy. The syntax is different I think

#

or maybe it isn't anymore... whats the error you get when you load the project?

granite valve
#

did you refresh gradle in intellij?

pure lagoon
#

yes

#

Cannot resolve resource filtering of MatchingCopyAction. IDEA may fail to build project. Consider using delegated build (enabled by default).

maybe this warning?

granite valve
#

no, that isn't it

#

try to build your plugin, if it doesn't error, its just intellij being dum

pure lagoon
#

> Task :checkKotlinGradlePluginConfigurationErrors SKIPPED

#

Enchantments.kt:9:54 Unresolved reference 'Holder'.

granite valve
#

well try to go import Holder then, see if that works and the highlight is just intellij not being up-to-date or smth

pure lagoon
#

yeah

#

works

ocean berry
#

when I create a Gradle plugin and from the plugin register a task on the project, said task is also executed during apply or publish thinkThink how can I avoid that?

slate salmon
brisk belfry
#

Is it a sub project?

#

I had that earlier with another project with multiple modules and the issue was that IntelliJ (or gradle) did not recognise that module as a submodule

slate salmon
ocean berry
smoky violet
#

really that's more intellij's thing but yeah

#

I love when projects get randomly bricked until I delete .idea

cinder ember
#

hey does someone know why this isn't working?

 reobfJar {
    // This is an example of how you might change the output location for reobfJar. It's recommended not to do this
    // for a variety of reasons, however it's asked frequently enough that an example of how to do it is included here.
    outputJar.set(File("C:/Users/User/Desktop/server/plugins/PaperweightTestPlugin.jar"))
  }
smoky violet
#

define not working

#

you probably aren't running the task or windows file locking is stopping you

#

(the later being one of the many reasons there is that note about not doing this)

cinder ember
#

am i missing something?

#
 reobfJar {
    // This is an example of how you might change the output location for reobfJar. It's recommended not to do this
    // for a variety of reasons, however it's asked frequently enough that an example of how to do it is included here.
    outputJar.set(File("C:/Users/User/Desktop/PaperweightTestPlugin.jar"))
  }
oblique sun
#

with paperweight.paperDevBundle(...) how can I include MOJANG_PRODUCTION stuff because I want to do some stuff with mojang crap

smoky violet
#

as mentioned in #paper-dev see the docs or the test plugin

echo kilnBOT
smoky violet
#

it sounds like you might be confused about what it does though, your code will be mojang mapped regardless of the production target

#

that just changes the wiring for reobfJar

oblique sun
smoky violet
#

beyond what I already said, I'd advise removing lines 23-25 of that paste

#

you should see what all the artifacts are named in their default configuration before changing names to ensure there isn't overlap

#

but in general leaving the defaults is more conducive to collaboration

oblique sun
#

I mean all 23-25 does is renaming the base file

fossil topaz
static urchin
#

use a copy task

thorny pewter
#

What's the ecommended gradle version to use in Paper 1.21?

static urchin
#

The wrapper in our repo

#

Just use the respective scripts in the repo (gradlew or gradlew.bat)

thorny pewter
#

I'm making a project with a separate module for each plugin, im creating it through IntelliJ and wanted to make sure I am on the correct version

static urchin
#

Oh

#

Doesn't matter, but always latest

#

So 8.10

cinder ember
thorny pewter
#

Damn, IntelliJ by default uses 8.5

fossil topaz
thorny pewter
#

I've seen projects such as the Architectury gradle plugin (for minecraft modding) implementing custom icons for each module of a project, how does one go about implementing those?

#

I know it's not necessary at all, but it'd be neat to have a custom icon for each module to represent each plugin

thorny pewter
#

I know it's unnecessary, just like the idea of making them visually dinstinct

final jewel
#

just make a gradle plugin which sets conventions and then depend on that plugin instead

#

I mean, that's what one would call a monorepo

thorny pewter
#

I am usually working on multiple plugins at once within my network, as I am only on one monitor it's easier if I can have everything under the same project

final jewel
#

the only real benefit of it is that since the whole code is in a single repository, it is easier to link stuff together, jump to definitions and what not

final jewel
thorny pewter
#

See, they somehow implemented custom icons like such

paper kestrel
#

thats part of the minecraft dev intellij plugin

static urchin
#

are you sure that isn't just the minecraft development plugin-

thorny pewter
#

Ah yeah well

#

Is it something that's hard coded?

paper kestrel
#

pretty sure

#

it would be based on the dependancies of each module iirc

thorny pewter
#

Right rip

#

Too bad

#

Another question - is there a way to mark a directory as a module?

glass sable
#

you define it in the include on the parent and have it include a gradle build file

thorny pewter
#

Ahh alright got it

thorny pewter
#

Does it make sense to define all the versions of my modules (the plugins) inside of my libs.version.toml?

thorny pewter
#

the function:
void addRepositories(Project project) {...}
if called inside of allprojects, will be called for each module in my IntelliJ project right?

#

If that is the case, should the following work?

void addPlugins(Project project) {
    // Add common plugins to the project
    project.pluginManager.apply(alias(libs.plugins.java.library))
    project.pluginManager.apply(alias(libs.plugins.maven.publish))
}```
#

If called inside of allprojects

#

This is to avoid having repetition in each module's build.gradle

drowsy spire
#

hey! I am getting this error after adding

<repositories>
   <repository>
      <id>jitpack.io</id>
      <url>https://jitpack.io</url>
   </repository>
</repositories>
<dependencies>
    <dependency>
       <groupId>com.github.bivashy.NanoLimboPlugin</groupId>
       <artifactId>api</artifactId>
       <version>1.0.6</version>
    </dependency>
</dependencies>```
#

here is my full pom.xml

brave widgetBOT
thorny pewter
#

Is it possible to add publishings in the subprojects block in my project build.gradle?

#

To be applied to all modules in my IntelliJ project?

brave widgetBOT
drowsy spire
#

?

hidden yarrow
#

Someone ever had this error PermittedSubclasses requires ASM9?

#

I was trying to change a plugin from 1.20.4 to 1.21.1 and using java 21

dark wasp
#

Anyone know why the build may be failing? I'm literally cloning the oraxen repo and trying to build it and it fails. I didn't edit anything. I checked the logs it's talking about in the error msg and there are 3 patch failures. All relating to worldborder.

[DEBUG] Patching: net/minecraft/server/commands/WorldBorderCommand.java
[DEBUG]  Hunk 0: EXACT: @@ -4,11 +4,12 @@
[WARN]  Hunk 1: FAILURE: @@ -16,128 +17,138 @@

[DEBUG] Patching: net/minecraft/world/level/border/WorldBorder.java
[DEBUG]  Hunk 0: EXACT: @@ -2,6 +2,7 @@
[WARN]  Hunk 1: FAILURE: @@ -15,6 +16,7 @@
[WARN]  Hunk 2: FAILURE: @@ -27,13 +29,28 @@
[DEBUG]  Hunk 3: EXACT: @@ -61,18 +78,20 @@
[DEBUG]  Hunk 4: EXACT: @@ -104,12 +123,19 @@

Patch Summary:
 Un-changed files: 2481
 Added files:      0
 Changed files:    674
 Removed files:    0
 Missing files:    0

 Failed matches:   3
 Exact matches:    4453
 Access matches:   0
 Offset matches:   0
 Fuzzy matches:    0
Overall Quality   99.93%```
Anyone got any idea?

Oraxen Dev said this: "Sorry but no clue here. Builds just fine locally. It is just using paper userdev and u dont need patches or any such thing"
final jewel
dark wasp
final jewel
#

yes

dark wasp
#

Because I've done that.

final jewel
#

did you change it in the gradle settings too?

dark wasp
#

Where would I do that

final jewel
#

Settings -> Build & Deployment -> Gradle

dark wasp
final jewel
#

yeah

dark wasp
#

It was already like that

final jewel
#

try deleting your userdev cache ig

#

there's a gradle task for it

smoky violet
#

no

#

you should update paperweight to 1.7.2

#

and set the java version

#

no manual cache clear is needed

#

but also, this channel is for help with your build, not with building paid-support plugins

final jewel
dark wasp
#

Plus the dev of that plugin didn’t offer much help on the issue

dark wasp
main mica
dark wasp
#

Like this place is for building advice

smoky violet
#

contributing to a project can also fall under that umbrella, the key part is you are actually working on a build and not just using us as build support for someone else's project

#

we get plenty of people who try and do the later, especially with those types of plugins

dark wasp
final jewel
cinder ember
#

hey how do i add a depenency jar that's not a javaplugin to my plugin?

#

in a paperweight plugin

lament scarab
#

ideally, you source it from a maven repo

#

otherwise you can use file() instead of a maven coord iirc

#

you would need to setup the shade plugin

cinder ember
#

ah how would i do that?

#

im not familiar

crude kernel
#

i mean it builds without errors

lament scarab
#

hit the refresh button in IJ? MahiruShrug

crude kernel
#

i have

smoky violet
#

intellij is probably using an old jdk

cinder ember
#

maybe i did somthing wrong

#
bukkitPluginYaml {
  main = "io.papermc.paperweight.testplugin.TestPlugin"
  load = BukkitPluginYaml.PluginLoadOrder.STARTUP
  authors.add("Author")
  apiVersion = "1.21"
  libraries.add("de.fabmax:physx-jni:2.4.1")
  libraries.add("de.fabmax:physx-jni:2.4.1:natives-windows")
}
final jewel
#

are you sure that is in maven central?

#

wait, is that even a valid notation

cinder ember
#

`
The library is published on maven central, so you can easily add this to your dependencies:

Desktop Java
dependencies {
// java bindings
implementation("de.fabmax:physx-jni:2.4.1")

// native libraries - you can add the one matching your system or all
runtimeOnly("de.fabmax:physx-jni:2.4.1:natives-windows")
runtimeOnly("de.fabmax:physx-jni:2.4.1:natives-linux")
runtimeOnly("de.fabmax:physx-jni:2.4.1:natives-macos")
runtimeOnly("de.fabmax:physx-jni:2.4.1:natives-macos-arm64")

}
`

cinder ember
#

what do you mean by that?

final jewel
#

version should be 2.4.1-natives-windows

#

same for the rest

#

maybe gradle lets you write it like that, doubt it though

cinder ember
#

changed it still no

final jewel
#

it is a gradle thing apparently, not sure if whatever library Spigot is using to fetch the libs support that

cinder ember
#

hmmm what can i do?

final jewel
#

you could use Paper's loader instead

cinder ember
#

what's that?

brave widgetBOT
smoky violet
#

from DefaultArtifact: expected format is <groupId>:<artifactId>[:<extension>[:<classifier>]]:<version>

#

@cinder ember

cinder ember
#

wait that what did i do wrong?

final jewel
#

ah, so you should write de.fabmax:physx-jni:natives-windows:2.4.1 instead

cinder ember
#

oh

#

on both dependencies {} and libraries.add()?

smoky violet
#

I don't think that will work

#

de.fabmax:physx-jni:jar:natives-windows:2.4.1 most likely

cinder ember
smoky violet
#

natives are usually only needed at runtime

#

so, if the yml is determining your runtime, rather than gradle, you only need to declare it in the yml

cinder ember
#

changing only bukkitPluginYaml { main = "io.papermc.paperweight.testplugin.TestPlugin" load = BukkitPluginYaml.PluginLoadOrder.STARTUP authors.add("Author") apiVersion = "1.21" libraries.add("de.fabmax:physx-jni:2.4.1") libraries.add("de.fabmax:physx-jni🫙natives-windows:2.4.1") }
gives no error

smoky violet
#

so it works then?

cinder ember
#

i assume yes

#

no error = good i hope

final jewel
#

I'd still go for the loader option since you could dynamically choose which one to download and use depending on a config option or the environment itself

cinder ember
#

yeah maybe i figure that out later

smoky violet
#

I prefer gradle as the source of truth and so I use a custom plugin for that along with the paper loader system

cinder ember
#

i just wanted it to work

smoky violet
#

(you could do the dynamic selection thing by creating multiple dependency sets, btw)

misty current
#

why does paper's runServer task (and seemingly my whole IDE) ignore the project defined JDK and opt for a pre installed one that IDEA downloaded instead

#

its stopping me from using hotswap hollow

granite valve
#

the runServer task uses the best pre-defined JDK for debugging

#

the jetbrains runtime itself

#

it should just be for the various "run" tasks

misty current
#

alright, can I change that? it would appear that was a recent change

#

as it used to work

#

ie why not use the project defined jdk?

granite valve
#

because the jetbrains runtime is better for debugging/hotswapping. And that is what the run tasks are for

#

you can change it by looking at the task definitions in the paper-server build.gradle.kts file if you want, but if you want hotswapping, jbr should be what you want

misty current
#

thats what im using

#

but it is defaulting to correto

#

im using jbr with a hotswap agent in there because it wouldnt work wihtout it

#

trying to use*

#

ah i think i got it

#

i changed the gradle jvm

#

also, what is EnhancedClassRedefinition (the flag) supposed to add? I still cant add methods or anything of that nature with the flag enabled

final jewel
#

though that one is deprecated, I'd look in the way of HotswapAgent

woeful gate
#

I'm using paper patcher, however when I try to publishAllPublications, I get this error

Execution failed for task ':generateDevelopmentBundle'.
> java.io.IOException: Cannot run program "diff": CreateProcess error=2, The system cannot find the file specified
#

any idea how to fix it please?

lament scarab
#

Cannot run program "diff": CreateProcess error=2, The system cannot find the file specified

#

you need the diff command

woeful gate
#

well how can I get it? 😄

#

I have to make script? or download something?

misty current
#

I have the Hotswap agent, but only core (since full doesnt work for some reason)

woeful gate
lament scarab
#

We don't really support windows

#

but, the expectation is that you have gnu diff in the path

#

not really sure cygwin is the recommended way for that sorta stuff these days

misty current
#

gradlew.bat, isnt that the ini script? would it not be just gradlew applyPatches?

dense kraken
#

How can I use mojang mappings in my plugins? I'm not using gradle I'm using maven

agile skiff
#

ask the person who made the maven plugin you are using for nms

woeful gate
bronze ember
#

All tooling works on windows tho

woeful gate
#

I maybe found a way to add normal diff command, I'll look on it

bronze ember
#

Make sure it's a recent one, there is also a port that misses some options we use

dense kraken
agile skiff
#

for what do you want to use mappings for then?

dense kraken
#

To stop the message on startup

#

paper tries to convert plugins or something

agile skiff
dense kraken
distant mango
#

if you use nms it’ll throw errors

agile skiff
#

yeah but since you don't use nms you don't have to worry about that

dense kraken
#

Thanks, if there is a plugin using nms though would you have to stick with spigot mappings?

agile skiff
#

i mean its up to you. if you use spigot mappings you (might) keep spigot compatibility

#

paper will remap it for you

#

if you use mojang mappings for nms paper doesn't have to remap it for you but you don't have spigot compat

dense kraken
#

Just trying to wrap my head around the best practises for this mapping stuff

agile skiff
#

well yeah if you use spigot mappings but you tell the server you use mojang mappings it won't try to remap your plugin

#

and it will throw errors cause you are trying to find classes that don't exist

dense kraken
#

But how do you use mojang mappings in the first place? Do you just tell the server I'm using mojang mappings? I would of thought there was more to it

agile skiff
#

well if you use our paperweight userdev plugin

dense kraken
#

I don't use gradle

agile skiff
#

there is an unofficial maven one iirc

dense kraken
#

Can you link me

agile skiff
#

but basically you would just load a mojang mapped server and access the classes

dense kraken
#

Thanks, I should probably find a way to move to gradle since paper doesn't seem to care about maven all that much

agile skiff
#

yeah all of papers tooling is written in gradle since that is just more modern and allows us to do stuff more easily

#

just a quick example since i am not sure if you understood mappings properly: lets say your plugin uses nms and has something like

EntityPlayer player = ((CraftPlayer) bukkitPlayer).getHandle();

EntityPlayer is the spigot mapping name for the nms player class. now if you tried to load that on a mojang mapped server it will error cause it cant find that EntityPlayer class (cause with mojang mapping that class is called ServerPlayer). paper will automatically remap that so that your plugin now does this:

ServerPlayer player = ((CraftPlayer) bukkitPlayer).getHandle();

granite valve
#

not exposed via the API

signal bolt
granite valve
#

👍

signal bolt
#

Thanks tho

tacit hazel
distant mango
#

did you see the log

smoky violet
#

update paperweight and set the toolchain like in the test plugin

#

otherwise sort out why your java home isn't 21

tacit hazel
# smoky violet update paperweight and set the toolchain like in the test plugin

FAILURE: Build failed with an exception.

  • What went wrong:
    A problem occurred configuring project ':v1_21'.

Cannot set the value of property 'downloadService' of type io.papermc.paperweight.DownloadService using a provider of type io.papermc.paperweight.DownloadService.

  • 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.

CONFIGURE FAILED in 3s

Now i have this error, updating userdev to lastet.

smoky violet
#

see the test-plugin readme

#

the note about the gradle bug

echo kilnBOT
raw vessel
#

Yo, I'm using paperweight for 1.21.1. I was reading https://github.com/PaperMC/paperweight-test-plugin/blob/master/build.gradle.kts to get an example.
This is my build.gradle.kts file:

plugins {
    id("io.papermc.paperweight.userdev") version "1.7.2"
}

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

dependencies {
    api(project(":tracking-api"))

    paperweight.paperDevBundle("1.21.1-R0.1-SNAPSHOT")
}

paperweight.reobfArtifactConfiguration.set(io.papermc.paperweight.userdev.ReobfArtifactConfiguration.MOJANG_PRODUCTION) // I don't care about supporting spigot

Then I'm compiling this with gradlew build but I'm getting this error:
Caused by: java.lang.NoClassDefFoundError: net/minecraft/server/level/ChunkTracker$TrackedEntity
While initializing this class:

class ViewableTracker extends ChunkMap.TrackedEntity {
  // some stuff
}

After using a decompiler to check if it's a reobf issue I got this:

import net.minecraft.server.level.ChunkMap.TrackedEntity;

class ViewableTracker extends TrackedEntity {
  // some stuff
}

So, I don't know what is happening. Can anyone help me?

#

I just saw plugins/.paper-remapped, there's a remapped version of my plugin. Decompiling that jar:

import net.minecraft.server.level.ChunkTracker.TrackedEntity;

class ViewableTracker extends TrackedEntity {
  // some stuff
}
#

I think it's a paper error PikaThink

teal solar
#

hey, general Gradle question, how would I go about including two text files from the root of the project in the final file? in Maven it was easy

<resources>
    <resource>
        <directory>.</directory>
            <includes>
                <include>LICENSE</include>
                <include>NOTICE.md</include>
            </includes>
    </resource>
</resources>

but in Gradle

jar {
    from(".").include("LICENSE", "NOTICE.md")
}

doing this makes everything else in the JAR disappear

gilded turtle
last spade
#

For the new minor version of 1.12.1 to update paperweight-examples all I need to do is just change the values in gradle.properties right

#

I can't see anything in this new release that requires me to do anything else but I wanted to be sure

raw vessel
distant mango
#

did you make sure it’s the right mapping

echo kilnBOT
raw vessel
#

What do you mean with "right mapping"

#
paperweight.reobfArtifactConfiguration.set(io.papermc.paperweight.userdev.ReobfArtifactConfiguration.MOJANG_PRODUCTION) // I don't care about supporting spigot
#

I set that paperweight's config

distant mango
#

how are you building it

raw vessel
#

Then I'm compiling this with gradlew build but I'm getting this error:

raw vessel
#

I think it will be more helpful

proud maple
#

try deleting the file in the .paper-remapped folder, you set the mojang mappings flag so that file shouldn't be getting created in the first place

raw vessel
proud maple
#

you already did that

#

the MOJANG_PRODUCTION thing

raw vessel
#

And I'm doing exactly what it says

raw vessel
#

removing the jar from .paper-remapped should be enough

#

gonna try

proud maple
#

hopefully

raw vessel
#

I deleted the whole .paper-remapped folder

#

And it created again

#

And put my jar into there

distant mango
#

with your plugin jar in it?

raw vessel
#

Yes

distant mango
#

you don't put the jar there

#

You put your jar in the plugins folder

raw vessel
#

I mean

#

It created with it in it

#

I didn't put it

raw vessel
#

Well, I found the exact same issue

#

But I already did this

#

This is my MANIFEST.MF

distant mango
#

If it's set correctly your jar shouldn't go there

raw vessel
#

Maybe is it a paper issue? PikaThink

#

@static urchin sorry for the ping but can u give me a hand here? 🙏

paper kestrel
raw vessel
#

Wait

paper kestrel
raw vessel
#

Well, nvm

#

I just updated to the latest 1.21.1 build and it got fixed

tawny horizon
#

i keep getting FileSystemAlreadyExistsException

#

deleted caches, restarted computer, still persists

wise silo
smoky violet
#

you need to use a java 17 toolchain for some old versions, like it says in the newest pin

thorny pewter
#

is there a faster way to change version numbers each time I am meant to build and publish my plugins? Having to go into the build.gradle and then into my libs.version.toml is a bit tiresome when it comes to updating all of my plugins at once. Replacing the build.gradle's version with the value inside of libs.version.toml results in the version becoming ?, so that doesn't work

lament scarab
#

generally people just do that with their CI system

thorny pewter
#

CI?

lament scarab
#

there is no real way of tracking a version that magically increments sanely outside of having something centralised

#

continious integration

#

jenkins, teamcity, github actions, etc

thorny pewter
#

And does that automatically update the values inside of the build.gradles?

lament scarab
#

No

#

CIs will often inject variables that you can use like a build number you can append to your version string

thorny pewter
#

Does having a Github Repository for my project count as continious integration?

#

Not sure if github actions is a name of some program, or if you meant actions like pushing and pulling in Github

brave widgetBOT
primal quest
#

Hey, I need help with managing a fork of a fork. I'm trying to fork another fork (of paper), I use withStandardPatcher and it works fine, like the server compiles and runs successfully and is playable BUT nms.

So:

  • if I just clone a fork and compile it myself, it works perfectly fine
  • if I make a fork based on any other fork using withStandardPatcher (I tried different ones so it's not fork-related) and compile it - the server has problems with nms

By problems with NMS I mean that the plugin which uses NMS can't load using my compiled fork (even without internal changes in my fork), but works perfectly fine if I use original fork (pre-compiled or compiled by me from source). The error in the plugin shows that it can't find some NMS classes.

Maybe you can say what I missed? I just use regular paperweight commands like applyPatches and then createMojmapBundlerJar ('cause 1.21 is mojang-mapped now) to compile both my fork and original fork, though NMS only works for original fork. Sorry if there's some info about that but I couldn't even find a wiki about forking a fork (not paper) so I was trying to do the same as other forks do but something went wrong and I'd be glad to get some help with it
https://pastes.dev/3QEKVG8rFY

wise silo
#

Hello, I have an issue or bug when using Paperweight Userdev on versions below 1.21. The error is as follows when using NMS from that version: java.lang.NoSuchMethodError: 'net.minecraft.server.level.ServerLevel org.bukkit.craftbukkit.v1_20_R3.CraftWorld.getHandle()'.

granite valve
#

well what version of the server are you running the plugin on? @wise silo

granite valve
#

can you pastebin the full latest.log where it throws that error

wise silo
granite valve
#

oh I guess you just aren't using the reobf'd plugin jar

#

when you do ./gradlew build, which jar are you using from build/libs

wise silo
#

do you mean this?

granite valve
#

correct. it produces multiple jars, one is reobf'd the other is still mojang mapped

#

on 1.20.4, we hadn't switched to using mojang mapped in production, that is 1.20.5+

wise silo
#

I understand, so how could I solve the compatibility issue?

#

right now I'm drawing a blank

#

xD

granite valve
#

you have to use the other jar that is made when you run build

#

run ./gradlew build and show what files are built

wise silo
granite valve
#

so you should be using the the non -dev jar

#

but you can open each jar up and decompile each class and look at the types being used

#

you shouldn't have any "ServerLevel" references in your plugin which you had in your no such method error

#

as that is a mojang name, not a refobf'd name

wise silo
#

no dev

granite valve
#

yeah, don't use the -dev one because it's not reobf'd and you are running a reobf'd server

#

you can see the difference in the types ServerLevel->WorldServer BlockPos->BlockPosition

soft walrus
bleak lark
#

context, moving to paper from spigot

lament scarab
#

that looks like groovy

#

we primarly cater to kotlin build scripts these days

#

but, also, 1.20.5+ require java 21

bleak lark
bleak lark
lament scarab
#

generally you want to use the modern toolchain stuff

bleak lark
bleak lark
thorny pewter
#

For some reason, my IDE is stuck on Building model - downloading a pom file from my repository (reposilite). I tried deleting the .gradle folder and doing invalidate caches + restart, but nothing changed.
I tried adding this dependency on another project, and the pom downloads fine and the dependency works fine. So it's something wrong specifically with this project.

#

What should I do?

thorny pewter
#

Turns out I'm the idiot, I forgot to update the domain on the repository

#

Though I am surprised there is no warning or anything about that

steady star
#

i need help, i'm using paperweight and i need to import in 1.8.9

#

paperweight.paperDevBundle("version")

#

i tried this

#

ahhh, its only above 1.17

#

right?

grand niche
#

yup

cinder ember
#

Is it possible to use paperweight patcher in vanilla Minecraft instead of spigot?

unique crest
#

I try to use paperweight for 1.21 with mojang mappings, but I always get following error when running gradle build:

A problem occurred configuring root project 'paperweight-test-plugin'.
> For input string: ""

I also tried the paperweight-test-plugin (cloned it and changed nothing), but I'm getting the same error. Any ideas what can cause this?
btw I'm using java 21 and gradle 8.9
gradle stacktrace: https://pastes.dev/ES2Mnca5BE

EDIT: solved it by removing the gradle cache in my user gradle folder

turbid moon
#

Can you send us your build.gradle(.kts) please?

soft walrus
#

It only happens with module version 1.19_R1. Is the problem paperweigth? When I remove that specific version it doesn't compile, when I remove it it builds fine.

lament scarab
#

you need java 17 for that

unique crest
cinder ember
lament scarab
#

mache is a set of tooling to produce a compilable set of sources

#

our tooling is currently heavily wired around our actual setup

lament scarab
#

well what?

#

our tooling is written for our own pipelining, we don't setup the pipelines manually in paper

#

the whole "patching over vanilla" thing isn't going to be a thing until v2

cinder ember
lofty tiger
#

Hi everyone,
I've been trying for a bit to have unobfuscated NMS using paperweight. Maybe I don't understand how to make it work, here is the plugins and dependencies from my build.kts

plugins {
    java
    kotlin("jvm") version "1.8.21"
    id("com.github.johnrengelman.shadow") version "7.1.2"
    id("io.papermc.paperweight.userdev") version "1.7.2"
}
dependencies {
    implementation("org.apache.commons:commons-text:1.11.0")
    compileOnly("org.spigotmc:spigot:1.19.4-R0.1-SNAPSHOT")
    // compileOnly("org.bukkit:craftbukkit:1.19.4-R0.1-SNAPSHOT")
    paperweight.paperDevBundle("1.19.4-R0.1-SNAPSHOT")
    compileOnly("co.aikar:acf-paper:0.5.1-SNAPSHOT")
}

Am i doing somethings wrong or is paperweight userdev not made to get unobfuscated NMS ?
Have a great day and thanks for further helps

lament scarab
#

well, you're pulling spigot in

#

so you're going to have both papers mojmap environment and spigots api/obf stuff floating around

lofty tiger
#

But then, i miss things like EntityPlayer from NMS level etc...

lament scarab
#

Mojang don't call it EntityPlayer, they call that ServerPlayer

lofty tiger
#

ooh, i guess it was because the code i found was using bukkit mappings

#

thanks a lot

lofty tiger
#

and so, how do i get re-obfuscated jars ? I have a "NoSuchMethod" even tho i'm using the "reobfJar" task from gradle

lament scarab
#

make sure you grab the correct jar

lofty tiger
#

well, in the build/libs right ?

fluid onyx
#

@grave moss you still didnt ask it here. Did you find it out?

grave moss
#

no just i didn't have time to ask or try anything so i just waited to ask tomorrow which is now later today

grave moss
#

Anyway, I i am trying my own maven dependency for my plugin so people can use the api how can i do that?

bronze ember
#

need to publish it somewhere

#

maybe your own maven repo, maybe maven central

grave moss
#

alright but how do i make my own maven repo and stuff

brisk belfry
#

google it

grave moss
#

right

naive igloo
#

not the right place to ask but someone might know the answer

im forking paper and use intellij on windows. my jdk is stored on wsl and i run gradle through wsl to speed up the process (as suggested in the contrib guide) but my intellij cannot seem to function as my entire project inside the wsl partition so ends up crashing/freezing during indexing etc. this doesnt happen when the project is stored on windows, does anyone have any advice on what I should do because I cannot use this IDE in the current state

more specifically i hang on 'Importing maven repo data' and 'updating indexes' also hangs forever (hours in my testing i never bothered waiting any longer)

solution
https://youtrack.jetbrains.com/issue/IJPL-73519/IntelliJ-is-slow-hanging-when-working-with-WSL-filesystem
turning of windows defender does nothing you must instead add some file paths to exlcusion
I added the entire wsl system as an exclusion so \\wsl.localhost\Ubuntu as well as some JetBrains dirs

noble ruin
#

Hello, im trying to use paperweight for 1.21.1. The thing is that when i load my build.gradle i get this error message

    at io.papermc.paperweight.userdev.internal.setup.step.ApplyDevBundlePatches.run(ApplyDevBundlePatches.kt:78)
    at io.papermc.paperweight.userdev.internal.setup.step.StepExecutor.executeStep(steps.kt:99)
    at io.papermc.paperweight.userdev.internal.setup.step.StepExecutor.executeSteps(steps.kt:80)
    ... 163 more```
but there is no error message in the patchedSourcesJar.log. What should i do ?
this is my build.gradle https://paste.gg/p/anonymous/21164e4ea67047ba9a1c0b47886be6d8
static urchin
#

1.21.1 will need java 21

#

Also switch your shadow plugin to com.gradleup.shadow

noble ruin
#

ok this was a dumb error lol tyvm its working now 👍

final jewel
#

what did you try

#

I'd be faster if you post the build.gradle.kts here

echo kilnBOT
#

Please send large files/logs to a pastebin

final jewel
distant mango
#

one is kotlin dsl one is the ugly outdated groovy dsl

final jewel
#

don't use goooler's, use gradleup's

distant mango
#
relocate('xcrestored', 'org.tomlj:tomlj')
relocate('xcrestored', 'org.jetbrains.kotlin')

wrong way around

#

relocate("org.jetbrains.kotlin", "xcresorted.libs.kotlin")

#

also 1.20.1 is outdated

final jewel
#

why do you have the stdlib both as compileOnly and implementation as wel

gritty robin
#

why?

#

using userdev

lament scarab
#

update tinyremapper

#

see pins

gritty robin
gritty robin
#

why 😭

#

Any solution?

lament scarab
#

use java 17

#

(use gradle toolchains)

gritty robin
#

Gradle toolchain 21 to 17?

#

Ok

lament scarab
#

you can set the toolchain per submodule

gritty robin
#

And how come it doesn't support java 21?

lament scarab
#

the decompiler output has some differences depending on the version of JRE that is being used

gritty robin
#

Not working

lament scarab
#

well, you may need to delete the cache folder manually in order to get it to try again properly

#

otherwise, we'd need more info

smoky violet
#

I would bet this is due to cross-project configuration ordering

#

(unless ofc they are not using latest)

arctic jewel
#

Is there any reason why paperweight is resolving the reobf configuration to .gradle/caches/paperweight/taskCache/reobfJar.jar? I'm trying to abstract away most gradle config logic across multiple projects into a gradle plugin, but for some reason, when doing the following:

        pluginProject.addImplementation(
            pluginProject.dependencies.project(
                mapOf(
                    "path" to adapterProject.path,
                    "configuration" to "reobf"
                )
            )
        )

This causes shadowJar to not include the proper class, since reobfJar.jar doesn't exist. The correct path should be something like build/libs/whatever.jar.

hollow lark
#

hi can someone help me shading CommandAPI?

agile skiff
#

share your build script

hollow lark
#

the build.gradle you mean?

agile skiff
#

yes thats your build script

hollow lark
hollow lark
agile skiff
hollow lark
#

quick question
i don't need the CommandAPI.jar in my plugins folder right?

when i have it it sends the commandapi is loading 2 times

agile skiff
#

if you shade it you don't have to put it in your plugin folder

#

also you can remove the dev.jorel:commandapi-bukkit-core:9.5.2 dependceny

hollow lark
#

ok but when i had the jar without shading people said i have to shade

agile skiff
#

well that or you tell people to also install the CommandApi plugin

hollow lark
brave widgetBOT
hollow lark
#

i used this

agile skiff
#

update your gradle

hollow lark
#

latest version or 8.3 same as shadow

agile skiff
#

latest version

hollow lark
#

ok

hollow lark
#

i updated to right version

agile skiff
#

uh can you send your new build script again?

hollow lark
#

:)

agile skiff
#

you still need the java plugin

hollow lark
#

wdym

agile skiff
#

add id 'java'

#

to your plugins

hollow lark
#

i did

agile skiff
brave widgetBOT
hollow lark
#

i get this now

agile skiff
#

lowercase

hollow lark
#

ohhh

#

mb xd
it reloaded successfully

#

thanks

hollow lark
#

hi

quaint raven
main mica
#

ideally, don't use it in general. its terrible and encourages bad practices

quaint raven
#

Maybe just missing some mine academy repo...

gritty robin
brave widgetBOT
hollow lark
#

any other suggestions?

hollow lark
final jewel
#

just because someone has years of experience doesn't mean they will make good libraries

hollow lark
#

i think i won't use it lol
i got loads of errors and i don't really feel comfortable for it

final jewel
#

libraries like that are quite pointless anyway, they put abstractions on top of the Bukkit/Paper API but without thought into the design making the overall experience just worse

#

this is the reason you don't often see a "do everything" kind of library, and if you do then it is most likely used by a single developer, e.g.: bkcommonlib that berger uses on all his plugins

magic hearth
#

how would i use xyz.jpenilla.run-paper with --enable-preview?

final jewel
magic hearth
#

how?

#
    runServer {
        // Configure the Minecraft version for our task.
        // This is the only required configuration besides applying the plugin.
        // Your plugin's jar (or shadowJar if present) will be used automatically.
        minecraftVersion("1.21.1")
        jvmArguments.add("--enable-preview")
        jvmArgs("--enable-preview")
    }
#

nvm

#

i am dumb

hollow lark
#

hey how can i run debug server on intelij?
i tried something but it doesn't add the plugin to server

distant mango
#

use the run paper gradle plugin

hollow lark
#

what does that do

#

intelij plugin?

distant mango
#

gradle plugin

#

allows you to run a server which automatically adds your plugin

#

and debug stuff

hollow lark
#

oh ok

#

how to add it

#

:)

#

help pls

main mica
hollow lark
#

i did whats in the paper one

#

and i get this error when i reload

#

bump

distant mango
#

send your new build script

hollow lark
distant mango
#

you haven’t added the plugin lol

hollow lark
#

oh lol

distant mango
#

send build script

hollow lark
#

wait

#

i updated version

#

and no error

#

so i run runServer in terminal?

#

./gradlew runServer

distant mango
#

yes

hollow lark
#

when i update code do i have to run it again?

#

or it updates auto

#

where do i find it

distant mango
#

run/

hollow lark
#

run/?

distant mango
#

the directory run

hollow lark
#

uhh

#

wdym xD

paper kestrel
#

The server directory is the directory run, which it created in the root of your project

hollow lark
#

ohh found it

paper kestrel
#

You might need to right click -> reload from disk

#

Ah ok

hollow lark
#

i thought it was some virtual stuff lol

#

it showed the Timings Reset but still says this

distant mango
#

yes

#

that’ll always be there whilst it’s running

distant mango
#

yes

#

there’s probably a way to setup auto reload shit but no clue how

hollow lark
#

yes i restart?

hollow lark
thorny pewter
#

How do I refresh gradle dependencies/cache? I deleted the caches file in my .gradle on my macbook, but doing that broke all my projects and I can't get them back on their feet

#

On one of them I get the error NoSuchFileException, about not finding files in the caches directory

#

Initialization script '/private/var/folders/j2/_k38ncp578v6cv02qd18s7740000gn/T/ijInit1.gradle' line: 107

#

Actually I get that error in both

verbal skiff
#

try restarting

#

maybe there was some daemon still running so it got fucked up pretty good

#

and iirc you can even delete the whole .gradle dir

#

wait, did you mean the user-level ~/.gradle or the project level one?

thorny pewter
rain pollen
#

Hi, I'm currently trying to add a project dependency to my dev bundle serverRuntimeClasspath configuration, but it gets filtered out right before it's added to the config.
I need that in order to run the runDevBundleServer task from my plugin without the server throwing a NoClassDefFoundError. The project dependency is already available on the mojmap bundler server jar in its libraries directory.

short trench
#

I've added a "fork" (literally one line of code) to a reposilite, and I keep getting 401 forbidden when it attempts downloading the final jar. gradle's auth is working, but for some reason when it tries getting the jar it shits itself.. any ideas?

17:00:25.294 DEBUG | HEAD /aethon/io/github/aethon/aethon-api/1.21.1-R0.1-REEE/aethon-api-1.21.1-R0.1-REEE.pom from my ip
17:00:25.295 DEBUG | Gav 'io/github/aethon/aethon-api/1.21.1-R0.1-REEE/aethon-api-1.21.1-R0.1-REEE.pom' found in 'aethon' repository
17:00:25.336 DEBUG | GET /aethon/io/github/aethon/aethon-api/1.21.1-R0.1-REEE/aethon-api-1.21.1-R0.1-REEE.pom.sha1 from my ip
17:00:25.337 DEBUG | Gav 'io/github/aethon/aethon-api/1.21.1-R0.1-REEE/aethon-api-1.21.1-R0.1-REEE.pom.sha1' found in 'aethon' repository
17:00:25.379 DEBUG | HEAD /aethon/io/github/aethon/aethon-api/1.21.1-R0.1-REEE/aethon-api-1.21.1-R0.1-REEE.module from my ip
17:00:25.380 DEBUG | Gav 'io/github/aethon/aethon-api/1.21.1-R0.1-REEE/aethon-api-1.21.1-R0.1-REEE.module' found in 'aethon' repository
17:00:25.413 DEBUG | GET /aethon/io/github/aethon/aethon-api/1.21.1-R0.1-REEE/aethon-api-1.21.1-R0.1-REEE.module.sha1 from my ip
17:00:25.414 DEBUG | Gav 'io/github/aethon/aethon-api/1.21.1-R0.1-REEE/aethon-api-1.21.1-R0.1-REEE.module.sha1' found in 'aethon' repository
17:00:29.674 DEBUG | GET /aethon/io/github/aethon/aethon-api/1.21.1-R0.1-REEE/aethon-api-1.21.1-R0.1-REEE.jar from my ip
17:00:29.674 DEBUG | ACCESS | Unauthorized attempt of access (token: null) to io/github/aethon/aethon-api/1.21.1-R0.1-REEE/aethon-api-1.21.1-R0.1-REEE.jar from aethon
17:00:29.674 DEBUG | FIND | Could not find file due to ErrorResponse(status=401, message=You need to provide credentials.)

build.gradle: https://pastes.dev/2YD0CwZKTk

#

everything from the .pom to the .module files seem to download and i can view them in my caches too

#

funny thing is im doing auth the same way when im publishing so i dont have the slightest of clue as to why my local machine cant pick it up from the maven repo

short trench
#

idk what the fuck i did but its working now 💀

smoky violet
#

your best bet would be publishing it like normal and having the api or server depend on the published version

#

I've experimented with trying to support project dependencies before, but did not like what I came up with, I have ideas for other ways to implement it now but it's not a priority at all

short trench
#

jmp, does the userdev devBundle script strip away credentials?
it appears I can just comment out the plugin, and the devBundle script and use a compileOnly to get my api (and it downloads perfectly)
but when i try to get the devBundle on its own, it fails with 401

smoky violet
#

I don't understand what you are asking

short trench
#

Sorry uh,

I'm trying to use my own fork using the userdev plugin. I have repo auth setup as such:

    maven {
        name = "aethon"
        url = "https://reposilite.quack.boo/aethon"
//        credentials(PasswordCredentials)
        credentials {
            username = "haappi"
            password = "password"
        }
    }

and my dependency as

dependencies {
    paperweight.devBundle("io.github.aethon", "1.21.1-R0.1-WORK-ALREADY-v2")

But this gives me a 401 for some reason. It can download everything else (like here #build-tooling-help message), but struggles with getting the jar file for some reason.

If I were to remove the userdev plugin along with the devBundle, and use compileOnly("io.github.aethon:aethon-api:1.21.1-R0.1-WORK-ALREADY-v2") to fetch the dependency, it works fine... so Im starting to wonder if userdev is somehow not passing the repo credentials correctly

smoky violet
#

you wouldn't include the repository in the bundle if it requires credentials

short trench
smoky violet
#

I don't get the question

#

in the config for dev bundle generation there is a list of repos you configure for injection to consumer projects

#

that is not useful for repos that require auth

#

consumers will need to add the repo themselves

final jewel
#

where are the details supposed to be kek

#

nevermind, I just deleted the API and server folder instead

magic hearth
#

does run-paper have hot-swap?

lament scarab
#

hotswap is a JVM feature, not a run-paper thing

magic hearth
#

how would i enable it with intellij?

drowsy spire
#
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    <filters>
                        <filter>
                            <artifact>*:*</artifact>
                            <excludes>
                                <exclude>META-INF/*.MF</exclude>
                            </excludes>
                        </filter>
                    </filters>
                    <relocations>
                        <relocation>
                            <patern>dev.dejvokep.boostedyaml</patern>
                            <shadedPattern>org.nexuscraft.corevelocity.libs</shadedPattern>
                        </relocation>
                    </relocations>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

Maven reloads fine but upon package, it fails for the following reason

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:3.6.0:shade (default) on project Core-Velocity: Unable to parse configuration of mojo org.apache.maven.plugins:maven-shade-plugin:3.6.0:shade for parameter patern: Cannot find 'patern' in class org.apache.maven.plugins.shade.mojo.PackageRelocation -> [Help 1]

drowsy spire
drowsy spire
rain pollen
magic hearth
#

I know how to run it but when i reload the changed classes nothing happens

#

I tried doing /reload confirm

main mica
#

the reload command has nothing to do with hotswapping, and generally should not be used

final jewel
#

when hotswapping, onEnable isn't going to be called again so if you made your code unreachable then there's nothing that can be done about that lol

inland topaz
#

Is there any currently know issues with building paperweight dev bundles on OSX? I am currently using a bundle build as so, and it seems to be working alright.

lament scarab
#

works fine

inland topaz
prime cliff
#

Works fine for me as well. You use the gnu version of the diff cli tool?

paper kestrel
#

am i missing something obvious, or does velocities "run" task not allow any commands into the console?

smoky violet
paper kestrel
#

builtin application run task for papermc/velocity

smoky violet
#

is that through gradle or intellij

#

I can't find it in the repo

paper kestrel
#

ill see if i can set that in the application block itself

smoky violet
#

the application plugin is just kind of antiquated in general

#

I would just slap a JavaExec in there tbh

#

or just manually create a run with intellij

distant mango
verbal skiff
#

it does what its supposed to

paper kestrel
lament scarab
#

I mean, yea, but it's also generally broken here

#

I was thinking to just shove it over to using JavaExec, if that fixes that then it's probably worth it to just remove the application plugin and jump over to just using a custom run task for both

#

at the very leas that would potentially fix an issue with me having to mess around with my testing environment for

#

Oh, actually, I think I get what's happening

sturdy belfry
#
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.meek-dev</groupId>
  <artifactId>CommuBadges</artifactId>
  <version>2.0</version>
  <packaging>jar</packaging>

  <name>CommuBadges</name>

  <properties>
    <java.version>21</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <build>
    <defaultGoal>clean package</defaultGoal>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.13.0</version>
        <configuration>
          <source>${java.version}</source>
          <target>${java.version}</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>3.5.3</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
    </resources>
  </build>

  <repositories>
    <repository>
      <id>papermc</id>
      <url>https://repo.papermc.io/repository/maven-public/</url>
    </repository>
      <repository>
        <id>spigotmc-repo</id>
        <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
      </repository>
    <repository>
      <id>sonatype</id>
      <url>https://oss.sonatype.org/content/groups/public/</url>
    </repository>
  </repositories>

  <dependencies>
    <dependency>
      <groupId>io.papermc.paper</groupId>
      <artifactId>paper-api</artifactId>
      <version>1.20.6-R0.1-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
      <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongodb-driver-sync</artifactId>
        <version>4.9.1</version>
      </dependency>
    <dependency>
      <groupId>org.spigotmc</groupId>
      <artifactId>spigot-api</artifactId>
      <version>1.20.6-R0.1-SNAPSHOT</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
</project>

#

@limpid heart

echo kilnBOT
#

Please send large files/logs to a pastebin

static urchin
#

Remove spigot-api dependency, it isn't needed when depending on paper-api

smoky violet
#

i don’t see why velocity would need the plugin at all when the distribution is just a fat jar

strong merlin
#

I'm getting this timeout for 1.21.1 paperweight-userdev

smoky violet
#

move that repo to the end of your list

strong merlin
#

thx it works now

dim pelican
#

Sorry - after you clone Folia, is there some additional setup required? Getting the attached error for all gradle tasks:

smoky violet
#

#folia-help - but the steps are the same as outlined in the paper readme

dim pelican
#

^ thank you, that channel wasn't on my list

#

Is there a paper readme for building the server? I only see plugin guides on papermc.io

main mica
dim pelican
#

woot! For future refs, it built but I had to add org.gradle.jvmargs=-Xmx1024m "-XX:MaxMetaspaceSize=512m" to my gradle.properties

smoky violet
#

you should not need to change the memory options unless you have something messing with the defaults

dim pelican
#

nope, haven't messed with any of the code, clean clone from Github except for the gradle properties edit

tiny talon
#

Hello!
I am currently running a private paper fork. Now I am trying to access NMS so I need a Dev Bundle.

According to the paperweight-example there are 2 things needed

tasks.generateDevelopmentBundle {
    apiCoordinates.set("de.verdox.mccreativelab:mccreativelab-api")
    //mojangApiCoordinates.set("io.papermc.paper:paper-mojangapi")
    //repositories.maven(repositories.mavenLocal())
    libraryRepositories.set(
        listOf(
            //"https://repo.maven.apache.org/maven2/",
                mavenLocal,
            // "https://my.repo/", // This should be a repo hosting your API (in this example, 'com.example.paperfork:forktest-api')
        )
    )
}

publishing {
    // Publishing dev bundle:
    // ./gradlew publishDevBundlePublicationTo(MavenLocal|MyRepoSnapshotsRepository) -PpublishDevBundle
    if (project.hasProperty("publishDevBundle")) {
        publications.create<MavenPublication>("devBundle") {
            artifact(tasks.generateDevelopmentBundle) {
                artifactId = "dev-bundle"
            }
        }
    }
}

I am only trying to publish it to maven local. Whenever I execute gradlew publishDevBundlePublicationToMavenLocal -PpublishDevBundle it creates the dev bundle in the build/libs/ and build/publications. However it does not appear in my maven local repository :/. I tried to add publishDevBundle to the gradle.properties. But did not work either

mighty pewter
#

How do I add a library to the build process in gradle.kts?

static urchin
#

e.g. to use during a task execution?

mighty pewter
#

I want to include a library in the build process.

static urchin
#

What does that mean. Do you want use the library during the build process to build something or do you want to include a library in the project that is being build

mighty pewter
#

I want to include a library in my jar that I've added as a dependency.

static urchin
#

Ah

#

in that case, what you are trying to do is shading the library

hushed brook
#

The error occurs while trying to develop using paper-weight with id("io.papermc.paperweight.userdev") version "1.7.3-SNAPSHOT" applied. What could be the cause of this?

https://pastes.dev/dKlF4ITvSM

static urchin
#

Beyond the question as to why you are running the .3 snapshot, ehh, what jdk are you using for compilation

hushed brook
#

I am using Java 21, and when I downloaded paper-weight from GitHub, it was version 1.7.3. Is there a way to use an older version (like 1.7.1)?

static urchin
#

download paperweight from github?

#

Not that it matters, ehh, can you share the build script?

echo kilnBOT
#

Please send large files/logs to a pastebin

hushed brook
static urchin
#

do you have the branch that fails building?

#

beyond that, can you post the output of java --version

hushed brook
#

It occurs at the indicated section.

static urchin
#

Yea lol

#

I'd give a normal hotspot JDK build a try

#

not the openj9 jre

crude kernel
#

ibm jdk is crazy

hushed brook
#

Thank you! I will try again with the JDK build and version 1.7.2

static urchin
winter glacier
#

how can I get rid of the shaded and original jars? I only need the normal jar

lament scarab
#

don't

#

using maven is also generally a headache for this kinda thing, you'd need a post task to clean up, and screwing with files is how you end up breaking build reproduction

pliant knoll
#

yo chat

#

how does one obtain hotswapping with userdev

#

all i have are these three tasks

glass sable
#

runserver might do it, not sure if that supports hotswapping out of the box thb

pliant knoll
#

ah shit i dont have a runServer task

#

all i did was add id("io.papermc.paperweight.userdev") version "1.7.1" to my plugins and add paperweight.paperDevBundle("1.20.6-R0.1-SNAPSHOT")

#

oh i probably need the whole paperweight setup rght

#

osmeone told me i just needed userdev 😭 🙏

distant mango
#

get the run-task plugin

pliant knoll
distant mango
#

he’s

#

yes

pliant knoll
#

gotcha

#

ah yes this has runDevBundleServer im guessing this is it

#

how do i obtain hotswapping now that its running though lol

lament scarab
#

well, you run that task through your IDE

#

make sure that you're running JBR

pliant knoll
#

oh i need to re-configure a task?

#

alright

lament scarab
#

you may want to configure that task to add the enhanced hotswapping arg if that's still a thing

pliant knoll
#

all i did was execute the runDevBundleServer task but it wasnt hotswapping shit 😭 🙏

lament scarab
#

executed it how?

pliant knoll
#

good ol' left click

lament scarab
#

you need to run it as a debug task inside of IJ

#

that way IJ will hook in its debugger

pliant knoll
#

oh as a debug task?

#

okay

#

gotcha

#

give me one sec

#

okay well im running it as a debug task

#

but its not doing shit (probably not using jbr)

#

okay well

#

jbr doesnt have a java 21 version afaik

#

am i cooked

#

no it does have 21

#

hmm

pliant knoll
#

alright

#

now im using the right jdk to run it

#

but it aint hotswappong

#

😮

#

its definitely the right jdk though

#

unless im supposed to press some fancy button for hotswap

#

i had to do CTRL + SHIFT + F9

#

however ^

#

i restarted it and now i get this

#

oh wait do i need to append the parameters?

distant mango
#

make sure you disable relocation

pliant knoll
#

oh alright

#

i realised i didnt configure this

#

do I need to with paperweight?

#

or does it magically do it itself

pliant knoll
#

alrght well

#

now there's no error but it didnt do shit 💀

#

well i added -XX:+AllowEnhancedClassRedefinition -XX:HotswapAgent=fatjar to the arguments and got 2 billion errors

#

oh well it did fix it though

#

hotswapping works at least

#

lol

#

thanks for da help 😄

misty current
#

fatjar never worked for me, some missing classes regarding plugins. I just use core and it works like a charm

#

except kotlins inlining and functions makes it a little annoying sometimes, but its worth ti

deft crag
#

Hey, I asked my question in the wrong channel and was referred here. Panilla is unable to compile bc it requires PaperMC 1.20.6+ to be in the local maven repo in the same way spigot / craftbukkit had to be in the local maven repo for earlier versions.

Would anyone here know if compiling PaperMC w/ gradle will put the necessary dependencies in the local repo so I can compile Panilla? I’m having some trouble compiling Paper 1.20.6, which I can elaborate on if I get an answer but I just want to know if I’m working in the right direction.

A user was having a similar issue in this Discord here, don’t know what their solution was: #paper-help message

Thanks!

smoky violet
#

are you the dev or just a user trying to compile it? the proper solution is to update the project to use paperweight-userdev, we haven't supported the maven local install method for a couple years at this point

fossil topaz
unreal cedar
#

Right. Gradle people, I am stuck. Finally got my "api" module building , struggling with "plugins". api builds a jar and puts it in the libs folder... Declaring libs/*.jar doesn't seem to load it, as building plugins throws a ton of missing package/symbol errors...

if I add :api as a dependency, it supposedly a circular ref

Any pointers would be much appreciated

static urchin
#

is the project on GH? Otherwise, share your build.gradle.kts files

echo kilnBOT
unreal cedar
#

ty. I'll pastebin the kts files

static urchin
#

Aight, whatever you are doing there is 100% not what you are intending to be doing

unreal cedar
#

Probably not, the gradle stuff was written after I left the "team"

#

basically just hacking away tilll something works tbh

static urchin
#

Yea, so, obviously you kinda have a circular dependency if the api build a jar, puts it into /libs, but API also depends on the contents of libs

#

given how small the project gradle files looks, I'd just restart completely with gradle

#

you have a root build.gradle.kts ye? and then two modules, one api one plugin

unreal cedar
#

nope. just api/build and plugins/build, then projects within plugins

devout ledge
#

Well that's part of the problem then

static urchin
#

oh, so this isn't a single project then?

#

If you have multiple projects that all consume the API, you'd be looking a lot more at just publishing it correctly instead of some jar based dependency crud

#

Like, maven repository somewhere and off ya go

#

alternatively, make everything a single gradle project

devout ledge
#

Though if these 2 projects are effectively 1 project (i.e. it doesn't make sense to have them separate), you should probably be switching this to a single gradle project

static urchin
#

then projects within plugins

#

figured projects meant multiple

devout ledge
#

oh missed that

static urchin
#

but yea, if it is just one, go with _11's suggestion

unreal cedar
#

hmm... it is and it isn't, i haven't touched this source since 2016... "api" is a collection of utility stuff and then "plugins" is a project full of plugins...

static urchin
#

hmm, plugins does seem like a single project then yea

devout ledge
#

...wow that's more than I expected. Assuming those plugins are all completely independent of one another, I'd probably split them all up into independent projects (i.e. separate VCS, build file, etc), same with the API, and figure out proper publishing for the api module

#

Though I'm not sure if that'd be more or less work than trying to make it work as the current one giant megaproject thing

unreal cedar
#

might be able to get away with pushing api to local maven then

unreal cedar
main mica
#

packets, but thats kinda the same in the end

unreal cedar
#

All good, I'll probably just use Citizens. Finally got the whole project building and producing loadable plugins... Shame nothing actually works XD

strong merlin
#

are there any examples for using paperweight on a fork of paper?

echo kilnBOT
strong merlin
#

I'm trying to make a custom server jar with paperweight patcher

distant mango
strong merlin
#

I'm looking at that but the provided example is to make a fork based from paper and I want to use in my case purpur as a base fork

strong merlin
#

got it I knew that I had to use standardpatcher but the rest of the fields inside I was stuck on that

peak dagger
#

Hi, I have a problem with gradle. When I try to build my project it says that it the build was successful but there's no build directory to be found? I think there's something wrong with my build.gradle.kts file but I don't know what it is.

echo kilnBOT
distant mango
#

your build.gradle

orchid flame
#

anyone know whats wrong?


* What went wrong:
Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)

* 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.

C:\Users\User\Downloads\PlotSquared-7.3.11\PlotSquared-7.3.11>```
final jewel
orchid flame
#

i need help and i never can compile this from github

#

i tried jdk 21 and jdk 17

#

im banned from dc

final jewel
#

again, no help for building paid plugins. That's the reason people pay for it, for support

orchid flame
#

i couldnt pay

prime cliff
distant mango
#

this is not the channel for “help me compile a (paid) plugin”

orchid flame
prime cliff
#

Yeah it is the channel "help me to use paperweight" ✅

orchid flame
#

?

prime cliff
#

I'm with you powercas_gamer.

final jewel
lament scarab
#

you'd need to see the gradle logs

#

but, helping people compile random plugins from github is generally a headache

orchid flame
#

yes

orchid flame
lament scarab
#

.gradle/daemon/ver/good luck

prime cliff
#

Not gonna hold hands for you. Buy the plugin or get ChatGPT to help you.

lament scarab
#

try a shorter folder path, I guess

orchid flame
#

and chatgpt doesnt help

prime cliff
orchid flame
#

ok

final jewel
#

It isn't that we just want to be asshole and not help you. At least when it comes to me, I appreciate the fact that someone goes out of their way to publish the source of their paid plugins, and this is the way to reciprocate that as a community member

orchid flame
#

Yes yes

#

u are

kindred geyser
lament scarab
#

as said, their project setup is generally broken and in order to fix it you'd either need to fluff around to deploy whatever they're expecting to be in the lobal maven repo to be in local maven, or, update the thing to properly use userdev

kindred geyser
#

I wonder how they compiled it in the first place tho, is there some docs to update to userdev?

lament scarab
#

They manually installed those versions of paper into their maven local repo

echo kilnBOT
lament scarab
#

is generally the documentation which covers that, but might not be a trivial swap if you're not familiar with gradle, etc

kindred geyser
#

The project from github actually uses gradle

lament scarab
#

yes, I know

kindred geyser
#

Will try to update, I dont have high hopes tho kekw

prime cliff
#

good luck thumbs pressed.

burnt skiff
#

I'm going crazy I don't know what's the cause anymore

smoky violet
#

if you read the error you will notice it points you to a log file

burnt skiff
#

this

smoky violet
#

remove the lines in your build file messing with output names

burnt skiff
#

Thx

vapid storm
#

Hi, anyone knows why with this build.gradle I haven't NMS? I'd tried to follow paper's guide, but it seems like not works for me (it's my first time using Paper's NMS)

    id("io.papermc.paperweight.userdev") version "1.7.1"
}

repositories {
    mavenLocal()
}

dependencies {
    paperweight.paperDevBundle("1.21.1-R0.1-SNAPSHOT")
    implementation 'de.tr7zw:item-nbt-api:2.13.2'
}

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(21)
    }
}```
fossil topaz
vapid storm
fossil topaz
#

not building

vapid storm
fossil topaz
#

What classes are missing?

#

it's here

vapid storm
fossil topaz
#

and this doesn't seem like proper gradle

vapid storm
fossil topaz
#

wdym?

vapid storm
#

The link of Github repository

fossil topaz
#

what github repository?

vapid storm
#

of plugin

#

btw, I have same problem with paper 1.20.6

fossil topaz
vapid storm
fossil topaz
#

oh, you meant you to send me the github repository link with your plugin which have the issue?

fossil topaz
#

yeah, send it, will help with this

vapid storm
fossil topaz
#

you'll have to ask the author for help

vapid storm
#

I don't have any contact of author (it hasn't any discord server or other).
I don't know why paperweight not generate nms classes, with these I think I can compile

fossil topaz
#

But because that's a paid plugin, and you're kinda trying to break rule 7 from #welcome, you're going to receive even less support here

#

Purchase the plugin if you want a compiled version

vapid storm
fossil topaz
#

I would find an alternative for it then

cold citrus
#

paperweight how to make generateDevelopmentBundle for local repo and use for plugins?

smoky violet
#

see the comments in the paperweight-examples build file

cold citrus
#

it uses remote repos. what I mean is .m2 repo

#

in file system

smoky violet
#

just publish to maven local instead of a remote repo?

cold citrus
#

this doesn't publish bundle

cold citrus
#

i know that but it seems generateDevelopmentBundle does it in different way, it publish api + server but not devbundle

lament scarab
#

did you set the property to generate the bundle as per the build config?

rain vessel
#

Is it possible to modify the output jar of the paperweight userdev server after its done applying patches and stuff?

#

like say i wanted to apply another patch(with a gradle plugin), would it be possible to do that

rain vessel
smoky violet
#

no

dire ridge
#

should i use subprojects {} for common subproject configuration or should i use buildSrc/shared.gradle.kts?

dire ridge
#

Figured it out, using buildSrc conventions for common configuration 👍

unreal cedar
#

Never mind, it was for Citizens and had to add the exclusion

hoary lichen
#

Anyone know what the recommended version of the jetbrains annotations library is? Trying to compile a jar using the command line.

smoky violet
#

latest is probably fine

peak dagger
#

Hi, I have a problem with gradle, so I cloned a project from github and am now trying to compile it and I've gotten it so far that it compiles without errors but once you look into the jar file it creates there is no plugin.yml or other directories there is just the META-INF file and nothing else. I also noticed that inside of the build folder that the ./gradlew build command creates there are just the folders libs and tmp, everything else is missing. Does anyone have an idea what the problem would be here? I appreciate any help

distant mango
#

what project is it

peak dagger
#

If that's what you mean

lament scarab
#

No, they asked specifically, what did you clone

#

chances are you're looking in the wrong place or ran the wrong command

#

either way, the particulars are going to depend on the project you cloned

peak dagger
#

oh

safe plinth
#

just quickly chiming in here, iam working on this project with ladycat and i can compile it fine on my machine (iam using linux, she uses windows) if that helps

lament scarab
#

works fine here

peak dagger
#

just cloned it again and didn't change of the cloned version then I tried building and it told me that I should run gradle init. So I ran gradle init and then tried building and it says that is successfully built but theres no build folder

#

(I had this problem before but the build folder appeared once I moved the build.gradle.kts, the settings.gradle.kts, .gitattributes, .gitignore, gradlew and gradlew.bat to outside of the src folder)

#

but then I had the problem I am having now

crude kernel
#

Hey, I'm getting this error whilst trying to add the dev bundle to my project: ```
A problem occurred configuring project ':bukkit'.

Failed to notify project evaluation listener.
Could not resolve all files for configuration ':bukkit:paperweightDevelopmentBundle'.
Could not find io.papermc.paper:dev-bundle:1.21.1.
Searched in the following locations:
- https://repo.maven.apache.org/maven2/io/papermc/paper/dev-bundle/1.21.1/dev-bundle-1.21.1.pom
- https://repo.papermc.io/repository/maven-public/io/papermc/paper/dev-bundle/1.21.1/dev-bundle-1.21.1.pom
- https://maven.enginehub.org/repo/io/papermc/paper/dev-bundle/1.21.1/dev-bundle-1.21.1.pom
- https://mvn.devos.one/releases/io/papermc/paper/dev-bundle/1.21.1/dev-bundle-1.21.1.pom
- https://maven.radsteve.net/public/io/papermc/paper/dev-bundle/1.21.1/dev-bundle-1.21.1.pom
Required by:
project :bukkit

Possible solution:

My buildscript: ```kts
plugins {
    alias(libs.plugins.paper.dev)
}

dependencies {
    implementation(project(":common"))
    implementation(libs.bundles.cloud.paper)

    paperweight.paperDevBundle(libs.versions.minecraft)
}

The paper repo is added to all projects

#

or wait

#

does it need to be 1.21.1-R0.1-SNAPSHOT?

distant mango
#

yes

crude kernel
#

oh

fading vapor
#

I am using jpenilla's resource factory for paper convention and am wondering how to properly add plugin dependancies?

dim pelican
#

Ok so I've got my patch in mache - how does the cycle work? I think the next step is using paperweight-userdev to start a fork off of papermc

#

but like, what's the feedback loop from mache <-> paperweight?

#

how do I get the patch stuff to paperweight, and then back to mache to do more dev work?

smoky violet
#

mache is tooling for paperweight v2 which is not in use yet

dim pelican
#

arggg

#

it's so nice, y not in use yet...

smoky violet
#

you use paperweight-patcher to fork paper, and even when mache is in use that would still be the case

#

mache is just creating recompilable sources

dim pelican
#

and letting me browse through the full patched code and dynamically update patches based on my changes - I don't think paperweight does that?

smoky violet
dim pelican
blazing harbor
#

how do I use paperweightDevelopmentBundle()

#

I dont quite understand what I need to put in the brackets

#

I assume its just a depencency

#

but idk to what

#

the website seems to be outdated too

lament scarab
#

The version to use

echo kilnBOT
lament scarab
#

half blind right now, but, looks fine to me

blazing harbor
#

tahts what the site says to do

lament scarab
#

that looks like groovy, not .kts

blazing harbor
#

yeah its not .kts

#

its just build.gradle

#

idk how to convert it

lament scarab
#

yea, I have no idea how that looks like in groovy

blazing harbor
#

oof