-
Notifications
You must be signed in to change notification settings - Fork 150
Conversation
Hello, sorry for the delay. I really really appreciate the huge help you provided here, both for gradle for which help was really needed, and also for the work on 1.17 support! I'll mention you in the update release, thanks a lot. |
@datatags |
I don't think so, you could try printing out the command it's running to make sure it looks right by adding
You've built 1.17.1 with BuildTools with the |
Yeah, I've got the good 1.17.1 jars with remapped. Does SpecialSource needs anything else? I built it from md5's repo but maybe I'm doing somehting wrong with it. EDIT: SpecialJar -> SpecialSource typo |
Not that I know of, I downloaded it from the 1.17 announcement on Spigot and it just worked. |
Tried with the jar from the announcement, same results despite the command looking right:
Makes no sense, the class is in the SpecialSource jar which exists in the specified folder. |
Well, my mistake was simply keeping the ";" seperator between the two jars instead of ":" on macOS. So much time for just that lol thanks for the help |
Glad you got it figured out! :D |
What is the purpose of this pull request?
This PR adds 1.17.1 support.
How do your changes address the purpose?
Adds a module (or whatever it's called) for NMS v1_17_R1 and some other changes
Changes
Notes (important)
Since the Mojang mappings are now supported and Spigot NMS is now mostly obfuscated again, I've built the v1_17_R1 module for the Mojang mappings. To build it, you need to first build the 1.17.1 jar with BuildTools, but make sure you add the --remapped flag so the mapped jars also get created. Next, download SpecialSource, rename it to SpecialSource.jar, and drop it in the tooling/specialsource/ folder. Then, you should be able to use ./gradlew obfuscate, which will generate <jarname>-obf.jar, and <jarname>-remapped.jar. To run on Spigot, you'd use the <jarname>-remapped.jar. I've written the obfuscate task for Windows, so it will need to be adjusted if you aren't on Windows. (maybe a separate task needs to be created?) The obfuscate task will also need to be adjusted when we have another NMS module that needs to be obfuscated for a different version of MC.
Also, since Java 16 is required for MC 1.17 development, I'm not sure what to do about the NMS modules for MC versions that don't support Java 16. I'm hoping someone more familiar with Gradle can come up with a solution for that. For now, I've set the languageVersion to Java 16 for all projects and that works for compiling a 1.17 build.
I've only tested this on Spigot. It looks like Paper has not completely followed Spigot in mapping changes, so more adjustments would need to be made for UC to work there. Specifically, net.minecraft.world.entity.ai.navigation.NavigationAbstract has methods that are obfuscated on Spigot but not on Paper.
I removed the maven.elmakers.com repository since it didn't seem to be working and the project seemed to build fine without it.
I rewrote a bunch of the copy-pasted code in the build.gradle by creating a custom task type and having it find all projects that match the MC version it's looking for, and the tasks for each MC version are generated using a loop.
(might add more things as I think of them)
Thanks!