A toolchain for Minecraft: Java Edition that builds a workspace to interact with the game using the official mappings provided to the public by Mojang Studios.

Overview

VanillaGradle Logo

VanillaGradle is a toolchain for Minecraft: Java Edition that provides a workspace to interact with the game using official mappings provided by Mojang Studios.

Documentation

The main documentation for VanillaGradle can be found in the Wiki (not available yet).

For additional help use the channel #vanillagradle on the Sponge Discord server.

Otherwise, to get a workspace up and going immediately it is as simple as

plugins {
    java
    id("org.spongepowered.gradle.vanilla") version "0.1"
}

group = "org.example"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}

minecraft {
    version("21w03a")
    runs {
        server()
        client()
    }
}

Within IntelliJ IDEA, this will generate run configurations named runClient and runServer

Building VanillaGradle

VanillaGradle uses the Gradle build automation system. To perform a build, use gradle version 6.8.1 and execute

gradle

from within the project root directory. (If you do not have Gradle installed on your system you can instead run the supplied Gradle wrapper gradlew)

Version History

Version Date Features / Changes
0.1 February 2021
  • Initial Release
Comments
  • Failed to read version manifest

    Failed to read version manifest

    Hello, my plugin started failing to build yesterday according to Github Actions.

    I have not changed any sponge related code in the last 2 weeks, so I think it has something to do with either sponge dependency or the related gradle plugins.

    Following build error occurs during configuration phase:

    > Configure project :sponge
    SpongePowered Plugin 'GRADLE' Toolset Version '2.0.2'
    SpongePowered Vanilla 'GRADLE' Toolset Version '0.2'
    FAILURE: Build failed with an exception.
    * What went wrong:
    A problem occurred configuring project ':sponge'.
    > Failed to read version manifest
    

    Using gradle version 7.4.2

    Here is my build.gradle if it helps https://github.com/plan-player-analytics/Plan/blob/master/Plan/sponge/build.gradle (spongeVersion is spongeVersion = "8.1.0" and fullVersion is fullVersion = "5.5 build 1760")

    What could be causing this?

    opened by AuroraLS3 4
  • Don't download metadata every run

    Don't download metadata every run

    Version manifests are re-downloaded every run currently, which means internet connections are needed to build, and any issue with Mojang servers would cause builds to fail right away.

    We should be able to download these to some sort of local cache instead.

    type: enhancement 
    opened by zml2008 3
  • 1.18 is not supported

    1.18 is not supported

    When I try to build my project with Minecraft 1.18, 1.18.1 or 1.18.2, it fails with this error:

    > Configure project :
    Targeting Minecraft '1.18.2' on a 'SERVER' platform
    Preparing Minecraft: Java Edition SERVER version 1.18.2
    Failed to resolve Minecraft SERVER version 1.18.2:
    java.lang.RuntimeException: java.lang.UnsupportedOperationException: Record requires ASM8
    	at org.cadixdev.atlas.jar.JarFile.transform(JarFile.java:223)
    	at org.cadixdev.atlas.Atlas.run(Atlas.java:150)
    	at org.cadixdev.atlas.Atlas.run(Atlas.java:120)
    	at org.spongepowered.gradle.vanilla.repository.MinecraftResolverImpl.lambda$provide$4(MinecraftResolverImpl.java:208)
    	at java.base/java.util.concurrent.CompletableFuture.biApply(CompletableFuture.java:1311)
    	at java.base/java.util.concurrent.CompletableFuture$BiApply.tryFire(CompletableFuture.java:1280)
    	at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)
    	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
    	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
    	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
    	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
    	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
    Caused by: java.lang.UnsupportedOperationException: Record requires ASM8
    	at org.objectweb.asm.ClassVisitor.visitRecordComponent(ClassVisitor.java:305)
    	at org.objectweb.asm.ClassReader.readRecordComponent(ClassReader.java:930)
    	at org.objectweb.asm.ClassReader.accept(ClassReader.java:708)
    	at org.objectweb.asm.ClassReader.accept(ClassReader.java:401)
    	at org.cadixdev.bombe.asm.analysis.ClassProviderInheritanceProvider.provide(ClassProviderInheritanceProvider.java:81)
    	at org.cadixdev.bombe.analysis.InheritanceProvider.provide(InheritanceProvider.java:77)
    	at org.cadixdev.lorenz.model.ClassMapping.provideInheritance(ClassMapping.java:480)
    	at org.cadixdev.bombe.analysis.InheritanceCompletable.complete(InheritanceCompletable.java:83)
    	at org.cadixdev.bombe.analysis.InheritanceCompletable.complete(InheritanceCompletable.java:68)
    	at org.cadixdev.lorenz.asm.LorenzRemapper.getCompletedClassMapping(LorenzRemapper.java:73)
    	at org.cadixdev.lorenz.asm.LorenzRemapper.mapFieldName(LorenzRemapper.java:79)
    	at org.objectweb.asm.commons.MethodRemapper.visitFieldInsn(MethodRemapper.java:150)
    	at org.objectweb.asm.ClassReader.readCode(ClassReader.java:2421)
    	at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1491)
    	at org.objectweb.asm.ClassReader.accept(ClassReader.java:721)
    	at org.objectweb.asm.ClassReader.accept(ClassReader.java:401)
    	at org.cadixdev.bombe.asm.jar.JarEntryRemappingTransformer.transform(JarEntryRemappingTransformer.java:75)
    	at org.cadixdev.bombe.jar.JarClassEntry.accept(JarClassEntry.java:62)
    	at org.cadixdev.bombe.jar.JarClassEntry.accept(JarClassEntry.java:39)
    	at org.cadixdev.atlas.jar.JarFile.lambda$transform$3(JarFile.java:188)
    	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
    	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)
    	... 5 more
    Failed to resolve Minecraft SERVER version 1.18.2:
    java.lang.RuntimeException: java.lang.UnsupportedOperationException: Record requires ASM8
    	at org.cadixdev.atlas.jar.JarFile.transform(JarFile.java:223)
    	at org.cadixdev.atlas.Atlas.run(Atlas.java:150)
    	at org.cadixdev.atlas.Atlas.run(Atlas.java:120)
    	at org.spongepowered.gradle.vanilla.repository.MinecraftResolverImpl.lambda$provide$4(MinecraftResolverImpl.java:208)
    	at java.base/java.util.concurrent.CompletableFuture.biApply(CompletableFuture.java:1311)
    	at java.base/java.util.concurrent.CompletableFuture$BiApply.tryFire(CompletableFuture.java:1280)
    	at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)
    	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
    	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
    	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
    	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
    	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
    Caused by: java.lang.UnsupportedOperationException: Record requires ASM8
    	at org.objectweb.asm.ClassVisitor.visitRecordComponent(ClassVisitor.java:305)
    	at org.objectweb.asm.ClassReader.readRecordComponent(ClassReader.java:930)
    	at org.objectweb.asm.ClassReader.accept(ClassReader.java:708)
    	at org.objectweb.asm.ClassReader.accept(ClassReader.java:401)
    	at org.cadixdev.bombe.asm.analysis.ClassProviderInheritanceProvider.provide(ClassProviderInheritanceProvider.java:81)
    	at org.cadixdev.bombe.analysis.InheritanceProvider.provide(InheritanceProvider.java:77)
    	at org.cadixdev.lorenz.model.ClassMapping.provideInheritance(ClassMapping.java:480)
    	at org.cadixdev.bombe.analysis.InheritanceCompletable.complete(InheritanceCompletable.java:83)
    	at org.cadixdev.bombe.analysis.InheritanceCompletable.complete(InheritanceCompletable.java:68)
    	at org.cadixdev.lorenz.asm.LorenzRemapper.getCompletedClassMapping(LorenzRemapper.java:73)
    	at org.cadixdev.lorenz.asm.LorenzRemapper.mapFieldName(LorenzRemapper.java:79)
    	at org.objectweb.asm.commons.MethodRemapper.visitFieldInsn(MethodRemapper.java:150)
    	at org.objectweb.asm.ClassReader.readCode(ClassReader.java:2421)
    	at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1491)
    	at org.objectweb.asm.ClassReader.accept(ClassReader.java:721)
    	at org.objectweb.asm.ClassReader.accept(ClassReader.java:401)
    	at org.cadixdev.bombe.asm.jar.JarEntryRemappingTransformer.transform(JarEntryRemappingTransformer.java:75)
    	at org.cadixdev.bombe.jar.JarClassEntry.accept(JarClassEntry.java:62)
    	at org.cadixdev.bombe.jar.JarClassEntry.accept(JarClassEntry.java:39)
    	at org.cadixdev.atlas.jar.JarFile.lambda$transform$3(JarFile.java:188)
    	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
    	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)
    	... 5 more
    Failed to resolve Minecraft SERVER version 1.18.2:
    java.lang.RuntimeException: java.lang.UnsupportedOperationException: Record requires ASM8
    	at org.cadixdev.atlas.jar.JarFile.transform(JarFile.java:223)
    	at org.cadixdev.atlas.Atlas.run(Atlas.java:150)
    	at org.cadixdev.atlas.Atlas.run(Atlas.java:120)
    	at org.spongepowered.gradle.vanilla.repository.MinecraftResolverImpl.lambda$provide$4(MinecraftResolverImpl.java:208)
    	at java.base/java.util.concurrent.CompletableFuture.biApply(CompletableFuture.java:1311)
    	at java.base/java.util.concurrent.CompletableFuture$BiApply.tryFire(CompletableFuture.java:1280)
    	at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)
    	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
    	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
    	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
    	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
    	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
    Caused by: java.lang.UnsupportedOperationException: Record requires ASM8
    	at org.objectweb.asm.ClassVisitor.visitRecordComponent(ClassVisitor.java:305)
    	at org.objectweb.asm.ClassReader.readRecordComponent(ClassReader.java:930)
    	at org.objectweb.asm.ClassReader.accept(ClassReader.java:708)
    	at org.objectweb.asm.ClassReader.accept(ClassReader.java:401)
    	at org.cadixdev.bombe.asm.analysis.ClassProviderInheritanceProvider.provide(ClassProviderInheritanceProvider.java:81)
    	at org.cadixdev.bombe.analysis.InheritanceProvider.provide(InheritanceProvider.java:77)
    	at org.cadixdev.lorenz.model.ClassMapping.provideInheritance(ClassMapping.java:480)
    	at org.cadixdev.bombe.analysis.InheritanceCompletable.complete(InheritanceCompletable.java:83)
    	at org.cadixdev.bombe.analysis.InheritanceCompletable.complete(InheritanceCompletable.java:68)
    	at org.cadixdev.lorenz.asm.LorenzRemapper.getCompletedClassMapping(LorenzRemapper.java:73)
    	at org.cadixdev.lorenz.asm.LorenzRemapper.mapFieldName(LorenzRemapper.java:79)
    	at org.objectweb.asm.commons.MethodRemapper.visitFieldInsn(MethodRemapper.java:150)
    	at org.objectweb.asm.ClassReader.readCode(ClassReader.java:2421)
    	at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1491)
    	at org.objectweb.asm.ClassReader.accept(ClassReader.java:721)
    	at org.objectweb.asm.ClassReader.accept(ClassReader.java:401)
    	at org.cadixdev.bombe.asm.jar.JarEntryRemappingTransformer.transform(JarEntryRemappingTransformer.java:75)
    	at org.cadixdev.bombe.jar.JarClassEntry.accept(JarClassEntry.java:62)
    	at org.cadixdev.bombe.jar.JarClassEntry.accept(JarClassEntry.java:39)
    	at org.cadixdev.atlas.jar.JarFile.lambda$transform$3(JarFile.java:188)
    	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
    	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)
    	... 5 more
    Failed to resolve Minecraft SERVER version 1.18.2:
    java.lang.RuntimeException: java.lang.UnsupportedOperationException: Record requires ASM8
    	at org.cadixdev.atlas.jar.JarFile.transform(JarFile.java:223)
    	at org.cadixdev.atlas.Atlas.run(Atlas.java:150)
    	at org.cadixdev.atlas.Atlas.run(Atlas.java:120)
    	at org.spongepowered.gradle.vanilla.repository.MinecraftResolverImpl.lambda$provide$4(MinecraftResolverImpl.java:208)
    	at java.base/java.util.concurrent.CompletableFuture.biApply(CompletableFuture.java:1311)
    	at java.base/java.util.concurrent.CompletableFuture$BiApply.tryFire(CompletableFuture.java:1280)
    	at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)
    	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
    	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
    	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
    	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
    	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
    Caused by: java.lang.UnsupportedOperationException: Record requires ASM8
    	at org.objectweb.asm.ClassVisitor.visitRecordComponent(ClassVisitor.java:305)
    	at org.objectweb.asm.ClassReader.readRecordComponent(ClassReader.java:930)
    	at org.objectweb.asm.ClassReader.accept(ClassReader.java:708)
    	at org.objectweb.asm.ClassReader.accept(ClassReader.java:401)
    	at org.cadixdev.bombe.asm.analysis.ClassProviderInheritanceProvider.provide(ClassProviderInheritanceProvider.java:81)
    	at org.cadixdev.bombe.analysis.InheritanceProvider.provide(InheritanceProvider.java:77)
    	at org.cadixdev.lorenz.model.ClassMapping.provideInheritance(ClassMapping.java:480)
    	at org.cadixdev.bombe.analysis.InheritanceCompletable.complete(InheritanceCompletable.java:83)
    	at org.cadixdev.bombe.analysis.InheritanceCompletable.complete(InheritanceCompletable.java:68)
    	at org.cadixdev.lorenz.asm.LorenzRemapper.getCompletedClassMapping(LorenzRemapper.java:73)
    	at org.cadixdev.lorenz.asm.LorenzRemapper.mapFieldName(LorenzRemapper.java:79)
    	at org.objectweb.asm.commons.MethodRemapper.visitFieldInsn(MethodRemapper.java:150)
    	at org.objectweb.asm.ClassReader.readCode(ClassReader.java:2421)
    	at org.objectweb.asm.ClassReader.readMethod(ClassReader.java:1491)
    	at org.objectweb.asm.ClassReader.accept(ClassReader.java:721)
    	at org.objectweb.asm.ClassReader.accept(ClassReader.java:401)
    	at org.cadixdev.bombe.asm.jar.JarEntryRemappingTransformer.transform(JarEntryRemappingTransformer.java:75)
    	at org.cadixdev.bombe.jar.JarClassEntry.accept(JarClassEntry.java:62)
    	at org.cadixdev.bombe.jar.JarClassEntry.accept(JarClassEntry.java:39)
    	at org.cadixdev.atlas.jar.JarFile.lambda$transform$3(JarFile.java:188)
    	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
    	at java.base/java.util.concurrent.CompletableFuture$AsyncRun.exec(CompletableFuture.java:1796)
    	... 5 more
    Could not resolve: net.minecraft:server:1.18.2
    
    > Task :prepareWorkspace UP-TO-DATE
    > Task :collectNatives
    > Task :downloadAssets UP-TO-DATE
    > Task :genEclipseRuns
    Could not resolve: net.minecraft:server:1.18.2
    

    However, looking at this repo, I can see that the ASM version specified is above 8 - 9.1 at the release of version 0.2 of VanillaGradle. I have also tried 1.16.5, 1.17, and 1.17.1, all which work flawlessly.

    opened by ThatBlockyPenguin 2
  • Support dynamic versions

    Support dynamic versions

    Eventually we want to do away with specifying minecraft version in the project extension -- that will just be for modifiers like AWs and mappings, and have users declare MC as a normal dependency.

    To properly support that, we'll have to implement dynamic version handling:

    • latest.<status>
    • 1.16.+
    • ]1.16,1.17[
    • etc

    as it is implemented within Gradle

    type: enhancement 
    opened by zml2008 2
  • RuntimeInvisibleParameterAnnotations failure

    RuntimeInvisibleParameterAnnotations failure

    This is a known PG bug, where synthetic method parameters will be included in the RuntimeInvisibleParameterAnnotations and RuntimeVisibleParameterAnnotations attributes. javac does not like this, and fails to compile classes referencing those classes.

    This results in compile errors like: RIPA-caused compile error

    type: bug 
    opened by zml2008 2
  • Where is

    Where is "0.2.1-SNAPSHOT"?

    there are my mavens: maven(https://maven.minecraftforge.net) maven2(https://files.minecraftforge.net/maven/) maven3(https://repo.spongepowered.org/repository/maven-public/) maven4(https://repo.spongepowered.org/maven) maven5(https://maven.enaium.cn/) MavenRepo Gradle Central Plugin Repository

    but Where is the "0.2.1-SNAPSHOT"?

    opened by ypo-GitHub 1
  • Filter decompile classpath to not include Gradle + its classpath

    Filter decompile classpath to not include Gradle + its classpath

    Currently when decompiling, Fernflower has to parse all the classfiles for Gradle and its dependencies when that's unnecessary. A more refined version of the iec option would help resolve this.

    opened by zml2008 1
  • wip: Custom Mapping Support

    wip: Custom Mapping Support

    Enables the ability to use custom mappings within VanillaGradle.

    TODO:

    • [ ] Remap Dependencies and somehow figure out what mappings they use
    • [ ] Figure out how the user will set what mappings to use
    • [ ] Figure out how jar building will work. (Will it stay named? Will their code be remapped into obf?)
    opened by hYdos 1
  • Redesign resolution to use a local Ivy repository rather than a Gradle task chain

    Redesign resolution to use a local Ivy repository rather than a Gradle task chain

    This rips apart a whole lot of how VanillaGradle works in order to give us more control over how artifacts are resolved. There's still quite a lot to do in order to make this a solid system, including:

    • [ ] Figure out the best way to make sure the Minecraft dependency is available on the runtime classpath for IDEs, while not being included in shadow jars. may require explicitly hooking into the shadow plugin (via a compileOnly dependency)
    • [ ] Add dynamic version parsing to our eachDependency() hook, so a minecraft version can be declared as latest.release, latest.snapshot, 1.16.+, and such
    • [ ] Validate compatibility with dependency constraints
    • [ ] Update clean tasks to clear the new repository
    • [ ] Set up dependency constraints on tool configurations to make sure we're always using our chosen ASM version
    • [ ] Make sure access-widened artifacts don't show up as access-widened in the pom (or at all?)
    • [x] Actually validating artifacts and determining when they need to be updated. Inputs (decompiler version, mappings revision, etc) need to be passed to the resolver to determine this partially done, just checks if all inputs are up-to-date as well as the original artifact existing rn, more will come in another pass
    • [x] Sorting out the Downloader model -- right now it's halfway between a transport abstraction and a cache. The Gson handling needs to be stripped out
    • [x] Fix version manifest handling to actually cache again (depends on Downloader work)
    • [x] Restore access widener handling, and figure out how to integrate the root-project cache to support that
    • [x] Add versioning to metadata files, and the repository as a whole -- not sure if artifacts themselves also need to be versioned, but I think our model of MC metadata may change as time goes on
    • [x] Add a Settings-level injectRepositories option (and maybe a place to inject extra version manifests there)
    • [x] Clean up unused tasks from the old pipeline
    • [x] Update asset downloading to use the Downloader interface, rather than requiring implementation details. Try another approach to asset validation that works better on large asset folders maybe too?

    Fixes #24 Fixes #22

    opened by zml2008 1
  • Unresolved reference: grgit

    Unresolved reference: grgit

    Configure project : e: C:\Users\alexa\Desktop\VanillaGradle-master\VanillaGradle-master\build.gradle.kts:83:41: Unresolved reference: grgit e: C:\Users\alexa\Desktop\VanillaGradle-master\VanillaGradle-master\build.gradle.kts:84:41: Unresolved reference: grgit

    FAILURE: Build failed with an exception.

    • Where: Build file 'C:\Users\alexa\Desktop\VanillaGradle-master\VanillaGradle-master\build.gradle.kts' line: 83

    • What went wrong: Script compilation errors:

      Line 83: manifest.attributes["Git-Commit"] = grgit.head().id ^ Unresolved reference: grgit

      Line 84: manifest.attributes["Git-Branch"] = grgit.branch.current().name ^ Unresolved reference: grgit

    2 errors

    resolution: invalid 
    opened by alexandrage 1
  • Limit oldest supported version to what Mojang provided mappings for

    Limit oldest supported version to what Mojang provided mappings for

    While obviously the task chain will fail when no mappings file is found for older versions of the game, we should fail fast in afterEvaluate if the extension has a version too old.

    type: enhancement 
    opened by Zidane 1
  • chore(deps): Update dependency net.minecraftforge:forgeflower to v2

    chore(deps): Update dependency net.minecraftforge:forgeflower to v2

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | net.minecraftforge:forgeflower | 1.5.605.9 -> 2.0.605.1 | age | adoption | passing | confidence |


    ⚠ Dependency Lookup Warnings ⚠

    Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.


    Configuration

    📅 Schedule: Branch creation - "after 5pm on the 2nd day of the month" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    type: dependencies 
    opened by renovate[bot] 0
  • chore(deps): Update dependency net.fabricmc:access-widener to v2

    chore(deps): Update dependency net.fabricmc:access-widener to v2

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | net.fabricmc:access-widener | 1.1.0 -> 2.1.0 | age | adoption | passing | confidence |


    ⚠ Dependency Lookup Warnings ⚠

    Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.


    Configuration

    📅 Schedule: Branch creation - "after 5pm on the 2nd day of the month" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    type: dependencies 
    opened by renovate[bot] 0
  • chore(deps): Update dependency org.checkerframework:checker-qual to v3.28.0

    chore(deps): Update dependency org.checkerframework:checker-qual to v3.28.0

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | org.checkerframework:checker-qual (source) | 3.26.0 -> 3.28.0 | age | adoption | passing | confidence |


    ⚠ Dependency Lookup Warnings ⚠

    Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.


    Configuration

    📅 Schedule: Branch creation - "after 5pm on the 2nd day of the month" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    type: dependencies 
    opened by renovate[bot] 0
  • chore(deps): Update dependency org.apache.httpcomponents.client5:httpclient5 to v5.2.1

    chore(deps): Update dependency org.apache.httpcomponents.client5:httpclient5 to v5.2.1

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | org.apache.httpcomponents.client5:httpclient5 | 5.1.3 -> 5.2.1 | age | adoption | passing | confidence |


    ⚠ Dependency Lookup Warnings ⚠

    Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.


    Configuration

    📅 Schedule: Branch creation - "after 5pm on the 2nd day of the month" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    type: dependencies 
    opened by renovate[bot] 0
  • chore(deps): Update dependency com.google.code.gson:gson to v2.10

    chore(deps): Update dependency com.google.code.gson:gson to v2.10

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | com.google.code.gson:gson | 2.9.1 -> 2.10 | age | adoption | passing | confidence |


    ⚠ Dependency Lookup Warnings ⚠

    Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.


    Release Notes

    google/gson

    v2.10


    Configuration

    📅 Schedule: Branch creation - "after 5pm on the 2nd day of the month" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    type: dependencies 
    opened by renovate[bot] 0
  • Force-align record canonical constructor names with field names

    Force-align record canonical constructor names with field names

    Right now, record canonical constructors have parameter names that don't match the record component names. This causes IDE warnings indicating that the decompiled source does not match bytecode.

    imo this could be fixed in fart, as part of the remap step -- and that should be evaluated first before trying to fix this directly in VG

    opened by zml2008 0
Releases(0.2)
  • 0.2(May 17, 2021)

    This is a breaking release of VanillaGradle, changing its internal resolution system fairly significantly. There are minimal changes to the user-facing configuration, but this release significantly increases the efficiency of dependency resolution.

    • Run configurations are generated for Eclipse
    • Sources are now visible in-IDE for Eclipse and IntelliJ IDEA
    • Asset download task now validates existing assets
    • Minecraft artifacts are now only generated when changed, improving build performance
    • Non-access widened jars are stored in a global shared cache rather than per-project
    • Custom version manifests can be provided for out-of-band releases, such as combat snapshots, using the `includedVersion` extention property
    • The javaVersion field recently added to Mojang launcher manifests is now used to determine which Java version is used in run configurations
    Source code(tar.gz)
    Source code(zip)
  • 0.1(Feb 1, 2021)

Owner
SpongePowered
Organization behind the Sponge Project
SpongePowered
A Java game Solitaire, made with JavaFX

Java Solitaire A game made with JavaFX Installation requirements: At least Java 11 installed. setup: 2.1. Intellij -> Open the file in the IDE and exe

Walter Alleyz 15 May 6, 2021
Modern Java - A Guide to Java 8

Modern Java - A Guide to Java 8 This article was originally posted on my blog. You should also read my Java 11 Tutorial (including new language and AP

Benjamin Winterberg 16.1k Dec 29, 2022
Design patterns implemented in Java

Design patterns implemented in Java Read in different language : CN, KR, FR, TR, AR Introduction Design patterns are the best formalized practices a p

Ilkka Seppälä 79k Jan 2, 2023
Java EE 7 Samples

Java EE 7 Samples This workspace consists of Java EE 7 Samples and unit tests. They are categorized in different directories, one for each Technology/

JavaEE Samples 2.5k Dec 20, 2022
Solutions for some common algorithm problems written in Java.

Algorithms This repository contains my solution for common algorithms. I've created this repository to learn about algorithms and improve solutions to

Pedro Vicente Gómez Sánchez 2.8k Dec 30, 2022
Algorithms and Data Structures implemented in Java

Java : Algorithms and Data Structure The algorithms and data structures are implemented in Java. This is a collection of algorithms and data structure

Justin Wetherell 4.2k Jan 5, 2023
MCQs and coding questions solutions of Object-Oriented Programming java of coding ninjas

cn-java-sols (⌐■_■) Link to This repository Other similar repository of my friend Link ?? enjoy having full marks ?? ?? now answers avaible up to Stri

Sanyam Mahajan 11 Dec 27, 2022
Rework of html-java-dsl to work with newer Javas

java-html-dsl Example DSL for writing html in Java. Rework of benjiman/java-html-dsl to work with newer versions of Java This String doc = html(

Benji Weber 19 Jan 25, 2022
Amazing Ruby's "Enumerable" ported to Java

Overview How to use? .all .any .none .select .map .count .reject .find How to contribute? Contributors Overview enumerable4j is a Ruby's well known En

Yurii Dubinka 30 Oct 28, 2022
Java 16 Features

Java 16 Features. Features are separated by package name.

Rahman Usta 9 Jan 7, 2022
Java Kampında derslerde yazılan projeler

nLayeredDemo JavaCampDay5Lesson https://www.youtube.com/watch?v=yaBPeS65vwM&ab_channel=EnginDemiro%C4%9F linkteki derste yapılan proje. Nortwind JavaC

Zeyneb Eda YILMAZ 10 Dec 14, 2021
Engin DEMIROG yotube java kamp HW

JavaBootCamp https://www.kodlama.io/courses/enrolled/1332369 Engin DEMIROG yotube javaBootCamp HW ve projeler Java & React Bootcamp (https://kodlama.i

Melik KARACA 8 Nov 13, 2022
Software Developer Training Camp (JAVA + REACT) works under the guidance of Engin Demiroğ

https://kodlama.io/p/yazilim-gelistirici-yetistirme-kampi2 [EN] Java_React-BootCamp Software Developer Training Camp (JAVA + REACT) works under the gu

Saba ÜRGÜP 18 Dec 24, 2022
Bitcoin SV Library for Java

Introduction Overview Bitcoin4J is a Bitcoin library for the Java Language licensed under the Apache License 2.0. This library has been built in line

null 17 May 25, 2022
Repository for Bryn and Ethan's Java with MicroServices Batch

210607-FeederProgram This repository houses examples and environment setup for the Revature feeder program beginning on 6/7/2021 Environment Setup Gui

Bryn Portella 17 May 22, 2022
http://kodlama.io "Java & React Bootcamp" up to date Lectures and Homeworks.

Java & React Bootcamp (https://kodlama.io/) Lectures Lecture 1 intro Lecture 2 oopIntro homework Lecture 3 oopIntro2 inheritance inheritance2 homework

Karcan Ozbal 237 Dec 29, 2022
Códigos do Bootcamp Java Básico DIO

Curso Java Básico Digital Innovation One https://digitalinnovation.one Tive a honra de fazer parceria com o pessoal da Digital Innovation One, com doi

Nicole Bidigaray 3 Jul 28, 2021
Slicer4J is an accurate, low-overhead dynamic slicer for Java programs.

Slicer4J This repository hosts Slicer4J, an accurate, low-overhead dynamic slicer for Java programs. Slicer4J automatically generates a backward dynam

The Reliable, Secure, and Sustainable Software Lab 25 Dec 19, 2022
Ejercicios de CodeSignal resueltos en Java

CodeSignal Ejercicios resueltos en Java de la plataforma CodeSignal. Crear el proyecto con Maven Abrimos un terminal y ejecutamos el siguiente comando

Desarrollo de Interfaces (DAD) 3 Sep 21, 2021