Posted August 7, 20169 yr Hello, I have some issues with generics. In eclipse (using JRE 7 with compilance setting set to 1.6), I have no error, my game launches well. But when I try to make a release using "gradle build" command, I get a compilation error about generics. \build\sources\main\java\fr\eyzox\dependencygraph\DependencyGraph.java:31: error: method buildIndex in class DataKeyProvider<K> cannot be applied to given types; node.keyProvider.buildIndex(index, node); ^ required: Map<KEY,DependencyGraph<KEY,? extends IData<KEY>>.Node>,DependencyGraph<KEY,? extends IData<KEY>>.Node found: Map<KEY,DependencyGraph<KEY,DATA>.Node>,DependencyGraph<KEY,DATA>.Node reason: actual argument Map<KEY,DependencyGraph<KEY,DATA>.Node> cannot be converted to Map<KEY,DependencyGraph<KEY,? extends IData<KEY>>.Node> by method invocation conversion where KEY,DATA,K are type-variables: KEY extends Object declared in class DependencyGraph DATA extends IData<KEY> declared in class DependencyGraph K extends Object declared in class DataKeyProvider I don't know why it works in Eclipse but doesn't when build. I've edit gradle.build to use Java 7 to compile with theses line : sourceCompatibility = 1.7 targetCompatibility = 1.7 Source code is available here : https://github.com/RedRelay/FCH_DEBUG Maybe it is pur java's generics missunderstanding, but I doubt it because all works fine in Eclipse. Edit : This is for 1.9 atm so I use the recommended version of forge for MC 1.9 (1.9-12.16.1.1887)
August 7, 20169 yr Does this work in the dev environment? VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect. Forge and vanilla BlockState generator.
August 7, 20169 yr It seems the error is in your DependancyGraph on line 31. VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect. Forge and vanilla BlockState generator.
August 7, 20169 yr Author I saw, but there are no error on Eclipse and Eclipse build-in compilation works well. I know at line 31, I call a method with generics parameters that seems not match for gradle but they match for Eclipse.
August 7, 20169 yr Author Thanks for helping me, github repo is broken ? How can I fix it ? All works fine at home
August 7, 20169 yr Author Oh ok my bad ^^ I use default build.gradle The build.gradle in the repository is useless, I only use it to copy/paste when I update forge because I'm too lazy to edit version, group and archiveBaseName each time ^^ I should have remove it from git for a while ^^ All is default Forge 1.9-12.16.1.1887 configuration, and my .git is located in /src I've gradle 2.7 installed on my computer so I don't need wrapper right ? However, I copy/paste all file in mdk zip except gradlew.bat and gradlew.sh
August 7, 20169 yr Author I've always push only sources to git repo. All other root files are set to default value. I'll put the root directory on github after releasing if it's a better practice. EDIT : I've done it for my others mods repo, I just wait releasing to rework this repo
August 8, 20169 yr Author I've create a new repo for debug purpose : https://github.com/RedRelay/FCH_DEBUG
August 9, 20169 yr Author I didn't know that Eclipse using its own compiler I've worked on my java's generics understanding, and I've fixed the issue using protected abstract <D extends IData<K>> void buildIndex(final Map<K, DependencyGraph<K, D>.Node> index, final DependencyGraph<K, D>.Node theNode) throws DuplicateKeyException; instead of protected abstract void buildIndex(final Map<K, DependencyGraph<K, ? extends IData<K>>.Node> index, final DependencyGraph<K, ? extends IData<K>>.Node theNode) throws DuplicateKeyException; Thanks a lot
August 9, 20169 yr Of course Eclipse has its own compiler. How did you think the run button worked? Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.