Stereowalker / Reforged

Adds tiers/modifiers to tools.
https://www.curseforge.com/minecraft/mc-mods/tiered
Other
4 stars 5 forks source link

1.18 unmodified code not building #37

Open Nelnitorian opened 1 year ago

Nelnitorian commented 1 year ago

Hi. My intention was to slightly modify the source code and then rebuild it.

After trying, I noticed the errors trying to build were not from my code but rather from the base version itself. I reverted changes and tried to build the base project before trying to build it with modifications.

Environment

OS: Windows 10

Steps followed

1. Clone the repository:

git clone https://github.com/Stereowalker/tiered

2. Switch branch to 1.18:

git checkout 1.18

3. Change to latest stable commit:

git checkout a60096342e06dfec339aa964e7715b89496420f2

4.1 Check Java requirement in build.gradle:

java.toolchain.languageVersion = JavaLanguageVersion.of(17)
### 4.2 Install Java 17:
D:\jujor\Proyectos\TieredMod\tiered>echo %JAVA_HOME%
C:\Program Files\Eclipse Adoptium\jdk-17.0.5.8-hotspot
D:\jujor\Proyectos\TieredMod\tiered>java --version
openjdk 17.0.5 2022-10-18
OpenJDK Runtime Environment Temurin-17.0.5+8 (build 17.0.5+8)
OpenJDK 64-Bit Server VM Temurin-17.0.5+8 (build 17.0.5+8, mixed mode, sharing)

5. Open up project in IDE:

With that set up, time to open Visual Studio Code, which lead to some deprecation warnings but was able to find all the dependencies: image

6. Build the unmodified project:

D:\jujor\Proyectos\TieredMod\tiered>gradlew build
To honour the JVM settings for this build a single-use Daemon process will be forked. See https://docs.gradle.org/7.3.1/userguide/gradle_daemon.html#sec:disabling_the_daemon.
Daemon will be stopped at the end of the build

> Configure project :
Java: 17.0.5 JVM: 17.0.5+8(Eclipse Adoptium) Arch: amd64
Mod Name: Tiered, Mod Version: 4.1.1, Minecraft Version: 1.18.2, Forge Version: 40.1.60

> Task :compileJava
Note: SpongePowered MIXIN Annotation Processor Version=0.8.5 (MixinGradle Version=0.7)
Note: Supported obfuscation types: ObfuscationServiceMCP supports [notch] ObfuscationServiceFG3 supports [searge]
D:\jujor\Proyectos\TieredMod\tiered\src\main\java\com\stereowalker\tiered\mixin\curios\ClientEventHandlerMixin.java:34: error: Mixin has no targets
@Mixin(ClientEventHandler.class)
^
D:\jujor\Proyectos\TieredMod\tiered\src\main\java\com\stereowalker\tiered\mixin\curios\CuriosHelperMixin.java:21: error: Mixin has no targets
@Mixin(CuriosHelper.class)
^
Note: Loading searge mappings from D:\jujor\Proyectos\TieredMod\tiered\build\createMcpToSrg\output.tsrg
D:\jujor\Proyectos\TieredMod\tiered\src\main\java\com\stereowalker\tiered\mixin\ItemStackMixin.java:19: warning: Unable to locate method mapping for @At(INVOKE.<target>) 'Lnet/minecraft/world/item/Item;getAttributeModifiers(Lnet/minecraft/world/entity/EquipmentSlot;Lnet/minecraft/world/item/ItemStack;)Lcom/google/common/collect/Multimap;'
    @Redirect(
    ^
D:\jujor\Proyectos\TieredMod\tiered\src\main\java\com\stereowalker\tiered\mixin\ItemStackClientMixin.java:62: warning: Unable to locate method mapping for @At(INVOKE.<target>) 'Lcom/google/common/collect/Multimap;isEmpty()Z'
    @ModifyVariable(
    ^
Note: Writing refmap to D:\jujor\Proyectos\TieredMod\tiered\build\tmp\compileJava\compileJava-refmap.json
Note: Writing refmap to D:\jujor\Proyectos\TieredMod\tiered\build\tmp\compileJava\compileJava-refmap.json
Note: Writing searge composite mappings to D:\jujor\Proyectos\TieredMod\tiered\build\tmp\compileJava\compileJava-mappings.tsrg
D:\jujor\Proyectos\TieredMod\tiered\src\main\java\com\stereowalker\tiered\mixin\curios\ClientEventHandlerMixin.java:32: error: package top.theillusivec4.curios.client does not exist
import top.theillusivec4.curios.client.ClientEventHandler;
                                      ^
D:\jujor\Proyectos\TieredMod\tiered\src\main\java\com\stereowalker\tiered\mixin\curios\CuriosHelperMixin.java:19: error: package top.theillusivec4.curios.common does not exist
import top.theillusivec4.curios.common.CuriosHelper;
                                      ^
D:\jujor\Proyectos\TieredMod\tiered\src\main\java\com\stereowalker\tiered\mixin\curios\ClientEventHandlerMixin.java:34: error: cannot find symbol
@Mixin(ClientEventHandler.class)
       ^
  symbol: class ClientEventHandler
D:\jujor\Proyectos\TieredMod\tiered\src\main\java\com\stereowalker\tiered\mixin\curios\CuriosHelperMixin.java:21: error: cannot find symbol
@Mixin(CuriosHelper.class)
       ^
  symbol: class CuriosHelper
Note: Writing refmap to D:\jujor\Proyectos\TieredMod\tiered\build\tmp\compileJava\compileJava-refmap.json
Note: Writing refmap to D:\jujor\Proyectos\TieredMod\tiered\build\tmp\compileJava\compileJava-refmap.json
Note: Writing searge composite mappings to D:\jujor\Proyectos\TieredMod\tiered\build\tmp\compileJava\compileJava-mappings.tsrg
6 errors
2 warnings

> Task :compileJava FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

* 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

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.3.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 20s
4 actionable tasks: 2 executed, 2 up-to-date

Please, notice that Visual Studio Code is able to locate the classes that Mixin can't.

I have tried to troubleshoot this with my little knowledge, and ChatGPT's, for several hours with no luck.

What am I missing in order to be able build it?

Stereowalker commented 1 year ago

Change "runtimeOnly" for Curios to "compileOnly"

Stereowalker commented 1 year ago

Or even just "compile"