kotori316 / slp-example Goto Github PK
View Code? Open in Web Editor NEWTemplate repository of Minecraft mod with Scala
Template repository of Minecraft mod with Scala
To preface, I've been trying to figure out how to add cats-free as a dependency for my SLP mod for about a week.
Most of the issues have been about two things: the compile only custom cats version, and the fact that cats and all its dependencies are wrapped in scalablecatsforce
at runtime. For the first issue, I've set the version of the custom cats version as strict, which seems to solve the version conflict, but that still leaves the runtime issue.
I've tried two approaches to solving this. Calling transitive(false) for cats-free removes all extraneous dependencies, but even though all its dependencies exist both at runtime and compile time, a classDefNotFoundError
appears for cats.Foldable
when calling foldMap
on my Free
dsl. I also tried to use dependency substitution, replacing cats core, kernel, etc. with ScalableCatsForce
on the runtimeClasspath
configuration. However, though this seems to fix gradle's reported runtimeClasspath
, minecraft's runClient still contains all the unmodified typelevel dependencies. (Note: as advised by others, I'm using a custom configuration extending implementation
to load cats-free and its dependencies to minecraft's classpath. I assume the dependency substitution problem has something to do with this, but I don't know why)
Is there something I can do to fix this as it is, or am I going about this all wrong?
After a git clone and immediate ./gradlew build:
I get the error message:
====
Project evaluation failed including an error in afterEvaluate {}. Run with --stacktrace for details of the afterEvaluate {} error.
FAILURE: Build failed with an exception.
Where:
Build file '/home/porl/workspace/minecraftmods/1.15.2/SLP-example/build.gradle' line: 93
What went wrong:
A problem occurred evaluating root project 'SLP-example'.
Could not find method implementation() for arguments [{group=org.typelevel, name=cats-core_2.13, version=2.1.0}] on repository container of type org.gradle.api.internal.artifacts.dsl.DefaultRepositoryHandler.
====
Do I need to do anything else before calling the build task?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.