This mod handles integrations or respectively compatibility with other mods.
Curseforge Page: https://minecraft.curseforge.com/projects/vampirism-integrations
While the JEI and GuideAPI integration will stay inside the main mod, any additional compatibility will be implemented here.
Therefore, this mod is only useful if you are using one or more of the supported mods:
a) Mod integrations are a lot of work regarding Minecraft updates. If MC updates, but the other mods are not finished yet, I have to uncomment all the relevant parts in Vampirism codes, remove the dependencies and redo all these things once the mod eventually updates.
b) If a other mods changes and requires changes, I don't want to release an update for Vampirism each time
c) It keeps Vampirism's code slightly more organized
d) It verifies that Vampirism's API is working, shows me areas for improvement and can act as an example.
e) It makes it more straight-forward for others contribute and add more integrations (hope this is gonna happen, but I did not have any luck so far)
The most important integrations will stay in Vampirism (JEI, GuideAPI,?), but any additional (hopefully many) will be added into the separate mod.
If you are already installing many mods or a modpack it should not make that much a difference anyway.
Integrations can be disabled per mod.
Some integrations also allow more detailed customization.
If you would like to compile your own versions or even contribute to Vampirism Integrations's development you need to set up a dev environment. The following example instructions will setup IntelliJ (Free community edition or Non-Free Ultimate edition). If you already have a setup or want to use another IDE, jump here.
- Make sure you have the Java JDK (Java 8) as well as the IntelliJ IDE installed.
- If you want to contribute to the development (via pull requests), fork Vampirism Integrations on Github.
- (Optionally) Install Git, so you can clone the repository and push changes.
- Clone (
git clone https://github.com/TeamLapen/VampirismIntegrations
) or download VampirismIntegrations to a new "VampirismIntegrations" folder. - In IntelliJ use
New...
->New from Version Control
-> Fill out repo, directory and name - After cloning is done IntelliJ offers you to import a unlinked Gradle Project. Click this.
- Select
Create directories for empty content roots
and deselectCreate seperate module per source set
Image. If you do not get that dialog, you might have to edit your .idea/gradle.xml to include<option name="resolveModulePerSourceSet" value="false" />
(see here) and refresh the gradle project again. - Refresh the gradle project
- Run
genIntellijRuns
and edit the run config to use the correct module - Make sure
Settings -> Build, Execution, Deployment -> Compiler -> 'Add runtime assertions for not-null-annotated methods and parameters' is disabled
(Unfortunately required, requires rebuild if the project has been built before) - You might have to modify the project's compiler output path
That's it.
If you would like to setup Vampirism Integrations in another way or another IDE, you should pay regard to the following points.
- Make sure
src/main/java
,src/api/java´ and
src/lib/javaare marked as source folders and
src/main/resourcesand
src/lib/resources` are marked as resource folders. - Vampirism Integrations has several dependencies (e.g. Waila), which are specified in the gradle files and should be automatically downloaded and added when you run import/refresh the gradle project
- Vampirism Integrations requires at least Java 8
- Some packages might have to be excluded in your IDE. See 'gradle/forge.gradle'.
This mod is licenced under LGPLv3