Vampirism
Vampirism copied to clipboard
A Minecraft mod called Vampirism
Vampirism for Minecraft 1.16 - Latest branch
Mod Description
Vampires are fast, strong and blood-thirsty entities, which do not like the sun, but don't fear the night, and the best thing is: You can become one!
This mod allows you to become a vampire with all its benefits and drawbacks.
After being bitten by a vampire or manually injecting some vampire blood you get an effect called "Sanguinare Vampiris" which eventually turns you into a vampire.
For a more detailed description head over to the Minecraft Forum or the Curseforge page.
Links
Downloads on CurseForge
Downloads on Modrinth
Help to translate
Short feature overview
Issues
https://github.com/TeamLapen/Vampirism/issues Please use the appropriate template when creating an issue.
The following labeling scheme is used:
- unconfirmed: Awaiting triage or bug not reproduced yet
- discussion: Looking for feedback
- enhancement: Any minor tweak that can be introduced in minor releases
- feature: Any change that takes more time to implement and test
- 1.12-1.**: Affecting only a specific MC version
- *v1.8-v1.**: Bug affecting or enhancement targeting a specific Vamprism release branch
- latest: Bug affecting or enhancement targeting the latest (potentially unreleased) Vampirism branch
People
- maxanier
- Cheaterpaul
- 1LiterZinalco Triage/Support/Community/Official Server/Art
- Piklach Community/Official Server
- xXvPendragonvXx Community/Official Server
Special Thanks to
- TheRebelT Models/Textures
- TinkerHatWill Textures
- Alis Textures
- dimensionpainter Textures
- S_olace Textures
- Mistadon Code/Models
- wildbill22 Code
- LRA_10 Models/Textures
- Oreo365 Models
- Slippingchip400 Models
- Йода Textures
- XxKidDowdallxX Textures
- F_Spade Textures
- Matheo Lore
- special_krab Lore
- cournualllama2 Lore
- Random Textures/Models
- Shumnik Textures/Models
- BugraaK Textures/Models
- MrVityaTrash Textures
- FrostedOver Textures
- Grid Textures
- T_Corvus Textures
API
Vampirism has an API you can use to add blood values to your mod's creatures or make them convertible and more.
Setup Gradle build script
You should be able to include it with the following in your build.gradle
:
repositories {
//Maven repo for Vampirism
maven {
url = "https://maven.maxanier.de"
}
}
dependencies {
//compile against the Vampirism API
compileOnly fg.deobf("de.teamlapen.vampirism:Vampirism:${mc_version}-${vampirism_version}:api")
//at runtime (in your development environment) use the full Vampirism jar
runtimeOnly fg.deobf("de.teamlapen.vampirism:Vampirism:${mc_version}-${vampirism_version}")
}
Choose a version
${mc_version}
gets replaced by the current Minecraft version. (i.e. 1.16.5
)
${vampirism_version}
gets replaced by the version of Vampirism you want to use (i.e 1.7.12
)
For a list of available Vampirism version, see CurseForge or the maven listing .
These properties can be set in a file named gradle.properties
, placed in the same directory as your build.gradle
file. Example gradle.properties
:
mc_version=1.16.5
vampirism_version=1.7.12
Rerun Gradle setup commands
Please run the commands that you used to setup your development environment again. E.g. gradlew
or gradlew build --refresh-dependencies
Refresh/Restart your IDE afterwards.
Run Vampirism in a deobfuscated environment
Vampirism uses mixins. To be able to apply them in a deobfuscated environement using a different set of mappings ( from the one Vampirism uses) you have to enable remapping the refmap: Add
property 'mixin.env.remapRefMap', 'true'
property 'mixin.env.refMapRemappingFile', "${projectDir}/build/createSrgToMcp/output.srg"
to your run configurations in your build.gradle
and then regenerate your IDE run configurations (genIntelliJRuns
or
similar). If that does not work you can also try property 'mixin.env.disableRefMap', 'true'
If you still run into issues with the mixins you can also set mixin.env.ignoreRequired
to true
. However, not all of
Vampirism will work correctly then.
Examples
Checkout this example project: https://github.com/TeamLapen/VampirismAPIExample
If you want to create an addon which access all of Vampirism's classes, not just the API, checkout this https://github.com/TeamLapen/VampirismAddonExample and consider contacting @maxanier.
Code Structure
The minecraft_version branch serves as the main development branch. There might be older (stable) branches for the
same MC version postfixed with the Vampirism main version.
It may receive bugfixes until the latest branch is released.
The source code is currently divided into three parts, which might be split in the future.
Vampirism
Located in de.teamlapen.vampirism
Contains the mod source code. Depends on the other two parts.
Vampirism API
Located in de.teamlapen.vampirism.api
Designed to be used by mods that only optionally interact with Vampirism as well as addon mods depending on Vampirism.
VampLib/TeamLapen Lib
Located in de.teamlapen.lib
Independent mod (Contains @Mod).
Provides Helpers and Registries to automate stuff like EntityUpdates.
Provides abstract classes/default implementations/interfaces to simplify things (located under de.teamlapen.lib.lib).
Setting up the development environment
If you would like to compile your own versions or even contribute to Vampirism's development you need to setup 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.
IntelliJ
- Make sure you have the Java JDK (minimum Java 8) as well as the IntelliJ IDE installed.
- If you want to contribute to the development (via pull requests), fork Vampirism on Github.
- (Optionally) Install Git, so you can clone the repository and push changes.
- Clone (
git clone https://github.com/TeamLapen/Vampirism
) or download Vampirism to a new "Vampirism" 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.
- 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 projets compiler output path
That's it.
Eclipse or other IDEs
If you would like to setup Vampirism in another way or another IDE, you should pay regard to the following points.
- Make sure
src/main/java
,src/api/java
andsrc/lib/java
are marked as source folders andsrc/main/resources
andsrc/lib/resources
are marked as resource folders. - Vampirism might have a few dependencies (e.g. Waila), which are specified in the gradle files and should be automatically downloaded and added when you run
ideaModule
oreclipse
. - Vampirism requires at least Java 8
Code Style
The code style used in this project is the IntelliJ default one.
For Eclipse you can use the settings created by @Cheaterpaul FormatFile ImportOrder
Licence
This mod is licenced under LGPLv3 except for the following parts:
Textures
Any textures included in this mod are licenced under the following terms:
Any textures (and models) included in the mod may be used, remixed and distributed for anything related to Vampirism (fan art, addon mods, forks, reviews, ...) excluding resource packs.
If you want to use them in a resource/texture pack, you must credit the Vampirism project or the individual creator where applicable and it must not be used commercially.
Sounds
This mod uses these sounds from freesound:
DST-VampireMonk.mp3 by Striderjapan -- http://www.freesound.org/people/Striderjapan/sounds/141368/ -- License: CC
Attribution
vampire bites by Bernuy -- http://www.freesound.org/people/Bernuy/sounds/268501/ -- License: CC Attribution
bow02.ogg by Erdie https://www.freesound.org/people/Erdie/sounds/65734/ -- Licence: CC Attribution
the swarm v31m3 by Setuniman https://www.freesound.org/people/Setuniman/sounds/130695/ -- Licence: CC Attribution
Boiling Towel by unfa https://www.freesound.org/people/unfa/sounds/174499/ -- Licence: CC Attribution
Pepper mill grinds pepper by Black_River_Phonogram https://freesound.org/people/Black_River_Phonogram/sounds/424605/ --
Licence: CC0
Slimey by Nebulasnails https://freesound.org/people/nebulasnails/sounds/495116/ -- Licence: CC0
blood_sucker by Bernuy https://freesound.org/people/Bernuy/sounds/268499/ -- Licence: CC Attribution
Organ Ambience, Calm, A by InspectorJ https://freesound.org/people/InspectorJ/sounds/411991/ -- License CC Attribution
Sit functionality - sit
package
The code under de.teamlapen.vampirism.sit
is adapted from bl4ckscor4's Sit mod and licensed under GNU GPLv3 (see
LICENSE.txt in that directory)